改造例

参照先アドレス・データ変更


0ED1h-0ED7h ブリョクが→トウソツが
DB FE E7 FC C7 85 FE→D3 C2 CE D1 85 FE 01
0FF4h-0FF5h タイ(リョク)→ブ(リョク)
1381h-1382h
192Dh-192Eh
19C4h-19C5h
CF C1→DB FE
1660h おおけ→おうけ
84→82
1937h-1948h
右に1文字ずらし空いたところに01
2010h-2011h 城名開始アドレス
2012h-2013h 武将名開始アドレス
2014h-2015h 城データテーブル開始アドレス
2016h-2017h 武将データテーブル開始アドレス
2018h-2019h 人徳テーブル開始アドレス(改造後は政治力データ)
CC 92→00 9F(ROM3F10h空き領域)
201Ah-201Bh 攻撃側配置可能範囲テーブル先頭アドレス
201Ch-201Dh 守備側初期配置テーブル先頭アドレス
201Eh-201Fh 攻撃側初期配置テーブル先頭アドレス
2020h-2021h 地形再描画用先頭アドレス
2022h 武将1名前アドレス
255人に枠を増やすため数人を空き領域に名前文字列移動
F4 81($81F4-5FF0h=2204h)→10 82($8210-5FF0h=2220h)
2204h~ 武将名文字列
2220h~h262Bhと
3350h~に変更
389Bh~3A9Ah 再描画用地図データ※5行目からの画像データ列を非圧縮で
大本の地図データは3CE30h~3D021h ※画面全体圧縮データ
3B7Fh-3B80h 戦闘結果画面 軍の漢字上段
3B87h-3B88h 戦闘結果画面 軍の漢字下段
F2 F3→A0 A1
F6 F7→A4 A5
3B8Bh-3B8Eh 戦闘結果画面 結果の漢字上段
3B93h-3B96h 戦闘結果画面 結果の漢字下段
EA EB EC ED→08 09 0A 0B
EE EF F0 F1→0C 0D 0E 0F
3BABh-3BACh 戦闘結果画面 将の漢字上段
3BB1h-3BB2h 戦闘結果画面 将の漢字下段
FA FB→92 93
FE FF→96 97
※5B7Fh~以降も同様のデータあり(こちらがメインかも)
621Dh-621Eh 情報ウィンドウ名前1文字目左上アドレス
3D A2($A23D-3FF0h=624Dh)→C0 D5($D5C0-3FF0h=95D0h)
6223h-6224h 1文字目右上アドレス
3E A2($A23E-3FF0h=624Eh)→C1 D5($D5C1-3FF0h=95D1h)
6229h-622Ah 2文字目左上アドレス
3F A2($A23F-3FF0h=624Fh)→C2 D5($D5C2-3FF0h=95D2h)
622Fh-6230h 2文字目右上アドレス
40 A2($A240-3FF0h=6250h)→C3 D5($D5C3-3FF0h=95D3h)
6235h-6236h 1文字目左下アドレス
55 A2($A255-3FF0h=6265h)→E4 D5($D5E4-3FF0h=95F4h)
623Bh-623Ch 1文字目右下アドレス
56 A2($A256-3FF0h=6266h)→
6241h-6242h 2文字目左下アドレス
57 A2($A257-3FF0h=6267h)→
6247h-6248h 2文字目右下アドレス
58 A2($A258-3FF0h=6268h)→
624Dh-627Ch 名前形成パターンテーブル
95D0h空き領域に移動
7409h 740Eh 各君主ワーキングエリアテーブルアドレス(F1BDh~に関連)
1A987h 1A98Ch
1F2F7h 1F2FCh
1F381h 1F386h
1F87Eh 1F883h
1D F1($F11D+10010h=1F12Dh)→A0 FF($FFA0+10010h=1FFB0h)
1E F1($F11E+10010h=1F12Eh)→A1 FF($FFA1+10010h=1FFB1h)
B9 1D F1 lda $F11D,y	;
85 00     sta $00	;
B9 1E F1 lda $F11E,y	;
85 01     sta $01	;
A0 02     ldy #$02	;
B1 00     lda ($00),y	;
↓
B9 A0 FF lda $FFA0,y	;
85 00     sta $00	;
B9 A1 FF lda $FFA1,y	;
85 01     sta $01	;
A0 02     ldy #$02	;
B1 00     lda ($00),y	;
CB8Ah COM育成補正値
$CB7A 20 D4 E9	jsr $E9D4	;ランダム値0~3抽出
$CB7D 18	clc		;
$CB7E 69 05	adc #$05	;05+ランダム値0~3
$CB80 85 1B	sta $1B		;
武力・知力共通条件
$CBCC C9 32	cmp #$32	;50以上か
$CBCE 90 11	bcc $CBE1	;
$CBD0 C9 4F	cmp #$4F	;79未満か
$CBD2 B0 0D	bcs #CBE1	;
忠誠条件
$CBEC C9 45	cmp #$45	;69以下か
$CBEE B0 F1	bcs $CBE1	;
BA08h 戦闘時退却基準体力
#$3C→#$14
E111h 戦略中アニメパターンテーブルアドレス
24 A1($A124+4010h=E134h)未変更
E134h-E139h 戦略中アニメパターン(オフセット)
4B 4D 4C 3A 39 4A→39 3A 4A 4B 4C 4D 56 57 58(3バイト増やす)
E0F9h 戦略中CRバンクテーブルアドレス
2A A1($A12A+4010h=E13Ah)→2D A1($A12D+4010h=E13Dh)
E13Ah-E13Fh 戦略中CHRバンク
E13D-E145へ移動
5D 5E 5E 5C 5C 5D→5C 5D 5E 7F 80 81 82 83 84(3バイト増やす)
E0FEh 戦略中カラーテーブルアドレス
30 A1($A130+4010h=E140h)→30 A0($A030+4010h=E040h空き領域に移動)
E140h-E145h 戦略中カラー
E040h-E048hへ移動
11 26 16 00 10 24→11 07 15 19 10 24 28 13 26変更+3バイト追加
	          青 茶 赤 緑 灰 桃 黄 紫 橙
