SHARP MZ-80B/MZ-2000/MZ-2200
Emulator (エミュレータ)
"emz2000 / EmuZ-2000" TF-Edition
for Windows and UNIX(Linux)
Last updated 2020/01/12 since 2002
«Quick Links»
1. 概要 (summary)
a) 対応ハードウエア (support hardware)
b) 対応イメージデータ (support image file)
2. 動作環境 (require environment)
3. ライセンス (license)
4. ダウンロード (download)
5. リンク集 (link)
5.1. エミュレータ関係やMZ本体、ツール、技術情報 (emulator, tool, tech. doc.)
5.2. アプリケーション・リンク集 (links to applications)
1. 概要 (Summary)
これは、MS Windows PCとUNIX(Linux)で動作する、
SHARP MZ-80B/MZ-2000/MZ-2200のエミュレータです。
特殊なハードウエアが必要等の明らかに動作できないものを除くと、
すべてのソフトウエアが完全動作するはずです。
a) 対応ハードウエア (Support Hardware)
- 本体SHARP MZ-80B/80B2/80B海外版/2000/2200
- カラーモニタ / グリーンモニタ
- MZ-8BG,8BGK MZ-80B用G-RAM page1,2
- MZ-80BK MZ-80B用拡張I/Oボックス
- MZ-1R01,MZ-1R02x2 MZ-2000用G-RAM page1〜3
- MZ-1U01 MZ-2000用拡張I/Oボックス
- MZ-1T02 MZ-2200用データレコーダ
- MZ-1E05/8BFI + MZ-1F07/80BF等 フロッピーディスク・ドライブ
- MZ-1E08/1E04/8BP5I/PIO-3050 + プリンタ、ファイル出力版有 (プラグイン)
- MZ-1E18 + MZ-1F11 クイックディスク・ドライブ (プラグイン)
- MZ-1E24/8BIO3 RS-232CシリアルI/F、ファイル入出力版のみ (プラグイン)
- MZ-1R12/PIO-3030 S-RAMメモリボード (プラグイン)
- MZ-1R13/PIO-3055/3055-01 漢字ROMボード (プラグイン)
- I/Oデータ PIO-3034 EMMメモリボード (プラグイン)
* 16ビットボード(MZ-1M01)とその漢字ROM(MZ-1R08)には未対応です。
こちらのエミュレータ、
EmuZ-2200 (http://takeda-toshiya.my.coocan.jp/)
が対応しています。
b) 対応イメージデータ (Support Image File)
- カセットテープ (cassette tape)
- WAV/MTI
- ... Windows WAV形式 (モノラル / 8ビットPCM)
- MZT
- ... MZ系エミュレータ共通 テープフォーマット
- MZF
- ... 海外製MZ系エミュレータ共通 テープフォーマット
- MTW
- ... MZTとMTI/WAVをそのまま連結したもの
- DAT
- ... 0番地からのファイルサイズ分のメモリイメージ (旧形式)
- UNIX版のみ起動時のファイル名指定でemz2000形式を使用可能 (旧形式)
テープデータの吸い上げは、適当にWAV形式を作成すれば簡単にできます。
どんなツールでもかまいませんし、今は長いファイルを扱える定番フリーソフトがいろいろありそうです。
昔は、ノイズが入ったり勝手に加工されてしまうツールがありました。ご注意ください。
私が試した範囲では、読み込み時のバラメータ調整は必要な場合がありますが、
データの修正はまったく必要ありませんでした。
MILKYWAY/TONKYでも、そのままテープ1本分録音して、WAV化するだけで一発動作できました。
ただし、いくつか条件があるので、詳細は付属の"README"の説明を参照してください。
WAV形式以外については、以下の通りです。
- MZT形式は、MZ-700エミュレータ「MZ700WIN」で使われているテープデータ形式です。
ただし、MZ700WINのMZT形式にはパッチ情報が追加されていますが、これには対応していませんし、
連結されたMZT形式にも対応していません。
- エミュレータで、BASICファイルのMZT形式も読み書きすることができますが、
これはEmuZ-1M03というプラグインを使用します。プラグイン集に入っています。
- MZF形式は、MZT形式と同じで、拡張子が違うだけです。
- DAT形式は、ファイルサイズ分の0番地からのメモリイメージで、
MZ700WIN添付の"tapeload.exe"が出力する本体部分が、そのまま利用できます。
但し、旧形式なので新しくは作らないでください。
- フロッピーディスク (floppy disk)
- D20/D88/D77
- ... 日本で標準的な、D88形式フォーマット
- DSK
- ... 日本以外で標準的な、Amstrad CPC用DSK形式フォーマット
- 2D
- ... 280KB/320KB/640KBのベタファイル
各フォーマットの詳細は、以下の通りです。
- 2D形式は、320KB(80トラック,16セクタ,256バイト)か、
280KB(70トラック,16セクタ,256バイト)、もしくは、
640KB以下の任意サイズのベタファイルが使用可能です。
古いX1エミュレータから使用されているレガシーな形式がそのまま使えます。
- クイックディスク (プラグイン・サポート) (quick disk with plugins)
- Q20
- ... MZT形式連結による、クイックディスク・イメージ
- MZT
- ... MZT形式を、クイックディスクとして扱う
- ステートセーブ・データ (state save data)
- MZE
- ... TF-Editionの独自形式、
Windows版とUNIX版で互換性なし。
UNIX版は異なるアーキテクチャ(IA32とIx64等)で、互換性なし
- EMUZ
- ... 旧EmuZ-2000形式を、Windows版のみインポート可能
- その他 (etc.)
Windows版(左) / UNIX版(右)
MZ-80B(左) / MZ-2000(右)
2. 動作環境 (Require Environment)
本プログラムのMS Windows版は、以下の環境で動作します。
- Microsoft Windows 10/8.1/8/7/VISTA/XP/2000かそれ以降 (IA32 and Ix64)
- Microsoft Visual C++ 6.0 SP6 (C,C++,WIN32API,DirectX7)
本プログラムのUNIX版は、以下の環境で動作します。
- Linux Kernel 2.6.32以降
(他のUNIXでは、おそらく改造する必要あり。IA32, Ix64, ARM-EL以外は未確認ですが、CPUは何でも動くはず…)
- GNU C-Compiler
- GTK 3 + ESD互換環境 (PulseAudioでもOKですが、最近ESD互換環境がなくなったので、作る努力が必要)
+ libungif(screen shotのgif出力サポート時のみ)
3. ライセンス (License)
This is a public domain software. NO LIMITs, NO WARRENTALies.
本ソフトウエアはパブリック・ドメインです。無責任・無保証です。
アーカイブ内に違う説明に書かれている場合は、無視して、このようにご理解ください。
このエミュレータの元になったMS Windows版のソースとプラグインは、WEB上にて公開されていたものですが、
著作権が明確になっておりませんので、このプロジェクトにはそのようなソースが含まれています。
ただし、WEBに公開された、ライセンスが明確でないソフトウエアは、法的にパブリック・ドメインです。
4. ダウンロード (Download)
4.1. MS WINDOWS用 (For MS WINDOWS)
- emuz2000_tf0_95_6.zip
- ... EmuZ-2000 TF-Edition v0.95.6
- emuz2000plugins_tf0_95_4.zip
- ... EmuZ-2000 TF-Edition Plugins v0.95.4
- emuz2000src_tf0_95_6.zip
- ... EmuZ-2000 TF-Edition v0.95.5 Source Files
- emuz2000plugins_src_tf0_95_4.zip
- ... EmuZ-2000 TF-Edition Plugins v0.95.4 Source Files
他に、Takkyさん (http://kmgrp.web.fc2.com/)
のところに、いくつかの
プラグイン (http://mio.servequake.com/~takky/emuz2000/tools.html)があります。
4.2. LinuxもしくはUNIX互換OS用 (For Linux or UNIX Compatibles)
- emz2000-tf0.95.12.tgz
- ... EmuZ-2000 TF-Edition v0.95.12 Source Files
- emz2000-tf0.95.9.tgz
- ... EmuZ-2000 TF-Edition Plugins v0.95.9 Source Files
- esound-extadd-howto-20181110.tgz
- ... Information for Adding LIBESD to Ubuntu Linux
(Japanese only, very old, obsolete !!)
UNIX版に関して、以下を忘れたまま…
- MZ2000_REFRESHRATEをMS Windowsと同じ10msに変更したのに、
READMEにもhistoryにも書き忘れている
- src/Makefileの-DNDEBUG等を外したままになっている
- -DENABLE_SOUNDで、SOUNDを分離してlibesdなしでも動作できるようにするのを、また忘れた…
- Dialogレイアウトの英語を添削してもらったWin版と比較して修正するのをまだやっていないが、どちらも悪化しただけなので直さなければ…
犯人は、中核派自衛隊員達です。信じてしまった理由に腹がたつ…わしのせいではない。
MS WindowsとUNIX版に両方関して行いたいことで、ドキュメントにないこと。(忘れないように…)
- 非対応の連結D88/連結MZTを指定した時に、Warningを表示するか、連結に対応する
(現状では、最初の1つ以外が無視される)
- 複数のドライブに同じファイルを指定した時に、エラーにする
(便利な時もあるがエラーが自然だなぁ、やっぱり。 Windows 版は挿入中のファイルをロックして排他アクセスにしたい)
- Windows版も「Sound Time Interpolation」がうまくいかない時があるようで、その時オフにしても再起動しないと復帰しない。
バッファ大き目にとっても再現するようならデフォルトオフがいいかも。
そのうち調査したい…
- MZ-80B用の「TAO TAO」のタイマがおかしいのを調査(2000用はOKに見えるが要調査)
- 英語添削してもらったはいいが、ばあさんの真似した偽者nativeだった。sだらけ。直さなくては…
犯人は、中核派自衛隊員達です。信じてしまった理由に腹がたつ…わしのせいではない。
4.3. オリジナル・ソースプログラム (Original Source Program)
これは、「UNIX版emz2000 v0.7」と、
「MS Windows版EmuZ-2000 v0.400リリース候補版」のソースを組み合わせた後に、
全体的にやりかえたものです。
両者共、機種依存部以外は元々同じソースですのでやり易かったのですが、
組み合わせた後にメンテナンスしやすいように整理していますし、
その後大幅に書き直していますので、元のものとはかなり違うものになっています。
エミュレータとしてできる限り完全なものを目指しており、
EmuZ-2000 v0.470はもちろんのこと、MZの機能はほぼ全てが入っています。
関連するプラグインも、ほとんどを網羅してまとめています。
以下、もうダウンロードできなくなってしまっている、
TF-Editionのベースになった、オリジナルのソースコードです。
- src200210.lzh
- ... EmuZ-2000 v0.400(Release Candidate) source files
- emz2000-0.7.tar.gz
- ... emz2000 v0.7 source files
※ エミュレータ本体のみです。プラグインは省略。
5. リンク集 (Link)
あちこち探し回って見つからないということにならないように、
エミュレータやMZ関係のリンクをまとめてあります。
また、説明は間違っていないと思いますが、
試したりよく確認せずに書いている場合が多いのでご注意ください。
(私はとってもめんどくさがりで、新しいものになかなか飛びつきません… 興味はあるのですが…)
5.1. エミュレータ関係やMZ本体、ツール、技術情報 (Emulator, Tool, Tech. Doc.)
フロッピーディスク・イメージの仕様やリンク集は、別のところにあります。
トップページ・メニューの「Japanese Retro PC」ではなく、「PC Resources」の方を見てください。
-
http://www5d.biglobe.ne.jp/~object/ ... MZ-80B/2000/2200エミュレータ EmuZ-2000 for Windows
-
http://www.bio-linux.org/~kasukawa/ ... MZ-2000/2200エミュレータ
emz2000 for X11 gtk+
(リンク切れ!!)
-
http://takeda-toshiya.my.coocan.jp/ ... TAKEDA, toshiya's HOME PAGE
(Common Source Project)
-
16ビットボード対応のMZ-2000/2200エミュレータ EmuZ-2200、EmuZ-80Bがある。
-
http://original.sharpmz.org/tonyfrieryemu.htm ... 海外製のMZ-80Bエミュレータ for MS Windows
-
http://www7a.biglobe.ne.jp/~tsuneoka/MZ/index.html ... Win32サブルーチンズ内の「MZ関連メモ」
- プラグイン機能、INIファイル、QDプラグイン他開発の常岡さん。
MZの技術情報、ツール(ROM吸出し他)、自作ソフト等
-
http://www.ne.jp/asahi/suga/junkyard/ ... sugaのジャンク部屋
- オリジナルEmuZ-2000用プラグイン、辞書ROMツール、実機への3.5'FDD接続、修理情報等
-
http://www.geocities.co.jp/SiliconValley-Sunnyvale/2521/ ... アルゴの記憶
(リンク切れ!!)
- オリジナルEmuZ-2000用プラグイン、ツール、MZTの説明等。
-
http://mio.servequake.com/~takky/emuz2000/ ... TakkyさんのEmuZ-2000のページ
- ステートセーブデータ書き換えツールやエミュレータに関する技術情報、
自作プラグイン、大規模なMZソフトウエアリスト等。
- http://www.sharpmz.org/
... SHARP MZ - the MZ series
- 海外のMZに関する情報がたくさんあるWEB、MZのマニュアルもたくさんある。
(旧WEBは、
http://original.sharpmz.org)
- http://www.8bity.cz/
... Martinův 8-bitový blog
- 海外のSHARP製レトロPCに関する情報がたくさんあるWEB。ただし、フランス語なので難解というか僕にはさっぱりわからない。
PDFスキャンされた、日本語のMZ-2000/2200等のマニュアル等、いろいろと素晴らしいものがある。
-
http://cwaweb.bai.ne.jp/~ohishi/index.htm ... Nibbles lab. HomePage
- 各種MZシリーズの仕様やオプションに関する情報が豊富。
FPGA版のMZが、
https://github.com/NibblesLab/
にある。
MZ版システムはないが、S-OSの各種ソフトウエアと詳しい解説もある。
- http://mzakd.cool.coocan.jp/
... AKD's site
- MZ-1500のサイトですが、MZ-2000/2200のカタログ有、クイックディスク、プリンタ等の共通オプション情報が詳しい。
MZ-700WINの再配布所にもなっているみたい。
5.2. アプリケーション・リンク集 (Links to Applications)
- http://w01.tp1.jp/~a571632211/
... 両面テープ配線式電子工作 (USUAL SITUATION)
- MZ-80Bのすごいゲームがいろいろあり、全部エミュレータで動作する。
0番地からのメモリイメージなので、拡張子を.DATに変換してそのまま読み込むことができる。
0番地から実行されてモニタへ移行するので、JコマンドでWEB説明記載の実行アドレスへジャンプすること。
中に必ず暴走するファイルが1つあったが、それもリセットしたらコマンドプロンプトには入れるので、Jコマンドで実行できる。
- http://jp.xetter.com/
... XETTER Free Software Room
- ここにはMZ-80B/2000/2200用の自作ゲームがたくさんある。
前に試して全部かほとんど動作できたはず。 MZT形式のBASICプログラムは、BASIC起動後にプラグインEmuZ-1M03を使うか、WAV形式へコンバートして読み込むことができる。
ただし、XETTERは実機で動作できないイメージで、
エミュレータv0.92(I/Oを初期化しなければならないようになった)で動作
しないので適当なバイナリエディタで以下のようにパッチを当てること。
v0.93以降であれば「リセット時自動I/O初期化」機能を使用して実行できる。
0番地からの3バイトのC3 A0 12をC3 3B 00へ変更します。
初期化後に自動実行させるために、$00AE番地からC3 A0 12のように変更します。
(MZはI/Oが8255やZ80PIOに接続されているので、
初期化しないとほとんどのI/Oが反応しないため、0番地から飛んだ場合は誤動作します)
- http://tahori.s17.xrea.com/
... Penguin Computing Centre
- ここにはMZ-2000/2200用の自作ゲームがたくさんある。
ダウンロードできないが勝手に移植物がすごい。(絵だけみたいですけどね!!)
-
http://www.monkey390220.shop/FP/index.html
... レトロPCのお部屋
- ここにはMZ-2000/2200用の自作ゲームがたくさんある。
* 注意/コメント
以上