2010年の総括

全ての国産PCのエミュレータを開発しようと始めたこの活動も、今年で7年目となりました。
また、unofficial nesterでエミュレータ開発に携わるようになって、丸10年となります。

今年は、コモンソースではMAP-1010, FP-1100, PHC-20, 初代PC-9801, PC-9801E/F/M, FM16πの開発を行いました。
また、QEMU/9821でWin3.1やWin98SEがブートするようになった他、MS-DOS Playerの改良を行いました。
今年から本業が忙しくなり、特に後半はちょっと停滞気味になってしまいましたが、成果としてはまずまずでしょうか。

今年は技術的に目新しいことはありませんが、FP-1100やMAP-1010をリリース出来たのが最大のトピックでしょうか。
まあまあメジャーな機種で、色々解析が行われていたにも係わらず、何故かエミュレータが存在しなかったFP-1100。
存在自体は知られていても、その実態は殆ど知られていなかった、レトロPC界のUMAであるMAP-1010。
数あるホームコンピュータの中で、存在そのものが忘れ去られていた感のあるPHC-20。
いずれも、資料面でご協力いただいたお陰でリリースすることができました。本当にありがとうございます。
また、FM16πやPC-9801Fは個人的に思い入れがあるマシンでしたので、ようやくリリースすることができて感無量です。

また、従来は既にエミュレータが存在する機種は基本的には手を出さなかったのですが、今年から少しずつ着手することにしました。
本来の開発が行き詰っているときに、手を止めてしまわないようにしたいという理由が半分。
将来立ち上げ予定のコンピュータ資料館で、展示の補助に使用するエミュレータを、出来るだけ自作で揃えたいという理由が半分。
今年はPHC-25, ファミリーベーシック, SC-3000, MZ-80K, MZ-1200, MZ-1500をリリースしています。

CP/M PlayerやMS-DOS Playerを含めて、これで45機種となった訳ですが。
この活動を始めてそろそろ長くなってきましたが、残されたネタもいよいよどマイナーになってきましたね(苦笑)
探せば探すだけ、新しい未知のマシンが出てきて、ちっとも終わりが見えなくて。
今年のネタも随分と微妙でしたが、来年以降は資料収集に苦労することになりそうです。

2011年の展望ですが、当面はΛ-1などのワンボードマイコンや黎明期の16bit機を中心に進めていく予定です。
また、QEMU/9821をベースにハイレゾ98のサポートをするつもりです(Ap3+ハイレゾボード?)
その他、国産機種ではありませんが、そろそろQEMU/BeBoxを本格的に始動していきたいと思います。
多分来年中には50機種いくかと思いますが、そのときは何かお祝いをしたいですね。

エミュレータの開発以外に、今年はOSC/Tokyoに春夏の2回参加して、秋はLTでの発表も行いました。
今後は色々な方のご協力が必要となりますので、広報目的も兼ねて、色々顔を出していきたいと思っています。

今年は本業がとにかく多忙でしたが、来年はプライベートで色々ありそうです。
今年一年間、ありがとうございました、また来年もよろしくお付き合いください。



2010/12/28
eFM16πをリリースしました。
長らく放置プレイになっていたネタですが、ようやく実装にいたりました。
これで45機種目。

EmuZ-700/1500を更新しました。
MZT形式のデータをテープイメージとして扱えるようになっています。
コモンソース側の修正なので、EmuZ-80K/1200も同様に使用可能です。

eSC-3000を更新しました。
同一カラムにある複数のキーやボタンの同時押しが出来ない不具合が修正されています。

2010/11/13
MS-DOS Player for Win32-x64を更新しました。
ロングファイルネーム対応など、色々修正されています。

2010/11/10
MS-DOS Player for Win32-x64を更新しました。
MARUCOPYとかISHとかが動作するようになっています。

2010/10/16
QEMU on Windowsを更新しました。
0.13.0系列、思ったより早くrcが取れましたね。

2010/10/9
QEMU/9821を更新しました。
i386関係のパッチをバックポートした結果、Windows 3.1が起動するようになりました。

2010/10/8
久しぶりにQEMU on Windowsを更新しました。
安定版の最新版である0.12.5ベースです。
0.13.0はrcが取れたタイミングで更新する予定です。

