2023-11-04 14:42:28 +00:00
|
|
|
|
NEW
|
|
|
|
|
AUTO 3,1
|
|
|
|
|
.LIST OFF
|
|
|
|
|
.OP 65816
|
|
|
|
|
.OR $2000
|
2023-11-12 13:20:15 +00:00
|
|
|
|
.TF PRODOS.8M,TSYS
|
2023-11-04 14:42:28 +00:00
|
|
|
|
*--------------------------------------
|
2023-11-12 13:20:15 +00:00
|
|
|
|
KVER .EQ $8D release "8M"
|
2023-11-04 14:42:28 +00:00
|
|
|
|
*--------------------------------------
|
|
|
|
|
READCAT .EQ 1 Boot Block read Catalog at $C00
|
|
|
|
|
ENHFILENAME .EQ 1
|
2023-11-12 13:20:15 +00:00
|
|
|
|
DIREXTENDROOT .EQ 1
|
2023-11-04 14:42:28 +00:00
|
|
|
|
LOWERCASE .EQ 1
|
|
|
|
|
ACL .EQ 1
|
|
|
|
|
LOGO .EQ 1
|
|
|
|
|
AUXLC .EQ 1
|
|
|
|
|
M.PM .EQ 0
|
|
|
|
|
M.RAM .EQ 0
|
2023-11-12 13:20:15 +00:00
|
|
|
|
M.SEL .EQ 1
|
2023-11-04 14:42:28 +00:00
|
|
|
|
*--------------------------------------
|
|
|
|
|
.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
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
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
|
|
|
|
|
ZPBLOfsLBits .BS 1
|
|
|
|
|
ZPBLOfsHBits .BS 1
|
|
|
|
|
ZPBLLenBits .BS 1
|
|
|
|
|
.ED
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
.INB usr/src/prodos.fx/prodos.s.ldr
|
|
|
|
|
X.Unpak.XatYAX .DO AUXLC=1
|
|
|
|
|
stx X.Unpak.XatYAX.X+1
|
|
|
|
|
|
|
|
|
|
php
|
|
|
|
|
sei
|
|
|
|
|
|
|
|
|
|
sta IO.SETALTZP
|
|
|
|
|
tsx
|
|
|
|
|
stx $100
|
|
|
|
|
ldx $101
|
|
|
|
|
txs
|
|
|
|
|
X.Unpak.XatYAX.X
|
|
|
|
|
ldx #$FF SELF MODIFIED
|
|
|
|
|
jsr X.Unpak.XatYA
|
|
|
|
|
|
|
|
|
|
tsx
|
|
|
|
|
stx $101
|
|
|
|
|
ldx $100
|
|
|
|
|
txs
|
|
|
|
|
sta IO.CLRALTZP
|
|
|
|
|
plp
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
.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.unpak.s
|
|
|
|
|
.DO LOGO=1
|
|
|
|
|
.INB usr/src/prodos.fx/prodos.s.logo
|
|
|
|
|
.FIN
|
|
|
|
|
*--------------------------------------
|
2023-11-12 13:20:15 +00:00
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
*--------------------------------------
|
2023-11-04 14:42:28 +00:00
|
|
|
|
ILDR.PAK .DA #0
|
|
|
|
|
.DA ILDR.LEN
|
|
|
|
|
.INB usr/src/prodos.fx/prodos.s.ildr
|
|
|
|
|
|
|
|
|
|
GP.PAK .DA #0
|
|
|
|
|
.DA GP.LEN
|
|
|
|
|
.INB usr/src/prodos.fx/prodos.s.gp
|
|
|
|
|
|
|
|
|
|
XRW.PAK .DA #0
|
|
|
|
|
.DA XRW.LEN
|
|
|
|
|
.INB usr/src/prodos.fx/prodos.s.xrw
|
|
|
|
|
|
|
|
|
|
XDOS.PAK .DA #0
|
|
|
|
|
.DA XDOS.LEN
|
|
|
|
|
.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 #0
|
|
|
|
|
.DA IRQ.LEN
|
|
|
|
|
.INB usr/src/prodos.fx/prodos.s.irq
|
|
|
|
|
|
|
|
|
|
.DO M.RAM=1
|
|
|
|
|
RAM.PAK .DA #0
|
|
|
|
|
.DA RAM.LEN
|
|
|
|
|
.INB usr/src/prodos.fx/prodos.s.ram
|
|
|
|
|
|
|
|
|
|
RAMX.PAK .DA #0
|
|
|
|
|
.DA RAMX.LEN
|
|
|
|
|
.INB usr/src/prodos.fx/prodos.s.ramx
|
|
|
|
|
.FIN
|
|
|
|
|
|
|
|
|
|
DCLK.PAK .DA #0
|
|
|
|
|
.DA DCLK.LEN
|
|
|
|
|
.INB usr/src/prodos.fx/prodos.s.dclk
|
|
|
|
|
|
|
|
|
|
NCLK.PAK .DA #0
|
|
|
|
|
.DA NCLK.LEN
|
|
|
|
|
.INB usr/src/prodos.fx/prodos.s.nclk
|
|
|
|
|
|
|
|
|
|
TCLK.PAK .DA #0
|
|
|
|
|
.DA TCLK.LEN
|
|
|
|
|
.INB usr/src/prodos.fx/prodos.s.tclk
|
|
|
|
|
|
|
|
|
|
XCLK.PAK .DA #0
|
|
|
|
|
.DA XCLK.LEN
|
|
|
|
|
.INB usr/src/prodos.fx/prodos.s.xclk
|
|
|
|
|
|
|
|
|
|
CCLK.PAK .DA #0
|
|
|
|
|
.DA CCLK.LEN
|
|
|
|
|
.INB usr/src/prodos.fx/prodos.s.cclk
|
|
|
|
|
|
|
|
|
|
SEL1.PAK .DA #0
|
|
|
|
|
.DA SEL1.LEN
|
|
|
|
|
.INB usr/src/prodos.fx/prodos.s.sel1
|
|
|
|
|
|
|
|
|
|
SEL2.PAK .DA #0
|
|
|
|
|
.DA SEL2.LEN
|
|
|
|
|
.INB usr/src/prodos.fx/prodos.s.sel2
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
.AS "PAKME" TAG
|
|
|
|
|
.DA $2000 BIN ORG
|
|
|
|
|
.DA #PAKME.ID/2 Chunk Count
|
|
|
|
|
.DA PAKME.Table Chunks
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
MAN
|
|
|
|
|
SAVE usr/src/prodos.fx/pdos8m.s
|
|
|
|
|
ASM
|