;
;    SOL SYSTEM EQUATES
;
;  VDM PARAMETERS
;
VDMEM  EQU  0CC00H  START+0C00H  ;VDM SCREEN MEMORY
HIBYTE  EQU  <VDMEM  ;MEMORY HIGH BYTE
;
;  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
CEOL  EQU  12
LF  EQU  10
CR  EQU  13
BLANK  EQU  ' '
SPACE  EQU  BLANK
ESC  EQU  1BH
;
;  PORT ASSIGNMENTS
;
STAPT  EQU  0FAH  ;STATUS PORT GENERAL
SERST  EQU  0F8H  ;SERIAL STATUS PORT
SDATA  EQU  0F9H  ;SERIAL 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 DATA 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
;
;  STATUS FLAG BYTE (FLGBYT) EQUATES:
;    WHEN THE FOLLOWING BITS ARE 0:
;     USE BY:  SET M=<byte-value>
;       (default value is 00H)
;
SPCFLG EQU 1  ;ENABLE SPACE-BAR HALT
ESCFLG EQU 2  ;ENABLE ESCAPE ABORT
SPDFLG EQU 4  ;ENABLE SCROLL SPEED CHANGE
CTLFLG EQU 8  ;DISABLE CONTROL CHARACTER OUTPUT
DELFLG EQU 16  ;DISABLE DEL AND UNDERLINE TO PRINT
PRTFLG EQU 32  ;ENABLE PRINTER TOGGLE
CURFLG EQU 64  ;ENABLE CURSOR DISPLAY
SPRFLG EQU 128  ;SELECT PRINTER OUTPUT 0=S 1=P
;
;    SOL SYSTEM GLOBAL AREA
;
; ORG  START+800H  ;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  ;USED IN GETADR AND DUMP ROUTINES
UOPRT  DS  2
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
FLGBYT DS  1  ;STATUS FLAG BYTE (DESCRIBED ABOVE)
PRTOG  DS  1  ;PRINT TOGGLE FLAG
MOVCNT DS  1  ;SET MOVE COUNT
MOVLFT DS  1  ;# OF MOVES LEFT TO PERFORM
DHEAD  DS  16  ;DUMMY HEADER
AUXBU  DS  16  ;AUXILIARY BUFFER
;
USARE  EQU  $  ;START OF USER AREA *****************
; REMEMBER THAT THE STACK WORKS ITS WAY DOWN FROM
; THE END OF THIS 1K RAM AREA.
;
  END  .
;
