Tags
No Tags

Frequently used words (click to add to your profile)

javaandroidc++cocoaobjective-cc#誰得gamephpbathyscaphelinuxrubyqtcomegat翻訳pythontwitterwindowsbtronvb.nettestframeworkgui計画中(planning stage)directxpreviewerpukiwikidommruby

Recent Chamber Activity

2017-06-16
2017-04-08
2017-04-07

Recent Wiki Changes

2017-06-16

Wiki Guide

Side Bar

EmuZ-2000/emz2000 TF-Edition - SHARP MZ-2000/MZ-2200/MZ-80B/MZ-80B2 Emulator エミュレータ

  • R/O
  • R/O (HTTP)
  • R/W (SSH)
  • R/W (HTTPS)
Fork

SHARP MZ-2000/MZ-2200/MZ-80B/MZ-80B2 Emulator エミュレータとCP/MやTF-DOS等のソフトウエア (for Windows/UNIX(Linux))

これは、Windows PCとUNIX(Linux)で動作する、 SHARP MZ-2000/MZ-2200/MZ-80B/MZ-80B2のエミュレータです。 エミュレータ上で動作する自作OS(TF-DOS、X1やPC8001mk2/8801、MZ-700/1500でも動作)やCP/M、いくつかのアプリケーション、実機用パッチもあります。
特殊なハードウエアが必要等の明らかに動作できないものを除くと、 すべてのMZ-2000/2200/80Bのソフトウエアが完全動作するはずです。 また、実機データのイメージ化についても、できるだけ、 誰でも簡単にできるように工夫しています。

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

対応ハードウエア

- 本体 SHARP MZ-80B/80B2/80B海外版/2000/2200
- カラーモニタ / グリーンモニタ
- MZ-8BG,8BGK MZ-80B G-RAM 1,2
- MZ-80BK MZ-80B 拡張I/Oボックス
- MZ-1R01,MZ-1R02x2 MZ-2000 G-RAM 1~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/8BI03 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://homepage3.nifty.com/takeda-toshiya/ )が対応しています。

対応イメージデータ

カセットテープ

- WAV/MTI ... Windows WAV形式 (モノラル/8ビットPCM)
- MZT ... MZ系エミュレータ共通テープフォーマット
- MZF ... 海外製MZ系エミュレータ共通テープフォーマット
- MTW ... MZTとMTI/WAVをそのまま連結したもの
- DAT ... 0番地からのファイルサイズ分のメモリイメージ (旧形式)
- UNIX版のみ起動時のファイル名指定でemz2000形式を使用可能

テープデータの吸い上げは、 http://sourceforge.jp/users/tfukui0/pf/WaveEdit/ 等を使ってWAV形式を作成すれば簡単にできます。 どんなツールでもかまいませんが、中にはノイズが入ったり加工されてしまうツールがありますのでご注意ください。
私が試した範囲では読み込み時のバラメータ調整は必要な場合がありますが、データの修正はまったく必要ありませんでした。 MILKYWAY/TONKYでもそのままテープ1本録音してWAV化するだけで一発動作でした。
ただし、いくつか条件があるので、詳細は付属のREADMEの説明を参照してください。

WAV形式以外については以下の通りです。
※ MZT形式については、下の関連リンク集の中にツールや仕様があります。MZ700WIN添付のtapeload.exeがツールです。標準のtapeload.exeは1200bpsですので、 オプションパラメータ指定するか改造された2000bpsのものを使用します。 ただし、MZ700WINのMZT形式にはパッチ情報が追加されていますがこれには対応していませんし、連結されたMZT形式にも対応していません。
※ エミュレータでBASICファイルのMZT形式等も読み書きすることができますが、 これはEmuZ-1M03というPluginを使用します。プラグイン集に入っています。
※ MZF形式ですが、海外MZ-80Bエミュレータの場合はMZT形式と同じです。 mz700emの物は違うのかもしれません。(リンク集にあるアルゴの記憶参照。当方未確認)
※ DAT形式はファイルサイズ分の0番地からのメモリイメージで、 MZ700WIN添付のtapeload.exeが出力する本体部分がそのまま利用できます。

