From: Karl B. <ka...@tu...> - 2003-09-19 20:01:14
|
On Thu, Sep 18, 2003 at 08:17:14PM +0100, James Davis wrote: > On Sun, 14 Sep 2003, Philipp Krause wrote: >=20 > > Example: sdcc -mz80 --code-loc 0x8000 --data-loc 0x6000 >=20 > Okay I'm going to be showing up my complete stupidity here but I've > searched on google and read the documentation and haven't been able to > find an answer to my question. >=20 > I want to be able to produce as an output from my c code, a binary image > that I can place into the memory of my Z80 system to execute, what do I > need to do to get sdcc (in combination with other tools?) to produce this > image? Use the example of Philipp's. This will generate a .ihx file, you can traslate this HEX file to a BIN file using makebin(included with sdcc). You can compile a Z80 simulator, go into: sim/ucsim/z80.src, run make, this should generate a ucz80. Run ucz80 hello.ihx Note ucz80 doesn't work with code > 0x8000, recompile with --code-loc 0x2000 z80>dc 0x2000 This will list out code at 0x2000 z80>dc 0x0 Hmmm, its not empty, sdcc has some default ROM startup code that it makes heres. Maybe your system already has startup code, so you will need to figure out how to isolate the code at 0x2000(write a utility program, or adjust startup code in sdcc). You will probably need to adjust startup code to make it work with whatever loader tools are on your z80 system. Hmm, me thinks about long ago running CPM on a Radio Shack TRS80 or the botched memory upgrade on a Timex/Sinclair.... Compiling with the gameboy z80 option might use different startup code to work with whatever loader is in the gameboy. Might give you a clue as to how to adjust it. Not sure, I know Michael Hope(the author of the z80 port) got some applications running on the gameboy with it. |