Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Torchickens

Pages: [1] 2 3 ... 154
General Discussion / Re: So i read this thread
« on: Today at 08:46:32 am »
Well I bear no grudge against you, maybe what annoys me the most in your posts are your smileys (but that's just my taste :D).
You're not a bad person. I think we've met way worse (like the Prism Discord, anyone ?). It's cool to be what you are.

Also, we know you love Korrina x9000001019911909191, you can stop saying it now. I'm starting to find it creepy. It's fine if you do, but please, stop spamming ^^'

I think it's rude to call anyone bad. Arguably in essence no one is a bad person, we don't know their circumstances.

Jchu can say that re: Korrina if she wants to, that's freedom of speech, but I think the policies here are like as long as what is posted is relevant to the topic (unless in a thread like the member's guide to topiclessness) and isn't bot spam or just advertising, then we can post what we want (although it doesn't specifically say in the rules it might be worth adding a note). This is relevant here because it's about the thread and how Jchu feels.
General Discussion / Re: So i read this thread
« on: Today at 06:37:46 am »
Yeah, i don't think a lot of the people i met on kh13 were 'real friends'. ); Members there seemed to have a cruel streak to them. Honestly it feels like the type of forum that could hurt one's trust in people as a whole BIG time. o___O;;;

Sorry to hear that.  :(
General Discussion / Re: So i read this thread
« on: Today at 04:01:56 am »
I'm a dude and I love cute things. It's okay to be who you are, and if anyone hates you for it, then it's their problem and not yours :)

You can like whatever, or whomever you like. It's all good.

Exactly this. :)

It's not like you're being abusive or aggressive, you are just expressing your passions and interests. Take pride in that and remember that if anyone is going to judge you for how you are they're not real friends.
General Discussion / Re: I made a MissingNo. blingeee :P
« on: Yesterday at 04:46:26 pm »
Neat!  :)
Pokémon Glitch Discussion / Re: List of Japan only tricks
« on: Yesterday at 02:59:19 pm »
You're welcome ^^
Pokémon Glitch Discussion / Re: List of Japan only tricks
« on: Yesterday at 07:43:36 am »
...That one old man glitch interests me greatly.

I wonder if it effect's your encounter with MissingNo. and the other glitches on cinnabar at all? I may...wanna look for a japanese r/b/g/y pokemon rom to learn such o.o;

The old man trick for encountering Pokémon on the coast doesn't work in Japanese Red/Green/Blue/Yellow sadly.
Forum Discussion / Re: Does Abwayax still check on this place?
« on: Yesterday at 07:41:33 am »
Yeah, Abwayax still checks/looks after here on occasion.  :)
You're welcome!  Glad it was helpful ^^

If you want to get into big ACE things, I recommend you use the BGB emulator. Once you get used to its not very intuitive UI, you'll love its powerful debugger, memory watcher, etc.

And if you already got it, then you made a very good choice :D

I got it recently, experimenting with cheats rn, and then I'll start getting into the debugger, etc.

Do you have a save compatible with the BGB emulator with 8F, and/or a bootstrap party (if possible), with all locations discovered or something or another. I heard torchickens has one, but...

Yes, on my Google Sites I have a save files page where you can find save files with 8F or ws m set up.

If you go to D322 (or D321) on BGB Debugger you can see the raw code, and then right click and modify it to write the code you'd like.

Quick update with my progress on ACE: I made a quick thing with ACE that puts PK at the start of your rival's name, as a proof-of-concept
I also did a version with your name

Rival Name:

Code: [Select]
WRA1:D321 3E E1                  ld a, 225
WRA1:D323 EA 4A                  ld ($D34A), a
WRA1:D326 C9                     ret

Item List:
Lemonade x225
TM34 x74
TM11 x201

Player name:

Code: [Select]
WRA1:D321 3E E1                  ld a, 225
WRA1:D323 EA 4A                  ld ($D158), a
WRA1:D326 C9                     ret

Item List:
Lemonade x225
TM34 x88
TM09 x201

They should both work (the player one works, so the rival one should work, too, atleast I assume)

Change the lemonade quantity to a different number for a different letter (these can be found on the Big HEX List (, but I assume you already knew that)

This is my ACE script, so of course it's simple, but is it good for a first script?

Yes :). There's just a small error in the raw code (to make sure things are correct if you're copy and pasting it into a memory viewer/debugger).  EA 4A for the first code should be EA 4A D3, and EA 4A for the second code should be EA 58 D1.
When executing arbitrary code it's about converting the GBZ80 (where you can find a list of opcodes here and on the wiki's Big HEX List) into a representable form.

