歓迎光臨
"eJX" - IBM Japan Ltd PC/JX emulator for Win32

"eJX" is IBM Japan Ltd PC/JX emulator for Win32.
This software is under GNU GENERAL PUBLIC LICENSE.

These softwares require Windows 2000/XP/Vista/7.

Download: Jump to Common Source Code Project



eJX 謎WIPページ

日本IBMのPC/JXエミュレータです。
ヤフオクで実機を調達できたので実装してみました。
子供のころ読んだ、よいパソコン悪いパソコンで酷評されてたイメージが強いのですが、
中々どうして結構面白いマシンじゃないですか。



2011/5/19

拡張表示モードカートリッジをサポートしました。
$D8000-$DFFFFに拡張表示BASICのROMが存在すると、高解像モードに切り替わります。
仮想マシン側から要求して解像度を変更する機能は以前から実装されていましたが、
実際に使用するのはこれが始めてだったかもしれません。

グラフィックモード用のVRAMは$A0000-$AFFFFに存在しています。
漢字ROMとのバンク切り替えは$1FFを使用します。
画面モードを標準/高解像度に切り替えるのは$3DDを使用するようです。

漢字ROMにアクセスする作法も判りましたし、実機からの吸出しに挑戦してみます。



2011/5/16-2

という訳で、漢字ROMの生成ツールを修正しました。
次はジョイスティックの実装と、ハードウェア診断で引っかかる箇所の追求かな。



2011/5/16
BIOS中の、漢字コードから漢字ROMのアドレスに変換する処理を探ってみました。


結果はこんな感じです。
実機は15x16フォントなので、左端が掛けてしまっているのだけ修正すれば問題なさそうです。
明日にでも修正版をリリースします。

実機のROM吸出しはどうしようかな?
BASIC上でグラフィック画面に漢字を表示させて、パターンをPOINT関数で取得するという
手抜き手段で対応する方が、悩まずにすんでいいかもしれない(苦笑)



2011/5/14
ある程度操作できるところまで実装しましたのでリリースします。
PC-jrのテクニカルリファレンスを頼りに実装していますので、まだ抜けは多そうです。


他機種と比べると、起動画面が華やかですね。
ハードウェアの診断に引っかかって幾つかエラーが出ています。
タイマ周りの診断は、CPU側で該当処理をスキップして誤魔化して先に進んでいます。


ROM BASICが起動したところ。
漢字ROMの吸出しが出来ていないので、Windowsのフォントから生成したものを仮に使用しています。
テキストモードでは、VRAMにはシフトJISのコードが格納されています。


キーボードの実装もできていますので、プログラムの入力と実行も可能です。
縦25行の画面モードでは、別のキャラクタROMが使用されます。

キーボードは、CPU側でNMI割り込みの処理をフックしてスキャンコードを読み取っています。
実機と同様に、PIOにシリアルデータとしてスキャンコードを送信する実装もしていますが、
タイマのカウント値を参照しながらサンプリングする処理のタイミングがシビアなようで、
何回かキーを叩いている内に処理が固まってしまいます。
この辺は、後日あらためて修正したいところです。


拡張表示カートリッジを挿した状態で起動したところ。
まだ拡張表示周りの回路の実装ができていないので、エラーになってしまいます。


MS-DOSをブートしたところ。
uPD765Aのステータスの挙動を修正しています。



JX TIMEを起動してみました。


漢字ROM内の文字の並びが実機と同様になっていないので、グラフィックモードのときに、
漢字ROMからパターンを読み込んで表示すると、もうこの有様です。
テキスト画面だと、現状の配列にあわせて描画処理を実装しているので大丈夫なのですが。
この辺は要調査ですね。