mirror of
https://github.com/A2osX/A2osX.git
synced 2024-08-09 09:28:57 +00:00
Kernel 0.93+
This commit is contained in:
parent
45fa33bd6d
commit
f4762df90b
Binary file not shown.
Binary file not shown.
249
BIN/PAKME.S.txt
249
BIN/PAKME.S.txt
@ -19,22 +19,24 @@ CHUNK.MAX .EQ 32
|
|||||||
ZS.START
|
ZS.START
|
||||||
ZPPtr1 .BS 2
|
ZPPtr1 .BS 2
|
||||||
ZPPtr2 .BS 2
|
ZPPtr2 .BS 2
|
||||||
|
|
||||||
ZPSrcBufPtr .BS 2
|
|
||||||
ZPDstBufPtr .BS 2
|
|
||||||
|
|
||||||
ZPSrcFileSize .BS 2
|
ZPSrcFileSize .BS 2
|
||||||
ZPDstTableOfs .BS 2
|
ZPDstTableOfs .BS 2
|
||||||
|
|
||||||
|
hSrcFile .BS 1
|
||||||
|
hDstFile .BS 1
|
||||||
ZPChunkIndex .BS 1
|
ZPChunkIndex .BS 1
|
||||||
ZPChunkCnt .BS 1
|
ZPChunkCnt .BS 1
|
||||||
ZPChunkOfs .BS 2
|
ZPChunkOfs .BS 2
|
||||||
ZPChunkLen .BS 2
|
ZPChunkLen .BS 2
|
||||||
|
|
||||||
hSrcFile .BS 1
|
ZPChunkPakedLen .BS 2
|
||||||
hDstFile .BS 1
|
ZPChunkNewOfs .BS 2
|
||||||
bPause .BS 1
|
hSrcBuf .BS 1
|
||||||
|
hDstBuf .BS 1
|
||||||
|
ZPSrcBufPtr .BS 2
|
||||||
|
ZPDstBufPtr .BS 2
|
||||||
|
|
||||||
|
bPause .BS 1
|
||||||
|
|
||||||
ZS.END .ED
|
ZS.END .ED
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -61,8 +63,7 @@ L.LIBPAK .DA LIBPAK
|
|||||||
L.MSG.USAGE .DA MSG.USAGE
|
L.MSG.USAGE .DA MSG.USAGE
|
||||||
L.MSG.SRCFILE .DA MSG.SRCFILE
|
L.MSG.SRCFILE .DA MSG.SRCFILE
|
||||||
L.MSG.CHUNK .DA MSG.CHUNK
|
L.MSG.CHUNK .DA MSG.CHUNK
|
||||||
L.MSG.OK .DA MSG.OK
|
L.MSG.PAKED .DA MSG.PAKED
|
||||||
L.MSG.ERR .DA MSG.ERR
|
|
||||||
L.MSG.E.IARC .DA MSG.E.IARC
|
L.MSG.E.IARC .DA MSG.E.IARC
|
||||||
L.TAG .DA TAG
|
L.TAG .DA TAG
|
||||||
.DA 0
|
.DA 0
|
||||||
@ -104,31 +105,62 @@ CS.RUN ldy #S.PS.ARGC
|
|||||||
sec
|
sec
|
||||||
.99 rts
|
.99 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.START >PUSHB.G PAKME.HEADER+7
|
CS.RUN.START >PUSHW ZPDstTableOfs
|
||||||
>PUSHW ZPSrcFileSize
|
>PUSHB.G PAKME.HEADER+7
|
||||||
>PUSHW.G PAKME.HEADER+5
|
>PUSHW.G PAKME.HEADER+5
|
||||||
|
>PUSHW ZPSrcFileSize
|
||||||
lda #1
|
lda #1
|
||||||
>SYSCALL ArgV
|
>SYSCALL ArgV
|
||||||
>PUSHYA
|
>PUSHYA
|
||||||
|
|
||||||
>PUSHBI 7
|
>PUSHBI 9
|
||||||
>LDYA L.MSG.SRCFILE
|
>LDYA L.MSG.SRCFILE
|
||||||
>SYSCALL printf
|
>SYSCALL printf
|
||||||
|
|
||||||
|
>LDYA ZPDstTableOfs
|
||||||
|
jsr CS.RUN.GetSrcBufYA
|
||||||
|
bcs CS.RUN.RTS
|
||||||
|
|
||||||
|
>PUSHBI SEEK.SET
|
||||||
|
>PUSHWZ
|
||||||
|
>PUSHWZ
|
||||||
|
lda hSrcFile
|
||||||
|
>SYSCALL fseek
|
||||||
|
bcs CS.RUN.RTS
|
||||||
|
|
||||||
|
>PUSHW ZPDstTableOfs
|
||||||
|
>PUSHW ZPSrcBufPtr
|
||||||
|
lda hSrcFile
|
||||||
|
>SYSCALL fread
|
||||||
|
bcs CS.RUN.RTS
|
||||||
|
|
||||||
|
>PUSHW ZPDstTableOfs
|
||||||
|
>PUSHW ZPSrcBufPtr
|
||||||
|
lda hDstFile
|
||||||
|
>SYSCALL fwrite
|
||||||
|
bcs CS.RUN.RTS
|
||||||
|
|
||||||
|
jsr CS.QUIT.BUF
|
||||||
|
|
||||||
|
jsr CS.RUN.WriteTable Write Fake table
|
||||||
|
|
||||||
|
bcc CS.RUN.LOOP
|
||||||
|
|
||||||
|
CS.RUN.RTS rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.LOOP ldy #S.PS.hStdIn
|
CS.RUN.LOOP ldy #S.PS.hStdIn
|
||||||
lda (pPS),y
|
lda (pPS),y
|
||||||
>SYSCALL feof
|
>SYSCALL feof
|
||||||
bcs .9
|
bcs CS.RUN.RTS
|
||||||
|
|
||||||
tay
|
tay
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
>SYSCALL GetChar
|
>SYSCALL GetChar
|
||||||
bcs .9
|
bcs CS.RUN.RTS
|
||||||
|
|
||||||
cmp #$03 Ctrl-C
|
cmp #$03 Ctrl-C
|
||||||
beq .9 Abort....
|
beq CS.RUN.RTS Abort....
|
||||||
|
|
||||||
cmp #$13 Ctrl-S
|
cmp #$13 Ctrl-S
|
||||||
bne .1
|
bne .1
|
||||||
@ -142,22 +174,47 @@ CS.RUN.LOOP ldy #S.PS.hStdIn
|
|||||||
bne CS.RUN.LOOP Pause...
|
bne CS.RUN.LOOP Pause...
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
jsr CS.RUN.GetChunk
|
jsr CS.RUN.GetChunk
|
||||||
bcs .9
|
bcs CS.RUN.RTS
|
||||||
|
|
||||||
>PUSHW ZPChunkLen
|
>PUSHW ZPChunkLen
|
||||||
>PUSHW ZPChunkOfs
|
>PUSHW ZPChunkOfs
|
||||||
>PUSHB ZPChunkIndex
|
lda ZPChunkIndex
|
||||||
>PUSHBI 3
|
inc
|
||||||
|
>PUSHA
|
||||||
|
>PUSHBI 5
|
||||||
>LDYA L.MSG.CHUNK
|
>LDYA L.MSG.CHUNK
|
||||||
>SYSCALL printf
|
>SYSCALL printf
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
jsr CS.RUN.Pak
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
jsr CS.RUN.WritePak
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
>PUSHW ZPChunkNewOfs
|
||||||
|
>PUSHW ZPChunkPakedLen
|
||||||
|
>PUSHBI 4
|
||||||
|
>LDYA L.MSG.PAKED
|
||||||
|
>SYSCALL printf
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
jsr CS.QUIT.BUF
|
||||||
|
|
||||||
|
jsr CS.RUN.UpdateTable
|
||||||
|
inc ZPChunkIndex
|
||||||
dec ZPChunkCnt
|
dec ZPChunkCnt
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
jmp CS.RUN.LOOP
|
jmp CS.RUN.LOOP
|
||||||
|
|
||||||
.8 lda #0
|
.8 jsr CS.RUN.SeekTable
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
jsr CS.RUN.WriteTable Write modifid Table
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
lda #0
|
||||||
sec
|
sec
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -245,21 +302,16 @@ CS.RUN.CheckTAG >PUSHBI SEEK.SET
|
|||||||
sec
|
sec
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.GetTable >PUSHBI SEEK.SET
|
CS.RUN.GetTable >LDA.G PAKME.HEADER+8
|
||||||
>PUSHWZ
|
|
||||||
|
|
||||||
>LDA.G PAKME.HEADER+8
|
|
||||||
sec
|
sec
|
||||||
>SBC.G PAKME.HEADER+5
|
>SBC.G PAKME.HEADER+5
|
||||||
sta ZPDstTableOfs+1
|
sta ZPDstTableOfs
|
||||||
pha
|
|
||||||
>LDA.G PAKME.HEADER+9
|
>LDA.G PAKME.HEADER+9
|
||||||
>SBC.G PAKME.HEADER+6
|
>SBC.G PAKME.HEADER+6
|
||||||
sta ZPDstTableOfs
|
sta ZPDstTableOfs+1
|
||||||
ply
|
|
||||||
>PUSHYA
|
jsr CS.RUN.SeekTable
|
||||||
lda hSrcFile
|
|
||||||
>SYSCALL fseek
|
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
>LDA.G PAKME.HEADER+7
|
>LDA.G PAKME.HEADER+7
|
||||||
@ -278,8 +330,6 @@ CS.RUN.GetTable >PUSHBI SEEK.SET
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.GetChunk lda ZPChunkIndex
|
CS.RUN.GetChunk lda ZPChunkIndex
|
||||||
|
|
||||||
inc ZPChunkIndex
|
|
||||||
|
|
||||||
asl
|
asl
|
||||||
clc
|
clc
|
||||||
adc #PAKME.TABLE+1
|
adc #PAKME.TABLE+1
|
||||||
@ -312,15 +362,26 @@ CS.RUN.GetChunk lda ZPChunkIndex
|
|||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
>LDA.G CHUNK.HEADER
|
>LDA.G CHUNK.HEADER
|
||||||
* bne .90
|
bne .90
|
||||||
|
|
||||||
>LDA.G CHUNK.HEADER+1
|
>LDA.G CHUNK.HEADER+1
|
||||||
sta ZPChunkLen
|
sta ZPChunkLen
|
||||||
|
pha
|
||||||
iny
|
iny
|
||||||
lda (pData),y
|
lda (pData),y
|
||||||
sta ZPChunkLen+1
|
sta ZPChunkLen+1
|
||||||
|
ply
|
||||||
|
|
||||||
clc
|
jsr CS.RUN.GetSrcBufYA
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
>PUSHW ZPChunkLen
|
||||||
|
>PUSHW ZPSrcBufPtr
|
||||||
|
lda hSrcFile
|
||||||
|
>SYSCALL fread
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
* clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.90 lda #MLI.E.INCFF
|
.90 lda #MLI.E.INCFF
|
||||||
@ -328,6 +389,89 @@ CS.RUN.GetChunk lda ZPChunkIndex
|
|||||||
|
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
CS.RUN.GetSrcBufYA
|
||||||
|
>SYSCALL getmem
|
||||||
|
bcs .9
|
||||||
|
stx hSrcBuf
|
||||||
|
>STYA ZPSrcBufPtr
|
||||||
|
.9 rts
|
||||||
|
*--------------------------------------
|
||||||
|
CS.RUN.Pak >LDYA ZPChunkLen
|
||||||
|
>SYSCALL getmem
|
||||||
|
bcs .9
|
||||||
|
stx hDstBuf
|
||||||
|
>STYA ZPDstBufPtr
|
||||||
|
|
||||||
|
>PUSHEA.G PAKSTAT
|
||||||
|
>PUSHW ZPDstBufPtr
|
||||||
|
>PUSHW ZPChunkLen
|
||||||
|
>PUSHW ZPSrcBufPtr
|
||||||
|
>LIBCALL hLIB,LIBPAK.Pak
|
||||||
|
bcs .9
|
||||||
|
>STYA ZPChunkPakedLen
|
||||||
|
.9 rts
|
||||||
|
*--------------------------------------
|
||||||
|
CS.RUN.SeekTable
|
||||||
|
>PUSHBI SEEK.SET
|
||||||
|
>PUSHWZ
|
||||||
|
>PUSHW ZPDstTableOfs
|
||||||
|
lda hSrcFile
|
||||||
|
>SYSCALL fseek
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
CS.RUN.WriteTable
|
||||||
|
lda ZPChunkCnt
|
||||||
|
asl
|
||||||
|
tay
|
||||||
|
lda #0
|
||||||
|
>PUSHYA
|
||||||
|
>PUSHEA.G PAKME.TABLE
|
||||||
|
lda hDstFile
|
||||||
|
>SYSCALL fwrite
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
CS.RUN.WritePak lda hDstFile
|
||||||
|
>SYSCALL ftell
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
>PULLW ZPChunkNewOfs
|
||||||
|
inc pStack
|
||||||
|
inc pStack
|
||||||
|
|
||||||
|
>PUSHW ZPChunkPakedLen
|
||||||
|
>PUSHW ZPDstBufPtr
|
||||||
|
lda hDstFile
|
||||||
|
>SYSCALL fwrite
|
||||||
|
.9 rts
|
||||||
|
*--------------------------------------
|
||||||
|
CS.RUN.UpdateTable
|
||||||
|
ldy #PAKME.HEADER+6
|
||||||
|
lda (pData),y
|
||||||
|
pha
|
||||||
|
|
||||||
|
dey
|
||||||
|
lda (pData),y
|
||||||
|
pha
|
||||||
|
|
||||||
|
lda ZPChunkIndex
|
||||||
|
|
||||||
|
asl
|
||||||
|
clc
|
||||||
|
adc #PAKME.TABLE
|
||||||
|
tay
|
||||||
|
|
||||||
|
pla
|
||||||
|
clc
|
||||||
|
adc ZPChunkNewOfs
|
||||||
|
sta (pData),y
|
||||||
|
|
||||||
|
iny
|
||||||
|
|
||||||
|
pla
|
||||||
|
adc ZPChunkNewOfs+1
|
||||||
|
sta (pData),y
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
CS.DOEVENT sec
|
CS.DOEVENT sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -339,15 +483,9 @@ CS.QUIT lda hDstFile
|
|||||||
beq .3
|
beq .3
|
||||||
>SYSCALL fclose
|
>SYSCALL fclose
|
||||||
|
|
||||||
.3 >LDA.G hDstBuf
|
.3 jsr CS.QUIT.BUF
|
||||||
beq .4
|
|
||||||
>SYSCALL FreeMem
|
|
||||||
|
|
||||||
.4 >LDA.G hSrcBuf
|
lda hLIB
|
||||||
beq .5
|
|
||||||
>SYSCALL FreeMem
|
|
||||||
|
|
||||||
.5 lda hLIB
|
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
>SYSCALL UnloadLib
|
>SYSCALL UnloadLib
|
||||||
@ -355,13 +493,24 @@ CS.QUIT lda hDstFile
|
|||||||
.8 clc
|
.8 clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
CS.QUIT.BUF lda hDstBuf
|
||||||
|
beq .1
|
||||||
|
stz hDstBuf
|
||||||
|
>SYSCALL FreeMem
|
||||||
|
|
||||||
|
.1 lda hSrcBuf
|
||||||
|
beq .8
|
||||||
|
stz hSrcBuf
|
||||||
|
>SYSCALL FreeMem
|
||||||
|
|
||||||
|
.8 rts
|
||||||
|
*--------------------------------------
|
||||||
CS.END
|
CS.END
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MSG.USAGE .AZ "Usage : PAKME SourceBIN PackedBIN\r\n"
|
MSG.USAGE .AZ "Usage : PAKME SourceBIN PackedBIN\r\n"
|
||||||
MSG.SRCFILE .AZ "Source File : %s, Org=$%H Size=%D, %d Chunks.\r\n"
|
MSG.SRCFILE .AZ "Source File : %s, Size=%5D, Org=$%H, %d Chunks at $%H.\r\n"
|
||||||
MSG.CHUNK .AZ " Chunk #%02d : Ofs=%H, Len=%D\r\n"
|
MSG.CHUNK .AZ " Chunk #%02d : Ofs=$%H, Len=%5D ... "
|
||||||
MSG.OK .AZ "[OK]"
|
MSG.PAKED .AZ "PAKed : %5D Bytes, New Ofs=$%H\r\n"
|
||||||
MSG.ERR .AZ "[%h]\r\n"
|
|
||||||
MSG.E.IARC .AZ "Invalid/corrupt archive"
|
MSG.E.IARC .AZ "Invalid/corrupt archive"
|
||||||
TAG .AZ "PAKME"
|
TAG .AZ "PAKME"
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -371,12 +520,6 @@ hLIB .BS 1
|
|||||||
.DUMMY
|
.DUMMY
|
||||||
.OR 0
|
.OR 0
|
||||||
DS.START
|
DS.START
|
||||||
hSrcBuf .BS 1
|
|
||||||
hDstBuf .BS 1
|
|
||||||
|
|
||||||
Shunk.SrcSize .BS 2
|
|
||||||
Shunk.DstSize .BS 2
|
|
||||||
|
|
||||||
STATBUF .BS S.STAT
|
STATBUF .BS S.STAT
|
||||||
PAKME.HEADER .BS 10
|
PAKME.HEADER .BS 10
|
||||||
PAKME.TABLE .BS CHUNK.MAX*2
|
PAKME.TABLE .BS CHUNK.MAX*2
|
||||||
|
@ -20,22 +20,15 @@ Kernel.Init2 sei
|
|||||||
>LDYAI MSG.Init2
|
>LDYAI MSG.Init2
|
||||||
jsr PrintFYA
|
jsr PrintFYA
|
||||||
|
|
||||||
>LDYAI A2osX.MAIN
|
>LDYA PAKME.MAIN
|
||||||
>STYA ZPInBufPtr
|
>STYA ZPInBufPtr
|
||||||
>LDYAI CORE.Run
|
>LDYAI CORE.Run
|
||||||
>STYA ZPOutBufPtr
|
>STYA ZPOutBufPtr
|
||||||
jsr X.Unpak
|
jsr X.Unpak
|
||||||
|
|
||||||
* >LDYAI A2osX.MAIN
|
|
||||||
* >STYA ZPPtr1
|
|
||||||
* >LDYAI CORE.Run
|
|
||||||
* >STYA ZPPtr2
|
|
||||||
* >LDYAI A2osX.MAIN.S^$FFFF
|
|
||||||
* jsr Kernel.Move
|
|
||||||
|
|
||||||
sta SETWRITEAUX
|
sta SETWRITEAUX
|
||||||
|
|
||||||
>LDYAI A2osX.AUX
|
>LDYA PAKME.AUX
|
||||||
>STYA ZPInBufPtr
|
>STYA ZPInBufPtr
|
||||||
>LDYAI X.OSD
|
>LDYAI X.OSD
|
||||||
>STYA ZPOutBufPtr
|
>STYA ZPOutBufPtr
|
||||||
@ -43,83 +36,37 @@ Kernel.Init2 sei
|
|||||||
|
|
||||||
sta CLRWRITEAUX
|
sta CLRWRITEAUX
|
||||||
|
|
||||||
* >LDYAI A2osX.AUX
|
>LDYA PAKME.GP
|
||||||
* >STYA A1L Src Start Address (MAIN)
|
|
||||||
* >LDYAI A2osX.GP
|
|
||||||
* >STYA A2L Src End Address (MAIN)
|
|
||||||
* >LDYAI X.OSD
|
|
||||||
* >STYA A4L Dst Address (AUX)
|
|
||||||
* sec Main To Aux
|
|
||||||
* jsr AuxMove
|
|
||||||
|
|
||||||
>LDYAI A2osX.GP
|
|
||||||
>STYA ZPInBufPtr
|
>STYA ZPInBufPtr
|
||||||
>LDYAI A2osX.SYSCALL
|
>LDYAI A2osX.SYSCALL
|
||||||
>STYA ZPOutBufPtr
|
>STYA ZPOutBufPtr
|
||||||
jsr X.Unpak
|
jsr X.Unpak
|
||||||
|
|
||||||
* >LDYAI A2osX.GP
|
|
||||||
* >STYA ZPPtr1
|
|
||||||
* >LDYAI A2osX.SYSCALL
|
|
||||||
* >STYA ZPPtr2
|
|
||||||
* >LDYAI A2osX.GP.S^$FFFF
|
|
||||||
* jsr Kernel.Move
|
|
||||||
|
|
||||||
* >LDYAI A2osX.GPX
|
|
||||||
* >STYA A1L Src Start Address (MAIN)
|
|
||||||
* >LDYAI A2osX.D1
|
|
||||||
* >STYA A2L Src End Address (MAIN)
|
|
||||||
* >LDYAI A2osX.SYSCALL
|
|
||||||
* >STYA A4L Dst Address (AUX)
|
|
||||||
* sec Main To Aux
|
|
||||||
* jsr AuxMove
|
|
||||||
|
|
||||||
sta SETALTZP
|
sta SETALTZP
|
||||||
bit RRAMWRAMBNK2
|
bit RRAMWRAMBNK2
|
||||||
bit RRAMWRAMBNK2
|
bit RRAMWRAMBNK2
|
||||||
|
|
||||||
>LDYAI A2osX.D2
|
>LDYA PAKME.D2
|
||||||
>STYA ZPInBufPtr
|
>STYA ZPInBufPtr
|
||||||
>LDYAI $D000
|
>LDYAI $D000
|
||||||
>STYA ZPOutBufPtr
|
>STYA ZPOutBufPtr
|
||||||
jsr X.Unpak
|
jsr X.Unpak
|
||||||
|
|
||||||
* >LDYAI A2osX.D2
|
|
||||||
* >STYA ZPPtr1
|
|
||||||
* >LDYAI $D000
|
|
||||||
* >STYA ZPPtr2
|
|
||||||
* >LDYAI A2osX.D2.S^$FFFF
|
|
||||||
* jsr Kernel.Move
|
|
||||||
|
|
||||||
bit RRAMWRAMBNK1
|
bit RRAMWRAMBNK1
|
||||||
bit RRAMWRAMBNK1
|
bit RRAMWRAMBNK1
|
||||||
|
|
||||||
>LDYAI A2osX.D1
|
>LDYA PAKME.D1
|
||||||
>STYA ZPInBufPtr
|
>STYA ZPInBufPtr
|
||||||
>LDYAI $D000
|
>LDYAI $D000
|
||||||
>STYA ZPOutBufPtr
|
>STYA ZPOutBufPtr
|
||||||
jsr X.Unpak
|
jsr X.Unpak
|
||||||
|
|
||||||
* >LDYAI A2osX.D1
|
>LDYA PAKME.E0
|
||||||
* >STYA ZPPtr1
|
|
||||||
* >LDYAI $D000
|
|
||||||
* >STYA ZPPtr2
|
|
||||||
* >LDYAI A2osX.D1.S^$FFFF
|
|
||||||
* jsr Kernel.Move
|
|
||||||
|
|
||||||
>LDYAI A2osX.E0
|
|
||||||
>STYA ZPInBufPtr
|
>STYA ZPInBufPtr
|
||||||
>LDYAI $E000
|
>LDYAI $E000
|
||||||
>STYA ZPOutBufPtr
|
>STYA ZPOutBufPtr
|
||||||
jsr X.Unpak
|
jsr X.Unpak
|
||||||
|
|
||||||
* >LDYAI A2osX.E0
|
|
||||||
* >STYA ZPPtr1
|
|
||||||
* >LDYAI $E000
|
|
||||||
* >STYA ZPPtr2
|
|
||||||
* >LDYAI A2osX.E0.S^$FFFF
|
|
||||||
* jsr Kernel.Move
|
|
||||||
|
|
||||||
bit RROMBNK1
|
bit RROMBNK1
|
||||||
sta CLRALTZP
|
sta CLRALTZP
|
||||||
cli
|
cli
|
||||||
@ -239,23 +186,6 @@ Kernel.Init3.Err
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* INIT2 Subs
|
* INIT2 Subs
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
*Kernel.Move >STYA ZPPtr3
|
|
||||||
* ldy #0
|
|
||||||
|
|
||||||
*.1 inc ZPPtr3
|
|
||||||
* bne .2
|
|
||||||
* inc ZPPtr3+1
|
|
||||||
* beq .9
|
|
||||||
|
|
||||||
*.2 lda (ZPPtr1),y
|
|
||||||
* sta (ZPPtr2),y
|
|
||||||
* iny
|
|
||||||
* bne .1
|
|
||||||
* inc ZPPtr1+1
|
|
||||||
* inc ZPPtr2+1
|
|
||||||
* bne .1
|
|
||||||
*.9 rts
|
|
||||||
*--------------------------------------
|
|
||||||
KConfigLoad >LDYAI MSG.KCREAD
|
KConfigLoad >LDYAI MSG.KCREAD
|
||||||
jsr PrintFYA
|
jsr PrintFYA
|
||||||
|
|
||||||
|
@ -22,12 +22,13 @@ NEW
|
|||||||
.INB USR/SRC/SHARED/X.PRINTF.S
|
.INB USR/SRC/SHARED/X.PRINTF.S
|
||||||
.INB USR/SRC/SHARED/X.UNPAK.S
|
.INB USR/SRC/SHARED/X.UNPAK.S
|
||||||
|
|
||||||
PAKME.Table .DA A2osX.MAIN
|
PAKME.Table
|
||||||
.DA A2osX.AUX
|
PAKME.MAIN .DA A2osX.MAIN
|
||||||
.DA A2osX.GP
|
PAKME.AUX .DA A2osX.AUX
|
||||||
.DA A2osX.D1
|
PAKME.GP .DA A2osX.GP
|
||||||
.DA A2osX.D2
|
PAKME.D1 .DA A2osX.D1
|
||||||
.DA A2osX.E0
|
PAKME.D2 .DA A2osX.D2
|
||||||
|
PAKME.E0 .DA A2osX.E0
|
||||||
|
|
||||||
A2osX.MAIN .DA #0
|
A2osX.MAIN .DA #0
|
||||||
.DA A2osX.MAIN.S
|
.DA A2osX.MAIN.S
|
||||||
@ -56,9 +57,7 @@ A2osX.GP .DA #0
|
|||||||
.PH A2osX.SYSCALL
|
.PH A2osX.SYSCALL
|
||||||
.INB USR/SRC/SYS/KERNEL.S.GP
|
.INB USR/SRC/SYS/KERNEL.S.GP
|
||||||
.EP
|
.EP
|
||||||
*A2osX.GPX .PH A2osX.SYSCALL
|
|
||||||
* .INB USR/SRC/SYS/KERNEL.S.GPX
|
|
||||||
* .EP
|
|
||||||
A2osX.D1 .DA #0
|
A2osX.D1 .DA #0
|
||||||
.DA A2osX.D1.S
|
.DA A2osX.D1.S
|
||||||
.PH $D000
|
.PH $D000
|
||||||
@ -72,6 +71,7 @@ A2osX.D1 .DA #0
|
|||||||
.INB USR/SRC/SYS/KERNEL.S.FIO
|
.INB USR/SRC/SYS/KERNEL.S.FIO
|
||||||
.INB USR/SRC/SYS/KERNEL.S.PFT
|
.INB USR/SRC/SYS/KERNEL.S.PFT
|
||||||
.EP
|
.EP
|
||||||
|
|
||||||
A2osX.D2 .DA #0
|
A2osX.D2 .DA #0
|
||||||
.DA A2osX.D2.S
|
.DA A2osX.D2.S
|
||||||
.PH $D000
|
.PH $D000
|
||||||
@ -83,6 +83,7 @@ A2osX.D2 .DA #0
|
|||||||
.INB USR/SRC/SYS/KERNEL.S.ARG
|
.INB USR/SRC/SYS/KERNEL.S.ARG
|
||||||
.INB USR/SRC/SYS/KERNEL.S.ENV
|
.INB USR/SRC/SYS/KERNEL.S.ENV
|
||||||
.EP
|
.EP
|
||||||
|
|
||||||
A2osX.E0 .DA #0
|
A2osX.E0 .DA #0
|
||||||
.DA A2osX.E0.S
|
.DA A2osX.E0.S
|
||||||
.PH $E000
|
.PH $E000
|
||||||
@ -109,6 +110,7 @@ DevMgr.FreeMem .EQ *
|
|||||||
.LIST OFF
|
.LIST OFF
|
||||||
.EP
|
.EP
|
||||||
A2osX.E0.E .EQ *
|
A2osX.E0.E .EQ *
|
||||||
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.AS "PAKME" TAG
|
.AS "PAKME" TAG
|
||||||
.DA $2000 BIN ORG
|
.DA $2000 BIN ORG
|
||||||
|
Loading…
Reference in New Issue
Block a user