]> git.sur5r.net Git - cc65/blobdiff - libsrc/nes/crt0.s
atari5200: fix COLOR defines' names
[cc65] / libsrc / nes / crt0.s
index de874d36306034f19e53b1915409b6bbb3ab83ab..19e97bb12835577052268a6f4563935036307431 100644 (file)
@@ -1,5 +1,5 @@
 ;
-; Startup code for cc65 (NES version)
+; Start-up code for cc65 (NES version)
 ;
 ; by Groepaz/Hitmen <groepaz@gmx.net>
 ; based on code by Ullrich von Bassewitz <uz@cc65.org>
@@ -7,11 +7,12 @@
 
         .export         _exit
         .export         __STARTUP__ : absolute = 1      ; Mark as startup
+
         .import         initlib, donelib, callmain
         .import         push0, _main, zerobss, copydata
         .import         ppubuf_flush
 
-        ; Linker generated symbols
+        ; Linker-generated symbols
         .import         __RAM_START__, __RAM_SIZE__
         .import         __SRAM_START__, __SRAM_SIZE__
         .import         __ROM0_START__, __ROM0_SIZE__
         .import         __CODE_LOAD__,__CODE_RUN__, __CODE_SIZE__
         .import         __RODATA_LOAD__,__RODATA_RUN__, __RODATA_SIZE__
 
+; ------------------------------------------------------------------------
+; Character data
+; ------------------------------------------------------------------------
+        .forceimport    NESfont
+
         .include        "zeropage.inc"
         .include        "nes.inc"
 
 
 ; ------------------------------------------------------------------------
-; 16 bytes INES header
+; 16-byte INES header
 
 .segment        "HEADER"
 
@@ -100,9 +106,9 @@ start:
 ; Set up the stack.
 
         lda     #<(__SRAM_START__ + __SRAM_SIZE__)
+        ldx     #>(__SRAM_START__ + __SRAM_SIZE__)
         sta     sp
-        lda     #>(__SRAM_START__ + __SRAM_SIZE__)
-        sta     sp+1            ; Set argument stack ptr
+        stx     sp+1            ; Set argument stack ptr
 
 ; Call the module constructors.
 
@@ -159,31 +165,16 @@ nmi:    pha
 
 ; Interrupt exit
 
-irq2:
-irq1:
-timerirq:
 irq:
         rti
 
+
 ; ------------------------------------------------------------------------
-; hardware vectors
+; Hardware vectors
 ; ------------------------------------------------------------------------
 
 .segment "VECTORS"
 
-        .word   irq2        ; $fff4 ?
-        .word   irq1        ; $fff6 ?
-        .word   timerirq    ; $fff8 ?
         .word   nmi         ; $fffa vblank nmi
         .word   start       ; $fffc reset
         .word   irq         ; $fffe irq / brk
-
-; ------------------------------------------------------------------------
-; character data
-; ------------------------------------------------------------------------
-
-.segment "CHARS"
-
-        .include        "neschar.inc"
-
-