BBS.DOC 881220 AMIGA AMATEUR RADIO PACKET TERMINAL/BBS PROGRAM * The program will be referred to as BBS, but you will find it as * P1103.ASM (source) or P1103 (runable). P1103 means November 3, 1988. This is a program written in Assembly Language for the Amiga computer to run PACKET radio as a backround task. It uses the Amiga Serial port to interface to a Terminal Node Controller (TNC). The TNC is connected to the Amiga thru a RS-232 serial cable, and to a VHF or HF radio thru Receive audio, Microphone audio, and PTT lines. The terminal part should run on any TNC, but the BBS part will only run on a KANTRONICS KPC-1, KPC-2, KAM, or KPC-4. DUAL PORTING works with the KAM or KPC-4. See DISP files for parameters. NOTE: Stack must be set to 8000 or more. Suggest setting Stack 8000 and CD RAM:. TNC ECHO must be turned on. This program will do its own SERIAL port initialization and runs with HARDWARE RTS/CTS HANDSHAKING. SERIAL PORT: (This for A1000. A500 or A2000 may be different !!!) DO NOT CONNECT ALL 25 WIRES !!! Some have supply voltages. AMIGA > TNC 1 - 1 GND AMIGA 6 (DSR) tied to AMIGA 20 (DTR) 2 < 2 TD AMIGA 8 (DCD) tied to AMIGA 21 (+5V) thru 1k resistor 3 > 3 RD 4 > 4 RTS No other wires are connected. 5 < 5 CTS 7 - 7 GND NOTE: Amiga pin 8 probably can be left blank. I installed the pull up resistor years ago and don't remember why(?). "RUN PBBS" will will bring up a full, borderless, window in non- interlaced or interlaced mode. Works well with overscan WB screen. This window can be re-sized under AmigaDos 1.2 or made smaller and moved to any part of screen. Function Keys: (As appear in window title line) HELP Displays current status. ^=BBS active M=monitor mode on, B=BBS enabled, Capture filename, I/O baud rate, number of characters and lines in capture buffer. F1 - Prompts for a file name that will CAPTURE communications to/from TNC to the named file. Default is to the current directory, but regular file names and paths may be entered, either to disk, RAM, or printer. Note that PACKET has an internal 4k buffer that fills up first before dumping to capture file. - Hit F1 again to toggle closed CAPTURE file. F2 - Prompts for a filename for a text file that you want to SEND to another station. File SEND will start immediately. TNC ECHO must be turned on for this to work. - Hit F2 again during SEND to cancel. F3 - Sets BAUD to next lower rate. 9600, 2400, 1200, 300 bauds are available. Program defaults to 9600 baud. TNC ABAUD parameter must be the same as PACKET baud on Amiga. F5 - Toggles MON mode. With M=OFF, Amiga looks almost like a dumb terminal and does character I/O. M=ON causes line I/O and trashes much of the duplicate CALL>CALL,DIGI1,DIGI2 lines, and will only display full lines from TNC - TNC must echo a full line that you type before it will be displayed. This mode is used with Kantronics KPC with HEADERLN=ON in TNC. N3ET>KB3UD,K3WGV-1: CALL>CALL,DIGI: Hello fron Allentown, Pa. Packet text F6 - Opens a NEWCLI window. Remember this command when you GURU on another task. Click in new window and save files, then re-boot. F7 - After connecting to a station, BBS is forced on and forwards msgs that are for that BBS. Then a F> is sent for reverse forwards. F8 - Supposed to break into BBS connection to talk to user. Code not completed yet, so DO NOT USE!! F9 - Toggles BBS enable/disable, indicated by 'B' status with HELP key. With BBS disabled, you remain in terminal mode when someone connects. F10- Same as WINDOWCLOSE gadget in upper left of window. Closes all open capture or send files, then quits. NOTE: When BBS is active, F10 key will disconnect station (may wait for 4 minute timeout). NOTES: This is a borderless window to get the most on a screen. You may at times get confused as to where the window starts and stops. Suggest a full screen PACKET window, with other tasks running on top. The WINDOWCLOSE, FRONT, BACK, RESIZE, and DRAG gadgets are all there, but typically invisable - click on BACK gadgets in upper right to make things visable again. Note function key help in title line. When program is first run, CHARS/LINES will display starting and ending addresses of the program in DECIMAL. It will do this until a CAPTURE file is opened. When SENDing a file, characters are sent to the TNC and program will not send more characters until it sees them ECHOed back. This program is set up for HARDWARE RTS/CTS handshaking ONLY. ------ SOURCE CODE ------ Hey people! The Assembly source code is included. It was written by me for me. You will have a hard time with it, but play anyway. Please give it away or change it, or anything, but DON'T SELL IT OR THE PROGRAM. The source is complete. Nothing else is needed except ASMB and ALINK. It assembles fast, but is somewhat inflexible. Put a copy of BBS.ASM in RAM: and do following: ASMB RAM:BBS.ASM -o RAM:BBS.o ALINK RAM:BBS.o to RAM:BBS STACK 8000 RUN RAM:BBS ... then type F3 until baud is correct. ------ BBS operation ------ BBS expects to find 7 files on a disk named B: and these files are addressed: B:DIR Maintains directory of messages that are sent. B:USR Maintains user information. B:FWD Used when forwarding messages. B:BID Maintains list of $BIDs for bulletin dupe rejection. B:0 This is MY plug (N3ET) for AmigaBBS B:1 This is a list of BBS commands. Give the user a break and keep it short - he needs help, not 20k of bullshit! B:2 This is your plug. Tell the user about YOUR system. This will eventually be the response to the future 'I' command for INFO. SYSOP entry of messages is quite poor at this time, but goes like this: Use ED to build a message. Then save as say, B:4. Type "L B:4" and note message length. "ED B:DIR" and add new first line, mimic line below it: " 4 BN 12345 ALL WB3KTW 8712312359 Hello all" ---- -- ------ ------ ------ ------ ---------- --------- "msg# PS LENGTH TO FROM @BBS YYMMDDHHMM Title " I know, you aint got ED, so your gonna have to wing it with your own editor. May I suggest that you have someone connect and send a message or 2 and then have him KILL them. Then take a look at B:DIR and the messages. You, as SYSOP, will have to duplicate what the BBS does if you want to put a message in your system. In the B:USR file, clean it up every now and then by deleting the older lines (one line must remain as a `seed'. Format is: WA3MNT 8712312359 0025 3 Randy ------ ---------- ---- ---- -------- CALL YYMMDDHHMM CONS Nmsg Name Never delete top entry in DIR or new messages will overwrite previous messages. If you want to force a BBS message to whoever you are connected to, then change B:DIR line to " 4/PN " etc. The slash '/' tells the BBS to forward this message when it receives F> (as in reverse forward) or when you connect to someone and hit F7 key. NEVER CONNECT TO YOURSELF with BBS enabled !! I never did this, but expect to re-boot for this act of insanity. The program aint that smart to figure out whether you are typing or the TNC is sending something. Five WHATS and he is disconnected. If the BBS doesn't understand a user's command, it says *** "R 1" so the user should read message 1. He is allowed 5 *** ERRORS and the BBS disconnects. Drop me a note on Amateur radio packet. N3ET @ N3ET Randy Lilly N3ET (215) 791-3774 752 S. Carldon St Allentown, PA 18103