フロッピーディスク

- D20/D88/D77 ... 有名なD88フォーマット
- DSK ... 海外製MZ-80Bエミュレータフォーマット
- 2D ... 640KB以下の任意サイズのベタファイル

※ 2D形式は320KB(80トラック16セクタ256バイト)もしくは640KB以下の任意サイズのベタファイルが使用可能です。 古いX1エミュレータでも使用されています。
※ D88形式については下の関連リンクの中にツールや仕様があります。

クイックディスク (プラグイン・サポート)

- Q20 ... MZT形式連結によるクイックディスクイメージ
- MZT ... MZT形式をクイックディスクとして扱う

ステートセーブ

- MZE ... TF-Editionの独自形式 (Windows版とUNIX版で互換性なし、UNIX版は異なるアーキテクチャ(IA32とx64等)で互換性なし)
- EMUZ ... 旧EmuZ-2000形式をインポート可能 (Windows版のみ)

その他

- Intel HEX形式

動作環境/開発環境

・Windows版
Microsoft Windows 10/8.1/8/7/VISTA/XP/2000かそれ以降 (IA32 and x64)
Microsoft Visual C++ 6.0 SP6 Enterprise or Professional Edition (C,C++ WIN32API,DirectX7)

・UNIX版
Linux/i386 Kernel 2.6.32以降 (他のUNIXでは改造する必要あり、IA32とx64、ARM-EL以外未確認)
GTK 3 + ESD互換環境(PulseAudio等) + libgif (screen shotのgif出力サポート時のみ)
GNU C-Compiler

ライセンス

エミュレータの元になったWindows版のソースとプラグインはWeb上にて公開されていたものですが、著作権が明確になっておりませんので、 このプロジェクトにはそのようなソースが含まれています。
私の理解では、私の作業部分と、常岡さん作業部分、粕川さんのLinux版エミュレータがPublic Domainで、他はライセンス不明です。
エミュレータ以外のOS(TF-DOS、CP/M)やアプリケーション、実機用パッチはPublic Domainですが詳細はHTMLのドキュメントを参照してください。 また、バイナリにはコンパイラのランタイムルーチンが含まれていることがありますのでご注意ください。

エミュレータ本体のライセンス

本ソフトウエアはフリーソフトウエアです。 使用方法に制限はありませんが、無保証で何の責任も負いません。
ただし、以下については元々フリーソフトウエアでかつWeb上にて公開されていたものですが、 ライセンスの詳細が不明であり、作者に許可を取ってもいませんのでご注意ください。 なお、EmuZ-2000に関しては、公開ソースを元にUNIX版を開発することについては、 ソースが公開される前に許可をもらっていました。

・EmuZ-2000 Ver.0.400リリース候補版のソースプログラムとBMPフォントファイル
・EmuZ-2000 Ver.0.470から取り出したアイコン
・X1 Emulator X-Millenniumから拝借したFDシークの効果音

Windows版のGUIやDirectX等の画面周りがEmuZ-2000のコードベースです。プラグインやステートファイルのインポート機能も互換のためにコードが使用されています。それ以外は、Z80コアのバグフィックス以外は残っていないはずです。 UNIX版はプラグインと後者のみとなります。詳細は、ソースの最初のコメントにも記述してあります。
これは、公開されていてベースとしたEmuZ-2000のVer.0.400リリース候補版以降に多くのバグが修正されていること等が理由で、 エミュレータとしての完成度を上げた結果、結果的になくなってしまったことにあります。

プラグインのライセンス

本ソフトウエアはフリーソフトウエアです。 使用方法に制限はありませんが、無保証で何の責任も負いません。
ただし、各プラグインは、Web上にて公開されていたものをまとめて多少の変更を行ってコンパイルしたものですから、 プラグインの著作権は、個々の作者が保持しています。(常岡さんのプラグインと私の開発したものはPublic Domain、他はライセンス不明)

