Modify "Mojon-twins--journey-gnrom-EN.nes" as below.
journey-nes-modification
Then create "hvca.bin" and rename it. (e.g. "Journey-mapper7.gba")

[Description]
This game was originally designed for Mapper 66, but because PocketNES/HVCA’s Mapper 66 support is incomplete, it cannot be loaded correctly.
journey-m066
Fortunately, I found that when HVCA loads this game as Mapper 7, the graphics display properly.
However, in that state, the game immediately goes to the Game Over screen after Stage 3, because it cannot load Stage 4 and beyond.
journey-m007-no-switching
The cause of the issue is that the bank switch (0 to 1) was not performed correctly.
In the case of Mapper 66,
writing any value to RAM in the 8000H~FFFFH range switches the PRG bank according to bits 5 and 4 of the written value, which determine the new bank number.
Therefore, when switching to bank 1, the program should write a value such as 00010000B (10H).
On the other hand, for Mapper 7,
writing any value to RAM in the 8000H~FFFFH range switches the PRG bank according to bits 0~3 of the written value.
Thus, when switching to bank 1, the program should write a value such as 00000001B (1H).
When this game attempted to switch to bank 1, it executed the following operation from the instruction located at address FFCEH.
LDA $C7CC,X @ $C7CE = $10
STA $C7CC,X @ $C7CE = $10
(It loads the value 10H stored at C7CEH into register A, and then writes that same value back to C7CEH.)
However, under Mapper 7, bits 0~3 of the value 10H are all zero, which means it is interpreted as a switch to bank 0.
To switch to bank 1, the program should write 1H to C7CEH instead of 10H.
Now, the question becomes: where in the ROM file is this "10H"?
The switch to bank 1 should be in bank 0, that is, within the range 0H~7FFFH of the ROM file.
Within that range, the address that maps to C7CEH is C7CEH - 8000H = 47CEH.
However, because the first 10H bytes of the ROM file are the header, the actual location is shifted by 10H, placing the value at 47DEH.
journey-m007-correct-switching

The following may be confusing, so please read it only if you're interested.
At the very beginning of the game, the PRG bank switches from bank 0 to bank 1,
and before Stage 4 is loaded, the game performs a switch from bank 1 back to bank 0 for the first time.
From that point on, each time the game advances to the next stage, it performs both a switch to bank 1 and a switch back to bank 0.
Unless you modify 47DEH in the ROM file, the game will fail the bank switch right from the start when loaded as Mapper 7.
The only reason it does not crash and can still be played up through Stage 3 is that all the code needed up to that point also happens to be present in bank 0.
It appears that the game is designed so that it can start running even in bank 0,
but unless it has progressed in bank 1 as intended, the necessary data for loading Stage 4 will not be available.


>>Return to the list.