Pythonでばかげたハフマンコンプレッサーを作成したので、画像/音声データを圧縮して、Tandy ColorComputerProjectsに適用できます。デコンプレッサは6809アセンブリで書かれています。ハフマンツリーを格納する方法が見つからなかったため、ツリーにアクセスして正しい非圧縮データを取得するアセンブリコードを生成しました。次に例を示します。
DECOMP_HUFFMAN: PSHS A,B,X,Y,U
LDB #8
STB $2100
pshs x
ldx $2102
stx $2106
puls x
LDB ,X+
JMP inicio
prox_bit: LSLB
PSHS CC
DEC $2100
BNE S_P_B
LDB #8
STB $2100
LDB ,X+
S_P_B: PULS CC
RTS
armazena: STA ,U+
LEAY -1,Y
BNE inicio
PULS U,Y,X,B,A
RTS
inicio: jsr prox_bit
tfr cc,a
anda #1
sta $2104
lda ($2102)
bne n1
lda $2104
n0: pshs x
ldx $2102
leax 1,x
lda a,x
puls x
bsr armazena
pshs x
ldx $2106
stx $2102
puls x
bra inicio
n1: cmpa #1
bne n2
lda $2104
bne n0
bra n4
n2: cmpa #2
bne n3
lda $2104
beq n0
n3: lda $2104
n4: pshs x
ldx $2102
leax 1,x
lda a,x
leax a,x
stx $2102
puls x
bra inicio
アセンブリコードを作成する代わりに、実際のハフマンツリーを使用したいと思います。
お時間をいただきありがとうございます。