2019/08/18

PC-8001mk2のエミュレータに関するメモ

PC-8001の修理も放置したままなのに縁あってPC-8001mk2を入手したので、とりあえずエミュレータ環境を作ってみた事のメモ書き。

以前はj80というエミュレータや関連するツール群があったようだが、現時点では非公開となっているようなので代替手段として。(今更)

(以下メモ)


エミュレータについて

他機種で使い慣れている武田氏のePC8001mk2を使用することにした。
現在では、PC-8001シリーズ単独のエミュレータはこれとj80しか無いのかな?

N80-BASICの吸出しについて

こちらに書かれていることが全て。
N80-BASICで起動してもN-BASIC拡張部分(という表現は妥当ではないかもしれないが…)の6000H~7FFFHは機械語モニタでは覗けないようだ。
それを読めるようにするにはI/Oポート31Hのbit0を立てれば良いのかな?

最後の5C66Hにジャンプしているのは何だろうか? “RET”では機械語モニタに戻れなかったので、機械語モニタを呼び出すアドレスかな。

ブロック転送部分は謎。リンク先の資料では“直接セーブできない”とあるが、機械語モニタから“W000,7FFF”で保存は出来ている様子。
但し、後述のバイナリ取り出し時にチェックサムエラーとなり取り出しできなかった。

CMT化→バイナリ取り出しについて

cmtファイル化と言うか、テープイメージ化についてはwav2t88というツールが良い様だ。
自分の環境では録音ゲインをかなり上げないとうまくイメージ化できないようだったが、もう少し使い込んでみないとわからない部分もあり。

そもそもセーブコマンド入力する前からPC-8001mk2本体から、“ピー音”がダダ漏れなのは正常なのかどうなのか…。

cmtからのバイナリ取り出しは、t88toolというツールを使用した。
このツールも使い方を殆ど理解していないが、“-j”オプションを付けるとバイナリデータ取り出しができるようだったが、N-BASIC部分0000H~5FFFHの取り出しの際はローダーのような別ファイルが作成された。

また、作成されたバイナリデータそれぞれの先頭にはヘッダーのようなものが挿入されるので、4バイト削除してから合成することでとりあえずは使用できるROMイメージが作成できた。

フォントデータについて

PC-8001mk2のフォント用ROMは2316が実装されているが、ROMライターがあれば2716として吸い出せる。
但し、そのままリネームしただけでは使用できず、先頭に4KBのダミーデータを付けて“kanji1.rom”としなければいけないようだ。

若しくはPC-88シリーズから吸い出したものを使用する(むしろ推奨?)方法もあるが、BASIC-ROMのように実機を分解しなくても良い方法は無いのだろうか?

互換フォントで良ければ、武田氏のpasopia7エミュレータに含まれるfont.romにダミーデータを加えるという方法もあるが…。

0 件のコメント:

コメントを投稿