[cc65] Overlays and addresses

Date view Thread view Subject view

From: David Holz (davidh_at_otterspace.com)
Date: 2003-07-12 11:01:48


I want to use ca65/ld65 for a large assembly project.  I'm looking through
all of the docs, and I don't quite know how to pull off what I want to.
Basically, various chunks of code needs to be compiled into different areas
of RAM, and each chunk should be loaded from a separate file.  No problem.
However, if I have utility functions in $c000, and have multiple separate
programs that all start at $0800 that use those utility functions, how would
the various "overlays" link to the symbols in the $c000 segment?

I see two ways of doing it:

1) After assembling & linking the $c000 file, format the map file into
"label = $address" and .include that file into the other $0800 .asm files.
This is pretty kludgy, and circumvents the entire purpose of the linker.

2) For each $0800 file, have a linker config that sets up the $c000 segment
from the .o files without exporting a file for that segment.  Problem is
that each cfg file must be exactly the same for the $c000 segment, and if I
change any structure in the common utility routines, all cfg files must be
edited to match, which can be problematic since there's no .include in
config files.

Any suggestions?  Anything I'm missing?

-- 
White Flame (aka David Holz)
http://www.white-flame.com/

----------------------------------------------------------------------
To unsubscribe from the list send mail to majordomo_at_musoftware.de with
the string "unsubscribe cc65" in the body(!) of the mail.


Date view Thread view Subject view

This archive was generated by hypermail 2.1.3 : 2003-07-12 10:53:35 CEST