関連ツールのライセンス

本ソフトウエアはフリーソフトウエアです。 使用方法に制限はありませんが、無保証で何の責任も負いません。
ただし、D88 Utilityのオリジナルのライセンスは不明です。著作権はオリジナルの作者が保持しています。

リリースファイル (Release Files)

emuz2000_tf*.zip ... Windows EmuZ-2000 TF-Edition
emuz2000plugins_tf*.zip ... Windows Plugins
emuz2000src_tf*.zip ... Windows EmuZ-2000 TF-Edition source
emuz2000plugins_src_tf*.zip ... Windows Plugins source and SDK
emz2000-tf*.tgz ... UNIX emz2000 TF-Edition source
emz2000plugins-tf*.tgz ... UNIX Plugins source
d88uty13tf01.zip ... D88 Utility 0.13+TF0.1 for Windows
※ Dittがライトプロテクトの値(offset +1a)を間違えており、D88utyが厳密にチェックして扱えないのでそれを対策したもの。

また、Takkyさんのところに、Takkyさん作成プラグインがありますので、下のリンクからどうぞ。

以下は、最後にアップデートしたファイルが表示されます。 すべてのファイルを参照するためには、上のメニューのダウンロードを選択してください。

FilenameSizeTimeDownload count
tfdos_doc-20170616.tgz87.12 k2017-06-16 10:05:4815
tfdos_doc-20170616.zip107.62 k2017-06-16 10:05:4722
emuz2000plugins_src_tf0_95_4.zip270.38 k2017-04-08 20:09:0572
emuz2000plugins_tf0_95_4.zip576.79 k2017-04-08 20:09:04134
emuz2000plugins_tf0_95_3.zip443.77 k2017-04-08 20:08:34100
emuz2000plugins_src_tf0_95_3.zip152.98 k2017-04-08 20:08:2981
emuz2000src_tf0_95_5.zip232.57 k2017-04-07 12:03:0766
emuz2000_tf0_95_5.zip481.9 k2017-04-07 12:03:06271
emz2000-tf0.95.11.tgz528.36 k2017-04-07 12:03:0668
emuz2000src_tf0_95_4.zip222.82 k2017-04-07 12:02:3475

実機用パッチについて

Patchディレクトリの中に実機用のパッチがあります。 これは、C-DOSのパッチ、3.5'FDD用パッチ、シークタイムのパッチです。 MZへ3.5'FDDを接続した時やMZ-2500の内蔵3.5'FDDで2000系のFDソフトウエアの多くは動作しないので、動作するようにするためのパッチです。 なお、MZへAT用FDDを接続する方法は、 http://www.ne.jp/asahi/suga/junkyard/ にあります。

ところで、MZ-2000/2200/80Bの場合はREADY信号を使用しないのでそのまま信号を接続するだけで問題になりませんが、 MZ-2500の内蔵FDDやX1では使用されており、今入手可能なFDDではREADY信号を出力することはまずできませんので、同じ方法を使えません。 昔Webで探したところ誰も解決していないか、とんでもない複雑な回路しか見つけられませんでしたので難しい問題だと考えている人が多いかもしれません。
しかし、READY信号については簡単に作れます。INDEXホールの検出信号が定期的に送られていることを確認するだけです。 実際には、74LS123等のsingle shot系ICを使用して、INDEX信号の反応を遅延させて、INDEXホールが定期的に検出されている間は出力されるようにします。 74LS125か126等の3-state bufferのICを利用し、ドライブが選択されている時のみに結果をREADY信号へ返します。 ドライブ毎にこれだけの回路を実装するだけです。 これは伝統的にFDDで使用されている方法で、MZのFDD I/Fにはこのような回路(74LS423だったかも)が存在します。
MZの5インチと3.5インチのドライブ非互換な理由は、どうもINDEXホールの信号が、 5インチ/3.5インチでドライブ・セレクト直後にH/L逆になってるためにこうなるようです。 もともとのREADY信号というのがこの対策のために5インチ2D時代に追加され、 その後必要ないのでDISK CHANGEへ変わってしまったということなのだと思います。
ただし、READY信号関連は実際に作って確認はしていないので、ご注意ください。

