NES プロジェクトの画面ファイルを格納するバイナリ形式の解凍アルゴリズムに取り組んでいます。NES の画面解像度は 260x240 です。2x2 ピクセル形式でメタタイルを作成しています。圧縮形式は、どの 2x2 ファイルを画面に書き込むかを指定します。
私が選んだフォーマットは次のように書かれます
0000xxxx: right nibble = value of tile 1 - 16
xxxx0000; left nibble = number of times a tile is written on that row 1 - 16
上記の例では、11110001はインポート ルーチンにタイル 1 を 16 回書き込むように指示します。
私が理解していない部分は、左ニブルを取得して16進数に変換する方法です。私が抱えている同じ問題は、正しいニブルを取り、それを値としても使用することです。
ビット演算を使用してこれを行う方法があるかどうかはわかりません。これを行う効率的な方法が必要です。