$00:9E87 20 E6 AD    JSR $ADE6  [$00:ADE6]   A:FFFF X:0000 Y:0004 D:0180 DB:00 S:073B P:enVmxdIZC HC:500 VC:025 00 Frames=db

; Write out packed ptr-24

$00:9E8A A5 10       LDA $10    [$00:0190]   A:FFFF X:0000 Y:0004 D:0180 DB:00 S:073B P:enVmxdIZC HC:792 VC:028 00 Frames=db
$00:9E8C 9D E4 19    STA $19E4,x[$00:19E4]   A:00CD X:0000 Y:0004 D:0180 DB:00 S:073B P:enVmxdIzC HC:824 VC:028 00 Frames=db
$00:9E8F A5 11       LDA $11    [$00:0191]   A:00CD X:0000 Y:0004 D:0180 DB:00 S:073B P:enVmxdIzC HC:864 VC:028 00 Frames=db
$00:9E91 9D E5 19    STA $19E5,x[$00:19E5]   A:E500 X:0000 Y:0004 D:0180 DB:00 S:073B P:eNVmxdIzC HC:896 VC:028 00 Frames=db

; -----------------------------------------------------------------------------------

$00:9E94 A5 10       LDA $10    [$00:0190]   A:E500 X:0000 Y:0004 D:0180 DB:00 S:073B P:eNVmxdIzC HC:936 VC:028 00 Frames=db
$00:9E96 29 07 00    AND #$0007              A:00CD X:0000 Y:0004 D:0180 DB:00 S:073B P:enVmxdIzC HC:968 VC:028 00 Frames=db
$00:9E99 D0 29       BNE $29    [$9EC4]      A:0005 X:0000 Y:0004 D:0180 DB:00 S:073B P:enVmxdIzC HC:992 VC:028 00 Frames=db

; mx shifting

$00:9E9B 46 12       LSR $12    [$00:0192]   A:0000 X:0006 Y:0002 D:0180 DB:00 S:073B P:enVmxdIZC HC:192 VC:030 00 Frames=e64
$00:9E9D 66 10       ROR $10    [$00:0190]   A:0000 X:0006 Y:0002 D:0180 DB:00 S:073B P:enVmxdIzC HC:246 VC:030 00 Frames=e64
$00:9E9F 46 12       LSR $12    [$00:0192]   A:0000 X:0006 Y:0002 D:0180 DB:00 S:073B P:eNVmxdIzc HC:300 VC:030 00 Frames=e64
$00:9EA1 66 10       ROR $10    [$00:0190]   A:0000 X:0006 Y:0002 D:0180 DB:00 S:073B P:enVmxdIzc HC:354 VC:030 00 Frames=e64
$00:9EA3 46 12       LSR $12    [$00:0192]   A:0000 X:0006 Y:0002 D:0180 DB:00 S:073B P:enVmxdIzc HC:408 VC:030 00 Frames=e64
$00:9EA5 66 10       ROR $10    [$00:0190]   A:0000 X:0006 Y:0002 D:0180 DB:00 S:073B P:enVmxdIzC HC:462 VC:030 00 Frames=e64

$00:9EA7 A5 10       LDA $10    [$00:0190]   A:0000 X:0006 Y:0002 D:0180 DB:00 S:073B P:eNVmxdIzc HC:516 VC:030 00 Frames=e64
$00:9EA9 C9 01 E4    CMP #$E401              A:A145 X:0006 Y:0002 D:0180 DB:00 S:073B P:eNVmxdIzc HC:548 VC:030 00 Frames=e64
$00:9EAC D0 16       BNE $16    [$9EC4]      A:A145 X:0006 Y:0002 D:0180 DB:00 S:073B P:eNVmxdIzc HC:572 VC:030 00 Frames=e64
(..)

