Skeetendo

’Cause all games were better on the GBC

You are not logged in.

  • Index
  • → Help/Question
  • → [SOLVED] Help for restore the MissingN°. bug on italian Pokémon Blue.

#1 2014-05-19 13:01:07

Halfshadow
Member
From: Italy - Lucca
Registered: 2012-04-24
Post 13/193

[SOLVED] Help for restore the MissingN°. bug on italian Pokémon Blue.

Hello, I've discovered that in italian Pokémon Blue the MissingN°. bug was fixed, but I want to restore it. The fix works in this way: If you surf in the sea in front of the Cannibar gym you'll find normal Tentacool. If you'll go up and down in the same way but with a cheat code for walk everywhere you'll find anormal pokémons, like the Safari zone pokémons, if you came from it before go in the sea near the gym. But if you go to the old man and you do the Mew glitch variant (that can works on italian version of Yellow) when MissingN°. and 'M have to appear the game crash. Why this?

There is a way to restore the bug of the water near the gym also if you are on surf? And there is a way to avoid the crash when the broken pokémons have to appear? If can help you in the spanish version of the game MissingN°. can appear with the Mew glitch variant, the game don't crash.

P.S. if can help you when you use a cheat code for find MissingN°. and 'M in the grass they appear normally, I'm not sure for 'M, but I've tried with the name to find the Aerodactyl, Kabutops fossils and the Ghost version of MissingN°. and appear normally only with the Xploder codes, with the oldman glitch and the variant of the Mew glitch the game crash.

Last edited by Halfshadow (2016-02-16 22:12:53)


The italian Pokémon Green creator.

Offline

#2 2014-05-27 21:45:14

Halfshadow
Member
From: Italy - Lucca
Registered: 2012-04-24
Post 15/193

Re: [SOLVED] Help for restore the MissingN°. bug on italian Pokémon Blue.

Cannot help me?


The italian Pokémon Green creator.

Offline

#3 2014-05-28 02:27:54

comet
Member
Registered: 2012-04-09
Post 450/679

Re: [SOLVED] Help for restore the MissingN°. bug on italian Pokémon Blue.

Collision and encounters do (separate) checks for what kind of tile you're standing on. The collision handling checks the lower-left tile against a few possible water tiles (regular water, shore, etc). Encounters only account for regular water, so shore tiles grab grass encounters instead.

https://github.com/iimarckus/pokered/bl … m#L149-155

...
    ld hl, wGrassMons
    FuncCoord 8, 9
    ld a, [Coord]
    cp WATER_TILE ; $14
    jr nz, .ok
    ld hl, wWaterMons
.ok
...

Most of Missingno's unpredictable behavior is caused by the pic decompression running out of bounds into regular memory. Setting a cap on the decompressed output would fix the crash, but you'd also lose the cool side effects like infinite items, which kind of defeats the purpose.

Last edited by comet (2014-05-28 03:14:54)

Offline

#4 2014-05-28 03:11:43

stag019
Idea Killer
Registered: 2011-01-05
Post 595/630

Re: [SOLVED] Help for restore the MissingN°. bug on italian Pokémon Blue.

comet wrote:

Most of Missingno's unpredictable behavior is caused by the pic decompression running out of bounds into regular memory. Setting a cap on the decompressed output would fix the crash, but you'd also lose the cool side effects like infinite items, which kind of defeats the purpose.

The Hall of Fame corruption is caused by the pic decompression running out of bounds into regular memory. The replication of the items is caused by MissingNo.'s Pokedex number being zero (minus one is 255), so it sets the high bit of the 6th item slot if you see it, and one of the bits next to it if you catch it.


You can try to hide yourself in this world of pretend; when the paper's crumpled up, it can't be perfect again.

Offline

#5 2014-05-29 06:51:02

Halfshadow
Member
From: Italy - Lucca
Registered: 2012-04-24
Post 16/193

