diff --git a/Source/HBIOS/cvdu.asm b/Source/HBIOS/cvdu.asm index ae6254b8..99b1c664 100644 --- a/Source/HBIOS/cvdu.asm +++ b/Source/HBIOS/cvdu.asm @@ -10,7 +10,6 @@ ; - IMPLEMENT SET CURSOR STYLE (VDASCS) FUNCTION ; - IMPLEMENT ALTERNATE DISPLAY MODES? ; - IMPLEMENT DYNAMIC READ/WRITE OF CHARACTER BITMAP DATA? -; - IMPLEMENT TIMEOUT ON PROBE ; ;====================================================================== ; CVDU DRIVER - CONSTANTS @@ -295,6 +294,16 @@ CVDU_WR: PUSH AF ; SAVE VALUE TO WRITE LD A,C ; SET A TO CVDU REGISTER TO SELECT OUT (CVDU_REG),A ; WRITE IT TO SELECT THE REGISTER +; +#IF (CPUMHZ > 8) + ; FASTER CPUS NEED A SMALL DELAY BEFORE THEY CAN START + ; POLLING THE CVDU STATUS. THIS IS NOT IDEAL BECAUSE THE + ; CONDITIONAL IS BASED ON THE CPU CONFIG SPEED, NOT THE + ; DYNAMIC CPU SPEED. + NOP + NOP +#ENDIF +; CVDU_WR1: IN A,(CVDU_STAT) ; GET CVDU STATUS BIT 7,A ; CHECK BIT 7 @@ -320,6 +329,16 @@ CVDU_WRX: CVDU_RD: LD A,C ; SET A TO CVDU REGISTER TO SELECT OUT (CVDU_REG),A ; WRITE IT TO SELECT THE REGISTER +; +#IF (CPUMHZ > 8) + ; FASTER CPUS NEED A SMALL DELAY BEFORE THEY CAN START + ; POLLING THE CVDU STATUS. THIS IS NOT IDEAL BECAUSE THE + ; CONDITIONAL IS BASED ON THE CPU CONFIG SPEED, NOT THE + ; DYNAMIC CPU SPEED. + NOP + NOP +#ENDIF +; CVDU_RD1: IN A,(CVDU_STAT) ; GET CVDU STATUS BIT 7,A ; CHECK BIT 7 @@ -350,13 +369,13 @@ CVDU_PROBE1: LD A,(HL) ; BYTE INC HL OUT (C),A ; WRITE IT - LD DE,25 + LD DE,50 CALL VDELAY DJNZ CVDU_PROBE1 ; IN A,(CVDU_DATA) LD C,A - LD DE,25 + LD DE,50 CALL VDELAY IN A,(CVDU_DATA) CPL