ファミリースタジアム(’87)解析内容

チームデータ

データ開始アドレスは00010h。  

チーム番号とチーム名 
チーム名 チーム番号t
M  0 
G  1 
L  2 
C  3 
B  4 
D  5 
F  6 
S  7 
R  8 
W  9 
T  10 
N  11 

打者データ

任意のチームについて,打者データは,一人につき16バイトで構成され,スタメン8人,代打4人のデータが順番に並んでいます。チーム番号tにおける,n人目の打者のデータの最初のアドレス(ベースアドレス)adは,

ad=00010h+t×100h+(n−1)×16

となっています。このadをベースとしたときの,各打者のデータフォーマットを次の表に示します。
 
 

オフセット 項目 詳細
00 プレイヤー番号  バッター(スタメン)は00〜07 
バッター(代打)は08〜0B 
ピッチャーは0C〜0F 
が順番についている。変更してはならない。
01−04 選手名  4文字まで。詳細はこちら
05 打席  右打席0/左打席1
06 表示打率  ゲーム時に表示される打率。150+[格納データ]=[表示打率]。
07 表示本塁打  ゲーム時に表示される本塁打。[格納データ]=[表示本塁打数]。
08 実打率  実際能力としての打率。詳細はこちら
09,0A 実本塁打  実際能力としての本塁打。詳細はこちら
0B 走力  70h+[走力]×2=[格納データ]。
0C−0F 空き  0で埋められたままにしておいてください。

投手データ

任意のチームについて,投手データは,一人につき16バイトで構成され,4人のデータが順番に並んでいます。チーム番号tにおける,n人目の投手のデータの最初のアドレス(ベースアドレス)ad2は,

ad2=000D0h+t×100h+(n−1)×10h

となっています。このad2をベースとしたときの,各投手のデータフォーマットを次の表に示します。
 
 

オフセット 項目 詳細
00 プレイヤー番号  バッター(スタメン)は00〜07/バッター(代打)は08〜0B/ピッチャーは0C〜0Fが順番についている。変更してはならない。
01−04 選手名  4文字まで。詳細はこちら
05 投法  右上席0/左上1/右下2/左下3
06 防御率  [格納データ]×4=[防御率]。
07,08,09 球速  順番に,チェンジアップ(07),ふつうの直球(08),速球(09)の平均スピード。詳細はこちら
0A,0B,0C 変化球  順番に,右変化,左変化,フォーク。[格納データ]=[変化量]。
0D スタミナ  [格納データ]=[スタミナ]。
0E−0F 不明  よくわかっていません。ご存じの方,是非ご教授願います。

チーム名

1)まず,B0DChから13バイトに,”MGLR・・・”の10チームの名前のコードが入っています(コードは,上記の選手名と同じです)。12チームではなく13あるのは,WATCHモードで出るOチームがあるからです。1チームにつき2バイトで構成されています。すなわち,デフォルトでは

16h,24h,10h,24h,15h,24h,0Ch,24h,・・・

というように格納されています。つまり,ここを書き換えることで,チームの頭文字を変えられます。

2)さらに,FC07hから13バイトにも,同様にチーム名が格納されているので,ここも書き換えの必要があります。これは試合終了後の「ナムコットスポーツ」で表示されるチームです。コードは,デフォルトでは次のように並んでいます。

10h,1Eh,11h,1Eh,12h,1Eh,0Ch,1Eh,・・・

これに対応する文字パレットは,次のようになっています:

コード表

3)しかし,これだけでは足りません。これはキャラクタベースのデータの話で,実際にはさらに,グラフィックデータを書き換える必要があります。書き換えの必要のある場所は,

1003Ch付近,11090h付近,1501Ah付近

です。
書き換え例

選手ユニフォームの色

9ED9hから格納されています。1チームにつき,4バイト単位で構成されています。

選手ユニフォームの色のフォーマット
位置 1バイト目 2バイト目 3バイト目 4バイト目
内容 透明色 ヘルメットやバットの色 肌の色 ユニフォームの地の色
値など 常に0Fh いろいろ 常に26h いろいろ

タイトル画面

(C)1986 1987 ...と書いてあるメッセージは,2F5Ahから,その下の段は,2F73hからです。コードは次の通り。

コード表

戻る