Re: [SOLVED] Help for restore the MissingN°. bug on italian Pokémon Blue.

Then if I set the cap also I'll protect the savegame by the hall of fame corruption? Sounds good. However the first time I've caught MissingN°. in my original cart of Blue with the Xploder codes and the hall of fame was corrupted however. I want to restore the bug for view the MissingN°. variations, increase the items and find the pokémon of other places, like the safari zone pokémons. XD

Then how I can restore the original encounters in the shore also if I use surf and how I can set the cap? I'm not able to use ASM, I need of a very simple help please.

However I don't know if can be a problem, but on an italian pokémon Blue version if you find a grass tile in a route that don't have grass pokémon data (like if you go in the glitch city of the route 19, that allow you to walk in a grass tile and also in the grass of Pallet town) you'll not encounter nothing, can be a problem? Or is the same thing for the US version?


The italian Pokémon Green creator.

Offline

#6 2014-05-30 18:31:42

Halfshadow
Member
From: Italy - Lucca
Registered: 2012-04-24
Post 17/193

Re: [SOLVED] Help for restore the MissingN°. bug on italian Pokémon Blue.

I've seen that is a problem that is present also in the US version, then not is actually a problem, then how I can restore the shore bug and set the cap for the pic decompressing please?


The italian Pokémon Green creator.

Offline

#7 2014-05-30 18:44:42

Crystal_
Member
From: Spain
Registered: 2012-09-16
Post 192/432
Website

Re: [SOLVED] Help for restore the MissingN°. bug on italian Pokémon Blue.

If the shore bug's been fixed then the related code would've become something like this:

...
    ld hl, wGrassMons
    FuncCoord 8, 9
    ld a, [Coord]
    cp WATER_TILE ; $14
    jr nz, .ok
[b]cp WATER_SHORE_TILE1
jr nz, .ok
(...)[/b]
    ld hl, wWaterMons
.ok
...

You'll have to find where the routine that handles these aspects of the wild encounters is located in the italian version and edit it so that water pokemon are only loaded if the tile matches the regular water tile only.

Offline

#8 2014-05-30 21:09:00

Halfshadow
Member
From: Italy - Lucca
Registered: 2012-04-24
Post 18/193

Re: [SOLVED] Help for restore the MissingN°. bug on italian Pokémon Blue.

Ok, then I have to cut this part:
cp WATER_SHORE_TILE1
jr nz, .ok
(...)

From the ASM in the italian version, but I'm not good with ASM, can you help me please? What tool I have to use? And how I can find the routine?


The italian Pokémon Green creator.

Offline

#9 2014-05-30 21:33:48

Crystal_
Member
From: Spain
Registered: 2012-09-16
Post 193/432
Website

Re: [SOLVED] Help for restore the MissingN°. bug on italian Pokémon Blue.

Easiest thing in my eyes would be to set a breakpoint that pops up when the WaterMons wram address is read. According to the dissasembly that address is 0xd8a5 and I don't see why it should be different in the italian version. You can use the BGB debugger. Set a breakpoint on access (also tick "on read" option) at address d8a5 and play the game as you normally would. When a wild encounter happens, the debugger should pop up. Just make sure you are in the routine you were looking for since that address is most likely accessed by other routines too. Then just edit/nop whatever you need to from the routine and save the rom.

Offline

#10 2014-05-30 23:39:01

Halfshadow
Member
From: Italy - Lucca
Registered: 2012-04-24
Post 19/193

Re: [SOLVED] Help for restore the MissingN°. bug on italian Pokémon Blue.

Sorry but don't work. The breakpoint works only with US Blue.


The italian Pokémon Green creator.

Offline

#11 2014-05-31 00:14:48

comet
Member
Registered: 2012-04-09
Post 451/679

Re: [SOLVED] Help for restore the MissingN°. bug on italian Pokémon Blue.

