home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Oakland CPM Archive
/
oakcpm.iso
/
cpmug
/
cpmug006.ark
/
CUTTER.ASM
< prev
next >
Wrap
Assembly Source File
|
1984-04-29
|
15KB
|
1,349 lines
ORG 0F000H
; CUTS SOURCE
; R.J.S. 08/27/77
;
START MOV A,A
INIT JMP STRTA
RETRN JMP COMND
FOPEN JMP BOPEN
FCLOS JMP PCLOS
RDBYT JMP RTBYT
WRBYT JMP WTBYT
RDBLK JMP RTAPE
WRBLK JMP WTAPE
;
SOUT LDA OPORT
AOUT JMP OUTPR
SINP LDA IPORT
AINP EQU $
;
PUSH H
LXI H,ITAB
IOPRC ANI 3
RLC
ADD L
MOV L,A
JMP DISPT
;
OUTPR EQU $
PUSH H
LXI H,OTAB
JMP IOPRC
;
KREA1 EQU $
IN STAPT
CMA
ANI KDR
RZ
IN KDATA
RET
;
SREA1 EQU $
IN STAPT
ANI SDR
RZ
IN SDATA
ANI 7FH
RET
;
SEROT EQU $
IN STAPT
RAL
JC SEROT
MOV A,B
OUT SDATA
RET
;
PARIT EQU $
IN STAPT
CMA
ANI PDR
RZ
IN PDATA
RET
;
PAROT EQU $
IN STAPT
ANI PXDR
JNZ PAROT
MOV A,B
OUT PDATA
RET
;
ERRIT EQU $
PUSH H
LHLD UIPRT
JMP ERRO1
ERROT EQU $
PUSH H
LHLD UOPRT
ERRO1 EQU $
MOV A,L
ORA H
JNZ DISP1
JMP STRTD
;
;
VDMO1 EQU $
PUSH H
PUSH D
PUSH B
;
LDA ESCFL
ORA A
JNZ ESCS
MOV A,B
ANI 7FH
MOV B,A
JZ GOBK
LXI H,TBL
CALL TSRCH
GOBACK EQU $
CALL VDADD
MOV A,M
ORI 80H
MOV M,A
LHLD SPEED-1
INR L
XRA A
TIMER DCX H
CMP H
JNZ TIMER
GOBK POP B
POP D
POP H
RET
;
NEXT EQU $
INX H
INX H
;
TSRCH MOV A,M
ORA A
JZ CHAR
CMP B
INX H
JNZ NEXT
PUSH H
CALL CREM
XTHL
JMP DISPT
;
CHAR EQU $
MOV A,B
CPI 7FH
RZ
;
OCHAR CALL VDADD
MOV M,B
LDA NCHAR
CPI 63
JC OK
LDA LINE
CPI 15
JNZ OK
; END OF SCREEN-ROLL UP 1
SCROLL XRA A
STA NCHAR
SROL MOV C,A
CALL VDAD
XRA A
CALL CLIN1
LDA BOT
INR A
ANI 0FH
JMP ERAS3
;INCREMENT LINE COUNTER IF NECESSARY
OK LDA NCHAR
INR A
ANI 03FH
STA NCHAR
RNZ
PDOWN EQU $
LDA LINE
INR A
CURSC ANI 0FH
CUR STA LINE
RET
;ERASE LINE
PERSE LXI H,VDMEM
MVI M,80H+' '
INX H
ERAS1 EQU $
MVI M,' '
INX H
MOV A,H
CPI 0D0H
JC ERAS1
STC
PHOME EQU $
MVI A,0
STA LINE
STA NCHAR
RNC
ERAS3 OUT DSTAT
STA BOT
RET
CLIN2 EQU $
LDA OPORT
ORA A
RNZ
CLINE CALL VDADD
LDA NCHAR
CLIN1 CPI 64
RNC
MVI M,' '
INX H
INR A
JMP CLIN1
; ROUT TO MOVE CURSOR UP 1 LINE
PUP LDA LINE
DCR A
JMP CURSC
; MOVE CUR LEFT 1
PLEFT LDA NCHAR
DCR A
PCUR EQU $
ANI 03FH
STA NCHAR
RET
; CURSOR RIGHT 1
PRIT LDA NCHAR
INR A
JMP PCUR
; ROUTINE TO CALCULATE SCREEN ADDR
VDADD LDA NCHAR
MOV C,A
VDAD2 LDA LINE
VDAD MOV L,A
LDA BOT
ADD L
RRC
RRC
MOV L,A
ANI 3
ADI VDMEM1
MOV H,A
MOV A,L
ANI 0C0H
ADD C
MOV L,A
RET
; ROUTINT TO REMOVE CURSOR
CREM CALL VDADD
MOV A,M
ANI 07FH
MOV M,A
RET
; ROUTINE TO BACKKSPACE
PBACK CALL PLEFT
CALL VDADD
MVI M,' '
RET
; PROCESS CARRIAGE RETURN
PCR CALL CLINE
JMP PCUR
; PROCESS LF
PLF LDA LINE
INR A
ANI 15
JNZ CUR
JMP SROL
; SET1 ESCAPE PROCESS FLAG
PESC MVI A,-1
STA ESCFL
RET
; PROCESS ESCAPE SEQUENCE
ESCS CALL CREM
CALL ESCSP
JMP GOBACK
ESCSP LDA ESCFL
CPI -1
JZ SECOND
; PROCESS THIRD CHR OF ESC SEQUENCE
LXI H,ESCFL
MVI M,0
CPI 2
JC SET1X
JZ SET1Y
CPI 8
JZ STSPD
CPI 9
JC OCHAR
RNZ
; TAB ABSOLUTE TO VALUE IN REG B
SET1X MOV A,B
JMP PCUR
; SET1 CUR TO LINE "B"
SET1Y MOV A,B
JMP CURSC
; PROC SECOND CHR OF ESC SEQUENCE
SECOND MOV A,B
CPI 3
JZ CURET
CPI 4
JNZ ARET2
ARET MOV B,H
MOV C,L
ARET1 POP H
POP D
PUSH B
PUSH H
XRA A
ARET2 STA ESCFL
RET
; RET PRESENT SCREEN PARAMETERS IN BC
CURET LXI H,NCHAR
MOV B,M
INX H
MOV C,M
JMP ARET1
;
; START UP SYSTEM
;
STRTA XRA A
MOV C,A
LXI H,DFLTS
CLERA MOV M,A
INX H
INR C
JNZ CLERA
; DETERMINE DEFAULT PORTS
IN SENSE
MOV B,A
ANI 3
STA DFLTS+1
ORA A
JNZ STRTB
LXI SP,SYSTP
CALL PERSE
STRTB EQU $
LXI H,0
CPI 3
JZ STRTC
SHLD UOPRT
STRTC EQU $
MOV A,B
RAR
RAR
ANI 3
STA DFLTS
CPI 3
JZ STRTD
SHLD UIPRT
STRTD EQU $
LHLD DFLTS
SHLD IPORT
COMN1 EQU $
XRA A
OUT TAPPT
;
; COMMAND MODE
;
; PROCESS COMANDS
;
COMND LXI SP,SYSTP
CALL PROMPT
CALL GCLIO
CALL COPRC
JMP COMND
; READS COMMAND LINE
GCLIO EQU $
LXI H,INLIN-1
MVI M,7
INX H
SHLD INPTR
MVI M,80
GCLI1 EQU $
MVI M,' '
INX H
DCR A
JNZ GCLI1
GCLIN CALL SINP
JZ GCLIN
ANI 7FH
JZ STRTD
MOV B,A
CPI CR
JZ CLIN2
CPI LF
RZ
LHLD INPTR
CPI 7FH
JNZ GCLI2
MVI B,BACKS
DCX H
MVI A,'G'-40H
CMP M
JNZ GCLI3
MOV B,A
GCLI2 EQU $
MOV M,B
INX H
GCLI3 EQU $
SHLD INPTR
CONT CALL SOUT
JMP GCLIN
; FIND AND PROCESS COMAND
COPRC EQU $
CALL STUP
XCHG
LXI H,START
PUSH H
CALL SCHR
JZ ERR1
XCHG
LXI D,COMTAB
CALL FDCOM
CZ FDCOU
DISPO EQU $
JZ ERR2
INX D
XCHG
; GOES TO CONTENTS HL
DISPT EQU $
MOV A,M
INX H
MOV H,M
MOV L,A
DISP1 EQU $
XTHL
MOV A,L
RET
;
;
FDCOU EQU $
LXI D,CUTAB
FDCOM LDAX D
ORA A
RZ
PUSH H
CMP M
INX D
JNZ NCOM
INX H
LDAX D
CMP M
JNZ NCOM
POP H
ORA A
RET
NCOM INX D
INX D
INX D
POP H
JMP FDCOM
; SET1 UP TO PROCESS INPUT LINE
STUP EQU $
LXI H,INLIN
SHLD INPTR
LDA OPORT
ORA A
RNZ
CALL CREM
MVI C,1
JMP VDAD2
; COMMAND TABLE
COMTAB EQU $
DB 'DU'
DW DUMP
DB 'EN'
DW ENTER
DB 'EX'
DW EXEC
DB 'GE'
DW TLOAD
DB 'SA'
DW TSAVE
DB 'XE'
DW TXEQ
DB 'CA'
DW TLIST
DB 'SE'
DW SET1
DB 'CU'
DW CUSET1
DB 0
; DISPLAY DRIVER COMMAND TABLE
TBL DB CLEAR
DW PERSE
DB UP
DW PUP
DB DOWN
DW PDOWN
DB LEFT
DW PLEFT
DB RIGHT
DW PRIT
DB HOME
DW PHOME
DB CR
DW PCR
DB LF
DW PLF
DB BACKS
DW PBACK
DB ESC
DW PESC
DB 0
; OUTPUT DEVICE TABLE
OTAB DW VDMO1
DW SEROT
DW PAROT
DW ERROT
; INPUT DEVICE TABLE
ITAB DW KREA1
DW SREA1
DW PARIT
DW ERRIT
; SECONDARY COMMAND TABLE FOR SET1
SETAB DB 'TA'
DW TASPD
DB 'S='
DW DISPD
DB 'I='
DW SET1IN
DB 'O='
DW SET1OT
DB 'CI'
DW SET1CI
DB 'CO'
DW SET1CO
DB 'XE'
DW SET1XQ
DB 'TY'
DW SET1TY
DB 'N='
DW SET1NU
DB 'CR'
DW SET1CR
DB 0
; OUT A CR FOLLOWED BY PROMPT
PROMPT CALL CRLF
MVI B,'>'
JMP SOUT
CRLF MVI B,LF
CALL SOUT
MVI B,CR
CALL SOUT
LDA NUCNT
MOV C,A
NULOT DCR C
RM
XRA A
CALL OUTH
JMP NULOT
; SCAN OVER UP TO 12 CHARS LOOKINF FOR BLANK
SBLK MVI C,12
SBLK1 LDAX D
CPI BLANK
JZ SCHR
INX D
CPI '='
JZ SCHR
DCR C
JNZ SBLK1
RET
; SCAN PAST UP TO 10 BLANK CHARS FO A NON BLANK CHAR
SCHR MVI C,10
SCHR1 LDAX D
CPI SPACE
RNZ
INX D
DCR C
RZ
JMP SCHR1
;
SCONV CALL SBLK
JZ ERR1
; ASCII TO BINARY
SHEX LXI H,0
SHE1 LDAX D
CPI 20H
RZ
CPI '/'
RZ
CPI ':'
RZ
HCONV DAD H
DAD H
DAD H
DAD H
CALL HCOV1
JNC ERR1
ADD L
MOV L,A
INX D
JMP SHE1
HCOV1 SUI 48
CPI 10
RC
SUI 7
CPI 10H
RET
;
PSCAN EQU $
CALL SBLK
RZ
CALL SHEX
RET
;
; DUMP COMMAND
;
DUMP EQU $
CALL SCONV
PUSH H
CALL PSCAN
POP D
XCHG
DLOOP CALL CRLF
CALL ADOUT
CALL BOUT
MVI C,16
DLP1 MOV A,M
PUSH B
CALL HBOUT
MOV A,H
CMP D
JC DLP1A
MOV A,L
CMP E
JNC COMND
DLP1A EQU $
POP B
INX H
DCR C
JNZ DLP1
JMP DLOOP
; OUT HL AS HEX 16 BIT VALUE
ADOUT MOV A,H
CALL HEOUT
MOV A,L
HBOUT CALL HEOUT
CALL SINP
JZ BOUT
ANI 7FH
JZ COMND
CPI ' '
JNZ BOUT
WTLP1 CALL SINP
JZ WTLP1
BOUT MVI B,' '
JMP SOUT
HEOUT MOV C,A
RRC
RRC
RRC
RRC
CALL HEOU1
MOV A,C
HEOU1 ANI 0FH
ADI 48
CPI 58
JC OUTH
ADI 7
OUTH MOV B,A
JMP SOUT
; ENTR COMMAND
ENTER CALL SCONV
PUSH H
ENLOP CALL CRLF
MVI B,':'
CALL SOUT
CALL GCLIO
CALL STUP
XCHG
ENLO1 MVI C,3
CALL SCHR1
JZ ENLOP
CPI '/'
JZ COMND
CALL SHEX
CPI ':'
JZ ENLO3
MOV A,L
POP H
MOV M,A
INX H
PUSH H
JMP ENLO1
ENLO3 XTHL
INX D
JMP ENLO1
; EXECUTE COMMAND
EXEC CALL SCONV
EXEC1 EQU $
PUSH H
LXI H,START
RET
;
NAMEO EQU $
LXI H,THEAD
NAME CALL SBLK
MVI B,6
NAME1 LDAX D
CPI ' '
JZ NFIL
CPI '/'
JZ NFIL
MOV M,A
INX D
INX H
DCR B
JNZ NAME1
; ERROR HANDLER
ERR1 XCHG
ERR2 MVI M,'?'
LDA OPORT
ORA A
JZ COMND
CALL CRLF
MVI B,'?'
CALL SOUT
JMP COMND
;
NFIL MVI M,0
INX H
DCR B
JNZ NFIL
CPI '/'
MVI A,1
JNZ DEFLT
INX D
CALL SCHR
SUI '0'
DEFLT EQU $
ANI 1
MVI A,TAPE1
JNZ STUNT
RAR
STUNT STA FNUMF
RET
; XEQ & GET
TXEQ DB 3EH
TLOAD XRA A
PUSH PSW
LXI H,DHEAD
CALL NAME
LXI H,0
CALL PSCAN
TLOA2 XCHG
LXI H,DHEAD
MOV A,M
ORA A
JNZ TLOA3
LXI H,THEAD
TLOA3 PUSH H
CALL ALOAD
POP H
CALL RTAPE
JC TAERR
CALL NAOUT
POP PSW
ORA A
RZ
LDA HTYPE
ORA A
JM TAERR
LDA THEAD+5
ORA A
JNZ TAERR
LHLD XEQAD
JMP EXEC1
; SAVE PROGRAMS ON CASSET1TE
TSAVE EQU $
CALL NAMEO
CALL SCONV
PUSH H
CALL SCONV
XTHL
PUSH H
CALL PSCAN
SHLD LOADR
POP H
POP D
PUSH H
MOV A,E
SUB L
MOV L,A
MOV A,D
SBI 0
SUB H
MOV H,A
INX H
SHLD BLOCK
PUSH H
CALL ALOAD
LXI H,THEAD
CALL WHEAD
POP D
POP H
JMP WTAP1
; OUTPUT ERROR AND HEADER
TAERR CALL CRLF
MVI D,6
LXI H,ERRM
CALL NLOOP
CALL NAOUT
JMP COMN1
ERRM DB 'ERROR !'
; CAT COMMAND
TLIST EQU $
CALL NAMEO
CALL CRLF
LLIST CALL ALOAD
MVI B,1
CALL TON
LIST1 CALL RHEAD
JC COMN1
JNZ LIST1
CALL NAOUT
JMP LLIST
;
ALOAD LXI H,FNUMF
LDA TSPD
ORA M
RET
;
NAOUT MVI D,8
LXI H,THEAD-1
CALL NLOOP
CALL BOUT
LHLD LOADR
CALL ADOUT
LHLD BLOCK
CALL ADOUT
JMP CRLF
NLOOP MOV A,M
ORA A
JNZ CHRLI
MVI A,' '
CHRLI EQU $
CALL OUTH
INX H
DCR D
JNZ NLOOP
RET
; SET1 COMMAND
SET1 CALL SBLK
JZ ERR1
PUSH D
CALL SCONV
XTHL
LXI D,SETAB
CALL FDCOM
JMP DISPO
; TAPE SPEED
TASPD EQU $
ORA A
JZ SET1SP
MVI A,32
SET1SP STA TSPD
RET
STSPD EQU $
MOV A,B
DISPD EQU $
STA SPEED
RET
SET1IN EQU $
STA IPORT
RET
SET1OT EQU $
STA OPORT
RET
SET1CI EQU $
SHLD UIPRT
RET
SET1CO EQU $
SHLD UOPRT
RET
SET1TY EQU $
STA HTYPE
RET
SET1XQ EQU $
SHLD XEQAD
RET
SET1NU EQU $
STA NUCNT
RET
SET1CR EQU $
STA IGNCR
RET
CUSET1 EQU $
CALL NAMEO
LXI H,COMND
CALL PSCAN
PUSH H
LXI H,THEAD
CALL FDCOU
JZ CUSE2
DCX D
MVI M,0
CUSE2 EQU $
MOV A,M
STAX D
INX D
INX H
MOV A,M
STAX D
INX D
POP H
XCHG
MOV M,E
INX H
MOV M,D
RET
; CUTTER TAPE ROUTINES
;
BOPEN PUSH H
CALL LFCB
JNZ TERE2
MVI M,1
INX H
MOV M,A
INX H
MOV M,A
LXI D,FBUF1
LDA FNUMF
ADD D
MOV D,A
UBUF POP B
ORA A
JMP PSTOR
; ERROR RETURNS
TERE2 POP H
TERE1 POP D
TEREO XRA A
STC
RET
EOFER DCR A
STC
POP D
RET
;
;
PCLOS CALL LFCB
RZ
ORA A
INR A
MVI M,0
RZ
;
INX H
INX H
MOV A,M
CALL PLOAD
PUSH B
LXI H,BLKOF
DAD B
ORA A
JZ EOFW
;
PUSH H
MOV M,A
INX H
MVI M,0
INX H
MOV M,E
INX H
MOV M,D
MOV H,B
MOV L,C
CALL WFBLK
POP H
EOFW XRA A
MOV M,A
INX H
MOV M,A
POP H
JMP WFBLK
;
LFCB LXI H,FCBAS
RAR
ANI 1
STA FNUMF
JZ LFCB1
LXI H,FCBA2
LFCB1 EQU $
MOV A,M
ORA A
STC
RET
; READ TAPE BYTE
RTBYT CALL LFCB
RZ
INR A
JM TEREO
MVI M,-1
INX H
MOV A,M
PUSH H
INX H
CALL PLOAD
POP H
ORA A
JNZ GTBYT
;
RDNBLK PUSH D
PUSH H
INX H
CALL PHEAD
CALL RFBLK
JC TERE2
POP H
MOV A,E
ORA D
JZ EOFER
MOV M,E
INX H
MVI M,0
DCX H
MOV A,E
POP D
;
GTBYT DCR A
MOV M,A
INX H
MOV A,M
INR M
ADD E
MOV E,A
JNC RT1
INR D
RT1 LDAX D
ORA A
RET
; WRITE BYTE
WTBYT CALL LFCB
RZ
INR A
RZ
MVI M,0FEH
INX H
INX H
MOV A,B
PUSH PSW
PUSH H
;
CALL PLOAD
POP H
MOV A,M
ADD E
MOV E,A
JNC WT1
INR D
WT1 POP PSW
STAX D
ORA A
INR M
RNZ
;
CALL PHEAD
JMP WFBLK
;
PHEAD CALL PLOAD
PUSH B
LXI H,BLKOF-1
DAD B
LXI B,256
CALL PSTOR
POP H
RET
PSTOR INX H
MOV M,C
INX H
MOV M,B
INX H
MOV M,E
INX H
MOV M,D
RET
PLOAD INX H
MOV C,M
INX H
MOV B,M
INX H
MOV E,M
INX H
MOV D,M
RET
;
RFBLK CALL GTUNT
RTAPE PUSH D
MVI B,3
CALL TON
IN TDATA
PTAP1 PUSH H
CALL RHEAD
POP H
JC TERR
JNZ PTAP1
PUSH H
LXI D,THEAD
CALL DHCMP
POP H
JNZ PTAP1
POP D
MOV A,D
ORA E
LHLD BLOCK
XCHG
JNZ RTAP
LHLD LOADR
RTAP PUSH D
RTAP2 EQU $
CALL DCRCT
JZ RTOFF
CALL RHED1
JC TERR
JZ RTAP2
; ERROR RET
TERR XRA A
STC
JMP RTOF1
TOFF MVI B,1
CALL DELAY
RTOFF XRA A
RTOF1 OUT TAPPT
POP D
RET
DCRCT EQU $
XRA A
MOV B,A
ORA D
JNZ DCRC2
ORA E
RZ
MOV B,E
MOV E,D
RET
DCRC2 EQU $
DCR D
ORA A
RET
;
RHEAD MVI B,10
RHEA1 CALL STAT
RC
IN TDATA
ORA A
JNZ RHEAD
DCR B
JNZ RHEA1
SOHL CALL TAPIN
RC
CPI 1
JC SOHL
JNZ RHEAD
LXI H,THEAD
MVI B,HLEN
RHED1 EQU $
MVI C,0
RHED2 EQU $
CALL TAPIN
RC
MOV M,A
INX H
CALL DOCRC
DCR B
JNZ RHED2
;
CALL TAPIN
XRA C
RZ
LDA IGNCR
INR A
RET
;
STAT IN TAPPT
ANI TDR
RNZ
CALL SINP
JZ STAT
ANI 7FH
JNZ STAT
STC
RET
TAPIN CALL STAT
RC
TREDY IN TAPPT
ANI TFE+TOE
IN TDATA
RZ
STC
RET
WFBLK CALL GTUNT
WTAPE EQU $
PUSH H
CALL WHEAD
POP H
LXI D,BLKOF
DAD D
MOV E,M
INX H
MOV D,M
INX H
MOV A,M
INX H
MOV H,M
MOV L,A
;
WTAP1 EQU $
PUSH H
WTAP2 EQU $
CALL DCRCT
JZ TOFF
CALL WTBL
JMP WTAP2
WRTAP PUSH PSW
WRWAT IN TAPPT
ANI TTBE
JZ WRWAT
POP PSW
OUT TDATA
DOCRC EQU $
SUB C
MOV C,A
XRA C
CMA
SUB C
MOV C,A
RET
;
WHEAD EQU $
CALL WTON
MVI D,50
NULOP XRA A
CALL WRTAP
DCR D
JNZ NULOP
MVI A,1
CALL WRTAP
MVI B,HLEN
WTBL MVI C,0
WLOOP MOV A,M
CALL WRTAP
DCR B
INX H
JNZ WLOOP
MOV A,C
JMP WRTAP
DHCMP MVI B,5
DHLOP LDAX D
CMP M
RNZ
DCR B
RZ
INX H
INX D
JMP DHLOP
GTUNT EQU $
LDA FNUMF
ORA A
LDA TSPD
JNZ GTUN2
ADI TAPE2
GTUN2 ADI TAPE2
RET
WTON MVI B,4
TON EQU $
OUT TAPPT
DELAY LXI D,0
DLOP1 DCX D
MOV A,D
ORA E
JNZ DLOP1
DCR B
JNZ DELAY
RET
;
; END
;
VDMEM EQU 0E000H
DOWN EQU 1AH
UP EQU 17H
LEFT EQU 01H
RIGHT EQU 13H
CLEAR EQU 0BH
HOME EQU 0EH
MODE EQU 03 ;CONTROL C FOR RANDY
BACKS EQU 5FH
LF EQU 10
CR EQU 13
BLANK EQU ' '
SPACE EQU BLANK
CX EQU 'X'-40H
ESC EQU 1BH
;
; PORT ASSIGNMENTS
;
STAPT EQU 0
SDATA EQU 1
PDATA EQU 2
KDATA EQU 1
DSTAT EQU 0E0H
TAPPT EQU 0EAH
TDATA EQU 0EBH
SENSE EQU 0FFH
SCD EQU 1
SDSR EQU 2
SPE EQU 4
SFE EQU 8
SOE EQU 16
SCTS EQU 32
SDR EQU 64
STBE EQU 128
KDR EQU 1
PDR EQU 2
PXDR EQU 4
TFE EQU 8
TOE EQU 16
TDR EQU 64
TTBE EQU 128
SOK EQU 1
TAPE1 EQU 80H
TAPE2 EQU 40H
;
; SYSTEM GLOBAL EREA
;
ORG START+800H
SYSRAM EQU $
SYSTP EQU SYSRAM+3FFH
;
UIPRT DS 2
UOPRT DS 2
DFLTS DS 2
IPORT DS 1
OPORT DS 1
NCHAR DS 1
LINE DS 1
BOT DS 1
SPEED DS 1
ESCFL DS 1
TSPD DS 1
INPTR DS 2
NUCNT DS 1
IGNCR DS 1
DS 10
;
THEAD DS 5
DS 1
HTYPE DS 1
BLOCK DS 2
LOADR DS 2
XEQAD DS 2
HSPR DS 3
HLEN EQU $-THEAD
BLKOF EQU BLOCK-THEAD
DHEAD DS HLEN
CUTAB DS 6*4
FNUMF DS 1
FCBAS DS 7
FCBA2 DS 7
FBUF1 DS 2*256
DS 1
INLIN DS 80
USARE EQU $
VDMEM1 EQU 0E0H ;FOR THIS ASSM
END