mirror of
https://github.com/A2osX/A2osX.git
synced 2024-08-10 16:29:28 +00:00
Kernel 0.93+
This commit is contained in:
parent
0e5c0f9111
commit
39d4efd96e
Binary file not shown.
@ -28,6 +28,8 @@ ZPDstTableOfs .BS 2
|
|||||||
|
|
||||||
ZPChunkIndex .BS 1
|
ZPChunkIndex .BS 1
|
||||||
ZPChunkCnt .BS 1
|
ZPChunkCnt .BS 1
|
||||||
|
ZPChunkOfs .BS 2
|
||||||
|
ZPChunkLen .BS 2
|
||||||
|
|
||||||
hSrcFile .BS 1
|
hSrcFile .BS 1
|
||||||
hDstFile .BS 1
|
hDstFile .BS 1
|
||||||
@ -139,30 +141,21 @@ CS.RUN.LOOP ldy #S.PS.hStdIn
|
|||||||
.1 lda bPause
|
.1 lda bPause
|
||||||
bne CS.RUN.LOOP Pause...
|
bne CS.RUN.LOOP Pause...
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.7 inc ZPChunkIndex
|
jsr CS.RUN.GetChunk
|
||||||
|
bcs .9
|
||||||
lda ZPChunkIndex
|
|
||||||
asl
|
|
||||||
clc
|
|
||||||
adc #PAKME.TABLE
|
|
||||||
tay
|
|
||||||
lda (pData),y
|
|
||||||
pha
|
|
||||||
iny
|
|
||||||
lda (pData),y
|
|
||||||
ply
|
|
||||||
|
|
||||||
>PUSHYA
|
|
||||||
lda ZPChunkIndex
|
|
||||||
>PUSHA
|
|
||||||
|
|
||||||
|
>PUSHW ZPChunkLen
|
||||||
|
>PUSHW ZPChunkOfs
|
||||||
|
>PUSHB ZPChunkIndex
|
||||||
>PUSHBI 3
|
>PUSHBI 3
|
||||||
>LDYA L.MSG.CHUNK
|
>LDYA L.MSG.CHUNK
|
||||||
>SYSCALL printf
|
>SYSCALL printf
|
||||||
|
|
||||||
|
|
||||||
dec ZPChunkCnt
|
dec ZPChunkCnt
|
||||||
bne CS.RUN.LOOP
|
beq .8
|
||||||
|
|
||||||
|
jmp CS.RUN.LOOP
|
||||||
|
|
||||||
.8 lda #0
|
.8 lda #0
|
||||||
sec
|
sec
|
||||||
@ -281,6 +274,58 @@ CS.RUN.GetTable >PUSHBI SEEK.SET
|
|||||||
lda hSrcFile
|
lda hSrcFile
|
||||||
>SYSCALL fread
|
>SYSCALL fread
|
||||||
|
|
||||||
|
.9 rts
|
||||||
|
*--------------------------------------
|
||||||
|
CS.RUN.GetChunk lda ZPChunkIndex
|
||||||
|
|
||||||
|
inc ZPChunkIndex
|
||||||
|
|
||||||
|
asl
|
||||||
|
clc
|
||||||
|
adc #PAKME.TABLE+1
|
||||||
|
tay
|
||||||
|
lda (pData),y
|
||||||
|
pha
|
||||||
|
dey
|
||||||
|
lda (pData),y
|
||||||
|
sec
|
||||||
|
ldy #PAKME.HEADER+5
|
||||||
|
sbc (pData),y
|
||||||
|
sta ZPChunkOfs
|
||||||
|
|
||||||
|
iny
|
||||||
|
pla
|
||||||
|
sbc (pData),y
|
||||||
|
sta ZPChunkOfs+1
|
||||||
|
|
||||||
|
>PUSHBI SEEK.SET
|
||||||
|
>PUSHWZ
|
||||||
|
>PUSHW ZPChunkOfs
|
||||||
|
lda hSrcFile
|
||||||
|
>SYSCALL fseek
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
>PUSHWI 3
|
||||||
|
>PUSHEA.G CHUNK.HEADER
|
||||||
|
lda hSrcFile
|
||||||
|
>SYSCALL fread
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
>LDA.G CHUNK.HEADER
|
||||||
|
* bne .90
|
||||||
|
|
||||||
|
>LDA.G CHUNK.HEADER+1
|
||||||
|
sta ZPChunkLen
|
||||||
|
iny
|
||||||
|
lda (pData),y
|
||||||
|
sta ZPChunkLen+1
|
||||||
|
|
||||||
|
clc
|
||||||
|
rts
|
||||||
|
|
||||||
|
.90 lda #MLI.E.INCFF
|
||||||
|
sec
|
||||||
|
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.DOEVENT sec
|
CS.DOEVENT sec
|
||||||
@ -314,7 +359,7 @@ 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, Org=$%H Size=%D, %d Chunks.\r\n"
|
||||||
MSG.CHUNK .AZ " Chunk #%02d : Ofs=%D\r\n"
|
MSG.CHUNK .AZ " Chunk #%02d : Ofs=%H, Len=%D\r\n"
|
||||||
MSG.OK .AZ "[OK]"
|
MSG.OK .AZ "[OK]"
|
||||||
MSG.ERR .AZ "[%h]\r\n"
|
MSG.ERR .AZ "[%h]\r\n"
|
||||||
MSG.E.IARC .AZ "Invalid/corrupt archive"
|
MSG.E.IARC .AZ "Invalid/corrupt archive"
|
||||||
@ -335,6 +380,7 @@ 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
|
||||||
|
CHUNK.HEADER .BS 3
|
||||||
PAKSTAT .BS S.PAKSTAT
|
PAKSTAT .BS S.PAKSTAT
|
||||||
DS.END .ED
|
DS.END .ED
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
Loading…
Reference in New Issue
Block a user