I became curious about how games are translated for the Game Boy, so I did a nearly complete English translation for Loppi Puzzle Magazine - Kangaeru Puzzle Soukangou Issues.
MD5: e77282a547ca0586cf396ccac3262f84
Rom name: Loppi Puzzle Magazine - Kangaeru Puzzle Dai-2-Gou (J) (V1.1) (GB) (NP) [!].gbc
MD5: 078c1192e19c1332171d088dcb891293
Rom name: Loppi Puzzle Magazine - Kangaeru Puzzle Dai-3-Gou (J) (V1.1) (GB) (NP) [!].gbc
MD5: 4cf4a9af727673fa31cfe9d991428b6a
UPD: added .ips patch.
UPD2: All three issues of Thinking puzzles are now translated.
- I really liked how the controls were implemented in the game. The musical accompaniment, however, is simply awful.
- The abbreviations and lack of articles in the puzzle descriptions are due to technical limitations and a reluctance to use a monospace font.
I can't translate the names of the picross puzzles because I don't have the skills or knowledge. You need to dig into the assembly code for that, as game generates tiles for the names on the fly.In the slitherlink and nonogram puzzles, the pencil icon is not replaced during the game. It is replaced in the rom file itself, but the game stubbornly pulls the version with the hieroglyph from somewhere.- A patcher in the form of a bash script is a long-running joke
- I wrote simple TUI tile editor for linux with copy/paste: github
- Fun fact: In continue menu the game is named Puzzle Paradise.
- 5x5 nonograms are the same in all 3 issues + some of them are repeated across the issues.
MD5: e77282a547ca0586cf396ccac3262f84
Rom name: Loppi Puzzle Magazine - Kangaeru Puzzle Dai-2-Gou (J) (V1.1) (GB) (NP) [!].gbc
MD5: 078c1192e19c1332171d088dcb891293
Rom name: Loppi Puzzle Magazine - Kangaeru Puzzle Dai-3-Gou (J) (V1.1) (GB) (NP) [!].gbc
MD5: 4cf4a9af727673fa31cfe9d991428b6a
UPD: added .ips patch.
UPD2: All three issues of Thinking puzzles are now translated.
In save file best times are stored at:
- 0x2050 - sudoku. 16 total.
- 0x20a0 - slitherlink. 32 total.
- 0x2130 - nonograms. 32 total.
Puzzles are stored at 0x1c558. Each puzzle row is 2 bytes. Ex.:
Code:
20 00 -> 0010000000000000
70 00 -> 0111000000000000
f8 00 -> 1111100000000000
20 00 -> 0010000000000000
60 00 -> 0110000000000000
Puzzles are stored at 0x28a97 (current level at 0xa200 in RAM). First byte is size of the puzzle: 04 -> 4x4, 08 -> 8x8 etc. Then goes puzzle data.
Each byte corresponds to top and left line of the cell only, that's why puzzle data has 5x5, 9x9 etc. grid in it.
0 -> 0a or 8a
1 -> 1#/9#
2 -> 2#/a#
3 -> 3#/b#
x -> 4#/c#
# can be "A" if empty, "5"-> top and left, "6" -> only left, "9" -> only top.
Currently, I do not understand logic behind usage of number/letter for same type of cell.
Each byte corresponds to top and left line of the cell only, that's why puzzle data has 5x5, 9x9 etc. grid in it.
0 -> 0a or 8a
1 -> 1#/9#
2 -> 2#/a#
3 -> 3#/b#
x -> 4#/c#
# can be "A" if empty, "5"-> top and left, "6" -> only left, "9" -> only top.
Currently, I do not understand logic behind usage of number/letter for same type of cell.
Puzzles are stored at 0x110d2. Format is pretty obvious.
It's a shame you can't get solution directly from the puzle data
It's a shame you can't get solution directly from the puzle data
Attachments
Last edited by Vulpes-Vulpeos,









