]> git.sur5r.net Git - cc65/commitdiff
Renamed INITBSS to INIT and INIT to ONCE.
authorOliver Schmidt <ol.sc@web.de>
Sun, 6 Mar 2016 20:26:22 +0000 (21:26 +0100)
committerOliver Schmidt <ol.sc@web.de>
Sun, 6 Mar 2016 20:27:19 +0000 (21:27 +0100)
The way we want to use the INITBSS segment - and especially the fact that it won't have the type bss on all ROM based targets - means that the name INITBSS is misleading. After all INIT is the best name from my perspective as it serves several purposes and therefore needs a rather generic name.

Unfortunately this means that the current INIT segment needs to be renamed too. Looking for a short (ideally 4 letter) name I came up with ONCE as it contains all code (and data) accessed only once during initialization.

132 files changed:
cfg/apple2-overlay.cfg
cfg/apple2-system.cfg
cfg/apple2.cfg
cfg/apple2enh-overlay.cfg
cfg/apple2enh-system.cfg
cfg/apple2enh.cfg
cfg/atari-cart.cfg
cfg/atari-cassette.cfg
cfg/atari-overlay.cfg
cfg/atari.cfg
cfg/atari5200.cfg
cfg/atarixl-largehimem.cfg
cfg/atarixl-overlay.cfg
cfg/atarixl.cfg
cfg/atmos.cfg
cfg/bbc.cfg
cfg/c128-overlay.cfg
cfg/c128.cfg
cfg/c16.cfg
cfg/c64-overlay.cfg
cfg/c64.cfg
cfg/cbm510.cfg
cfg/cbm610.cfg
cfg/gamate.cfg
cfg/geos-apple.cfg
cfg/geos-cbm.cfg
cfg/lunix.cfg
cfg/lynx-bll.cfg
cfg/lynx-coll.cfg
cfg/lynx-uploader.cfg
cfg/lynx.cfg
cfg/module.cfg
cfg/nes.cfg
cfg/none.cfg
cfg/osic1p-asm.cfg
cfg/osic1p.cfg
cfg/pce.cfg
cfg/pet.cfg
cfg/plus4.cfg
cfg/sim6502.cfg
cfg/sim65c02.cfg
cfg/supervision-128k.cfg
cfg/supervision-16k.cfg
cfg/supervision-64k.cfg
cfg/supervision.cfg
cfg/vic20-32k.cfg
cfg/vic20.cfg
doc/atari.sgml
doc/customizing.sgml
doc/ld65.sgml
libsrc/apple2/cputc.s
libsrc/apple2/crt0.s
libsrc/apple2/dosdetect.s
libsrc/apple2/extra/iobuf-0800.s
libsrc/apple2/get_ostype.s
libsrc/apple2/irq.s
libsrc/apple2/mainargs.s
libsrc/apple2/open.s
libsrc/apple2/read.s
libsrc/apple2/reboot.s
libsrc/atari/casinit.s
libsrc/atari/dosdetect.s
libsrc/atari/getargs.s
libsrc/atari/irq.s
libsrc/atari/mcbpm.s
libsrc/atari/shadow_ram_handlers.s
libsrc/atari5200/conioscreen.s
libsrc/atari5200/irq.s
libsrc/atmos/capslock.s
libsrc/atmos/cgetc.s
libsrc/atmos/irq.s
libsrc/atmos/mainargs.s
libsrc/atmos/read.s
libsrc/c128/cgetc.s
libsrc/c128/crt0.s
libsrc/c128/irq.s
libsrc/c128/mainargs.s
libsrc/c128/mcbdefault.s
libsrc/c128/systime.s
libsrc/c16/cgetc.s
libsrc/c16/crt0.s
libsrc/c16/irq.s
libsrc/c16/mainargs.s
libsrc/c64/crt0.s
libsrc/c64/irq.s
libsrc/c64/mainargs.s
libsrc/c64/mcbdefault.s
libsrc/c64/soft80_charset.s
libsrc/c64/soft80_conio.s
libsrc/c64/soft80mono_conio.s
libsrc/c64/systime.s
libsrc/cbm/filevars.s
libsrc/cbm/mcbpointercolor.s
libsrc/cbm/mcbpointershape.s
libsrc/cbm/read.s
libsrc/cbm/write.s
libsrc/cbm510/mainargs.s
libsrc/cbm510/mcbdefault.s
libsrc/cbm610/mainargs.s
libsrc/common/_cwd.s
libsrc/common/_heap.s
libsrc/gamate/clock.s
libsrc/gamate/conio.s
libsrc/gamate/irq.s
libsrc/gamate/nmi.s
libsrc/geos-common/conio/_scrsize.s
libsrc/geos-common/system/mainargs.s
libsrc/lynx/clock.s
libsrc/lynx/defdir.s
libsrc/lynx/irq.s
libsrc/lynx/mainargs.s
libsrc/nes/cputc.s
libsrc/nes/irq.s
libsrc/nes/mainargs.s
libsrc/osic1p/cgetc.s
libsrc/pce/clock.s
libsrc/pce/conio.s
libsrc/pce/irq.s
libsrc/pce/psg.s
libsrc/pce/vce.s
libsrc/pet/crt0.s
libsrc/pet/irq.s
libsrc/pet/mainargs.s
libsrc/plus4/cgetc.s
libsrc/plus4/crt0.s
libsrc/plus4/mainargs.s
libsrc/runtime/condes.s
libsrc/runtime/stkchk.s
libsrc/sim6502/mainargs.s
libsrc/vic20/crt0.s
libsrc/vic20/irq.s
libsrc/vic20/mainargs.s

