DevkitPro Updater を走らせると PGP キーのエラーとかでアップデート失敗するので
一旦アンインストールして再インストールした。エラーの原因と対策が分かったわけでは無いので全く学びにはならなかった。
そういえば PSP の devkit って無くなったのだろうか。
別プロジェクトが一段落したので GB の過去作を最新の RGBDS v9.2 でコンパイル通るように改修している。
HARDWARE.INC が更新され激変。修正作業のほとんどがこれのせい。
ROM 種別や RAM 容量などの指定が全削除。RGBFIX でうまいことやってくれ、ということらしい。
また、何とは言わないけれどロゴデータが(言うとるがな)削除された。世知辛い。
レジスタ名とかアドレッシング表記とか、そのうち慣れるのかもしれないが、変える必要あったのかなと思わなくもない。
でも業界標準だからなぁ。
TPP1 マッパーも随分前から動きが無い。結局物理的なカートリッジは出てこないのだろうか。
Max 1GB ROM とか、既存の全ゲームが入りそうな勢いだが。どうせならネット対応も…。
そういえば EverDrive GB も起動 ROM が .GB なので、解析すれば SD カードへのアクセスとか出来るのではなかろうか。
東鳩 GB を対応完了。ImageMagick から convert コマンドが無くなっていたり色々混乱した。
scn は lz4 で圧縮してるはずが、元のサイズより大きくなるという不都合な真実があったりする。画像は一応縮むのだけれど。
雫 GB を対応完了。
痕 GB を対応完了。正直これは酷かった。どこに向かって謝ればいいのか分からないけどごめんなさい。
タイトルロゴのスプライト転送に失敗するバグも修正。
スプライトダブラを雫と同様に DMA 化してみたけど逆に 1 ラインのスキマが空いたりチラつきが出たので元に戻した。
実機では試していないが、さめぼ〜い先生がそうだと言うならきっと間違いない。
痕を修正中にまたツール群がアップデートしたので、東鳩と雫もサイレントアップデート。
自前で頑張っていたチェックサム修正ツールを RGBDS 謹製の RGBFIX に差し替え。MIT ライセンスの文言追加。
チェックサム修正のついでに、いい感じに 48byte を埋めてくれる。責任回避とも言う。
Bad Apple! を対応完了。
データセットは同じ。プログラムは少しだけ弄った。今作ればもう少し違った形に出来たかもしれないが、さすがにしんどい。
RGBDS の進化によって、バイナリのインクルードで工夫ができるようになったので、面倒だった部分が若干すっきり。
今までは一度コンパイルしたものを copy /b で切り貼りしていたのであった。
def banknum = 1
rept 274
SECTION "Tile DATA Bank{d:banknum}",ROMX[$4000], BANK[banknum]
incbin "tile_n.bin", (banknum - 1) * 16384, 16384
def banknum = banknum + 1
endr
|
こんな感じで 16KB=1bank を超えるバイナリを一括して incbin する方法を編み出したのであった。
本当はこれすら面倒ではあるのだけれど…。
音楽を途切れさせないために 256Hz で割込みをすると DMA の転送とバッティングして画像が化けるので、画像データは CPU による自力転送を行う。
すると blank の境目などでどうしても転送エラーが起こる場合があり、画面にゴミが出る。
このあたり、ちゃんと計算してやればうまいこといったのかもしれないが、今に至っても手が出せなかった。
Bad Apple! を更にサイレントアップデート。出来るだけのことはやっておきたいということで。
あと、hardware.inc が 5.2.0 になったので(影響はないけれど)差し替え。
GB 音源ドライバをアップデート。諸々検証に時間がかかった。
思うに、GBS 再生環境とかもう必要とされないのかなぁと感じる。結局、音源ログか録音が手軽でいいのかも。nsf,spc,gsf,psf...
本物と同じドライバで動いているというのはロマンでしかないのか…。