$00:9EC4 E8          INX                     A:0005 X:0000 Y:0004 D:0180 DB:00 S:073B P:enVmxdIzC HC:1014 VC:028 00 Frames=db
$00:9EC5 E8          INX                     A:0005 X:0001 Y:0004 D:0180 DB:00 S:073B P:enVmxdIzC HC:1028 VC:028 00 Frames=db
$00:9EC6 E8          INX                     A:0005 X:0002 Y:0004 D:0180 DB:00 S:073B P:enVmxdIzC HC:1042 VC:028 00 Frames=db
$00:9EC7 88          DEY                     A:0005 X:0003 Y:0004 D:0180 DB:00 S:073B P:enVmxdIzC HC:1056 VC:028 00 Frames=db
$00:9EC8 D0 BD       BNE $BD    [$9E87]      A:0005 X:0003 Y:0003 D:0180 DB:00 S:073B P:enVmxdIzC HC:1070 VC:028 00 Frames=db

; ===================================================================================
; ***********************************************************************************
; ***********************************************************************************
; ===================================================================================

$00:ADE6 22 66 C0 02 JSL $02C066[$02:C066]   A:FFFF X:0000 Y:0004 D:0180 DB:00 S:0739 P:enVmxdIZC HC:546 VC:025 00 Frames=db
$00:ADEA 60          RTS                     A:FFFF X:0000 Y:0004 D:0180 DB:00 S:0739 P:enVmxdIZC HC:750 VC:028 00 Frames=db

; ===================================================================================
; ***********************************************************************************
; ***********************************************************************************
; ===================================================================================

$02:C066 08          PHP                     A:FFFF X:0000 Y:0004 D:0180 DB:00 S:0736 P:enVmxdIZC HC:602 VC:025 00 Frames=db
$02:C067 C2 30       REP #$30                A:FFFF X:0000 Y:0004 D:0180 DB:00 S:0735 P:enVmxdIZC HC:624 VC:025 00 Frames=db
$02:C069 48          PHA                     A:FFFF X:0000 Y:0004 D:0180 DB:00 S:0735 P:enVmxdIZC HC:646 VC:025 00 Frames=db
$02:C06A DA          PHX                     A:FFFF X:0000 Y:0004 D:0180 DB:00 S:0733 P:enVmxdIZC HC:676 VC:025 00 Frames=db
$02:C06B 5A          PHY                     A:FFFF X:0000 Y:0004 D:0180 DB:00 S:0731 P:enVmxdIZC HC:706 VC:025 00 Frames=db
$02:C06C E2 30       SEP #$30                A:FFFF X:0000 Y:0004 D:0180 DB:00 S:072F P:enVmxdIZC HC:736 VC:025 00 Frames=db

; 32-bit cache (8-bit overflow)

$02:C06E A7 52       LDA [$52]  [$1C:A00D]   A:FFFF X:0000 Y:0004 D:0180 DB:00 S:072F P:enVMXdIZC HC:758 VC:025 00 Frames=db
$02:C070 85 10       STA $10    [$00:0190]   A:FFAC X:0000 Y:0004 D:0180 DB:00 S:072F P:eNVMXdIzC HC:806 VC:025 00 Frames=db
$02:C072 20 33 C1    JSR $C133  [$00:C133]   A:FFAC X:0000 Y:0004 D:0180 DB:00 S:072F P:eNVMXdIzC HC:830 VC:025 00 Frames=db

$02:C075 A7 52       LDA [$52]  [$1C:A00E]   A:FFAC X:0000 Y:0004 D:0180 DB:00 S:072F P:eNVMXdIzC HC:1132 VC:025 00 Frames=db
$02:C077 85 11       STA $11    [$00:0191]   A:FF18 X:0000 Y:0004 D:0180 DB:00 S:072F P:enVMXdIzC HC:1180 VC:025 00 Frames=db
$02:C079 20 33 C1    JSR $C133  [$00:C133]   A:FF18 X:0000 Y:0004 D:0180 DB:00 S:072F P:enVMXdIzC HC:1204 VC:025 00 Frames=db

$02:C07C A7 52       LDA [$52]  [$1C:A00F]   A:FF18 X:0000 Y:0004 D:0180 DB:00 S:072F P:enVMXdIzC HC:138 VC:026 00 Frames=db
$02:C07E 85 12       STA $12    [$00:0192]   A:FF3C X:0000 Y:0004 D:0180 DB:00 S:072F P:enVMXdIzC HC:186 VC:026 00 Frames=db
$02:C080 20 33 C1    JSR $C133  [$00:C133]   A:FF3C X:0000 Y:0004 D:0180 DB:00 S:072F P:enVMXdIzC HC:210 VC:026 00 Frames=db

