SHARP MZ-2000/MZ-2200/MZ-80B/MZ-80B2
Emulator (エミュレータ)
"emz2000 / EmuZ-2000" TF-EDITION
for Windows and UNIX(Linux)

1. SUMMARY

SHARP MZ-2000/MZ-2200/MZ-80B/MZ-80B2のエミュレータです。
これは、UNIX版emz2000 Ver.0.7とWindows版EmuZ-2000 Ver.0.400リリース候補版のソースを組み合わせる等した後、 全体的にやりかえたものですが、 エミュレータとしてできる限り完全なものを目指しています。
両者共、機種依存部以外は元々同じソースですので、組み合わせた後、 メンテナンスしやすいように整理して書き換えてありますし、大幅に書き直していますので、 元のものとはかなり違うものになっており、 EmuZ-2000 Ver.0.470はもちろんのこと、MZの機能は一通り入っています。

基本的に、MZのソフトウエアはすべて完全動作します。 いろいろソフトウエアを動作させてみましたが、 ソフトウエアで実現するという技術的制約上仕方のない部分を除いて実機と違和感なく使えるはず ですし、 MZのほとんどのソフトについて動作確認してあり、 気になる箇所についてはドキュメントに記述してあります。

今後の改良予定としては、バグフィックスや多少の改良以外には、 ROM無時簡易IPLの改良程度しか予定がありません。
また、UNIX(Linux)版はリアタイム処理に関する本質的な問題があり、 解決の目処がたっていませんし、 ダイアログの非互換や移植の都合でプラグインが実装されていませんが、 なるべくWindows版へ近づけたいとは思います。

* 対応ハードウエア

* 対応イメージデータ

* EmuZ-2000 Ver.0.470に対するアドバンテージ

emuz2000 emz2000
Windows版(左) / UNIX版(右)
mz80b mz2000.jpg
MZ-80B(左) / MZ-2000(右)

2. DOWNLOAD

* Emulator

emuz2000_tf0_8b.zip
           ... Windows EmuZ-2000 TF-Edition Ver.0.8b (09/01/2010)

emuz2000src_tf0_8b.zip
           ... Windows EmuZ-2000 TF-Edition Ver.0.8b source (09/01/2010)
               for Microsoft Visual C++ Ver.6.0SP6

emuz2000plugins_tf0_8a.zip
           ... Windows Plugins Ver.0.8a (08/09/2010)

emuz2000plugins_src_tf0_8a.zip
           ... Windows Plugin sources and SDK Ver.0.8a (08/09/2010)
               for Microsoft Visual C++ Ver.6.0SP6

emz2000-tf0.8b.tgz
           ... UNIX emz2000 Ver.TF0.8b source (09/01/2010)

※ Ver.0.8のWindows版では、常岡さんに、プラグイン、INIファイル、 その他いくつかの開発をやっいただきました。この場を借りてお礼申し上げます。 もし、改造された方や調整値を調整した方がいらっしゃいましたら、 いただけると大変嬉しいです。

* Tools
d88uty13tf01.zip
           ... D88 Utility 0.13+TF0.1 for Windows (09/16/2009)

※ Dittがライトプロテクトの値(offset +1a)を間違えており、
 D88utyが厳密にチェックして扱えないのでそれを対策したもの。

* Original software for MZ-2000/2200 (D88 Disk images only)
64K CP/M 2.2 Rel.1.0 System disk for MZ-2000/2200
64K CP/M 2.2 Rel.1.0 Source disk for MZ-2000/2200
TF-DOS Ver2.1 for MZ-2000/2200/80B/80B2
TF-DOS Ver2.0B (Monitor TS-2000) for MZ-2000/2200 (Require TS-2000)
TF-DOS Ver2.1 common source program
GRAPHIC EDITOR III "ART MAGIC" for MZ-2000/2200
Adventure game "BRAVE" for MZ-2000/2200
Text adventure game "LILAS" for CP/M with MZ-2000/2200 CP/M
Original Game Programs for MZ-2000/2200 (C-DOS Vol.I)
Original Game Programs for MZ-2000/2200 (Basic Vol.I) (Require S-BASIC)
※ ここのゲームとグラフィックツールは小学生〜中学生、 TF-DOSは最近少し変更しましたが高専の1〜2年頃、 CP/Mは高専の3〜4年頃に作ったものです。 全部現役当時の古いもので 今のソフトウエアの常識となっている仕様は通用しないので御注意ください。
(詳細は別ページ参照)

