home *** CD-ROM | disk | FTP | other *** search
-
- ; M7SY-3.ASM - SANYO MBC-1000 computer overlay file for MDM722+. 2/17/84
- ;
- ; You will want to look this file over carefully. There are a number of
- ; options that you can use to configure the program to suit your taste.
- ;
- ; This file adapts the Sanyo MBC-1000 computer to the modem program.
- ;
- ;
- ; THIS MODIFICATION MAKES USE OF TIMER 2 ON THE 8253 TIMER IC (IC4)
- ; OF THE SERIAL I/O BOARD OF THE SANYO MBC-1000.
- ;
- ; To use this program, the serial I/O board must be modified as follows:
- ;
- ; 1. Cut etch from IC18 Pin 1 to JP2 Pin 8.
- ; 2. Install jumper from IC18 Pin 1 to IC4 Pin 18.
- ; 3. Install jumper from IC4 Pin 17 to JP2 Pin 8.
- ; 4. Install jumper from IC4 Pin 16 to IC4 Pin 14.
- ; 5. Move jumper strap to JP2 Pin 8 for programmable baud rate, other
- ; pins (1-7) can still be used for standard baud rate selections.
- ; 6. Hardware modification is now complete.
- ;
- ; *** THIS VERSION SETS UP THE USART FOR 8 BITS, NO PARITY, 1 STOP BIT ***
- ;
- ; Edit this file for your preferences then follow the "TO USE:" example
- ; shown below.
- ;
- ; Use the "SET" command to change the baudrate when desired. It starts
- ; out at 1200 baud when the program is first called up. Because of tem-
- ; perature and component variations, you mave have to alter the timing
- ; parameters in OK300 and OK1200, plus or minus 1 or 2 numbers, if CRC
- ; errors occur to frequently during transmission and reception.
- ;
- ; = = = = = = = = = = = = = = = = = =
- ;
- ; 02/17/84 - Renamed M7SY-3.ASM with improvements on 3 bugs. (1) Use
- ; MDM722 or later to eliminate the problems with Contol X when
- ; dialing. (2) Altered the parameter for 300 baud set for 0240h
- ; to 0241h to eliminate overwhelming CRC errors during Send.
- ; (3) Irv Hoff et al take note. For some reason, the Sanyo's
- ; lock up after a connect. When the message "hit any key to
- ; stop the bell" occurs, there is a subsequent CALL STAT and
- ; CALL KEYIN that gets the Sanyo's in a tight loop. Change
- ; the CALL STAT to a JMP RETURN (goes directly to the Terminal
- ; mode without waiting for a keystroke) to avoid the problem
- ; while waiting for someone more astute than me to fix the bug.
- ; I even tried patching in my specific BIOS addresses in a num-
- ; ber of places, figuring the problem was in INITADR--but to no
- ; avail.
- ;
- ; Bob Sandel Canton, MI (leave msg with TCBBS 1-313-846-6127
- ; or Keith Peterson's Royal Oak CP/M 1-313-759-6569 )
- ;
- ;
- ; 02/01/84 - Blended MDM711SN w the top of MDM719.ASM
- ; - Made Default Baud Rate 1200; Added back LOADBD to update MSPEED
- ; - ^P back on at LSTTST;changed LOGON back to ^L;set TOUCHPULSE
- ; - back to P=Pulse;added cosmetic remarks;BUFSIZ=XFRSIZ=16K
- ; - Bob Sandel Canton, MI
- ;
- ; 08/01/83 - Altered MDM711NE for the Sanyo MBC-1000
- ; computer using an external modem - Dave Hardy
- ;
- ; 07/01/83 - Revised for use with MDM711 - Irv Hoff
- ; 06/22/83 - Revised for use with MDM710 - Irv Hoff
- ;
- ; = = = = = = = = = = = = = = = = = =
- ;
- VERSION: EQU 719 ;MDM719 (01/22/84) -- CP/M MODEM PROGRAM
- ;
- ; COPYRIGHTED 1984 BY IRV HOFF (TO DETER COMMERCIAL USE)
- ;
- ; THIS TELEPHONE MODEM PROGRAM USES THE CHRISTENSEN PROTOCOL. IT HAS
- ; BOTH CHECKSUM AND 'CRC' CAPABILITY FOR ERROR-DETECTION. IT SUPPORTS
- ; DIALING AND AUTO-REDIALING FOR THE S-100 PMMI, HAYES SMARTMODEM 300
- ; AND 1200 AND U.S. ROBOTICS MODEMS. IT SUPPORTS UP TO TWO ALTERNATE
- ; DIALING SYSTEMS SUCH AS 'MCI', 'SPRINT', ETC. IT IS COPYRIGHTED TO
- ; DETER COMMERCIALISM. IT MAY BE USED FOR NON-PROFIT PURPOSES OR CAN
- ; BE ALTERED OR UPDATED IF AGAIN RELEASED TO THE PUBLIC DOMAIN.
- ;
- ; OTHER EXTERNAL MODEMS MAY BE READILY USED, ALTHOUGH MANUAL DIALING
- ; MAY BE NECESARY. OVERLAYS HAVE BEEN MADE ALLOWING RAPID ADAPTATION
- ; TO VARIOUS COMPUTERS. THE PROGRAM CONFORMS READILY TO NUMEROUS I/O
- ; DEVICES INCLUDING THE 2661, 8250, 8251, Z80-SIO, ETC.
- ;
- ; NOTE: Current version (722+)is 71 sectors long. Use this figure with
- ; DDT, etc. to merge the appropriate overlay, regardless of what
- ; the overlay may call for (such as 66 sectors for overlays made
- ; during MDM712 era or 69 sectors during the MDM 719 era. )
- ;
- ;NOTE: M7NM-6.ASM (or later if applicable) must be used with
- ; this version. That has the 'SAVSIZ' byte just prior
- ; to the 'NUMBLIB:' phone number library.
- ;
- ;***********************************************************************
- ; If you improve or modify this program please attempt to upload to TCBBS
- ; Dearborn, MI (313) 846-6127. If there is insufficient disk space,
- ; leave a message on MINICBBS there.
- ;
- ;
- ; 02/01/84 ******* WARNING Some Bugs remain TO USE ANCHOR XII *******
- ; Still having trouble with CAL (lockup after connect); Can receive
- ; at 300 & 1200 but can only send at 1200 baud. Control X does
- ; does not really terminate dial. ATDP, manual dial, works fine!!
- ; If you work it out (leave msg w TCBBS 1-313-846-6127) Bob Sandel
- ;
- ; 01/22/84 Fixed Irv's error in GETACK routine which prevented the
- ; MDM719 robust improvement (added by Bob Plouffe) from working.
- ; Changed ACKNAK to NO so default will require valid NAK
- ; rather than non-ACK. This is part of the robust improvements,
- ; NOT because of any special ArpaNet requirement. Changed
- ; SHOWHEX to true for distribution version so users would have
- ; HEX and DECIMAL reporting while transferring files (most users
- ; have told me they prefer to see both). Changed PMMI dialing
- ; pulse default to 10pps which most exchanges will accept.
- ; (This can be set to other pulse rates in the user overlay).
- ; - Keith Petersen, W8SDZ
- ;
- ;***********************************************************************
- ;
- ; GENERAL INTEREST: When transferring files modem-to-modem, the batch
- ; mode is extremely useful. It allows automatic transmission of nu-
- ; merous files while the operator at the receiving end does virtually
- ; nothing. It can be used for single files or with wildcards. With
- ; normal single program transfer, the receiving end switches from CRC
- ; to checksum in one minute and times out completely in 100 seconds.
- ; (In batch mode it times out in 3 minutes for receive.) This offers
- ; ample opportunity to transfer programs between individuals.
- ;
- ;***********************************************************************
- ;
- ; 01/21/84 NUMBLIB now automatically starts on even page. 0D00H for
- ; MDM718 this version. Made the buffer size for file transfer inde-
- ; pendent from the buffer size for ASCII capture to disk. It
- ; had been 16k both since MODEM770. The file transfer size is
- ; now set to 4k for default. Most systems can easily use 16k
- ; but some very slow ones may need 8k or 4k. Set via XFRSIZ.
- ; (May be set with DDT by changing byte just prior to start of
- ; NUMLIB, which is 0CFFH in this case.) Now recognizes single
- ; digit result codes for auto-dial modems. Added code for the
- ; new Anchor modems which recognize busy signals and can start
- ; a redial immediately. Thanks for ideas from Wayne Masters,
- ; Ron Fowler, Fred Viles and others. - Irv Hoff
- ;
- ; 07/27/83 Added two alternate dialing routines such as MCI and SPRINT.
- ; MDM712 Fixed "disk space remaining" to read correctly with CP/M+.
- ; - Irv Hoff
- ;
- ; 07/01/83 Changed TERM to allow use of the printer port for modem use.
- ; MDM711 - Irv Hoff
- ;
- ; 06/22/83 MAJOR CHANGE: Added autodialing and automatic continuous
- ; MDM710 redialing for Hayes Smartmodem 300 or 1200,
- ; U.S. Robotics in addition to the PMMI modem
- ; for S-100 computers. - Irv Hoff
- ;
- ; 01/01/83 First version. Can be assembled with ASM.COM. (Previously
- ; MDM700 it was necessary to have the MODEM7.LIB file and use MAC.COM
- ; to assemble the program.) Selected MDM700 as a new program
- ;
- ;***********************************************************************
- ;
- PORT: EQU 0A4H ; Sanyo MBC-1000 Serial Port
- ;
- MODCTL1: EQU PORT+1 ;modem STATUS port
- MODCTL2: EQU PORT+1 ;CHANGED FOR SANYO CONTROL PORT
- MODDATP: EQU PORT ;modem data port
- CTIMER: EQU 0A3H ;8253 baud rate counter/timer
- ;
- MODRCVB: EQU 02H ;modem receive bit (DAV)
- MODRCVR: EQU 02H ;modem receive ready
- MODSNDB: EQU 01H ;modem send bit
- MODSNDR: EQU 01H ;modem send ready bit
- ;
- ;
- ;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- ; SPECIAL EQUATES FOR PMMI
- ;
- BAUDRP: EQU PORT+2 ;modem baud rate port
- BRKMSK: EQU 0FBH ;mask to set break
- EVPARMSK: EQU 20H ;mask to set even parity
- NOPARMSK: EQU 10H ;mask to reset to no parity
- ODPARMSK: EQU 0CFH ;mask to set odd parity
- ;
- ANSWMOD: EQU 1EH ;answer mode
- ORIGMOD: EQU 1DH ;originate mode
- WAITCTS: EQU 150 ;number of seconds (x5) to wait for the
- ;computer to answer after PMMI auto-dial
- ;100=20 sec, 150=30 sec, 255=51 sec.
- ;any number 0-255 acceptable
- ;
- ; (END OF SPECIAL PMMI EQUATES)
- ;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- ;
- ;
- YES: EQU 0FFH
- NO: EQU 0
- ;
- ;
- BUFSIZ: EQU 16 ;buffer size in Kbytes for ASCII capture to disk
- ;(16k is one file extent)
- XFRSIZ: EQU 16 ;file transfer buffer in Kbytes. Do not make
- ;any larger than BUFSIZ. 16k works fine on all
- ;but very slowest systems
- ;
- BDNMCH: EQU 75H ;bad name match
- ERRLIM: EQU 10 ;maximum allowable consecutive errors
- ERRCRC: EQU 6 ;CRC tries, then switches to CHECKSUM
- LIBLEN: EQU 34 ;length of each phone library entry
- ;
- SHOWHEX:EQU YES ;yes, show hex record count - no, do not show
- ;
- RUB: EQU 7FH ;rub
- CRC: EQU 'C' ;requests 'CRC' instead of 'CKSUM'
- ESC: EQU '['-40H ;^[ = escape
- SOH: EQU 'A'-40H ;^A = start of header
- EOT: EQU 'D'-40H ;^D = end of text
- EXITCHR:EQU 'E'-40H ;^E = exit character
- ACK: EQU 'F'-40H ;^F = acknowledge
- OKNMCH: EQU 'F'-40H ;^F = ok name match
- BELL: EQU 'G'-40H ;^G = bell character
- BKSP: EQU 'H'-40H ;^H = backspace
- LF: EQU 'J'-40H ;^J = linefeed
- CR: EQU 'M'-40H ;^M = carriage return
- XON: EQU 'Q'-40H ;^Q = XON character
- XOFF: EQU 'S'-40H ;^S = XOFF character
- NAK: EQU 'U'-40H ;^U = not acknowledge
- CANCEL EQU 'X'-40H ;^X = cancel send or receive
- EOFCHAR:EQU 'Z'-40H ;^Z = end of file
- ;
- ;
- ORG 0100H
- ;
- ;
- DS 3 ; for JUMP START instruction
- ;
- ;
- ; THESE ROUTINES AND EQUATES ARE AT THE BEGINNING OF THE PROGRAM SO
- ; THEY CAN BE PATCHED BY A MONITOR OR OVERLAY FILE WITHOUT RE-ASSEMBLING
- ; THE PROGRAM.
- ;
- PMMIMODEM: DB NO ;yes=PMMI modem, no=non-PMMI modem
- SMARTMODEM: DB YES ;yes=HAYES Smartmodem or Anchor Automation Mark XII
- TOUCHPULSE: DB 'P' ;T=touch, P=pulse (Smartmodem-only)
- ;
- CLOCK: DB 40 ;clock speed x .1, up to 25.5 mhz.
- ;2 MHz=20, 3.68 MH=37, 4 MHz=40, etc.
- MSPEED: DB 5 ;sets display time for sending a file
- ;0=110 1=300 2=450 3=600 4=710
- ;5=1200 6=2400 7=4800 8=9600 9=19200
- BYTDLY: DB 5 ;default time to send character in
- ;terminal mode file transfer (0-9)
- ;0=0 delay, 1=10 ms, 5=50 ms, 9=90 ms
- CRDLY: DB 5 ;end-of-line delay after CRLF in terminal
- ;mode file transfer for slow BBS systems
- ;0=0 delay, 1=100 ms, 5=500 ms, 9=900 ms
- NOOFCOL: DB 4 ;number of directory columns was 5
- SETUPTST: DB YES ;yes=non-PMMI setup routine
- SCRNTEST: DB YES ;yes=if home cursor and clear screen
- ;routine at CLRSCRN
- ACKNAK: DB YES ;yes=resend a record after any non-ACK
- ;no=resend a record after a valid NAK (robust)
- BAKUPBYTE: DB NO ;yes=make .BAK file
- CRCDFLT: DB YES ;yes=default to CRC checking
- ;no=default to Checksum checking
- TOGGLECRC: DB YES ;yes=allow toggling of Checksum to CRC
- CONVBKSP: DB NO ;yes=convert backspace to rub
- TOGGLEBK: DB YES ;yes=allow toggling of bksp to rub
- ADDLF: DB NO ;no=no LF after CR to send file in
- ;terminal mode (added by remote echo)
- TOGGLELF: DB YES ;yes=allow toggling of LF after CR
- TRANLOGON: DB YES ;yes=allow transmission of logon
- ;write logon sequence at location LOGON
- SAVCCP: DB YES ;yes=do not overwrite CCP
- LOCNXTCHR: DB NO ;yes=local cmd if EXTCHR precedes
- ;no=not local cmd if EXTCHR precedes
- TOGGLELOC: DB YES ;yes=allow toggling of LOCNXTCHR
- LSTTST: DB YES ;yes=allow toggling of printer on/off
- ;in terminal mode. Set to no if using
- ;the printer port for the modem
- XOFFTST: DB YES ;yes=allow testing of XOFF from remote
- ;while sending a file in terminal mode
- XONWAIT: DB NO ;yes=wait for XON after sending CR while
- ;transmitting a file in terminal mode
- TOGXOFF: DB YES ;yes=allow toggling of XOFF testing
- IGNORCTL: DB YES ;yes=do not send control characters
- ;above CTL-M to CRT in terminal mode
- ;no=send any incoming CTL-char to CRT
- EXTRA1: DB 0 ;for future expansion
- EXTRA2: DB 0 ;for future expansion
- BRKCHR: DB '@'-40H ;^@ = Send a 300 ms. break tone
- NOCONNCT: DB 'N'-40H ;^N = Disconnect from phone line
- LOGCHR: DB 'L'-40H ;^L = Send logon
- LSTCHR: DB 'P'-40H ;^P = Toggle printer
- UNSAVECHR: DB 'R'-40H ;^R = Close input text buffer
- TRANCHR: DB 'T'-40H ;^T = Transmit file to remote
- SAVECHR: DB 'Y'-40H ;^Y = Open input text buffer
- EXTCHR: DB '^'-40H ;^^ = Send next character
- ;
- ;
- ; Equates used only by PMMI routines grouped together here.
- ;
- PULSERATE: DB 250 ;125=20pps dialing, 250=10pps
- CHGBAUD: DB 'B'-40H ;^B = Used with PMMIMODEM in terminal
- ;mode to change baud rate on fly
- ;
- ;
- ; Handles in/out ports for data and status
- ;
- IN$MODCTL1: IN MODCTL1 ! RET ;in modem control port
- DS 7 ;spares if needed for non-PMMI
- OUT$MODDATP: OUT MODDATP ! RET ;out modem data port
- DS 7 ;spares if needed for non=PMMI
- IN$MODDATP: IN MODDATP ! RET ;in modem data port
- DS 7 ;spares if needed for non-PMMI
- ;
- ANI$MODRCVB: ANI MODRCVB ! RET ;bit to test for receive ready
- CPI$MODRCVR: CPI MODRCVR ! RET ;value of receive bit when ready
- ANI$MODSNDB: ANI MODSNDB ! RET ;bit to test for send ready
- CPI$MODSNDR: CPI MODSNDR ! RET ;value of send bit when ready
- ;
- ;
- ;====================== SPECIAL PMMI PORTS =============================
- ;
- IN$BAUDRP: IN BAUDRP ! RET ;in baudrate port
- OUT$BAUDRP: OUT BAUDRP ! RET ;out baudrate port
- OUT$MODCTL1: OUT MODCTL1 ! RET ;out modem control port #1
- OUT$MODCTL2: OUT MODCTL2 ! RET ;out modem control port #2
- ;
- ;================== END OF SPECIAL PMMI PORTS ==========================
- ;
- ;
- LOGONPTR: DW LOGON
- JMP$DIAL: DS 3
- JMP$DISCONNT: DS 3
- JMP$GOODBYE: JMP GOODBYE
- JMP$INITMOD: JMP INITMOD
- RET ! NOP ! NOP
- RET ! NOP ! NOP
- RET ! NOP ! NOP
- JMP$SETUPR: JMP SETUPR
- JMP$SPCLMENU: JMP SPCLMENU
- JMP$SYSVER: JMP SYSVER
- JMP$BREAK JMP SENDBRK
- ;
- ;
- ; NEXT SIX LINES SHOULD NOT BE CHANGED BY USER OVERLAY AS THESE GO TO
- ; SPECIFIC LOCATIONS IN THE MAIN PROGRAM, NOT IN THE OVERLAY.
- ;
- JMP$ILPRT: DS 3
- JMP$INBUF: DS 3
- JMP$INLNCOMP: DS 3
- JMP$INMODEM: DS 3
- JMP$NXTSCRN: DS 3
- JMP$TIMER: DS 3
- ;
- ;
- ; Clear sequences are for Televideo, Lear Siegler, etc. Change to match
- ; your terminal. (Heath uses ESC 4AH for clear to end of screen, ESC 45H
- ; to clear screen. Lear Siegler and others use ESC 79H for clear to end
- ; of screen and ESC 3AH to clear screen.) Room allowed for four bytes.
- ; (Last zero needed for stopping the string display. Any extra 0's just
- ; act as NOP's.)
- ;
- CLREOS: CALL JMP$ILPRT ;was ILPRT
- DB 0,0,0,0,0 ;dave hardy had 059h,0,0,0,0
- RET
- ;.....
- ;
- ;
- CLRSCRN:CALL JMP$ILPRT ; was ILPRT
- DB 1AH,0,0,0,0 ; was 1eh,59h,59h,00 in dave hardy version
- RET
- ;.....
- ;
- ;
- ;======================= SIGN-ON MESSAGE ==============================
- ;
- ; Send version number and date
- ;
- SYSVER: CALL JMP$ILPRT ; was LDA
- DB ' Sanyo MBC-1000 & Anchor Mark XII modem 1200 Baud'
- DB CR,LF,cr,lf,cr,lf
- db 'MDM722.COM--------M7SY-2.HEX-------M7NM-6RS.HEX'
- db cr,lf,cr,lf ;I use above to track patches: customize at will
- db 0 ;end of message flag
- RET
- ;.....
- ;
- SYSVER1:JMP SYSVER
- ;.....
- ;
- ;
- ;==================== LOGON MESSAGE (IF ANY) ===========================
- ;
- ; Insert your logon message here. End with a 0 (for"CALL ILPRT").
- ; PMMIusers have 59 bytes available, non-PMMI users have approximately
- ; 2K bytes available as they can overwrite all the following PMMI rou-
- ; tines if they wish. This method allows the external overlays to have
- ; plenty of room. It keeps the phone number library at a fixed location.
- ;
- LOGON: DB 'Your Name?',CR,LF
- DB 0 ;to terminate the logon message
- ;.....
- ;
- ;=========== ANCHOR MARK XII INITIALIZATION ADDED =====================
- ;
- ; Insert your initialization routine here if needed. Can replace the
- ; following special PMMI area to set speed and auto-dial. Over 950
- ; bytes are available for this purpose. (End your routine with a RET.)
- ;
- ;
- ;=======================================================================
- ;
- ; This routine allows a 300 ms. break tone to be send to reset some
- ; time-share computers.
- ;
- SENDBRK: MVI A,1FH ;SEND A BREAK TONE
- JMP GOODBYE1
- ;.....
- ;
- ;
- ; This routine sends a 300 ms. break tone and sets DTR low for the same
- ; length of time to disconnect some modesm such as the Bell 212A, etc.
- ;
- GOODBYE: MVI A,08H ;SEND BREAK, TURN OFF DTR
- ;
- GOODBYE1: OUT MODCTL1 ;SEND TO STATUS PORT
- MVI B,3 ;WAIT 300 MS.
- CALL JMP$TIMER
- MVI A,37H ;NORMAL SEND/RECEIVE WITH DTR
- OUT MODCTL1 ;SEND TO STATUS PORT
- RET
- ;.....
- ;
- ;
- ; Sanyo MBC-1000 initialization -- sets the 8251A for 8 bits, 1 stop bit,
- ; no parity, 1200 Baud (was 300 baud)
- ;
- INITMOD: MVI A,5 ;TRANSFER TIME FOR 1200 Baud (was 1=300 BAUD)
- STA MSPEED
- MVI A,96H ;Set up counter/timer to be baud rate clock
- OUT CTIMER
- LDA V1
- OUT CTIMER-1
- MVI A,087H ;INSURE OUT OF MODE state
- OUT MODCTL1 ;MODEM STATUS PORT
- out modctl1 ;slight extra delay
- MVI A,40H ;INITIALIZE USART
- OUT MODCTL1 ;MODEM STATUS PORT
- LDA V2
- ADI 4CH ;8 DATA BITS, 1 STOP, NO PARITY
- OUT MODCTL1 ;MODEM STATUS PORT
- MVI A,17H ;DTR, RCV, XMT, ERROR RST:hardy had 27h w RTS
- OUT MODCTL1 ;MODEM STATUS PORT
- IN PORT ;CLEAR DATA PORT
- RET
- ;
- V1 DB 010H ;COUNTER VALUE(dflt = 1200; was 040h=300 baud)
- V2 DB 2 ;CLOCK DIVISOR 2 works from 150 to 1200 baud
- ;.....
- ;========== NON-PMMI SETUP (SPEED CHANGE, ETC.) IF ANY ==============
- ;
- ; Insert your speed change and/or auto-dialing routines here.
- ; Over 950 bytes are available (INCLUDING INITMOD, above).
- ; End your routine with a RET.
- ;
- ;
- SETUPR: LXI D,BAUDBUF ;POINT TO NEW INPUT BUFFER
- CALL JMP$ILPRT
- DB 'Input Baud Rate (300, 1200): ',0 ;, 1800, 2400): ',0
- CALL JMP$INBUF
- LXI D,BAUDBUF+2
- CALL JMP$INLNCOMP ;COMPARE BAUDBUF+2 WITH CHARACTERS BELOW
- DB '300',0
- JNC OK300 ;GO IF GOT MATCH
- CALL JMP$INLNCOMP
- DB '1200',0
- JNC OK1200
- ; CALL JMP$INLNCOMP ;killed these lines so only 300/1200 plays
- ; DB '1800',0
- ; JNC OK1800
- ; CALL JMP$INLNCOMP
- ; DB '2400',0
- ; JNC OK2400
- CALL JMP$ILPRT ;ALL MATCHES FAILED, TELL OPERATOR
- DB '++ Incorrect entry ++',CR,LF,BELL,0
- JMP SETUPR ;TRY AGAIN
- ;
- OK300: LXI H,0241H ;V1=41h V2=02h ******* WARNING ******
- ;
- ;V1 was 40h minor adjustment of the value
- ;of V1 may be required because of individual
- ;crystal, component or temperature variations.
- SHLD V1 ;SAVE PARAMETERS FOR 300 BAUD
- MVI A,1 ;MSPEED 300 BAUD VALUE
- JMP LOADBD ;jump to load: Dave you forgot this !!
- ;
- OK1200: LXI H,0210H ;V1=10h V2=02h See Warning in OK300
- SHLD V1
- MVI A,5
- JMP LOADBD
- ;
- ; killed the followings lines to restrict baud set to 300 & 1200
- ;
- ;OK1800: LXI H,01A0H ;V1=A0h V2=01h
- ; SHLD V1
- ; MVI A,6
- ; JMP loadbd
- ;
- ;OK2400: LXI H,0180H ;V1=80h V2=01h
- ; SHLD V1
- ; MVI A,6
- ; JMP loadbd
- ;
- LOADBD: STA INITMOD+1 ;change time-to-send to match baudrate
- JMP INITMOD ;reset MSPEED TO NEW BAUDRATE
- ;
- ;
- ;
- BAUDBUF: DB 10,0
- DS 10
- ;.....
- ;
- ;
- ; (END OF INITMOD AND SETUP ROUTINES)
- ;=======================================================================
- ;
- ;
- ; These routines can be used for your equipment. End with RET. If
- ; using the Hayes Smartmodem this is unavailable without a special ad-
- ; dress change.
- ;
- SPCLMENU: RET
- ;
- ;=======================================================================
- ;
- ;
- ; NOTE: MUST TERMINATE PRIOR TO 0400H (with Smartmodem)
- ; 0C00H (without Smartmodem)
- ;
- ;
- END ; ************************************************