@@ -531,6 +531,8 @@ TURBO_TYPE = TURBO_NONE ; disable Turbo features
531531SW1_VID = 10b ; SW1 5/6 ON/OFF Video Type CGA 80
532532SW1_FLP = 1 ; SW1 7/8 Max # of floppy drives (0-3)
533533 ; 0-based: 0=1 drive, 1=2 drives, etc
534+ POST_TEST_SEEK = 0 ; disabe floppy drive seek test
535+ CGA_SNOW_REMOVE = 0 ; disable CGA snow removal
534536 ENDIF
535537
536538 IF ARCH_TYPE EQ ARCH_EMU
@@ -6235,8 +6237,6 @@ INT_14_1 PROC
62356237 ADD DX , COM1_MCR - COM1_DATA ; DX = 3FC/2FC - Modem Control Register
62366238 MOV AL , MASK RTS OR MASK DTR ; activate DTR & RTS
62376239 OUT DX , AL ; set DTR or RTS
6238- INC DX
6239- INC DX ; DX = 3FE - Modem Status Register
62406240 MOV BX , DBW <MASK THRE OR MASK LBI , MASK MDSR> ; BH = line (THRE)
62416241 ; BL = modem (DSR/CTS)
62426242 CALL INT_14_POLL ; poll both registers, AH = status
@@ -6267,13 +6267,12 @@ INT_14_1 ENDP
62676267INT_14_2 PROC
62686268 PUSH DX ; save base port
62696269 ADD DX , COM1_MCR - COM1_DATA ; DX = 3FC/2FC - Modem Control Register
6270- MOV AL , MASK DTR ; activate DTR
6271- OUT DX , AL ; set DTR
6272- INC DX
6273- INC DX ; DX = 3FE/2FE - Modem Status Register
6270+ MOV AL , MASK RTS OR MASK DTR ; activate DTR & RTS
6271+ OUT DX , AL ; set DTR or RTS
62746272 MOV BX , DBW <MASK MDSR , MASK LDR> ; BH = modem (DSR), BL = line (data ready)
62756273 CALL INT_14_POLL ; poll both registers, AH = status
62766274 POP DX ; restore base port
6275+ JNZ INT_14_RW_ERR ; Jump if port timeout
62776276 AND AH , MASK LBI OR MASK LFE OR MASK LPE OR MASK LOE ; include only
62786277 ; error bits in port status
62796278 IN AL , DX ; read char from buffer
@@ -6285,7 +6284,7 @@ INT_14_2 ENDP
62856284;----------------------------------------------------------------------------;
62866285; Input:
62876286; DI = port index (0 based byte)
6288- ; DX = 3FE Modem Status Register
6287+ ; DX = 3FC Modem Status Register
62896288; BL = line status expected masked
62906289; BH = modem status expected masked
62916290; Output:
@@ -6296,6 +6295,8 @@ INT_14_2 ENDP
62966295; Clobbers: AX, CX
62976296;----------------------------------------------------------------------------;
62986297INT_14_POLL PROC
6298+ INC DX
6299+ INC DX ; DX = 3FE/2FE - Modem Status Register
62996300 CALL INT_14_POLL_PORT ; first poll modem status
63006301 JNZ INT_14_POLL_RET ; jump if ZF = 0, timeout or failure occurred
63016302 XCHG BH , BL ; BH = line status
@@ -6318,7 +6319,7 @@ INT_14_POLL_LOOP:
63186319 JZ INT_14_POLL_DONE
63196320 LOOP INT_14_POLL_LOOP ; poll port 65,535 * timeout times
63206321 DEC SI ;
6321- JNZ INT_14_POLL_LOOP ; Jump if timeout not expired
6322+ JNS INT_14_POLL_LOOP ; Jump if timeout not expired
63226323INT_14_POLL_DONE:
63236324 POP SI
63246325INT_14_POLL_RET:
0 commit comments