Main Menu
Main Page
Forums
Recent changes
Random page
Help

Databases
GlitchDex
AttackDex
ItemDex

Major Glitches
Trainer escape glitch
Old man trick
Celebi trick
Select glitches (Japan)
SRAM glitch
CoolTrainer♀ corruption
LOL glitch
Rival LOL glitch
Super Glitch
ZZAZZ glitch
Pomeg corruption glitch (Glitzer Popping)
Tweaking
Elite Four door glitch (Japan)
Pokémon merge glitch
Pokémon cloning
Time Capsule exploit
Arbitrary code execution
Coin Case glitch
More

Other Glitch Categories
Glitches by generation
Glitches between two generations
Japan-only/language specific glitches
Music glitches
Natural glitches
Non-core series glitches
Non-Pokémon glitches
Officially acknowledged glitches
Recurring glitches
Dead glitches

References
Pokémon GameShark codes
The Big HEX List
GB programming
Curiosities
Debugging features
Easter eggs
Error traps
Glitch areas
Glitch myths
Non-glitch exploits
Placeholder texts
Pokémon glitch terminology
Unused content and prerelease information

Useful Tools
8F Helper
GBz80 to Items
Old man trick name generator
PATH (Prama's Advanced Tweaking Heaven)
Save file editors
Special stat/Pokémon converter
Trainer escape Trainer Pokémon finder

Affiliates
Legendary Star Blob 2 (Hakuda)
Pokémon Speedruns wiki
PRAMA Initiative
Become an affiliate!

Search Wiki

 

Search Forums

 

Recent Posts

Pages: 1 ... 8 9 [10]
91
For whatever reason in Japanese Crystal it seems using an X Accuracy (I later did it with another X item) and having glitch move 0xFD as the only move (may be possible by trading a glitch Pokémon from Generation I with TM53 on to Generation II) makes the game executes D800 in WRAM when you open the Fight menu.

It turn out that our items in the bag begin at D885, making this potentially manipulable. The only problem is opening the Fight menu seemed to cause a write to D809 to FF causing a rst 38 freeze, and there are other problematic areas of WRAM before D885.

Does anybody know if this freeze can be averted?
92
The offsetting logic is this :
0000-7FFFOffsetting is complex, but things 0000-3FFF shouldn't be offset
8000-9FFFNo offsetting
A000-BFFFNo offsetting either
C000-D1XX (I think ?)No offsetting
D1XX-DFFFOffset +5
FF80-FFFENo offsetting
93
Generation I Glitch Discussion / Re: How did a glitch item delete my save file?
« Last post by ISSOtm on June 20, 2017, 04:14:56 am »
The area of ROM that enables SRAM is 0000-1FFF. Might explain.
94
Generation I Glitch Discussion / Re: PKMN R/B - ACE: How to Exec code from ram?
« Last post by ISSOtm on June 20, 2017, 04:11:48 am »
Not anymore.
95
Thx for the answer, so Ive got the 8F Item :)
It seems that I used the wrong one:

1. Pidgey with 233 hp
2. Parasect
3. Onix
4. Tentacool
5. Kanghaskan

I will try the other one on page 4, thx!

PS: Ive used this video as a guide for the people that are interested.
https://youtu.be/H8AgGp5cqPI

Yeah, in non-English European versions you will likely need to use a different bootstrap code.

Note before you use the change player ID items code you will also need to alter it as memory addresses in non-English European versions are +5 of the original.

In the code below (the one you may have tried using to change your Trainer ID part 1) you will just need to change the X Accuracy x89 into an X Accuracy x94, and similar logic applies to the rest.

Code: [Select]
8F          x1
Any Item    xAny
Antidote    x38  ; dec bc + ld h,
TM11/TM43   x1   ; D3/F3 + ld bc,
Any Item    xAny ; ????
X Accuracy  x89  ; ld l, 59
Lemonade    x89  ; ld a, 59
Water Stone x1   ; ld (hli),a + ld bc,
Any Item    xAny ; ????
TM01        xAny ; ret

For the second code (trainer ID change part 2 below), change X Accuracy x90 to X Accuracy x95.

Code: [Select]
8F          x1
Any Item    xAny
Antidote    x38  ; dec bc + ld h,
TM11/TM43   x1   ; D3/F3 + ld bc,
Any Item    xAny ; ????
X Accuracy  x90  ; ld l, 5A
Lemonade    x12  ; ld a, 0C
Water Stone x1   ; ld (hli),a + ld bc,
Any Item    xAny ; ????
TM01        xAny ; ret

For the third code (player name letter 1 change) change X Accuracy x88 to X Accuracy x93.

