mirror of
https://github.com/A2osX/A2osX.git
synced 2024-11-28 10:52:33 +00:00
233 lines
4.7 KiB
Plaintext
233 lines
4.7 KiB
Plaintext
NEW
|
||
AUTO 3,1
|
||
.LIST OFF
|
||
.OP 65816
|
||
.OR $2000
|
||
.TF PRODOS.8M,TSYS
|
||
*--------------------------------------
|
||
KVER .EQ $8D release "8M"
|
||
*--------------------------------------
|
||
READCAT .EQ 1 Boot Block read Catalog at $C00
|
||
ENHFILENAME .EQ 1
|
||
DIREXTENDROOT .EQ 1
|
||
LOWERCASE .EQ 1
|
||
ACL .EQ 1
|
||
LOGO .EQ 1
|
||
AUXLC .EQ 1
|
||
M.PM .EQ 0
|
||
M.RAM .EQ 0
|
||
M.SEL .EQ 1
|
||
*--------------------------------------
|
||
.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
|
||
*--------------------------------------
|
||
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
|
||
*--------------------------------------
|
||
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
|