I've founded my old copy of DEVPAC ( I did have a copy of the floppy disc on an old burned backup CDROM :p I installed it on my Amiga OS 4.1 SAM and what a pleasant surprise : it work perfectly :) I can do all the stuff it was intended to...
But DEVPAC is 680x0 and 6888x only ... Is there a way to change this ? use another linker than monam/genam to make DEVPAC able to compile PPC source code ?
If someone have any clue or informations on this subject, feel free to answer here.
But DEVPAC is 680x0 and 6888x only ... Is there a way to change this ? use another linker than monam/genam to make DEVPAC able to compile PPC source code ?
No. It's not possible to change that.
If you want to program in PPC assembler, you can use 'as' that comes with the SDK.
Maybe for some basic concepts but PPC : - has no idea about address or data registers, it has general purpose registers (GPR) - works with load/store in mind, you can only compute data that is in a register - there is no register PC, you cannot do "addi pc, pc, 16", you only get the PC (in special register SRR0) when you cause an excpetion - ....
Take a look at this link for example, it has some comparisons with 68k. There are many documents on Internet about PPC programming.
The PPC instruction set is rather clean and very powerful (bits, branches, cache, condition register(s), ...). It is maybe hard to understand mnemonics at the beginning but their name is very logical at the end.
@corto : Thank you Corto for this really interesting link. It provides me many informations on how the PowerPC CPU has to be used :) There are few informations on which I'm not sure to understand the correct translation (in French) but in general, it's ok.
the only problem is that iirc ASM is not officially supported anymore as a system programming language under OS 4.x IIRC it was already the case since 3.9...
@Rob Wow ! It seem to be an excellent software :p It may allow me to convert my actual AmigaGS 680x0 source code to PPC one ... with this ... my project can start from 1 instead of 0 :p Thank you for this link.
@corto : No, AmigaGS is a proto of a project I started times ago and and early alpha is available in Aminet. It was a set of .library and MACROS to use with DEVPAC to make Game creation easier ...
just look at your SDK you will only see C headers no ASM includes... How would you call system functions without correct structures definitions and function jump table ?
@Samurai_Crow : Yes something like this :) Generated files are CPU non dependant. It only provides pointers in order (like -30, -36, -42, -48) if the .library are under the same structure, it should be possible to use old FD2PRAGMA softs to generate indirect pointers like for old libraries ...
The .library structure has changed in OS 4 from the days of OS 3. If you use the offsets from FD2PRAGMA, you'll need to be programming in 68k compatibility mode. The offsets for the PPC codes are in another data structure called an "interface" that is obtained by the call to "ObtainInterface" in the library you're using.
@Samurai_Crow : How could we get the offsets for OS4 ? In a disassembled code, I would like to find which function match with a particular offset. How can I do that ?