From 0c22fe031e4453bdb26b54c69ccd6a6afda4af1f Mon Sep 17 00:00:00 2001 From: Anatoliy Belyanskiy Date: Thu, 3 Aug 2023 03:09:28 +1000 Subject: [PATCH] ... --- Shared_Includes | 2 +- src/bios/exp/EXTENDED/CD_DRIVER_0.asm | 31 ++++++++++++++++++--------- 2 files changed, 22 insertions(+), 11 deletions(-) diff --git a/Shared_Includes b/Shared_Includes index 1b0d378..b325c32 160000 --- a/Shared_Includes +++ b/Shared_Includes @@ -1 +1 @@ -Subproject commit 1b0d3781b011955f7e2ffc428109dfa0db63d09e +Subproject commit b325c3281f76e83037cb0019450ae6e36689db65 diff --git a/src/bios/exp/EXTENDED/CD_DRIVER_0.asm b/src/bios/exp/EXTENDED/CD_DRIVER_0.asm index a485a9a..06b4496 100644 --- a/src/bios/exp/EXTENDED/CD_DRIVER_0.asm +++ b/src/bios/exp/EXTENDED/CD_DRIVER_0.asm @@ -6,10 +6,11 @@ ;--------------------------------------------------------------- ;======================================================== SIZESEC EQU #0800 -PKTSIZE EQU 12 -RAM_ATAPI_PK EQU #FEE0 -RAM_ATAPI_READ EQU #FEF0 +PKTSIZE EQU 13 +RAM_ATAPI_PK EQU SYS_PAGE.SHARED_BUFFER_32b +RAM_ATAPI_READ EQU SYS_PAGE.SHARED_BUFFER_32b+16 + ASSERT ((PKTSIZE % 2) = 0), "PKTSIZE must be an even number" ;[]===========================================================[] CD_5x.RESET: LD B,50 @@ -91,10 +92,17 @@ CD_READ: LD BC,PKTSIZE LDIR EXX - LD A,H - LD (RAM_ATAPI_READ+SECREAD+0),A ;R01 - LD A,L - LD (RAM_ATAPI_READ+SECREAD+1),A ;R01 + + ;!TEST + ;LD A,H + ;LD (RAM_ATAPI_READ+SECREAD+0),A ;R01 + ;LD A,L + ;LD (RAM_ATAPI_READ+SECREAD+1),A ;R01 + LD A,H + LD H,L + LD L,A + LD (RAM_ATAPI_READ+SECREAD+0),HL + ; LD A,XH LD (RAM_ATAPI_READ+SECREAD+2),A ;R01 LD A,XL @@ -200,17 +208,20 @@ AP_COM: AND #01 OUT (SLOT3),A LD HL,RAM_ATAPI_PK LD BC,IDE.Write.Data - LD A,PKTSIZE - SRL A + LD A,PKTSIZE/2 + ;SRL A .OUTPKT: OUTI OUTI DEC A JR NZ,.OUTPKT + POP BC OUT (C),B + LD B,#80 - DJNZ $ +.pause2: DJNZ .pause2 + .AP_LOOP: EXX LD DE,#8000