A2osX/ProDOS.FX/PDOSTN.S..txt

218 lines
4.5 KiB
Plaintext
Raw Normal View History

2023-11-12 13:20:15 +00:00
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