A2osX/INC/ARC.I.txt

87 lines
2.2 KiB
Plaintext
Raw Normal View History

2023-11-04 14:42:28 +00:00
NEW
AUTO 3,1
.LIST OFF
*--------------------------------------
STR.MIN .EQ 3
STR.MID .EQ STR.MIN+7+1
STR.MAX .EQ STR.MID+63
*--------------------------------------
BLL.MIN .EQ 3
BLL.MID .EQ BLL.MIN+3+1
BLL.MAX .EQ BLL.MID+63
*--------------------------------------
BLO.WINDOW.W .EQ 12
BLO.WINDOW .EQ 4095
*--------------------------------------
ARC.B.PREFIX.W .EQ 1
ARC.B.SINGLE .EQ %0 +bbbb.bbbb
ARC.B.STRBL .EQ %1
*--------------------------------------
ARC.B.RAWTOP.W .EQ 1
ARC.B.RAW .EQ %0 +bbbb.bbbb
ARC.B.TOP .EQ %1
*--------------------------------------
ARC.B.STRBL.W .EQ 1
ARC.B.STR .EQ %0 +llll...
ARC.B.BL .EQ %1 +llll... +oooooooooo...
*--------------------------------------
ARC.B.LEN.W .EQ 1
ARC.B.SHORT.B .EQ %0
ARC.B.LONG.B .EQ %1
*--------------------------------------
ARC.B.SHORTSTR.W .EQ 3
ARC.B.SHORTBLL.W .EQ 2
*--------------------------------------
TOP.MIN.CNT .EQ 3
TOP.MAX .EQ 32
*--------------------------------------
ARC.B.TOP0.W .EQ 4
ARC.B.TOP0.B .EQ %0.000
ARC.B.TOP0.M .EQ %0.111
ARC.B.TOP8.W .EQ 5
ARC.B.TOP8.B .EQ %10.000
ARC.B.TOP8.M .EQ %00.111
ARC.B.TOP16.W .EQ 6
ARC.B.TOP16.B .EQ %11.0000
ARC.B.TOP16.M .EQ %00.1111
*--------------------------------------
* Shunk Header
* ULEN (16) : Target Uncompressed Length
* !!! USED TO STOP UNPACK,NO EOF TOKEN !!!
* TBLBITS (16) : sss.ccccc c.lll.oooo
* sss : bitcnt for long STR len, max = 7 bits:127+STR.MID
* cccccc : top count, 0-> 63
* lll : bitcnt for long BL len, max = 7 bits:127+BL.MID
* oooo : bitcnt for long BL ofs, max = 15 bits:32767
*--------------------------------------
S.ARCSHNK.ULEN .EQ 0 Uncompressed length
S.ARCSHNK.TBLBITS .EQ 2
S.ARCSHNK.TOPBYTES .EQ 4 if cccccc > 0
*
S.ARCSHNK.H .EQ 4
* TOP Bytes ...
S.ARCSHNK .EQ S.ARCSHNK.H+TOP.MAX
* DATA ...
*--------------------------------------
CHNK.SIZE .EQ 4096
*--------------------------------------
CHNK.T .EQ 0
CHNK.T.DIR .EQ 1
CHNK.T.FILE .EQ 2
CHNK.T.DATA .EQ 128
*
CHNK.FILE.TYPE .EQ 1
CHNK.FILE.AUXT .EQ 2
CHNK.FILE.FNLEN .EQ 4
*
CHNK.DIR.FNLEN .EQ 1
*
CHNK.DATA.LEN .EQ 1
*--------------------------------------
MAN
SAVE inc/arc.i
LOAD usr/src/bin/arcme.s
ASM