This page contains notes for the game Hudson's Adventure Island II (Game Boy).
The source code for the patch file created by Laternenschein, allowing access to the debug menu.
Rombank 1
@402B: ;; replace title screen menu call
dw $7CE6
@402F: ;; replace hidden menu call
dw $7CF3
@616F: ;; LUT for counter digits
db $30
db $31
db $32
db $33
db $34
db $35
db $36
db $37
db $38
db $39
db $41
db $42
db $43
db $44
db $45
db $46
@7CE6: ;; Title Screen B Button
ld a, [$FF00 + $8C]
bit 1, a
jp z, $42A2
ld hl, $D431
inc [hl] ;; go from 0x06 to 0x08
inc [hl]
ret
@7CF3: ;; Hidden Menu A Button
ld a, [$FF00 + $8C]
bit 0, a
jp z, $4343
ld hl, $D431
dec [hl] ;; go from 0x08 to 0x06
dec [hl]
ret
@7D00: ;; Load Graphics for Test Menu
ld hl, @7D40
@7D03:
ldi a, [hl]
and a, a
jr z, @7D3C
srl a
ld [$D642], a
ld a, $08
adc a, $00 ;; This can load to 8xxx and 9xxx in VRAM. Unused though.
swap a
ld d, a
ld a, [hl]
and a, $F0
swap a
add a, d
ld [$D643], a
ldi a, [hl]
and a, $0F
swap a
ld [$D644], a
ldi a, [hl]
ld [$D645], a
ldi a, [hl]
ld [$D646], a
push hl
@7D2D:
ld hl, $D642
ld a, [hl]
and a, a
jr z, @7D39
call $3FFC ;; Will transfer up to 4 tiles per call
jr @7D2D
@7D39:
pop hl
jr @7D03
@7D3C:
jp $3F9F
ret ;; Unnecessary
@7D40:
db $09 ;; size << 1 | destination MSB A12
db $00 ;; destination A11..A4
db $00 ;; source A14..A8
db $0B ;; source A7..A4 << 4 | source RB
db $09
db $20
db $00
db $0B
db $03
db $5C
db $07
db $AB
db $03
db $2E
db $07
db $CB
db $15
db $30
db $07
db $DB
db $0D
db $41
db $08
db $7B
db $05
db $48
db $08
db $DB
db $0B
db $4C
db $08
db $FB
db $09
db $52
db $09
db $4B
db $03
db $57
db $09
db $8B
db $03
db $59
db $09
db $9B
db $03
db $4A
db $3D
db $71
db $03
db $3D
db $3D
db $81
db $00 ;; EOL
@7D7A:
;; Letter J stolen from credits
db $03
db $00
db $03
db $00
db $03
db $00
db $03
db $00
db $63
db $00
db $73
db $00
db $3E
db $00
db $00
db $00
@7D8A:
;; New equals sign (=)
db $00
db $00
db $00
db $00
db $3C
db $00
db $00
db $00
db $3C
db $00
db $00
db $00
db $00
db $00
db $00
db $00