]> cloudbase.mooo.com Git - z180-stamp-cpm3.git/blobdiff - cbios/move.180
AVRCON --> USB0
[z180-stamp-cpm3.git] / cbios / move.180
index 1e46c825ee1edeb3e45ef2c980d1b539b7bd2461..aac18403c41a6414f24efdb47d350cb3ad35da98 100644 (file)
@@ -49,16 +49,13 @@ inter_bank_move:            ; source in HL, dest in DE, count in BC
 
     if 1                       ; works with new memory map
 
-       push    bc
-       push    de
-       push    hl
-
        out0    (bcr0l),c       ; setup DMA count
        out0    (bcr0h),b
 
+       push    hl
+       push    de
        ld      a,(src$bnk)
        call    bnk2phy
-
        out0    (sar0l),l       ; setup DMA src address
        out0    (sar0h),h
        out0    (sar0b),a
@@ -66,7 +63,6 @@ inter_bank_move:              ; source in HL, dest in DE, count in BC
        ex      de,hl
        ld      a,(dst$bnk)
        call    bnk2phy
-
        out0    (dar0l),l       ; setup DMA dst address
        out0    (dar0h),h
        out0    (dar0b),a
@@ -76,10 +72,8 @@ inter_bank_move:             ; source in HL, dest in DE, count in BC
        ld      a,M_DE0+M_NDWE1 ; enable DMA0
        out0    (dstat),a       ; move the block
 
-       pop     hl
        pop     de
-       pop     bc
-
+       pop     hl
        add     hl,bc           ; src must point past end block
        ex      de,hl
        add     hl,bc           ; and so must dst