$02:C083 A7 52       LDA [$52]  [$1C:A010]   A:FF3C X:0000 Y:0004 D:0180 DB:00 S:072F P:enVMXdIzC HC:512 VC:026 00 Frames=db
$02:C085 85 13       STA $13    [$00:0193]   A:FF23 X:0000 Y:0004 D:0180 DB:00 S:072F P:enVMXdIzC HC:560 VC:026 00 Frames=db

; -------------------------------------------------------------------------------

; bit alignment

$02:C087 A6 55       LDX $55    [$00:01D5]   A:FF23 X:0000 Y:0004 D:0180 DB:00 S:072F P:enVMXdIzC HC:584 VC:026 00 Frames=db
$02:C089 F0 0B       BEQ $0B    [$C096]      A:FF23 X:0005 Y:0004 D:0180 DB:00 S:072F P:enVMXdIzC HC:608 VC:026 00 Frames=db

$02:C08B 46 13       LSR $13    [$00:0193]   A:FF23 X:0005 Y:0004 D:0180 DB:00 S:072F P:enVMXdIzC HC:624 VC:026 00 Frames=db
$02:C08D 66 12       ROR $12    [$00:0192]   A:FF23 X:0005 Y:0004 D:0180 DB:00 S:072F P:enVMXdIzC HC:662 VC:026 00 Frames=db
$02:C08F 66 11       ROR $11    [$00:0191]   A:FF23 X:0005 Y:0004 D:0180 DB:00 S:072F P:eNVMXdIzc HC:700 VC:026 00 Frames=db
$02:C091 66 10       ROR $10    [$00:0190]   A:FF23 X:0005 Y:0004 D:0180 DB:00 S:072F P:enVMXdIzc HC:738 VC:026 00 Frames=db
$02:C093 CA          DEX                     A:FF23 X:0005 Y:0004 D:0180 DB:00 S:072F P:enVMXdIzc HC:776 VC:026 00 Frames=db
$02:C094 D0 F5       BNE $F5    [$C08B]      A:FF23 X:0004 Y:0004 D:0180 DB:00 S:072F P:enVMXdIzc HC:790 VC:026 00 Frames=db

; -------------------------------------------------------------------------------

$02:C096 22 A1 C0 02 JSL $02C0A1[$02:C0A1]   A:FF23 X:0000 Y:0004 D:0180 DB:00 S:072F P:enVMXdIZc HC:190 VC:027 00 Frames=db

$02:C09A C2 30       REP #$30                A:A023 X:0000 Y:0004 D:0180 DB:00 S:072F P:enVMXdIzc HC:548 VC:028 00 Frames=db
$02:C09C 7A          PLY                     A:A023 X:0000 Y:0004 D:0180 DB:00 S:072F P:enVmxdIzc HC:570 VC:028 00 Frames=db
$02:C09D FA          PLX                     A:A023 X:0000 Y:0004 D:0180 DB:00 S:0731 P:enVmxdIzc HC:606 VC:028 00 Frames=db
$02:C09E 68          PLA                     A:A023 X:0000 Y:0004 D:0180 DB:00 S:0733 P:enVmxdIZc HC:642 VC:028 00 Frames=db
$02:C09F 28          PLP                     A:FFFF X:0000 Y:0004 D:0180 DB:00 S:0735 P:eNVmxdIzc HC:678 VC:028 00 Frames=db
$02:C0A0 6B          RTL                     A:FFFF X:0000 Y:0004 D:0180 DB:00 S:0736 P:enVmxdIZC HC:706 VC:028 00 Frames=db

; ===================================================================================
; ***********************************************************************************
; ***********************************************************************************
; ===================================================================================

ex.
23 3C 18 AC
0010 0011 | 0011 1100 | 0001 1000 | 101(0 1100)		[ALIGNMENT]
0000 0001 | 0001 1001 | 1110 0000 | 1100 0{101}		[HUFFMAN]
0000 0000 | 0010 0011 | 0011 1100 | 0001 1000		[PTR]