index 244e4582f827a70be5806fc2a1e041c5a706da1a..ef9103b490e4b94123b0d45b694c772bd921542d 100644 (file)
@@ -18,7 +18,7 @@ SYMBOLS {
     __STACKSIZE__:   type = weak, value = $0800; # 2k stack
     __OVERLAYSIZE__: type = weak, value = $1000; # 4k overlay
     __LOADADDR__:    type = weak, value = __STARTUP_RUN__;
-    __LOADSIZE__:    type = weak, value = __INITBSS_RUN__ - __STARTUP_RUN__ +
+    __LOADSIZE__:    type = weak, value = __INIT_RUN__ - __STARTUP_RUN__ +
                                           __MOVE_LAST__  - __MOVE_START__;
 }
 MEMORY {
@@ -45,9 +45,9 @@ SEGMENTS {
     CODE:     load = RAM,             type = ro;
     RODATA:   load = RAM,             type = ro;
     DATA:     load = RAM,             type = rw;
-    INITBSS:  load = RAM,             type = bss, define = yes;
+    INIT:     load = RAM,             type = bss, define = yes;
     BSS:      load = RAM,             type = bss, define = yes;
-    INIT:     load = MOVE, run = RAM, type = ro,  define = yes, optional = yes;
+    ONCE:     load = MOVE, run = RAM, type = ro,  define = yes, optional = yes;
     LC:       load = MOVE, run = LC,  type = ro,                optional = yes;
     OVERLAY1: load = OVL1,            type = ro,  define = yes, optional = yes;
     OVERLAY2: load = OVL2,            type = ro,  define = yes, optional = yes;
@@ -63,7 +63,7 @@ FEATURES {
     CONDES: type    = constructor,
             label   = __CONSTRUCTOR_TABLE__,
             count   = __CONSTRUCTOR_COUNT__,
-            segment = INIT;
+            segment = ONCE;
     CONDES: type    = destructor,
             label   = __DESTRUCTOR_TABLE__,
             count   = __DESTRUCTOR_COUNT__,
index f07208e4545b79c00cac17ef541332ed5f56c548..52cad960f8f168c51bafcbada85a8df9fa702b35 100644 (file)
@@ -5,7 +5,7 @@ SYMBOLS {
     __LCSIZE__:    type = weak, value = $0C00; # Rest of bank two
     __STACKSIZE__: type = weak, value = $0800; # 2k stack
     __LOADADDR__:  type = weak, value = __STARTUP_RUN__;
-    __LOADSIZE__:  type = weak, value = __INITBSS_RUN__ - __STARTUP_RUN__ +
+    __LOADSIZE__:  type = weak, value = __INIT_RUN__ - __STARTUP_RUN__ +
                                         __MOVE_LAST__  - __MOVE_START__;
 }
 MEMORY {
@@ -21,16 +21,16 @@ SEGMENTS {
     CODE:     load = RAM,             type = ro;
     RODATA:   load = RAM,             type = ro;
     DATA:     load = RAM,             type = rw;
-    INITBSS:  load = RAM,             type = bss, define   = yes;
+    INIT:     load = RAM,             type = bss, define   = yes;
     BSS:      load = RAM,             type = bss, define   = yes;
-    INIT:     load = MOVE, run = RAM, type = ro,  define   = yes, optional = yes;
+    ONCE:     load = MOVE, run = RAM, type = ro,  define   = yes, optional = yes;
     LC:       load = MOVE, run = LC,  type = ro,                  optional = yes;
 }
 FEATURES {
     CONDES: type    = constructor,
             label   = __CONSTRUCTOR_TABLE__,
             count   = __CONSTRUCTOR_COUNT__,
-            segment = INIT;
+            segment = ONCE;
     CONDES: type    = destructor,
             label   = __DESTRUCTOR_TABLE__,
             count   = __DESTRUCTOR_COUNT__,
index 27eb706c486e143d2ffca0c25c5d2185b91bc5c8..8e63090f5353e655c183c078b683382313aa5876 100644 (file)
@@ -10,7 +10,7 @@ SYMBOLS {
     __LCSIZE__:    type = weak, value = $0C00; # Rest of bank two
     __STACKSIZE__: type = weak, value = $0800; # 2k stack
     __LOADADDR__:  type = weak, value = __STARTUP_RUN__;
-    __LOADSIZE__:  type = weak, value = __INITBSS_RUN__ - __STARTUP_RUN__ +
+    __LOADSIZE__:  type = weak, value = __INIT_RUN__ - __STARTUP_RUN__ +
                                         __MOVE_LAST__  - __MOVE_START__;
 }
 MEMORY {
@@ -28,16 +28,16 @@ SEGMENTS {
     CODE:     load = RAM,             type = ro;
     RODATA:   load = RAM,             type = ro;
     DATA:     load = RAM,             type = rw;
-    INITBSS:  load = RAM,             type = bss, define   = yes;
+    INIT:     load = RAM,             type = bss, define   = yes;
     BSS:      load = RAM,             type = bss, define   = yes;
-    INIT:     load = MOVE, run = RAM, type = ro,  define   = yes, optional = yes;
+    ONCE:     load = MOVE, run = RAM, type = ro,  define   = yes, optional = yes;
     LC:       load = MOVE, run = LC,  type = ro,                  optional = yes;
 }
 FEATURES {
     CONDES: type    = constructor,
             label   = __CONSTRUCTOR_TABLE__,
             count   = __CONSTRUCTOR_COUNT__,
-            segment = INIT;
+            segment = ONCE;
     CONDES: type    = destructor,
             label   = __DESTRUCTOR_TABLE__,
             count   = __DESTRUCTOR_COUNT__,
index 244e4582f827a70be5806fc2a1e041c5a706da1a..ef9103b490e4b94123b0d45b694c772bd921542d 100644 (file)
@@ -18,7 +18,7 @@ SYMBOLS {
     __STACKSIZE__:   type = weak, value = $0800; # 2k stack
     __OVERLAYSIZE__: type = weak, value = $1000; # 4k overlay
     __LOADADDR__:    type = weak, value = __STARTUP_RUN__;
-    __LOADSIZE__:    type = weak, value = __INITBSS_RUN__ - __STARTUP_RUN__ +
+    __LOADSIZE__:    type = weak, value = __INIT_RUN__ - __STARTUP_RUN__ +
                                           __MOVE_LAST__  - __MOVE_START__;
 }
 MEMORY {
@@ -45,9 +45,9 @@ SEGMENTS {
     CODE:     load = RAM,             type = ro;
     RODATA:   load = RAM,             type = ro;
     DATA:     load = RAM,             type = rw;
-    INITBSS:  load = RAM,             type = bss, define = yes;
+    INIT:     load = RAM,             type = bss, define = yes;
     BSS:      load = RAM,             type = bss, define = yes;
-    INIT:     load = MOVE, run = RAM, type = ro,  define = yes, optional = yes;
+    ONCE:     load = MOVE, run = RAM, type = ro,  define = yes, optional = yes;
     LC:       load = MOVE, run = LC,  type = ro,                optional = yes;
     OVERLAY1: load = OVL1,            type = ro,  define = yes, optional = yes;
     OVERLAY2: load = OVL2,            type = ro,  define = yes, optional = yes;
@@ -63,7 +63,7 @@ FEATURES {
     CONDES: type    = constructor,
             label   = __CONSTRUCTOR_TABLE__,
             count   = __CONSTRUCTOR_COUNT__,
-            segment = INIT;
+            segment = ONCE;
     CONDES: type    = destructor,
             label   = __DESTRUCTOR_TABLE__,
             count   = __DESTRUCTOR_COUNT__,
index f07208e4545b79c00cac17ef541332ed5f56c548..52cad960f8f168c51bafcbada85a8df9fa702b35 100644 (file)
@@ -5,7 +5,7 @@ SYMBOLS {
     __LCSIZE__:    type = weak, value = $0C00; # Rest of bank two
     __STACKSIZE__: type = weak, value = $0800; # 2k stack
     __LOADADDR__:  type = weak, value = __STARTUP_RUN__;
-    __LOADSIZE__:  type = weak, value = __INITBSS_RUN__ - __STARTUP_RUN__ +
+    __LOADSIZE__:  type = weak, value = __INIT_RUN__ - __STARTUP_RUN__ +
                                         __MOVE_LAST__  - __MOVE_START__;
 }
 MEMORY {
@@ -21,16 +21,16 @@ SEGMENTS {
     CODE:     load = RAM,             type = ro;
     RODATA:   load = RAM,             type = ro;
     DATA:     load = RAM,             type = rw;
-    INITBSS:  load = RAM,             type = bss, define   = yes;
+    INIT:     load = RAM,             type = bss, define   = yes;
     BSS:      load = RAM,             type = bss, define   = yes;
-    INIT:     load = MOVE, run = RAM, type = ro,  define   = yes, optional = yes;
+    ONCE:     load = MOVE, run = RAM, type = ro,  define   = yes, optional = yes;
     LC:       load = MOVE, run = LC,  type = ro,                  optional = yes;
 }
 FEATURES {
     CONDES: type    = constructor,
             label   = __CONSTRUCTOR_TABLE__,
             count   = __CONSTRUCTOR_COUNT__,
-            segment = INIT;
+            segment = ONCE;
     CONDES: type    = destructor,
             label   = __DESTRUCTOR_TABLE__,
             count   = __DESTRUCTOR_COUNT__,
index 27eb706c486e143d2ffca0c25c5d2185b91bc5c8..8e63090f5353e655c183c078b683382313aa5876 100644 (file)
@@ -10,7 +10,7 @@ SYMBOLS {
     __LCSIZE__:    type = weak, value = $0C00; # Rest of bank two
     __STACKSIZE__: type = weak, value = $0800; # 2k stack
     __LOADADDR__:  type = weak, value = __STARTUP_RUN__;
-    __LOADSIZE__:  type = weak, value = __INITBSS_RUN__ - __STARTUP_RUN__ +
+    __LOADSIZE__:  type = weak, value = __INIT_RUN__ - __STARTUP_RUN__ +
                                         __MOVE_LAST__  - __MOVE_START__;
 }
 MEMORY {
@@ -28,16 +28,16 @@ SEGMENTS {
     CODE:     load = RAM,             type = ro;
     RODATA:   load = RAM,             type = ro;
     DATA:     load = RAM,             type = rw;
-    INITBSS:  load = RAM,             type = bss, define   = yes;
+    INIT:     load = RAM,             type = bss, define   = yes;
     BSS:      load = RAM,             type = bss, define   = yes;
-    INIT:     load = MOVE, run = RAM, type = ro,  define   = yes, optional = yes;
+    ONCE:     load = MOVE, run = RAM, type = ro,  define   = yes, optional = yes;
     LC:       load = MOVE, run = LC,  type = ro,                  optional = yes;
 }
 FEATURES {
     CONDES: type    = constructor,
             label   = __CONSTRUCTOR_TABLE__,
             count   = __CONSTRUCTOR_COUNT__,
-            segment = INIT;
+            segment = ONCE;
     CONDES: type    = destructor,
             label   = __DESTRUCTOR_TABLE__,
             count   = __DESTRUCTOR_COUNT__,
index 58457c60678b07a64deb0413bd11481926bb287d..09bf86761b7b79a6ed52ba5eec8fbfafab576d84 100644 (file)
@@ -16,23 +16,23 @@ MEMORY {
     CARTID:     file = %O,               start = $BFFA,                size = $0006;
 }
 SEGMENTS {
-    STARTUP:   load = ROM,            type = ro,  define = yes, optional = yes;
-    LOWCODE:   load = ROM,            type = ro,  define = yes, optional = yes;
-    INIT:      load = ROM,            type = ro,                optional = yes;
-    CODE:      load = ROM,            type = ro,  define = yes;
-    RODATA:    load = ROM,            type = ro,                optional = yes;
-    DATA:      load = ROM, run = RAM, type = rw,  define = yes, optional = yes;
-    INITBSS:   load = RAM,            type = bss,               optional = yes;
-    BSS:       load = RAM,            type = bss, define = yes, optional = yes;
-    CARTHDR:   load = CARTID,         type = ro;
-    ZEROPAGE:  load = ZP,             type = zp,                optional = yes;
-    EXTZP:     load = ZP,             type = zp,                optional = yes;
+    ZEROPAGE: load = ZP,             type = zp,                optional = yes;
+    EXTZP:    load = ZP,             type = zp,                optional = yes;
+    STARTUP:  load = ROM,            type = ro,  define = yes, optional = yes;
+    LOWCODE:  load = ROM,            type = ro,  define = yes, optional = yes;
+    ONCE:     load = ROM,            type = ro,                optional = yes;
+    CODE:     load = ROM,            type = ro,  define = yes;
+    RODATA:   load = ROM,            type = ro,                optional = yes;
+    DATA:     load = ROM, run = RAM, type = rw,  define = yes, optional = yes;
+    INIT:     load = RAM,            type = bss,               optional = yes;
+    BSS:      load = RAM,            type = bss, define = yes, optional = yes;
+    CARTHDR:  load = CARTID,         type = ro;
 }
 FEATURES {
     CONDES: type    = constructor,
             label   = __CONSTRUCTOR_TABLE__,
             count   = __CONSTRUCTOR_COUNT__,
-            segment = INIT;
+            segment = ONCE;
     CONDES: type    = destructor,
             label   = __DESTRUCTOR_TABLE__,
             count   = __DESTRUCTOR_COUNT__,
index 80b5c695f12976a6a8f26e6d1bc5331295a6cb8c..ad68bb8b41b6bfdf34dc5313b61bd00c88943f69 100644 (file)
@@ -12,23 +12,23 @@ MEMORY {
     RAM:           file = %O, define = yes, start = %S,    size = $BC20 - __STACKSIZE__ - __RESERVED_MEMORY__ - %S;
 }
 SEGMENTS {
-    CASHDR:    load = RAM, type = ro;
-    STARTUP:   load = RAM, type = ro,  define = yes, optional = yes;
-    LOWCODE:   load = RAM, type = ro,  define = yes, optional = yes;
-    INIT:      load = RAM, type = ro,                optional = yes;
-    CODE:      load = RAM, type = ro,  define = yes;
-    RODATA:    load = RAM, type = ro,                optional = yes;
-    DATA:      load = RAM, type = rw,                optional = yes;
-    INITBSS:   load = RAM, type = bss,               optional = yes;
-    BSS:       load = RAM, type = bss, define = yes, optional = yes;
-    ZEROPAGE:  load = ZP,  type = zp,                optional = yes;
-    EXTZP:     load = ZP,  type = zp,                optional = yes;
+    ZEROPAGE: load = ZP,  type = zp,                optional = yes;
+    EXTZP:    load = ZP,  type = zp,                optional = yes;
+    CASHDR:   load = RAM, type = ro;
+    STARTUP:  load = RAM, type = ro,  define = yes, optional = yes;
+    LOWCODE:  load = RAM, type = ro,  define = yes, optional = yes;
+    ONCE:     load = RAM, type = ro,                optional = yes;
+    CODE:     load = RAM, type = ro,  define = yes;
+    RODATA:   load = RAM, type = ro,                optional = yes;
+    DATA:     load = RAM, type = rw,                optional = yes;
+    INIT:     load = RAM, type = bss,               optional = yes;
+    BSS:      load = RAM, type = bss, define = yes, optional = yes;
 }
 FEATURES {
     CONDES: type    = constructor,
             label   = __CONSTRUCTOR_TABLE__,
             count   = __CONSTRUCTOR_COUNT__,
-            segment = INIT;
+            segment = ONCE;
     CONDES: type    = destructor,
             label   = __DESTRUCTOR_TABLE__,
             count   = __DESTRUCTOR_COUNT__,
index b3abad988e4a1905d37866c2f4c4fe96f7d8c3b2..b14a93a396ac546aab50ef4f25368829776bbde3 100644 (file)
@@ -38,6 +38,8 @@ MEMORY {
     OVL9:          file = "%O.9",           start = %S,    size = __OVERLAYSIZE__;
 }
 SEGMENTS {
+    ZEROPAGE:  load = ZP,         type = zp;
+    EXTZP:     load = ZP,         type = zp,                optional = yes;
     EXEHDR:    load = HEADER,     type = ro;
     SYSCHKHDR: load = SYSCHKHDR,  type = ro,                optional = yes;
     SYSCHK:    load = SYSCHKCHNK, type = rw,  define = yes, optional = yes;
@@ -45,14 +47,12 @@ SEGMENTS {
     MAINHDR:   load = MAINHDR,    type = ro;
     STARTUP:   load = RAM,        type = ro,  define = yes;
     LOWCODE:   load = RAM,        type = ro,  define = yes, optional = yes;
-    INIT:      load = RAM,        type = ro,                optional = yes;
+    ONCE:      load = RAM,        type = ro,                optional = yes;
     CODE:      load = RAM,        type = ro,  define = yes;
     RODATA:    load = RAM,        type = ro;
     DATA:      load = RAM,        type = rw;
-    INITBSS:   load = RAM,        type = bss,               optional = yes;
+    INIT:      load = RAM,        type = bss,               optional = yes;
     BSS:       load = RAM,        type = bss, define = yes;
-    ZEROPAGE:  load = ZP,         type = zp;
-    EXTZP:     load = ZP,         type = zp,                optional = yes;
     AUTOSTRT:  load = TRAILER,    type = ro;
     OVERLAY1:  load = OVL1,       type = ro,  define = yes, optional = yes;
     OVERLAY2:  load = OVL2,       type = ro,  define = yes, optional = yes;
@@ -68,7 +68,7 @@ FEATURES {
     CONDES: type    = constructor,
             label   = __CONSTRUCTOR_TABLE__,
             count   = __CONSTRUCTOR_COUNT__,
-            segment = INIT;
+            segment = ONCE;
     CONDES: type    = destructor,
             label   = __DESTRUCTOR_TABLE__,
             count   = __DESTRUCTOR_COUNT__,
index 97b289d7e7a27ce5200732e394c48f9e4e752d42..7460a0f66d35c907cac5dabe7e08438c9c7c1573 100644 (file)
@@ -26,6 +26,8 @@ MEMORY {
     TRAILER:       file = %O,               start = $0000, size = $0006;
 }
 SEGMENTS {
+    ZEROPAGE:  load = ZP,         type = zp;
+    EXTZP:     load = ZP,         type = zp,                optional = yes;
     EXEHDR:    load = HEADER,     type = ro;
     SYSCHKHDR: load = SYSCHKHDR,  type = ro,                optional = yes;
     SYSCHK:    load = SYSCHKCHNK, type = rw,  define = yes, optional = yes;
@@ -33,21 +35,19 @@ SEGMENTS {
     MAINHDR:   load = MAINHDR,    type = ro;
     STARTUP:   load = RAM,        type = ro,  define = yes;
     LOWCODE:   load = RAM,        type = ro,  define = yes, optional = yes;
-    INIT:      load = RAM,        type = ro,                optional = yes;
+    ONCE:      load = RAM,        type = ro,                optional = yes;
     CODE:      load = RAM,        type = ro,  define = yes;
     RODATA:    load = RAM,        type = ro;
     DATA:      load = RAM,        type = rw;
-    INITBSS:   load = RAM,        type = bss,               optional = yes;
+    INIT:      load = RAM,        type = bss,               optional = yes;
     BSS:       load = RAM,        type = bss, define = yes;
-    ZEROPAGE:  load = ZP,         type = zp;
-    EXTZP:     load = ZP,         type = zp,                optional = yes;
     AUTOSTRT:  load = TRAILER,    type = ro;
 }
 FEATURES {
     CONDES: type    = constructor,
             label   = __CONSTRUCTOR_TABLE__,
             count   = __CONSTRUCTOR_COUNT__,
-            segment = INIT;
+            segment = ONCE;
     CONDES: type    = destructor,
             label   = __DESTRUCTOR_TABLE__,
             count   = __DESTRUCTOR_COUNT__,
index 4a90303cf7ad09e71b02531253b16dc187bcfbee..3db8765d67b057fb1d5f4cc6c8ebe9d1b78f877e 100644 (file)
@@ -13,9 +13,11 @@ MEMORY {
     CARTENTRY: file = %O, start = $BFFE,                size = $0002;
 }
 SEGMENTS {
+    ZEROPAGE:  load = ZP,             type = zp,                optional = yes;
+    EXTZP:     load = ZP,             type = zp,                optional = yes;
     STARTUP:   load = ROM,            type = ro,  define = yes, optional = yes;
     LOWCODE:   load = ROM,            type = ro,  define = yes, optional = yes;
-    INIT:      load = ROM,            type = ro,                optional = yes;
+    ONCE:      load = ROM,            type = ro,                optional = yes;
     CODE:      load = ROM,            type = ro,  define = yes;
     RODATA:    load = ROM,            type = ro,                optional = yes;
     DATA:      load = ROM, run = RAM, type = rw,  define = yes, optional = yes;
@@ -23,14 +25,12 @@ SEGMENTS {
     CARTNAME:  load = CARTNAME,       type = ro,  define = yes;
     CARTYEAR:  load = CARTYEAR,       type = ro,  define = yes;
     CARTENTRY: load = CARTENTRY,      type = ro,  define = yes;
-    ZEROPAGE:  load = ZP,             type = zp,                optional = yes;
-    EXTZP:     load = ZP,             type = zp,                optional = yes;
 }
 FEATURES {
     CONDES: type    = constructor,
             label   = __CONSTRUCTOR_TABLE__,
             count   = __CONSTRUCTOR_COUNT__,
-            segment = INIT;
+            segment = ONCE;
     CONDES: type    = destructor,
             label   = __DESTRUCTOR_TABLE__,
             count   = __DESTRUCTOR_COUNT__,
index f96096995aaefdea196077744b14bd54aa5f6280..a1ec5cf08dcfa53db545ec1eab92f1e476cc8b67 100644 (file)
@@ -50,6 +50,9 @@ MEMORY {
 }
 
 SEGMENTS {
+    ZEROPAGE:    load = ZP,                           type = zp;
+    EXTZP:       load = ZP,                           type = zp,                optional = yes;
+
     EXEHDR:      load = HEADER,                       type = ro;
 
     SYSCHKHDR:   load = SYSCHKHDR,                    type = ro,                optional = yes;
@@ -66,21 +69,19 @@ SEGMENTS {
     MAINHDR:     load = MAINHDR,                      type = ro;
     STARTUP:     load = RAM,                          type = ro,  define = yes;
     LOWCODE:     load = RAM,                          type = ro,  define = yes, optional = yes;
-    INIT:        load = RAM,                          type = ro,                optional = yes;
+    ONCE:        load = RAM,                          type = ro,                optional = yes;
     CODE:        load = RAM,                          type = ro,  define = yes;
     RODATA:      load = RAM,                          type = ro;
     DATA:        load = RAM,                          type = rw;
-    INITBSS:     load = RAM,                          type = bss,               optional = yes;
+    INIT:        load = RAM,                          type = bss,               optional = yes;
     BSS:         load = RAM,                          type = bss, define = yes;
-    ZEROPAGE:    load = ZP,                           type = zp;
-    EXTZP:       load = ZP,                           type = zp,                optional = yes;
     AUTOSTRT:    load = TRAILER,                      type = ro;
 }
 FEATURES {
     CONDES: type    = constructor,
             label   = __CONSTRUCTOR_TABLE__,
             count   = __CONSTRUCTOR_COUNT__,
-            segment = INIT;
+            segment = ONCE;
     CONDES: type    = destructor,
             label   = __DESTRUCTOR_TABLE__,
             count   = __DESTRUCTOR_COUNT__,
index 7356fc03e0487bad3fde2224c54e92ec850d6293..b0b4f3b887bb067d55af2025e36bda06a4a57aa4 100644 (file)
@@ -62,6 +62,9 @@ MEMORY {
 }
 
 SEGMENTS {
+    ZEROPAGE:    load = ZP,                            type = zp;
+    EXTZP:       load = ZP,                            type = zp,                optional = yes;
+
     EXEHDR:      load = HEADER,                        type = ro;
 
     SYSCHKHDR:   load = SYSCHKHDR,                     type = ro,                optional = yes;
@@ -78,14 +81,12 @@ SEGMENTS {
     MAINHDR:     load = MAINHDR,                       type = ro;
     STARTUP:     load = RAM,                           type = ro,  define = yes;
     LOWCODE:     load = RAM,                           type = ro,  define = yes, optional = yes;
-    INIT:        load = RAM,                           type = ro,                optional = yes;
+    ONCE:        load = RAM,                           type = ro,                optional = yes;
     CODE:        load = RAM,                           type = ro,  define = yes;
     RODATA:      load = RAM,                           type = ro;
     DATA:        load = RAM,                           type = rw;
-    INITBSS:     load = RAM,                           type = bss,               optional = yes;
+    INIT:        load = RAM,                           type = bss,               optional = yes;
     BSS:         load = RAM,                           type = bss, define = yes;
-    ZEROPAGE:    load = ZP,                            type = zp;
-    EXTZP:       load = ZP,                            type = zp,                optional = yes;
     AUTOSTRT:    load = TRAILER,                       type = ro;
 
     OVERLAY1:    load = OVL1,                          type = ro,  define = yes, optional = yes;
@@ -102,7 +103,7 @@ FEATURES {
     CONDES: type    = constructor,
             label   = __CONSTRUCTOR_TABLE__,
             count   = __CONSTRUCTOR_COUNT__,
-            segment = INIT;
+            segment = ONCE;
     CONDES: type    = destructor,
             label   = __DESTRUCTOR_TABLE__,
             count   = __DESTRUCTOR_COUNT__,
index 84992a205fd98995c69cc64cfd0754d0298af575..2f9523c5901379a859845b9bae8c6bfab6d87d20 100644 (file)
@@ -48,6 +48,9 @@ MEMORY {
 }
 
 SEGMENTS {
+    ZEROPAGE:    load = ZP,                            type = zp;
+    EXTZP:       load = ZP,                            type = zp,                optional = yes;
+
     EXEHDR:      load = HEADER,                        type = ro;
 
     SYSCHKHDR:   load = SYSCHKHDR,                     type = ro,                optional = yes;
@@ -64,21 +67,19 @@ SEGMENTS {
     MAINHDR:     load = MAINHDR,                       type = ro;
     STARTUP:     load = RAM,                           type = ro,  define = yes;
     LOWCODE:     load = RAM,                           type = ro,  define = yes, optional = yes;
-    INIT:        load = RAM,                           type = ro,                optional = yes;
+    ONCE:        load = RAM,                           type = ro,                optional = yes;
     CODE:        load = RAM,                           type = ro,  define = yes;
     RODATA:      load = RAM,                           type = ro;
     DATA:        load = RAM,                           type = rw;
-    INITBSS:     load = RAM,                           type = bss,               optional = yes;
+    INIT:        load = RAM,                           type = bss,               optional = yes;
     BSS:         load = RAM,                           type = bss, define = yes;
-    ZEROPAGE:    load = ZP,                            type = zp;
-    EXTZP:       load = ZP,                            type = zp,                optional = yes;
     AUTOSTRT:    load = TRAILER,                       type = ro;
 }
 FEATURES {
     CONDES: type    = constructor,
             label   = __CONSTRUCTOR_TABLE__,
             count   = __CONSTRUCTOR_COUNT__,
-            segment = INIT;
+            segment = ONCE;
     CONDES: type    = destructor,
             label   = __DESTRUCTOR_TABLE__,
             count   = __DESTRUCTOR_COUNT__,
index a1f935efa60b37367d292916aff78cfebe7d1149..a0f7e1c3dcfad16caabdcf8bf717fa6e37bcf4e7 100644 (file)
@@ -21,7 +21,7 @@ SEGMENTS {
     LOWCODE:  load = RAM,     type = ro,                optional = yes;
     CODE:     load = RAM,     type = ro;
     RODATA:   load = RAM,     type = ro;
-    INIT:     load = RAM,     type = ro,  define = yes, optional = yes;
+    ONCE:     load = RAM,     type = ro,  define = yes, optional = yes;
     DATA:     load = RAM,     type = rw;
     ZPSAVE1:  load = RAM,     type = rw,  define = yes; # ZPSAVE1, ZPSAVE2 must be together
     ZPSAVE2:  load = RAM,     type = bss;               # see "libsrc/atmos/crt0.s"
@@ -31,7 +31,7 @@ FEATURES {
     CONDES: type    = constructor,
             label   = __CONSTRUCTOR_TABLE__,
             count   = __CONSTRUCTOR_COUNT__,
-            segment = INIT;
+            segment = ONCE;
     CONDES: type    = destructor,
             label   = __DESTRUCTOR_TABLE__,
             count   = __DESTRUCTOR_COUNT__,
index 6304c309b7c19d5e144a3b841eb1917d25722e41..98779b6fdf5e8ffed97023362047ba3b2d5c31bc 100644 (file)
@@ -6,20 +6,20 @@ MEMORY {
     RAM: file = %O,               start = $0E00, size = $7200 - __STACKSIZE__;
 }
 SEGMENTS {
+    ZEROPAGE: load = ZP,  type = zp;
     STARTUP:  load = RAM, type = ro,  define = yes;
     LOWCODE:  load = RAM, type = ro,                optional = yes;
-    INIT:     load = RAM, type = ro,  define = yes, optional = yes;
+    ONCE:     load = RAM, type = ro,  define = yes, optional = yes;
     CODE:     load = RAM, type = ro;
     RODATA:   load = RAM, type = ro;
     DATA:     load = RAM, type = rw;
     BSS:      load = RAM, type = bss, define = yes;
-    ZEROPAGE: load = ZP,  type = zp;
 }
 FEATURES {
     CONDES: type    = constructor,
             label   = __CONSTRUCTOR_TABLE__,
             count   = __CONSTRUCTOR_COUNT__,
-            segment = INIT;
+            segment = ONCE;
     CONDES: type    = destructor,
             label   = __DESTRUCTOR_TABLE__,
             count   = __DESTRUCTOR_COUNT__,
index f2cc3c40cd57a6ef2f3dfd9a830a0e91bb6de8bb..771bd290bf706e700b974fbdf15e9cd2996aea17 100644 (file)
@@ -30,17 +30,17 @@ MEMORY {
     OVL9:     file = "%O.9",           start = $C000 - __OVERLAYSIZE__, size = __OVERLAYSIZE__;
 }
 SEGMENTS {
+    ZEROPAGE: load = ZP,       type = zp;
     LOADADDR: load = LOADADDR, type = ro;
     EXEHDR:   load = HEADER,   type = ro;
     STARTUP:  load = RAM,      type = ro;
     LOWCODE:  load = RAM,      type = ro,                optional = yes;
-    INIT:     load = RAM,      type = ro,  define = yes, optional = yes;
+    ONCE:     load = RAM,      type = ro,  define = yes, optional = yes;
     CODE:     load = RAM,      type = ro;
     RODATA:   load = RAM,      type = ro;
     DATA:     load = RAM,      type = rw;
-    INITBSS:  load = RAM,      type = bss;
+    INIT:     load = RAM,      type = bss;
     BSS:      load = RAM,      type = bss, define = yes;
-    ZEROPAGE: load = ZP,       type = zp;
     OVL1ADDR: load = OVL1ADDR, type = ro;
     OVERLAY1: load = OVL1,     type = ro,  define = yes, optional = yes;
     OVL2ADDR: load = OVL2ADDR, type = ro;
@@ -64,7 +64,7 @@ FEATURES {
     CONDES: type    = constructor,
             label   = __CONSTRUCTOR_TABLE__,
             count   = __CONSTRUCTOR_COUNT__,
-            segment = INIT;
+            segment = ONCE;
     CONDES: type    = destructor,
             label   = __DESTRUCTOR_TABLE__,
             count   = __DESTRUCTOR_COUNT__,
index ef2aa418484d4930499fa93595e012e4b4775bc6..0ea6066ad19cb234bce89e7fff004546f60a7689 100644 (file)
@@ -10,23 +10,23 @@ MEMORY {
     RAM:      file = %O, define = yes, start = $1C0D, size = $A3F3 - __STACKSIZE__;
 }
 SEGMENTS {
+    ZEROPAGE: load = ZP,       type = zp;
     LOADADDR: load = LOADADDR, type = ro;
     EXEHDR:   load = HEADER,   type = ro;
     STARTUP:  load = RAM,      type = ro;
     LOWCODE:  load = RAM,      type = ro,                optional = yes;
-    INIT:     load = RAM,      type = ro,  define = yes, optional = yes;
+    ONCE:     load = RAM,      type = ro,  define = yes, optional = yes;
     CODE:     load = RAM,      type = ro;
     RODATA:   load = RAM,      type = ro;
     DATA:     load = RAM,      type = rw;
-    INITBSS:  load = RAM,      type = bss;
+    INIT:     load = RAM,      type = bss;
     BSS:      load = RAM,      type = bss, define = yes;
-    ZEROPAGE: load = ZP,       type = zp;
 }
 FEATURES {
     CONDES: type    = constructor,
             label   = __CONSTRUCTOR_TABLE__,
             count   = __CONSTRUCTOR_COUNT__,
-            segment = INIT;
+            segment = ONCE;
     CONDES: type    = destructor,
             label   = __DESTRUCTOR_TABLE__,
             count   = __DESTRUCTOR_COUNT__,
index efb42991f60b132b058a2b416007ae3f21dc0077..b4b5ccaf7c12b87f89d7ccc11fe7870b6294cb6a 100644 (file)
@@ -10,23 +10,23 @@ MEMORY {
     RAM:      file = %O,               start = $100D, size = $6FF3 - __STACKSIZE__;
 }
 SEGMENTS {
+    ZEROPAGE: load = ZP,     type = zp;
     LOADADDR: load = LOADADDR, type = ro;
     EXEHDR:   load = HEADER, type = ro;
     STARTUP:  load = RAM,    type = ro;
     LOWCODE:  load = RAM,    type = ro,                optional = yes;
-    INIT:     load = RAM,    type = ro,  define = yes, optional = yes;
+    ONCE:     load = RAM,    type = ro,  define = yes, optional = yes;
     CODE:     load = RAM,    type = ro;
     RODATA:   load = RAM,    type = ro;
     DATA:     load = RAM,    type = rw;
-    INITBSS:  load = RAM,    type = bss;
+    INIT:     load = RAM,    type = bss;
     BSS:      load = RAM,    type = bss, define = yes;
-    ZEROPAGE: load = ZP,     type = zp;
 }
 FEATURES {
     CONDES: type    = constructor,
             label   = __CONSTRUCTOR_TABLE__,
             count   = __CONSTRUCTOR_COUNT__,
-            segment = INIT;
+            segment = ONCE;
     CONDES: type    = destructor,
             label   = __DESTRUCTOR_TABLE__,
             count   = __DESTRUCTOR_COUNT__,
index 522a6d1a6e9c69bc5981dde24f580bc29e1e7f45..872fdd775c2bb8116669147f9f403cfcf984839a 100644 (file)
@@ -44,9 +44,9 @@ SEGMENTS {
     CODE:     load = MAIN,     type = ro;
     RODATA:   load = MAIN,     type = ro;
     DATA:     load = MAIN,     type = rw;
-    INITBSS:  load = MAIN,     type = rw;
+    INIT:     load = MAIN,     type = rw;
     BSS:      load = MAIN,     type = bss, define = yes;
-    INIT:     load = INIT,     type = ro;
+    ONCE:     load = INIT,     type = ro;
     OVL1ADDR: load = OVL1ADDR, type = ro;
     OVERLAY1: load = OVL1,     type = ro,  define = yes, optional = yes;
     OVL2ADDR: load = OVL2ADDR, type = ro;
@@ -70,7 +70,7 @@ FEATURES {
     CONDES: type    = constructor,
             label   = __CONSTRUCTOR_TABLE__,
             count   = __CONSTRUCTOR_COUNT__,
-            segment = INIT;
+            segment = ONCE;
     CONDES: type    = destructor,
             label   = __DESTRUCTOR_TABLE__,
             count   = __DESTRUCTOR_COUNT__,
index 8ff7db03cf40bc3a84a5b62928b09b3ce793c4b5..3735a0a6583c1cb60afd57b7d348e4b6f18cb0a7 100644 (file)
@@ -23,15 +23,15 @@ SEGMENTS {
     CODE:     load = MAIN,     type = ro;
     RODATA:   load = MAIN,     type = ro;
     DATA:     load = MAIN,     type = rw;
-    INITBSS:  load = MAIN,     type = rw;
+    INIT:     load = MAIN,     type = rw;
     BSS:      load = MAIN,     type = bss, define = yes;
-    INIT:     load = INIT,     type = ro,  define = yes;
+    ONCE:     load = INIT,     type = ro,  define = yes;
 }
 FEATURES {
     CONDES: type    = constructor,
             label   = __CONSTRUCTOR_TABLE__,
             count   = __CONSTRUCTOR_COUNT__,
-            segment = INIT;
+            segment = ONCE;
     CONDES: type    = destructor,
             label   = __DESTRUCTOR_TABLE__,
             count   = __DESTRUCTOR_COUNT__,
index d0775b6f2e4f56c162a3f47e064ab5de611ee5b8..8b01dff0b895471fe4cb2fa6699fd5680aba0acb 100644 (file)
@@ -18,11 +18,11 @@ SEGMENTS {
     PAGE2:    load = PAGE2,   type = rw;
     PAGE3:    load = PAGE3,   type = rw;
     LOWCODE:  load = RAM,     type = ro,                optional = yes;
-    INIT:     load = RAM,     type = ro,  define = yes, optional = yes;
+    ONCE:     load = RAM,     type = ro,  define = yes, optional = yes;
     CODE:     load = RAM,     type = ro;
     RODATA:   load = RAM,     type = ro;
     DATA:     load = RAM,     type = rw;
-    INITBSS:  load = RAM,     type = bss;
+    INIT:     load = RAM,     type = bss;
     BSS:      load = RAM,     type = bss, define = yes;
     ZEROPAGE: load = ZP,      type = zp;
     EXTZP:    load = ZP,      type = rw,  define = yes;
@@ -31,7 +31,7 @@ FEATURES {
     CONDES: type    = constructor,
             label   = __CONSTRUCTOR_TABLE__,
             count   = __CONSTRUCTOR_COUNT__,
-            segment = INIT;
+            segment = ONCE;
     CONDES: type    = destructor,
             label   = __DESTRUCTOR_TABLE__,
             count   = __DESTRUCTOR_COUNT__,
index ae66f4c4acf7079840f4c55e45c75df8dacf0923..6df9f1f5a6dbd541de64ebc77967f7f8b4f3bb2b 100644 (file)
@@ -15,11 +15,11 @@ SEGMENTS {
     PAGE2:    load = PAGE2,   type = rw;
     PAGE3:    load = PAGE3,   type = rw;
     LOWCODE:  load = RAM,     type = ro,                optional = yes;
-    INIT:     load = RAM,     type = ro,  define = yes, optional = yes;
+    ONCE:     load = RAM,     type = ro,  define = yes, optional = yes;
     CODE:     load = RAM,     type = ro;
     RODATA:   load = RAM,     type = ro;
     DATA:     load = RAM,     type = rw;
-    INITBSS:  load = RAM,     type = bss;
+    INIT:     load = RAM,     type = bss;
     BSS:      load = RAM,     type = bss, define = yes;
     ZEROPAGE: load = ZP,      type = zp;
     EXTZP:    load = ZP,      type = rw,  define = yes;
@@ -28,7 +28,7 @@ FEATURES {
     CONDES: type    = constructor,
             label   = __CONSTRUCTOR_TABLE__,
             count   = __CONSTRUCTOR_COUNT__,
-            segment = INIT;
+            segment = ONCE;
     CONDES: type    = destructor,
             label   = __DESTRUCTOR_TABLE__,
             count   = __DESTRUCTOR_COUNT__,
index 90ced1ea5d2eb5299966eff2ccf3be48aa498b63..f0f669f2778f066187e28350b91a0ca2d12aad3a 100644 (file)
@@ -1,41 +1,51 @@
 # linker config to produce simple Gamate cartridge (.bin)
 
 SYMBOLS {
-        __STARTUP__:   type = import;
-        __STACKSIZE__: type = weak, value = $0080; # 1 page stack
+    __STARTUP__:   type = import;
+    __STACKSIZE__: type = weak, value = $0080; # 1 page stack
 }
 
 MEMORY {
-        # 0000-03ff is RAM
-        # FIXME: what zp range can we actually use?
-        # $0a-$11 is used by IRQ/NMI, $e8 is used by NMI
-        ZP: start = $0012, size = $e8 - $12;
-        CPUSTACK: start = $0100, size =$100;
-        RAM: start = $0200, size = $200 - __STACKSIZE__, define = yes;
+    # 0000-03ff is RAM
+    # FIXME: what zp range can we actually use?
+    # $0a-$11 is used by IRQ/NMI, $e8 is used by NMI
+    ZP: start = $0012, size = $e8 - $12;
+    CPUSTACK: start = $0100, size =$100;
+    RAM: start = $0200, size = $200 - __STACKSIZE__, define = yes;
 
-        CARTHEADER:   file = %O, define = yes, start = %S,               size = $0029;
-        # 6000-e000 can be (Cartridge) ROM
-        # WARNING: fill value must be $00 else it will no more work
-        #ROM: start = $6000, size = $1000, fill = yes, fillval = $00, file = %O, define = yes;
-        #ROMFILL: start = $7000, size = $7000, fill = yes, fillval = $00, file = %O, define = yes;
-        # for images that have code >$6fff we must calculate the checksum!
-        ROM: start = $6000 + $29, size = $8000 - $29, fill = yes, fillval = $00, file = %O, define = yes;
+    CARTHEADER:   file = %O, define = yes, start = %S,               size = $0029;
+    # 6000-e000 can be (Cartridge) ROM
+    # WARNING: fill value must be $00 else it will no more work
+    #ROM: start = $6000, size = $1000, fill = yes, fillval = $00, file = %O, define = yes;
+    #ROMFILL: start = $7000, size = $7000, fill = yes, fillval = $00, file = %O, define = yes;
+    # for images that have code >$6fff we must calculate the checksum!
+    ROM: start = $6000 + $29, size = $8000 - $29, fill = yes, fillval = $00, file = %O, define = yes;
 }
 
 SEGMENTS {
-        ZEROPAGE: load = ZP, type = zp, define = yes;
-        EXTZP: load = ZP, type = zp, define = yes, optional = yes;
-        APPZP: load = ZP, type = zp, define = yes, optional = yes;
-        STARTUP:   load = CARTHEADER,           type = ro, define=yes;
-        INIT:    load = ROM, type = ro, define = yes, optional = yes;
-        CODE: load = ROM, type = ro, define=yes;
-        RODATA: load = ROM, type = ro, define=yes;
-        DATA: load = ROM, run=RAM, type = rw, define = yes;
-        BSS: load = RAM, type = bss, define = yes;
+    ZEROPAGE: load = ZP,             type = zp,  define = yes;
+    EXTZP:    load = ZP,             type = zp,  define = yes, optional = yes;
+    APPZP:    load = ZP,             type = zp,  define = yes, optional = yes;
+    STARTUP:  load = CARTHEADER,     type = ro,  define = yes;
+    ONCE:     load = ROM,            type = ro,  define = yes, optional = yes;
+    CODE:     load = ROM,            type = ro,  define = yes;
+    RODATA:   load = ROM,            type = ro,  define = yes;
+    DATA:     load = ROM, run = RAM, type = rw,  define = yes;
+    BSS:      load = RAM,            type = bss, define = yes;
 }
 
 FEATURES {
-        CONDES: segment = RODATA, type = constructor, label = __CONSTRUCTOR_TABLE__, count = __CONSTRUCTOR_COUNT__;
-        CONDES: segment = RODATA, type = destructor,  label = __DESTRUCTOR_TABLE__,  count = __DESTRUCTOR_COUNT__;
-        CONDES: segment = RODATA, type = interruptor, label = __INTERRUPTOR_TABLE__, count = __INTERRUPTOR_COUNT__, import  = __CALLIRQ__;
+    CONDES: type    = constructor,
+            label   = __CONSTRUCTOR_TABLE__,
+            count   = __CONSTRUCTOR_COUNT__,
+            segment = ONCE;
+    CONDES: type    = destructor,
+            label   = __DESTRUCTOR_TABLE__,
+            count   = __DESTRUCTOR_COUNT__,
+            segment = RODATA;
+    CONDES: type    = interruptor,
+            label   = __INTERRUPTOR_TABLE__,
+            count   = __INTERRUPTOR_COUNT__,
+            segment = RODATA,
+            import  = __CALLIRQ__;
 }
index 746e1f2bf3be2135b0c7ba82957cddd4037095dd..ee8b61aecea1af5ef1d195c9e64a92ae5882c5da 100644 (file)
@@ -40,7 +40,7 @@ SEGMENTS {
     VLIRIDX0:  type = ro,                 load = CVT, align      = $200, optional = yes;
     STARTUP:   type = ro,  run  = VLIR0,  load = CVT, align_load = $200, define   = yes;
     LOWCODE:   type = ro,  run  = VLIR0,  load = CVT,                    optional = yes;
-    INIT:      type = ro,  run  = VLIR0,  load = CVT, define     = yes,  optional = yes;
+    ONCE:      type = ro,  run  = VLIR0,  load = CVT, define     = yes,  optional = yes;
     CODE:      type = ro,  run  = VLIR0,  load = CVT;
     RODATA:    type = ro,  run  = VLIR0,  load = CVT;
     DATA:      type = rw,  run  = VLIR0,  load = CVT;
@@ -88,7 +88,7 @@ FEATURES {
     CONDES: type    = constructor,
             label   = __CONSTRUCTOR_TABLE__,
             count   = __CONSTRUCTOR_COUNT__,
-            segment = INIT;
+            segment = ONCE;
     CONDES: type    = destructor,
             label   = __DESTRUCTOR_TABLE__,
             count   = __DESTRUCTOR_COUNT__,
index ddef00a99f3b66b68ef9008bfcd813257603f382..42cbe9a480b90e062e06a5fcfba4ab35f405cce8 100644 (file)
@@ -37,7 +37,7 @@ SEGMENTS {
     RECORDS:   type = ro,                 load = CVT, align      = $FE, optional = yes;
     STARTUP:   type = ro,  run  = VLIR0,  load = CVT, align_load = $FE, define   = yes;
     LOWCODE:   type = ro,  run  = VLIR0,  load = CVT,                   optional = yes;
-    INIT:      type = ro,  run  = VLIR0,  load = CVT, define     = yes, optional = yes;
+    ONCE:      type = ro,  run  = VLIR0,  load = CVT, define     = yes, optional = yes;
     CODE:      type = ro,  run  = VLIR0,  load = CVT;
     RODATA:    type = ro,  run  = VLIR0,  load = CVT;
     DATA:      type = rw,  run  = VLIR0,  load = CVT;
@@ -66,7 +66,7 @@ FEATURES {
     CONDES: type    = constructor,
             label   = __CONSTRUCTOR_TABLE__,
             count   = __CONSTRUCTOR_COUNT__,
-            segment = INIT;
+            segment = ONCE;
     CONDES: type    = destructor,
             label   = __DESTRUCTOR_TABLE__,
             count   = __DESTRUCTOR_COUNT__,
index 1342c390bf06875d1c668585dd6c2cd405bdf6a6..aabacbeb20f7c8ac76b2a7b02517ca98f3229cde 100644 (file)
@@ -12,7 +12,7 @@ SEGMENTS {
     ZEROPAGE: load = ZP,  type = zp,  define = yes;                 # Pseudo-registers
     STARTUP:  load = RAM, type = ro;                                # First initialization code
     LOWCODE:  load = RAM, type = ro,                optional = yes; # Legacy from other platforms
-    INIT:     load = RAM, type = ro,  define = yes, optional = yes; # Library initialization code
+    ONCE:     load = RAM, type = ro,  define = yes, optional = yes; # Library initialization code
     CODE:     load = RAM, type = ro;                                # Program
     RODATA:   load = RAM, type = ro;                                # Literals, constants
     DATA:     load = RAM, type = rw;                                # Initialized variables
@@ -22,7 +22,7 @@ FEATURES {
     CONDES: type    = constructor,
             label   = __CONSTRUCTOR_TABLE__,
             count   = __CONSTRUCTOR_COUNT__,
-            segment = INIT;
+            segment = ONCE;
     CONDES: type    = destructor,
             label   = __DESTRUCTOR_TABLE__,
             count   = __DESTRUCTOR_COUNT__,
index 21967752f5f5c36db362d26415489734fbcff833..fcf6d4c60f0cd341e399e08aee8ab43daf506fac 100644 (file)
@@ -10,23 +10,23 @@ MEMORY {
     RAM:    file = %O, define = yes, start = $0400, size = $BC38 - __STACKSIZE__;
 }
 SEGMENTS {
+    ZEROPAGE: load = ZP,     type = zp;
+    EXTZP:    load = ZP,     type = zp,                optional = yes;
+    APPZP:    load = ZP,     type = zp,                optional = yes;
     BLLHDR:   load = HEADER, type = ro;
     STARTUP:  load = RAM,    type = ro,  define = yes;
     LOWCODE:  load = RAM,    type = ro,  define = yes, optional = yes;
-    INIT:     load = RAM,    type = ro,  define = yes, optional = yes;
+    ONCE:     load = RAM,    type = ro,  define = yes, optional = yes;
     CODE:     load = RAM,    type = ro,  define = yes;
     RODATA:   load = RAM,    type = ro,  define = yes;
     DATA:     load = RAM,    type = rw,  define = yes;
     BSS:      load = RAM,    type = bss, define = yes;
-    ZEROPAGE: load = ZP,     type = zp;
-    EXTZP:    load = ZP,     type = zp,                optional = yes;
-    APPZP:    load = ZP,     type = zp,                optional = yes;
 }
 FEATURES {
     CONDES: type    = constructor,
             label   = __CONSTRUCTOR_TABLE__,
             count   = __CONSTRUCTOR_COUNT__,
-            segment = INIT;
+            segment = ONCE;
     CONDES: type    = destructor,
             label   = __DESTRUCTOR_TABLE__,
             count   = __DESTRUCTOR_COUNT__,
index b7fd787e750dde59751a8f749d3b03de2dc8f6ec..d40c18237f782094aa4a660cad49f11a4fefbdd0 100644 (file)
@@ -14,25 +14,25 @@ MEMORY {
     RAM:    file = %O, define = yes, start = $0200, size = $9E58 - __STACKSIZE__;
 }
 SEGMENTS {
+    ZEROPAGE:  load = ZP,     type = zp;
+    EXTZP:     load = ZP,     type = zp,                optional = yes;
+    APPZP:     load = ZP,     type = zp,                optional = yes;
     EXEHDR:    load = HEADER, type = ro;
     BOOTLDR:   load = BOOT,   type = ro;
     DIRECTORY: load = DIR,    type = ro;
     STARTUP:   load = RAM,    type = ro,  define = yes;
     LOWCODE:   load = RAM,    type = ro,  define = yes, optional = yes;
-    INIT:      load = RAM,    type = ro,  define = yes, optional = yes;
+    ONCE:      load = RAM,    type = ro,  define = yes, optional = yes;
     CODE:      load = RAM,    type = ro,  define = yes;
     RODATA:    load = RAM,    type = ro,  define = yes;
     DATA:      load = RAM,    type = rw,  define = yes;
     BSS:       load = RAM,    type = bss, define = yes;
-    ZEROPAGE:  load = ZP,     type = zp;
-    EXTZP:     load = ZP,     type = zp,                optional = yes;
-    APPZP:     load = ZP,     type = zp,                optional = yes;
 }
 FEATURES {
     CONDES: type    = constructor,
             label   = __CONSTRUCTOR_TABLE__,
             count   = __CONSTRUCTOR_COUNT__,
-            segment = INIT;
+            segment = ONCE;
     CONDES: type    = destructor,
             label   = __DESTRUCTOR_TABLE__,
             count   = __DESTRUCTOR_COUNT__,
index 740a18b0a659cec1b2f14fedfdb2d0bd0cff2944..fe6d6133de67069dd88b72c50d6788d03a3a69c0 100644 (file)
@@ -16,27 +16,27 @@ MEMORY {
     UPLDR:  file = %O, define = yes, start = $BFDC, size = $005C;
 }
 SEGMENTS {
+    ZEROPAGE: load = ZP,     type = zp;
+    EXTZP:    load = ZP,     type = zp,                optional = yes;
+    APPZP:    load = ZP,     type = zp,                optional = yes;
     EXEHDR:   load = HEADER, type = ro;
     BOOTLDR:  load = BOOT,   type = ro;
     DIRECTORY:load = DIR,    type = ro;
     STARTUP:  load = RAM,    type = ro,  define = yes;
     LOWCODE:  load = RAM,    type = ro,  define = yes, optional = yes;
-    INIT:     load = RAM,    type = ro,  define = yes, optional = yes;
+    ONCE:     load = RAM,    type = ro,  define = yes, optional = yes;
     CODE:     load = RAM,    type = ro,  define = yes;
     RODATA:   load = RAM,    type = ro,  define = yes;
     DATA:     load = RAM,    type = rw,  define = yes;
     BSS:      load = RAM,    type = bss, define = yes;
     UPCODE:   load = UPLDR,  type = ro,  define = yes;
     UPDATA:   load = UPLDR,  type = rw,  define = yes;
-    ZEROPAGE: load = ZP,     type = zp;
-    EXTZP:    load = ZP,     type = zp,                optional = yes;
-    APPZP:    load = ZP,     type = zp,                optional = yes;
 }
 FEATURES {
     CONDES: type    = constructor,
             label   = __CONSTRUCTOR_TABLE__,
             count   = __CONSTRUCTOR_COUNT__,
-            segment = INIT;
+            segment = ONCE;
     CONDES: type    = destructor,
             label   = __DESTRUCTOR_TABLE__,
             count   = __DESTRUCTOR_COUNT__,
index 2c9e76207bad08a675e09d2601b7478573e0208a..4d41c1bbfc76eae1faba87e49720717bba2b2fc4 100644 (file)
@@ -14,25 +14,25 @@ MEMORY {
     RAM:    file = %O, define = yes, start = $0200, size = $BE38 - __STACKSIZE__;
 }
 SEGMENTS {
+    ZEROPAGE:  load = ZP,     type = zp;
+    EXTZP:     load = ZP,     type = zp,                optional = yes;
+    APPZP:     load = ZP,     type = zp,                optional = yes;
     EXEHDR:    load = HEADER, type = ro;
     BOOTLDR:   load = BOOT,   type = ro;
     DIRECTORY: load = DIR,    type = ro;
     STARTUP:   load = RAM,    type = ro,  define = yes;
     LOWCODE:   load = RAM,    type = ro,  define = yes, optional = yes;
-    INIT:      load = RAM,    type = ro,  define = yes, optional = yes;
+    ONCE:      load = RAM,    type = ro,  define = yes, optional = yes;
     CODE:      load = RAM,    type = ro,  define = yes;
     RODATA:    load = RAM,    type = ro,  define = yes;
     DATA:      load = RAM,    type = rw,  define = yes;
     BSS:       load = RAM,    type = bss, define = yes;
-    ZEROPAGE:  load = ZP,     type = zp;
-    EXTZP:     load = ZP,     type = zp,                optional = yes;
-    APPZP:     load = ZP,     type = zp,                optional = yes;
 }
 FEATURES {
     CONDES: type    = constructor,
             label   = __CONSTRUCTOR_TABLE__,
             count   = __CONSTRUCTOR_COUNT__,
-            segment = INIT;
+            segment = ONCE;
     CONDES: type    = destructor,
             label   = __DESTRUCTOR_TABLE__,
             count   = __DESTRUCTOR_COUNT__,
index 452491eb48fdfe779e556d0f1b0725676a752c07..be312585c41f7e4ba5870c95aba3fc58a5621a46 100644 (file)
@@ -6,7 +6,7 @@ SEGMENTS {
     ZEROPAGE: load = ZP,       type = zp;
     EXTZP:    load = ZP,       type = zp, optional = yes;
     HEADER:   load = COMBINED, type = ro;
-    INIT:     load = COMBINED, type = ro, optional = yes;
+    ONCE:     load = COMBINED, type = ro, optional = yes;
     CODE:     load = COMBINED, type = ro;
     RODATA:   load = COMBINED, type = ro;
     DATA:     load = COMBINED, type = rw;
index 3e2f408cc2ec6d19369f7c7e400e7244c0441d03..f68330425d03ddc798435ae79a888378a023098f 100644 (file)
@@ -33,23 +33,23 @@ MEMORY {
     RAM:    file = "", start = $6000, size = $2000, define = yes;
 }
 SEGMENTS {
+    ZEROPAGE: load = ZP,              type = zp;
     HEADER:   load = HEADER,          type = ro;
     STARTUP:  load = ROM0,            type = ro,  define = yes;
     LOWCODE:  load = ROM0,            type = ro,                optional = yes;
-    INIT:     load = ROM0,            type = ro,  define = yes, optional = yes;
+    ONCE:     load = ROM0,            type = ro,  define = yes, optional = yes;
     CODE:     load = ROM0,            type = ro,  define = yes;
     RODATA:   load = ROM0,            type = ro,  define = yes;
     DATA:     load = ROM0, run = RAM, type = rw,  define = yes;
     VECTORS:  load = ROMV,            type = rw;
     CHARS:    load = ROM2,            type = rw;
     BSS:      load = RAM,             type = bss, define = yes;
-    ZEROPAGE: load = ZP,              type = zp;
 }
 FEATURES {
     CONDES: type    = constructor,
             label   = __CONSTRUCTOR_TABLE__,
             count   = __CONSTRUCTOR_COUNT__,
-            segment = INIT;
+            segment = ONCE;
     CONDES: type    = destructor,
             label   = __DESTRUCTOR_TABLE__,
             count   = __DESTRUCTOR_COUNT__,
index 49409a82c3831d90222de9a90f19ff7cdadd6e30..54ae54eb4ccae0a3cfea9d02277bd7a156d3dbce 100644 (file)
@@ -6,19 +6,19 @@ MEMORY {
     RAM: file = %O,               start = %S,    size = $10000 - __STACKSIZE__;
 }
 SEGMENTS {
+    ZEROPAGE: load = ZP,  type = zp;
     LOWCODE:  load = RAM, type = ro,                optional = yes;
-    INIT:     load = RAM, type = ro,  define = yes, optional = yes;
+    ONCE:     load = RAM, type = ro,  define = yes, optional = yes;
     CODE:     load = RAM, type = rw;
     RODATA:   load = RAM, type = rw;
     DATA:     load = RAM, type = rw;
     BSS:      load = RAM, type = bss, define = yes;
-    ZEROPAGE: load = ZP,  type = zp;
 }
 FEATURES {
     CONDES: type    = constructor,
             label   = __CONSTRUCTOR_TABLE__,
             count   = __CONSTRUCTOR_COUNT__,
-            segment = INIT;
+            segment = ONCE;
     CONDES: type    = destructor,
             label   = __DESTRUCTOR_TABLE__,
             count   = __DESTRUCTOR_COUNT__,
index 4000890bea8ff4a41b1d002a5992b9ce9e38cd33..ac2e76dc9b54586cbfd79c2870118ed5f80b7cbc 100644 (file)
@@ -15,11 +15,11 @@ MEMORY {
     RAM:      file = %O, define = yes, start = %S, size = __HIMEM__ - __STACKSIZE__ - %S;
 }
 SEGMENTS {
+    ZEROPAGE: load = ZP,   type = zp;
     BOOT:     load = HEAD, type = ro,                optional = yes;
-    INIT:     load = RAM,  type = ro,  define = yes, optional = yes;
+    ONCE:     load = RAM,  type = ro,  define = yes, optional = yes;
     CODE:     load = RAM,  type = rw;
     RODATA:   load = RAM,  type = rw;
     DATA:     load = RAM,  type = rw;
     BSS:      load = RAM,  type = bss, define = yes;
-    ZEROPAGE: load = ZP,   type = zp;
 }
index fd9aa604e244f2d5cbc384a33106e1cbdee71773..314eac0b9cb900680b633c5baaaa43145cd0fb8e 100644 (file)
@@ -15,22 +15,22 @@ MEMORY {
     RAM:      file = %O, define = yes, start = %S, size = __HIMEM__ - __STACKSIZE__ - %S;
 }
 SEGMENTS {
+    ZEROPAGE: load = ZP,   type = zp;
+    EXTZP:    load = ZP,   type = zp,  define = yes, optional = yes;
     BOOT:     load = HEAD, type = ro,                optional = yes;
     STARTUP:  load = RAM,  type = ro;
     LOWCODE:  load = RAM,  type = ro,                optional = yes;
-    INIT:     load = RAM,  type = ro,  define = yes, optional = yes;
+    ONCE:     load = RAM,  type = ro,  define = yes, optional = yes;
     CODE:     load = RAM,  type = rw;
     RODATA:   load = RAM,  type = rw;
     DATA:     load = RAM,  type = rw;
     BSS:      load = RAM,  type = bss, define = yes;
-    ZEROPAGE: load = ZP,   type = zp;
-    EXTZP:    load = ZP,   type = zp,  define = yes, optional = yes;
 }
 FEATURES {
     CONDES: type    = constructor,
             label   = __CONSTRUCTOR_TABLE__,
             count   = __CONSTRUCTOR_COUNT__,
-            segment = INIT;
+            segment = ONCE;
     CONDES: type    = destructor,
             label   = __DESTRUCTOR_TABLE__,
             count   = __DESTRUCTOR_COUNT__,
index 9128eb727fa793544b4fe8fe1f2a9cfef00fe832..219cbdec3a63681619f56c9cfa990e83f089cb97 100644 (file)
@@ -1,39 +1,39 @@
 # linker config to produce simple NEC PC-Engine cartridge (.pce)
 
 SYMBOLS {
-        __STACKSIZE__: type = weak, value = $0300; # 3 pages stack
+    __STACKSIZE__: type = weak, value = $0300; # 3 pages stack
 }
 
 MEMORY {
-        # FIXME: is this correct? the first 3? bytes cant be used?
-        ZP: start = $03, size = $fd, type = rw, define = yes;
+    # FIXME: is this correct? the first 3? bytes cant be used?
+    ZP:   file = "", start = $0003, size = $00FD, type = rw,  define = yes;
 
-        # reset-bank and hardware vectors
-        ROM0: start = $e000, size = $1ff6, file = %O ,fill = yes, define = yes;
-        ROMV: start = $fff6, size = $a, file = %O,fill = yes;
+    # reset-bank and hardware vectors
+    ROM0: file = %O, start = $E000, size = $1FF6, fill = yes, define = yes;
+    ROMV: file = %O, start = $FFF6, size = $000A, fill = yes;
 
-        # first RAM page (also contains stack and zeropage)
-        RAM: start = $2200, size = $1e00, define = yes;
+    # first RAM page (also contains stack and zeropage)
+    RAM:  file = "", start = $2200, size = $1e00,             define = yes;
 }
 
 SEGMENTS {
-        STARTUP: load = ROM0, type = ro, define = yes;
-        INIT:    load = ROM0, type = ro, define = yes, optional = yes;
-        CODE:    load = ROM0, type = ro, define = yes;
-        RODATA:  load = ROM0, type = ro, define = yes;
-        DATA:    load = ROM0, run= RAM, type = rw, define = yes;
-        BSS:     load = RAM, type = bss, define = yes;
-        VECTORS: load = ROMV, type = rw, define = yes;
-        ZEROPAGE: load = ZP, type = zp, define = yes;
-        EXTZP: load = ZP, type = zp, define = yes, optional = yes;
-        APPZP: load = ZP, type = zp, define = yes, optional = yes;
+    ZEROPAGE: load = ZP,              type = zp,  define = yes;
+    EXTZP:    load = ZP,              type = zp,  define = yes, optional = yes;
+    APPZP:    load = ZP,              type = zp,  define = yes, optional = yes;
+    STARTUP:  load = ROM0,            type = ro,  define = yes;
+    ONCE:     load = ROM0,            type = ro,  define = yes, optional = yes;
+    CODE:     load = ROM0,            type = ro,  define = yes;
+    RODATA:   load = ROM0,            type = ro,  define = yes;
+    DATA:     load = ROM0, run = RAM, type = rw,  define = yes;
+    BSS:      load = RAM,             type = bss, define = yes;
+    VECTORS:  load = ROMV,            type = rw,  define = yes;
 }
 
 FEATURES {
     CONDES: type    = constructor,
             label   = __CONSTRUCTOR_TABLE__,
             count   = __CONSTRUCTOR_COUNT__,
-            segment = INIT;
+            segment = ONCE;
     CONDES: type    = destructor,
             label   = __DESTRUCTOR_TABLE__,
             count   = __DESTRUCTOR_COUNT__,
index 80d89ee50a45cd069554d96eba96ab502998059a..aad3f579eb043be9756d99dcee6756b35a016546 100644 (file)
@@ -10,23 +10,23 @@ MEMORY {
     RAM:      file = %O,               start = $040D, size = $7BF3 - __STACKSIZE__;
 }
 SEGMENTS {
+    ZEROPAGE: load = ZP,       type = zp;
     LOADADDR: load = LOADADDR, type = ro;
     EXEHDR:   load = HEADER,   type = ro;
     STARTUP:  load = RAM,      type = ro;
     LOWCODE:  load = RAM,      type = ro,                optional = yes;
-    INIT:     load = RAM,      type = ro,  define = yes, optional = yes;
+    ONCE:     load = RAM,      type = ro,  define = yes, optional = yes;
     CODE:     load = RAM,      type = ro;
     RODATA:   load = RAM,      type = ro;
     DATA:     load = RAM,      type = rw;
-    INITBSS:  load = RAM,      type = bss;
+    INIT:     load = RAM,      type = bss;
     BSS:      load = RAM,      type = bss, define = yes;
-    ZEROPAGE: load = ZP,       type = zp;
 }
 FEATURES {
     CONDES: type    = constructor,
             label   = __CONSTRUCTOR_TABLE__,
             count   = __CONSTRUCTOR_COUNT__,
-            segment = INIT;
+            segment = ONCE;
     CONDES: type    = destructor,
             label   = __DESTRUCTOR_TABLE__,
             count   = __DESTRUCTOR_COUNT__,
index 6eeddf12ed769a370da7d2a956c6fdfc37ea4de5..16e9d12c89562fefd15173eb389ecf91fb7d6741 100644 (file)
@@ -10,23 +10,23 @@ MEMORY {
     RAM:      file = %O, define = yes, start = $100D, size = $ECF3 - __STACKSIZE__;
 }
 SEGMENTS {
+    ZEROPAGE: load = ZP,       type = zp;
     LOADADDR: load = LOADADDR, type = ro;
     EXEHDR:   load = HEADER,   type = ro;
     STARTUP:  load = RAM,      type = ro;
     LOWCODE:  load = RAM,      type = ro,                optional = yes;
-    INIT:     load = RAM,      type = ro,  define = yes, optional = yes;
+    ONCE:     load = RAM,      type = ro,  define = yes, optional = yes;
     CODE:     load = RAM,      type = ro;
     RODATA:   load = RAM,      type = ro;
     DATA:     load = RAM,      type = rw;
-    INITBSS:  load = RAM,      type = bss;
+    INIT:     load = RAM,      type = bss;
     BSS:      load = RAM,      type = bss, define = yes;
-    ZEROPAGE: load = ZP,       type = zp;
 }
 FEATURES {
     CONDES: type    = constructor,
             label   = __CONSTRUCTOR_TABLE__,
             count   = __CONSTRUCTOR_COUNT__,
-            segment = INIT;
+            segment = ONCE;
     CONDES: type    = destructor,
             label   = __DESTRUCTOR_TABLE__,
             count   = __DESTRUCTOR_COUNT__,
index edb630d7ff12c707e2d5be70406e29cff05f8457..8e78fceb22944edd1f3a9a9be21fc28771d7b5ec 100644 (file)
@@ -3,26 +3,26 @@ SYMBOLS {
     __STACKSIZE__: type = weak, value = $0800; # 2k stack
 }
 MEMORY {
-    ZP:       file = "",               start = $0000, size = $001A;
-    HEADER:   file = %O,               start = $0000, size = $0001;
-    RAM:      file = %O, define = yes, start = $0200, size = $FDF0 - __STACKSIZE__;
+    ZP:     file = "",               start = $0000, size = $001A;
+    HEADER: file = %O,               start = $0000, size = $0001;
+    RAM:    file = %O, define = yes, start = $0200, size = $FDF0 - __STACKSIZE__;
 }
 SEGMENTS {
-    EXEHDR:   load = HEADER,   type = ro;
-    STARTUP:  load = RAM,      type = ro;
-    LOWCODE:  load = RAM,      type = ro,                optional = yes;
-    INIT:     load = RAM,      type = ro,  define = yes, optional = yes;
-    CODE:     load = RAM,      type = ro;
-    RODATA:   load = RAM,      type = ro;
-    DATA:     load = RAM,      type = rw;
-    BSS:      load = RAM,      type = bss, define = yes;
-    ZEROPAGE: load = ZP,       type = zp;
+    ZEROPAGE: load = ZP,     type = zp;
+    EXEHDR:   load = HEADER, type = ro;
+    STARTUP:  load = RAM,    type = ro;
+    LOWCODE:  load = RAM,    type = ro,                optional = yes;
+    ONCE:     load = RAM,    type = ro,  define = yes, optional = yes;
+    CODE:     load = RAM,    type = ro;
+    RODATA:   load = RAM,    type = ro;
+    DATA:     load = RAM,    type = rw;
+    BSS:      load = RAM,    type = bss, define = yes;
 }
 FEATURES {
     CONDES: type    = constructor,
             label   = __CONSTRUCTOR_TABLE__,
             count   = __CONSTRUCTOR_COUNT__,
-            segment = INIT;
+            segment = ONCE;
     CONDES: type    = destructor,
             label   = __DESTRUCTOR_TABLE__,
             count   = __DESTRUCTOR_COUNT__,
index edb630d7ff12c707e2d5be70406e29cff05f8457..8e78fceb22944edd1f3a9a9be21fc28771d7b5ec 100644 (file)
@@ -3,26 +3,26 @@ SYMBOLS {
     __STACKSIZE__: type = weak, value = $0800; # 2k stack
 }
 MEMORY {
-    ZP:       file = "",               start = $0000, size = $001A;
-    HEADER:   file = %O,               start = $0000, size = $0001;
-    RAM:      file = %O, define = yes, start = $0200, size = $FDF0 - __STACKSIZE__;
+    ZP:     file = "",               start = $0000, size = $001A;
+    HEADER: file = %O,               start = $0000, size = $0001;
+    RAM:    file = %O, define = yes, start = $0200, size = $FDF0 - __STACKSIZE__;
 }
 SEGMENTS {
-    EXEHDR:   load = HEADER,   type = ro;
-    STARTUP:  load = RAM,      type = ro;
-    LOWCODE:  load = RAM,      type = ro,                optional = yes;
-    INIT:     load = RAM,      type = ro,  define = yes, optional = yes;
-    CODE:     load = RAM,      type = ro;
-    RODATA:   load = RAM,      type = ro;
-    DATA:     load = RAM,      type = rw;
-    BSS:      load = RAM,      type = bss, define = yes;
-    ZEROPAGE: load = ZP,       type = zp;
+    ZEROPAGE: load = ZP,     type = zp;
+    EXEHDR:   load = HEADER, type = ro;
+    STARTUP:  load = RAM,    type = ro;
+    LOWCODE:  load = RAM,    type = ro,                optional = yes;
+    ONCE:     load = RAM,    type = ro,  define = yes, optional = yes;
+    CODE:     load = RAM,    type = ro;
+    RODATA:   load = RAM,    type = ro;
+    DATA:     load = RAM,    type = rw;
+    BSS:      load = RAM,    type = bss, define = yes;
 }
 FEATURES {
     CONDES: type    = constructor,
             label   = __CONSTRUCTOR_TABLE__,
             count   = __CONSTRUCTOR_COUNT__,
-            segment = INIT;
+            segment = ONCE;
     CONDES: type    = destructor,
             label   = __DESTRUCTOR_TABLE__,
             count   = __DESTRUCTOR_COUNT__,
index ce835db50a08725052497f0ff8c9703cf0db7df4..3cfdf12760723210a67246c0d5db1f196d8969d8 100644 (file)
@@ -21,7 +21,7 @@ MEMORY {
 }
 SEGMENTS {
     LOWCODE:  load = ROM,      type = ro,                optional = yes;
-    INIT:     load = ROM,      type = ro,  define = yes, optional = yes;
+    ONCE:     load = ROM,      type = ro,  define = yes, optional = yes;
     CODE:     load = ROM,      type = ro;
     BANK1:    load = BANKROM1, type = ro;
     BANK2:    load = BANKROM2, type = ro;
index e38948d5f19a8654121c780a2f868a29fea611a8..2e96b9a72b9dc2a3310f9991fdbb4b6c892bde02 100644 (file)
@@ -14,21 +14,21 @@ MEMORY {
     ROM:      file = %O, start = $C000, size = $4000, fill = yes, fillval = $ff, define=yes;
 }
 SEGMENTS {
+    ZEROPAGE: load = ZP,             type = zp,  define = yes;
     LOWCODE:  load = ROM,            type = ro,                optional = yes;
-    INIT:     load = ROM,            type = ro,  define = yes, optional = yes;
+    ONCE:     load = ROM,            type = ro,  define = yes, optional = yes;
     CODE:     load = ROM,            type = ro,  define = yes;
     RODATA:   load = ROM,            type = ro,  define = yes;
     DATA:     load = ROM, run = RAM, type = rw,  define = yes;
     FFF0:     load = ROM,            type = ro,  offset = $3FF0;
     VECTOR:   load = ROM,            type = ro,  offset = $3FFA;
     BSS:      load = RAM,            type = bss, define = yes;
-    ZEROPAGE: load = ZP,             type = zp,  define = yes;
 }
 FEATURES {
     CONDES: type    = constructor,
             label   = __CONSTRUCTOR_TABLE__,
             count   = __CONSTRUCTOR_COUNT__,
-            segment = INIT;
+            segment = ONCE;
     CONDES: type    = destructor,
             label   = __DESTRUCTOR_TABLE__,
             count   = __DESTRUCTOR_COUNT__,
index fd5370fa511ab0a5068b9472bd459dd85b387a6b..63338d1e3e5e672d9c9c2a9d26ce0eda5d065bcb 100644 (file)
@@ -17,7 +17,7 @@ MEMORY {
 }
 SEGMENTS {
     LOWCODE:  load = ROM,      type = ro,                optional = yes;
-    INIT:     load = ROM,      type = ro,  define = yes, optional = yes;
+    ONCE:     load = ROM,      type = ro,  define = yes, optional = yes;
     CODE:     load = ROM,      type = ro;
     RODATA:   load = ROM,      type = ro;
     BANK1:    load = BANKROM1, type = ro;
index 66fb4cfade8c58fee4b7eed3866543fde3a1efa4..b7ae207b8382281dced5b5e9da87cce07930daec 100644 (file)
@@ -10,21 +10,21 @@ MEMORY {
     ROM:      file = %O, start = $8000, size = $8000, fill = yes, fillval = $FF, define = yes;
 }
 SEGMENTS {
+    ZEROPAGE: load = ZP,             type = zp,  define = yes;
     LOWCODE:  load = ROM,            type = ro,                optional = yes;
-    INIT:     load = ROM,            type = ro,  define = yes, optional = yes;
+    ONCE:     load = ROM,            type = ro,  define = yes, optional = yes;
     CODE:     load = ROM,            type = ro,  define = yes;
     RODATA:   load = ROM,            type = ro,  define = yes;
     DATA:     load = ROM, run = RAM, type = rw,  define = yes;
     FFF0:     load = ROM,            type = ro,  offset = $7FF0;
     VECTOR:   load = ROM,            type = ro,  offset = $7FFA;
     BSS:      load = RAM,            type = bss, define = yes;
-    ZEROPAGE: load = ZP,             type = zp,  define = yes;
 }
 FEATURES {
     CONDES: type    = constructor,
             label   = __CONSTRUCTOR_TABLE__,
             count   = __CONSTRUCTOR_COUNT__,
-            segment = INIT;
+            segment = ONCE;
     CONDES: type    = destructor,
             label   = __DESTRUCTOR_TABLE__,
             count   = __DESTRUCTOR_COUNT__,
index 23cd718dfcee89ceb4e8ea1d55701a2e5aa6472c..a1b609106fd10142d4b4df2db098dc4e6d9efaec 100644 (file)
@@ -16,11 +16,11 @@ SEGMENTS {
     EXEHDR:   load = HEADER,   type = ro;
     STARTUP:  load = RAM,      type = ro;
     LOWCODE:  load = RAM,      type = ro,                optional = yes;
-    INIT:     load = RAM,      type = ro,  define = yes, optional = yes;
+    ONCE:     load = RAM,      type = ro,  define = yes, optional = yes;
     CODE:     load = RAM,      type = ro;
     RODATA:   load = RAM,      type = ro;
     DATA:     load = RAM,      type = rw;
-    INITBSS:  load = RAM,      type = bss;
+    INIT:     load = RAM,      type = bss;
     BSS:      load = RAM,      type = bss, define = yes;
     ZEROPAGE: load = ZP,       type = zp;
 }
@@ -28,7 +28,7 @@ FEATURES {
     CONDES: type    = constructor,
             label   = __CONSTRUCTOR_TABLE__,
             count   = __CONSTRUCTOR_COUNT__,
-            segment = INIT;
+            segment = ONCE;
     CONDES: type    = destructor,
             label   = __DESTRUCTOR_TABLE__,
             count   = __DESTRUCTOR_COUNT__,
index 9a5ce9a63f8e59ca1d33fca3a2af369d085042fa..693b356a3bb07ad64245298e549ba63a6b04fdc3 100644 (file)
@@ -10,23 +10,23 @@ MEMORY {
     RAM:      file = %O, define = yes, start = $100D, size = $0DF3 - __STACKSIZE__;
 }
 SEGMENTS {
+    ZEROPAGE: load = ZP,       type = zp;
     LOADADDR: load = LOADADDR, type = ro;
     EXEHDR:   load = HEADER,   type = ro;
     STARTUP:  load = RAM,      type = ro;
     LOWCODE:  load = RAM,      type = ro,                optional = yes;
-    INIT:     load = RAM,      type = ro,  define = yes, optional = yes;
+    ONCE:     load = RAM,      type = ro,  define = yes, optional = yes;
     CODE:     load = RAM,      type = ro;
     RODATA:   load = RAM,      type = ro;
     DATA:     load = RAM,      type = rw;
-    INITBSS:  load = RAM,      type = bss;
+    INIT:     load = RAM,      type = bss;
     BSS:      load = RAM,      type = bss, define = yes;
-    ZEROPAGE: load = ZP,       type = zp;
 }
 FEATURES {
     CONDES: type    = constructor,
             label   = __CONSTRUCTOR_TABLE__,
             count   = __CONSTRUCTOR_COUNT__,
-            segment = INIT;
+            segment = ONCE;
     CONDES: type    = destructor,
             label   = __DESTRUCTOR_TABLE__,
             count   = __DESTRUCTOR_COUNT__,
index 47ce050e1d860d8576c5dbf4c3b8bca7e36c7cc1..f37b43929a6fca199c2579f99b32185b5a553007 100644 (file)
@@ -743,7 +743,7 @@ segments should go above &dollar;7FFF.
 <p>
 The main problem is that the EXE header generated by the cc65 runtime
 lib is wrong. It defines a single load chunk with the sizes/addresses
-of the STARTUP, LOWCODE, INIT, CODE, RODATA, and DATA segments, in
+of the STARTUP, LOWCODE, ONCE, CODE, RODATA, and DATA segments, in
 fact, the whole user program (we're disregarding the "system check"
 load chunk here).
 <p>
@@ -796,7 +796,7 @@ SEGMENTS {
     NEXEHDR: load = FSTHDR, type = ro;                  # first load chunk
     STARTUP: load = RAMLO, type = ro, define = yes;
     LOWCODE: load = RAMLO, type = ro, define = yes, optional = yes;
-    INIT: load = RAMLO, type = ro, optional = yes;
+    ONCE: load = RAMLO, type = ro, optional = yes;
     CODE: load = RAMLO, type = ro, define = yes;
 
     CHKHDR: load = SECHDR, type = ro;                   # second load chunk
@@ -808,7 +808,7 @@ SEGMENTS {
     AUTOSTRT: load = RAM, type = ro;                    # defines program entry point
 }
 FEATURES {
-    CONDES: segment = RODATA,
+    CONDES: segment = ONCE,
             type = constructor,
             label = __CONSTRUCTOR_TABLE__,
             count = __CONSTRUCTOR_COUNT__;
@@ -827,7 +827,7 @@ the MAINHDR segment get discarded.
 <p>
 The newly added NEXEHDR segment defines the correct chunk header for the
 first intended load chunk. It
-puts the STARTUP, LOWCODE, INIT, and CODE segments, which are the
+puts the STARTUP, LOWCODE, ONCE, and CODE segments, which are the
 segments containing only code, into load chunk #1 (RAMLO memory area).
 <p>
 The header for the second load chunk comes from the new CHKHDR
@@ -858,7 +858,7 @@ cl65 -t atari -C split.cfg -o prog.com prog.c split.s
 <sect2>Low data and high code example<p>
 
 
-Goal: Put RODATA and DATA into low memory and STARTUP, LOWCODE, INIT,
+Goal: Put RODATA and DATA into low memory and STARTUP, LOWCODE, ONCE,
 CODE, BSS, ZPSAVE into high memory (split2.cfg):
 
 <tscreen><verb>
@@ -893,7 +893,7 @@ SEGMENTS {
 
     CHKHDR: load = SECHDR, type = ro;                   # second load chunk
     STARTUP: load = RAM, type = ro, define = yes;
-    INIT: load = RAM, type = ro, optional = yes;
+    ONCE: load = RAM, type = ro, optional = yes;
     CODE: load = RAM, type = ro, define = yes;
     BSS: load = RAM, type = bss, define = yes;
 
@@ -901,7 +901,7 @@ SEGMENTS {
     AUTOSTRT: load = RAM, type = ro;                    # defines program entry point
 }
 FEATURES {
-    CONDES: segment = RODATA,
+    CONDES: segment = ONCE,
             type = constructor,
             label = __CONSTRUCTOR_TABLE__,
             count = __CONSTRUCTOR_COUNT__;
index 0a0b8c87ec293f8aa0a55b3c9f5cf4039e760400..e502f2e9d963a49e8a01c8087538753feaf47089 100644 (file)
@@ -78,15 +78,15 @@ vectors at the proper memory locations.  The segment definition is:
 
 <tscreen><code>
 SEGMENTS {
-    ZEROPAGE:  load = ZP,  type = zp,  define   = yes;
-    DATA:      load = ROM, type = rw,  define   = yes, run = RAM;
-    BSS:       load = RAM, type = bss, define   = yes;
-    HEAP:      load = RAM, type = bss, optional = yes;
-    STARTUP:   load = ROM, type = ro;
-    INIT:      load = ROM, type = ro,  optional = yes;
-    CODE:      load = ROM, type = ro;
-    RODATA:    load = ROM, type = ro;
-    VECTORS:   load = ROM, type = ro,  start    = $FFFA;
+    ZEROPAGE: load = ZP,  type = zp,  define   = yes;
+    DATA:     load = ROM, type = rw,  define   = yes, run = RAM;
+    BSS:      load = RAM, type = bss, define   = yes;
+    HEAP:     load = RAM, type = bss, optional = yes;
+    STARTUP:  load = ROM, type = ro;
+    ONCE:     load = ROM, type = ro,  optional = yes;
+    CODE:     load = ROM, type = ro;
+    RODATA:   load = ROM, type = ro;
+    VECTORS:  load = ROM, type = ro,  start    = $FFFA;
 }
 </code></tscreen>
 
@@ -97,7 +97,7 @@ The meaning of each of these segments is as follows.
 <p><tt>       BSS:       </tt>Uninitialized data stored in RAM (used for variable storage)
 <p><tt>       HEAP:      </tt>Uninitialized C-level heap storage in RAM, optional
 <p><tt>       STARTUP:   </tt>The program initialization code, stored in ROM
-<p><tt>       INIT:      </tt>The code needed to initialize the system, stored in ROM
+<p><tt>       ONCE:      </tt>The code run once to initialize the system, stored in ROM
 <p><tt>       CODE:      </tt>The program code, stored in ROM
 <p><tt>       RODATA:    </tt>Initialized data that cannot be modified by the program, stored in ROM
 <p><tt>       VECTORS:   </tt>The interrupt vector table, stored in ROM at location $FFFA
index 329f975e18abbd9524e1e1247cac89282ed5f58d..448157ce08e2eb662a428985e4d6488ca5e1eaaf 100644 (file)
@@ -1032,11 +1032,11 @@ The builtin config files do contain segments that have a special meaning for
 the compiler and the libraries that come with it. If you replace the builtin
 config files, you will need the following information.
 
-<sect1>INIT<p>
+<sect1>ONCE<p>
 
-The INIT segment is used for initialization code that may be reused once
+The ONCE segment is used for initialization code run only once before
 execution reaches main() - provided that the program runs in RAM. You
-may for example add the INIT segment to the heap in really memory
+may for example add the ONCE segment to the heap in really memory
 constrained systems.
 
 <sect1>LOWCODE<p>
index 1cadd1f1ca09ce04b0897cd0d040ddccc82b01d4..2db2962f93224f4622eaebfcd76e4abd0db0ca82 100644 (file)
@@ -14,7 +14,7 @@
 
         .include        "apple2.inc"
 
-        .segment        "INIT"
+        .segment        "ONCE"
 
         .ifdef  __APPLE2ENH__
 initconio:
index f061b212be71f58ab4d0712924103ccf37a691e4..7eee390fa2dbeaf43e181fbc4971cdf0061e755d 100644 (file)
@@ -10,8 +10,8 @@
         .import         initlib, donelib
         .import         callmain
         .import         __LC_START__, __LC_LAST__       ; Linker generated
-        .import         __INIT_RUN__, __INIT_SIZE__     ; Linker generated
-        .import         __INITBSS_RUN__                 ; Linker generated
+        .import         __ONCE_RUN__, __ONCE_SIZE__     ; Linker generated
+        .import         __INIT_RUN__                    ; Linker generated
 
         .include        "zeropage.inc"
         .include        "apple2.inc"
         bit     $C081
 
         ; Set the source start address.
-        lda     #<(__INITBSS_RUN__ + __INIT_SIZE__)
-        ldy     #>(__INITBSS_RUN__ + __INIT_SIZE__)
+        lda     #<(__INIT_RUN__ + __ONCE_SIZE__)
+        ldy     #>(__INIT_RUN__ + __ONCE_SIZE__)
         sta     $9B
         sty     $9C
 
         ; Set the source last address.
-        lda     #<(__INITBSS_RUN__ + __INIT_SIZE__ + __LC_LAST__ - __LC_START__)
-        ldy     #>(__INITBSS_RUN__ + __INIT_SIZE__ + __LC_LAST__ - __LC_START__)
+        lda     #<(__INIT_RUN__ + __ONCE_SIZE__ + __LC_LAST__ - __LC_START__)
+        ldy     #>(__INIT_RUN__ + __ONCE_SIZE__ + __LC_LAST__ - __LC_START__)
         sta     $96
         sty     $97
 
         jsr     $D39A           ; BLTU2
 
         ; Set the source start address.
-        lda     #<__INITBSS_RUN__
-        ldy     #>__INITBSS_RUN__
+        lda     #<__INIT_RUN__
+        ldy     #>__INIT_RUN__
         sta     $9B
         sty     $9C
 
         ; Set the source last address.
-        lda     #<(__INITBSS_RUN__ + __INIT_SIZE__)
-        ldy     #>(__INITBSS_RUN__ + __INIT_SIZE__)
+        lda     #<(__INIT_RUN__ + __ONCE_SIZE__)
+        ldy     #>(__INIT_RUN__ + __ONCE_SIZE__)
         sta     $96
         sty     $97
 
         ; Set the destination last address.
-        lda     #<(__INIT_RUN__ + __INIT_SIZE__)
-        ldy     #>(__INIT_RUN__ + __INIT_SIZE__)
+        lda     #<(__ONCE_RUN__ + __ONCE_SIZE__)
+        ldy     #>(__ONCE_RUN__ + __ONCE_SIZE__)
         sta     $94
         sty     $95
 
         ; Call into Applesoft Block Transfer Up -- which handles moving
-        ; overlapping blocks upwards well -- to move the INIT segment.
+        ; overlapping blocks upwards well -- to move the ONCE segment.
         jsr     $D39A           ; BLTU2
 
         ; Delegate all further processing, to keep the STARTUP segment small.
@@ -109,7 +109,7 @@ exit:   ldx     #$02
         ; We're done
         jmp     done
 
-        .segment        "INIT"
+        .segment        "ONCE"
 
         ; Save the zero-page locations that we need.
 init:   ldx     #zpspace-1
@@ -201,7 +201,7 @@ q_param:.byte   $04             ; param_count
         ; Final jump when we're done
 done:   jmp     DOSWARM         ; Potentially patched at runtime
 
-        .segment        "INITBSS"
+        .segment        "INIT"
 
 zpsave: .res    zpspace
 
index 68910e3da2485d072fc7fb856e5c805cb9d94766..cedb1f3e398bc530ad39e26ba4aed3c481bea3fd 100644 (file)
@@ -30,7 +30,7 @@
 ; - Apple II ProDOS 8 TechNote #23, ProDOS 8 Changes and Minutia
 ; - ProDOS TechRefMan, chapter 5.2.4
 
-        .segment        "INIT"
+        .segment        "ONCE"
 
 initdostype:
         lda     $BF00
index 7951ccbb082780da77fc814b67c0a8d75a6bcecc..2e5d1927ef7fd8c538b4dc8b36ff348a3801fd6c 100644 (file)
@@ -14,7 +14,7 @@
         .include        "errno.inc"
         .include        "../filedes.inc"
 
-        .segment        "INIT"
+        .segment        "ONCE"
 
 initiobuf:
         ; Convert end address highbyte to table index
index 68ae865ac44b963c7db369eca12eecf14634e8e7..cff6af9a3a43f899945303e5488131ed8cd0cbec 100644 (file)
@@ -10,7 +10,7 @@
 ; Identify machine according to:
 ; Apple II Miscellaneous TechNote #7, Apple II Family Identification
 
-        .segment        "INIT"
+        .segment        "ONCE"
 
 initostype:
         sec
index 0b05556955aba72c5b89cc539da456a7fa113d04..97a1633b43932b18a7061ab421b9b303488ea7af 100644 (file)
@@ -9,7 +9,7 @@
 
         .include        "apple2.inc"
 
-        .segment        "INIT"
+        .segment        "ONCE"
 
 initirq:
         ; Check for ProDOS
index 2e809dc56a7be695f668c52a202d7f82802b1194..e3db8bb100f58a6b6397d5ee75e83b9760474fb7 100644 (file)
@@ -46,10 +46,10 @@ FNAM_LEN  = $280
 FNAM      = $281
 REM       = $B2                 ; BASIC token-code
 
-; Get possible command-line arguments. Goes into the special INIT segment,
+; Get possible command-line arguments. Goes into the special ONCE segment,
 ; which may be reused after the startup code is run.
 
-        .segment        "INIT"
+        .segment        "ONCE"
 
 initmainargs:
 
index b1686df7067b6656397aad4ae9a0c44e376529f1..e4772297347e4ffe8de05937adb6ce8f2cb103cc 100644 (file)
@@ -19,7 +19,7 @@
         .include        "mli.inc"
         .include        "filedes.inc"
 
-        .segment        "INIT"
+        .segment        "ONCE"
 
 raisefilelevel:
         ; Raise file level
index ef994d6aa19f7f802682d17dad985a8ddc071681..14c80b7e2185c46d4fdbb56302c9147f9c535104 100644 (file)
@@ -16,7 +16,7 @@
         .include        "filedes.inc"
         .include        "apple2.inc"
 
-        .segment        "INIT"
+        .segment        "ONCE"
 
 initprompt:
         ; Set prompt <> ']' to let DOS 3.3 know that we're
index 8ee1ba0670fead5e8432a72475f2da272012c2ca..e674ea1bc336c0d128cfa674f326f8db08bdd112 100644 (file)
@@ -10,7 +10,7 @@
 
 _rebootafterexit := return
 
-        .segment        "INIT"
+        .segment        "ONCE"
 
 initreboot:
         ; Quit to PWRUP
index c91989aad985ca063da2cd34402b094c21281b47..668f3486708df05e3b5fa375c918555ca176e338 100644 (file)
@@ -13,7 +13,7 @@
         .import start
         .export _cas_init
 
-.segment        "INIT"
+.segment        "ONCE"
 
 _cas_init:
 .ifdef  DEBUG
index 654da55b58b7dd0fc06eb2aadc7097174d243ab5..cac9a6536248c4b17729f2a0f1fd578323de52af 100644 (file)
@@ -11,7 +11,7 @@
 ; ------------------------------------------------------------------------
 ; DOS type detection
 
-.segment        "INIT"
+.segment        "ONCE"
 
 detect: lda     DOS
         cmp     #'S'            ; SpartaDOS
index fb3b7bc0304694c108fcac9b64db5bf349a9fdd1..d32c0a26821767f6bf952cbb5e011db368f8375c 100644 (file)
@@ -20,7 +20,7 @@ SPACE   = 32            ; SPACE char.
 ; --------------------------------------------------------------------------
 ; Get command line
 
-.segment        "INIT"
+.segment        "ONCE"
 
 initmainargs:
         lda     #0
index 0a8efe466752da89ecb7b0155584a1bb195529c5..1878ea0a2bd0e35df46a9a5e783c3330fddb925b 100644 (file)
@@ -13,7 +13,7 @@
 
 ; ------------------------------------------------------------------------
 
-.segment        "INIT"
+.segment        "ONCE"
 
 initirq:
         lda     VVBLKD
index c5c5dd433467cc3b9bdd53f324c7a36672825802..9e6ccc2c57a7045fb4c17d634ed74a5c5141a794 100644 (file)
@@ -180,7 +180,7 @@ update_colors:
 
 ; ------------------------------------------------------------------------
 
-        .segment "INIT"
+        .segment "ONCE"
 
 pm_init:
         lda     #0
index 53a71ab7125bf53205b2ec036afa73cb9f2d020d..d65e6bd68727eaa394d0c2a59f320aeabcdc7bc1 100644 (file)
@@ -26,7 +26,7 @@ SHRAM_HANDLERS  =       1
 BUFSZ           =       128     ; bounce buffer size
 BUFSZ_SIO       =       256
 
-.segment "INIT"
+.segment "ONCE"
 
 ; Turn off ROMs, install system and interrupt wrappers, set new chargen pointer
 
index 660276675df3694fccec23604e09eb21543419dd..2e86001c288ed6a17bc31ccdecdd638b5c9ff639 100644 (file)
@@ -9,7 +9,7 @@ SCREEN_BUF      =       $4000 - SCREEN_BUF_SIZE
 
                 .export screen_setup_20x24
 
-                .segment "INIT"
+                .segment "ONCE"
 
 screen_setup_20x24:
 
index 720113f82f2a8474e0448c114e9912f252f42df4..263805d02dff0b05ec2742a8f4a5eec873b00061 100644 (file)
@@ -9,7 +9,7 @@
 
 ; ------------------------------------------------------------------------
 
-.segment        "INIT"
+.segment        "ONCE"
 
 initirq:
         lda     VVBLKD
index 0ed6e70da7156e11e98ae7fab68d2a942e6b4289..91c484250ed11429f17de587841e4369bc13b7f3 100644 (file)
@@ -17,7 +17,7 @@
 ;--------------------------------------------------------------------------
 ; Put this constructor into a segment that can be re-used by programs.
 ;
-.segment        "INIT"
+.segment        "ONCE"
 
 ; Turn the capitals lock off.
 
index e4ea15ac659d7741a5e1d5d853ffa692427663d8..64d597bc6c5761b9dd3bc4f8a0e936b9ab4e09a3 100644 (file)
 .endproc
 
 ; ------------------------------------------------------------------------
-; Switch the cursor off. Code goes into the INIT segment
+; Switch the cursor off. Code goes into the ONCE segment
 ; which may be reused after it is run.
 
-.segment        "INIT"
+.segment        "ONCE"
 
 initcgetc:
         lsr     STATUS
index ed443caae682325b789e8d44d734d7bbb9ecb469..751c860f299393c1bfc21bfe337c5c6aae3bb7e1 100644 (file)
@@ -9,7 +9,7 @@
 
 ; ------------------------------------------------------------------------
 
-.segment        "INIT"
+.segment        "ONCE"
 
 initirq:
         lda     IRQVec
index d6d9ed1ef10eda85750c8b8c02de9f630f3ff914..8b57d9855d9436ec7e5b573e75a880c3c5c53d28 100644 (file)
@@ -17,10 +17,10 @@ REM      = $9d                  ; BASIC token-code
 
 
 ;---------------------------------------------------------------------------
-; Get possible command-line arguments. Goes into the special INIT segment,
+; Get possible command-line arguments. Goes into the special ONCE segment,
 ; which may be reused after the startup code is run
 
-.segment        "INIT"
+.segment        "ONCE"
 
 .proc   initmainargs
 
index 324ac789ec8d85cb816c6e7e8ffb563bb4574133..edf9d161d5b4019cb7c997fd3d6ff1b093bbd525 100644 (file)
@@ -69,7 +69,7 @@ L9:     lda     ptr3
 ;--------------------------------------------------------------------------
 ; initstdin:  Reset the stdin console.
 
-.segment        "INIT"
+.segment        "ONCE"
 
 initstdin:
         ldx     #<-1
index 46f13d197c18214c54e4429d7f3a19d19cb428d0..7cb4c159e22661cdf50a8f77c42554898611c097 100644 (file)
@@ -42,7 +42,7 @@ L2:     jsr     KBDREAD         ; Read char and return in A
 .bss
 keyvec: .res    2
 
-.segment        "INIT"
+.segment        "ONCE"
 initcgetc:
 
 ; Save the old vector
index 4c6a0f7d9530107ef940578d2b6b0ee51f3384db..5891bacf391b61d5df2a247da976cc6976c9d5f1 100644 (file)
@@ -108,7 +108,7 @@ L2:     lda     zpsave,x
 ; ------------------------------------------------------------------------
 ; Data
 
-.segment        "INITBSS"
+.segment        "INIT"
 
 zpsave: .res    zpspace
 
index 79aa8faaa1721997553312d580ae8e8ed4eba356..9f6d0c6d1ba574c2237a5bc01e6ff2dbe7e355b6 100644 (file)
@@ -9,7 +9,7 @@
 
 ; ------------------------------------------------------------------------
 
-.segment        "INIT"
+.segment        "ONCE"
 
 initirq:
         lda     IRQVec
index dcd5a11bd2746af9c0561eae309a1a0dc47daa0d..f53ceafa083875bfc03030afde4852bd20bd0e7a 100644 (file)
@@ -32,10 +32,10 @@ MAXARGS  = 10                   ; Maximum number of arguments allowed
 REM      = $8f                  ; BASIC token-code
 NAME_LEN = 16                   ; Maximum length of command-name
 
-; Get possible command-line arguments. Goes into the special INIT segment,
+; Get possible command-line arguments. Goes into the special ONCE segment,
 ; which may be reused after the startup code is run
 
-.segment        "INIT"
+.segment        "ONCE"
 
 initmainargs:
 
@@ -127,7 +127,7 @@ done:   lda     #<argv
         stx     __argv + 1
         rts
 
-.segment        "INITBSS"
+.segment        "INIT"
 
 term:   .res    1
 name:   .res    NAME_LEN + 1
index 1951129a6335f3051fdd2e3d3f6b3cda85c8ef96..eb521eb3abe53aefd63ff6305c2e6ad4548ec92b 100644 (file)
@@ -29,7 +29,7 @@ VIC_SPR_Y       = (VIC_SPR0_Y + 2*MOUSE_SPR)    ; Sprite Y register
 ; --------------------------------------------------------------------------
 ; Initialize the mouse sprite.
 
-.segment        "INIT"
+.segment        "ONCE"
 
 initmcb:
 
index e12d016b810fdcab189c975da586feb88c71f8e5..b2a7f8721d2c097806c298bf5ce16498af172e3b 100644 (file)
@@ -63,7 +63,7 @@ BCD2dec:tax
 ; Constructor that writes to the 1/10 sec register of the TOD to kick it
 ; into action. If this is not done, the clock hangs. We will read the register
 ; and write it again, ignoring a possible change in between.
-.segment "INIT"
+.segment "ONCE"
 
 .proc   initsystime
 
index 8bcb721002d32b25fd16879b910b83a0c51a7ea4..a476a5d1b72137d3577a1c9d9223f7d306ebfa1d 100644 (file)
@@ -56,7 +56,7 @@ L2:     jsr     KBDREAD         ; Read char and return in A
         .constructor    initkbd
         .destructor     donekbd
 
-.segment        "INIT"
+.segment        "ONCE"
 
 .proc   initkbd
 
index c4d17952991ce9205120bd1bc0e92ee805607fe4..bee81a11385b9645d90b396a1f4a54b2455eb6d2 100644 (file)
@@ -90,7 +90,7 @@ L2:     lda     zpsave,x
 
 ; ------------------------------------------------------------------------
 
-.segment        "INITBSS"
+.segment        "INIT"
 
 zpsave: .res    zpspace
 
index 46dd75fe8c0062b26d3b6037c32da3193144a10b..91dd8c05c20b462ea464732e2e22a7231777d088 100644 (file)
@@ -9,7 +9,7 @@
 
 ; ------------------------------------------------------------------------
 
-.segment        "INIT"
+.segment        "ONCE"
 
 initirq:
         lda     IRQVec
index db93ae2e62e46b7ceed43911eab8f5d166c26d4a..c1d77a0e73ef88ad70ec1bec76f32596c8017a1c 100644 (file)
@@ -32,10 +32,10 @@ MAXARGS  = 10                   ; Maximum number of arguments allowed
 REM      = $8f                  ; BASIC token-code
 NAME_LEN = 16                   ; Maximum length of command-name
 
-; Get possible command-line arguments. Goes into the special INIT segment,
+; Get possible command-line arguments. Goes into the special ONCE segment,
 ; which may be reused after the startup code is run
 
-.segment        "INIT"
+.segment        "ONCE"
 
 initmainargs:
 
@@ -126,7 +126,7 @@ done:   lda     #<argv
         stx     __argv + 1
         rts
 
-.segment        "INITBSS"
+.segment        "INIT"
 
 term:   .res    1
 name:   .res    NAME_LEN + 1
index ea7867925f96fefaa971d941a10dfc5af9d2a9e7..c8a7386cb8b6fd0ce404eb1ed31af70833c835af 100644 (file)
@@ -34,7 +34,7 @@ Start:
         tsx
         stx     spsave          ; Save the system stack ptr
 
-; Save space by putting some of the start-up code in the INIT segment,
+; Save space by putting some of the start-up code in the ONCE segment,
 ; which can be re-used by the BSS segment, the heap and the C stack.
 
         jsr     init
@@ -79,7 +79,7 @@ L2:     lda     zpsave,x
 
 ; ------------------------------------------------------------------------
 
-.segment        "INIT"
+.segment        "ONCE"
 
 init:
 
@@ -111,7 +111,7 @@ L1:     lda     sp,x
 ; ------------------------------------------------------------------------
 ; Data
 
-.segment        "INITBSS"
+.segment        "INIT"
 
 mmusave:.res    1
 spsave: .res    1
index 10d03aa2c12b8f0460dd40b7ff163e2fe2727931..d0767d53f636f9003d40deb525e81592eb147ed8 100644 (file)
@@ -9,7 +9,7 @@
 
 ; ------------------------------------------------------------------------
 
-.segment        "INIT"
+.segment        "ONCE"
 
 initirq:
         lda     IRQVec
index a31c1b54f2e0250c37c8676d95dc5ed19c69a53e..a381b49e1505d269ed9eca932e3b43649aa77bf6 100644 (file)
@@ -32,10 +32,10 @@ MAXARGS  = 10                   ; Maximum number of arguments allowed
 REM      = $8f                  ; BASIC token-code
 NAME_LEN = 16                   ; Maximum length of command-name
 
-; Get possible command-line arguments. Goes into the special INIT segment,
+; Get possible command-line arguments. Goes into the special ONCE segment,
 ; which may be reused after the startup code is run
 
-.segment        "INIT"
+.segment        "ONCE"
 
 initmainargs:
 
@@ -125,7 +125,7 @@ done:   lda     #<argv
         stx     __argv + 1
         rts
 
-.segment        "INITBSS"
+.segment        "INIT"
 
 term:   .res    1
 name:   .res    NAME_LEN + 1
index cd36d8515faaa578b312b708174171cc4eeb611e..dd2f7cee7582f9e8da607436bd9eb62c34912524 100644 (file)
@@ -30,7 +30,7 @@ VIC_SPR_Y       = (VIC_SPR0_Y + 2*MOUSE_SPR)    ; Sprite Y register
 ; --------------------------------------------------------------------------
 ; Initialize the mouse sprite.
 
-.segment        "INIT"
+.segment        "ONCE"
 
 initmcb:
 
index 69fd3527f247809eefe1945035569168bce7da68..1faa9f775fc02b578fac35aca8b5d8a51ac30145 100644 (file)
@@ -43,7 +43,7 @@
 
         .export         soft80_charset
 
-        .segment "INIT"
+        .segment "ONCE"
 soft80_charset:
         .byte $0f,$03,$0f,$00,$0f,$07,$05,$0e
         .byte $0f,$05,$0e,$0b,$0f,$0b,$0f,$0f
index 874d41a533e53935a0e1a3be2fb565f0cd166955..48039d288a0557abe49c04dd76025c84977a9f6a 100644 (file)
@@ -56,7 +56,7 @@ soft80_shutdown:
         sta     CIA2_PRA
         jmp     $FF5B           ; Initialize video I/O
 
-        .segment "INIT"
+        .segment "ONCE"
 firstinit:
         ; copy charset to RAM under I/O
         sei
@@ -146,7 +146,7 @@ soft80_bitmapyhi_data:
 soft80_tables_data_end:
 
 ;-------------------------------------------------------------------------------
-        .segment "INITBSS"
+        .segment "INIT"
 soft80_internal_cellcolor:
         .res 1
 soft80_internal_bgcolor:
index 759b280c669e1e60dbb71b0f87ec67aa74c0224b..25c2fc558e5e51cc81a91dd4f1d2d2e810dfc923 100644 (file)
@@ -60,7 +60,7 @@ soft80mono_shutdown:
         sta     VIC_VIDEO_ADR
         rts
 
-        .segment "INIT"
+        .segment "ONCE"
 firstinit:
         ; copy charset to RAM under I/O
         sei
@@ -150,7 +150,7 @@ soft80_bitmapyhi_data:
 soft80_tables_data_end:
 
 ;-------------------------------------------------------------------------------
-        .segment "INITBSS"
+        .segment "INIT"
 soft80mono_internal_cellcolor:
         .res 1
 soft80mono_internal_bgcolor:
index f8cd1b71463b4e2ad5c783a7accf357a068c5fd1..c28ace32eabe2a1cfab74657864c79d05171271b 100644 (file)
@@ -63,7 +63,7 @@ BCD2dec:tax
 ; Constructor that writes to the 1/10 sec register of the TOD to kick it
 ; into action. If this is not done, the clock hangs. We will read the register
 ; and write it again, ignoring a possible change in between.
-.segment "INIT"
+.segment "ONCE"
 
 .proc   initsystime
 
index db2dec7b3de1e72fbf3ae7f80621f04a89555b35..2cbf0436e6413b910dec4567d6dec4eaf37ccd42 100644 (file)
@@ -9,13 +9,13 @@
         .importzp       devnum
 
 
-.segment "INITBSS"
+.segment "INIT"
 
 curunit:
         .res    1
 
 
-.segment "INIT"
+.segment "ONCE"
 
 .proc   initcurunit
 
index c9cb6330eb38d0b924a1b0bdb436fe4449c579f8..a52830d6b15039a6b40ebc43a6a09d0f00da80b0 100644 (file)
@@ -3,7 +3,7 @@
         .export         _mouse_def_pointercolor
 
 
-.segment        "INIT"
+.segment        "ONCE"
 
 _mouse_def_pointercolor:
 
index 7364201b1219a7be8816a885a29c05ba8bd85a8b..82c7ed91d2e0ff8660151cffcb1a61d3302c0808 100644 (file)
@@ -3,7 +3,7 @@
         .export         _mouse_def_pointershape
 
 
-.segment        "INIT"
+.segment        "ONCE"
 
 _mouse_def_pointershape:
 
index e0fd8d51b5dd8aff89d07fffa83ae979c8b309c3..87a2c703785baf108f57460c825c31358aefb83c 100644 (file)
@@ -22,7 +22,7 @@
 ;--------------------------------------------------------------------------
 ; initstdin: Open the stdin file descriptors for the keyboard
 
-.segment        "INIT"
+.segment        "ONCE"
 
 .proc   initstdin
 
index e6da59c0f1e00d31d22288b9442ba2e4962dbd7a..20999d2aceba98adca7a6fc21b9134971f4beb88 100644 (file)
@@ -20,7 +20,7 @@
 ;--------------------------------------------------------------------------
 ; initstdout: Open the stdout and stderr file descriptors for the screen.
 
-.segment        "INIT"
+.segment        "ONCE"
 
 .proc   initstdout
 
index 0ec7d0c4c0ece1532bf0eb24f49899e6e24e7890..45f35eedb1c1a10b120e2ac8e74f40d4c5a11222 100644 (file)
@@ -35,10 +35,10 @@ MAXARGS  = 10                   ; Maximum number of arguments allowed
 REM      = $8f                  ; BASIC token-code
 NAME_LEN = 16                   ; Maximum length of command-name
 
-; Get possible command-line arguments. Goes into the special INIT segment,
+; Get possible command-line arguments. Goes into the special ONCE segment,
 ; which may be reused after the startup code is run.
 ;
-.segment        "INIT"
+.segment        "ONCE"
 
 initmainargs:
 
@@ -144,7 +144,7 @@ done:   lda     #<argv
         stx     __argv + 1
         rts
 
-.segment        "INITBSS"
+.segment        "INIT"
 
 term:   .res    1
 name:   .res    NAME_LEN + 1
index 0db753e927155d78a93153b880f518e4c3602d4a..700dcebb11de6c138669603c7e9b02b858095953 100644 (file)
@@ -31,7 +31,7 @@ VIC_SPR_Y       = (VIC_SPR0_Y + 2*MOUSE_SPR)    ; Sprite Y register
 ; --------------------------------------------------------------------------
 ; Initialize the mouse sprite.
 
-.segment        "INIT"
+.segment        "ONCE"
 
 initmcb:
 
index 02461ac26fb9fa80aa13176325fc36aac48da310..9f708698e8e2b2ab53a1c1fe0f777b440cdfdacc 100644 (file)
@@ -35,10 +35,10 @@ MAXARGS  = 10                   ; Maximum number of arguments allowed
 REM      = $8f                  ; BASIC token-code
 NAME_LEN = 16                   ; Maximum length of command-name
 
-; Get possible command-line arguments. Goes into the special INIT segment,
+; Get possible command-line arguments. Goes into the special ONCE segment,
 ; which may be reused after the startup code is run.
 ;
-.segment        "INIT"
+.segment        "ONCE"
 
 initmainargs:
 
@@ -142,7 +142,7 @@ done:   lda     #<argv
         stx     __argv + 1
         rts
 
-.segment        "INITBSS"
+.segment        "INIT"
 
 term:   .res    1
 name:   .res    NAME_LEN + 1
index 7b4031f52ddee7e341a7368f930520cdc86f7731..92276ead990e228687376b5a1015d79923b2d768 100644 (file)
@@ -19,7 +19,7 @@
 
         cwd_init        := initcwd
 
-.segment        "INITBSS"
+.segment        "INIT"
 
 __cwd:  .res    __cwd_buf_size
 
index 5af434050f6381e9494e56028000bf4e8f1622a9..e2470577a639346907a1ede316a08b7fa504eb8a 100644 (file)
@@ -27,7 +27,7 @@ __heaplast:
 
 ; Initialization. Will be called from startup!
 
-.segment        "INIT"
+.segment        "ONCE"
 
 initheap:
         sec
index 223c0796720b5d4a9f3e405e1967131013d02204..98ad546248552d400918499c00ec0e5462ece908 100644 (file)
@@ -23,7 +23,7 @@
 
 .endproc
 
-        .segment        "INIT"
+        .segment        "ONCE"
 initclock:
         lda     #0
         ldx     #3
index a43eeb1a3ecb6f40c173d926e71e00f4b3c34f32..18d5da674fb895173dfd383c3e759bdba9bdf12d 100644 (file)
@@ -8,7 +8,7 @@
 
         .macpack        longbranch
 
-        .segment        "INIT"
+        .segment        "ONCE"
 initconio:
         lda     #0
         sta     LCD_XPOS
index 862307f5897178c3aff035eae5306bd467e81345..ddb6ce4ea67fa34e09eaa347fe1a3e322a911f62 100644 (file)
@@ -10,7 +10,7 @@
         .include        "extzp.inc"
 
 ; ------------------------------------------------------------------------
-.segment        "INIT"
+.segment        "ONCE"
 
 ; a constructor
 ;
index 61db62416743e2c5811b34208990468a7359eb7b..a09eea2e526ea81c9b0f64d16a05e31313b2119e 100644 (file)
@@ -3,7 +3,7 @@
 ;
         .export NMIStub
 
-        .segment        "INIT"
+        .segment        "ONCE"
 
 NMIStub:
         ; A is saved by the BIOS
index 01aac96a443ccd436bbc1a1b35da3c7310254530..dded4ca42efabbebfa7d8d3874cb47a6c8bea0f7 100644 (file)
@@ -14,7 +14,7 @@
                       
         .include "geossym.inc"
 
-.segment        "INIT"
+.segment        "ONCE"
 
 initscrsize:
 .ifdef __GEOS_CBM__
index db829cc0bea4944160220dce0373f1cb3185b971..14c624759626abf80f7295ee012ea6d6a5e0e18e 100644 (file)
@@ -18,7 +18,7 @@
             .include "const.inc"
             .include "geossym.inc"
 
-.segment        "INIT"
+.segment        "ONCE"
 
 ; Setup arguments for main
 
index 881c435545bdd694e3c63a48fe55e9109ee6c340..dbccb32cbe1886c00212a307883d1a0f29d525e5 100644 (file)
@@ -78,7 +78,7 @@ update_clock:
 ;-----------------------------------------------------------------------------
 ; Enable the interrupt that update_clock needs.
 ;
-        .segment        "INIT"
+        .segment        "ONCE"
 init_clock:
         lda     #%10000000
         tsb     VTIMCTLA
index 08358563b3ec9a60957e081f374e9f6aff552564..a368482270037b90e78fc81df9687957d86e3402 100644 (file)
@@ -6,8 +6,8 @@
         .include "lynx.inc"
         .import         __STARTOFDIRECTORY__
         .import         __RAM_START__
-        .import         __CODE_SIZE__,__DATA_SIZE__,__RODATA_SIZE__
-        .import         __STARTUP_SIZE__,__INIT_SIZE__,__LOWCODE_SIZE__
+        .import         __CODE_SIZE__, __DATA_SIZE__, __RODATA_SIZE__
+        .import         __STARTUP_SIZE__, __ONCE_SIZE__, __LOWCODE_SIZE__
         .import         __BLOCKSIZE__
         .export         __DEFDIR__: absolute = 1
 
         .segment "DIRECTORY"
 
 __DIRECTORY_START__:
-off0=__STARTOFDIRECTORY__+(__DIRECTORY_END__-__DIRECTORY_START__)
-blocka=off0/__BLOCKSIZE__
+off0 = __STARTOFDIRECTORY__ + (__DIRECTORY_END__ - __DIRECTORY_START__)
+blocka = off0 / __BLOCKSIZE__
 ; Entry 0 - first executable
-block0=off0/__BLOCKSIZE__
-len0=__STARTUP_SIZE__+__INIT_SIZE__+__CODE_SIZE__+__DATA_SIZE__+__RODATA_SIZE__+__LOWCODE_SIZE__
+block0 = off0 / __BLOCKSIZE__
+len0 = __STARTUP_SIZE__ + __ONCE_SIZE__ + __CODE_SIZE__ + __DATA_SIZE__ + __RODATA_SIZE__ + __LOWCODE_SIZE__
         .byte   <block0
         .word   off0 & (__BLOCKSIZE__ - 1)
         .byte   $88
         .word   __RAM_START__
         .word   len0
 __DIRECTORY_END__:
-
index 4a6adfb04c99e17a553bc8b68ab29be8ecbb857f..d3b7976e0304108c988220d8f4a236a675d015b4 100644 (file)
@@ -9,7 +9,7 @@
 
 ; ------------------------------------------------------------------------
 
-.segment        "INIT"
+.segment        "ONCE"
 
 initirq:
         lda     #<IRQStub
index 8ab1b7c68869e3b64c6acc932e1bffd4d04968b5..b402704c2d1e3e20c32ccccca115c1bf4726c628 100644 (file)
 
 
 ;---------------------------------------------------------------------------
-; Get possible command-line arguments. Goes into the special INIT segment,
+; Get possible command-line arguments. Goes into the special ONCE segment,
 ; which may be reused after the startup code is run
 
-.segment        "INIT"
+.segment        "ONCE"
 
 .proc   initmainargs
 
index 10915028b9fd78b4526f8a5696825e90b4efa1f6..5bcdc79941cd2da991ae8ebc8f7d354bbf3dafd8 100644 (file)
@@ -75,10 +75,10 @@ putchar:
         jmp     ppubuf_put
 
 ;-----------------------------------------------------------------------------
-; Initialize the conio subsystem. Code goes into the INIT segment, which may
+; Initialize the conio subsystem. Code goes into the ONCE segment, which may
 ; be reused after startup.
 
-.segment        "INIT"
+.segment        "ONCE"
 
 initconio:
         jsr     ppuinit
index 9c026f0edf521c09305fc5eaf8ee2a0ca8757423..267d9de0a0b1287a85e2cefc9b184c36a7e4e3c7 100644 (file)
@@ -6,7 +6,7 @@
 
 ; ------------------------------------------------------------------------
 
-.segment        "INIT"
+.segment        "ONCE"
 
 initirq:
         rts
index 7ed8d46f4af4d8f64405a0482c0ec36427781a7d..def01e81da8e83ced3441808c0446eb26489e8b5 100644 (file)
 
 
 ;---------------------------------------------------------------------------
-; Get possible command-line arguments. Goes into the special INIT segment,
+; Get possible command-line arguments. Goes into the special ONCE segment,
 ; which may be reused after the startup code is run
 
-.segment        "INIT"
+.segment        "ONCE"
 
 .proc   initmainargs
 
index 5ddca2870d2d0dabdd40a95929f4a7065ea1daaf..9161645c77899bd30334ba5f4adc86f26f34e56c 100644 (file)
@@ -11,7 +11,7 @@
         .include        "zeropage.inc"\r
 \r
 ; Initialize one-character buffer that is filled by kbhit()\r
-        .segment        "INIT"\r
+        .segment        "ONCE"\r
 initcgetc:\r
         lda     #$00\r
         sta     CHARBUF         ; No character in buffer initially\r
index 261739df875f5e8cdc207e3d01baba91bb976a22..828efdc1d1473027e7a997d1267fdd296fd53757 100644 (file)
@@ -23,7 +23,7 @@
 
 .endproc
 
-        .segment        "INIT"
+        .segment        "ONCE"
 initclock:
         lda     #0
         ldx     #3
index b2bb0f9d5a51ee10891a7692217cb2cee401ae31..674b7027901603d0b02d5b2f349542f970b9e0d5 100644 (file)
@@ -10,7 +10,7 @@
 
         .macpack        longbranch
 
-        .segment        "INIT"
+        .segment        "ONCE"
 initconio:
         jsr     vce_init
         jsr     psg_init
index f34303d07d65d09f5f006e1ddcd17992d572e4b2..e0fb6855663dd851cc53e93acfc89a509d3ef636 100644 (file)
@@ -10,7 +10,7 @@
         .include        "extzp.inc"
 
 ; ------------------------------------------------------------------------
-.segment        "INIT"
+.segment        "ONCE"
 
 ; a constructor
 ;
index b1d610fa1b925f63f94921ca7548537807307232..c3392d9ff686c72bafa70a5826af860aec89b00d 100644 (file)
@@ -2,7 +2,7 @@
 
         .export         psg_init
 
-        .segment        "INIT"
+        .segment        "ONCE"
 psg_init:
         clx
         stz     PSG_GLOBAL_PAN          ; Clear global balance
index af69c5ed1def88a8de37362bbc7043c20c3298a0..70f4d376addfd7afaf4dc15cf55e185b13207acf 100644 (file)
@@ -2,7 +2,7 @@
 
         .export         vce_init
 
-        .segment        "INIT"
+        .segment        "ONCE"
 vce_init:
         ; Set CTA to zero
         stz     VCE_ADDR_LO
index c1c80530851adfc4fb73b937597903ee38a2a5e7..520a147f7fc6d33d8f0e1a8f30173842ca264cd8 100644 (file)
@@ -94,7 +94,7 @@ L2:     lda     zpsave,x
 
 ; ------------------------------------------------------------------------
 
-.segment        "INITBSS"
+.segment        "INIT"
 
 zpsave: .res    zpspace
 
index ddaf43ca5988277c4506a9fbc727a24a3358a303..9da45f1df795c638059c98fd707ae7a1dbc31623 100644 (file)
@@ -9,7 +9,7 @@
 
 ; ------------------------------------------------------------------------
 
-.segment        "INIT"
+.segment        "ONCE"
 
 initirq:
         lda     IRQVec
index 8ba6e31170393d15f40aacb433af4d082f349269..bc685b6998407a19648c412163adf03dd6156f14 100644 (file)
@@ -16,10 +16,10 @@ NAME_LEN = 16                   ; Maximum length of command-name
 
 
 ;---------------------------------------------------------------------------
-; Get possible command-line arguments. Goes into the special INIT segment,
+; Get possible command-line arguments. Goes into the special ONCE segment,
 ; which may be reused after the startup code is run
 
-.segment        "INIT"
+.segment        "ONCE"
 
 .proc   initmainargs
 
@@ -111,7 +111,7 @@ done:   lda     #<argv
 
 .endproc
 
-.segment        "INITBSS"
+.segment        "INIT"
 
 term:   .res    1
 name:   .res    NAME_LEN + 1
index 7ff568101e6e67f37235ba309c6b22848d03f880..25a63c053604657df152c7f29b075bd05e07f926 100644 (file)
@@ -59,7 +59,7 @@ L2:     sta     ENABLE_ROM      ; Bank in the ROM
         .constructor    initkbd
         .destructor     donekbd
 
-.segment        "INIT"          ; Special init code segment may get overwritten
+.segment        "ONCE"          ; Special init code segment may get overwritten
 
 .proc   initkbd
 
index ae32975628ca067dc8db764a241ca6ac99a6285b..9696d50f4acc0aa455dc9e03599a7474b2c07ce1 100644 (file)
@@ -195,7 +195,7 @@ spsave:         .res    1
 
 irqcount:       .byte   0
 
-.segment        "INITBSS"
+.segment        "INIT"
 
 zpsave:         .res    zpspace
 
index 59879978eb099e5c7add12f60a32945ce5ad93e3..42e2ba029fd4768f3ba7307078e91d0bea32c347 100644 (file)
@@ -32,10 +32,10 @@ MAXARGS  = 10                   ; Maximum number of arguments allowed
 REM      = $8f                  ; BASIC token-code
 NAME_LEN = 16                   ; Maximum length of command-name
 
-; Get possible command-line arguments. Goes into the special INIT segment,
+; Get possible command-line arguments. Goes into the special ONCE segment,
 ; which may be reused after the startup code is run
 
-.segment        "INIT"
+.segment        "ONCE"
 
 initmainargs:
 
@@ -125,7 +125,7 @@ done:   lda     #<argv
         stx     __argv + 1
         rts
 
-.segment        "INITBSS"
+.segment        "INIT"
 
 term:   .res    1
 name:   .res    NAME_LEN + 1
index c04f718084d0342529a7436cefeb936aabe7f596..a99b713f5dc79b3a1d029d6c7b7dc5fd1beb2bcb 100644 (file)
@@ -23,7 +23,7 @@
 ; --------------------------------------------------------------------------
 ; Initialize library modules
 
-.segment        "INIT"
+.segment        "ONCE"
 
 .proc   initlib
 
index 6186fe4e22c4f5eff1c0b0dab9c1fac86ad25f8c..ceab4c7034aa59d852c4990d52635bf0304334a6 100644 (file)
@@ -28,7 +28,7 @@
 ; Initialization code. This is a constructor, so it is called on startup if
 ; the linker has detected references to this module.
 
-.segment        "INIT"
+.segment        "ONCE"
 
 .proc   initstkchk
 
@@ -101,7 +101,7 @@ Fail:   lda     #4
 ; ----------------------------------------------------------------------------
 ; Data
 
-.segment        "INITBSS"
+.segment        "INIT"
 
 ; Initial stack pointer value. Stack is reset to this in case of overflows to
 ; allow program exit processing.
index 1daa23ace69b429b3fa0572ed28dc7b9e649df9e..a3c8dee6ddd81a2d8cf991dc4ef38d53f8d9c2b4 100644 (file)
@@ -5,7 +5,7 @@
         .constructor    initmainargs, 24
         .import         __argc, __argv, args
 
-        .segment        "INIT"
+        .segment        "ONCE"
 
 initmainargs:
         lda     #<__argv
index 6a0f94a03020756905b39b341f1640b4f7779969..7239711686ba0cdd8e05fe87a437b203ef3084f0 100644 (file)
@@ -86,7 +86,7 @@ L2:     lda     zpsave,x
 
 ; ------------------------------------------------------------------------
 
-.segment        "INITBSS"
+.segment        "INIT"
 
 zpsave: .res    zpspace
 
index ca47347f8da98465249412b3dbdd8b727b109809..4c7c832accc487e7353002ed210d7439b2a8b55f 100644 (file)
@@ -9,7 +9,7 @@
 
 ; ------------------------------------------------------------------------
 
-.segment        "INIT"
+.segment        "ONCE"
 
 initirq:
         lda     IRQVec
index a41a1c4958ab1d58b0875e48d4c50acd3dd4a318..b24745c084bacccad6aa0261c4a961095980fa11 100644 (file)
@@ -32,10 +32,10 @@ MAXARGS  = 10                   ; Maximum number of arguments allowed
 REM      = $8f                  ; BASIC token-code
 NAME_LEN = 16                   ; Maximum length of command-name
 
-; Get possible command-line arguments. Goes into the special INIT segment,
+; Get possible command-line arguments. Goes into the special ONCE segment,
 ; which may be reused after the startup code is run
 
-.segment        "INIT"
+.segment        "ONCE"
 
 initmainargs:
 
@@ -125,7 +125,7 @@ done:   lda     #<argv
         stx     __argv + 1
         rts
 
-.segment        "INITBSS"
+.segment        "INIT"
 
 term:   .res    1
 name:   .res    NAME_LEN + 1