A2osX/SCMASM.31/SCI.S.GP.txt

175 lines
4.7 KiB
Plaintext
Raw Normal View History

NEW
AUTO 3,1
*--------------------------------------
JMP WARM.DOS
JMP PARSE.COMMAND
SCI.USER.CMD JMP GP.RTS USER COMMAND PARSER
JMP ERROR.HANDLER
PRINT.ERROR JMP ERROR.PRINTER
ERROR.CODE .HS 00
*--------------------------------
OUTVEC .DA $FDF0,$C100,$C200,$C300,$C400,$C500,$C600,$C700
INVEC .DA $FD1B,$C100,$C200,$C300,$C400,$C500,$C600,$C700
*--------------------------------
VECOUT .HS F0FD
VECIN .HS 1BFD
*--------------------------------
VDOSIO .DA 0,0 SAVE HARDWARE VECTOR DURING EXEC, WRITE
.DA 0,0 VSYSIO
*--------------------------------
D.SLOT .HS 06
D.DRIV .HS 01
*--------------------------------
PREGA .BS 1
PREGX .BS 1
PREGY .BS 1
*--------------------------------
F.TRACE .BS 1 +=TRACE OFF, -=TRACE ON
STATE .BS 1 0=IMMD, >0=DEFERRED
F.EXEC .BS 1
F.READ .BS 1
F.WRITE .BS 1
F.PREFIX .BS 1
DIR.FILE.READ.FLAG .BS 1
*--------------------------------
.HS 00
*--------------------------------
STRINGS.SPACE.COUNT .BS 1
BUFFERED.WRITE.COUNT .BS 1
COMMAND.LINE.LENGTH .BS 1
PREVIOUS.CHAR .BS 1
OPEN.FILE.COUNT .BS 1
EXEC.FILE.CLOSING.FLAG .BS 1
CATALOG.LINE.STATE .BS 1
*--------------------------------
EXTERNAL.COMMAND.HANDLER .BS 2
COMMAND.NAME.LENGTH .BS 1
COMMAND.NUMBER .BS 1
*--------------------------------
PBITS .HS 0000
FBITS .HS 0000
VAL.A .HS 0000
VAL.B .HS 000000
VAL.E .HS 0000
VAL.L .HS 0000
VAL.S .HS 00
VAL.D .HS 00
VAL.F .HS 0000
VAL.R .HS 0000
VAL.V .HS 00
VAL.AT .HS 0000
VAL.T .HS 00
VAL.LB .HS 00 PR# OR IN# VALUE
*--------------------------------
.DA PATHNAME.ONE.BUFFER
.DA PATHNAME.TWO.BUFFER
*--------------------------------
MLI.CALLER
STA .2
STX GP.SAVEX
CMP #$CF
BCC .1
LDA #$CE
.1 TAX
LDA MLI.PARM.PNTRS-$C0,X
STA .3
JSR GP.MLI
.2 .HS 00
.3 .DA *
BCC .6
LDX #0
.4 CMP MLI.ERROR.CODES,X
BEQ .5
INX
CPX #19
BCC .4
.5 LDA BI.ERROR.CODES,X
*** SEC (CARRY ALREADY SET)
.6 LDX #*-*
GP.SAVEX .EQ *-1
ORA #0
GP.RTS RTS
*--------------------------------
.HS 00 <<<SPARE>>>
*---CREATE PARMS-----------------
CREATE.PARMS
.HS 07
.DA PATHNAME.ONE.BUFFER
.HS C3.00.0000.00.0000.0000
*---GET & SET PREFIX, DESTROY----
PREFIX.PARMS
.HS 01
.DA PATHNAME.ONE.BUFFER
*---RENAME-----------------------
RENAME.PARMS
.HS 02
.DA PATHNAME.ONE.BUFFER
.DA PATHNAME.TWO.BUFFER
*---GET & SET FILE INFO----------
GET.SET.PARMS
.HS 0A
.DA PATHNAME.ONE.BUFFER
.HS 00.00.0000
.HS 00.0000.0000.0000.0000.0000
*---MISC-------------------------
MISC.PARMS
.HS 02.00.0000
.HS 00
*---OPEN PARMS-------------------
OPEN.PARMS
.HS 03
.DA PATHNAME.ONE.BUFFER
.HS 0000.00
*---SET NEWLINE PARMS------------
NEWLINE.PARMS
.HS 03.00.7F.0D
*---READ & WRITE PARMS-----------
READ.WRITE.PARMS
.HS 04.00.0000.0000.0000
*---CLOSE & FLUSH PARMS----------
CLOSE.FLUSH.PARMS
.HS 01.00
*--------------------------------
* ADDRESSES OF MLI PARM LISTS FOR EACH CALL $C0-$D3
* actual address is $BExx
*--------------------------------
MLI.PARM.PNTRS
.DA #CREATE.PARMS $C0--CREATE
.DA #PREFIX.PARMS $C1--DESTROY
.DA #RENAME.PARMS $C2--RENAME
.DA #GET.SET.PARMS $C3--SFI
.DA #GET.SET.PARMS $C4--GFI
.DA #MISC.PARMS $C5--ONLINE
.DA #PREFIX.PARMS $C6--SPFX
.DA #PREFIX.PARMS $C7--GPFX
.DA #OPEN.PARMS $C8--OPEN
.DA #NEWLINE.PARMS $C9--NEWLINE
.DA #READ.WRITE.PARMS $CA--READ
.DA #READ.WRITE.PARMS $CB--WRITE
.DA #CLOSE.FLUSH.PARMS $CC--CLOSE
.DA #CLOSE.FLUSH.PARMS $CD--FLUSH
.DA #MISC.PARMS $CE--SMARK
* .DA #MISC.PARMS $CF--GMARK
* .DA #MISC.PARMS $D0--SEOF
* .DA #MISC.PARMS $D1--GEOF
* .DA #MISC.PARMS $D2--SBUF
* .DA #MISC.PARMS $D3--GBUF
*--------------------------------
.AS -/++++/
*--------------------------------
BUFFER.BASES .HS 78.7C LOWER/UPPER BUFFERS
EXEC.BUFFER.BASE .HS 74
*--------------------------------
RTS WAS GET BUFFER
NOP
NOP
RTS WAS RETURN BUFFER
NOP
NOP
.HS 74 HIMEM PAGE
*--------------------------------------
MAN
SAVE usr/src/scmasm.31/sci.s.gp
LOAD usr/src/scmasm.31/scmasm.s
ASM