>> Tuesday, January 27, 2009
"Various languages can be used, but they are ultimately all compiled to (or in some cases interpreted by) 68000 machine language. The OS9 "memory module" file format is well-defined in the OS9 documentation; any development software that produces a valid 68000 machine langage module can be used. Microware used to supply a K&R C compiler and an 68000 assembler; they exist in native versions (run under OS9) but there are also cross versions for the PC, Sun and Mac. There are at least two ports of the GNU C/C++ compiler to OS9; these could also be used. Both compilers and the assembler need the Microware linker; I don't think GNU ld was ever sufficiently adapted to OS9 to produce a valid module file. For sprite blitting you really need to use 68000 machine language; it's too slow otherwise unless you have a small number of sprites or are not rendering at the 50Hz or 60Hz video frame rate. The best results are achieved using a "sprite compiler" that compiles the graphics to assembly language to draw them. For game logic you can usually get away with using C or C++. However, the big caveat is this: you REALLY need the "CD-i Full Functional Specification", a.k.a. the "Green Book". There are digital versions floating around the net, but they are hard to read and most of the pictures are badly mangled. The Green Book defines the CD-RTOS API, which is really just OS9 rev 2.4 with a custom set of file managers and drivers for the CD-i specific hardware. The rest of the needed OS9 documentation can be found in PDF format on the ICDIA site."
By: cdifan (Maybe we should start with a mailbox or a Forum-quote of the week?)