このコーナーは、Internetの各サイトであまり語られることのない、MSXのアマチュアゲームを題材に、その楽しみ方を追求するコーナーにする予定です。
いつものように、NV2000年3月号をMOにインストールして、ほいっぷるを立ち上げたのは良いが、ランキングモードでFile not foundが...。
原因は、ファイルネームの指定時に、ドライブ名まで指定していたので、(ちなみに、私がインストールして遊んだ時は、Dドライブでした。)
ranking.basの18行と74行のA:とあるところを取り去ると、無事に遊ぶことができました。
HDD等を持ってる人は、インストール先でお試しあれ。
SyntaxのNV1999年9,10月号掲載Judgement Baseball、選手データを見て、「一体何年の選手データじゃぁ〜」とばかりに、選手データの解析をしてみました。
ちなみに、BSCさんによる改造版、Miss Judgement Baseballも同じデータだったりします。まあ、当然のような気もしますが。
まず、選手データは、DATABL.DATというファイル1個に格納されています。
DATABL.DAT内部では、最初に7バイトのBSAVEヘッダーが来た後、選手のデータが1番バッターから9番バッターの順に9人分並び、次のチームの1番バッターから9番バッターの順で12球団分並ぶという形式になっています。
チーム順はメニューの上からの順番に並んでいます。
選手データは10バイトになっていて、
+0 6Bytes 選手名(MSXの1バイト文字、足りない分はスペースで埋める)
+6 2Bytes 打率/防御率
+8 1Byte ホームラン数
+9 1Byte 0(不明、一人の選手データの終端を表している?)
という形式になっています。
打率は、表示される打率*1000が入り、並び順は(個人的には理解に苦しむ所ですが)Z80 CPUの2バイト数とは逆で、上位バイト-下位バイト の順に格納されます。
防御率は表示される防御率*100が入ります。格納順は、Z80CPUの逆です。
打率と防御率は共用となっていて、打率が防御率として意味を持つのは9番バッターに固定されているピッチャーのみです。
オリックスの一番バッターイチローを例に取ると、彼のデータは、オフセット7(BSAVEヘッダ)+0(1番目)*90+(1(打順)-1)*10 = +7から、
+0 'イチロー '
+6 01H 64H ;.356
+8 10H ;HR16
+9 0
という風になります。
拙作Ayaka用のカスタマイズファイルだとこうなります。
;---ここから
ORG 7+0*90+0*10
DB 'イチロー ',01H,64H,16,0
;ここまで---
この性質を使えば、日米野球だろうが、阪神タイガース85年版だろうが自由自在ではないでしょうか。
サンプルとして、横浜ベイスターズ99年バージョンの選手データを置いておきます。
アーカイブを展開した後、拙作XMARK互換カスタマイザAyaka Version 1.10以降を用意して、
Ayaka DATABL.DAT JBEX.CFG[RET]
と入力することで、横浜ベイスターズの選手データが99年のものになります。
その他にも・・・???