From be048d3184d451c76cf56dd706be8d087c477d77 Mon Sep 17 00:00:00 2001 From: "B. Watson" Date: Tue, 14 Apr 2026 06:45:36 -0400 Subject: The Great Migration: move all the screen memory to the $4000-$7FFF bank window, move code to $8000, move data/rodata/bss to $2000, move rx_buf and tx_buf, etc etc. --- src/atari.cfg | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) (limited to 'src/atari.cfg') diff --git a/src/atari.cfg b/src/atari.cfg index ea3e0eb..4e0859d 100644 --- a/src/atari.cfg +++ b/src/atari.cfg @@ -1,9 +1,11 @@ # This is a hacked-up modified config, DO NOT USE for the config segment. # The ONCE segment and the CONDES stuff are removed (don't need). # The STARTUP segment now loads to page 6. +# CODE loads high ($8000) and everything else loads low ($2000), to leave +# an 8K hole for the banking window at $4000-$7FFF. FEATURES { - STARTADDRESS: default = $2000; + STARTADDRESS: default = $8000; } SYMBOLS { __EXEHDR__: type = import; @@ -22,9 +24,13 @@ MEMORY { P6HDR: file = %O, start = $0000, size = $0004; PAGE6: file = %O, define = yes, start = $0600, size = $00ff; +# $2000 for everything but STARTUP and CODE + P20HDR: file = %O, start = $0000, size = $0004; + PAGE20: file = %O, define = yes, start = $2000, size = $1360; + # "main program" load chunk MAINHDR: file = %O, start = $0000, size = $0004; - MAIN: file = %O, define = yes, start = %S, size = $8000 - __STACKSIZE__ - __RESERVED_MEMORY__ - %S; + MAIN: file = %O, define = yes, start = %S, size = $4000 - __STACKSIZE__ - __RESERVED_MEMORY__ - %S; TRAILER: file = %O, start = $0000, size = $0006; } SEGMENTS { @@ -34,12 +40,13 @@ SEGMENTS { P6HDR: load = P6HDR, type = ro; STARTUP: load = PAGE6, type = ro, define = yes; MAINHDR: load = MAINHDR, type = ro; - LOWBSS: load = MAIN, type = rw, optional = yes; # not zero initialized - LOWCODE: load = MAIN, type = ro, define = yes, optional = yes; + P20HDR: load = P20HDR, type = ro; + LOWBSS: load = PAGE20, type = rw, optional = yes; # not zero initialized + RODATA: load = PAGE20, type = ro; + DATA: load = PAGE20, type = rw; + LOWCODE: load = PAGE20, type = ro, define = yes, optional = yes; + BSS: load = PAGE20, type = bss, define = yes; CODE: load = MAIN, type = ro, define = yes; - RODATA: load = MAIN, type = ro; - DATA: load = MAIN, type = rw; INIT: load = MAIN, type = rw, optional = yes; - BSS: load = MAIN, type = bss, define = yes; AUTOSTRT: load = TRAILER, type = ro; } -- cgit v1.2.3