2014年06月17日

PC-6001互換CGROM

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

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


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


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

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

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

という課題があります。


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


製作に当たって目標としたことは、

改変、再配布を自由にできる緩いライセンスにすること

手書きや丸文字のようなファンシーな装飾系のフォントでなく、普段使いとして常用出来ること。(あれ、同じ事二回言ってる?)

です。


フォント作成の手順としては、まず秋川さんのツールを使ってM+ビットマップフォントからCGROM60.60ファイルを生成します。

(ライセンスの文言こちらのページの解釈に従うと、M+フォントは非常に緩いライセンスのフォントですので、仮にこの状態のファイルを配布したとしても問題ないはずです。)

次に、p6fontを用いて編集用のBMPファイルに変換します。ツールはmk2のCGROM用のようなので、末尾に4KBのダミーデータを付けて読み込ませます。

ここで実機から吸い出したCGROMをベースにしてしまうと「オリジナルとの違いを出すだけのためにディテールをちょこっと編集」という意味のない作業になってしまうので、実機とは違うフォント、さらに元フォントからの流用が認められても問題ないフォントをベースに選びました。

M+ビットマップは12x12なので、変換の際に8x12にリサイズされています。これを修正して読みやすい字形に直していきます。

作業中実機のフォントは見ないようにして、あらかじめフォントのマージンやベースラインなどのポリシーを大まかに決めておいた上でGIMPでポチポチドットを打っていきます。

元のフォントビットマップは今どの文字を編集しているかの識別のための物で、実態はトレースや整形というより総書き換えに近いです。

また、元フォントにはトランプマークが含まれていないのでそういった所は新規に書き起こします。

Font_Editing.png

最後に、再びp6fontでCGROMファイルとして書き出します。(末尾4KBはバイナリエディタで削除)


こうして作ったCGROMに差し替えたスクリーンショットをいくつか掲載します。

(動作画面はすべて互換BASIC上のものです)

P6V001.pngP6V002.pngP6V005.pngP6V006.pngP6V007.pngP6V004.pngP6V008.pngP6V009.pngP6V010.pngP6V011.pngP6V012.png

フォント作成に関しては全くの素人で、デザインについて専門的な知見は全く持っていませんが、可読性はまずまずだと思います。

かな文字がオリジナルより細身になってしまいました。(この辺は元のM+の影響が出てると思います)

P6V003.png

一方、SCREEN3でノーマルキャラクターの重ね合わせでキャラクターを表現しているゲームとの相性はよくありません。これに関しては使用頻度の高いものは実機に近づけるよう修正しようかとも思いますが、「実機と寸分違わぬCGROMを作る」以外に根本的な解決法はないのでどこかで妥協しなければならないと思います。


ダウンロードはこちらからどうぞ。


posted by eighttails at 22:45| Comment(0) | PC-6001 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。