home *** CD-ROM | disk | FTP | other *** search
- 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