#!M7NE-2 ASMn#MODEM7B DRVp AREADTHIS1STy6READTHIS2ND(bG ; M7NE-2.ASM - NEC PC-8801 computer overlay file for MDM712 - 07/10/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 NEC PC-8801 computer to the modem program. ; This file uses the INSTALL8 MODEM7B driver (incl. on this disk) linked ; to the TTY: device to obtain proper interrupt processing, necessary at ; higher Baud rates (>300). Changes cause more efficient operation at ; Baud rates of 300 and lower also. To use this overlay, you must set ; the serial port for 1200 baud (jumper 5), as the program then converts ; that to 300 baud whenever needed. ; ; If you edit this file for your preferences, follow the "TO USE:" example ; shown below. ; ; Use the "SET" command to change the baudrate when desired. It starts ; out at 300 baud when the program is first called up. ; ; TO USE: First edit this file filling in answers for your own ; equipment. Then assemble with ASM.COM or equivalent ; assembler. Then use DDT to overlay the the results ; of this program to the original .COM file: ; ; A>DDT MDM727.COM ; DDT VERS 2.2 ; NEXT PC ; 4994 0100 ; -IM7NE-2.HEX (note the "I" command) ; -R ("R" loads in the .HEX file) ; NEXT PC ; 4994 0000 ; -G0 (return to CP/M) ; A>SAVE 73 NECMDM7.COM (now have a modified .COM file) ; ; = = = = = = = = = = = = = = = = = = ; ; 07/10/84 - Altered for Install8 MODEM7B.DRV drivers ; - Renamed to M7NE-2.ASM - Steven Sarna ; 11/11/83 - Renamed to M7NE-1.ASM, no changes - Irv Hoff ; 07/27/83 - Renamed for use with MDM712 - Irv Hoff ; 07/01/83 - Revised for use with MDM711 - Irv Hoff ; 06/22/83 - Revised for use with MDM710 - Irv Hoff ; 06/22/83 - Altered for use with MDM710 - Irv Hoff ; 06/22/83 - Altered MDM708DP for the NEC 8001 ; computer using an external modem - Irv Hoff ; ; = = = = = = = = = = = = = = = = = = ; BELL: EQU 07H ;bell CR: EQU 0DH ;carriage return ESC: EQU 1BH ;escape LF: EQU 0AH ;linefeed ; YES: EQU 0FFH NO: EQU 0 ; ; WBOOT: EQU 01H ;CP/M Warm boot location IOBYTE: EQU 03H ;CP/M I/O Byte location PORT: EQU 20H ;NEC PC-8801 serial port MODCTL1: EQU PORT+1 ;Modem status port MODCTL2: EQU PORT+1 ;Modem control port MODDATP: EQU PORT ;Modem data port MODRCVB: EQU 02H ;Modem recv bit MODRCVR: EQU 02H ;Modem recv ready bit MODSNDB: EQU 07H ;Modem send mask MODSNDR: EQU 05H ;Modem send ready bits ;8251 COMMAND INSTRUCTION FORMAT RES: EQU 0100$0000B ; Internal Reset (To mode instruction) RTS: EQU 0010$0000B ; Request to send ERR: EQU 0001$0000B ; Error Reset BRK: EQU 0000$1000B ; Send Break REN: EQU 0000$0100B ; Recieve Enable DTR: EQU 0000$0010B ; Data terminal ready TEN: EQU 0000$0001B ; Transmit Enable ;8251 MODE INTRUCTION FORMAT STOP1: EQU 0100$0000B ;Framing Control, 1 Stop bit STOP1$5: EQU 1000$0000B ;1 and 1/2 Stop bits STOP2: EQU 1100$0000B ;2 Stop bits NO: EQU 00$0000B ;No Parity ODD: EQU 01$0000B ;Odd parity EVN: EQU 11$0000B ;Even parity FIVE: EQU 0000B ;Five bit character length SIX: EQU 0100B ;Six bit character length SEVEN: EQU 1000B ;Seven bit character length EIGHT: EQU 1100B ;Eight bit character length X1: EQU 01B ;Asynchronous times one X16: EQU 10B ;Asynchronous times sixteen X64: EQU 11B ;Asynchronous times sixty-four ;BIOS ENTRY POINTS CONST: EQU 006H ;Console status CONIN: EQU 009H ;Console in CONOUT: EQU 00CH ;Console out LISTST: EQU 02DH ;List status ; ; ORG 100H ; DS 3 ;(for "JMP START" instruction) PMMIMODEM: DB NO ;yes=PMMI S-100 Modem 103H SMARTMODEM: DB YES ;yes=HAYES Smartmodem 104H TOUCHPULSE: DB 'T' ;T=touch, P=pulse (Smartmodem-only) 105H CLOCK: DB 5 ;clock speed in MHz x10, 25.5 MHz max. 106H ;20=2 MHh, 37=3.68 MHz, 40=4 MHz, etc. ;Due to interrupts on the PC-8801A, tick clock must be set to 5 MSPEED: DB 1 ;0=110 1=300 2=450 3=600 4=710 5=1200 107H ;6=2400 7=4800 8=9600 9=19200 default BYTDLY: DB 5 ;0=0 delay 1=10ms 5=50 ms - 9=90 ms 108H ;default time to send character in ter- ;minal mode file transfer for slow BBS. CRDLY: DB 5 ;0=0 delay 1=100 ms 5=500 ms - 9=900 ms 109H ;default time for extra wait after CRLF ;in terminal mode file transfer NOOFCOL: DB 5 ;number of DIR columns shown 10AH SETUPTST: DB YES ;yes=user-added Setup routine 10BH SCRNTEST: DB YES ;cursor control routine 10CH ACKNAK: DB YES ;yes=resend a record after any non-ACK 10DH ;no=resend a record after a valid NAK BAKUPBYTE: DB YES ;yes=change any file same name to .BAK 10EH CRCDFLT: DB YES ;yes=default to CRC checking 10FH TOGGLECRC: DB YES ;yes=allow toggling of CRC to Checksum 110H CONVBKSP: DB NO ;yes=convert backspace to rub 111H TOGGLEBK: DB YES ;yes=allow toggling of bksp to rub 112H ADDLF: DB NO ;no=no LF after CR to send file in 113H ;terminal mode (added by remote echo) TOGGLELF: DB YES ;yes=allow toggling of LF after CR 114H TRANLOGON: DB NO ;yes=allow transmission of logon 115H ;write logon sequence at location LOGON SAVCCP: DB YES ;yes=do not overwrite CCP 116H LOCONEXTCHR: DB NO ;yes=local command if EXTCHR precedes 117H ;no=external command if EXTCHR precedes TOGGLELOC: DB YES ;yes=allow toggling of LOCONEXTCHR 118H LSTTST: DB NO ;no=printer not available (modem) 119H XOFFTST: DB NO ;yes=chcks for XOFF from remote while 11AH ;sending a file in terminal mode XONWAIT: DB NO ;yes=wait for XON after CR while 11BH ;sending a file in terminal mode TOGXOFF: DB YES ;yes=allow toggling of XOFF checking 11CH IGNORCTL: DB YES ;yes=CTL-chars above ^M not displayed 11DH EXTRA1: DB 0 ;for future expansion 11EH EXTRA2: DB 0 ;for future expansion 11FH BRKCHR: DB '@'-40H ;^@ = Send a 300 ms. break tone 120H NOCONNCT: DB 'N'-40H ;^N = Disconnect from the phone line 121H LOGCHR: DB 'L'-40H ;^L = Send logon 122H LSTCHR: DB 'P'-40H ;^P = Toggle printer 123H UNSAVE: DB 'R'-40H ;^R = Close input text buffer 124H TRANCHR: DB 'T'-40H ;^T = Transmit file to remote 125H SAVECHR: DB 'Y'-40H ;^Y = Open input text buffer 126H EXTCHR: DB '^'-40H ;^^ = Send next character 127H ; ; DS 2 ; 128H ; IN$MODCTL1: IN MODCTL1 ;In modem control port 12AH RET ;left here for port I.D. ; ;not really used. DS 7 OUT$MODDATP: JMP TTYOUT ;Out modem data port 134H DS 7 ;replaced by TTY: output. IN$MODDATP: JMP TTYIN ;In modem data port 13EH DS 7 ;replaced by TTY: input. ANI$MODRCVB: RET ;Logical AND not performed. DS 2 CPI$MODRCVR: JMP TTY$IN$S ;Compare replaced by TTY: ; ;status routine. ANI$MODSNDB: RET ;Logical AND not performed. DS 2 CPI$MODSNDR: JMP TTY$OT$S ;Compare replaced by TTY: DS 12 ;status routine. ; LOGONPTR: DW LOGON ;for user message. 160H DS 6 ; 162H JMP$GOODBYE: JMP GOODBYE ; 168H JMP$INITMOD: JMP INITMOD ;go to user written routine 16BH RET ! NOP ! NOP ;(by-passes PMMI port) 16EH RET ! NOP ! NOP ;(by-passes PMMI routine) 171H RET ! NOP ! NOP ;(by-passes PMMI routine) 174H JMP$SETUPR: JMP SETUPR ; 177H JMP$SPCLMENU: JMP SPCLMENU ; 17AH JMP$SYSVER: JMP SYSVER ; 17DH JMP$BREAK: JMP SENDBRK ; 180H ; ; ; Do not change the following six lines. ; JMP$ILPRT: DS 3 ; 183H JMP$INBUF DS 3 ; 186H JMP$INLNCOMP: DS 3 ; 189H JMP$INMODEM DS 3 ; 18CH JMP$NXTSCRN: DS 3 ; 18FH JMP$TIMER: DS 3 ; 192H ; ; ; Clear sequences -- CLREOS is clear to end of screen, CLRSCRN is clear ; entire screen. Last entry must be 0. Any other 0's act as NOP's. ; The SCRNTST option must be set "YES" for these to work. ; CLREOS: CALL JMP$ILPRT ; 195H DB ESC,59H,0,0,0 ; 198H RET ; 19DH ; CLRSCRN: CALL JMP$ILPRT ; 19EH DB 1EH,ESC,59H,0,0 ; 1A1H RET ; 1A6H ; ; SYSVER: CALL JMP$ILPRT ; 1A7H DB 'Version for NEC PC-8801A computers' DB CR,LF DB 'For use with "INSTALL8 MODEM7B TTY:"' DB CR,LF,0 RET ;..... ; ; ;----------------------------------------------------------------------- ; ; NOTE: You can change the SYSVER message to be longer or shorter. The ; end of your last routine should terminate by 0400H (601 bytes ; available after start of SYSVER) if using the Hayes Smartmodem ; or by address 0C00H (2659 bytes) otherwise. ; ;----------------------------------------------------------------------- ; ; You can put in a message at this location which can be called up with ; CTL-L if TRANLOGON has been set YES. You can put in several lines if ; desired. End with a 0. ; ; LOGON: DB 'This is an NEC PC-8801A computer',CR,LF,0 ;..... ; ; ;======================================================================= ; ; This routine allows a 300 ms. break tone to be send to reset some ; time-share computers. ; SENDBRK: MVI A,RTS+ERR+BRK+REN+DTR+TEN ;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 modems such as the Bell 212A, etc. ; GOODBYE: MVI A,ERR+BRK+TEN ;SEND BREAK, TURN OFF RTS & DTR ; GOODBYE1: OUT MODCTL1 ;SEND TO STATUS PORT MVI B,3 ;WAIT 300 MS. CALL JMP$TIMER MVI A,RTS+ERR+REN+DTR+TEN ;NORMAL SEND/RECEIVE WITH RTS & DTR OUT MODCTL1 ;SEND TO STATUS PORT RET ;..... ; ; ; NEC PC-8801 initialization -- sets the 8251A for 8 bits, 1 stop pulse, ; DTR high, requires jumper shunt be set (jumpered @ 5) to 1200 baud then ; divides by 64 for 300, or by 16 for 1200 baud via "SET" command. Set ; at present to default to 300 baud. ; INITMOD: MVI A,1 ;TRANSFER TIME FOR 300 BAUD STA MSPEED MVI A,0 ;INSURE OUT OF MODE OUT MODCTL1 ;MODEM STATUS PORT OUT MODCTL1 OUT MODCTL1 ;3 TIMES GETS IT TO KNOWN STATUS MVI A,RES ;INITIALIZE USART OUT MODCTL1 ;MODEM STATUS PORT ; INITMOD1: MVI A,STOP1+NO+EIGHT+X64 ;DEFAULT TO DIVIDE BY 64 FOR 300 BAUD OUT MODCTL1 ;MODEM STATUS PORT MVI A,RTS+ERR+REN+DTR+TEN ;RTS, DTR, RCV, XMT, ERROR RESET OUT MODCTL1 ;MODEM STATUS PORT RET ; ; NEC PC-8801 status subroutines. Alters IOBYTE to make TTY: give input ; and output status, and send TTY: input and output to CONsole ; CP/M device. ; Routines Modified to working condition by S. Michael Sarna ; Thanks to David Schmidt and Andrew Marrinson... R.I.P. June, 1984. ; TTY$IN$S: CALL SWAP ; Get the current I/O Byte and switch MVI C,CONST ; Get console status CALL BIOS ; Do the In status INR A ; Set the appropriate flag JMP EXIT1 ; Restore the old I/O Byte & leave TTY$OT$S: CALL SWAP ; Go to the correct I/O frame MVI C,LISTST ; BIOS offset to get the list device status CALL BIOS ; Do the Out status INR A ; Set the flag appropiately JMP EXIT1 ; Restore the old I/O Byte & leave TTYOUT: CALL SWAP ; One last I/O change MVI C,CONOUT ; BIOS console input CALL BIOS ; Send the character out ;The following delay is manditory to avoid an "undocumented hardware feature" ;in the 8251, as it seems you can't poll immediately after Xmt. LXI B,03FFH ; Wait a little bit after sending TTYOU1: DCX B ; Count down MOV A,B ; Check if counted down enough ORA C JNZ TTYOU1 ; If not zero, count down some more JMP EXIT1 TTYIN: CALL SWAP ; Turn into a TTY: system MVI C,CONIN ; Direct console read ; Exit must follow here: EXIT: CALL BIOS ; Do the suggested I/O EXIT1: POP B ; Restore regs to normal POP D POP H PUSH PSW ; Save the BIOS call status or data LDA IO$BYT ; Get the old I/O Byte STA IOBYTE ; move this to the I/O Byte location for CP/M POP PSW ; Return the status or data RET ; Go back to the caller BIOS: LHLD WBOOT ; Get the BIOS address MOV L,C ; Set LSB of BIOS Routine MOV C,A ; Set LSB of Arg PCHL ; Go to the BIOS SWAP: XTHL ; old HL on stack, return address in HL PUSH D ; Save other registers PUSH B PUSH H ; Return address back on stack LXI H,IOBYTE ; Point to the current I/O Byte PUSH PSW ; Save character to send MOV A,M ; Fetch the current I/O Byte MVI M,0 ; Set all devices to TTY: STA IO$BYT ; Save the current I/O Byte POP PSW ; Restore the character to send RET ; IO$BYT: DS 1 ; ; ; ; SETUPR: LXI D,BAUDBUF ;POINT TO NEW INPUT BUFFER CALL JMP$ILPRT DB 'Input Baud Rate (300, 1200): ',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$ILPRT ;ALL MATCHES FAILED, TELL OPERATOR DB '++ Incorrect entry ++',CR,LF,BELL,0 JMP SETUPR ;TRY AGAIN ; OK300: MVI A,1 ;MSPEED 300 BAUD VALUE MVI B,STOP1+NO+EIGHT+X64 ;DIVIDE BY 64 FOR 300 BAUD JMP LOADBD ;GO LOAD THEM ; OK1200: MVI A,5 MVI B,STOP1+NO+EIGHT+X16 ;DIVIDE BY 16 FOR 1200 BAUD ; ; LOADBD: STA INITMOD+1 ;CHANGE TIME-TO-SEND TO MATCH BAUDRATE MOV A,B ;GET BAUDRATE BYTE STA INITMOD1+1 ;STORE IN INITMOD JMP INITMOD ;REINITIALIZE TO NEW BAUDRATE, THEN DONE ; ; 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 ; SSM[` 0 ^,X#ŵP>a0,.`y ,@2`z#</ `c A#@3, sP XA08~ r.aB3j#aC?X A,((? t9D#??1@e5Ayebrx"s<# F~Db("l~S5V Ht:GfCV# &j8C@ x:`x!0k+@"1@ fGs>.P5`!٬D.fCx F`6k٬s 8|>l"kY@!<`f@A P[0e,05d7/ aGw0=_ .k(X`P5oH P@ @ !NAt2 o9!d D l   4 @  @l2C@z  Da H8 F @  t<!n2 C Hn7C)nAB@ o ao8 F@= F b  "ᨐd  @ @D0 "eDB LI$ "QTAB@ a:Dy #) !  @ qr9NAXc:Bz  8nN;NvcoVuj 0uj@?qլ=` ]mZnGol>쇙uk@Հ;Z}_j%Pր3mրlիݧ2܁$uj xsvmz> $ndx' m-@ qr9NAXc:Bz  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ GREETINGS FROM THE NEC-AID SOCIETY ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! This DISK has your MODEM7 version 40 on it as well as the MODEM7B.DRV program. We felt that it was a terrible waste of good disk space to put only those programs on this disk, so we put some extras on it that we think you will enjoy. Before we get to the explanations and instructions for finding, installing and using your new programs, let's talk about the disk that you are reading from. It is a MASTER DISK that can not be written to or erased unless you remove the WRITE PROTECT TAB from the edge. This was placed on the disk so that you could not accidentally erase the contents before copying them. This disk is formatted with 512 bytes per sector (option "B" on the format menu). Before you go any further, it would be an excellent idea to use your DISK8.COM utility on your CP/M MASTER/Working disk and format a blank disk to the 512 bytes per sector format. When you have done this, change to the "FILE TRANSFER SUBMENU" of the DISK8 program and then remove the MASTER CP/M disk from drive A: Place this disk in drive A: and make certain that the newly formatted disk is in drive B: Now enter option "D" -- COPY ALL TRACKS on your keyboard and make a complete copy of this disk. This will be your working modem disk. Put the original modem disk in a safe place with your other MASTER DISKS 'just in case....' OKAY!!! We are ready to roll! You will notice that there are TWO programs on USER AREA 0....M7TOUCH.COM and M7PULSE.COM (there are more programs on other user areas of this disk!!!). These two programs are identical except that one of them is configured for a TOUCH-type dialing system and the other for a PULSE-type dialing system. **NOTE!** Just because your local home phone is a "touch tone" phone, do not be certain that the M7TOUCH program is the one to keep. In several areas of the US, the switching for touch-type phones is NOT fast enough to keep up with a modem/computer dialing system and the phone will not be activated by the M7TOUCH program, even though it seems that everything else is alright!!!!! Before we are through, you will know which of these programs is for you. We assumed that your modem is a Smart-type modem and uses the Hayes type dialing commands. If this is NOT true, don't worry, because you can still dial with your modem after you are in the terminal mode and can address the modem directly. However, one of the things that we need to be certain of is that the modem is set in such a way that it will talk to your computer and vice versa. To be able to do this we have to check three things: the computer, the modem, and the cable that connects them to each other. (It is also a good idea to check the phone cable from time to time!) The JUMPER for modem speed on the back of the PC-8801 should be placed on #5 and left there. If you have a SM300 or other 300 baud modem this is also the correct setting for this modem. Regardless of modem type, use #5! Now look at your modem and the switch settings. One of the switches that is user controlled is the Data Send Ready or "DSR" switch. This switch can usually be set in one of two ways: #1 DSR always ON, or #2 DSR on only in DATA MODE. The handshaking/buffer/interrupt features of the MODEM7B.DRV program which is needed by this version of MDM740 require that the DSR switch be in the #1 (DSR always ON) position. Use hardware or software to accomplish this. If the JUMPER is on #5 and the DSR is set to ON, you are ready to use the program. PIP (or otherwise transfer to your working modem disk) a copy of the INSTALL8.COM program from your CP/M working disk. Now enter the following command string: A>INSTALL8 MODEM7B.DRV TTY: This will install the MODEM7B.DRV (by the way, it is not a bad idea to PIP the MODEM7B.DRV file to your CP/M working disk and perhaps even the CP/M MASTER DISK so that you will always have a copy handy with your other .DRV routines). The screen should tell you that the program is successfully installed, so now enter: A>M7TOUCH and you will see the beginning of the command prompt for the MDM740 program. If you are in an experimental mood, try entering the following command string: A>>>CAL 0, and if the system has been configured as instructed, and if your local phone system uses touch dialing, you will soon be connected to your friends at NEC- AIDS...isn't it amazing? If the system seems NOT to be dialing, try the same command string with the M7PULSE.COM program, to see if the problem is the dialing speed. Okay? Okay! If you look at USER area 1 (you can get there by typing "USER 1" at the CP/M prompt, you will see a file marked MDM740.COM. This is the semi-modified standard file (it is set up for touch dailing and smartmodem for PC-8801 using the MODEM7B.DRV almost exactly like the M7TOUCH.COM program. Also you will see the M7NE-2.ASM file which is the OVERLAY to install into MDM7 or MEX10 programs to get them configured for the NEC PC-8801. You will also find M7FNK files and M7LIB files. These programs (and documentation) are for further customizing your MDM740 program. The M7LIB program is used to modify the built-in phone library of the program (we have thoughtfully put in some numbers that we know you will be wanting to have..). The M7FNK program is for modifying the key-pad functions that are also built in to the MDM7 program. We have already installed those functions that we have found to be the most helpful for using RCP/M and various other electronic bulletin boards, so be cautious about changing these. The other programs on User 0 of the disk are program utilities similar to those that you will find on your NEC-AID Society RCP/M bulletin board. They are PUBLIC DOMAIN programs written to help computer users everywhere and given by the authors to RCP/M groups. Some PD programs are very good and some are just plain terrible. You have to try them to see. (We at NEC-AIDS try all of the ones we put on the board for you... about 20% of the programs we try are kept for our members, the rest are noted and erased...) The two included are very good and we hope that you enjoy using them and your new MDM740 program. When you have determined which of the two programs (M7TOUCH or M7PULSE) is the best one for you, rename it to MDM7.COM or NECMDM7.COM and erase the other one. That's all, except a friendly note to read the rest of the documentation that has been provided so that you will not make any major mistakes with your new programs, and learn to use them with the least effort. Please enjoy these programs and thank you for dealing with NEC-AID Society. The version of the Public Domain Software, MODEM7 contained on this disk has been specifically modified for use on an NEC PC- 8801A Computer ONLY. In order to operate it, you must have NEC Version-Release B CP/M for the PC-8801A, because it utilizes a special INSTALL8 RS-232C Communications Port Driver, MODEM7B.DRV, which can only be installed on the latest Version-Release. If you do not know which version you have, boot your MASTER CP/M system disk and, at the A> prompt, type: VERSION8 If the response is: VERSION8? Then you do not have version B and you need to send in your master CP/M system disk with a MONEY ORDER or CASHIER'S CHECK for $15.00 for the CP/M Version-Release B update to: NEC CP/M Version-Release B Update 700 Nicholas Boulevard, Suite 10 Elk Grove Village, Illinois 60007 The small cost covers printing, duplicating and return shipping costs that we incure in performing the update. BE SURE TO PLACE YOUR MASTER CP/M DISK IN A COMPUTER DISK MAILING ENVELOPE THAT IS VERY RIGID. We cannot be responsible for the condition of your disk before arrival here. It is also suggested, though not manditory, that you send the disk with verification back to you of our receipt of the disk, ie. Certified Mail. Most importantly, keep a record of your serial number, in case Murphy's laws take effect before we receive your disk. If the response is: The currently booted CP/M has release 2.0 of the CBIOS. Then you are ready to begin using NECMDM7. How to use NECMDM7, the PC-8801A version if the Public Domain Modem7 program: You must use your NEC Version-Release B CP/M-MASTER disk to make a new blank disk into a formatted, bootable system disk that will become your NECMDM7-WORKING disk. Then use DISK8.COM to copy the files from the NECMDM7-MASTER disk onto your newly made NECMDM7-WORKING disk. You will also need to copy the programs INSTALL8.COM and SUBMIT.COM from off of the CP/M-MASTER onto it. To do so, first, consult your CP/M Manual for how to use the DISK8 program to Format (@ 256 bytes/sector) and how to Copy System Tracks from the CP/M-MASTER to the NECMDM7-WORKING disk. Second, be sure the DISK8 program is still running and you have the Main Menu displayed on the screen. Remove the CP/M- MASTER disk from disk drive A and place the NECMDM7-MASTER disk in disk drive A. Insure that disk drive B contains your NECMDM7- WORKING disk. At the Main Menu, enter the letter that corresponds to the TRANSFER FILES selection. A new menu will appear. At this menu choose the letter that corresponds to TRANSFER FILES. When the file transfer is complete the disk drives will silence. At this point, only remove the NECMDM7- MASTER disk from disk drive A and place the CP/M-MASTER disk in disk drive A. The program should still be at the FILE TRANSFER SUBMENU. The final steps are: 1) Choose the letter that corresponds to the FILE NAME selection, then enter INSTALL8.COM . 2) Now, choose the letter for TRANSFER FILES again. When that file transfer is done, simply repeat the last two steps to transfer SUBMIT.COM. That completes the creation of your NECMDM7-WORKING disk. Place it in disk drive A. To simplify installation of the MODEM7B Communication Port Driver, a SUBMIT file called STARTUP.SUB is present on this disk. Before running the program, though, be sure that the RS-232 jumper at the rear of the PC-8801A is set to jumper position 5. This will allow communications at 300 baud, and if your modem is capable, NECMDM7 can switch it upon your command to 1200 Baud. The NECMDM7 program can be operated by entering: SUBMIT STARTUP The main menu will display giving you all the options of it's mother program, MODEM727, as last updated by CP/M user Irv Hoff. Any time when the Command>> prompt is displayed you may type in M to view the menu again. Choose T,L, or E to enter Terminal, Terminal with Local Echo, or Terminal with Echo, modes to communicate. Depressing and holding CTRL and then E simultaneously will bring you back to the Command>> prompt. At the Command>> prompt you may type CPM to exit NECMDM7. Have fun communicating. NEC Software Technical has merely installed the drivers for the PC-8801A and made this superlative program operate on NEC equipment. NECMDM7 is believed to operate correctly, but being in and from the Public Domain, no claims or warranties are made to its reliability or fitness of operation for any purpose. Sorry, but we cannot provide any support for any Public Domain programs we distribute, even if they are configured for our computers. CP/M Assembly Language Programmers Note: The assembly and support files for this program are in User area #17. (Hint use PIP with the G option)