home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-07-13 | 18.5 KB | 1,085 lines |
- ; ZCPR3 TCAP Facility (Z3TCAP)
- ; Program Name: TCMAKE
- ; Author: Richard Conn
- ; Version: 1.0
- ; Date: 10 Mar 84
- version equ 10
-
- ;
- ; TCMAKE allows the user to create a Z3T file for his particular
- ; terminal.
- ;
-
- ;
- ; Basic Equates
- ;
- z3env SET 0f400h ;ZCPR3 Environment Descriptor
- qch equ '\' ;quote char
- fcb equ 5ch
- tbuff equ 80h
- ctrlc equ 'C'-'@'
- cr equ 0dh
- lf equ 0ah
-
- ;
- ; ZCPR3 and SYSLIB References
- ;
- ext z3init,qprint,z3log
- ext bbline,sksp,eval
- ext codend,moveb,fillb,hmovb
- ext print,pfn1,pstr,capine,cin,caps,crlf,cout,pafdc,pa2hc
- ext initfcb,f$make,f$write,f$close
- ext f$exist,gfa,f$delete
-
- ;
- ; Environment Definition
- ;
- if z3env ne 0
- ;
- ; External ZCPR3 Environment Descriptor
- ;
- jmp start
- db 'Z3ENV' ;This is a ZCPR3 Utility
- db 1 ;External Environment Descriptor
- z3eadr:
- dw z3env
- start:
- lhld z3eadr ;pt to ZCPR3 environment
- ;
- else
- ;
- ; Internal ZCPR3 Environment Descriptor
- ;
- MACLIB Z3BASE.LIB
- MACLIB SYSENV.LIB
- z3eadr:
- jmp start
- SYSENV
- start:
- lxi h,z3eadr ;pt to ZCPR3 environment
- endif
-
- ;
- ; Start of Program -- Initialize ZCPR3 Environment
- ;
- call z3init ;initialize the ZCPR3 Env and the VLIB Env
-
- ;
- ; Print Banner
- ;
- call qprint
- db 'TCMAKE, Version '
- db (version/10)+'0','.',(version mod 10)+'0'
- db cr,lf,0
-
- ;
- ; Check for Entry in FCB
- ;
- lda fcb+1 ;get first char
- cpi ' ' ;none if space
- jz help
- cpi '/' ;none if slash
- jnz start1
- ;
- ; Print Help Info
- ;
- help:
- call print
- db 'TCMAKE - Create a Z3T File'
- db cr,lf,'Syntax:'
- db cr,lf,' TCMAKE outfile -or- TCMAKE outfile.typ'
- db cr,lf
- db cr,lf,'where "outfile" is the file to be generated by'
- db cr,lf,'the execution of TCMAKE. If no file type is'
- db cr,lf,'given, a file type of Z3T is the default.'
- db 0
- ret
- ;
- ; Resume Processing
- ;
- start1:
- ;
- ; Set Default File Type if None
- ;
- lxi d,fcb+9 ;pt to file type
- lxi h,deftyp ;pt to default file type
- mvi b,3 ;3 bytes
- ldax d ;get first char
- cpi ' ' ;none if space
- cz moveb ;set default file type
- ;
- ; Init the Buffers and Pointers
- ;
- call codend ;pt to scratch area
- shld scratch ;set ptr
- lxi d,100h ;give space (overkill)
- xra a ;init strings to empty
- sta rcfirst ;clear flag
- dad d
- shld cladr ;CL
- mov m,a ;clear
- dad d
- shld cmadr ;CM
- mov m,a ;clear
- dad d
- shld ceadr ;CE
- mov m,a ;clear
- dad d
- shld soadr ;SO
- mov m,a ;clear
- dad d
- shld seadr ;SE
- mov m,a ;clear
- dad d
- shld tiadr ;TI
- mov m,a ;clear
- dad d
- shld teadr ;TE
- mov m,a ;clear
- dad d
- shld cmbadr ;CM Beginning
- mov m,a ;clear
- dad d
- shld cmmadr ;CM Middle
- mov m,a ;clear
- dad d
- shld cmeadr ;CM Ending
- mov m,a ;clear
- dad d
- shld reqn ;Row Equation
- mov m,a
- dad d
- shld ceqn ;Column Equation
- mov m,a
- lxi h,ku ;clear 1-byte buffers
- mvi b,7 ;7 of them
- xra a ;0 fill
- call fillb
- ;
- ; Create the Data Base
- ;
- menu1:
- call create ;create entry
- call assemble ;assemble the entry
- jz menu1 ;continue if buffer overflow
- ;
- ; Confirm Selection
- ;
- call print
- db cr,lf,' Selected Terminal is: ',0
- lhld scratch ;pt to buffer
- call prent ;print name
- call print
- db ' -- Confirm (Y/N)? ',0
- call capine ;get input
- call crlf
- cpi 'Y'
- jnz menu1 ;continue
- call wrfile ;write file
- ret
- ;
- ; Assemble Data into Z3T Format
- ; Return with Z if Buffer Overflow (more than 128 bytes)
- ; Return with NZ if OK
- ;
- assemble:
- mvi c,128-23 ;128 bytes max with 23 bytes for header
- mvi b,23 ;copy 23 byte header
- lhld scratch ;into scratch area
- lxi d,tname ;from TNAME
- xchg
- call hmovb
- lhld cladr ;copy CL string
- call asmcopy
- lxi h,crcmd ;reverse row/col to col/row?
- lda rcfirst ;get flag
- cpi 'C' ;reverse if C
- jnz asmc0
- call asmcopy
- dcx d ;don't let zero in
- asmc0:
- lhld cmbadr ;CM Beginning
- call asmcopy
- dcx d
- lhld ceqn ;prepare for col first
- lda rcfirst ;get row/col flag
- cpi 'C' ;col/row?
- jz asmc1
- lhld reqn ;row first, so store row
- asmc1:
- call asmcopy
- dcx d ;skip 0
- lhld cmmadr ;CM Middle
- call asmcopy
- dcx d ;skip 0
- lhld reqn ;prepare for row first
- lda rcfirst ;get row/col flag
- cpi 'C' ;col/row?
- jz asmc2
- lhld ceqn ;col first, so store col
- asmc2:
- call asmcopy
- dcx d ;skip 0
- lhld cmeadr ;CM Ending
- call asmcopy
- lhld ceadr ;CE
- call asmcopy
- lhld soadr ;SO
- call asmcopy
- lhld seadr ;SE
- call asmcopy
- lhld tiadr ;TI
- call asmcopy
- lhld teadr ;TE
- call asmcopy
- xra a ;zero rest
- asmzero:
- stax d ;store 0
- inx d
- dcr c ;count down
- jnz asmzero
- dcr c ;return NZ for OK
- ret
- ;
- ; Copy TCAP String from HL to DE
- ; Check for SCRATCH Area Overflow by Counting C Down
- ; Allow For Quotes
- ;
- asmcopy:
- mov a,m ;get char
- stax d ;store it
- inx h ;pt to next
- inx d
- ora a ;done?
- rz
- dcr c ;check for overflow
- jz asmovfl
- cpi qch ;quote?
- jnz asmcopy
- mov a,m ;get quoted byte
- stax d ;store it
- inx h ;pt to next
- inx d
- dcr c ;check for overflow
- jnz asmcopy
- asmovfl:
- pop psw ;clear stack
- call print
- db cr,lf,'** Buffer Overflow **',0
- xra a ;error code
- ret
-
- ;
- ; Create Entries
- ;
- create:
- call print
- db cr,lf
- db cr,lf,' ** Z3TCAP Main Menu',0
- call prfdata ;print file data
- call print
- db cr,lf
- db cr,lf,'Define: 1. Clear Screen Sequence'
- db cr,lf,' 2. Cursor Motion Sequence'
- db cr,lf,' 3. Clear to End of Line Sequence'
- db cr,lf,' 4. Standout Mode Sequences'
- db cr,lf,' 5. Terminal Init/Deinit Sequences'
- db cr,lf,' 6. Arrow Keys'
- db cr,lf,' 7. Terminal Name'
- db cr,lf
- db cr,lf,'Status: S. Print Status (Definitions so far)'
- db cr,lf
- db cr,lf,'Exit: X. Exit and Write File'
- db cr,lf,' Q. Quit and Abort Program without Writing File'
- db cr,lf
- db cr,lf,'Command? ',0
- call capine ;get response
- call crlf
- lxi h,ctable ;pt to command table
- call tscan ;scan table
- call print
- db ' Invalid Command: ',0
- call cout ;print char
- jmp create ;resume
- ;
- ; Print File Data
- ;
- prfdata:
- call print
- db ' for File ',0
- lxi d,fcb+1
- call pfn1
- call print
- db ' **',0
- ret
- ;
- ; Define Name of Terminal
- ;
- namedef:
- lxi h,tname ;space fill terminal name buffer
- mvi a,' '
- mvi b,16
- call fillb
- call print
- db cr,lf,' Input Name of Terminal: ',0
- xra a ;no caps
- call bbline ;get line from user
- call sksp ;skip over leading spaces
- lxi d,tname ;save name in buffer
- mvi b,16 ;16 bytes max
- putname:
- mov a,m ;get next char
- ora a ;done?
- jz pn1
- stax d ;put next char
- inx h ;pt to next
- inx d
- dcr b ;count down
- jnz putname
- pn1:
- jmp create
- ;
- ; Define Arrow Keys
- ;
- arrowdef:
- call print
- db 'Arrow Key Definition'
- db cr,lf,' Your Terminal''s Arrow Keys may be defined ONLY'
- db cr,lf,' if they generate only one character each. If they'
- db cr,lf,' do, type Y to continue. If not, type anything else.'
- db cr,lf,' Define Arrow Keys (Y/N)? ',0
- call capine
- cpi 'Y'
- jnz create
- call print
- db cr,lf,' Strike the Appropriate Arrow Key'
- db cr,lf,' 1. Arrow UP? ',0
- lxi h,ku ;pt to first entry
- call cin
- mov m,a ;store it
- inx h ;pt to next
- call ccout
- call print
- db cr,lf,' 2. Arrow DOWN? ',0
- call cin
- mov m,a
- inx h
- call ccout
- call print
- db cr,lf,' 3. Arrow RIGHT? ',0
- call cin
- mov m,a
- inx h
- call ccout
- call print
- db cr,lf,' 4. Arrow LEFT? ',0
- call cin
- mov m,a
- call ccout
- jmp create
- ;
- ; Review Arrow Keys
- ;
- arrowrev:
- call print
- db cr,lf,'Review of Arrow Key Definitions'
- db cr,lf,' 1. Arrow UP = ',0
- lxi h,ku ;pt to first
- mov a,m
- call ccout
- inx h
- call print
- db cr,lf,' 2. Arrow DOWN = ',0
- mov a,m
- call ccout
- inx h
- call print
- db cr,lf,' 3. Arrow RIGHT = ',0
- mov a,m
- call ccout
- inx h
- call print
- db cr,lf,' 4. Arrow LEFT = ',0
- mov a,m
- call ccout
- ret
-
- ;
- ; Quit Create Mode and Program
- ;
- crquit:
- call print
- db 'Do you really want to quit (Y/N)? ',0
- call capine ;get input from user
- cpi 'Y' ;see if he typed a Y
- jnz create ;resume if not
- pop psw ;clear stack
- ;
- ; Exit Create Mode
- ;
- crexit:
- ret
- ;
- ; CL Definition
- ;
- cldef:
- call print
- db 'Clear Screen Definition',cr,lf
- db ' 1. Timing Delay',0
- call getdelay ;get delay constant
- sta cld ;save delay constant
- call print
- db cr,lf,' 2. Clear Screen Byte Sequence',0
- lhld cladr ;pt to buffer
- call getstr
- jmp create
-
- ;
- ; CL Review
- ;
- clreview:
- call print
- db cr,lf,'Review of Clear Screen Definition'
- db cr,lf,' 1. Timing Delay = ',0
- lda cld
- call pafdc
- call print
- db ' Milliseconds'
- db cr,lf,' 2. Clear Screen Sequence:',0
- lhld cladr
- call prtstr
- ret
- ;
- ; CE Definition
- ;
- cedef:
- call print
- db 'Clear to End of Line Definition',cr,lf
- db ' 1. Timing Delay',0
- call getdelay ;get delay constant
- sta ced ;save delay constant
- call print
- db cr,lf,' 2. Clear to End of Line Byte Sequence',0
- lhld ceadr ;pt to buffer
- call getstr
- jmp create
- ;
- ; CE Review
- ;
- cereview:
- call print
- db cr,lf,'Review of Clear to End of Line Definition'
- db cr,lf,' 1. Timing Delay = ',0
- lda ced
- call pafdc
- call print
- db ' Milliseconds'
- db cr,lf,' 2. Clear to End of Line Sequence:',0
- lhld ceadr
- call prtstr
- ret
- ;
- ; SO Definition
- ;
- sodef:
- call print
- db 'Standout Mode Definition',cr,lf
- db ' 1. Begin Standout Mode Byte Sequence',0
- lhld soadr ;pt to buffer
- call getstr
- call print
- db cr,lf,' 2. End Standout Mode Byte Sequence',0
- lhld seadr ;pt to buffer
- call getstr
- jmp create
- ;
- ; SO Review
- ;
- soreview:
- call print
- db cr,lf,'Review of Standout Mode Definition'
- db cr,lf,' 1. Begin Standout Mode Sequence:',0
- lhld soadr
- call prtstr
- call print
- db cr,lf,' 2. End Standout Mode Sequence:',0
- lhld seadr
- call prtstr
- ret
- ;
- ; TI Definition
- ;
- tidef:
- call print
- db 'Terminal Init/Deinit Definition',cr,lf
- db ' 1. Terminal Initialization Byte Sequence',0
- lhld tiadr ;pt to buffer
- call getstr
- call print
- db cr,lf,' 2. Terminal Deinitialization Byte Sequence',0
- lhld teadr ;pt to buffer
- call getstr
- jmp create
- ;
- ; TI Review
- ;
- tireview:
- call print
- db cr,lf,'Review of Terminal Init/Deinit Definition'
- db cr,lf,' 1. Terminal Initialization Sequence: ',0
- lhld tiadr
- call prtstr
- call print
- db cr,lf,' 2. Terminal Deinitialization Sequence: ',0
- lhld teadr
- call prtstr
- ret
- ;
- ; CM Definition
- ;
- cmdef:
- call print
- db 'Cursor Motion Definition',cr,lf
- db ' 1. Timing Delay',0
- call getdelay ;get delay
- sta cmd
- cmcrdef:
- call print
- db cr,lf,' 2. Enter R if Row/Column or C for Column/Row: ',0
- call capine
- cpi 'C' ;col/row
- jz cmdef1
- cpi 'R'
- jz cmdef1
- call print
- db ' - Invalid',0
- jmp cmcrdef
- cmdef1:
- sta rcfirst ;set flag
- call print
- db cr,lf,' 3. Enter Equation for Row: ',0
- xra a ;no caps
- call bbline ;get input
- call sksp ;skip spaces
- xchg
- lhld reqn
- xchg
- call copy0
- call print
- db cr,lf,' 4. Enter Equation for Column: ',0
- xra a ;no caps
- call bbline ;get input
- call sksp ;skip spaces
- xchg
- lhld ceqn
- xchg
- call copy0
- call print
- db cr,lf,' 5. Enter Prefix Byte Sequence',0
- lhld cmbadr ;beginning
- call getstr
- call print
- db cr,lf,' 6. Enter Middle Byte Sequence',0
- lhld cmmadr ;middle
- call getstr
- call print
- db cr,lf,' 7. Enter Suffix Byte Sequence',0
- lhld cmeadr ;ending
- call getstr
- jmp create
- ;
- ; Copy HL to DE until 0
- ;
- copy0:
- mov a,m ;copy
- stax d
- cpi qch ;quote?
- jz copyq
- ora a ;done if 0
- rz
- inx h ;pt to next
- inx d
- jmp copy0
- copyq:
- inx h ;copy quoted char
- inx d
- mov a,m ;copy
- stax d
- inx h ;advance
- inx d
- jmp copy0
- ;
- ; Review CM Data
- ;
- cmreview:
- call print
- db cr,lf,'Review of Cursor Motion Data'
- db cr,lf,' 1. Timing Delay = ',0
- lda cmd
- call pafdc
- call print
- db ' Milliseconds'
- db cr,lf,' 2. Row or Column First: ',0
- lda rcfirst
- call cout
- call print
- db cr,lf,' 3. Row Equation: -->',0
- lhld reqn
- call pstr
- call print
- db '<--'
- db cr,lf,' 4. Column Equation: -->',0
- lhld ceqn
- call pstr
- call print
- db '<--'
- db cr,lf,' 5. Prefix Byte Sequence: ',0
- lhld cmbadr
- call prtstr
- call print
- db cr,lf,' 6. Middle Byte Sequence: ',0
- lhld cmmadr
- call prtstr
- call print
- db cr,lf,' 7. Suffix Byte Sequence: ',0
- lhld cmeadr
- call prtstr
- ret
-
- ;
- ; Status Display
- ;
- rstatus:
- call print
- db cr,lf,' Strike Any Key to Continue - ',0
- call cin
- status:
- call print
- db cr,lf,' ** Z3TCAP Status',0
- call prfdata ;file data
- call print
- db cr,lf
- db cr,lf,'Review: 1. Clear Screen Definition'
- db cr,lf,' 2. Cursor Motion Definition'
- db cr,lf,' 3. Clear to End of Line Definition'
- db cr,lf,' 4. Standout Mode Definition'
- db cr,lf,' 5. Terminal Init/Deinit Definition'
- db cr,lf,' 6. Arrow Key Definition'
- db cr,lf,' 7. Terminal Name Definition'
- db cr,lf
- db cr,lf,'Exit: X. Exit to Main Menu'
- db cr,lf
- db cr,lf,'Command? ',0
- call capine
- lxi h,rtable
- call tscan
- call print
- db cr,lf,' Invalid Command: ',0
- call cout
- jmp status
- ;
- ; Review Name
- ;
- rname:
- call print
- db cr,lf,'Terminal Name: ',0
- lxi h,tname
- mvi b,16
- rname1:
- mov a,m ;get char
- call cout
- inx h ;pt to next
- dcr b ;count down
- jnz rname1
- jmp rstatus
- ;
- ; Review CL
- ;
- rcl:
- call clreview
- jmp rstatus
- ;
- ; Review CE
- ;
- rce:
- call cereview
- jmp rstatus
- ;
- ; Review CM
- ;
- rcm:
- call cmreview
- jmp rstatus
- ;
- ; Review SO
- ;
- rso:
- call soreview
- jmp rstatus
- ;
- ; Review TI
- ;
- rti:
- call tireview
- jmp rstatus
- ;
- ; Review Arrow Keys
- ;
- rarrow:
- call arrowrev
- jmp rstatus
- ;
- ; Status Review Commands
- ;
- rtable:
- db '1'
- dw rcl
- db '2'
- dw rcm
- db '3'
- dw rce
- db '4'
- dw rso
- db '5'
- dw rti
- db '6'
- dw rarrow
- db '7'
- dw rname
- db 'X'
- dw create
- db 0
-
- ;
- ; Scan Command Table
- ;
- tscan:
- mov b,a ;save char in B
- tscan1:
- mov a,m ;get char
- ora a ;end of table?
- jz tscanx ;exit
- cmp b ;compare
- jz tscanf ;found
- inx h ;skip to next
- inx h
- inx h
- jmp tscan1
- tscanx:
- mov a,b ;restore char and exit - not found
- ret
- tscanf:
- inx h ;get address
- mov a,m
- inx h
- mov h,m
- mov l,a
- pop psw ;clear stack
- pchl ;branch to routine
- ;
- ; Command Table
- ;
- ctable:
- db '1' ;CL
- dw cldef
- db '2' ;CM
- dw cmdef
- db '3' ;CE
- dw cedef
- db '4' ;SO
- dw sodef
- db '5' ;TI
- dw tidef
- db '6' ;arrows
- dw arrowdef
- db '7' ;name
- dw namedef
- db 'S' ;status
- dw status
- db 'Q' ;quit
- dw crquit
- db 'X' ;exit
- dw crexit
- db 0
- ;
- ; Routine to Input Delay Constant
- ;
- getdelay:
- call print
- db cr,lf,' Enter Delay Time in Milliseconds: ',0
- mvi a,0ffh ;caps
- call bbline
- call sksp
- call eval ;convert to binary
- ret
- ;
- ; Routine to Define Text String
- ;
- getstr:
- shld firstch ;set ptr to first char
- getfirst:
- mvi b,1 ;set count
- lhld firstch ;set next char to first
- shld nxtchar
- getnext:
- call print
- db cr,lf,' Char #',0
- mov a,b ;get char number
- call pafdc ;print it
- inr b ;increment count
- push b ;save it
- ;
- ; Prompt for Type of Input
- ;
- call print
- db ' - Type Char, .=Number, or <CR>=Done: ',0
- call cin ;get response
- cpi cr ;exit
- jz getx
- cpi '.' ;number?
- jz getnum
- ;
- ; Input Character
- ;
- call print
- db 'Char ',0
- call ccout ;echo character
- jmp putch
- ;
- ; Input Number
- ;
- getnum:
- call print
- db 'Enter Number: ',0
- mvi a,0ffh ;caps
- call bbline ;get input
- call sksp ;skip spaces
- call eval ;convert
- ;
- ; Save Character with Quoting
- ;
- putch:
- lhld nxtchar ;pt to next char
- ora a ;quote if null
- jz quote
- cpi qch ;quote if quote
- jz quote
- putch1:
- mov m,a ;store it
- inx h ;pt to next
- shld nxtchar ;set ptr
- pop b ;get count
- jmp getnext ;get next char
- ;
- ; Quote the Character
- ;
- quote:
- mvi m,qch ;save quote char
- inx h
- jmp putch1
- ;
- ; Exit
- ;
- getx:
- pop psw ;clear stack
- lhld nxtchar ;store ending 0
- mvi m,0
- ret
- ;
- ; Print String Pted to by HL
- ;
- prtstr:
- mvi b,0 ;set count
- call crlf ;new line
- mov a,m ;empty?
- ora a
- jnz prts0
- call print
- db ' -- Empty --',0
- ret
- prts0:
- mov a,m ;get next char
- ora a ;done?
- rz
- call print
- db ' (',0
- mov a,b ;print count
- inr a
- call pafdc
- call print
- db ') ',0
- mov a,m ;get next char
- inx h ;pt to next
- cpi qch ;check for quote
- jnz prts1
- mov a,m ;get char that is quoted
- inx h ;pt to next
- prts1:
- call ccout
- call print
- db ' ',0
- call pa2hc ;print as 2 hex chars
- call print
- db 'H ',0
- inr b ;increment count
- mov a,b ;get count
- ani 3
- cz crlf ;new line
- jmp prts0
-
- ;
- ; Create Target File
- ;
- wrfile:
- lxi d,fcb ;pt to FCB
- call z3log ;log into proper directory
- call f$exist ;test of presence of file
- jz make2 ;create file
- call gfa ;get file attributes
- ani 1 ;R/O?
- jz make1
- call print
- db cr,lf,'File ',0
- lxi d,fcb+1
- call pfn1
- call print
- db ' is Read/Only - Saving as $$$.Z3T',0
- lxi h,tempfcb ;set $$$.Z3T
- lxi d,fcb+1
- mvi b,11 ;11 chars
- call moveb
- lxi d,fcb ;reinit
- call initfcb ;resume
- make1:
- call f$delete ;delete file
- make2:
- call f$make ;create file
- cpi 0ffh ;error
- jnz writef
- call print
- db cr,lf,'File Create Error',0
- ret
- ;
- ; Write Block to File
- ;
- writef:
- lhld scratch ;pt to entry
- lxi d,tbuff ;copy into buffer
- mvi b,128 ;128 bytes
- call moveb
- lxi d,fcb ;pt to FCB
- call f$write ;write block
- jnz werr
- call f$close ;close file
- call print
- db cr,lf,'File ',0
- lxi d,fcb+1
- call pfn1
- call print
- db ' Created',0
- ret
- ;
- ; Can't Write File
- ;
- werr:
- call print
- db cr,lf,'File Write Error',0
- ret
- ;
- ; Print Entry Name Pted to by HL
- ;
- prent:
- mvi b,16 ;16 chars
- prtname:
- mov a,m ;get char
- call cout
- inx h ;advance
- dcr b ;count down
- jnz prtname
- ret
- ;
- ; Print Char in A with Control Char Processing
- ;
- ccout:
- push psw ;save char
- ani 7fh ;mask MSB
- cpi 7fh ;DEL?
- jz ccout2
- cpi ' '
- jnc ccout1
- push psw ;save char
- mvi a,'^'
- call cout
- pop psw
- adi '@' ;convert to char
- ccout1:
- call cout
- pop psw
- ret
- ccout2:
- call print
- db '<DEL>',0
- pop psw
- ret
-
- ;
- ; Buffers
- ;
- crcmd:
- db '%r',0
- tempfcb:
- db '$$$ '
- db 'Z3T'
- tname:
- db '** Empty Name **' ;16 chars
- ku:
- ds 1 ;cursor up
- kd:
- ds 1 ;cursor down
- kr:
- ds 1 ;cursor right
- kl:
- ds 1 ;cursor left
- cld:
- ds 1 ;CL delay
- cmd:
- ds 1 ;CM delay
- ced:
- ds 1 ;CE delay
- cladr:
- ds 2 ;CL address
- cmadr:
- ds 2 ;CM address
- ceadr:
- ds 2 ;CE address
- soadr:
- ds 2 ;SO address
- seadr:
- ds 2 ;SE address
- tiadr:
- ds 2 ;TI address
- teadr:
- ds 2 ;TE address
- cmbadr:
- ds 2 ;CM Beginning
- cmmadr:
- ds 2 ;CM Middle
- cmeadr:
- ds 2 ;CM Ending
- reqn:
- ds 2 ;Row Equation
- ceqn:
- ds 2 ;Column Equation
- rcfirst:
- ds 1 ;R if Row First, C if Col First
- deftyp:
- db 'Z3T' ;default file type
- firstch:
- ds 2 ;ptr to first char in string
- nxtchar:
- ds 2 ;ptr to next char in string
- scratch:
- ds 2 ;ptr to scratch area
-
- end