;------------------------------------
; 出現しないアイテムの設定
;------------------------------------
4040 3E 02 LD A, $02
4042 E0 70 LDH ($FF70), A
4044 21 82 D4 LD HL, $D482
4047 01 AA 09 LD BC, $09AA
404A CD EA 09 CALL $09EA
404D 11 B0 FF LD DE, $FFB0
4050 3E 0B LD A, $0B
4052 21 2F 53 LD HL, $532F
4055 CD AC 09 CALL $09AC
4058 F0 B0 LDH A, ($FFB0) ; 日記 ID Byte [0]
405A 4F LD C, A
405B F0 B2 LDH A, ($FFB2) ; 日記 ID Byte [2]
405D A9 XOR C ;
405E CB 37 SWAP A
4060 E0 B0 LDH ($FFB0), A
4062 F0 B1 LDH A, ($FFB1) ; 日記 ID Byte [1]
4064 4F LD C, A
4065 F0 B3 LDH A, ($FFB3) ; 日記 ID Byte [3]
4067 A9 XOR C
4068 CB 37 SWAP A
406A E0 B1 LDH ($FFB1), A
406C F0 B0 LDH A, ($FFB0)
406E 06 09 LD B, $09
4070 C5 PUSH BC
4071 CD 45 0C CALL $0C45
4074 C1 POP BC
4075 7C LD A, H
4076 3C INC A
4077 E0 B0 LDH ($FFB0), A ;
4079 F0 B1 LDH A, ($FFB1)
407B 06 08 LD B, $08
407D C5 PUSH BC
407E CD 45 0C CALL $0C45
4081 C1 POP BC
4082 F0 B0 LDH A, ($FFB0)
4084 4F LD C, A
4085 7C LD A, H
4086 3C INC A
4087 B9 CP C
4088 20 01 JR NZ, $408B
408A 3C INC A ; 同一の場合、1 つずらす
408B E0 B1 LDH ($FFB1), A
408D AF XOR A
408E 21 2F DE LD HL, $DE2F
4091 22 LD (HL+), A ; 入手不可フラグ (0〜7) をクリア
4092 32 LD (HL-), A ; 入手不可フラグ (8〜15) をクリア
4093 F0 B0 LDH A, ($FFB0)
4095 5F LD E, A
4096 E5 PUSH HL
4097 CD F2 0E CALL $0EF2 ;
409A E1 POP HL
409B F0 B1 LDH A, ($FFB1)
409D 5F LD E, A
409E CD F2 0E CALL $0EF2
...
;------------------------------------
; 秘剣カブラステギ入手に必要なアイテムとの比較
;------------------------------------
72EB 4F LD C, A
72EC 06 09 LD B, $09
72EE 21 23 73 LD HL, $7323
72F1 2A LD A, (HL+)
72F2 B9 CP C
72F3 28 04 JR Z, $72F9
72F5 05 DEC B
72F6 20 F9 JR NZ, $72F1
72F8 C9 RET
; 秘剣カブラステギ入手に必要なアイテムの場合
72F9 F0 B1 LDH A, ($FFB1) ; アイテムの種類
72FB 5F LD E, A
72FC 21 2F DE LD HL, $DE2F
72FF CD FA 0E CALL $0EFA
7302 C8 RET Z
; ?
7303 F0 B2 LDH A, ($FFB2)
7305 4F LD C, A
7306 F0 B3 LDH A, ($FFB3)
7308 47 LD B, A
7309 F0 B1 LDH A, ($FFB1)
730B F5 PUSH AF
730C 21 2F DE LD HL, $DE2F
730F 2A LD A, (HL+)
7310 56 LD D, (HL)
7311 5F LD E, A
7312 CD 26 72 CALL $7226
7315 C1 POP BC
7316 F0 B0 LDH A, ($FFB0)
7318 B0 OR B
7319 C8 RET Z
; 再抽選
731A F0 B2 LDH A, ($FFB2)
731C 4F LD C, A
731D F0 B3 LDH A, ($FFB3)
731F 47 LD B, A
7320 C3 86 72 JP $7286
7323 21 3D 59 60 B6 9C 7B C7 67
;-----------------------------------------
; タイマー関連の初期化
;-----------------------------------------
...
01B4 [0] 3E 78 LD A, $78
01B6 [0] E0 05 LDH (TIMA_FF05), A
01B8 [0] E0 06 LDH (TMA_FF06), A
01BA [0] AF XOR A
01BB [0] E0 07 LDH (TAC_FF07), A
01BD [0] 3E 04 LD A, $04
01BF [0] E0 07 LDH (TAC_FF07), A
;-----------------------------------------
; セーブデータ識別子(日記 ID)の設定
;-----------------------------------------
53C8 [2D] 0E C8 LD C, $C8
53CA [2D] 0D DEC C
53CB [2D] 28 1A JR Z, $53E7
53CD [2D] 06 00 LD B, $00
53CF [2D] 21 B3 FF LD HL, $FFB3
53D2 [2D] FA E9 C0 LD A, ($C0E9)
53D5 [2D] B0 OR B
53D6 [2D] 32 LD (HL-), A ; [3] ← フレームカウンタ (0〜255)
53D7 [2D] F0 44 LDH A, (LY_FF44)
53D9 [2D] B0 OR B
53DA [2D] 32 LD (HL-), A ; [2] ← LCDC Y-Coordinate (0〜153)
53DB [2D] F0 05 LDH A, (TIMA_FF05) ;
53DD [2D] B0 OR B
53DE [2D] 32 LD (HL-), A ; [1] ← Timer counter (120?〜255)
53DF [2D] F0 04 LDH A, (DIV_FF04)
53E1 [2D] B0 OR B
53E2 [2D] 77 LD (HL), A ; [0] ← Divider Register (0〜255)
53E3 [2D] 78 LD A, B
53E4 [2D] A7 AND A
53E5 [2D] 28 E3 JR Z, $53CA
53E7 [2D] C9 RET