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

175 lines
4.7 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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