 
*  ED1/ENTRY     40-col       Jul / 15 / 93
*----------------------
*  Minimal function
 
*  Low mem patches for ED Entry
*------------------------------
*  Available before clear entry
 
       DORG >2000
 
SCLR   EQU  $
OVRL   BSS  2                 >2000
CMDRT  BSS  2                 >2002
MARKER BSS  2                 >2004
UPCASE BSS  2                 >2006
DESSAV BSS  2                 >2008
MFLAG  BSS  2                 >200A
GOLF   BSS  2                 >200C
SWSF   BSS  2                 >200E
 
REFRSH BSS  2                 >2010
VRFY   BSS  2                 >2012
PROMPT BSS  2                 >2014
 
LINTBL BSS  24*2              >2016
ERRLIN EQU  LINTBL+4
LINT46 EQU  LINTBL+44
LINT48 EQU  LINTBL+46
LINADR BSS  2                 >2046
LINEND BSS  2                 >2048
 
 
 
*------------------
CMDCL  EQU  $->2000           Running clear block length
*------------------
 
ICHRF  BSS  2                 >204A
CTLMDE BSS  2                 >204C
WDWRAP BSS  2                 >204E
 
LINENO BSS  2                 >2050
BUFADR BSS  2                 >2052
LOADS  BSS  2                 >2054
RLINE  BSS  2                 >2056
WLINE  BSS  2                 >2058
NCHAR  BSS  2                 >205A
LINF   BSS  2                 >205C
TOPPAR BSS  2                 >205E
 
WTOP   BSS  7*2               >2060
SCNLEN BSS  2                 >206E
 
CRFLAG BSS  2                 >2070
SREGS  BSS  7*2               >2072
SREGS2 EQU  SREGS+2
 
NUM1   BSS  2             |   >2080     Keep
NUM2   BSS  2             |   >2082     in
NUM3   BSS  2             |   >2084     this
NUMCHK BSS  2             |   >2086     order
SAVER0 BSS  2                 >2088
DELAST BSS  2                 >208A
LEVEL1 BSS  2                 >208C
RSTRL  BSS  2                 >208E Replace String length
 
STRL   BSS  1                 >2090 String length
STRL1  BSS  1                 >2091 String length as byte
ELINE  BSS  2                 >2092 Line count
STRING BSS  2                 >2094 Pointer to find string
RSTRNG BSS  2                 >2096 Pointer to replacing string
RSFLAG BSS  2                 >2098 Flag for 3 delimiters
CNT    BSS  2                 >209A Count for string cmds
COLNUM BSS  2                 >209C EoF/Col check flag for parse
WPMODE BSS  2                 >209E
 
ASPARS BSS  2                 >20A0
WDPROC BSS  2                 >20A2
MKSAV1 BSS  2                 >20A4
MKSAV3 BSS  2                 >20A6
MESGAD BSS  2                 >20A8
EOFM1  BSS  2                 >20AA
IORNM  BSS  2                 Total 6
       BSS  4
 
PARBLK EQU  $                 Marks end of initial clear >208C
 
 
*-----------------------------------------------*
*  Initial block cleared on entry : >A0 = 80 w  *
*-----------------------------------------------*
 
       AORG >2000
 
*  Entry code and parameter block
*--------------------------------
*  9 w
 
       B    @HIBUF
LDIMM  BYTE >0                SETO => halt for choice screen
LDTYPB BYTE >0                0 - 3
LNGTYP BYTE >0                0 - 8
HELPLD BYTE >1                Help load flag
       BYTE >0                Used for 80-col
       BYTE >0                Also
PCENTY BYTE >0
PCEXT  BYTE >0
ERAMF  DATA >0                Used for 80 col
HDPGET BYTE >0                Hard path name flag
       BYTE >0
       DATA >0                Spare
       DATA '50'              Version ID
 
 
*  Printer codes, 24 bytes each
*------------------------------
*  24 w
 
PCEDAT BYTE >00,>00,>00,>00,>00,>00,>00,>00
       BYTE >00,>00,>00,>00,>00,>00,>00,>00
       BYTE >00,>00,>00,>00,>00,>00,>00,>00
 
PCXDAT BYTE >00,>00,>00,>00,>00,>00,>00,>00
       BYTE >00,>00,>00,>00,>00,>00,>00,>00
       BYTE >00,>00,>00,>00,>00,>00,>00,>00
 
 
*  Hard path name data
*---------------------
 
DISNAM TEXT 'DSK5. '
HDPNAM TEXT 'DSK2.           '
       TEXT '                '
       TEXT '          '
       EVEN
 
 
*  Default TAB table data
*------------------------
*  22 w
 
*  Primary format table  - Word processor
 
FRMWP  DATA 6,85
       BYTE 11,16,21,31,41,51,61,71
       BYTE 85,85,85,85,85,85,85,85
       DATA 6
 
*  Alternate Tab table  - Program editor
 
FRMPE  DATA 6,85
       BYTE 6,13,18,36,85,85,85,85
       BYTE 85,85,85,85,85,85,85,85
       DATA 6
 
       DATA '  ','  ','  ','  '         Exact fill to PARBLK
       DATA '  ','  ','  ','  '
       DATA '  '
 
*--------------------
*  Resume data block
*--------------------
 
       AORG PARBLK
 