If wram is shifted just open up both roms and match the wram area in the hex viewer. It shouldn't differ by more than one or two bytes.

Last edited by comet (2014-05-31 00:15:42)

Offline

#12 2014-05-31 09:34:14

Halfshadow
Member
From: Italy - Lucca
Registered: 2012-04-24
Post 20/193

Re: [SOLVED] Help for restore the MissingN°. bug on italian Pokémon Blue.

With the hex actually several bytes are the same and are in the same position, this is the trouble, I'm not able then to find the new wram area, maybe I can try to set different addresses.

Breakpoint found at d8aA, now I try to hack.

Sorry but now I don't know how to edit the ASM, with what function of BGB? XD

And sometimes with the breakpoint at d8aA the popup freeze the game also if I'm only surfing, I've re-clicked on the window and the game was blocked when Tentacool was appeared it's ok however?

Last edited by Halfshadow (2014-05-31 10:25:39)


The italian Pokémon Green creator.

Offline

#13 2014-05-31 10:50:29

Crystal_
Member
From: Spain
Registered: 2012-09-16
Post 194/432
Website

Re: [SOLVED] Help for restore the MissingN°. bug on italian Pokémon Blue.

The game didn't freeze, it just paused. It will resume when you click the gameboy screen.

You can edit asm by just right clicking in one line of code and clicking modify code/data.

Offline

#14 2014-05-31 11:05:56

Halfshadow
Member
From: Italy - Lucca
Registered: 2012-04-24
Post 22/193

Re: [SOLVED] Help for restore the MissingN°. bug on italian Pokémon Blue.

Appear only a blank table. Now what I have to do? Sorry But I'vent never hacked ASM.

Last edited by Halfshadow (2014-05-31 11:44:44)


The italian Pokémon Green creator.

Offline

#15 2014-05-31 18:06:57

comet
Member
Registered: 2012-04-09
Post 452/679

Re: [SOLVED] Help for restore the MissingN°. bug on italian Pokémon Blue.

Since youre just trying to remove code, you can replace it with instructions that do nothing (nop).

A nop is only one byte (0). Many instructions are two or three bytes long, so they would need to be overwritten with two or three nops. If you put in one nop at a time, it might appear to create new instructions. Overwrite those too. You can see how many bytes make up an instruction at the left of the debugger, right after the address.

Offline

#16 2014-05-31 23:24:26

Halfshadow
Member
From: Italy - Lucca
Registered: 2012-04-24
Post 23/193

Re: [SOLVED] Help for restore the MissingN°. bug on italian Pokémon Blue.

Don't works. However in the shove appear Tentacool.


The italian Pokémon Green creator.

Offline

#17 2014-06-01 22:22:48

Halfshadow
Member
From: Italy - Lucca
Registered: 2012-04-24
Post 26/193

Re: [SOLVED] Help for restore the MissingN°. bug on italian Pokémon Blue.

What is the problem? I've found the address for the same breakpoint of the US version, why the nop don't work?


The italian Pokémon Green creator.

Offline

#18 2014-06-01 22:41:33

Crystal_
Member
From: Spain
Registered: 2012-09-16
Post 195/432
Website

Re: [SOLVED] Help for restore the MissingN°. bug on italian Pokémon Blue.

Maybe you can take a screenshot of the changes in the debugger. Right now we can't tell you what you are doing wrong simply because we don't know what you are doing and editing.

Last edited by Crystal_ (2014-06-01 22:57:28)

Offline

#19 2014-06-02 00:00:58

Halfshadow
Member
From: Italy - Lucca
Registered: 2012-04-24
Post 27/193

Re: [SOLVED] Help for restore the MissingN°. bug on italian Pokémon Blue.

When the game pause at the same point the debugger go here:
7167nd.jpg
Then I've modded it with nop, but nothing is changed, then I've tried with another breakpoint at the same address, and the debugger are comed in another point, I've nopped also that but nothing is changed, but the breakpoint don't work longer. Obviously I've deleted that modded rom.


