From: Shawn Jefferson (sjefferson_at_sd62.bc.ca)
Date: 2002-09-20 01:02:33
>
>You will have to use a customized linker config file, segments, and some
>manual work. Please have a look at the linker docs, which discuss these
>issues. If you have some specific questions, don't hesitate to ask.
Ok, I took a look at the linker config file. Would setting up the memory areas like this work?
MEMORY {
ZP: start = $82, size = $7E, type = rw;
HEADER: start = $0000, size = $6, file = %O;
RAM1: start = $2000, size = $2000, file = %O;
BANK: start = $4000, size = $3FFF, type = empty;
RAM2: start = $8000, size = $3C1F, file = %0;
}
SEGMENTS {
EXEHDR: load = HEADER, type = wprot;
CODE: load = RAM1, type = wprot, define = yes;
RODATA: load = RAM2, type = wprot;
DATA: load = RAM2, type = rw;
BSS: load = RAM2, type = bss, define = yes;
ZEROPAGE: load = ZP, type = zp;
AUTOSTRT: load = RAM1, type = wprot;
}
This might be a stupid question but since I know little about how compilers work I'll ask anyway: Is there a way to allow the code to go into both RAM1 and RAM2 if it overflows one area? I didn't see anything in the ld65.html doc that shows that type of setup.
Using the bank section on the atari from cc65 seems like it will be a bear. Only 15k in RAM2, and 8k in RAM1! Maybe it would be better to use RAM2 for code, and RAM1 for rodata, data, bss.
----------------------------------------------------------------------
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 : 2002-09-20 01:05:20 CEST