]> git.sur5r.net Git - cc65/blobdiff - libsrc/plus4/crt0.s
Replaced $30 by literal '0' for better readability.
[cc65] / libsrc / plus4 / crt0.s
index a7dda7dd4d7676c3683b2d38f9aef0e5d881c269..f9e79db78675c3fafb46c04d27f9decc7e13038c 100644 (file)
@@ -1,11 +1,10 @@
 ;
 ; Startup code for cc65 (Plus/4 version)
-;
-; This must be the *first* file on the linker command line
 ;
 
        .export         _exit
         .export         brk_jmp
+        .export         __STARTUP__ : absolute = 1      ; Mark as startup
 
        .import         callirq_y, initlib, donelib
        .import         callmain, zerobss
 IRQInd                 = $500  ; JMP $0000 - used as indirect IRQ vector
 
 ; ------------------------------------------------------------------------
-; Place the startup code in a special segment to cope with the quirks of
-; plus/4 banking.
+; BASIC header with a SYS call
 
-.segment               "STARTUP"
+.segment               "EXEHDR"
 
         .word   Head            ; Load address
 Head:   .word   @Next
         .word   .version        ; Line number
-        .byte   $9E,"4109"     ; SYS 4109
+        .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
 
 ; ------------------------------------------------------------------------
-; Actual code
+; Startup code
+
+.segment               "STARTUP"
+
+Start:
+
+; Save the zero page locations we need
 
         sei                     ; No interrupts since we're banking out the ROM
         sta     ENABLE_RAM
                ldx     #zpspace-1
 L1:    lda     sp,x
-       sta     zpsave,x        ; save the zero page locations we need
+       sta     zpsave,x
        dex
                bpl     L1
         sta     ENABLE_ROM
         cli
 
-; Close open files
-
-       jsr     $FFCC           ; CLRCH
-
 ; Switch to second charset
 
        lda     #14