]> git.sur5r.net Git - cc65/blobdiff - libsrc/atari/system_check.s
more atarixl linker cfg file cleanups; adapt atarixl-overlay.cfg
[cc65] / libsrc / atari / system_check.s
index ee74809220ce2b5749517fac0fed9178f7642e5c..b1d80b0c2885acdd507be78414da6808decfe5fd 100644 (file)
@@ -17,7 +17,7 @@ DEBUG =       1
 
        .export         syschk
         .import         __SYSCHK_LOAD__
-        .import         __SAVEAREA_LOAD__
+        .import         __STARTADDRESS__       ; needed by xlmemchk.inc
 
         .include        "zeropage.inc"
         .include        "atari.inc"
@@ -64,24 +64,25 @@ cont:       ldx     #0              ; channel 0
 .segment        "SYSCHKHDR"
 
         .word   __SYSCHK_LOAD__
-        .word   trailer - 1
+        .word   end - 1
 
 ; ------------------------------------------------------------------------
 ; Actual code
 
 .segment        "SYSCHK"
 
+; no XL machine
+no_xl: print_string "This program needs an XL machine."
+       jmp     fail
+
+; entry point
 syschk:
        lda     $fcd8           ; from ostype.s
         cmp     #$a2
-        bne     is_xl
-
-; no XL machine
-       print_string "This program needs an XL machine."
-       jmp     fail
+        beq     no_xl
 
 ; we have an XL machine, now check memory
-is_xl: lda     RAMSIZ
+       lda     RAMSIZ
        cmp     #$80
        bcs     sys_ok
 
@@ -142,12 +143,15 @@ loop:     dey
 
 .endproc
 
+end:
+
 ; ------------------------------------------------------------------------
 ; Chunk "trailer" - sets INITAD
 
-trailer:
+.segment        "SYSCHKTRL"
+
         .word   INITAD
         .word   INITAD+1
-        .word   __SYSCHK_LOAD__
+        .word   syschk
 
 .endif ; .if .defined(__ATARIXL__)