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