The italian Pokémon Green creator.

Offline

#20 2014-06-02 05:37:38

Crystal_
Member
From: Spain
Registered: 2012-09-16
Post 196/432
Website

Re: [SOLVED] Help for restore the MissingN°. bug on italian Pokémon Blue.

Unfortunately, you are not at where you want to be. The routine you are looking for would be somewhere at bank 4 (10000-13FFF) like in the english version, not in bank F. Moreover, you should be seeing something that starts with the instruccion ld hl,d8aa assuming you got it right and 0xd8aa is indeed the wram address for watermons.

Offline

#21 2014-06-02 10:27:01

Halfshadow
Member
From: Italy - Lucca
Registered: 2012-04-24
Post 28/193

Re: [SOLVED] Help for restore the MissingN°. bug on italian Pokémon Blue.

33kc2gy.jpg

I've modded the circled section with the nop, but also if works now also in the normal water I find anormal pokémons, not only in the shove... What I can do for fix the problem?


The italian Pokémon Green creator.

Offline

#22 2014-06-02 12:33:34

Halfshadow
Member
From: Italy - Lucca
Registered: 2012-04-24
Post 29/193

Re: [SOLVED] Help for restore the MissingN°. bug on italian Pokémon Blue.

Maybe we mistaked something. I've tried to edit the byte nopped with Hex workshop, is the circled byte:

1z4v63c.jpg

I've found also 4 bytes (in red) that in the US version don't exist, the other are similar, however in the circle byte if I set 20 when a pokémon have to appear the game says that the repel wore off. In the shove and in the normal water. Maybe not is the right point to hack, maybe the US version have another point that split the shove and the normal water, but is strange, because if I use the xploder codes for walk everywhere in the normal water appear Tentacool and in the shove the anormal pokémon.

I've retried with the walk code and also in the water when I'm on trainer and not surfin appear anormal pokémon.

I think that we have modded the water, maybe is better hack the surf (I think) because is necessary that the game think that when I'm surfing on the shove I'm walking, should be work, perhaps also the US version work in this way.


The italian Pokémon Green creator.

Offline

#23 2014-06-02 13:55:10

Crystal_
Member
From: Spain
Registered: 2012-09-16
Post 197/432
Website

Re: [SOLVED] Help for restore the MissingN°. bug on italian Pokémon Blue.

Overwrite FA 05 D7 CB 4F 20 07 with 00 00 00 00 00 00 00 and leave everything else untouched

Offline

#24 2014-06-02 14:07:38

Halfshadow
Member
From: Italy - Lucca
Registered: 2012-04-24
Post 30/193

Re: [SOLVED] Help for restore the MissingN°. bug on italian Pokémon Blue.

Nice, works! Very thanks! Now miss only the cap for the pic decompression for avoid the crash (and the hall of fame corruption I hope) how I can do?


The italian Pokémon Green creator.

Offline

#25 2014-06-04 15:39:39

Halfshadow
Member
From: Italy - Lucca
Registered: 2012-04-24
Post 31/193

Re: [SOLVED] Help for restore the MissingN°. bug on italian Pokémon Blue.

How should work the cap? Can generate also minor graphic glitches? Or is only for avoid overload of the pics? However the ghost form of MissingN°. with a special state of 184 with the Ditto trick can appear without crash, but if I set my name as yyyyyyy and I do the oldman trick the game crash, is because in the italian version the letters of the name are different with the oldman trick (then for view the ghost trick I need a different name) or is because with this trick the glitch pokémon appear in different mode? Maybe can happen because the italian version don't support the encounter of pokémon higher the level 100? I've not found pokémon higher by the level 100.


The italian Pokémon Green creator.

Offline

  • Index
  • → Help/Question
  • → [SOLVED] Help for restore the MissingN°. bug on italian Pokémon Blue.

Board footer

Powered by FluxBB