X-Git-Url: http://cloudbase.mooo.com/gitweb/z180-stamp-cpm3.git/blobdiff_plain/3735c546703c5f57dadd74318bcf9e727388be5a..04d6fc24a26ac00992b73417c3367414c34df70d:/cbios/move.180 diff --git a/cbios/move.180 b/cbios/move.180 index 1e46c82..aac1840 100644 --- a/cbios/move.180 +++ b/cbios/move.180 @@ -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