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 <<>> *---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.30/sci.s.gp LOAD usr/src/scmasm.30/scmasm.s ASM