]> git.sur5r.net Git - cc65/blobdiff - libsrc/c128/c128-vdc.s
poor man's _toascii routine, contributed by Fatih Aygun
[cc65] / libsrc / c128 / c128-vdc.s
index 3e324e5d9891883c858b6adb41051f3fa465fd1b..d2b6b9d8b31423e3a4d9d335f7c090d2aedbb245 100644 (file)
@@ -21,7 +21,7 @@
 ; Driver signature
 
         .byte   $65, $6d, $64           ; "emd"
-        .byte   $00                     ; EM API version number
+        .byte   EMD_API_VERSION                ; EM API version number
 
 ; Jump table.
 
@@ -255,7 +255,7 @@ COPYFROM:
        jsr     setup
        beq     @L2                     ; Skip if no full pages
 
-; Copy full pages 
+; Copy full pages
 
 @L1:    jsr     transferin
         inc     ptr1+1
@@ -265,7 +265,7 @@ COPYFROM:
 
 ; Copy the remainder of the page
 
-@L2:    ldy     #EM_COPY_COUNT
+@L2:    ldy     #EM_COPY::COUNT
         lda     (ptr3),y                ; Get bytes in last page
         beq     @L4
         sta    tmp1
@@ -273,11 +273,7 @@ COPYFROM:
 ; Transfer the bytes in the last page
 
        ldy     #0
-       ldx     #VDC_DATA
-       stx     VDC_ADDR_REG
-@L3:   bit     VDC_ADDR_REG
-       bpl     @L3
-       lda     VDC_DATA_REG
+@L3:   jsr     vdcgetbyte
        sta     (ptr2),y
        iny
        dec     tmp1
@@ -295,7 +291,7 @@ COPYTO:
        jsr     setup
        beq     @L2                     ; Skip if no full pages
 
-; Copy full pages 
+; Copy full pages
 
 @L1:    jsr     transferout
         inc     ptr1+1
@@ -305,7 +301,7 @@ COPYTO:
 
 ; Copy the remainder of the page
 
-@L2:    ldy     #EM_COPY_COUNT
+@L2:    ldy     #EM_COPY::COUNT
         lda     (ptr3),y                ; Get bytes in last page
         beq     @L4
         sta    tmp1
@@ -313,12 +309,8 @@ COPYTO:
 ; Transfer the bytes in the last page
 
        ldy     #0
-       ldx     #VDC_DATA
-       stx     VDC_ADDR_REG
-@L3:   bit     VDC_ADDR_REG
-       bpl     @L3
-       lda     (ptr2),y
-       sta     VDC_DATA_REG
+@L3:   lda     (ptr2),y
+       jsr     vdcputbyte
        iny
        dec     tmp1
        lda     tmp1
@@ -368,21 +360,21 @@ setup:
        sta     ptr3
         stx     ptr3+1                  ; Save the passed em_copy pointer
 
-        ldy     #EM_COPY_OFFS
+        ldy     #EM_COPY::OFFS
         lda     (ptr3),y
         sta     ptr1
-        ldy     #EM_COPY_PAGE
+        ldy     #EM_COPY::PAGE
         lda     (ptr3),y
         sta     ptr1+1                  ; From
 
-        ldy     #EM_COPY_BUF
+        ldy     #EM_COPY::BUF
         lda     (ptr3),y
         sta     ptr2
         iny
         lda     (ptr3),y
         sta     ptr2+1                  ; To
 
-       ldy     #EM_COPY_COUNT+1
+       ldy     #EM_COPY::COUNT+1
         lda     (ptr3),y                ; Get number of pages
         sta     tmp1
        rts