]> git.sur5r.net Git - cc65/commitdiff
Changed the startup module and the linker config for the Commodore PET to use
authoruz <uz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Wed, 17 Nov 2010 13:27:43 +0000 (13:27 +0000)
committeruz <uz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Wed, 17 Nov 2010 13:27:43 +0000 (13:27 +0000)
the common loadaddr and exehdr modules.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4873 b7a2c559-68d2-44c3-8de9-860c34a00d81

libsrc/pet/crt0.s
src/ld65/cfg/pet.cfg

index bc9799f7786f5faf1430a216f936fe999fdec8c7..564e9ce77a32ba3795acace76cfc0e39a045f01d 100644 (file)
        .include        "pet.inc"
        .include        "../cbm/cbm.inc"
 
-; ------------------------------------------------------------------------
-; BASIC header with a SYS call
-
-.segment               "EXEHDR"
-
-        .word   Head            ; Load address
-Head:   .word   @Next
-        .word   .version        ; Line number
-        .byte   $9E             ; SYS token
-        .byte   <(((Start / 1000) .mod 10) + '0')
-        .byte   <(((Start /  100) .mod 10) + '0')
-        .byte   <(((Start /   10) .mod 10) + '0')
-        .byte   <(((Start /    1) .mod 10) + '0')
-        .byte   $00             ; End of BASIC line
-@Next:  .word   0               ; BASIC end marker
-
 ; ------------------------------------------------------------------------
 ; Startup code
 
index 05528365388c3206dc0753c17a41163ddf3e7f1a..c77fe6f6b6d56186a86fe44bdf624c49d295bb08 100644 (file)
@@ -1,22 +1,26 @@
 SYMBOLS {
+    __LOADADDR__:  type = import;
+    __EXEHDR__:    type = import;
     __STACKSIZE__: type = weak, value = $0800; # 2k stack
 }
 MEMORY {
-    ZP:     file = "", define = yes, start = $0055, size = $001A;
-    HEADER: file = %O,               start = $03FF, size = $000E;
-    RAM:    file = %O,               start = $040D, size = $7BF3 - __STACKSIZE__;
+    ZP:       file = "", define = yes, start = $0055, size = $001A;
+    LOADADDR: file = %O,               start = $03FF, size = $0002;
+    HEADER:   file = %O,               start = $0401, size = $000C;
+    RAM:      file = %O,               start = $040D, size = $7BF3 - __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;
-    ZPSAVE:   load = RAM,    type = bss;
-    BSS:      load = RAM,    type = bss, define = yes;
-    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;
+    CODE:     load = RAM,      type = ro;
+    RODATA:   load = RAM,      type = ro;
+    DATA:     load = RAM,      type = rw;
+    ZPSAVE:   load = RAM,      type = bss;
+    BSS:      load = RAM,      type = bss, define = yes;
+    ZEROPAGE: load = ZP,       type = zp;
 }
 FEATURES {
     CONDES: segment = INIT,