PIC

KM-Z80 gameの紹介

2014年6月15日

KM-Z80 gameは、ケンケンさん製作の、SDカードブートローダー用のソフトウェアで、MZ-80K互換機で動くゲームを楽しむための物です。

MZ-80K用のゲームは、例えば以下のサイトでフリーで配布されています。
http://www.retropc.net/mz-memories/mz700/
http://www.maroon.dti.ne.jp/youkan/mz700/zeplis/

これらのファイルをSDカードから読み込んで楽しむことが出来ます。

ケンケンさんの回路では6個のボタンがありますが、これらのボタンを押したときにどのキーを押したことにするかのスクリプトを作成する必要があります。詳しくは、ダウンロードされるファイルに含まれているreadme.txtを参照して下さい。

MZ-80Kでは、2 MHzのクロックの所、ケンケンさんの回路では3.58 MHzの水晶を使っている加減で、ほんの少し動作が異なる部分がありますが、ゲームを楽しむ分にはほとんど影響ないと思います。

従来のKM-Z80 miniシリーズと比べて表示が若干暗いです。回路を変更すれば明るくできるのですが、今回は回路の変更無しで済ませました。

KM-Z80 game ver 0.5.8は、ここからダウンロードできます。
KM-Z80 game ver 0.6.0は、ここからダウンロードできます。

記事の最初でご紹介した、MZ-80Kのフリーソフトのうち、View Finder V 1.1とBug Fireについて、キー設定スクリプトを書いてみました。V-FINDER.MZFもしくはBUGFIRE.MZFとして保存し、KM-Z80 gameのhexファイルも同じファイル名(拡張子はhexのまま)で保存し、使って下さい。SDカードに保存するファイルは、次の例のようになります。

2014-06-15-dir.png
スクリプトはここからダウンロードできます。

追記 10/14/2014
ver 0.6.0をアップしました。RA1から390Ωの抵抗を介して、Video Outにつなぐと、明るい表示になります。この改造を施さない場合、表示は暗いままですが、実行に支障はありません。

コメント

ケンケン (2014年6月16日 10:19:59)

もうここまで出来ていたとは、素早いですね。早速私も動かしてみました。
確かに動いてます。すごい。過去におそらく皆さんが苦心して作られたと思われるMZ用のゲームがPIC上で動くなんて、感激です。
ところで画面が暗いのですが、白レベルのLATBへの出力はいくらでしょうか?

Katsumi (2014年6月16日 12:03:02)

ケンケンさん

コメントをどうも有り難うございます。

夕べ(日曜の夜)は、コレを完成させてブログを書くだけにとどまってしまって、そちらの掲示板で報告するのが遅れてしまっています。申し訳ありません。

ビデオ信号の作成ですが、同期信号用にRB3を、白レベルの作成用にRB1/RB2を同時に使っています。白レベルの出力にSDO2を使っているため、この構成になりました。本当はRB4にSDO2が出力出来れば綺麗に出るのですが、残念ながらこのピンにはSDOの割り当てが出来ません。まずは回路の変更無しで仕上げたかったので、この仕様になりました。

表示をもう少し明るくする方法についてですが:

ケンケンさんのブートローダーでは、カラーの出力中には電圧が何ボルトまで上がりますか?もし、1.5Vを超えることがないのであれば、RA1に適当な値の抵抗(300 Ωぐらい)をつないでビデオ出力部に接続する手があります(RA1が入力の際、常にLレベルを保つことが必要)。他の方法としては、150Fでは空きピンになっているRB6を使うこともできます。

ケンケン (2014年6月17日 09:32:00)

なるほど、ビデオ信号出力にSPI出力を使っているのですか。後閑哲也氏が使っている方式と同じですね。だとするとあのハードではかなり制約がありますね。
設計上は、RB0~4の5ビットDAコンバータで、同期が0、黒レベルが6、白レベルが19くらいです。カラーの場合、最大24くらいまで使います。その時で1.3Vくらいです。

ちなみに、5ビットDAで最大24なのはもったいないと後から気付いて、新しく作る回路では抵抗値を変更して0~31までフルに使うようにしています。そのほうが色解像度が高く、いずれはそちらに統一していきたいと思っています。

Katsumi (2014年6月17日 12:15:32)

最大1.3Vなら、Hレベルの半分以下の電圧だし、PIC32のデジタル入力がシュミットトリガーであることもあって、全く問題なさそうですね。RA1がビデオ端子に繋がっているかどうかを調べるルーチンを作って、もし繋がっていればそちらを使うとか、そういう方法を考えてみます。

もし良ければ、新しい抵抗値の値を教えて抱けませんか?今後のバージョンアップの際の参考にしたいです。

ケンケン (2014年6月18日 10:06:33)

こちらの実験で使っているのが5ビットをフルに使うための抵抗値です。
これがベストなのかはわかりませんが、結構いい感じだと思います。
http://www.ze.em-net.ne.jp/~kenken/composite-h3/index.html

Katsumi (2014年6月18日 15:57:38)

どうも有り難うございます。もし将来的に、この抵抗値に変更になるのならば、RA1を使うなどの改造は必要なく、RB4にSDO2を出力する方法が使えそうです。現在の回路でも、3.3Vではなく乾電池からの3.0Vなら何とか使えそうに思うので、設定を少し変えて、みてみます。

Katsumi (2014年10月14日 23:50:42)

ver 0.6.0をアップしました。ケンケンさんの回路そのままでも動きますが、RA1から390Ωの抵抗を介してビデオ信号に繋げれば、明るく表示されます。

コメント送信