NEC の PC-8001 を
個人的にエミュレートしてみた図(^^;)


言い訳

「このプログラムの一部、あるいは全てを利用した物で、現在・過去・未来に製造、
販売された商品をエミュレーションしたものを公開・頒布・販売する事は、無償かつ、
その権利所有者が許可した場合を除き、一切認めません」と書いておいて、自ら示す
サンプルが「これかい」と思うのはもっともですが、今のところ実働の証拠(?)を
示すサンプルが無いので、とりあえず画面のキャプチャー+αを公開します

注意

画面

1/2 に縮小して(エミュレータは 2 倍で表示してるので、これが本来の dot 数なの
ですが)表示させてます

おなじみ起動画面です。私は初期の所有者
だったのでROM のバージョンが 1.0 です。
本体は壊れたので破棄しましたが、エンブレムと
ROM は取ってありました(笑)

知る人ぞ知る BugFire。工学社の I/O に
掲載されてました(すいません、作者名などが
今ではわかりません)。色々な機種に移植
されたので、PC-8001 版が原作だということを
知らない人も結構多いのでは?

これも 工学社の I/O に掲載されていた、
KONAMI のスクランブル。作者は今では超有名な
あの方です(笑) 当時、何本か移植を手がけ(?)、
某コンテストで優勝して、どんどん出世
されました

元は SEGA 版のテトリス。移植者は私です(笑)。
世間には未公開ですが、サッカーの岡田監督で
有名な(?)某高校の数学研究部では当時結構
遊ばれてました。元は Disk Basic が必要なの
ですが、そっちは移植して無いので、ちょっと
エミュレータに手をいれてます

元は SEGA 版のコラムス。これも移植者は私
です(笑)。やっぱり未公開です。PC-8001 の
絵的にはかなり究極だと思ってます。タイトル
グラフィックもちゃんとありますし、一応 2 人
プレイも可能です(テトリスもですが)。
これも Disk Basic なのでエミュレートは細工
してあります。この時の開発は Oh!X(MZ) の
S-OS を使ってたのでかなり快適でした。あらゆる
意味で私的には末期で究極でした


PC-8001 のエミュレートについて

実は V-Sync 待ちをしてる部分の為に、そのポートのそのビットを適当にトグル
させると、あとは V-RAM のエミュレーションだけで起動画面が出るところまで
結構簡単に動きます。あとは必要に応じて地道に付け足せばわりとあっさり作る
ことが出来ます。さぁ、あなたも My PC-8001 Emu をつくってみませんか?(笑)

画面に関しては、必要な部分のみの描画で、しかもちょっとしたキャッシュのような
機構を組み込むことで、640 x 400 dot でも十分高速に動作しました。逆に工夫が
無いとつらいようです。このへんは Java の knowhow が多少必要ですね

音関係は実装してません。Java でリアルタイムに音を生成できればいいんですが...


おまけ

まったく動作サンプルが無いのもさみしいので、1 本だけ動作サンプルを載せて
おきます。これは I/O に掲載されたクレージークライマーもどきです。これを
選んだ理由は

からです、言い訳ですけどね。だから権利者所有者からクレームが出たら削除します

なお、上記理由により、本来あるべき BASIC 部分がありませんので、若干元とも
動作が違います。また、使用している Z80 クラスも古いもので、まだクロック数を
数えてないころの物(実行スピードが機種に大きく依存する)ですし、画面表示関係も
何も工夫してない初期のテスト版の物ですので表示が小さいくせに遅いです(ので
スクロールでのアトリビュートずれが目立つ)

元のタイトルもこんな感じです(笑)

キー
  左手 : 4,5,1,2
  右手 : 6,+,3,Enter
スタート : スペース