A2osX/ProDOS.FX/PDOSTN.S..txt
2023-11-12 14:20:15 +01:00

218 lines
4.5 KiB
Plaintext
Raw 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
.LIST OFF
.OP 65816
.OR $2000
.TF PRODOS.TN,TSYS
*--------------------------------------
KVER .EQ $23 release 2.0.3
*--------------------------------------
READCAT .EQ 0 Boot Block read Catalog at $C00
ENHFILENAME .EQ 1
DIREXTENDROOT .EQ 1
LOWERCASE .EQ 1
ACL .EQ 0
LOGO .EQ 0
AUXLC .EQ 0
M.PM .EQ 0
M.RAM .EQ 0
M.SEL .EQ 0
*--------------------------------------
.INB inc/zp.i
.INB inc/io.i
.INB inc/io.iigs.i
.INB inc/io.d2.i
.INB inc/mli.i
.INB inc/mli.e.i
.INB inc/rom.ii.i
.INB inc/rom.iie.i
.INB inc/rom.iigs.i
.INB inc/arc.i
*--------------------------------------
ILDR .EQ $0800
GP .EQ $BF00
XRW .EQ $D000
CLK .EQ $D742
XDOS.PathBuf .EQ $D700
*XDOS.prefixbuf .EQ $D742+125
XDOS.FCBs .EQ $D800 8 opened files
XDOS.VCBs .EQ $D900 10 mounted vols
XDOS.BMBuf .EQ $DA00 512 byte bitmap buffer
XDOS.GBuf .EQ $DC00 general purpose 512 byte block buffer
XDOS .EQ $DE00
RAM .EQ $FF00
IRQ .EQ $FF9B
RAMX .EQ $0200
*--------------------------------------
.DUMMY
.OR $10
ZPPtr1 .BS 2
ZPPtr2 .BS 2
ZPInBufPtr .BS 2
ZPOutBufPtr .BS 2
ZPnCnt .BS 2
ZPInMask .BS 1
ZPSTRLenBits .BS 1
ZPBLOfsLBits .BS 1
ZPBLOfsHBits .BS 1
ZPBLLenBits .BS 1
ZPTOPCnt .BS 1
.ED
*--------------------------------------
.INB usr/src/prodos.fx/prodos.s.ldr
X.Unpak.XatYAX .DO AUXLC=1
.FIN
X.Unpak.XatYA sty ZPOutBufPtr
sta ZPOutBufPtr+1
lda PAKME.Table,x
sta ZPInBufPtr
lda PAKME.Table+1,x
sta ZPInBufPtr+1
.INB usr/src/shared/x.unarc.s
.DO LOGO=1
.INB usr/src/prodos.fx/prodos.s.logo
.FIN
*--------------------------------------
PAKME.Table
PAKME.ID .SE 0
PAKME.ILDR.ID .EQ PAKME.ID
PAKME.ILDR .DA ILDR.PAK
PAKME.ID .SE PAKME.ID+2
PAKME.GP.ID .EQ PAKME.ID
PAKME.GP .DA GP.PAK
PAKME.ID .SE PAKME.ID+2
PAKME.XRW.ID .EQ PAKME.ID
PAKME.XRW .DA XRW.PAK
PAKME.ID .SE PAKME.ID+2
PAKME.XDOS.ID .EQ PAKME.ID
PAKME.XDOS .DA XDOS.PAK
PAKME.ID .SE PAKME.ID+2
PAKME.IRQ.ID .EQ PAKME.ID
PAKME.IRQ .DA IRQ.PAK
PAKME.ID .SE PAKME.ID+2
.DO M.RAM=1
PAKME.RAM.ID .EQ PAKME.ID
PAKME.RAM .DA RAM.PAK
PAKME.ID .SE PAKME.ID+2
PAKME.RAMX.ID .EQ PAKME.ID
PAKME.RAMX .DA RAMX.PAK
PAKME.ID .SE PAKME.ID+2
.FIN
PAKME.DCLK.ID .EQ PAKME.ID
PAKME.DCLK .DA DCLK.PAK
PAKME.ID .SE PAKME.ID+2
PAKME.NCLK.ID .EQ PAKME.ID
PAKME.NCLK .DA NCLK.PAK
PAKME.ID .SE PAKME.ID+2
PAKME.TCLK.ID .EQ PAKME.ID
PAKME.TCLK .DA TCLK.PAK
PAKME.ID .SE PAKME.ID+2
PAKME.XCLK.ID .EQ PAKME.ID
PAKME.XCLK .DA XCLK.PAK
PAKME.ID .SE PAKME.ID+2
PAKME.CCLK.ID .EQ PAKME.ID
PAKME.CCLK .DA CCLK.PAK
PAKME.ID .SE PAKME.ID+2
.DO M.SEL=1
PAKME.SEL1.ID .EQ PAKME.ID
PAKME.SEL1 .DA SEL1.PAK
PAKME.ID .SE PAKME.ID+2
PAKME.SEL2.ID .EQ PAKME.ID
PAKME.SEL2 .DA SEL2.PAK
PAKME.ID .SE PAKME.ID+2
.FIN
*--------------------------------------
ILDR.PAK .DA ILDR.LEN
.DA 0
.INB usr/src/prodos.fx/prodos.s.ildr
GP.PAK .DA GP.LEN
.DA 0
.INB usr/src/prodos.fx/prodos.s.gp
XRW.PAK .DA XRW.LEN
.DA 0
.INB usr/src/prodos.fx/prodos.s.xrw
XDOS.PAK .DA XDOS.LEN
.DA 0
.INB usr/src/prodos.fx/prodos.s.xdos.a
.INB usr/src/prodos.fx/prodos.s.xdos.b
.INB usr/src/prodos.fx/prodos.s.xdos.c
.INB usr/src/prodos.fx/prodos.s.xdos.d
.INB usr/src/prodos.fx/prodos.s.xdos.e
.INB usr/src/prodos.fx/prodos.s.xdos.f
IRQ.PAK .DA IRQ.LEN
.DA 0
.INB usr/src/prodos.fx/prodos.s.irq
.DO M.RAM=1
RAM.PAK .DA RAM.LEN
.DA 0
.INB usr/src/prodos.fx/prodos.s.ram
RAMX.PAK .DA RAMX.LEN
.DA 0
.INB usr/src/prodos.fx/prodos.s.ramx
.FIN
DCLK.PAK .DA DCLK.LEN
.DA 0
.INB usr/src/prodos.fx/prodos.s.dclk
NCLK.PAK .DA NCLK.LEN
.DA 0
.INB usr/src/prodos.fx/prodos.s.nclk
TCLK.PAK .DA TCLK.LEN
.DA 0
.INB usr/src/prodos.fx/prodos.s.tclk
XCLK.PAK .DA XCLK.LEN
.DA 0
.INB usr/src/prodos.fx/prodos.s.xclk
CCLK.PAK .DA CCLK.LEN
.DA 0
.INB usr/src/prodos.fx/prodos.s.cclk
.DO M.SEL=1
SEL1.PAK .DA SEL1.LEN
.DA 0
.INB usr/src/prodos.fx/prodos.s.sel1
SEL2.PAK .DA SEL2.LEN
.DA 0
.INB usr/src/prodos.fx/prodos.s.sel2
.FIN
*--------------------------------------
.AS "ARCME" TAG
.DA $2000 BIN ORG
.DA #PAKME.ID/2 Chunk Count
.DA PAKME.Table Chunks
*--------------------------------------
MAN
SAVE usr/src/prodos.fx/pdostn.s
ASM