F1BDh 初期君主所在都市+保有都市数アドレス
F0 B1(lda $B1F0,y)→C0 D5
$B1F0+4010h=F200h→$D5C0+A010h=175D0h
F1C0h 上記データの実メモリアドレス(ワーキングエリア移動)
8D 6D(sta $6D8D,y)→D0 7F(sta $7FD0,y)
F200h-F217h 初期君主所在都市+保有都市数テーブル(君主データ9人分にしてある。)
04 05 00 00 06 04 00 00 0C 05 00 00 0F 08 00 00 
0D 03 00 00 1A 05 00 00
175D0hへ移動
03 05 00 00 0E 03 00 00 0A 05 00 00 11 04 00 00
16 03 00 00 1D 04 00 00 05 02 00 00 10 03 00 00
1A 01 00 00
10010h 城グラフィックの位置(横軸) 1バイト×30城
1002Eh 城グラフィックの位置(縦軸) 1バイト×30城
戦争結果漢字形成テーブルアドレス
1004Ch 袁紹パターンアドレス
96 80($8096+8010h=100A6h)→C0 95(115D0h空き領域に移動)
1004Eh 馬騰パターンアドレス
B7 80→E1 95(115F1h空き領域に移動)
10050h 曹操パターンアドレス
D8 80→02 96(11612h空き領域に移動)
10052h 孫権パターンアドレス
F9 80→23 96(11633h空き領域に移動)
10054h 劉備パターンアドレス
1A 81→44 96(11654h空き領域に移動)
10056h 劉璋パターンアドレス
3B 81→65 96(11675h空き領域に移動)
10058h 占領パターンアドレス->呂布パターンアドレス(追加)
5C 81→86 96(11696h空き領域に追加)
1005Ah 袁術パターンアドレス(追加)
A7 96(116B7h空き領域に追加)
1005Ch 張魯パターンアドレス(追加)
C8 96(116D8h空き領域に追加)
※以降の参照アドレス変更
手順1594Dh、1595Ah
06→2D
(レジスタA+06→右シフト→+803Ch=8048h)→(レジスタA+2D→右シフト→+803Ch=8096h)
15A17の803Cが基準となっている。
10058h→100A6h 占領パターンアドレス
5C 81
1005Ah→100A8h 敗戦パターンアドレス
7D 81
1005Ch→100AAh 退却パターンアドレス
9E 81
1005Eh→100ACh 落城パターンアドレス→陥落パターンアドレス
BF 81
10060h→100AEh 防衛パターンアドレス
E0 81
以降の参照アドレス変更
手順159E4h、159FCh、15A0Ah
0B->32
(レジスタA+0B→右シフト→+803Ch=8052h)→(レジスタA+2D→右シフト→+803Ch=80A0h)
10062h→100B0h 損兵の数値?
10064h→100B2h 損将の数?
10066h→100B4h 捕虜(降将)の数?
10068h
1006Ah
1006Ch
1006Eh
10070h
10072h
10074h
10303h 平軍行軍必要コスト(B0D1~も?)
10313h 水軍行軍必要コスト
10323h 山軍行軍必要コスト
10333h-1033Dh 左側 鶴翼の陣の座標
1033Eh-10348h 左側 魚鱗の陣の座標
10349h-10353h 左側 鳥雲の陣の座標
10354h-1035Eh 左側 鋒矢の陣の座標
1035Fh-10369h 右側 鶴翼の陣の座標
1036Ah-10374h 右側 魚鱗の陣の座標
10375h-1037Fh 右側 鳥雲の陣の座標
10380h-10388h 右側 鋒矢の陣の座標
103ADh 戦闘ユニットの色→11700h 9君主×2バイト×9パターン=162(A2)バイト
11 11 11 07 11 15 11 19 11 10 11 24 11 28 11 13
11 26 07 11 07 07 07 15 07 19 07 10 07 24 07 28
07 13 07 26 15 11 15 07 15 15 15 19 15 10 15 24
15 28 15 13 15 26 19 11 19 07 19 15 19 19 19 10
19 24 19 28 19 13 19 26 10 11 10 07 10 15 10 19
10 10 10 24 10 28 10 13 10 26 24 11 24 07 24 15
24 19 24 10 24 24 24 28 24 13 24 26 28 11 28 07
28 15 28 19 28 10 28 24 28 28 28 13 28 26 13 11
13 07 13 15 13 19 13 10 13 24 13 28 13 13 13 26
26 11 26 07 26 15 26 19 26 10 26 24 26 28 26 13
26 26
テーブルの読み込みルーチン変更(11B96h~)
一騎打ち名前漢字形成パターン
1151Dh 袁紹軍文字パターンアドレス
19 95($9519+8010h=11529h)→30 88($8830+8010h=10840hに移動)
戦闘中の人徳テーブルが空き
1151Fh 馬騰軍文字パターンアドレス
25 95->3C 88(1084Ch空き領域に移動)
11521h 曹操軍文字パターンアドレス
31 95->48 88(10858h空き領域に移動)
11523h 孫策軍文字パターンアドレス
3D 95->54 88(10864h空き領域に移動)
11525h 劉備軍文字パターンアドレス
49 95->60 88(10870h空き領域に移動)
11527h 劉璋軍文字パターンアドレス
55 95->6C 88(1087Ch空き領域に移動)
11529h 占領パターンアドレス->呂布軍文字パターンアドレス(追加)
5C 81->78 88(10888h空き領域に追加)
1152Bh 袁術軍文字パターンアドレス(追加)
84 88(10894h)
1152Dh 張魯軍文字パターンアドレス(追加)
90 88(108A0h)
11B5Dh 戦闘ユニットの色テーブルアドレス+1
11B75h 戦闘ユニットの色テーブルアドレス+1
9D 84($839D+8010h=103ADh)→F1 96($96F1+8010h=11700h)
11B66h 戦闘ユニットの色テーブルアドレス
11B6Ch 戦闘ユニットの色テーブルアドレス
123C4h 戦闘ユニットの色テーブルアドレス
9D 83($839D+8010h=103ADh)→F0 96($96F0+8010h=11700h)
12C68h 人徳テーブルアドレス(戦闘時退却用マスクデータ)
2B 88($882B+8010h=1083Bh)→A0 97($97A0+8010h=117B0h)
137B1h 戦争中武将情報のユニット色パターンテーブルアドレス
AF B7($B7AF+8010h=137BFh)→37 DF($DF37+8010h=15F47h空き領域へ移動)
137BFh 戦争中武将情報のユニット色パターンテーブル→15F47hへ移動
11 26 16 00 10 24→11 07 15 19 10 24 28 13 26(3君主分追加)
18010h アニメーション実行順テーブル開始アドレス
6A 80($800A+10010h=1807Ah)→64 80($8064+10010h=18074h)変更
この値にオフセット値を足す
※3君主分追加するため2バイト×3=6バイト前にずらした
18012h 都市隣接データテーブル開始アドレス
40 9A($9A40+10010h=19A50h)
18014h 戦争中部隊の色テーブル開始アドレス
18016h 戦争中部隊の色テーブル開始アドレス
たぶん同じ値にする
0A 80→10 9F($9F10+10010h=19F20h)
18018h 在野武将テーブル開始アドレス
D6 9B($9BD6+10010h=19BE6h)→30 FE($FE30+10010h=1FE40h)
1801Ah 戦争時部隊の色テーブル→19F20へ移動
11 11 11 26 11 16 11 0F 20 11 11 24 11 0F 11 0F
26 11 26 26 26 16 26 0F 20 26 26 24 26 0F 26 0F
16 11 16 26 16 16 16 0F 20 16 16 24 16 0F 16 0F
0F 11 0F 26 0F 16 0F 0F 20 0F 0F 24 0F 0F 0F 0F
20 11 20 26 20 16 20 0F 20 20 20 24 20 20 0F 20
24 11 24 26 24 16 24 0F 20 24 24 24 24 0F 24 0F
1807Ah アニメーション実行順テーブルアドレス→18010hの変更に伴い18074hに
180E6h 180E8h 18108h 1810Ah 1810Ch 1810Eh 18120h 18122h 18124hが君主のアニメーション
オフセット値は39 3A 4A 4B 4C 4D 56 57 58
ここの値がアニメーション実行順テーブルのアドレスを示している
18126h アニメーション実行順テーブル
x1 x2 y1 y2 ・・・ FF FF(x1 x2が2バイトアドレス FF FFで終了) 
1A621h 城の様子画面の兵士の色パターンテーブルアドレス
56 A6($A656+10010h=1A666h)->D0 A9($A9D0+10010h=1A9E0h)
1A666h 城の様子画面の兵士の色パターンテーブル→1A9E0$へ移動
11 26 16 00 10 33
11 07 15 19 10 24 28 13 26変更+3バイト追加
       青 茶 赤 緑 灰 桃 黄 紫 橙