2010/9/29
ePC-9801, ePC-9801Eを更新しました。
初代PC-9801が動作するようになった他、XANADUがブートするようになっています。

2010/9/22
QEMU/9821を更新しました。
最近の高速なPCだと、ITFの自己診断中にTIMER ERRORとなる問題の対応のみです。

2010/9/20
ePC-9801, ePC-9801Eをリリースしました。
また、EmuZ-3500の作業報告を更新しています。



10周年のご挨拶

私がnesterのマッパー10対応コードを作成して、Darren Ranalli氏にメールしたのが2000年9月20日でした。
これが私のエミュレータ開発に携わった事始で、今日でちょうど10周年となります。

これが切欠で、エミュレータ上でゲームするよりも、エミュレータの開発の方が楽しくなってしまって、
unofficial nesterとして本格的にファミコンエミュレータの開発に関わることになった訳ですが。
(ファイアーエムブレム遊びたさでマッパー10対応したのに、結局いまだにプレーしてません(苦笑))
当時は大学院の修士論文を書いていた頃で、研究も進めつつ、ほぼ日刊ペースで開発もしつつ、といった感じで。
あの頃はまだ若かったというか、タフだったなあと(苦笑)

大学院を卒業して就職後、unofficial nesterが一段落して、次の開発ネタを探していたのですが。
そんなとき、当時存在していたemulation9.comとretropc.netの共同掲示板上で、
「実機提供してもいいから、誰かMZ-2500エミュレータ作ってくれませんか?」
といった感じの投稿がありまして、思わず飛びついてしまったのが、レトロPC方面に参入する切欠でした。
安易に飛びついた後で、実機のアーキテクチャを調査して、その複雑さ加減に頭抱えたのもいい思い出です。

その後は、85年頃にPOPCOMを読んで指を咥えていた、ナイコン族だったあの時代に感じた各機種への憧れとか、
生来のマイナー専体質とか、とにかく実機解析してエミュレータ実装するのが楽しいとか、そんなこんなで。
国産コンピュータを全てエミュレータとして再現すべく、他の人が手をつけなさそうなマイナー機を中心に、
レトロPCのエミュレータを実装し始めた辺りの経緯は、野望のページに書いた通りです。

エミュレータの大量生産に対応すべく、コモンソースコードプロジェクトにソース統合したのは2006年12月でした。
技術的にはこれが大きな転機となりまして、これまで実装してきたソースコードの再利用性の向上など、
最大限に量産効果を発揮できるようになりました。
簡単な機種なら数時間でエミュレータを実装できるようになり、野望の達成も多少は現実性が出てきたかなと。

そんなこんなで10周年です。
本日記念としてリリースした初代PC-9801、およびPC-9801E/F/Mで、これで44機種となりました。
まだ何機種かは未実装のネタを抱えていますが、今後は本当にマイナーな機種の入手も検討する必要があり、
活動の広報も兼ねて、今年に入ってからオープンソースカンファレンスに参加するなどしております。
皆様方にも今後ともご協力いただけますと幸いです。

私個人としては、そろそろコンピュータ資料館の設立を現実の課題として検討し始めているところです。
5〜6年後を目処に、何かしらご報告できる日を楽しみにしております。



2010/9/4
EmuZ-1500を更新しました。
主に画面周りや音声周りの修正をしています。
今回の修正で、「さんだーふぉーす」と叫ぶようになっています。
ePHC-20をリリースしました。
こちらは、データレコーダの対応など、まだまだ調査が必要そうです。

2010/8/31-2
更にEmuZ-1500を更新しました。
プライオリティレジスタの不具合と、PSGのI/Oアドレスを修正しています。
日付はそのままですが、ソースとバイナリが更新されています。

2010/8/31
eFP-1100を更新しました。
画面表示周りの不具合はこれで解決ついたかと思われます。
EmuZ-1500を更新しました。
カラーパレットの不具合を修正しています。

2010/8/27
eFP-1100をリリースしました。
メジャーなマイナー機の最後の大物です。
まだ画面がおかしいですが、一応BASICが動作するところまで来ています。