*  Help file PAB Data
*--------------------
 
PABHLD DATA >0500,>0000,0,>3C0
       BYTE 0
PABHLN BYTE >0F
       TEXT 'WDS1.FWB.'
HLPFLD TEXT 'HELP4A'
HLPFLL EQU  $-1
HPMAX  BYTE >0
       EVEN
INXADR DATA HLPFLL
 
*  Margin/Window data
 
WLIN   BYTE >00
       BYTE >1A
       BYTE >2E
WNLIN  BYTE >06
       BYTE >1A
       BYTE >2E
 
E0     BYTE >E0
EOT    EQU  $
CR     BYTE >0D
       BYTE '/'
BKTAB  BYTE >94               Back tab keycode
FIVE   BYTE >05
LSTKEY BYTE >05
       EVEN
 
FEOT   DATA EOT               >20B8
SWIDTH DATA >27               Width - 1
SSNLEN DATA 24             |
STPLEN DATA 24             |
TOPSCN DATA CPUSCN         |
 
*  Command table pointers
 
CCTABL DATA COMVE             Pointer in VDP
CATBL  EQU  64                Offset to 2nd block
CBTBL  EQU  90                Offset to <fctn> table
 
*  Cursor data
 
OCSR   BYTE 8,>3C,>24,>24,>24,>24,>24,>24,>3C
WCSR   BYTE 8,>70,>70,>70,>70,>70,>70,>70,>70
CCSR   BYTE 8,>00,>00,>00,>00,>00,>00,>00,>7C
FCSR   BYTE >00,>00,>00,>00,>00,>00,>00,>7C
MASK10 BYTE >10
       EVEN
 
*  Color & VReg data
 
COLCH  DATA >0                Main color
       DATA >0087
TWCOLS DATA >0,>0,>0,>0,>0
TWCOLT EQU  $
 
H80    EQU  $
SNDATA BYTE >80,>20,>90,>9F
MBSDAT BYTE >80,>08,>92,>9F   Margin bell sound data
LBDAT  BYTE >80,>0A,>98,>9F
       EVEN
 
FLRATE DATA >0003
NOINTR DATA 0                 Interrupt cancel flag
DELAY  DATA 0
 
RMGIN  DATA 5                 Write in bell inset at load
ERFLAG DATA 0
 
TERMIN EQU  $                 Table of terminators
WILDC  BYTE '*'               Wildcard byte
SLASH  BYTE '/'
BLANK  BYTE ' '
COMMA  BYTE ','
LPAREN BYTE '('
RPAREN BYTE ')'
ASCQ   BYTE 'Q'
B8E    BYTE >8E
B0F    BYTE >0F
CTRLC  BYTE >83
H40    BYTE >40
H39    BYTE >39
H1E    BYTE >1E               Cursor
CSR    EQU  H1E
MARKR  BYTE >01
UDLINE BYTE >1F
PERIOD BYTE '.'
QUOTE  BYTE >27
DELIM  BYTE >0
DBLNK  BYTE >0
FORMF  BYTE >0C
ANTI20 BYTE >DF
B06    BYTE >06
BFF    BYTE >FF
 
       EVEN
 
TENM2  EQU  $-2
WONE   EQU  $                 Word data
ONE    EQU  $+1               Byte data
TEN    DATA 1                 Powers of 10 list
TENS   DATA 10,100,1000,10000
 
 
*---------------------------
*  Command line entry table
*--------------------------
*  Order must match MESG
 
CMDTBL EQU  $
       DATA 'SF',0,SV         Save File
CMDTE  EQU  $-CMDTBL
 
       DATA 'LF',0,LF         Load File
       DATA 'PF',0,PF         Print File
       DATA 'LT',0,TL         Load Temp
       DATA 'DP',0,DP         SDir print device
       DATA 'SD',MSDPT,SD     Show Directory
P      DATA 'P ',MPGPT,PG     Purge
       DATA 'E ',0,CMDXIT     Edit
       DATA 'F ',MODFP,COMSTA Files
       DATA 'L ',MODLP,COMSTA Lines
       DATA 'SH',MODSP,COMSTA SearcH
TT     DATA 'T ',0,MTCI       Tabs
       DATA 'Q ',MQEPT,QF     Quit
       DATA 'QQ',0,QQI        Quit Immediate
       DATA 'FS',0,FS         Find String
       DATA 'RS',0,RS         Replace String
       DATA 'M ',MMLPT,ML     Move
       DATA 'C ',MCLPT,CL     Copy
       DATA 'S ',MSLPT,SL     Show
       DATA 'D ',MDLPT,DL     Delete
       DATA 'MK',EMLPT,EML    Mark line
       DATA 'H ',0,HSCR       Help
       DATA 'WC',0,WDCENT     Wildcard
CMDTND EQU   $
 
 
*  Response table
*-----------------
 
CRSTAB EQU  $
Y      BYTE 'Y'               Yes
N      BYTE 'N'               No
TE     BYTE 'E'               Exit
A      BYTE 'A'               All
S      BYTE 'S'               Stop
TI     BYTE 'I'               Indent
L      BYTE 'L'               Left
R      BYTE 'R'               Right
CRSTND EQU  $
       EVEN
 
*---------------------*
 
 
