Browse Source

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.
pull/48/head
Wayne Warthen 6 years ago
parent
commit
0bdecc9a4a
  1. 1
      Doc/ChangeLog.txt
  2. 2
      ReadMe.txt
  3. 2
      Source/CBIOS/ver.inc
  4. 3
      Source/HBIOS/fd.asm
  5. 4
      Source/HBIOS/hbios.asm
  6. 2
      Source/HBIOS/ver.inc

1
Doc/ChangeLog.txt

@ -16,6 +16,7 @@ Version 2.9.2
- PMS: Added DS1210 low battery detection/message - PMS: Added DS1210 low battery detection/message
- PMS: Added note playing ability to SPK driver - PMS: Added note playing ability to SPK driver
- WBW: Support disk I/O to any memory bank - 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 Version 2.9.1
------------- -------------

2
ReadMe.txt

@ -7,7 +7,7 @@
*********************************************************************** ***********************************************************************
Wayne Warthen (wwarthen@gmail.com) 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/ https://www.retrobrewcomputers.org/
RomWBW is a ROM-based implementation of CP/M-80 2.2 and Z-System for RomWBW is a ROM-based implementation of CP/M-80 2.2 and Z-System for

2
Source/CBIOS/ver.inc

@ -2,4 +2,4 @@
#DEFINE RMN 9 #DEFINE RMN 9
#DEFINE RUP 2 #DEFINE RUP 2
#DEFINE RTP 0 #DEFINE RTP 0
#DEFINE BIOSVER "2.9.2-pre.8"
#DEFINE BIOSVER "2.9.2-pre.9"

3
Source/HBIOS/fd.asm

@ -1570,9 +1570,8 @@ FXR_ABORT: ; EXECUTION ABORTED
JR FOP_RES ; GET RSEULTS, NO NEED TO PULSE TC JR FOP_RES ; GET RSEULTS, NO NEED TO PULSE TC
; ;
FXR_END: ; EXECUTION COMPLETED NORMALLY FXR_END: ; EXECUTION COMPLETED NORMALLY
HB_EI ; INTERRUPTS OK AGAIN
FXR_END2:
CALL FC_PULSETC ; PULSE TC TO END EXECUTION CALL FC_PULSETC ; PULSE TC TO END EXECUTION
HB_EI ; INTERRUPTS OK AGAIN
JR FOP_RES ; GET RSEULTS JR FOP_RES ; GET RSEULTS
; ;
; RESULTS PHASE ; RESULTS PHASE

4
Source/HBIOS/hbios.asm

@ -1860,7 +1860,7 @@ DIO_TBL .FILL DIO_SIZ,0 ; SPACE FOR ENTRIES
; ;
HB_DSKREAD: HB_DSKREAD:
; ;
#IF 0
#IF 1
; CHECK TO SEE IF INTER-BANK I/O NEEDED. IF NOT ; CHECK TO SEE IF INTER-BANK I/O NEEDED. IF NOT
; WE JUST ABORT BACK TO DISK DRIVER TO HANDLE. ; WE JUST ABORT BACK TO DISK DRIVER TO HANDLE.
BIT 7,H ; TGT BUF IN UPPER 32K? BIT 7,H ; TGT BUF IN UPPER 32K?
@ -1940,7 +1940,7 @@ HB_DSKREADX:
; ;
HB_DSKWRITE: HB_DSKWRITE:
; ;
#IF 0
#IF 1
; CHECK TO SEE IF INTER-BANK I/O NEEDED. IF NOT ; CHECK TO SEE IF INTER-BANK I/O NEEDED. IF NOT
; WE JUST ABORT BACK TO DISK DRIVER TO HANDLE. ; WE JUST ABORT BACK TO DISK DRIVER TO HANDLE.
BIT 7,H ; TGT BUF IN UPPER 32K? BIT 7,H ; TGT BUF IN UPPER 32K?

2
Source/HBIOS/ver.inc

@ -2,4 +2,4 @@
#DEFINE RMN 9 #DEFINE RMN 9
#DEFINE RUP 2 #DEFINE RUP 2
#DEFINE RTP 0 #DEFINE RTP 0
#DEFINE BIOSVER "2.9.2-pre.8"
#DEFINE BIOSVER "2.9.2-pre.9"

Loading…
Cancel
Save