再実装ネタとしては、eSC-3000, EmuZ-80K, EmuZ-1200, EmuZ-1500をリリースしました。
その他、EmuZ-700の音周りの改良、EmuPIAのZ80CTC周りの結線の修正、
eX1twinの画面周りやサブCPUの修正など。

これで、QEMU/9821やCP/M Player, MS-DOS Playerを含めて41機種ですね。
50機種を達成したら、何かしようかしら。

2010/8/13
コモンソースコードプロジェクトを更新しました。
仮想マシンとエミュレータ管理クラスの初期化の順番の変更とか、
複数の音源チップを使用した場合のミキサー処理の不具合の修正とかしています。
音源チップの方は、PASOPIA7で影響があるかもしれません。

先日、PHC-25を実装したことで、ちょっと気が向いたこともありまして。
今まで、他の方が既にエミュレータを実装している機種は、基本的に避けていましたが、
今後はちょこちょこ手を出してみようかなと思います。

趣旨としては、以前提唱されていた和製MESSを目指してみようかなと。
将来のレトロPC資料館構想で、展示の補助にエミュレータを使用するつもりなのですが、
できるだけ自前で揃えられた方が好ましいかなと思いまして。

対象機種の選定としては、
既存のエミュレータが継続的に開発されていないとか、
配布停止状態のままになっているとか、
イメージ類同梱で法的に微妙なぶつとか、
私が開発済みの機種の派生で簡単に実装できそうなものとか、
今後開発する予定の機種で必要なデバイスの実装テストによさそうな機種とか、
マイナー専の私的に、わっほいわっほいな機種とか、
そういったあたりを優先的に作業する予定です。
PC-9801VM以降とか、FM TOWNSとか、X68Kとか、そういう人気機種は後回し。

ただし、あくまで通常の開発作業のほうが優先です。
そちらが行き詰ったときに、息抜き程度にやる感じの優先順位になるかと思います。

で、手始めにeFamilyBASICをリリースしました。
ファミリーベーシック専用のファミコンエミュレータです。
あくまでレトロPCのエミュレータということで。

2010/8/9
eMAP-1010を更新しました。
キーボードが動作するようになりました。

2010/8/6
eMAP-1010をリリースしました。
長らく謎のマシンでしたが、実態はどうもPHC-25のOEMみたいですね。
ePHC-25を更新しました。
ジョイスティックのサポートや、VDP/PSG周りの修正をしています。

2010/8/4
ePHC-25をリリースしました。
別件のために実装したMC6847の動作検証用です。

EmuLTI 8で、遂にフロッピードライブが動作するようになりました。
その他、ePV-1000を更新しています。

2010/6/29
eTK-80BSにおいて、釜房一号さんからご提供いただいた擬似ROM群 第3版を公開しました。

2010/6/4
コモンソースコードプロジェクトを更新しました。
Win32側で、画面周りを中心に色々と修正しています。
1920x1200のモニタで、640x400なマシンをくっきり拡大表示とかが可能になってます。
その他、前回のuPD765Aの修正で、EmuPIA 7が動かなくなっていたのを修正しました。

最近のMESSの更新に刺激されて、久しぶりにePV-1000を更新しました。
今回の修正でちゃんと実用的に動くようになっています。

2010/5/12
コモンソースコードプロジェクトを更新しました。
将来のDirect2D対応のために、Windows CEやDirect3Dのサポートを廃止してコードを整理しました。
また、QEMU/9821の実装を元に、uPD7220やuPD765Aの実装を修正しました。
eQC-10で、幾つかアプリケーションが動作するようになっています。

ePC-98LTを更新しました。
フロッピードライブをサポートしています。

2010/3/1
MYCOMZ-80Aの実機ROMイメージおよび取り扱い説明書のPDFを公開しました。

2010/1/20
QEMU/9821を更新しました。
Windows 98 Second EditionをQEMU/9821上でインストールできるようになりました。

2010/1/17
QEMU/9821を更新しました。
CS4231音源とかLGY-98のサポートとか。
Windows 98 Second Editionが仮に動作するようになっています。

2010/1/1
新年明けましておめでとうございます。
今年もよろしくお願いいたします。