2022-08-19 22:38:18 +02:00
|
|
|
MEMORY {
|
|
|
|
# $ED-$F7 seems to be an unused area in the zero page according to the BASIC 2.0/4.0 memory map
|
|
|
|
ZP: file = "", define = yes, start = $00ED, size = $000A;
|
2022-08-22 19:00:42 +02:00
|
|
|
# let's create a PRG file - note that you must define this segment in your code
|
|
|
|
LOADADDR: file = %O, start = $6FFE, size = $0002;
|
2022-08-19 22:38:18 +02:00
|
|
|
# we're loading at $7000, max code size $800 bytes
|
2022-08-20 17:37:42 +02:00
|
|
|
RAM: file = %O, start = $7000, size = $0800;
|
2022-08-19 22:38:18 +02:00
|
|
|
# if we reside in ROM instead, we should have more space available
|
|
|
|
ROM: file = %O, start = $9000, size = $2000;
|
2022-08-20 20:31:48 +02:00
|
|
|
# usable memory from the "tape #1 input buffer"
|
|
|
|
SCRATCH: file = "", start = $027A, size = 191;
|
2022-08-19 22:38:18 +02:00
|
|
|
}
|
|
|
|
SEGMENTS {
|
|
|
|
ZEROPAGE: load = ZP, type = zp;
|
2022-08-22 19:00:42 +02:00
|
|
|
LOADADDR: load = LOADADDR, type = ro;
|
2022-08-19 22:38:18 +02:00
|
|
|
# change these two to "ROM" if you want to put them on a ROM chip
|
|
|
|
CODE: load = RAM, type = ro;
|
|
|
|
RODATA: load = RAM, type = ro;
|
|
|
|
# data and bss should come after the code if they all reside in RAM
|
|
|
|
DATA: load = RAM, type = rw;
|
2022-08-20 20:31:48 +02:00
|
|
|
BSS: load = SCRATCH, type = bss, define = yes;
|
2022-08-19 22:38:18 +02:00
|
|
|
}
|