; SET MODEM PARAMETERS FILE ; APPLICARD/MICROMODEM ][ WITH MM][ REMOTE DRIVER ; 9 FEB 1986 ; ORG 100H WRHST: EQU 0FFE3H RDHST: EQU 0FFE0H DEVCMD: EQU 0D3H SNDPARM: EQU 4 SACIA: EQU 2 SMODM: EQU 3 SECMD: EQU 6 BDOS: EQU 5 STROUT: EQU 9 KEYIN: EQU 1 KEYOUT: EQU 2 ; VECTOR PAST DATA JMP PROG ; DATA TABLES UPMSG: DB 13,10,'MicroModem ][ Modem Parameters Program',13,10,10,'$' SPDMENU: DB '[1] for 110 baud, [2] for 300 baud: $' PARMENU: DB 13,10,'Parity is [0] None [1] Even [2] Odd: $' BITMENU: DB 13,10,'[7] or [8] data bits: $' STPMENU: DB 13,10,'[1] or [2] stop bits: $' PEMSG: DB 13,10,'***Parity error*** 7 bit data has parity',7,'$' ECHMSG: DB 13,10,'Console echo: {0} None {1} Input {2} Output {3} Both' DB ': $' MESMSG: DB 13,10,'Modem echo on? $' SIGNOFF: DB 13,10,'MicroModem ][ parameters installed...',13,10,'$' FSW: DB 0 MODEM: DB 0 NPARFLG: DB 0 ECHO: DB 0 ; DISPLAY PROGRAM SIGN-ON PROG: LXI D,UPMSG MVI C,STROUT CALL BDOS ; DISPLAY SPEED MENU LXI D,SPDMENU MVI C,STROUT CALL BDOS MVI C,KEYIN CALL BDOS ANI 01H XRI 01H STA MODEM ;SETS BAUD RATE ; DISPLAY DATA BITS MENU LXI D,BITMENU MVI C,STROUT CALL BDOS MVI C,KEYIN CALL BDOS ANI 8 JZ B7 RAL B7: STA FSW ;saves data bits value ;DISPLAY PARITY MENU DPM: LXI D,PARMENU MVI C,STROUT CALL BDOS MVI C,KEYIN CALL BDOS ANI 3H CPI 1 JZ EPAR CPI 2 JZ OPAR LDA FSW ANI 10H JNZ NPAR LXI D,PEMSG MVI C,STROUT CALL BDOS JMP DPM NPAR: MVI A,80H STA NPARFLG MVI A,0 JMP SPAR EPAR: MVI A,8 JMP SPAR OPAR: MVI A,12 SPAR: LXI H,FSW ORA M MOV M,A ;SAVES PARITY VALUE ; DISPLAY STOP BITS MENU IF OPTION AVAILABLE LDA FSW ANI 10H JZ SB LDA NPARFLG ANI 80H JZ SBONE SB: LXI D,STPMENU MVI C,STROUT CALL BDOS MVI C,KEYIN CALL BDOS ANI 1 RAL RAL RAL MOV B,A LDA FSW ORA B STA FSW ; CONSOLE ECHO SELECTION SBONE: LXI D,ECHMSG MVI C,STROUT CALL BDOS MVI C,KEYIN CALL BDOS ANI 3 RRC RRC STA ECHO ;SAVES SCREEN ECHO VALUE ; MODEM ECHO SELECTION LXI D,MESMSG MVI C,STROUT CALL BDOS MVI C,KEYIN CALL BDOS ANI 1 LXI H,ECHO ORA M MOV M,A ;SAVES MODEM ECHO VALUE ; READY TO CHANGE VALUES ; LOAD MODEM STATUS FROM HOST FOR UPDATING MVI C,0D3H ;CDEV4 OTHER COMMAND CALL WRHST MVI C,SNDPARM CALL WRHST CALL RDHST CALL RDHST ANI 8EH ;CLEAR UNNECESSARY BITS LXI H,MODEM ORA M MOV M,A ;ADD UPDATE ;*MARK* JSR RDHST ;TAKE ECHO BYTE FROM HOST ; DO THE UPDATE MVI C,0D3H CALL WRHST MVI C,SACIA CALL WRHST LXI H,FSW MOV C,M PUSH H CALL WRHST POP H INX H MOV C,M CALL WRHST LDA ECHO MOV C,A CALL WRHST CALL RDHST ; UPDATING COMPLETE, EXIT PROGRAM LXI D,SIGNOFF MVI C,STROUT JMP BDOS END