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