3. REQUIRE ENVIRONMENT

本プログラムのWindows版は以下を満たす環境で動作します。

本プログラムのUNIX版は以下を満たす環境で動作します。

※ 最近のLinuxを普通にインストールした標準の環境です。

4. COPYRIGHT

emz2000の権利についてはWebに記載があり自由に利用して良いそうです。
EmuZ-2000の著作権についてよくわかりませんので作者に聞いてください。
UNIX版の開発に関しては、大昔に双方から許可をもらっていたのはいました。
Windows版のアイコンは、EmuZ-2000 Ver.0.470の標準色版を持ってきています。
カセットとFDの効果音については、X-Millenniumから拝借しています。
私のコードと常岡さんのコードについては、Public Domainとしてご自由に。
もちろん、自己責任なので何が起ころうと私の知ったことではありません。

5. Related LINK

http://www5d.biglobe.ne.jp/‾object/
      ... MZ-80B/2000エミュレータ EmuZ-2000 for Windows

http://www.bio-linux.org/‾kasukawa/
      ... 粕川さんのサイト
         MZ-2000/2200エミュレータ emz2000 for X11 gtk+が昔あった
         (http://biojoin.org/‾kasukawa/linux/mz2000.html)

http://www.sharpmz.org/tonyfrieryemu.htm
      ... 海外製のMZ-80Bエミュレータ for Windows

http://www7a.biglobe.ne.jp/‾tsuneoka/MZ/index.html
      ... Win32サブルーチンズ内の「ダウンロード」
         (プラグイン機能、INIファイル、QDプラグイン他開発の常岡さん。
         ツール(2000用tapeload.exe他)、自作ソフト等)

http://www.geocities.co.jp/SiliconValley-Sunnyvale/2521/
      ... アルゴの記憶 (プラグイン、ツール、MZT/MZFの説明等
         ただし、ここのMZFは海外MZ-80Bエミュレータとは違うみたい…)

http://www.ne.jp/asahi/suga/junkyard/
      ... sugaのジャンク部屋 (プラグイン等)

http://www2s.biglobe.ne.jp/‾kachan/index.htm
      ... ぎょっちの趣味のページ (テープイメージ化ツールと解説
         ただし、TF-EditionにはAPSSがあるので1回セーブにしないこと)

http://www.retropc.net/mz-memories/mz700/
      ... MZ700WIN for Windows
         (MZ700WINとmz700em、コンバータtapeload.exe、MZT形式。
         ただし、ボーレートが違うので多分常岡さんのがいいと思います)

http://www.retropc.net/cisc/m88/
      ... M88 emulator (Download-その他にディスクイメージ化ツールditt)

http://www.jsdi.or.jp/‾imp/
      ... 自作ソフトのお部屋 (D88 Utility等)

http://www1.plala.or.jp/aoto/
      ... ぶるー牧場 (D88形式データの仕様)

http://homepage3.nifty.com/mzakd/
      ... AKD's site (MZ-1500のサイトですが、MZ-2000/2200のカタログ有、
         クイックディスク、プリンタ等の共通オプション情報が詳しい)

http://cwaweb.bai.ne.jp/‾ohishi/index.htm
      ... Nibbles lab. HomePage
         (MZ版システムはないが、S-OSの各種ソフトウエア)

※ MZF形式ですが、海外MZ-80Bエミュレータの場合はMZTと同じです。 mz700emの物は違うのかもしれません。(アルゴの記憶参照。当方未確認) また、MZ700WINのMZTにはパッチ情報が追加されています。
※ DAT形式はファイルサイズ分の0番地からのメモリイメージで、 MZ700WIN添付のtapeload.exeが出力する本体部分がそのまま利用できます。 但し、標準のtapeload.exeは1200bpsですので、 オプションパラメータ指定するか改造された2000bpsのものを使用します。
※ 2D形式は320KB(80トラック16セクタ256バイト)のベタファイルで、 古いX1エミュレータでも使用されています。
※ TF-EditionではAPSSがありますので、 テープイメージの2回セーブを1回にしたり空白を詰めるのはやめてください。 互換のためにFFを無効にするオプションがあります。

6. SCREEN SHOT

underg cgunner seafari
cruiser kickoff bacteria
justice killerst starstream
milkyway milkyway2 softmurd
saverp1 sleepy alieneq
petter doordoor worldclk
myst2 monster paranoia
pack99 eten smonster
MZ-2000/2200のソフトウエア

