For V1.10 it is already in the road map: "Move all library static variables to the crt0s"
If then there will also no selfmodifying code generated by the compiler, it would be (quite) easy to generate romable code with Z88DK.
Hope to be sometimes able to put some tools compiled with Z88DK into the EEPROMs in my ZX81.
Siggi
Romable code for all targets
Hi siggi,
This is exactly what I intend to look at -- I think it should be a priority to ensure all code is ROMable and that it is easy to separate code and data segments. Sooner or later z88dk will get a new assembler that can generate code for multiple code and data segments and we can look into automatically compiling code for projects of greater than 64k in size. This would be a necessary prelude to this step.
I'm hoping stef and dom will be on board with this as I'm not familiar with all the library code.
This is exactly what I intend to look at -- I think it should be a priority to ensure all code is ROMable and that it is easy to separate code and data segments. Sooner or later z88dk will get a new assembler that can generate code for multiple code and data segments and we can look into automatically compiling code for projects of greater than 64k in size. This would be a necessary prelude to this step.
I'm hoping stef and dom will be on board with this as I'm not familiar with all the library code.
I would like to have some compiled tools in the region 8-16K or above 32K on a ZX81, running in the BASIC environment. So ROM calls for this case would be okay.
Or is somebody willing to compile UNIX using Z88DK to replace the Sinclair ROM of my ZX81?
Siggi
Or is somebody willing to compile UNIX using Z88DK to replace the Sinclair ROM of my ZX81?
Siggi
Last edited by siggi on Fri May 15, 2009 11:01 am, edited 1 time in total.
I've taken a bit of break off from revising (apologies for the silence) and went back to the assembler I was looking at earlier, things are going well (so far).
I'm missing support for the following instructures: rst, jr, djnz, im and a couple of addressing modes ld (XXXX),a as well as ld (hl),a. From a semi complete list of 690 opcodes, I get a total of 75 errors - I need to create a test suite to validate it of course.
The assembler supports sections, has its own object file format and can easily have the assembler directives replaced (hence backwards compatibility with z80asm is possible).
The linker can understand multiple formats which raises the possibility of backwards compatibility with z80asm library/object files.
Anyway, the jist is that it'll make ROMable code much easier than now and with luck won't be too far off.
I'm missing support for the following instructures: rst, jr, djnz, im and a couple of addressing modes ld (XXXX),a as well as ld (hl),a. From a semi complete list of 690 opcodes, I get a total of 75 errors - I need to create a test suite to validate it of course.
The assembler supports sections, has its own object file format and can easily have the assembler directives replaced (hence backwards compatibility with z80asm is possible).
The linker can understand multiple formats which raises the possibility of backwards compatibility with z80asm library/object files.
Anyway, the jist is that it'll make ROMable code much easier than now and with luck won't be too far off.