Browse Source

More ESPSD Driver Tweaks

pull/614/head
Wayne Warthen 5 months ago
parent
commit
a51a581d97
No known key found for this signature in database GPG Key ID: 8B34ED29C07EEB0A
  1. 39
      Source/HBIOS/espsd.asm

39
Source/HBIOS/espsd.asm

@ -712,8 +712,8 @@ ESPSD_BLKREAD2A:
IN A,(C) ; GET STATUS IN A,(C) ; GET STATUS
JP P,ESPSD_BLKREAD2A ; LOOP TILL DATA READY JP P,ESPSD_BLKREAD2A ; LOOP TILL DATA READY
; DOUBLE CHECK STATUS, FIRST READ CAN BE BOGUS ; DOUBLE CHECK STATUS, FIRST READ CAN BE BOGUS
IN A,(C) ; GET STATUS
JP P,ESPSD_BLKREAD2A ; LOOP TILL DATA READY
;;;IN A,(C) ; GET STATUS
;;;JP P,ESPSD_BLKREAD2A ; LOOP TILL DATA READY
; NOPS NEEDED FOR RELIABILITY ; NOPS NEEDED FOR RELIABILITY
;NOP \ NOP \ NOP \ NOP \ NOP \ NOP ;NOP \ NOP \ NOP \ NOP \ NOP \ NOP
INC C ; DATA PORT INC C ; DATA PORT
@ -769,9 +769,9 @@ ESPSD_BLKWRITE2A:
RRA ; SEND RDY BIT TO CF RRA ; SEND RDY BIT TO CF
JR C,ESPSD_BLKWRITE2A ; LOOP WHILE XMIT FULL JR C,ESPSD_BLKWRITE2A ; LOOP WHILE XMIT FULL
; DOUBLE CHECK STATUS, FIRST READ CAN BE BOGUS ; DOUBLE CHECK STATUS, FIRST READ CAN BE BOGUS
IN A,(C) ; GET STATUS
RRA ; SEND RDY BIT TO CF
JR C,ESPSD_BLKWRITE2A ; LOOP WHILE XMIT FULL
;;;IN A,(C) ; GET STATUS
;;;RRA ; SEND RDY BIT TO CF
;;;JR C,ESPSD_BLKWRITE2A ; LOOP WHILE XMIT FULL
; NOPS NEEDED FOR RELIABILITY ; NOPS NEEDED FOR RELIABILITY
;NOP \ NOP \ NOP \ NOP \ NOP \ NOP ;NOP \ NOP \ NOP \ NOP \ NOP \ NOP
INC C ; DATA PORT INC C ; DATA PORT
@ -815,13 +815,7 @@ ESPSD_PUTBYTE:
ESPSD_PUTBYTE1: ESPSD_PUTBYTE1:
IN A,(C) IN A,(C)
BIT 0,A BIT 0,A
JR NZ,ESPSD_PUTBYTE1A
; DOUBLE CHECK STATUS, FIRST READ CAN BE BOGUS
IN A,(C)
BIT 0,A
JR NZ,ESPSD_PUTBYTE1A
JR ESPSD_PUTBYTE2
ESPSD_PUTBYTE1A:
JR Z,ESPSD_PUTBYTE2
DJNZ ESPSD_PUTBYTE1 DJNZ ESPSD_PUTBYTE1
LD A,ESPSD_STTO LD A,ESPSD_STTO
OR A OR A
@ -844,7 +838,7 @@ ESPSD_PUTBYTE2:
; ;
ESPSD_PUTBYTE_SLOW: ESPSD_PUTBYTE_SLOW:
PUSH HL PUSH HL
LD HL,200 * CPUMHZ ; CPU SPEED SCALED TIMEOUT
LD HL,100 * CPUMHZ ; CPU SPEED SCALED TIMEOUT
ESPSD_PUTBYTE_SLOW1: ESPSD_PUTBYTE_SLOW1:
PUSH HL PUSH HL
CALL ESPSD_PUTBYTE CALL ESPSD_PUTBYTE
@ -872,15 +866,16 @@ ESPSD_GETBYTE:
LD B,0 LD B,0
LD C,(IY+ESPSD_IOBASE) LD C,(IY+ESPSD_IOBASE)
ESPSD_GETBYTE1: ESPSD_GETBYTE1:
;;;IN A,(C) ; FIX BOGUS STATUS READ???
;;;IN A,(C) ; *DEBUG*
;;;IN E,(C) ; *DEBUG*
;;;CP E ; *DEBUG*
;;;CALL NZ,PRTHEXBYTE ; *DEBUG*
IN A,(C) IN A,(C)
BIT 7,A
JR Z,ESPSD_GETBYTE1A
; DOUBLE CHECK STATUS, FIRST READ CAN BE BOGUS
IN A,(C)
BIT 7,A
JR Z,ESPSD_GETBYTE1A
JR ESPSD_GETBYTE2
ESPSD_GETBYTE1A:
JP M,ESPSD_GETBYTE2
DJNZ ESPSD_GETBYTE1 DJNZ ESPSD_GETBYTE1
LD A,ESPSD_STTO LD A,ESPSD_STTO
OR A OR A
@ -903,7 +898,7 @@ ESPSD_GETBYTE2:
; ;
ESPSD_GETBYTE_SLOW: ESPSD_GETBYTE_SLOW:
PUSH HL PUSH HL
LD HL,200 * CPUMHZ ; CPU SPEED SCALED TIMEOUT
LD HL,100 * CPUMHZ ; CPU SPEED SCALED TIMEOUT
ESPSD_GETBYTE_SLOW1: ESPSD_GETBYTE_SLOW1:
PUSH HL PUSH HL
CALL ESPSD_GETBYTE CALL ESPSD_GETBYTE

Loading…
Cancel
Save