MZで3つ目くらいに買ったゲームが左下の九十九のパックマンハイレゾでした。
パックマンハイレゾの2000用は面が5種類くらいあって、 迷路が消えたり、ワープトンネルがたくさんあったりして面白いゲームでした。
80B用は1面だけでモンスターの動きも悪く音もBEEPばかり。

cosmo raderpk lasvegas
invader galaxian smouse
MZ-80B/B2のソフトウエア

MZ-80Bのソフトウエアです。
COSMO TRAVELLERは8001とX1は有名ですが、MZ版って知ってますか?
昔、X1のCOSMO TRAVELLERを初めて見た時、 なんて綺麗な絵と音なんだろうと思いました。
これはMZ版なんだけどさ…MZ版は地獄の難易度で滅多にクリアできない。

zenon hover uootoy
多機種で有名なゲーム (ZENON/HoverAttack/UOOTOY)

全然ないようで、MZには結構ソフトがありました。Paletteがあればね。
ZENONですが普通に最終面までいけるのですが、 自機を255とかにしててもなかなか最終面をクリアできないです。 ボスまでなかなか辿り着けない。
今更どうでもいいんだけどさ…

MZのサウンドはHとLを出力する機能しかなく、これを繰り返すことによって波を作って音を出します。 原理は単純ですがZ80 4MHzでフル活用できるため、奥が深く、凝った使い方をするものを完全にエミュレートするのは大変です。
というのも、このパルスを高速に変化させることによってパルス幅変調を行なって、 PCMのような自由な出力を実現するものがいくつかあり、 周辺回路の反応速度やフィルタが絡むのかMZの独特の特性を前提としているからです。 この速度は普通の48KHzとか96KHzといった速度では表現できない、 ずっと高速な連続空間上での変化ですので、 これをうまく誤魔化してPCMデータへ高速にリアルタイム変換する必要があります。 結局のところ連続空間上のデータをある一定時間で区切って処理する必要があるため100%を求めようとすると大変難しくなります。
また、一般的な音源機能はハードウエアに波形発生装置があるのですが、 MZのパルスは波形をすべてCPUが作成するため、 CPUの実行時間と音源処理が正確に実時間で一致しなければなりませんが、 様々な理由でこれも大変難しいことです。 しかし、取り合えずソフトウエア変換としてはほぼ完璧で、 高周波のノイズのレベルが高い程度だと思います。

jelda2 f2grp vict9
音が素晴らしいソフトウエア - I

MZでサウンドを限界まで引き出したソフトウエアといえばこれらでしょうか。
減衰付き三重和音やヴィブラード付三重和音はかなりよくできています。

sladv2 gruppe
音が素晴らしいソフトウエア - II

X1/88/FMに音楽がないSTARLIGHT ADVENTURE IIやHIROTON WARSもいいですし、 GRUPPEの少し変わった音色もいいかもしれませんね。
しかし、僕がMZのサウンドを最大限に生かしたソフトを一つ挙げるならば、 DAWN PATROLを選びます。

dawnpatt dawnpat
Silver BallのDAWN PATROL

DAWN PATROLはサウンドデータを連続出力することによって、 独特の音色や効果音を作っています。 CarryやSPSのような音楽を再生するのではなく、独特の響による効果音を作ることを 目的としており、 Silver Ballのソフトは全部そうなのですが、 このDAWN PATROLは段違いに素晴らしく、 タイトルの二種類の効果音のような音楽のような部分や、ゲーム中、すべてがすばらしいです。
音に関しては、他で似たようなものをまったく聞いたことがないです。
ゲームも、大変動きがよく、キャラクタは横方向へ1ドット単位に動きますし、 滑らかでよくできており、派手でバランスも大変良いものです。
WAVE 5あたりから難しくなりいつでも楽しめます。 最高WAVE 9ですが7以降へは滅多に行けません。
今遊んで、懐かしいという部分を差し引いても十分に面白い数少ないゲームです。
これは、使われているということを噂にしか聞いたことがなかったり、 信者がいるという話しか聞いたことがないFORTHで書かれています。
確かに使われているし強力なようです。

