# "shadow RAM preparation" load chunk
     SRPREPHDR:     file = %O,               start = $0000,                  size = $0004;
-    SRPREPCHNK:    file = %O,               start = %S + __OVERLAYSIZE__,   size = $7C20 - %S - __OVERLAYSIZE__ - $07FF;  # $07FF: space for temp. chargen buffer, 1K aligned
+    SRPREPCHNK:    file = %O, define = yes, start = %S + __OVERLAYSIZE__,   size = $7C20 - %S - __OVERLAYSIZE__ - $07FF;  # $07FF: space for temp. chargen buffer, 1K aligned
     SRPREPTRL:     file = %O,               start = $0000,                  size = $0006;
 
 # "main program" load chunk
 # defines entry point into program
     TRAILER:       file = %O,               start = $0000, size = $0006;
 
-# address of relocated character generator
-    CHARGEN:       file = "", define = yes, start = $D800, size = $0400;
+# memory beneath the ROM preceeding the character generator
+    HIDDEN_RAM2:   file = "", define = yes, start = $D800, size = $0800;
+
+# address of relocated character generator (same addess as ROM version)
+    CHARGEN:       file = "", define = yes, start = $E000, size = $0400;
 
 # memory beneath the ROM
-    HIDDEN_RAM:    file = "", define = yes, start = $DC00, size = $FFF0 - $DC00;
+    HIDDEN_RAM:    file = "", define = yes, start = $E400, size = $FFF0 - $E400;
 
 # overlays
     OVL1:          file = "%O.1",           start = %S,                     size = __OVERLAYSIZE__;
     SRPREPHDR:  load = SRPREPHDR,                   type = ro;
     LOWDATA:    load = SRPREPCHNK,                  type = bss, define = yes;  # shared btw. SRPREP and RAM
     SRPREP:     load = SRPREPCHNK,                  type = rw,  define = yes;
-    SHADOW_RAM:  load = SRPREPCHNK, run = HIDDEN_RAM, type = rw,  define = yes, optional = yes;
-    SHADOW_RAM2: load = SRPREPCHNK, run = HIDDEN_RAM, type = rw,  define = yes, optional = yes;
+    SHADOW_RAM:  load = SRPREPCHNK, run = HIDDEN_RAM,  type = rw,  define = yes, optional = yes;
+    SHADOW_RAM2: load = SRPREPCHNK, run = HIDDEN_RAM2, type = rw,  define = yes, optional = yes;
     SRPREPTRL:  load = SRPREPTRL,                   type = ro;
 
     MAINHDR:    load = MAINHDR,                     type = ro;