$02:C0A1 48          PHA                     A:FF23 X:0000 Y:0004 D:0180 DB:00 S:072C P:enVMXdIZc HC:246 VC:027 00 Frames=db
$02:C0A2 08          PHP                     A:FF23 X:0000 Y:0004 D:0180 DB:00 S:072B P:enVMXdIZc HC:268 VC:027 00 Frames=db
$02:C0A3 E2 30       SEP #$30                A:FF23 X:0000 Y:0004 D:0180 DB:00 S:072A P:enVMXdIZc HC:290 VC:027 00 Frames=db

; save 3 info bits (Huffman alignment)

$02:C0A5 A5 10       LDA $10    [$00:0190]   A:FF23 X:0000 Y:0004 D:0180 DB:00 S:072A P:enVMXdIZc HC:312 VC:027 00 Frames=db
$02:C0A7 29 07       AND #$07                A:FFC5 X:0000 Y:0004 D:0180 DB:00 S:072A P:eNVMXdIzc HC:336 VC:027 00 Frames=db
$02:C0A9 48          PHA                     A:FF05 X:0000 Y:0004 D:0180 DB:00 S:072A P:enVMXdIzc HC:352 VC:027 00 Frames=db

; ----------------------------------------------------------------------------------

; chop 3 bits

$02:C0AA 46 13       LSR $13    [$00:0193]   A:FF05 X:0000 Y:0004 D:0180 DB:00 S:0729 P:enVMXdIzc HC:374 VC:027 00 Frames=db
$02:C0AC 66 12       ROR $12    [$00:0192]   A:FF05 X:0000 Y:0004 D:0180 DB:00 S:0729 P:enVMXdIZC HC:412 VC:027 00 Frames=db
$02:C0AE 66 11       ROR $11    [$00:0191]   A:FF05 X:0000 Y:0004 D:0180 DB:00 S:0729 P:eNVMXdIzC HC:450 VC:027 00 Frames=db
$02:C0B0 66 10       ROR $10    [$00:0190]   A:FF05 X:0000 Y:0004 D:0180 DB:00 S:0729 P:eNVMXdIzc HC:488 VC:027 00 Frames=db

$02:C0B2 46 13       LSR $13    [$00:0193]   A:FF05 X:0000 Y:0004 D:0180 DB:00 S:0729 P:enVMXdIzC HC:526 VC:027 00 Frames=db
$02:C0B4 66 12       ROR $12    [$00:0192]   A:FF05 X:0000 Y:0004 D:0180 DB:00 S:0729 P:enVMXdIZc HC:564 VC:027 00 Frames=db
$02:C0B6 66 11       ROR $11    [$00:0191]   A:FF05 X:0000 Y:0004 D:0180 DB:00 S:0729 P:enVMXdIzc HC:602 VC:027 00 Frames=db
$02:C0B8 66 10       ROR $10    [$00:0190]   A:FF05 X:0000 Y:0004 D:0180 DB:00 S:0729 P:enVMXdIzc HC:640 VC:027 00 Frames=db

$02:C0BA 46 13       LSR $13    [$00:0193]   A:FF05 X:0000 Y:0004 D:0180 DB:00 S:0729 P:enVMXdIzc HC:678 VC:027 00 Frames=db
$02:C0BC 66 12       ROR $12    [$00:0192]   A:FF05 X:0000 Y:0004 D:0180 DB:00 S:0729 P:enVMXdIZc HC:716 VC:027 00 Frames=db
$02:C0BE 66 11       ROR $11    [$00:0191]   A:FF05 X:0000 Y:0004 D:0180 DB:00 S:0729 P:enVMXdIzc HC:754 VC:027 00 Frames=db
$02:C0C0 66 10       ROR $10    [$00:0190]   A:FF05 X:0000 Y:0004 D:0180 DB:00 S:0729 P:enVMXdIzc HC:792 VC:027 00 Frames=db

; ==================================================================================
; ##################################################################################
; ==================================================================================

$02:C0C2 C2 20       REP #$20                A:FF05 X:0000 Y:0004 D:0180 DB:00 S:0729 P:enVMXdIzC HC:830 VC:027 00 Frames=db

; BASE ADDRESS = $15:E401

