Re: [cc65] Loadable overlays

From: Fatih <>
Date: 2006-07-30 02:36:47
--- Ullrich von Bassewitz <> wrote:

> disadvantage of this
> approach is that you must recompile all modules when
> you make changes to the
> main code, because the location of the runtime
> functions may have changed.

Following approach may solve this problem:

One can create a run-time jump table in the main
program with JMPs to the actual addresses and get the
linker place this jump table to a specific address.
Then modules can use these addresses instead of actual
locations. Ofcourse it will have a performance impact
but at least modules can run with different versions
of the main program. Something like this should work:

In the main program:

.segment "RUN_TIME_STUB"
; adjust the linker to place this segment to a known
; location. say $2000-$2300
jmp  _printf
jmp  _malloc

Note that this will ensure that all the run-time
routines will get linked. So one may want to left out
some of them that will not be used by the modules.

Then one can write a stub run-time for the modules:

_printf = $2000
_malloc = $2003

But as I said, it will have a big performance impact
given that cc65 calls some library routines quite


Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
To unsubscribe from the list send mail to with
the string "unsubscribe cc65" in the body(!) of the mail.
Received on Sun Jul 30 02:36:55 2006

This archive was generated by hypermail 2.1.8 : 2006-07-30 02:36:58 CEST