2014年10月04日

P6ゲームのグラフィックデータで遊ぶ

今回はちょっと脱線気味の遊びをしてみました。
P6用ゲームソフトの中のグラフィックデータを参照、編集できるツール、名づけて「P6GraphBinEdit」を作ってみました。(命名超適当)

取り扱うデータはP6用のベタテープイメージを想定していますが、特にフォーマットは規定していません。P6の色フォーマットでビットマップがベタに記録されているファイルであれば何でも開けます。
逆に言うと、インテルHEXのテープイメージやディスクイメージでは難しいと思います。
まずはツールで適当なゲームソフト(ここではタイニーゼビウスマーク2)のテープイメージを開いてみます。
GRAPHBIN_START.png
ランダムっぽい模様が表示されます。本来プログラムバイナリであるものを無理やりグラフィックとして表示しているのだから当然です。この中からグラフィックデータがないか探していきます。ここでは下の方にタイトルの影っぽいものが見えます。
グラフィックデータは一定のバイト幅の繰り返しの形で格納されていると考えられるので、ウィンドウ上部の「オフセット」「幅」の値を調整し、完全な絵として見えるポイントを探していきます。また、スクリーンモードもそのゲームが使っているモードに合わせておく必要があります。
GRAPHBIN_XEVIOUS.png

さらにこの画像の上から、ドットをポチポチ打って編集することができます。編集したデータはそのままファイルに保存できます。これでちょっとしたハックロムなら作れます。(右上の方のタイトルデータはうまく見つかりませんでしたorz)
GRAPHBIN_XEVIOS.png
TINYXEVIOS.png
何しろ突貫で作ったので、描画機能はひたすらドットを打つのみ(コピー、貼り付け、塗りつぶし等一切無し)、アンドゥ機能なし、コード領域を破壊しないような保護機構もなし、保存は上書きのみというなんともデンジャラスな仕様です。

ちなみに、モード4カラーのゲームは白黒で表示されます(手抜き)
GRAPHBIN_PORTPIA.png
ただし、編集に際しては赤と青を塗るため、1ドットおき描画機能だけはつけてます。

また、ビットマップとして格納されているデータでも、そのままでは表示できないというケースもあります。
Questを例に取ると、このゲームはマシン語部分もBASICと一緒にロードするため、00が連続するとCLOADが止まるという仕様を回避するために、グラフィックデータの各バイトに0x02を足した値をテープに書き込み、表示前に2を引いて処理するということをしています。
こうしたものについては、エディタ側で個別のゲームに対してのカスタム実装が必要になります。
GRAPHBIN_QUEST.png

何しろネタのために突貫で作ったもので、エディタとしての完成度も低くリリースは今のところ考えていません。それでもなにか作りたいという方がいらっしゃれば応相談ということで…。
posted by eighttails at 23:02| Comment(0) | PC-6001 | このブログの読者になる | 更新情報をチェックする

2014年06月21日

PC-6001互換CGROM Ver.1.1

先日公開した互換CGROMですが、ひらがなのバランスに納得がいかない点があったので補正しました。
なるべくマス目いっぱいに入るように書き直したので、前回リリースのようなスカスカな感じは緩和されたのではないかと思います。
FONT11_1.pngFONT11_2.pngFONT11_3.png
YOUばくの自機だけちゃんと表示されるように補正しましたw(敵は相変わらずです)

ダウンロードはこちらからどうぞ。
CGROM.zip
posted by eighttails at 01:06| Comment(0) | PC-6001 | このブログの読者になる | 更新情報をチェックする

2014年06月17日

PC-6001互換CGROM

P6erなら先刻ご承知と思いますが、秋川さんのページにて、PC-6001初代機互換BASICのROMファイルが公開されてます。

これによって、実機を持ってない、あるいは故障等の事情でROMが吸い出せない人でもエミュレータ上でソフトを動かせる可能性が開けました。


秋川さんの取り組みは支持したいところですが、互換BASICの実装にコントリビュートするような力量は持ち合わせてないので、互換環境用のCGROMを作ってみることにしました。


現在の互換BASICはCGROMを添付していません。BDFフォントからCGROMを生成するツールは公開されていますが、

・PC-6001のフォントサイズは8x12ピクセルで、このサイズにジャストフィットする日本語フォントが多分存在しない。

・CGROMの再配布に関しては元フォントのライセンスの解釈上判断が難しく、各人が自分で生成しなければならない。

という課題があります。


そこで、手作業でオリジナルのフォントを作成して、CGROMとしてリリースする事にしました。


続きを読む
posted by eighttails at 22:45| Comment(0) | PC-6001 | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。