; 32-bit shifting (mx)

$02:C0C4 A5 10       LDA $10    [$00:0190]   A:FF05 X:0000 Y:0004 D:0180 DB:00 S:0729 P:enVmXdIzC HC:852 VC:027 00 Frames=db
$02:C0C6 06 10       ASL $10    [$00:0190]   A:3C18 X:0000 Y:0004 D:0180 DB:00 S:0729 P:enVmXdIzC HC:884 VC:027 00 Frames=db
$02:C0C8 26 12       ROL $12    [$00:0192]   A:3C18 X:0000 Y:0004 D:0180 DB:00 S:0729 P:enVmXdIzc HC:938 VC:027 00 Frames=db

$02:C0CA 29 FF 7F    AND #$7FFF              A:3C18 X:0000 Y:0004 D:0180 DB:00 S:0729 P:enVmXdIzc HC:992 VC:027 00 Frames=db
$02:C0CD 18          CLC                     A:3C18 X:0000 Y:0004 D:0180 DB:00 S:0729 P:enVmXdIzc HC:1016 VC:027 00 Frames=db
$02:C0CE 69 01 E4    ADC #$E401              A:3C18 X:0000 Y:0004 D:0180 DB:00 S:0729 P:enVmXdIzc HC:1030 VC:027 00 Frames=db
$02:C0D1 09 00 80    ORA #$8000              A:2019 X:0000 Y:0004 D:0180 DB:00 S:0729 P:envmXdIzC HC:1054 VC:027 00 Frames=db

; ---------------------------------------------------------------------------------

; check wrap

$02:C0D4 48          PHA                     A:A019 X:0000 Y:0004 D:0180 DB:00 S:0729 P:eNvmXdIzC HC:1078 VC:027 00 Frames=db
$02:C0D5 90 02       BCC $02    [$C0D9]      A:A019 X:0000 Y:0004 D:0180 DB:00 S:0727 P:eNvmXdIzC HC:1108 VC:027 00 Frames=db
$02:C0D7 E6 12       INC $12    [$00:0192]   A:A019 X:0000 Y:0004 D:0180 DB:00 S:0727 P:eNvmXdIzC HC:1124 VC:027 00 Frames=db

; bank offset

$02:C0D9 A5 12       LDA $12    [$00:0192]   A:A019 X:0000 Y:0004 D:0180 DB:00 S:0727 P:envmXdIzC HC:1178 VC:027 00 Frames=db
$02:C0DB 18          CLC                     A:0047 X:0000 Y:0004 D:0180 DB:00 S:0727 P:envmXdIzC HC:1210 VC:027 00 Frames=db
$02:C0DC 69 15 00    ADC #$0015              A:0047 X:0000 Y:0004 D:0180 DB:00 S:0727 P:envmXdIzc HC:1224 VC:027 00 Frames=db
$02:C0DF 85 12       STA $12    [$00:0192]   A:005C X:0000 Y:0004 D:0180 DB:00 S:0727 P:envmXdIzc HC:1248 VC:027 00 Frames=db
$02:C0E1 68          PLA                     A:005C X:0000 Y:0004 D:0180 DB:00 S:0727 P:envmXdIzc HC:1280 VC:027 00 Frames=db

; ---------------------------------------------------------------------------------

; make room for 3 bits (mX)

$02:C0E2 85 10       STA $10    [$00:0190]   A:A019 X:0000 Y:0004 D:0180 DB:00 S:0729 P:eNvmXdIzc HC:1316 VC:027 00 Frames=db

