Sharp MZ-800 アップグレード
Sharp MZ-700 の後継機である Sharp MZ-800 は、旧世代の多くの欠点を修正し、MZ-80B の技術を基本的には個人向けコンピューターであったものに取り込んでいます。その結果、このマシンはビジネス用途でも使われるようになりましたが、当時市場に溢れていたより高性能なホームコンピューターとの競争により、個人市場ではあまり普及しませんでした。
外観は MZ-700 に非常に似ていますが、2枚の拡張カード用内蔵ドックが追加されたことでやや無骨な印象になっています。MZ-700 との完全な互換性を維持することが設計目標の一つであり、MZ-700 のポート、拡張オプション、豊富な MZ-700 ソフトウェアとの互換性をすべて維持しています。さらに待望の機能として、640x200 カラーピクセルグラフィックスに対応した 16〜32K ビデオ RAM、プログラマブルキャラクタージェネレーター、専用サウンドジェネレーター IC、80桁表示、拡張ドック、クイックディスクドライブなどが追加されました。これらの追加ハードウェアにより、CP/M の使用、より高度な音楽・ゲーム、MZ-700 および一部の MZ-80B グラフィックスベースプログラムの移植が可能になりました。
販売当時に MZ-800 を所有することはできませんでしたが、良好な状態の個体(実際には2台目)を入手し、完全に修復しました。これらの開発はすべてその実機をベースにしています。
私のプロジェクトポートフォリオのこのセクションは Sharp MZ-800 に捧げられています。MZ-80A / MZ-700 の欠点(80桁表示やピクセルグラフィックスなど)を修正することに多くの初期プロジェクトを費やしてきましたが、MZ-800 にはそれらの機能がすでに備わっているため、このマシンのアップグレードにはあまり時間を割いていませんでした。最初に tranZPUter SW をマシン内部でテストしたところ、期待どおりに動作し、K64F がマシンに問い合わせできることが確認されました。
最近プロジェクトを進めたところ、MZ-800 の設計に他の Sharp MZ シリーズマシンには見られない致命的な欠陥を発見しました。Sharp がコスト削減のために 74LS365 デバイスをバスバッファリングに使用し、データバスバッファを省略したと思われます。これは、他の Sharp MZ シリーズマシンが使用する完全なアドレス・データ・コントロールバッファリングよりも少ない機能しか提供しない4チップ構成です。さらにこのコスト削減の影響として、Z80 BUSACK 信号から供給される通常のインバーター経由ではなく、バッファ制御ピンをハードグランドに接続しており、74LS04 の追加を節約しています。これが意味するのは、MZ-800 ではオリジナル構成ではバスマスタリングが不可能であり、このマシンを改造せずに動作させるためには、オプションの 244/245 バスドライバーを備えた tranZPUter SW ボードを設計する必要があるということです。新しい tranZPUter 設計に時間とコストをかけて問題が発生するリスクを避けるため、マザーボードへの改造を行いました!確かに冒涜的ではありますが、tranZPUter SW が更新された際に後日戻すことができます。
tranZPUter SW が未改造の MZ-800 で動作するために必要な追加ハードウェアに加え、メモリマップの違いに対応するために CPLD とソフトウェアベースに多数の更新が必要でした。また MZ-800 IPL ROM のアセンブラーソースコードを入手する必要があり、ウェブを調べた結果、チェコのシャープユーザークラブから約 75% 完成したチェコ語の古いアセンブリリストを発見しました。欠落したデータ領域と BASIC IOCS がなかったため、そのリストを Glass Z80 アセンブラー互換のアセンブラーファイルに変換し、欠落した機能を補完・整理するとともに、コメントのチェコ語から英語への翻訳を行いました。このソースファイルは、TZFS を MZ-800 IPL に組み込む唯一の現実的な方法である、ブート時オプション(Monitor、Floppy、CMT オプションに加えた T - TZFS)として提供するために必要です。ユーザーが T を押すと K64F が TZFS をロードして実行し、それ以外の場合はマシンはオリジナルの構成で動作します。
すべてのプロジェクトは単純なルールに従っています。「物理的な永続的変更なし」(最初のプロジェクトでは有名な「言うは易し」でしたが、新しい tranZPUter SW リリースで修正される予定です)——私の観点からは、アンティークは破壊されるべきではなく、いかなる変更もオリジナルの工場出荷状態に戻せるよう可逆的であるべきです。とはいえ、コンピューターをより使いやすくする機能拡張は常に歓迎されます。だからこそこれらのプロジェクトは生まれました。結果なき機能拡張です。
以下の図は Sharp MZ-800 で利用可能なアップグレードパスを示しています。
外観は MZ-700 に非常に似ていますが、2枚の拡張カード用内蔵ドックが追加されたことでやや無骨な印象になっています。MZ-700 との完全な互換性を維持することが設計目標の一つであり、MZ-700 のポート、拡張オプション、豊富な MZ-700 ソフトウェアとの互換性をすべて維持しています。さらに待望の機能として、640x200 カラーピクセルグラフィックスに対応した 16〜32K ビデオ RAM、プログラマブルキャラクタージェネレーター、専用サウンドジェネレーター IC、80桁表示、拡張ドック、クイックディスクドライブなどが追加されました。これらの追加ハードウェアにより、CP/M の使用、より高度な音楽・ゲーム、MZ-700 および一部の MZ-80B グラフィックスベースプログラムの移植が可能になりました。
販売当時に MZ-800 を所有することはできませんでしたが、良好な状態の個体(実際には2台目)を入手し、完全に修復しました。これらの開発はすべてその実機をベースにしています。
私のプロジェクトポートフォリオのこのセクションは Sharp MZ-800 に捧げられています。MZ-80A / MZ-700 の欠点(80桁表示やピクセルグラフィックスなど)を修正することに多くの初期プロジェクトを費やしてきましたが、MZ-800 にはそれらの機能がすでに備わっているため、このマシンのアップグレードにはあまり時間を割いていませんでした。最初に tranZPUter SW をマシン内部でテストしたところ、期待どおりに動作し、K64F がマシンに問い合わせできることが確認されました。
最近プロジェクトを進めたところ、MZ-800 の設計に他の Sharp MZ シリーズマシンには見られない致命的な欠陥を発見しました。Sharp がコスト削減のために 74LS365 デバイスをバスバッファリングに使用し、データバスバッファを省略したと思われます。これは、他の Sharp MZ シリーズマシンが使用する完全なアドレス・データ・コントロールバッファリングよりも少ない機能しか提供しない4チップ構成です。さらにこのコスト削減の影響として、Z80 BUSACK 信号から供給される通常のインバーター経由ではなく、バッファ制御ピンをハードグランドに接続しており、74LS04 の追加を節約しています。これが意味するのは、MZ-800 ではオリジナル構成ではバスマスタリングが不可能であり、このマシンを改造せずに動作させるためには、オプションの 244/245 バスドライバーを備えた tranZPUter SW ボードを設計する必要があるということです。新しい tranZPUter 設計に時間とコストをかけて問題が発生するリスクを避けるため、マザーボードへの改造を行いました!確かに冒涜的ではありますが、tranZPUter SW が更新された際に後日戻すことができます。
tranZPUter SW が未改造の MZ-800 で動作するために必要な追加ハードウェアに加え、メモリマップの違いに対応するために CPLD とソフトウェアベースに多数の更新が必要でした。また MZ-800 IPL ROM のアセンブラーソースコードを入手する必要があり、ウェブを調べた結果、チェコのシャープユーザークラブから約 75% 完成したチェコ語の古いアセンブリリストを発見しました。欠落したデータ領域と BASIC IOCS がなかったため、そのリストを Glass Z80 アセンブラー互換のアセンブラーファイルに変換し、欠落した機能を補完・整理するとともに、コメントのチェコ語から英語への翻訳を行いました。このソースファイルは、TZFS を MZ-800 IPL に組み込む唯一の現実的な方法である、ブート時オプション(Monitor、Floppy、CMT オプションに加えた T - TZFS)として提供するために必要です。ユーザーが T を押すと K64F が TZFS をロードして実行し、それ以外の場合はマシンはオリジナルの構成で動作します。
すべてのプロジェクトは単純なルールに従っています。「物理的な永続的変更なし」(最初のプロジェクトでは有名な「言うは易し」でしたが、新しい tranZPUter SW リリースで修正される予定です)——私の観点からは、アンティークは破壊されるべきではなく、いかなる変更もオリジナルの工場出荷状態に戻せるよう可逆的であるべきです。とはいえ、コンピューターをより使いやすくする機能拡張は常に歓迎されます。だからこそこれらのプロジェクトは生まれました。結果なき機能拡張です。
以下の図は Sharp MZ-800 で利用可能なアップグレードパスを示しています。

