; ; ; ; SOL SYSTEM EQUATES ; ; ; VDM PARAMETERS ; VDMEM EQU 0CC00H ;VDM SCREEN MEMORY HIBYTE EQU 0CCH ;MEMORY HIGH BYTE ; ; IF EXT ; CP/M TARBELL EQUATES CPDISK EQU 0 ;0 FOR RIGHT, 10H FOR LEFT CPDCOMD EQU 0D0H CPDSTAT EQU CPDCOMD CPDTRCK EQU CPDCOMD+1 CPDSCTR EQU CPDCOMD+2 CPDDATA EQU CPDCOMD+3 CPDWAIT EQU CPDCOMD+4 CPDCCMD EQU CPDCOMD+4 ; ENDF ; ; KEYBOARD SPECIAL KEY ASSIGNMENTS ; DOWN EQU 9AH UP EQU 97H LEFT EQU 81H RIGHT EQU 93H MODE EQU 80H CLEAR EQU 8BH HOME EQU 08EH BACKS EQU 5FH ;BACKSPACE IF EXT BELL EQU 7 CEOL EQU 12 ENDF LF EQU 10 CR EQU 13 BLANK EQU ' ' SPACE EQU BLANK CX EQU 'X'-40H ESC EQU 1BH ; ; PORT ASSIGNMENTS ; IF EXT ALARM EQU 0FCH ENDF STAPT EQU 0FAH ;STATUS PORT GENERAL SERST EQU 0F8H ;SERIAL STATUS PORT SDATA EQU 0F9H ;SERIAL DATA TAPPT EQU 0FAH ;TAPE STATUS PORT TDATA EQU 0FBH ;TAPE DATA KDATA EQU 0FCH ;KEYBOARD DATA PDATA EQU 0FDH ;PARALLEL DATA DSTAT EQU 0FEH ;VDM DISPLAY PARAMETER PORT SENSE EQU 0FFH ;SENSE SWITCHES ; ; ; BIT ASSIGNMENT MASKS ; SCD EQU 1 ;SERIAL CARRIER DETECT SDSR EQU 2 ;SERIAL DATA SET READY SPE EQU 4 ;SERIAL PARITY ERROR SFE EQU 8 ;SERIAL FRAMING ERROR SOE EQU 16 ;SERIAL OVERRUN ERROR SCTS EQU 32 ;SERIAL CLEAR TO SEND SDR EQU 64 ;SERIAL DATA READY STBE EQU 128 ;SERIAL TRANSMITTER BUFFER EMPTY ; KDR EQU 1 ;KEYBOARD DAYA READY PDR EQU 2 ;PARALLEL DATA READY PXDR EQU 4 ;PARALLEL DEVICE READY TFE EQU 8 ;TAPE FRAMING ERROR TOE EQU 16 ;TAPE OVERRUN ERROR TDR EQU 64 ;TAPE DATA READY TTBE EQU 128 ;TAPE TRANSMITTER BUFFER EMPTY ; SOK EQU 1 ;SCROLL OK FLAG ; TAPE1 EQU 80H ;1=TURN TAPE ONE ON TAPE2 EQU 40H ;1=TURN TAPE TWO ON ; ; ; ; SOL SYSTEM GLOBAL AREA ; ; ORG 0C800H ;START OF 1K RAM AREA ; SYSRAM EQU $ ;START OF SYSTEM RAM SYSTP EQU $+1024 ;STACK IS AT THE TOP ; ; ; ***** PARAMETERS STORED IN RAM ***** ; UIPRT DS 2 ;USER DEFINED INPUT RTN IF NON-ZERO UOPRT DS 2 ;USER DEFINED OUTPUT RTN IF NON-ZERO DFLTS DS 2 ;DEFAULT PSUEDO I/O PORTS ; (ALWAYS ZERO IN SOLOS) IPORT DS 1 ;CRNT INPUT PSEUDO PORT OPORT DS 1 ;CRNT OUTPUT PSEUDO PORT NCHAR DS 1 ;CURRENT CHARACTER POSITION LINE DS 1 ;CURRENT LINE POSITION BOT DS 1 ;BEGINNING OF TEXT DISPLACEMENT SPEED DS 1 ;SPEED CONTROL BYTE ESCFL DS 1 ;ESCAPE FLAG CONTROL BYTE TSPD DS 1 ;CURRENT TAPE SPEED INPTR DS 2 ;FOR COMPATABILITY W/CUTER NUCNT DS 1 ;NUMBER OF NULLS AFTER CRLF IGNCR DS 1 ;FF=IGNORE CRC ERRORE, ELSE NORMAL ; DS 10 ;ROOM FOR FUTURE EXPANSION ; ; ; THIS IS THE HEADER LAYOUT ; THEAD DS 5 ;NAME DS 1 ;THIS BYTE MUST BE ZERO HTYPE DS 1 ;TYPE BLOCK DS 2 ;BLOCK SIZE LOADR DS 2 ;LOAD ADDRESS XEQAD DS 2 ;AUTO-EXECUTE ADDRESS HSPR DS 3 ;SPARES ; HLEN EQU $-THEAD ;LENGTH OF HEADER BLKOF EQU BLOCK-THEAD ;OFFSET TO BLOCK SIZE DHEAD DS HLEN ;A DUMMY HDR FOR COMPARES WHILE RDING ; ; CUTAB DS 6*4 ;ROOM FOR UP TO 6 CUSTOM USER COMMANDS ; ; FNUMF DS 1 ;FOR CURRENT FILE OPERATIONS FCBAS DS 7 ;1ST FILE CONTROL BLOCK FCBA2 DS 7 ;2ND FILE CONTROL BLOCK FBUF1 DS 2*256 ;SYSTEM FILE BUFFER BASE DS 81 ;THIS IS AN AREA USED BY CUTER USARE EQU $ ;START OF USER AREA ***************** ; REMEMBER THAT THE STACK WORKS ITS WAY DOWN FROM ; THE END OF THIS 1K RAM AREA. ; ; ;