リンク (Related Links)

あちこち探し回って見つからないということにならないように、エミュレータやMZ関係のリンクをまとめてあります。 また、説明は間違っていないと思いますが、試したりよく確認せずに書いている場合が多いのでご注意ください。

エミュレータ関係やMZ本体に関するリンク

http://homepage3.nifty.com/takeda-toshiya/ ... TAKEDA, toshiya's HOME PAGE
EmuZ-2200が16ビットボード対応のMZ-2000/2200エミュレータ、EmuZ-80Bもある

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://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/ ... アルゴの記憶
プラグイン、ツール(MZ用ディスクイメージのDiskExplorer等)、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回セーブにしないこと。 WAV形式で扱う場合には関係ないが、読み込みできない時の検証にもここのツールは使えます。

http://mio.servequake.com/~takky/emuz2000/ ... TakkyさんのEmuZ-2000のページ
ステートセーブデータ書き換えツールやエミュレータに関する技術情報、その他大規模なMZソフトウエアリスト等いろいろ、プラグインもあります。

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

http://www.retropc.net/cisc/m88/ ... M88 emulator (Download-その他にIBM-AT互換機(DOS)用D88形式ディスクイメージ化ツールDITT)

http://www.jsdi.or.jp/~imp/ ... 自作ソフトのお部屋 (D88 Utility、D88/2D相互変換を含むユーティリティ等)

http://www1.plala.or.jp/aoto/ ... ぶるー牧場 (D88形式データの仕様、88EMU100.LZHの中にPC-9801(DOS)用D88形式ディスクイメージ化ツールMAKE_HD)

http://www.x1center.org/ ... X1センター
X1のサイトだが、「ディスク吸い上げソフトMakeD88のRS232C高速版」がある。
MB8877A吸い上げツールを用いた時の良さは、下の「Musha's Free Software Room」を参照のこと

http://papicom.net/ ... ぱぴこんのこころ
PC-6001関係だが、NDittというWindows7 64bitでも使えるDitt!を目指したツールがある。ただし5インチメインなMZでどの程度使えるのかは不明

http://p6ers.net/bernie/ ... BurnOut
PC-6001関係だが、DSK/D88形式の変換ツール有。ただし、DSK形式がここで言う海外のDSK形式と同じものかどうかとか使えるのかまでは未チェック

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

※ TF-EditionではAPSSがありますので、 テープイメージの2回セーブを1回にしたり空白を詰めるのはやめてください。 互換のためにFFを無効にするオプションがあります。

MZ-2000/2200/80B用アプリケーションのリンク

http://w01.tp1.jp/~a571632211/ ... 両面テープ配線式電子工作 (USUAL SITUATION)
MZ-80Bのすごいゲームがいろいろあり、全部エミュレータで動作します。 0番地からのメモリイメージなので、拡張子を.DATに変換して読み込みます。 0番地から実行されてモニタへ移行するので、JコマンドでWeb説明記載の実行アドレスへジャンプしてください。 中に必ず暴走するファイルが1つありましたが、それもリセットしたらコマンドプロンプトには入れるので、Jコマンドで実行できます。

