TK2048/linker-files/linker.scm

19 lines
No EOL
1.2 KiB
Scheme

(define memories
'((memory zeroPage (address (#x56 . #xff)) (type ram) ;;; Should be starting at 0x56, ending at 0xff, but experiments in the monitor have shown doc is not to be trusted if monitor routines are used
(section registers zpage zzpage))
(memory firstPage (address (#x100 . #x1ff)) (section stack))
(memory reserved (address (#x200 . #x7ff)) (type ram))
(memory program (address (#x801 . #x1fff)) (type ram)
(section (programStart #x801) (dii_critical_wr_code #x804) dii_critical_rd_code startup code))
(memory displayPage1 (address (#x2000 . #x3fff)) (type ram) (section loadscreen))
(memory upperData (address (#x4000 . #x85ff)) (type ram) (section switch idata cdata data_init_table)) ;;; usermem goes from 0x4000 to 0x9FFFF (included), we are splitting it
(memory upperMem (address (#x8600 . #x95ff)) (type ram) (section cstack zdata data heap zpsave))
(memory dosMem (address (#x9600 . #x9fff)) (type ram))
(memory displayPage2 (address (#xa000 . #xbfff)) (type ram))
(memory io (address (#xc000 . #xc0ff)) (type ram))
(memory rombank (address (#xc100 . #xffff)) (type rom))
(block cstack (size #x800))
(block stack (size #x100))
(block heap (size #x400))
))