home *** CD-ROM | disk | FTP | other *** search
- ; title 'FLIP - flip originate/answer mode under "bye"'
- ; Originally written by Bruce Ratoff.
- ;
- ; updated 6/2/80 to uppercase message and require exactly
- ; control-c or return, ignoring all else. (BR)
- ; updated 6/6/80 to work with PMMI modem and to re-ask for
- ; input if invalid answer. Keith Petersen, W8SDZ.
- ; updated 8/8/80 to add conditional assembly for either
- ; PMMI or D C Hayes modem cards (BR)
- ;
- FALSE EQU 0 ;BASIC LOGIC DEFINITIONS
- TRUE EQU NOT FALSE
- ;
- FASTCLK EQU TRUE ;SET TRUE IF 4MHZ SYSTEM CLOCK
- ;
- PMMI EQU FALSE ;SET TRUE IF PMMI MODEM
- DCH EQU TRUE ;SET TRUE IF D C HAYES MODEM
- ;
- IF DCH
- MODCTL EQU 92H ;D C HAYES MODEM CONTROL PORT ADDRESS
- ENDIF
- ;
- IF PMMI
- MODCTL EQU 0C0H ;PMMI MODEM CONTROL PORT ADDRESS
- ENDIF
- ;
- BDOS EQU 5
- DBUFF EQU 80H
- ;
- PMESSG EQU 9
- CHRINP EQU 1
- ;
- ORG 100H
- ;
- FLIP: MVI C,PMESSG
- LXI D,MESSG
- CALL BDOS
- ;
- FLIP1: MVI C,PMESSG
- LXI D,MESSG2
- CALL BDOS
- MVI C,CHRINP
- CALL BDOS
- CPI 3 ;CTL-C?
- JZ 0 ;YES, EXIT TO CP/M WARM BOOT
- CPI 13 ;CARRIAGE RETURN?
- JNZ FLIP1 ;NO, ASK FOR ANOTHER INPUT
- ;
- ;SET MODEM FOR OFF-HOOK ORIGINATE
- IF PMMI
- MVI A,1DH
- ENDIF
- IF DCH
- MVI A,87H
- ENDIF
- OUT MODCTL
- IF FASTCLK
- MVI C,20 ;10 SECONDS AT 4MHZ
- ENDIF
- IF NOT FASTCLK
- MVI C,10 ;10 SECOND COUNT
- ENDIF
- ;
- ;DELAY LOOP - NUMBER OF SECONDS IN C REGISTER
- CTLP: LXI H,0 ;ONE SECOND DELAY LOOP
- LXI D,1
- ;
- SLO: DAD D ;DONE WITH ONE SECOND LOOP?
- JNC SLO ;NO, DO ANOTHER LOOP
- DCR C ;ONE LESS SECOND
- JNZ CTLP ;NOT DONE WITH COUNT
- ;
- IF PMMI
- ;SET PMMI MODEM CHIP SO IT CAN HANG UP ON LOSS OF CARRIER
- MVI A,1CH ;SET PMMI MODEM FOR ORIGINATE
- OUT MODCTL
- ENDIF
- JMP 0 ;EXIT TO CP/M WARM BOOT
- ;
- MESSG:
- DB 'IF YOU HIT RETURN, YOU HAVE 15 SECONDS TO SWITCH',13,10
- DB 'TO ANSWER MODE OR YOU WILL LOSE THE CONNECTION.',13,10
- DB 'IF YOUR MODEM INTERRUPTS THE PHONE LINE WHILE',13,10
- DB 'REVERSING, YOU WILL LOSE THE CALL UNLESS YOU',13,10
- DB 'PICK UP THE PHONE FIRST.',13,10,'$'
- ;
- MESSG2: DB 13,10,'TYPE RETURN TO SWITCH, CONTROL-C TO ABORT: $'
- ;
- END
-