http://jp.xetter.com/ ... Musha's Free Software Room
ここにはエミュレータ上で遊べる自作ゲームがたくさんあります。前に試して全部かほとんど動作できたように記憶しています。 MZT形式のBASICプログラムは、BASIC起動後にプラグインEmuZ-1M03を使います。
ただし、XETTERは実機で動作できないイメージで、 エミュレータVer.0.92(I/Oを初期化しなければならないようになった)で動作しませんので適当なバイナリエディタで以下のようにパッチを当ててください。Ver.0.93以降であれば、「リセット時自動I/O初期化」機能を使用して実行できます。 0番地からの3バイトのC3 A0 12等をどこかへ記録し、C3 3B 00へ変更します。 そのまま実行させるとモニタへ入るので、Jコマンドで、1バイト目と2バイト目を入れ替えたアドレス、この場合は12A0へジャンプします。 自動実行させたい場合は、00AE番地からC3 A0 12のように変更します。
(参考までに、モニタMZ-1Z001MやSB-1520は00AE番地からシステム初期化後のアプリケーションへのジャンプベクトルになっていて、 たいてい、C3 B1 00とか01 A0 12のようになっている。 C3がジャンプで、ジャンプしない時に01(LD BC,xxxx)に書き換えます。直後の00B1がモニタのコマンドプロンプトだから。 MZはI/Oが8255やZ80PIOに接続されているので、初期化しないとほとんどのI/Oが反応しないため、0番地から飛んだ場合は誤動作か暴走します)
また、X1turboを所持している場合は、ここのD88形式吸い上げツールを使うとMB8877Aでディスクアクセスできるので、 パッチが必要なソフトについてパッチが必要なくなるかもしれないが、EmuZ-2000のFDC実装は手抜きなので結果は同じかもしれない。 EmuZ-2200だったら、ちゃっくんぽっぷやVictorious Nine、ハイドライドIIまでそのまま起動できるかも。

http://tahori.s17.xrea.com/ ... Penguin Computing Centre
ここにもエミュレータ上で遊べる自作ゲームがあります。 ダウンロードできないが勝手に移植物がすごい。 確かに当時噂はいくつか聞いた(ALPHOSやFantasianがあるらしいとか)が、1本も現物を見たことがない…

※ 常岡さんのところにも自作ソフトウエアがあります。
※ 遊べなくても、MZのソフトウエアってどんなのがあるのか、という場合にはTakkyさんのところへ行けば大規模なソフトウエアリストがあります。

CP/Mや他OS関係のリンク

http://www.cpm.z80.de/ ... The Unofficial CP/M Web Site
昔のDigital Research関係の資料やソフトウエアがフリーソフトウエアとして配布されている。

http://www.geocities.co.jp/ceeezet/index.html ... ひっそりX1
多分、ここのCP/M X1 DiskExplorerがCP/MディスクイメージとWindows上のファイル交換に使えるはず。 多くのCP/M用ソフトウエアがフリーソフトウエアとしてインターネット上に公開されているが、これらをファイル・コンバート可能なはず。
(ちなみに、ファイルコンバートは大変難しい作業で、これが最も良い方法の一つだと思います。 当時は、私はインタリーブとBPBを変更して2HDモードを98用CP/M86互換に改造したX1turbo CP/Mを用意し、CP/MとCP/M86間のコンバートを行い、 98用ファイルコンバータでMS-DOSとCP/M86の間をやりとりしていました。 しかし、このくらいは当時のPCユーザにとって普通の作業でした。 後にX1や88等でいろいろツールが作成されたりパソコン通信で出回っていたようですが、今更入手するのは不可能だと思います)

http://madlabo.oops.jp/MAD/0094/0094.htm ... MZ-2000 と CP/M移植
世の中は広いもので、今CP/Mを独自に移植中の方が。 MSA版と私の以外に、海外製80B用もあるみたいですが、更に別のCP/M実装が登場。もしかすると他にもあるのかも。 更に、MZのFDD I/Fを作成していて基板配布までしているみたい。

http://www.hi-sumi.com/ ... No.046の部屋
Carrylab C-DOSディスクイメージ用のDiskExplorerがある。TF-DOSにC-DOSファイル読み込みモード有。 C-DOSって何だという場合には、WikipediaのWICSの項目 ( https://ja.wikipedia.org/wiki/WICS )に説明があって今となっては一番詳しいようだ。

http://cwaweb.bai.ne.jp/~ohishi/index.htm ... Nibbles lab. HomePage
MZ版システムはないが、S-OSの各種ソフトウエアがある。S-OSそのものに対しても詳しい。