歓迎光臨
"ePC-98LT" - NEC PC-98LT emulator for Win32
"eHANDY98" - NEC PC-98HA emulator for Win32

"ePC-98LT" is NEC PC-98LT emulator for Win32.
"eHANDY98" is NEC PC-98HA emulator for Win32.
These softwares are under GNU GENERAL PUBLIC LICENSE.

This software requires Windows 2000/XP/Vista/7.

Download: Jump to Common Source Code Project



ePC-98LT 謎WIPページ
eHANDY98 謎WIPページ

このマイナー専の変態がNECのPC-98シリーズに手を出すなんて!
…といいつつPC-98HAだったりするのは性でしょうか。

PC-98LTとは互換と言われていますが、結構細かい違いも多いようです。
実機が入手できたらLTの対応も図りたいと思います。



2015/8/13
現在、8086/186/286は、MAME 0.149ベースのコアを使用しています。
これに、MAME 0.128ベースのV30の命令を追加しました。
PC-98LT/HAで、こちらのコアを使うように変更しています。



2015/1/28
起動時にクラッシュする問題を修正しました。
2013/12/31以降、ずっとまともに動作しなくなっていたようです。

ステートセーブに対応しました。



2013/12/31
プリンタポートへの出力を、ファイルに保存するようにしました。
要領は、PC-8801/9801と同じです。



2010/5/12
PC-98LTにおいて、1MB/640KBフロッピードライブをサポートしました。
結局対応に1年以上掛かってしまいましたね(苦笑)


こいつのフロッピードライブI/Fは、通常の両対応I/Fと微妙に仕様が異なるようです。
I/Oポートは640KBモードに固定、ドライブ側のモード切替の方法はまだ不明です。
取り合えず、DISK BIOSをフックして、DAで指定されたドライブのメディアタイプと、
開いているディスクイメージのメディアタイプが異なるときにエラーを返すようにすることで、
無理やり1MB/640KBの双方のイメージに対応するようにしました。

コモンソースの方で、Windows CE対応や、Direct3D対応を廃止しています。
Vista/7用にDirect2Dの対応を検討しているのですが、CEやD3Dのためのコードが入り組んでいて
実装が大変そうだったので、あまり需要もないことですし廃止することにした次第です。
Direct2D対応は今年中に行います。



2009/12/28
以前、別機種用に8253の出力信号の処理を修正したときにエンバグしていたようで、
HANDY98のメモリカードが認識できなくなっていたのを修正しました。

共通のソースコードでやってると、横展開は楽なんですが、別の機種で悪影響がでないか
ちゃんとチェックするのって難しいですね。
自動テストも中々難しいですし、何かいい方法はないかなあと何時も悩んでます。



2009/4/5

PC-98LTにおいて、uPD1990Aの実装とデータアウト端子の結線を修正しました。
カレンダ情報を正しく取得できるようになっています。



2008/8/27
まだ問題は解決していませんが、TK-80BSにあわせてこちらもリリースしておきます。
フロッピードライブとカレンダ周りにまだ問題がありますのでご注意ください。
ROMイメージのダンプツールはHANDY98のものが使用できますが、後日専用のものを用意します。

これの対応のおかげで、80x86コアの大きなバグを潰すことができました。
というか、IFフラグのチェック漏れなんてバグ抱えて、どうして今まで動いていたんだろう(汗)



2008/8/25
PC-98LTの対応作業中です。
マイナー専としては、当時もう欲しくて溜まらないマシンでした。

タイマ割込み周りで色々梃子摺りましたが、一応ブートするようにはなりました。
フロッピードライブの対応が完了したらリリースする予定です。



HANDY98と比べると、なんともシンプルな感じですね。



2008/8/16

カレンダの問題が解決しましたのでリリースします。
メモリカードの件は、現状ではパッチでの対応となっています。
次の課題はこれとドッキングステーションの対応ですね。


プリンタやシリアル周りは何時か統合的な整備を行いたいとは思うのですが。
この辺は来年の課題になってしまいそうです。



2008/8/15
メモリカードの認識について調査中です。

システム領域の0000:059Ehにメモリカードのステータスが格納されています。
これのbit5がカードの有効・無効のフラグです。
このフラグが立っているのが、アクセスできない直接の原因のようです。
symdebで、この値を3Ehから1Ehに変更することで、カードを認識することを確認しました。

後は、このフラグがどうして立つのかの調査ですね。
(面倒くさそうだったら、メモリクラス内で無理やりパッチで誤魔化すことも可能ですが)
これとカレンダの問題が解決ついたらリリースします。


MS-Worksのメモリカードを認識すると、HANDY98メニューにMS-Worksのアイコンが出てきます。


F2 Worksを選択して、MS-Worksを起動してみました。


サンプルファイルを開いてみます。


ワードプロセッサのサンプル。


スプレッドシートのサンプル。



RAMドライブにインストールも可能です。
でもメモリカードを抜くことができないので、こんなことに…



2008/8/14
御盆の連休で集中的に実機の解析を進めています。
まだ動作のおかしいところがありますが、何とかブートはするようになりました。
学習RAMを0で初期化していたのが問題だったようです。
たまたまチェックサムがあってしまうため、然るべき初期化がなされませんでした。


ROMディスク上のMS-DOSがブートしたところ。
EMSとRAMディスクの認識がうまくいっていないようです。
容量が正しく認識できていません。


HANDY98メニュー。
PDA的な運用が想定されており、このようなメニューが用意されています。

カレンダは標準のPC-98x1とは別のuPD4991Aを使用していますが、まだ実装が不十分なようです。
月日時間は問題ないのですが、年が正しく取得できていません。
もしかして、1980年からの経過年数で表しているのかな?


F10 MS-DOSを選択すると、MS-DOSのコマンドメニューに入ります。
メモリ不足でHANDY98メニューが起動できない場合は、最初からこれが起動します。


更にコマンドプロンプトに下りることも可能です。


メモリカードのアクセスはまだ成功していません。
これが認識できないとMS-Worksが動作しないので、何とかしないといけませんね。



2008/6/11
先日のRPF倉庫整理大会で、HANDY98が拡張ボックス付きで発掘されました。
すかさず強奪してきて、今週の頭から解析と実装を始めています。

まだ起動には至っていませんが、じょじょに先には進んでいます。
あと幾つかのI/Oの謎が解ければリリースできそうです。


自己診断でタイマ異常が発生した状態。
これは単純にI/Oの割付ミスでした。


インタラプト異常は、8253と8259の接続にあった潜在的な問題が原因です。
連続的なパルスであれば問題ないのですが、モード0の場合に顕在化しました。



起動までもうちょっと。