To do this for 8F and ws m redirected to the items pack you need to do is know the hex code and form for an ASM instruction and then use the item or quantities with the same hex IDs (you can use the Big HEX List or Windows Calculator to convert if necessary).

But importantly a little knowledge of GBZ80 is needed. Personally I feel it's good to start with things like understanding the registers like a, b, c, d, e, hl (from the hardware, you can view them as storage bytes like memory addresses but used everywhere) and basic instructions (read, write, etc).

This page is a good place to learn about the instructions in the context of what they do.

Here are a few examples of basic arbitrary code execution with an explanation for every line (read the comments in the square brackets [ ]):

Code to encounter Mew.

ld a, 15 [when you see ld [register] first, it means we're storing a value into a register. In this case we're storing hex:15 (the value of Mew) into the register 'a'.
ld (d059),a [when the register is on the right side of the instruction it means it will be moved elsewhere. In this case we're storing a (which was changed to hex:15) into D059 (the memory address for an instant encounter)]
ret [ret is needed to end the flow of the code or else the game will carry on executing the data beyond it as if it was code, which would likely freeze the game]

In hexadecimal this is the following:
Code: [Select]
3E 15 EA 59 D0 C9
So to represent it in items we just need item hex:3E (Lemonade) x 21 (hex:15), followed by item hex:EA (TM34) x 89 (hex:59), followed by TM08 (D0) x 201 (hex:C9).

Pseudo-GameShark (change anything in RAM to anything) (copied from this post)

ld a, xx [as before, we add a value into register a, in this case the value we want to write for our pseudo-GameShark]
ld l, xx [the second byte in a Datacrystal order memory address is also put into register l]
ld h, xx [the first byte in a Datacrystal order memory address is put into register h]
inc b [add 1 to register b. Technically useless but sometimes this is helpful so that you can avoid using a bad item and instead use a quantity]
ld (hl), a [when the register pair on the left side is in brackets, it means you're putting the value into the address represented by those registers; so if h and l were D0 and 59 we would be storing a into D059]
inc a [see inc b]
ret [end of code as usual]

In items it ends up as this:

Lemonade, quantity (byte to change to, or 2nd byte of GScode)
X Accuracy, quantity (low byte of RAM address to change, or 3rd byte of GScode)
Carbos, quantity (high byte of RAM address to change, or 4th byte of GScode)
Poké Ball, quantity 119
Fresh Water, quantity 201

Code: [Select]
3E xx 2E xx 26 xx 04 77 3C C9

If you just want to edit the contents of the memory these two examples are all you need to work on, and it's where I started but if you want to do more things here is a more complex example:

Enter the Hall of Fame with 8F: (copied from this post)

Before we begin, this code uses call. This basically causes the game to execute code from elsewhere and return back to where it was later, and anything from 0000-7FFF is in the ROM (unlike 8000-FFFF which is in [generally] writable memory like RAM) according to the Game Boy BUS. This is different to jp ('jump') which redirects the flow of code without returning to where we originally were.

0000-3FFF will be an offset (what you would find in a hex editor like the program "HxD"), while 4000-7FFF in the Pokémon games are banked [also known as "three-byte"] pointers. For more information about banked pointers see the section on this article).

This code runs the code at 16:64BB in GBZ80 (which according to Game Boy Pointer Calculator is 5A4BB in a hex editor by using the 35D6 function which is used to run a script anywhere in the ROM.

ld c,16 [c is now 16 for bank 16]
ld h,64 [h is now 64 for 64XX]
ld l, bb [l is now BB. HL now=64BB]
ld b,c [c is moved into b, which serves as the bank for the below function]
ld b,b [technically not needed]
call 35d6 [run the bank switch function, which runs the script as b:hl]
ret [end of code]

Code: [Select]
0e 16 26 64 2e bb 41 40 cd d6 35 c9
Awakening  x 22
Carbos     x100
X Accuracy x187
X Attack   x 64
TM05       x214
Revive     x201

To find the locations of other routines in the game you can download a SYM file which is a list of routines and their locations, but you may need to refer to the Pokémon Red (etc.) disassembly project to find out how they work (so what registers before the code will do what).

Hope that helps, and if you have any further questions let me know and I'll try to help! :)
While I was looking at the Glitchdex page for RB:BF, I noticed that its sprite is purple for some reason...

I haven't seen that documented anywhere else, so I'm curious why it wasn't the "Mew color" it typically has.

That is family 250's Super Game Boy palette which can be modified from the values beyond the aforementioned database. The palette ID is hex:54, which is outside of the range of valid IDs. At first I thought it was a copy of hex:14 (PAL_PURPLEMON used for purple Pokémon such as Nidoran♂, Nidorino and Nidoking), but this seems to be a completely different more vivid purple.
I should note that I got that information on Bulbapedia — I have only caught family 205 on Virtual Console, which (naturally) doesn't have color.

I see.

I found the offset. ^^

The IDs I posted above are the same valid values for this database, and it seems it starts at No. 000 who has the (0x10 'Mew' palette), then No. 001-003 who have palette 0x16 [GREENMON].

May start doing research into what gives the glitch layers tomorrow.

It's a little tedious going through all the glitch Pokémon articles repeatedly to add the information but all that the GlitchDex needs left now is:

1. Glitch color layers
2. Catch rate
3. Actual type IDs
4. Base experience yield
5. Dimensions, pointer to front sprite and back sprite
6. Beginning byte

As well as the Gold/Silver/Crystal glitch articles.
I've always wondered why family 205 in R/B turns certain parts of the screen red, despite the fact that there isn't red in its sprite...

Are those two problems even related?!

That's interesting. For me family 205 in Red only has the black glitch color layer.

In Yellow though it seems 0xC1 (family 205) has a black glitch color layer in Super Game Boy mode and a black/red glitch color layer in Game Boy Color mode.

So today I learned glitch color layers can be found in both Super Game Boy mode and Game Boy Color mode in the same game.
I've been looking just a little into glitch color layers (known as glitch screens on Bulbapedia). Does anybody know what causes the glitch color layer effect for glitch Pokémon like X ゥ- xゥ,?

I wonder whether there is a data structure that dictates this for each family of some sort.

I found this in the disassembly but couldn't find anything else sadly.

; super game boy palettes
const_value = 0

   const PAL_ROUTE     ; $00
   const PAL_PALLET    ; $01
   const PAL_VIRIDIAN  ; $02
   const PAL_PEWTER    ; $03
   const PAL_CERULEAN  ; $04
   const PAL_LAVENDER  ; $05
   const PAL_VERMILION ; $06
   const PAL_CELADON   ; $07
   const PAL_FUCHSIA   ; $08
   const PAL_CINNABAR  ; $09
   const PAL_INDIGO    ; $0A
   const PAL_SAFFRON   ; $0B
   const PAL_TOWNMAP   ; $0C
   const PAL_LOGO1     ; $0D
   const PAL_LOGO2     ; $0E
   const PAL_0F        ; $0F
   const PAL_MEWMON    ; $10
   const PAL_BLUEMON   ; $11
   const PAL_REDMON    ; $12
   const PAL_CYANMON   ; $13
   const PAL_PURPLEMON ; $14
   const PAL_BROWNMON  ; $15
   const PAL_GREENMON  ; $16
   const PAL_PINKMON   ; $17
   const PAL_YELLOWMON ; $18
   const PAL_GREYMON   ; $19
   const PAL_SLOTS1    ; $1A
   const PAL_SLOTS2    ; $1B
   const PAL_SLOTS3    ; $1C
   const PAL_SLOTS4    ; $1D
   const PAL_BLACK     ; $1E
   const PAL_GREENBAR  ; $1F
   const PAL_YELLOWBAR ; $20
   const PAL_REDBAR    ; $21
   const PAL_BADGE     ; $22
   const PAL_CAVE      ; $23
   const PAL_GAMEFREAK ; $24
Generation VII Glitch Discussion / Re: Poke Pelago Glitch
« on: May 14, 2017, 07:02:37 am »
Yeah, many other exploits from previous games make use of this technique as well.


I personally see it as borderline exploit/glitch (but some people are fussy about what constitutes a glitch, I like to think of it as any unintended exploit that's not supposed to be part of the game) because it's not a programming error and you have freedom to control the time and the developers haven't tried to prevent it, but at the same time I think the fact you have to wait for the time to roll over (not sure if that applies for this exploit but I get the impression maybe) makes it an unintended exploit.

Reminds me of how in Yokai Watch if you change the date Gargaros says he won't forgive tricksters.
Wiki Discussion / Glitch Pokémon cries for the wiki
« on: May 11, 2017, 02:29:42 pm »
I've began work on re-recording all of (or samples of for the ones with variable cries) the glitch Pokémon cries.

First off is a ZIP file for glitch Pokémon cries in Yellow for every sound bank except Pikachu's Beach (02 overworld, 08 battle, 1F dungeon).

Abwayax, please can you use these when you fix the embedding on the GlitchDex?

The rest for Red/Blue should hopefully be ready tomorrow. :)

Edit: Finished it :D
Pages: [1] 2 3 ... 154