歓迎光臨
"EmuZ-5500" - SHARP MZ-5500 emulator for Win32
"EmuZ-6500" - SHARP MZ-6500 emulator for Win32

"EmuZ-5500" is SHARP MZ-5500 emulator for Win32.
"EmuZ-6500" is SHARP MZ-6500 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



EmuZ-5500/6500 謎WIPページ

サンプルムービー 過去の謎日記はもう更新しないと思います。



2022/12/4
PC-9801シリーズと同様、メモリおよびI/Oのウェイトサイクルを追加しました。



2016/1/10
漢字サーマルプリンタ MZ-1P17をサポートしました。
また、出力したデータをそのままバイナリファイルに出力するダミープリンタをサポートしました。



2015/1/28
ステートセーブに対応しました。



2015/1/19
EmuZ-2500と同様に、Z80SIO周りを修正しました。
Z80CTCの出力を、Z80SIOの送受信クロックとして供給するようにしています。

Z80SIOが正しいタイミングで動いても、送受信する相手のデバイスが居ないんですけどね(苦笑)
同様の作業を行った他機種だと、マウスとかキーボードとか繋がっているんですが。



2009/5/25

uPD7220の実装を修正しました。
TODAYの表示が乱れる問題が解決しています。
VECTWコマンドでパラメタを指定して、直線描画することで背景を表示していますが、
全てのパラメタがVECTWで指定されていなかったときの挙動の問題だったようです。


Z80CTCにおいて、CPUクロックと異なる周波数のクロックを指定できるようにしました。
(MZ-5500/6500のように、Z80以外のCPUと組み合わせて使用する場合があります)
MZ-5500デモにおいて、BGMが早く演奏される問題が解決しています。


今回の修正とは関係ありませんが、何時の間にか動くようになってましたので。
MZ-5500にもゲームがあったんですね(苦笑)



2009/5/17

EmuZ-6500をリリースしました。
ちゃんと動作しているか判りませんが、MZ-1R32を2枚追加した状態になっています。
(ご協力ありがとうございました>Oh!石さん)


EmuZ-5500で、AY-3-8912のアドレスが間違っていたのを修正しました。
アドレス範囲はあってたのですが、偶数と奇数がずれてたみたいで。
どうりで音が鳴らない訳だ(苦笑)



2008/4/22
キーボードと本体の通信のタイムアウト処理を追加しました。
特にマウス操作中にフリーズする頻度が幾らか改善しているかと思います。


スクリーンショットは特に意味はありません。



2008/4/16
ディスプレイ周りの機能の実装を進めました。
その他、NMIリセットの実装やアルゴキーの対応をしています。

これで、SASIドライブを除いて一通りの機能の実装が完了です。
今後は全般的に不安定とかサウンドが鳴らないとかの不具合調査に入ります。
…GWの大ネタのつもりだったのになあ(苦笑)


ウィンドウコントローラを実装しました。
ハードウェアレベルで最大4つのウィンドウを表示することが可能です。
ウィンドウ間のプライオリティ設定、プレーンマスク、背景色指定など色々な機能があります。
画面は、デモディスクのマルチウィンドウ機能説明のものです。


モノクロ/プレーン優先順モードをサポートしました。
プレーン優先順モードは、最大5色中から優先順位をつけて表示するモードです。
デモディスクの説明を見ても、いまいち使い道がよく判りません(苦笑)


320x200, 320x400, 640x200の各解像度をサポートしました。
320x200, 640x200モードでは、スキャンライン表示の指定が可能です。
画面はMach3 FLIGHT SIMULATORのもので、640x200モードで動作します。



2008/4/15
ウィンドウコントローラの実装作業中です。
以下にサンプルムービーをアップしています。

デモ1 シーン1 (10567684 bytes)
デモ1 シーン2 (11827204 bytes)
デモ2 マルチウィンドウ (12333060 bytes)



2008/4/14

キーボードを実装しました。
キーコードを送信は問題ないのですが、大量のコマンドの解析が手付かずです。
キーボードは80C49で動作しているのですが、内蔵ROMを吸い出した方が早いかも。
(P6界隈で8049の内蔵ROMの吸出し手法が確立しているようですし)


マウスも一応実装済みです。
ただし、ふとした拍子に応答がなくなる場合があります。
まだまだ安定稼動には程遠いです。



2008/4/13
キーボードの実装作業中です。
キーボードとはシリアル通信をしているのですが、折角のZ80SIOは使用していません。
なんと8255の1bitに入ってきた信号を、CPUで解釈するという素敵仕様だったりします。


現状で、キーコードやコマンドを送受信する低レベルな通信部分は実装済みです。
CPUからのストローブにあわせて送受信するため、タイミング調整は必要ありませんでした。
後は、キーコードの変換テーブルを用意するだけで何とかなりそうな感じです。
(SHIFTとかGRAPHとかの状態に応じて別テーブルなので、そう楽でもないんですが)



2008/4/12
取り敢えずOSがブートするようになりました。
キーボードが未実装なので何も操作できませんが、ネタとしてリリースしておきます。
機種依存部分のコードを書き始めたのが4/10ですから、ここまで2日間ですか。
コードの共通化の威力がいよいよ発揮されてきましたね。


漢字CP/M-86がブートしたところ。
先日ブートしなかったのは、uPD765Aの問題でした。
RECALIBが一瞬で実行される実装になっていたため、割込みを検出し損ねていたのが原因のようです。


同じくBASIC-3。


MS-DOSは、モノクロ画面モードが未実装のため青く表示されます。


統合環境TODAY。


デモディスク。
キー入力は出来ませんが、暫く置いておくとデモが始まります。





あるごーあるごーあるごー。



2008/4/10
長らく放置プレー気味でしたが、改めて仕切り直し。


SENCE DEVSTATでディスクの挿入を検出して、RECALIBして、SENCE INTSTATするところまで。
その先は何故かだんまりになってしまいます。
何かFDC以外の割込みを期待しているのかも、要調査。


ディスクを挿入しないで放っておくと、NO SYSTEM DISKとなります。



2003/12/9

アーキテクチャの調査も大体完了しましたので、開発開始します。
今のところ、仮想マシンクラスの雛型と、メモリ管理クラスまで完成。
先はまだまだ遠いですが、地道に頑張ります。

スクリーンショットが出せるレベルな訳ないですので、取り敢えず開発機材の紹介でも。

実機はMZ-5521(retropc.netの高木氏より長期借用中)、及びMZ-6541です。
(MZ-2521は現在テーブルの下に移動してもらっています)
将来はなんとかMZ-6550も調達したいところですが。
工学社の『MZ-5500/6500 テクニカル・マニュアル』を参考資料として使用しています。

開発環境はDELLのInspiron 8100(Win2kPro)。丁度2年前のハイエンドですね。
Windows CEの動作確認環境として、NTTドコモのsigmarion IIIとカシオのE-3000。
今回は最初からWindows CEも対象として開発する予定です。
しかしWindows CE用MZ-5500エミュレータというのも、存在そのものがシュールとしか(苦笑)