TITLE 'POOR MANS NETWORK ** COLUMBIA M64 OVERLAY' ; ; Last updated 15 Apr 87 v1.0 Jim Lill ; NETBIOS EQU 2000H OFFSET EQU 0F00H ;DISPL TO DRIVERS ; TRUE EQU 0FFH FALSE EQU 0 CR EQU 13 ; ORG 107H ; ; MODEM COMMANDS (NOT USED IN THIS VERSION) ; MATTNCDS DB 'A','T',0,0,0,0,0,0,0,0 ;ATTENTION MINTRCDS DB '+','+','+',0,0,0,0,0,0,0 ;INTERRUPT MDIALCDS DB 'D',0,0,0,0,0,0,0,0,0 ;DIAL A NO MHANGCDS DB 'H','0',0,0,0,0,0,0,0,0 ;HANG UP LINE MINITCDS DB 'E0',CR ;INITIALIZATION DB 'F1',CR ;(40 BYTES TOTAL) DB 'Q0',CR DB 'V1',CR DB 'X1',CR DB 'S0=0',CR DB 'S7=15',CR DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; BAUDRATE EQU $ ;BAUD RATE TABLE DW 40H ;300 DW 60H ;600 DW 70H ;1200 DW 0 ;1800 DW 78H ;2400 DW 0 ;3600 DW 7CH ;4800 DW 0 ;7200 DW 7EH ;9600 DW 7FH ;19200 DW 0 ;38400 ; ERRMARK DB '!' ;ERROR MARKER COMPUTER DB ' Columbia M64 "Shoebox" ',CR ; .........1.........2.........3 30 bytes PAGE ORG NETBIOS+31BH ; SCRNSIZE DB 24 ;LINES ON SCREEN SCRNWID DB 80 ;WIDTH OF SCREEN ; CLRLINE DB 1,14,0,0,0,0,0,0,0,0 ;CLEAR TO EOL DIRCURSR DB 2,27,'=',0,0,0,0,0,0,0 ;DIRECT CURSOR ADDR MIDCURSR DB 0,0,0,0,0,0,0,0,0,0 ;MIDDLE STRING ENDCURSR DB 0,0,0,0,0,0,0,0,0,0 ;ENDING STRING VOFFSET DB 32 ;CURSOR ADDR OFFSET CURSRTYP DB 0 ;0=Y,X; 1=X,Y ASCCURSR DB 0 ;ASCII CURSOR ADDR VDELAY DB 0 ;CURS ADDR DELAY REVVIDEO DB 1,1,0,0,0,0,0,0,0,0 ;REVERSE VIDEO NORVIDEO DB 1,2,0,0,0,0,0,0,0,0 ;NORMAL VIDEO SAVECPOS DB 0,0,0,0,0,0,0,0,0,0 ;SAVE CURSR POSN RSTRCPOS DB 0,0,0,0,0,0,0,0,0,0 ;RESTORE CURSR POSN MSGLINE DB 0 ;WHERE TO PUT MESSAGE ; ORG NETBIOS+61CH ; SYSTEMID DB 3 ;THIS SYSTEM ID FASTCLK DB TRUE ;4MHZ OR BETTER MSGKEY DB 1CH,0,0,0 ;MSG KEY SEQUENCE RELOC DW 0 ;WHERE TO PUT NETBIOS DS 8 ;reserved ; PORTSTAT EQU 59H ;PORT 1 STATUS MPORT EQU 58H ;PORT 1 DATA PORTCTL EQU 59H ;PORT 1 CONTROL PORTBAUD EQU 80H ;PORT 1 BAUD RATE ; ; USART CONTROL BYTES ; USART1 DB 80H ;GET USART'S ATTN USART2 DB 40H ;SOFTWARE RESET FINALBIT DB 37H ;ENABLE XMIT FIXED DB 02H ;USART CONSTANT BITS ; PARITY DB 0 ;PARITY CHARBITS DB 0CH ;BITS/CHAR = 8 STOPBITS DB 0C0H ;STOP BITS = 2 RATEBAUD DW 7FH ;DEFAULT BAUD RATE ; TITLE 'COLUMBIA DRIVERS' ORG NETBIOS+OFFSET ; DRIVERS EQU $ ;VECTOR TABLE ANYEXT JMP DR$ANYEXT INEXT JMP DR$INEXT EXTRDY JMP DR$EXTRDY OUTEXT JMP DR$OUTEXT RESETEXT JMP DR$RESETEXT ACTIVITY RET ! NOP ! NOP PRTRBUSY RET ! NOP ! NOP ; ; COLUMBIA I/O ROUTINES ; ; ; CHECK IF BYTE AT MODEM ; Z set if byte available. ; May use registers A, B, C. ; DR$ANYEXT IN PORTSTAT ;PORT STATUS XRI 2 ;MAKE LOW TRUE ANI 2 ;DATA AVAIL? RET ; ; GET BYTE FROM MODEM ; May use registers A, B, C. ; DR$INEXT IN MPORT ;DATA PORT RET ; ; CHECK IF MODEM PORT READY TO XMIT ; Z set if so. ; May use registers A, B, C. ; DR$EXTRDY IN PORTSTAT ;STATUS PORT XRI 1 ANI 1 ;TBE? RET ; ; SEND BYTE TO MODEM ; May use registers A, B, C. ; DR$OUTEXT OUT MPORT RET ; ; ; INITIALIZE USART, ENABLE XMIT ; DR$RESETEXT: LDA USART1 OUT PORTCTL ;GET USART'S ATTN OUT PORTCTL OUT PORTCTL ; LDA USART2 ;SOFTWARE RESET OUT PORTCTL ; LDA PARITY ;PARITY MOV B,A ;INTO B LDA CHARBITS ;NUM DATA BITS ORA B ;COMBINE THEM MOV B,A ;SAVE IN B LDA STOPBITS ;NUM STOP BITS ORA B ;COMBINE THEM MOV B,A ;SAVE IN B LDA FIXED ;CONSTANT BITS ORA B ;COMBINE THEM OUT PORTCTL ;SEND MODE INSTR ; LDA FINALBIT OUT PORTCTL ;ENABLE XMIT ; ; LDA RATEBAUD ; OUT PORTBAUD RET ; END