********************************************
*                                          *
*           KM-Z80 game ver 0.9.0          *
*            Katsumi Morimatsu             *
*     kmorimatsu@users.sourceforge.jp      *
* http://hp.vector.co.jp/authors/VA016157/ *
*                                          *
********************************************

KM-Z80 gameは、MachiKania用のプログラムで、MZ-80K互換のゲームを動作させるための
物です。MachiKaniaに関する情報は、以下のwebページにあります。

http://www.ze.em-net.ne.jp/~kenken/machikania/

但し、RB6端子から390Ωの抵抗を介してVideo Outにつないで下さい。これにより、
明るい表示で楽しむことが出来ます。この改変を加えなくても使用できますが、表示
が若干暗いです。

28KB以内に収まるMZ-80Kのプログラムなら、そのまま実行することが可能です。ただ
し、６個あるボタンをどのキーに割り当てるかのスクリプトを、テキストファイルで
用意する必要があります。

０）免責事項

このツールを参考にして行った事による、いかなる不具合に関しても、私、Katsumi
は責任を持ちません。各自、自己責任のもとで作業を行ってください。


１）著作権について

cgrom.hは、"MZ-700 Emulator MZ700WIN For Windows"に付属のフォントデータを
利用して作成してあります。従って、このファイルについては、"Takeshi Maruyama"
さんが著作権を所有していることになります。

また、monitorrom.hについては、同じく"MZ-700 Emulator MZ700WIN For Windows"用の
"MZ-NEW MONITOR"のコードをもとに作成しました。著作権は武蔵野マイコンクラブが
所有しています。

これら、２つのファイルの著作権に関しては、2016年3月現在、次のwebページに情報が
あります。
http://retropc.net/mz-memories/mz700/

ChaNさん作成のPetit FAT file systemを使用しています(pff.c/mmc.c)。ライセンスに
関しては、次のページを参照して下さい。
http://elm-chan.org/fsw/ff/00index_p.html

その他のソースコードは、LGPL ver 2.1とします。再配布の際は、これらの著作権に
従った形で行ってください。

バイナリファイルの再配布も、これらの著作権に従って行ってください。著作権につ
いて疑問や質問がある場合は、私、Katsumiに連絡してくだされば幸いです。

２）配布物に含まれているフォルダとファイル

・kmz80sdフォルダ（ソースファイルを含む）
・lgpl.txt（LGPLライセンス）
・readme.txt（今読んでいるファイル）
・kmz80sd.hex（バイナリ）

３）使い方

まず、MZ-80K用のプログラムを、MZFファイル(MZT, M12ファイルも同じ）で用意し、SD
カードにコピーして下さい。拡張子は"MZF"とし、短い名前（８文字以内）で保存します。
また、BASICソースコードなどの２つ目の読み込みファイルがある場合、同じファイル名
で拡張子を"MZ2"として下さい。

次に、本製品のHEXファイル(kmz80sd.hex)を、拡張子はHEXのまま、同じファイル名でSD
カードに保存して下さい。

キー割り当てスクリプト（次の項を参照）を作成し、同じファイル名で拡張子をTXTにし
て、SDカードに保存して下さい。

４）キー割り当てスクリプトについて

拡張子がTXTの、テキストファイルです。512バイト以内の大きさにして下さい。例えば、
次のように記述します。

[I]0072
[U]22
[D]62
[L]51
[R]52
[S]7084
[F]60

[I]で始まる行は、起動時に必要なキー操作について、記述します。必ず"00"と記述し、
その次に必要なキー操作に関する情報を記述します。数字２文字で、１キーの操作に
相当します（以下を参照）。複数のキー操作を登録することも可能です。

[U],[D],[L],[R],[S],[F]で始まる行は、それぞれ、UP, DOWN, LEFT, RIGHT, START,
FIREボタンを押したときのキー操作を指定します。最初の２文字が、ボタンを押した
ときのキー操作、それに続く文字は、ボタンを放した後に行なわれるキー操作（無く
ても良い；複数指定可）。

キー操作用の２文字の数字の指定は、"mz-80k 8255 port-a port-b"等の検索語で
web検索を行なった際に出てくるテーブルが参考になります。具体的には、MZ-80Kに
おける、8255と言う石のPort Aに出力する値とPort Bから得られる値を指定すること
になります。上記の例では、"72"は"N"キーに、"22"は"T"キーに、"51"は"F"キーに
相当するといった具合です。

PS/2キーボードを利用する場合は、"[K]11"とだけ、記述して下さい。

５）MZ-80Kとの違い

サウンド用のタイマーのクロックが、若干遅い(MZ-80Kでは 2 MHzのところ、1.79 MHz)
ため、少し低い音が出ます。

8253タイマーのクロックが若干速い(MZ-80Kでは31250 Hzの所、31468 Hz)ため、この
機能を使ったプログラムで、0.7 %ほどの時間の差が出ます。


６）ソースファイルのコンパイルについて

プログラムのコンパイルには、MPLAB IDE v8.91とMPLAB XC32 complier v1.21を用いて
います。もし、これらの上位バージョンを利用してのコンパイルに問題が在れば、これ
らのバージョンを用いてみて下さい。なお、最適化は「１」でコンパイルしています。
"Project"プルダウンメニューから"Build Options -> Project"を選択し、"MPLAB
PIC32 C Compiler"タブを表示後、"Categories"に"Optimization"を選択することで、
最適化の程度を設定することが可能です。

７）バージョン履歴

2016/03/18
・MachiKaniaに対応
・PS/2キーボードが使用可能に。
・BASICコードなどの２つ目のファイルを読み込み可能に。
・RB6を用いた明るい表示に対応。

2014/10/14	ver 0.6.0
・RA1を用いた明るい表示に対応。

2014/06/15	ver 0.5.8
・最初の正式公開バージョン