Code: [Select]
8F          x1
Any Item    xAny
Antidote    x38  ; dec bc + ld h,
TM09/TM41   x1   ; D1/F1 + ld bc,
Any Item    xAny ; ????
X Accuracy  x88  ; ld l, 58
Lemonade    x134 ; ld a, 86
Water Stone x1   ; ld (hli),a + ld bc,
Any Item    xAny ; ????
TM01        xAny ; ret


For the fourth code (player name letter 2 change) change X Accuracy x89 to X Accuracy x94.

Code: [Select]
8F          x1
Any Item    xAny
Antidote    x38  ; dec bc + ld h,
TM09/TM41   x1   ; D1/F1 + ld bc,
Any Item    xAny ; ????
X Accuracy  x89  ; ld l, 59
Lemonade    x133 ; ld a, 85
Water Stone x1   ; ld (hli),a + ld bc,
Any Item    xAny ; ????
TM01        xAny ; ret

For the fifth code (player name terminator in position 3) code, change X Accuracy x90 to X Accuracy x95.

Code: [Select]
8F          x1
Any Item    xAny
Antidote    x38  ; dec bc + ld h,
TM09/TM41   x1   ; D1/F1 + ld bc,
Any Item    xAny ; ????
X Accuracy  x90  ; ld l, 5A
Lemonade    x80  ; ld a, 50
Water Stone x1   ; ld (hli),a + ld bc,
Any Item    xAny ; ????
TM01        xAny ; ret

When certain memory addresses are defined in the code, such as many in the DXXX region (but not for instance CD38, which when set to 1 allows you to walk through walls) most of the time you will just need to change them to be +5 of the original (which you can do using a calculator that supports hexadecimal such as Windows Calculator or just regard digits beyond 9 as A-F as you count up by five).

Note that this logic doesn't apply to addresses that use "call" or "jp" to run a routine in the ROM, such as the gift Pokémon code. For that you will have to locate the routine in the original English version in a debugger, converting the address from a pointer to an offset if necessary (only for addresses between 4000-7FFF) then use a hex editor to look for similar byte code in the non-English European version, then convert it back into a pointer and this will be your address following call, jp.

My explanation isn't adequate though as it doesn't explain things like how to use a hex editor, how to convert a pointer to an offset or how you may have to swap the byte order ("endianness") due to an address following call or jp being formatted yyxx rather than xxyy. So if you ever need to convert a code that uses call or jp in such a way let me know and I'll walk you through it and convert it for you.

Hope this helps!  :)
96
Thx for the answer, so Ive got the 8F Item :)
It seems that I used the wrong one:

1. Pidgey with 233 hp
2. Parasect
3. Onix
4. Tentacool
5. Kanghaskan

I will try the other one on page 4, thx!

PS: Ive used this video as a guide for the people that are interested.
https://youtu.be/H8AgGp5cqPI
97
Generation I Glitch Discussion / Re: How did a glitch item delete my save file?
« Last post by jfb1337 on June 19, 2017, 02:13:40 pm »
Come to think about it I've never had a save wipe on BGB except when I deliberately opened SRAM to try to get a save wipe, but I've had at least 3 or 4 save wipes on VC. So it's possible that SRAM isn't properly or at all.

I just checked with my offgao mem editor and A000-BFFF was all FF. But when I looked at a sprite to open bank 0, and checked again and there was data there. From A858 onwards was alternating 00 39, and before that was actual data.
Then I saved, and it was back to all FF again.
Then I manually opened SRAM by incrementing a byte ending in 9 somewhere in ROM, and there was data up until B524 after which was 0039, which was also there before A598. I tried manually opening and closing it a few times, which seemed to work as expected, though one time it seemed to take 2 attempts to actually get it to close: could be something interesting (closing SRAM sometimes fails??) or could just be that I didn't actually write something when I thought I did. Edit: Most likely explanations is just that I wrote to the wrong part of ROM. Anyway, my thumb is now tired from holding the select button so much.
98
Are you using the correct bootstrap? The German version requires a different party set-up then the English. There is one posted on page 4 (the first post, easy to find). But its a pretty old one. Othere European players may have a less complicated one.

PS: S7 is indeed the german 8F.
99
You might be able to use cfw to edit pokebank and allow glitch Pokemon (can't test it because I still need to hard mod)
100
What you need first, and it is essential, is solid knowledge of assembly.
The Game Boy's processor is similar to the z80, so I recommend reading ASM in 28 Days (a Day in this tutorial is simply a lesson, not a full day :P) to learn the z80 assembly. The tutorial is for TI 8X+ calculators, so there are some things there that don't matter for Game Boy stuff, but read it all, it'll make you practice.

Once you have good knowledge of z80 assembly, read the Pan Docs to get the basics of the GB's internals.

And then get familiar with Gen I's engine, and you can start coding !
The link's broken :(
Pages: 1 ... 8 9 [10]