忍者ブログ
他者の解析結果を適当にパクって、さもオリジナルであるかのようにハックロムをリリースする blog 。とりあえず、 FC 版のファミスタだけです。悪しからず。
[17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27]
またと無い優勝のチャンスをカープが逃しそうなので、最後に優勝した 1991 年版を作ってみました。
タイトル画面はカープ仕様ですが、日本一になったのはライオンズです(笑)。

なお、 1991 年版のおまけチームは、

1986 : リーグ優勝
2001 : 幻の 3 位
2013 : 久々の 3 位

です。

ダウンロード ( Famista_beta140621.zip )


< 変更点 20140621 >
  •  COM の下変化見逃しルーチンを削除した(ボールの高低が表現できるようになるまでの措置。)。

  • 打球の飛距離を微調整した。
    下の絵は 1992 年版におけるデモ画面(投手:かく , 打者:いいだ)。

 
  • 守備速度を微調整した。

  • その他。


PR

ダウンロード ( Famista_beta140531.zip )


< 変更点 20140531 >
  • 救援投手の継投を変更した( 2 番手を選手番号 12 → 11 に。)。

  •  COM の代打選択をランダム化した。
    選択ルーチンをあいす氏の仕様にする人は、 これ を当てて下さい。
    うまく行かない人は、お手数ですがエディターで書き直して下さい。

  • 制球ミスを削除した(顔色の変化のみ有効。)。

  • 顔色の悪化およびスタミナ切れによって左右の変化球が無効になるようにした。

  • 投手の変化球の値が全体的に小さすぎたので、調整した。



過去の記事はこちら。 → Part 1 Part 2
このたび、あいす氏にはこの場を借りてお礼を申し上げます~。

現状では以下のようになっております。


(いむどいっく版)

0x13323 : 20 81 BF
0x13F91 : 84 25 20 1B EB 29 07 65 25 A8 C8 C0 0D 90 02 A0 08 C0 0D 60

デフォルトで選択される選手番号に数値を足す方式を採っています。
最大で 07h が加算されるため、 0D 以上の時は強制的に 08 になるようにしています。
選択される選手を先頭の 4 人に限定すれば、 6 バイトほど短縮できます(たぶん)。


(あいす氏版)

0x1331F : 20 81 BF 20 1B EB 90 03 20 86 BF 8C E4 06
0x13F91 : B1 23 D0 01 60 C8 C0 0D 90 F6 A0 40 60

あいす氏版は、代打選択時にキャリー分岐で本来の選手の次の未出場が選択される仕様(本人談)になっています。
実際に適用すると、未出場の 1 人目または 2 人目が選択されるようになってます。
おそらく、拙作のルーチンより安全だと思います(笑)。


気が向いたら単独でパッチを作るかも知れません~。


前回の続き。

直前の投稿に対して、あいす氏から直々にコメントを頂いたので、それを参考にして書き直しました。

今回は、最終的に選択された「選手番号」に数値を足してみました。
正確には C8 を省略したから「選手番号 - 1 」に足してる ... つもりです。
やはりオリジナルと同じように C8 を加えました。


 Y からメモリにストアする時に使った $25 は当てずっぽうです(笑)。

あと、導出された「選手番号」が 0D 以上なら 08 になるようにした ... はずです( C0 0D 90 02 A0 08 の部分)。

ちなみに、選手の数を増やしたり、スタメンと控えを入れ替えたりする改造をしている人は、さらに手直しする必要があると思われます(たぶん)。


これはこれで まだ 穴があるような気がしますが ... 。


0x13323 : C8 C0 0D => 20 81 BF

0x13F91 : 84 25 20 1B EB 29 07 65 25 A8 C8 C0 0D 90 02 A0 08 C0 0D 60



求む多重ハッキング(笑)。


続きはこちら → Part 3
先日以来、 5 ~ 6 年遅れでようやくプログラムをいじるようになりました。
と申しましても、掲示板にて公開されているルーチンとかを参照してゴチャゴチャやってるだけですが。

これまで、内部防御率 / FF ( = 防御率 25.50 )の確率で顔色が悪化するようにして、さらに顔色の違いで条件を分岐して左右の変化球を無効にしたりしてます( ← こちらは近日公開です。)。


さて、本題。


 COM の代打選択をランダムにする事は一応できたのですが、 CANCEL を何度か繰り返す事があって実用的にはどうなのさ? という状況です。

結論から言うと、何とかならないの? という話です。


現状の改変箇所は、こんな感じです。
最も単純な初期型です。


0x13319 : 85 23 86 24 A0 00 B1 23 => 20 81 BF EA EA EA EA EA

0x13F91 : 85 23 86 24 20 1B EB 29 0F A8 B1 23 60
(使える空き地がここしか無い ... 。)


 20 1B EB で乱数ルーチンにジャンプさせ、 29 0F で 00 ~ 0F の値をランダムに取得し、値を A8 で Y レジスタにコピーしております。

しかし、ここで問題があります。
下記の「 CANCEL 無限ループ」を避けたいのです。

ところで、 0x1331E の 00 を 00 ~ 0F に書き換えると、以下のようになります。


# Hex 代打選択
1 00   1 人目
2 01   1 人目
3 02   1 人目
4 03   1 人目
5 04   1 人目
6 05   1 人目
7 06   1 人目
8 07   1 人目
9 08   1 人目
10 09   2 人目
11 0A   3 人目
12 0B   4 人目
13 0C   5 人目
  0D   CANCEL 無限ループ
  0E   CANCEL 無限ループ
  0F   1 周シュウして 1 人目


  1. ベンチ入りの野手は #9 ~ #13 で、 08 ~ 0C だけを入力したい。

  2. 代打を使うたびに人数が減ってゆき、上記の 1 だけだとまた CANCEL 無限ループが発生する(該当する選手がいない?)ので、人数減に対応したい。

  3.  0x13310 の近傍( Bank 09 と 0F )に空きが無い為、拡張するなら他の箇所を使わないと対応不可。

さて、どうしよう ... 。
初心者だから何か致命的な勘違いをしているのかな ... ?
プロフィール
HN:Yimdoic (いむどいっく)
性別:男性
自己紹介:
ROM 本体はありません。どうにかして自力で入手して下さい。
ここでは ips ファイルを扱っております。これについても各自で調べて下さい。
@Yimdoic on twitter
カウンター
カレンダー
10 2024/11 12
S M T W T F S
1 2
3 5 6 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
最新CM
(10/05)
(08/24)
(11/28)
阪神日本一(返信済)
(11/24)
(04/08)
最新TB
ブログ内検索
バーコード
Powered by ニンジャブログ
Designed by 穂高
Copyright © IPS factory All Rights Reserved
忍者ブログ / [PR]