From bf9361b26b0f20e6c5a436f8b38ee7ab060d76f5 Mon Sep 17 00:00:00 2001 From: b1ackmai1er Date: Fri, 22 Oct 2021 21:45:14 +0800 Subject: [PATCH] Revert --- Source/HBIOS/dma.asm | 3 --- Source/HBIOS/md.asm | 4 ++-- Source/HBIOS/rf.asm | 4 ++-- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/Source/HBIOS/dma.asm b/Source/HBIOS/dma.asm index 52e0bed8..a7eaf7d6 100644 --- a/Source/HBIOS/dma.asm +++ b/Source/HBIOS/dma.asm @@ -165,7 +165,6 @@ DMACode_Len .equ $-DMACode DMALDIR: ld (DMASource),hl ; populate the dma ld (DMADest),de ; register template - dec bc ld (DMALength),bc ; ld hl,DMACopy ; program the @@ -212,7 +211,6 @@ DMACopy_Len .equ $-DMACopy DMAOTIR: ld (DMAOutSource),hl ; populate the dma ld (DMAOutDest),a ; register template - dec bc ld (DMAOutLength),bc ; ld hl,DMAOutCode ; program the @@ -264,7 +262,6 @@ DMAOut_Len .equ $-DMAOutCode DMAINIR: ld (DMAInDest),hl ; populate the dma ld (DMAInSource),a ; register template - dec bc ld (DMAInLength),bc ; ld hl,DMAInCode ; program the diff --git a/Source/HBIOS/md.asm b/Source/HBIOS/md.asm index 6a92d206..10e08d07 100644 --- a/Source/HBIOS/md.asm +++ b/Source/HBIOS/md.asm @@ -382,7 +382,7 @@ MD_SECM: OR A JR NZ,MD_NODMA #ENDIF - LD BC,512 ; COPY ONE 512B SECTOR FROM THE + LD BC,512-1 ; COPY ONE 512B SECTOR FROM THE JP DMALDIR ; 4K SECTOR TO THE DISK BUFFER #ENDIF MD_NODMA: @@ -516,7 +516,7 @@ MD_SECM1: ; DESIRED SECTOR IS IN BUFFER OR A JR NZ,MD_NODMA1 #ENDIF - LD BC,512 ; COPY ONE 512B SECTOR FROM THE + LD BC,512-1 ; COPY ONE 512B SECTOR FROM THE CALL DMALDIR ; THE DISK BUFFER TO 4K SECTOR RET NZ ; EXIT IF DMA COPY ERROR JR MD_NODMAERR diff --git a/Source/HBIOS/rf.asm b/Source/HBIOS/rf.asm index caf54546..47d78238 100644 --- a/Source/HBIOS/rf.asm +++ b/Source/HBIOS/rf.asm @@ -273,7 +273,7 @@ RF_RDSEC: LD HL,(RF_DSKBUF) ; HL := DISK BUFFER ADDRESS LD A,(RF_IO) ; GET IO PORT BASE #IF (DMAENABLE & (DMAMODE=DMAMODE_ECB)) - LD BC,512 ; READ 512 BYTES + LD BC,512-1 ; READ 512 BYTES CALL DMAINIR ; USING DMA #ELSE OR RF_DAT ; OFFSET TO DAT PORT @@ -293,7 +293,7 @@ RF_WRSEC: LD A,(RF_IO) ; GET IO PORT BASE OR RF_DAT ; OFFSET TO DAT PORT #IF (DMAENABLE & (DMAMODE=DMAMODE_ECB)) - LD BC,512 ; WRITE 512 BYTES + LD BC,512-1 ; WRITE 512 BYTES CALL DMAOTIR ; USING DMA #ELSE LD C,A ; PUT IN C FOR PORT IO