重要な点を抜かしていたのに気がつきました。すごろく中は「ゴールド」ではなく「コイン」になるため、メッセージ中の文字列以外にも、「G」を「C」に変更する必要があります。対象はすごろく中のステータス画面、よろず屋での買い物中の画面(所持金表示、アイテム売却時)です。それぞれどこで決定しているかはウィンドウ描画SR群($03609C-)を片っ端から探して怪しい部分を変えてみて期待通りになるかどうかを試してみるしかありません。要は試行錯誤あるのみです。
- SR: $036B6A ウィンドウ描画SR_008(すごろく中のステータス画面描画)
| 略 |
|
|
|
| 036BE9 |
JSR $F76B |
SR: $03F76B |
金額単位文字列決定 |
| 略 |
|
|
|
- SR: $03634B ウィンドウ描画SR_008(所持金画面描画)
| 略 |
|
|
|
| 036356 |
JSR $F76B |
SR: $03F76B |
金額単位文字列決定 |
| 略 |
|
|
|
| 略 |
|
|
|
| 035890 |
JSR $F76B |
SR: $03F76B |
金額単位文字列決定 |
| 略 |
|
|
|
- SR: $03F76B 金額単位文字列決定(新SR)
| 03F76B |
JSL $C3FF09 |
SR: $03FF09 |
すごろく中かどうか(該当c=on) |
| 03F76F |
BCC #$04 |
if(c==off) goto $03F775 |
|
| 03F771 |
LDA #$0093 |
A=#$0093 |
“C”を設定 |
| 03F774 |
RTS |
return |
|
| 03F775 |
LDA #$0097 |
A=#$0097 |
“G”を設定 |
| 03F778 |
RTS |
return |
|
ウィンドウ描画なんてノータッチの部分だったのですが、手をつけざるを得ない羽目に。いうほど大変でなかったのでよかったです。もう1点、これも実装してすっかり忘れていたのですが、すごろく中のアイテム売却値段を通常の1/50とします。
(6/24修正)
アイテムの買値が3バイトだったのを忘れていたため修正
| 略 |
|
|
|
| 044EE0 |
JSL $C44E90 |
SR: $044E90 |
アイテムの買値取得(下位2B:Aにセット、上位1B:Yにセット) |
| 044EE4 |
STY $4C |
DP($4C)=Y |
|
| 044EE6 |
STA $4A |
DP($4A)=A |
|
| 044EE8 |
JSL $C3FF09 |
SR: $03FF09 |
すごろく中かどうか(該当c=on) |
| 044EEC |
BCC #$05 |
if(c==off) goto $044EF3 |
|
| 044EEE |
LDA #$0064 |
A=#$0064 |
|
| 044EF1 |
BRA #$03 |
goto $044EF6 |
|
| 044EF3 |
LDA #$0002 |
A=#$0002 |
|
| 044EF6 |
JSR $FDE6 |
SR: $04FDE6 |
アイテム売値1/A化 |
| 044EF9 |
LDY $4C |
Y=DP($4C) |
|
| 044EFB |
LDA $4A |
A=DP($4A) |
|
| 略 |
|
|
|
- SR: $04FDE6 アイテム売値1/A化(新SR)
| 04FDE6 |
LDX #$004A |
X=#$004A |
1/50にする |
| 04FDE9 |
JSL $C01243 |
SR: $001243 |
DP($00,X)(3B)=DP($00,X)(3B)/A(1B) 剰余=A |
| 04FDED |
RTS |
return |
|

コメント