執筆時点では、MZ-800 の開発は元々 Sharp MZ-80A 向けに開発された試験済みの設計である tranZPUter SW に限定されています。現在 MZ-800 で完全に動作し、より高い処理速度(データバスドライバーがないため 10MHz に制限)、より多くのメモリ、SD カード、より高度なモニターを提供しています。
Sharp MZ-80A のアップグレードとは異なり、スペース制約と設定可能なロジックの可用性により、後期バージョンの tranZPUter SW v2.2 ボードのみが MZ-800 で動作します。ソフトウェア面では、MZ-800 は MZ-80A 開発の拡張版を使用しており、アセンブラー(Z80、ARM)、C/C++、VHDL などの多様な技術を活用しています。
各ボードの詳細については左側のインデックスの該当セクションを、どのボードを組み合わせて使用できるかについては上記のマップをご参照ください。執筆時点では tranZPUter SW の1ボードのみが利用可能ですが、今後増える予定です。
Sharp MZ-80A のアップグレードとは異なり、スペース制約と設定可能なロジックの可用性により、後期バージョンの tranZPUter SW v2.2 ボードのみが MZ-800 で動作します。ソフトウェア面では、MZ-800 は MZ-80A 開発の拡張版を使用しており、アセンブラー(Z80、ARM)、C/C++、VHDL などの多様な技術を活用しています。
各ボードの詳細については左側のインデックスの該当セクションを、どのボードを組み合わせて使用できるかについては上記のマップをご参照ください。執筆時点では tranZPUter SW の1ボードのみが利用可能ですが、今後増える予定です。
クレジット
第三者の設計を使用または参考にした場合は、ヘッダー内に原著者の著作権表示を記載するか、適切なクレジットを表示しています。私の知識および調査の範囲内において、すべての第三者ソフトウェアはオープンソースであり自由に使用可能ですが、ライセンス上の制限が発見された場合は、該当コンポーネントをこのリポジトリから削除し、適切なリンクまたは設定情報を提供します。
ライセンス
本設計(ハードウェアおよびソフトウェアを含む)は GNU Public Licence v3 のもとでライセンスされています。
GNU Public License v3
本プロジェクト内で GPL v3 と明示されたソースファイルおよびバイナリファイルは、フリーソフトウェアです。Free Software Foundation が公表した GNU General Public License(バージョン3、または任意のより新しいバージョン)の条件のもとで、再配布または改変することができます。
これらのソースファイルは有用であることを願って配布されていますが、商品性や特定目的への適合性についての保証を含め、一切の保証を行いません。詳細については GNU General Public License をご参照ください。
本プログラムとともに GNU General Public License のコピーを受け取っているはずです。受け取っていない場合は http://www.gnu.org/licenses/ をご覧ください。
これらのソースファイルは有用であることを願って配布されていますが、商品性や特定目的への適合性についての保証を含め、一切の保証を行いません。詳細については GNU General Public License をご参照ください。
本プログラムとともに GNU General Public License のコピーを受け取っているはずです。受け取っていない場合は http://www.gnu.org/licenses/ をご覧ください。