I am building a Z80 program for the TI-83+ calculator. If I force the C compiler to not optimise out some floating point operations to try them out, e.g. as such:
volatile float a = 1.0; volatile float b = 2.0; volatile float c = a + b; The generated code calls ___fsadd, which in turn is imported from one of the libraries supplied with SDCC for z80. However, the size of my binary explodes almost ten times, which happens due to the linker placing _CODE at 0x4000 (where it should go), while the ___fsadd function is placed at 0x8000, where the DATA area starts, as the linker command is: sdcc -mz80 --no-std-crt0 --code-loc 0x4000 --code-size 0x4000 --xram-loc 0x9D95 --xram-size 0x6060 ... Is there a way to merge _HOME and _CODE? I have noticed that I can force the compiler to move _HOME to a different memory location, but that would force me to set a fixed size for either _HOME or _CODE (and then never be warned if either overflows), which I don't want. Yours, Kamila Szewczyk _______________________________________________ Sdcc-user mailing list Sdcc-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sdcc-user