From 928a64147c699be104aa7d2a59a79105b2187d25 Mon Sep 17 00:00:00 2001 From: Wayne Warthen Date: Fri, 3 Jun 2016 17:56:22 -0700 Subject: [PATCH] Bug Fixes --- Source/HBIOS/ide.asm | 6 ++++-- Source/HBIOS/ppide.asm | 7 ++++--- Source/HBIOS/sd.asm | 6 ++++-- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/Source/HBIOS/ide.asm b/Source/HBIOS/ide.asm index 5c32f784..a362054b 100644 --- a/Source/HBIOS/ide.asm +++ b/Source/HBIOS/ide.asm @@ -457,11 +457,13 @@ IDE_SEEK: ; ; IDE_CAP: + IDE_DPTR(IDE_STAT) ; POINT TO UNIT STATUS + LD A,(HL) ; GET STATUS + PUSH AF ; SAVE IT IDE_DPTR(IDE_CAPACITY) ; POINT HL TO CAPACITY OF CUR UNIT CALL LD32 ; GET THE CURRENT CAPACITY DO DE:HL LD BC,512 ; 512 BYTES PER BLOCK - IDE_DPTR(IDE_STAT) ; POINT TO UNIT STATUS - LD A,(HL) ; GET STATUS + POP AF ; RECOVER STATUS OR A ; SET FLAGS RET ; diff --git a/Source/HBIOS/ppide.asm b/Source/HBIOS/ppide.asm index 1109b511..6e578184 100644 --- a/Source/HBIOS/ppide.asm +++ b/Source/HBIOS/ppide.asm @@ -489,12 +489,13 @@ PPIDE_SEEK: ; ; PPIDE_CAP: + PPIDE_DPTR(PPIDE_STAT) ; POINT TO UNIT STATUS + LD A,(HL) ; GET STATUS + PUSH AF ; SAVE IT PPIDE_DPTR(PPIDE_CAPACITY) ; POINT HL TO CAPACITY OF CUR UNIT CALL LD32 ; GET THE CURRENT CAPACITY DO DE:HL LD BC,512 ; 512 BYTES PER BLOCK - XOR A ; SIGNAL SUCCESS - PPIDE_DPTR(PPIDE_STAT) ; POINT TO UNIT STATUS - LD A,(HL) ; GET STATUS + POP AF ; RECOVER STATUS OR A ; SET FLAGS RET ; diff --git a/Source/HBIOS/sd.asm b/Source/HBIOS/sd.asm index d604a74e..03ec6a00 100644 --- a/Source/HBIOS/sd.asm +++ b/Source/HBIOS/sd.asm @@ -568,11 +568,13 @@ SD_SEEK: ; ; SD_CAP: + SD_DPTR(SD_STAT) ; POINT TO UNIT STATUS + LD A,(HL) ; GET STATUS + PUSH AF ; SAVE IT SD_DPTR(SD_CAPACITY) ; POINT HL TO CAPACITY OF CUR UNIT CALL LD32 ; GET THE CURRENT CAPACITY DO DE:HL LD BC,512 ; 512 BYTES PER BLOCK - SD_DPTR(SD_STAT) ; POINT TO UNIT STATUS - LD A,(HL) ; GET STATUS + POP AF ; RECOVER STATUS OR A ; SET FLAGS RET ;