From: Ullrich von Bassewitz (uz_at_musoftware.de)
Date: 2003-08-11 21:59:23
[Three months later... Just for reference, the mail I'm replying to is available as http://www.cc65.org/mailarchive/2003-05/3031.html ] On Tue, May 20, 2003 at 04:11:22PM -0400, Greg King wrote: > I recognize a challenge when I see one. I believe that I have discovered > a way to do it: I've started to change the heap using your idea with small modifications, but when doing so, I found a few problems. Maybe you (or someone else) can help me solving them. 1. The suggested solution does not work for configurations where the start address is passed via the command line using %S in the linker config. Configurations that have this problem are: lunix/osa65 and none. 2. There are some configurations that do actually cover systems with different amounts of memory available. One system is the C16 (which supports 16 and 32KB of memory) and the PET, which comes with 4, 8, 16 and 32K of memory. Currently, the startup code determines how much memory is available and adjusts the stackpointer accordingly. With the old heap routines this worked, since they calculated the heap end from the stackpointer. Using your idea, this does no longer work. While the old code was not perfect (the linker would not detect a program too large to fit into memory), having 4 different memory configurations just for the PET machines sounds even worse. 3. [This is only loosely related to your idea] I don't have access to anything Lunix related but the linker config, so I do not even know how the startup code must be changed to support a new configuration. Wouldn't it be a good idea to make at least the Lunix startup code part of cc65? Otherwise it doesn't make much sense to have a builtin Lunix linker config, since both must always match, or programs will not work correctly. Regards Uz -- Ullrich von Bassewitz uz_at_musoftware.de ---------------------------------------------------------------------- To unsubscribe from the list send mail to majordomo_at_musoftware.de with the string "unsubscribe cc65" in the body(!) of the mail.
This archive was generated by hypermail 2.1.3 : 2003-08-11 22:00:56 CEST