(define memories '((memory zeroPage (address (#x72 . #xdf)) (type ram) ;;; Should be starting at 0x56, ending at 0xff, but experiments in the monitor have shown doc is not to be trusted (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) (startup #x80e) code switch idata cdata data_init_table)) (section (programStart #x801) (startup #x80e) code)) (memory displayPage1 (address (#x2000 . #x3fff)) (type ram) (section loadscreen)) (memory datamem (address (#x4000 . #x8fff)) (type ram) (section cstack zdata data heap)) ;;; usermem goes from 0x4000 to 0x9FFFF (included), we are splitting it (memory upperData (address (#x9000 . #x9fff)) (type ram) (section switch idata cdata data_init_table)) (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)) ))