屋 上


img
未定



■ 屋 上



すごい。あんなに腐ってた GBMC でここまで演奏できるとは。


物置ページの成果を受けて Z80 版を元に GB 版の LZSA 解凍ルーチンを作ってみた。
どうせ GB では ROM から RAM への展開だけだろうから backword 展開はカット。
LDIR 相当部分の評価をもう少ししたほうがいいのかもしれないが、たぶん現状でも LZ4 より圧縮率は高く速度は同等以上だと思う。



lzsa1_gb_20190825.zip
といってもこれで何をするわけでもないんだけど。どうしよう、GitHub にでも放り込んでおけばいいのだろうか。
LZSA2 も着手中。

あー、いま 32KB とか 256KB のカートがあるのか。
32KB はともかく 256KB は対応を考えないといけないかもしれない。
フォントが圧縮できるといいんだけどなぁ。




lzsa2_gb_20190826.zip

GB 版 LZSA2 できた。レジスタ足りなくて久々に GB パズル感を味わった。なるべく push/pop せずに済ませたかった。
やはり LZSA2 は圧縮率が稼げる代わりに若干遅いので、背景を LZSA2 で、立ち絵を LZSA1 みたいな使い分けができると良いように思う。

GB は ldir が無いので相当処理を組むことになるんだけど、
ループカウンタの上位 b=0 の場合などは c だけを回せばいいので、個別処理に飛ばせばもう少し速くなるはず。ちなみに djnz も無い。
展開処理であればむしろ b=0 の場合の方が多いような気がする。

あと、GB は jr の方が jp より全てにおいて速いのでサブルーチンの配置次第で微妙に変わるかもしれない。一通り検討はしたつもりだけど。


▲ TOP