home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CP/M
/
CPM_CDROM.iso
/
cpm
/
bye5
/
bye510.fix
< prev
next >
Wrap
Text File
|
1986-08-09
|
2KB
|
80 lines
; SUBJECT : BYE510 FIX
;
; FROM : IRV HOFF
;
; DATE : 4 AUG 86
;
;
; NOTE TO SYSOPS: You may wish to put this little
; file in your master BYE510.LBR so
; it will be available to anybody
; downloading that file.
;
;
; Several Sysops have mentioned when using BYE510 they were unable
; to properly operate their local keyboard. The fix involves (1) moving
; three lines in the MINP2: area and (2) adding three lines plus a new
; label in the MSTAT: area.
;
; The problem occurred when those routines were altered to provide
; proper timeout with the METAL BBS program when nobody had typed on the
; remote keyboard for some time. METAL was looping while waiting for a
; status bit to go high indicating a character could be obtained. The
; BYE program(s) had been looping until the character was received. The
; METAL program could thus hang up the system for long periods of time
; if nobody was typing at the other end.
;-----------------------------------------------------------------------
; CHANGE 1
;-----------------------------------------------------------------------
;
MINP2:
;;; CALL CONSTAT ; Check for console input =>DELETE
;;; ORA A ; Got console input? =>DELETE
;;; JNZ CONIN ; Yep, get the console character=>DELETE
CALL MSTAT ; Nope, check for modem input
ORA A ; Got modem input?
JZ MINP2 ; Nope, loop again
CALL CONSTAT ; Check for console input => ADDED
ORA A ; Got console input? => ADDED
JNZ CONIN ; Yep, get the console character=> ADDED
MINP3: CALL MDINP ; Yep, get modem character
;-----------------------------------------------------------------------
; CHANGE 2
;-----------------------------------------------------------------------
;
; Modem status test and no-activity timer routine
;
MSTAT: IF NOT CPM3
CALL BDCHEK ; Set 6 to safety
ENDIF ; NOT CPM3
;
CALL CONSTAT ; Check local keyboard status => ADDED
ORA A ; => ADDED
JNZ MSTAT0 ; => ADDED
LDA MDMOFF
ORA A
MVI A,0
RNZ ; Don't let remote input while modem is
; Muted
CALL CHECK ; Check for carrier lost
CALL MDINST ; Get modem input status
ORA A ; Character available?
JZ MSTAT1 ; Nope
;
MSTAT0: ; => LABEL ADDED
PUSH PSW ; Yep, save return status
XRA A ; Clear no-activity flag
STA MSFLAG
POP PSW ; Restore return status
RET ; And return
;
MSTAT1: LDA MSFLAG ; Get the no-activity flag
(etc.)