$02:C0E4 06 10       ASL $10    [$00:0190]   A:A019 X:0000 Y:0004 D:0180 DB:00 S:0729 P:eNvmXdIzc HC:1348 VC:027 00 Frames=db
$02:C0E6 26 12       ROL $12    [$00:0192]   A:A019 X:0000 Y:0004 D:0180 DB:00 S:0729 P:envmXdIzC HC:034 VC:028 00 Frames=db
$02:C0E8 06 10       ASL $10    [$00:0190]   A:A019 X:0000 Y:0004 D:0180 DB:00 S:0729 P:envmXdIzc HC:088 VC:028 00 Frames=db
$02:C0EA 26 12       ROL $12    [$00:0192]   A:A019 X:0000 Y:0004 D:0180 DB:00 S:0729 P:eNvmXdIzc HC:142 VC:028 00 Frames=db
$02:C0EC 06 10       ASL $10    [$00:0190]   A:A019 X:0000 Y:0004 D:0180 DB:00 S:0729 P:envmXdIzc HC:196 VC:028 00 Frames=db
$02:C0EE 26 12       ROL $12    [$00:0192]   A:A019 X:0000 Y:0004 D:0180 DB:00 S:0729 P:envmXdIzC HC:250 VC:028 00 Frames=db

; re-add 3 info bits (MX)

$02:C0F0 E2 20       SEP #$20                A:A019 X:0000 Y:0004 D:0180 DB:00 S:0729 P:envmXdIzc HC:304 VC:028 00 Frames=db
$02:C0F2 A5 10       LDA $10    [$00:0190]   A:A019 X:0000 Y:0004 D:0180 DB:00 S:0729 P:envMXdIzc HC:326 VC:028 00 Frames=db
$02:C0F4 29 F8       AND #$F8                A:A0C8 X:0000 Y:0004 D:0180 DB:00 S:0729 P:eNvMXdIzc HC:350 VC:028 00 Frames=db
$02:C0F6 03 01       ORA $01,s  [$00:072A]   A:A0C8 X:0000 Y:0004 D:0180 DB:00 S:0729 P:eNvMXdIzc HC:366 VC:028 00 Frames=db
$02:C0F8 85 10       STA $10    [$00:0190]   A:A0CD X:0000 Y:0004 D:0180 DB:00 S:0729 P:eNvMXdIzc HC:396 VC:028 00 Frames=db

$02:C0FA 68          PLA                     A:A0CD X:0000 Y:0004 D:0180 DB:00 S:0729 P:eNvMXdIzc HC:420 VC:028 00 Frames=db
$02:C0FB 28          PLP                     A:A005 X:0000 Y:0004 D:0180 DB:00 S:072A P:envMXdIzc HC:448 VC:028 00 Frames=db
$02:C0FC 68          PLA                     A:A005 X:0000 Y:0004 D:0180 DB:00 S:072B P:enVMXdIZc HC:476 VC:028 00 Frames=db
$02:C0FD 6B          RTL                     A:A023 X:0000 Y:0004 D:0180 DB:00 S:072C P:enVMXdIzc HC:504 VC:028 00 Frames=db

; ===================================================================================
; ***********************************************************************************
; ***********************************************************************************
; ===================================================================================

$02:C133 08          PHP                     A:FFAC X:0000 Y:0004 D:0180 DB:00 S:072D P:eNVMXdIzC HC:876 VC:025 00 Frames=db
$02:C134 C2 20       REP #$20                A:FFAC X:0000 Y:0004 D:0180 DB:00 S:072C P:eNVMXdIzC HC:898 VC:025 00 Frames=db
$02:C136 48          PHA                     A:FFAC X:0000 Y:0004 D:0180 DB:00 S:072C P:eNVmXdIzC HC:920 VC:025 00 Frames=db

; bump and bank wrap

$02:C137 E6 52       INC $52    [$00:01D2]   A:FFAC X:0000 Y:0004 D:0180 DB:00 S:072A P:eNVmXdIzC HC:950 VC:025 00 Frames=db
$02:C139 D0 07       BNE $07    [$C142]      A:FFAC X:0000 Y:0004 D:0180 DB:00 S:072A P:eNVmXdIzC HC:1004 VC:025 00 Frames=db
(..)
$02:C142 68          PLA                     A:FFAC X:0000 Y:0004 D:0180 DB:00 S:072A P:eNVmXdIzC HC:1026 VC:025 00 Frames=db

$02:C143 28          PLP                     A:FFAC X:0000 Y:0004 D:0180 DB:00 S:072C P:eNVmXdIzC HC:1062 VC:025 00 Frames=db
$02:C144 60          RTS                     A:FFAC X:0000 Y:0004 D:0180 DB:00 S:072D P:eNVMXdIzC HC:1090 VC:025 00 Frames=db