ところで、このサウンドですが、MZ-2000は素晴らしく、 特に16ビットボードを付けてスピーカが移動すると更に良いのですが、 2200や2500はそうでもないんです。
同じくSilver BallのUnderground Cityなんかはサウンドによる演出が 成功したソフトだと思います。 MZで唯一恐さを感じる演出はこれだけだと思います。
しかし、当時2200でもそう思いましたし、 最近入手した2500でも同様に雰囲気を感じない、 ちゃっちい音なんです…
MZ-2000はアンプがディスプレイ基板上にあるので、 この回路が違うのか、回路以外の理由か、 スピーカーの位置が違うだけなのかはわかりませんが、 2000のみ少し鈍って音が丸くなるとか、少し箱が共鳴して響くといった、 つまらない理由だと思います。
Silver Ballについても半分くらいしか見たことがないのですが、 音でこれは、と感じたのはこの2本だけです。

といっても、今3重和音なんか何の意味もないんだけどさ…
だいたい、こんなこだわりがありそうなことをいいつつ、 中学生の頃にクラッシックを気に入ってからずっと一筋で、 MZの音なんかどうでもいいんだよ。

polar21 polar22 polar23
SPSのPOLAR STAR II

POLAR STAR IIですが、多分MZでキー割り込みを使った唯一のソフトなのではないかと思います。
うまく動かない原因を調べるために解析したところ、 割り込みハンドラは特定のアドレスにフラグを立てるだけでした。 スペースキーに割り込みをしかけて、割り込みのみで処理し、一度もポートを読みません。 PIOの使い方も、Owner's Manualに解説されていた方法ほぼそのままです。
ちなみに、僕の最高4面だと思いますが、3面以降のバックアタック+斜め球からは地獄です。 8801用ディスク版等では8面まで絵が変わるらしいのですが、行けるのでしょうか、 というか、名作なのは間違いないと思うのですが、 4面以降の大変な長時間を根気よく遊んだ人はいるのでしょうか?

penguin_t penguin penguin_r
ぺんぎん

結構進めるけどちょっと遅い? このゲームにWAITが合ってないのか?
... いや、でも実機でも同じだけ行けてるみたい。
(WAITはすでにテキストV-RAMを別扱いして合わせてあります)
これ知ってます? ここまで行くのはProfessional x 3回とかで、 Professional以降はブロック2個しかないので結構きついです。
今更なんだけどね…
当時、小学生で、ゲームセンターで見て気にいったペンゴを期待して買ったのですが、 起動して見て目が点になりました。 でもペンゴを期待しなければ遊べるゲームです。
九十九もそうですが、 こういう初期のテキストのゲームはHudsonのFORMで記述されているのが多いです。
ちなみに、ペンゴは後に基板を入手して死ぬ程遊び、完全に飽きて、 基板は誰かにあげました。 人数増やそうが、Easyにしようが、Hardにしようが関係なく最高16面でした。 20面でデモが1面に戻るのですが、行ける人は行けるんでしょうね。
ペンゴは、プログラムの細部のでき、アルゴリズム、 すべてがよくできていたと思います。

frontline frontgreen front2
FRONT LINE (NIDECOMCARRY)

FRONT LINEのテープ版は全3面ですが、ディスク版は全8面です。 残念ながらこれはテープ版で、これ買った少し後にディスクドライブを入手。残念。
右の98版(ゲームオーバー直後、これを入手できたばかりに9801EとカセットI/Fまで買った) はテープ版でも8面ありますが、 どうしても8面をクリアできません。
7面以降は玉が速すぎて打たれたら即死亡で、戦車も少ないからきつすぎます。
ちなみに、FM-7用ディスク版も入手していてこちらはクリアできました。
FM版だけバグがあって、5面あたりからの自分の戦車が消えるのがないので、 比較的乗り易い右端の戦車まで逃げきればよいので簡単です。他機種は98と同じ。
いや、本当、今更どうでもいいんだけどさ…

hydlideg hydlide hydlide_2
HYDLIDE (T&Eならず、MZ版はCarry lab)

ハイドライドのグリーンモードはMZ版でしか見られないでしょう。 テープのA面とB面で両方のモードが入っています。
Victorious 9はローダが64KB全部読むので、おお〜と思っていたのですが、 ハイドライドに至ってはテキストV-RAMまで使っていました。
ディスク版並にタイトルグラフィックも出ます。 記憶違いでなければ、タイトルは48KBベタ読みで読み込み時間の2/3、 テキストV-RAM用のデータも読んでそのまま転送していたと思います。 (グリーンモードはテキストV-RAMではなくPage3をデータ領域に使います) それでもタイトルは削られるのより嬉しかったです。
もっともさっさとディスクへ吸い上げたけどさ。
いや、本当に、本当に、どうでもいいんだけどさ…

終わり