他国戦略中画面漢字形成パターン
1D95Bh 袁紹軍パターンアドレス
63 D9($D963+10010h=1D973h)->83 9E($9E83+10010h=19E93h空き領域へ移動)
1D95Dh 馬騰軍パターンアドレス
72 D9($D972+10010h=1D982h)->92 9E($9E92+10010h=19EA2h空き領域に移動)
1D95Fh 曹操軍パターンアドレス
81 D9($D981+10010h=1D991h)->A1 9E($9EA1+10010h=19EB1h空き領域に移動)
1D961h 孫権軍パターンアドレス
90 D9($D990+10010h=1D9A0h)->B0 9E($9EB0+10010h=19EC0h空き領域に移動)
1D963h 劉備軍パターンアドレス
9F D9($D99F+10010h=1D9AFh)->BF 9E($9EBF+10010h=19ECFh空き領域に移動)
1D965h 劉璋軍パターンアドレス
AE D9($D9AE+10010h=1D9BEh)->CE 9E($9ECE+10010h=19EDEh空き領域に移動)
1D967h 呂布軍パターンアドレス追加
DD 9E($9EDD+10010h=19EEDh空き領域に追加)
1D969h 袁術軍パターンアドレス追加
EC 9E($9EDD+10010h=19EFCh空き領域に追加)
1D96Bh 張魯軍パターンアドレス追加
FB 9E($9EFB+10010h=19F0Bh空き領域に追加)
1D967h→1D96Dh 戦略中パターンアドレス
BD D9
※ここの参照するアドレスも変更する
1D7D2h A2 0C→A2 12(ldx #$12)
1D969h→1D96Fh 戦闘中パターンアドレス
CC D9
※ここの参照するアドレスも変更する
1D7D2h A2 0E→A2 14(ldx #$14)
1D96Bh→1D971h 出陣パターンアドレス
DB D9
※ここの参照するアドレスも変更する
1D7D2h A2 10→A2 16(ldx #$16)
1D96Dh→1D973 勝利パターンアドレス
E6 D9
※ここの参照するアドレスも変更する
1D8C5h A2 12→A2 18(ldx #$18)
1D96Fh→1D975h ?
C9 22
※ここの参照するアドレスも変更する
1D948h B9 5F D9→B9 65 D9(lda $D965,y)
1D971h→1D977h ?
D1 22
※ここの参照するアドレスも変更する
1D94Eh B9 60 D9→B9 66 D9(lda $D966,y)
1DE3Eh 城外枠色表示パターンアドレス
59 DE($DE59+10010h=1DE69h)→80 D9(1D990h)
1DE44h 城内側表示色パターンアドレス
5F DE($DE5F+10010h=1DE6Fh)→89 D9(1D999h)
1F4C8h 顔データ横軸開始アドレス
2C F6→3A F6($F63A+10010h=1F64Ah)
1F63Ch 顔データ横軸
1F64Ah~に変更
1F497h 顔データ縦軸開始アドレス
3B F5($F53B+10010h=1F54Bh)変更無し
1F54Bh 顔データ縦軸
変更無し
1F518h 画面下顔表示座標 顔データ追加のため移動
1D F7($F71D+10010h=1F72Dh)->30 9C($9C30+10010h=19C40h)
1FE40h 在野武将テーブル
12バイト(12年間設定可能)
読み込みルーチンも変更(都市ID12倍化ルーチン)

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2012年11月12日 23:29