You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi,
I'm currently on a project where the executables are big, due to my use of video, which reserves $2000-$3FFF for video). There is also too much code to use --start-addr 0x4000, so my binary looks like this, with code split below and above HGR video memory:
In this example, I have a problem where I would like to reserve the second graphics page ($4000-$5FFF) to be able to do double-buffering. But this doesn't work, because there is too much code:
ld65: Warning: ../../config/apple2enh-avstreamer.cfg:34: Segment 'BSS' with type 'bss' contains initialized data
ld65: Warning: ../../config/apple2enh-avstreamer.cfg:17: Segment 'LC' overflows memory area 'MAIN' by 2866 bytes
ld65: Error: ../../config/apple2enh-avstreamer.cfg:18: Size of memory area 'BSS' is negative: -535
It would be nice to be able to build a tighter binary. This could be done by storing the ONCE segment somewhere inside $2000-5FFF. The LC segment, which is an Apple2enh target thing, also stores code at the end of the binary, after ONCE, and relocates it to $D400 at startup.
Having the ability to store ONCE and LC at $4000 would allow my executable to build and run fine.
I have tried to move ONCE and LC in the linker config file, but there are assumptions both at build and runtime that ONCE is at the end of the binary.
The text was updated successfully, but these errors were encountered:
Hi,
I'm currently on a project where the executables are big, due to my use of video, which reserves $2000-$3FFF for video). There is also too much code to use --start-addr 0x4000, so my binary looks like this, with code split below and above HGR video memory:
In this example, I have a problem where I would like to reserve the second graphics page ($4000-$5FFF) to be able to do double-buffering. But this doesn't work, because there is too much code:
It would be nice to be able to build a tighter binary. This could be done by storing the ONCE segment somewhere inside $2000-5FFF. The LC segment, which is an Apple2enh target thing, also stores code at the end of the binary, after ONCE, and relocates it to $D400 at startup.
Having the ability to store ONCE and LC at $4000 would allow my executable to build and run fine.
I have tried to move ONCE and LC in the linker config file, but there are assumptions both at build and runtime that ONCE is at the end of the binary.
The text was updated successfully, but these errors were encountered: