]> git.sur5r.net Git - cc65/commitdiff
use copydata instead of own routine
authorChristian Groessler <chris@groessler.org>
Thu, 16 Jan 2014 22:53:53 +0000 (23:53 +0100)
committerChristian Groessler <chris@groessler.org>
Thu, 16 Jan 2014 22:56:32 +0000 (23:56 +0100)
libsrc/atari/cartstart.s

index 47c1d89b7e21d7d0bf29efe2efc5ad338b17a91f..ce403b5fb03cd743daad67ee1862beea410e70b1 100644 (file)
@@ -6,8 +6,7 @@
 
 .export         cartstart
 
-.import         start
-.import         __DATA_LOAD__, __DATA_SIZE__, __DATA_RUN__
+.import         start, copydata
 .importzp       ptr1, ptr2, tmp1, tmp2
 
 .include        "atari.inc"
 ; start routine of cartridge
 ; copy data segment to RAM and chain to entry point of crt0.s
 
-cartstart:      lda     #<__DATA_LOAD__
-                sta     ptr1
-                lda     #>__DATA_LOAD__
-                sta     ptr1+1
-                lda     #<__DATA_RUN__
-                sta     ptr2
-                lda     #>__DATA_RUN__
-                sta     ptr2+1
-                lda     #>__DATA_SIZE__
-                sta     tmp2
-                lda     #<__DATA_SIZE__
-                sta     tmp1
-                jsr     memcopy
+cartstart:      jsr     copydata
                 jsr     start                   ; run program
                 jmp     (DOSVEC)                ; return to DOS
 
-
-; routine taken from http://www.obelisk.demon.co.uk/6502/algorithms.html
-;
-; copy memory
-; ptr1      - source
-; ptr2      - destination
-; tmp2:tmp1 - len
-
-.proc   memcopy
-
-                ldy     #0
-                ldx     tmp2
-                beq     last
-pagecp:         lda     (ptr1),y
-                sta     (ptr2),y
-                iny
-                bne     pagecp
-                inc     ptr1+1
-                inc     ptr2+1
-                dex
-                bne     pagecp
-last:           cpy     tmp1
-                beq     done
-                lda     (ptr1),y
-                sta     (ptr2),y
-                iny
-                bne     last
-done:           rts
-
-.endproc
-
 .endif  ; .ifndef __ATARIXL__