A game based on the second season of the television show Ojamajo Doremi.
Debug Menu#
|
|
Please elaborate. |
When reading the page number from the I/O data address, the game compares the read value against a table of known values:
page_num_first
XREF[2]: read_page:00003356(*),
read_page:0000335c(R)
00003370 00 ?? 00h
page_num_values
XREF[1]: read_page:0000335c(R)
00003371 01 ?? 01h
00003372 03 ?? 03h
00003373 07 ?? 07h
00003374 0f ?? 0Fh
00003375 3f ?? 3Fh ?
00003376 1f ?? 1Fh
00003377 00 ?? 00h
Page 5 corresponds to the debug menu handler. However, the comparison function only checks up to address 00003375, due to the cycle counter being set to 5 instead of 6. Therefore, page 5 (value 1Fh) is never returned by the function:
read_page
XREF[3]: 0000322a(c), 00003272(c),
00003324(c)
00003346 12 39 00 move.b (IO_PAGE).l,D1b ; read page from memory
80 00 0d
0000334c 02 81 00 andi.l #0x3f,D1
00 00 3f
00003352 70 00 moveq #0x0,D0
00003354 74 05 moveq #0x5,D2 ; cycle counter
00003356 43 f9 00 lea (page_num_first).l,A1
00 33 70
LAB_0000335c
XREF[1]: 00003364(j)
0000335c b2 19 cmp.b (A1)+=>page_num_first,D1b = 01h ; compare and increment index
0000335e 67 00 00 0e beq.w LAB_0000336e ; match found, exit cycle
00003362 52 80 addq.l #0x1,D0
00003364 51 ca ff f6 dbf D2w,LAB_0000335c ; decrement counter and branch
In practice, when the player opens page 5, the previously open page is kept loaded. We can instead set the counter to 6, so that page 5 can be loaded, by applying the following patch: 00003354 = 74 06.
Menu entries (most are used for loading specific mini-games / scenes):
SOUND TEST
KEY TEST
PG5 TEST
NIKUKUIGAME
HAKOBUGAME
TAKOYAKIGAME
GARD GAME1
HOUKIRESU POPPU
HOUKIRESU ONNPU
JANNKENN GAME
SYAFFURU GAME
MAJORIKA GAME
POPPU OTUKAI
ISOGE ONNPUTYAN
AIDORU SUTEEGI
DOREMINO MIRUKU
AIKO TO OHURO
ONPU NO UTA
HANA NO KIGENN
POPPU NO RURETO
DOREMI KEKKA
AIKO KEKKA
HAZUKI KEKKA
ONPU KEKKA
POPPU KEKKA
SABISU
GAME OVER
SOUGOU
HAZUKI NO ONETU
HAZUKI NO KOORI
1P KIHON
2P KIHON
3P OKIGAE
HENSINN
(Source: Original TCRF research)
Sound Test#
Controls:
Right/Left |
Increment / Decrement ID |
Up/Down |
Select entry |
Red Button |
Play |
Key Test#
Pressing a button turns the X marks into O marks. Hold all direction buttons to exit.
|
The Magical Doremi series | |
|---|---|
|
Sega Pico |
|