From 0bdecc9a4af20ff7760f732f250a5498d2e585e9 Mon Sep 17 00:00:00 2001 From: Wayne Warthen Date: Fri, 6 Sep 2019 15:47:46 -0700 Subject: [PATCH] Floppy Fix Floppy I/O was failing for slower CPUs when the timer interrupts were active. Now fixed. Credit to Jorge Jorge Rodrigues for finding this problem and pointing me in the right direction for the fix. --- Doc/ChangeLog.txt | 1 + ReadMe.txt | 2 +- Source/CBIOS/ver.inc | 2 +- Source/HBIOS/fd.asm | 3 +-- Source/HBIOS/hbios.asm | 4 ++-- Source/HBIOS/ver.inc | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Doc/ChangeLog.txt b/Doc/ChangeLog.txt index 4dd2c133..8416c3c4 100644 --- a/Doc/ChangeLog.txt +++ b/Doc/ChangeLog.txt @@ -16,6 +16,7 @@ Version 2.9.2 - PMS: Added DS1210 low battery detection/message - PMS: Added note playing ability to SPK driver - WBW: Support disk I/O to any memory bank +- WBW: Fix floppy I/O error on slow CPUs w/ ints active (credit Jorge Rodrigues) Version 2.9.1 ------------- diff --git a/ReadMe.txt b/ReadMe.txt index fd854991..3434779e 100644 --- a/ReadMe.txt +++ b/ReadMe.txt @@ -7,7 +7,7 @@ *********************************************************************** Wayne Warthen (wwarthen@gmail.com) -Version 2.9.2-pre.8, 2019-09-03 +Version 2.9.2-pre.9, 2019-09-06 https://www.retrobrewcomputers.org/ RomWBW is a ROM-based implementation of CP/M-80 2.2 and Z-System for diff --git a/Source/CBIOS/ver.inc b/Source/CBIOS/ver.inc index 640bf76e..6cbfc90e 100644 --- a/Source/CBIOS/ver.inc +++ b/Source/CBIOS/ver.inc @@ -2,4 +2,4 @@ #DEFINE RMN 9 #DEFINE RUP 2 #DEFINE RTP 0 -#DEFINE BIOSVER "2.9.2-pre.8" +#DEFINE BIOSVER "2.9.2-pre.9" diff --git a/Source/HBIOS/fd.asm b/Source/HBIOS/fd.asm index 57416c6e..95665cf1 100644 --- a/Source/HBIOS/fd.asm +++ b/Source/HBIOS/fd.asm @@ -1570,9 +1570,8 @@ FXR_ABORT: ; EXECUTION ABORTED JR FOP_RES ; GET RSEULTS, NO NEED TO PULSE TC ; FXR_END: ; EXECUTION COMPLETED NORMALLY - HB_EI ; INTERRUPTS OK AGAIN -FXR_END2: CALL FC_PULSETC ; PULSE TC TO END EXECUTION + HB_EI ; INTERRUPTS OK AGAIN JR FOP_RES ; GET RSEULTS ; ; RESULTS PHASE diff --git a/Source/HBIOS/hbios.asm b/Source/HBIOS/hbios.asm index 15ba1681..f4077117 100644 --- a/Source/HBIOS/hbios.asm +++ b/Source/HBIOS/hbios.asm @@ -1860,7 +1860,7 @@ DIO_TBL .FILL DIO_SIZ,0 ; SPACE FOR ENTRIES ; HB_DSKREAD: ; -#IF 0 +#IF 1 ; CHECK TO SEE IF INTER-BANK I/O NEEDED. IF NOT ; WE JUST ABORT BACK TO DISK DRIVER TO HANDLE. BIT 7,H ; TGT BUF IN UPPER 32K? @@ -1940,7 +1940,7 @@ HB_DSKREADX: ; HB_DSKWRITE: ; -#IF 0 +#IF 1 ; CHECK TO SEE IF INTER-BANK I/O NEEDED. IF NOT ; WE JUST ABORT BACK TO DISK DRIVER TO HANDLE. BIT 7,H ; TGT BUF IN UPPER 32K? diff --git a/Source/HBIOS/ver.inc b/Source/HBIOS/ver.inc index 640bf76e..6cbfc90e 100644 --- a/Source/HBIOS/ver.inc +++ b/Source/HBIOS/ver.inc @@ -2,4 +2,4 @@ #DEFINE RMN 9 #DEFINE RUP 2 #DEFINE RTP 0 -#DEFINE BIOSVER "2.9.2-pre.8" +#DEFINE BIOSVER "2.9.2-pre.9"