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.


Topics - Parzival

Pages: [1]
1
On the Discord server, I had a thought while fucking around with SmashStack which may prove very interesting if it can be pulled off: "Can we patch ROM on-the-fly with a middleman?"
Now, this sounds fucking impossible, because of things like "ROM is read-only" and "you sound fucking insane, what the hell is SmashStack and why is this post nowhere near properly worded?", but hear me out.
There's some homebrew that most people use with SmashStack, and it's called Riivolution. When the disc is accessed to load data, Riivolution intercepts this call, loads the data to unused RAM, patches it, then puts the modified data where it needs to be. We could do this with Pokemon Yellow. In GBc mode, the game does fucking nothing half the time because it only needs 4Mhz, and the double speed of the GBC fucks with it. This solves multiple problems we'd face, namely "this would slow the game down" and "we can't easily interrupt the game's path of execution and throw data everywhere without fucking s**t up". BECAUSE the game's doing nothing, it doesn't matter what we do, as long as we're back in the game's normal operation when it comes time to actually do something. Of course, with ACE, we can influence what "normal" is, which means we could copy the next bits of code needed from ROM to RAM, patch it, then run it, effectively being able to bend the game to our will by copying and patching more code after running the previous batch. We could merely allocate a certain amount of space in, say, SRAM, write code to the allocated space, then put the loop that writes and patches the next batch right after it. Of course, jumps, interrupts and the like will screw with it, but I'll bet my soul that there's a way around that.

Thanks for listening to me shout my insanity at you for like 20 minutes. Do you think this is possible? We've done some amazing s**t, but if we can pull this off we can all ascend into godhood, so it's worth a shot, right?
2
I've been thinking about how you can't trade from Gen 2 to 3 for some reason, and I had a thought. Could we use a Python program to intercept and modify the data between the games in such a way that a Gen 2 game will see the other end of the link as a Gen 2 game, and the Gen 3 game will see a Gen 3 game? IMO, this could work, but it really isn't useful, but I might as well share my thoughts here just in case someone wants to pick it up.
3
Arbitrary Code Execution Discussion / Setting all ailments in-battle
« on: April 26, 2017, 05:04:08 pm »
So, just to get acquainted with 8F, I made a small script to set the CPU Ailment byte to FF, because why not. I don't think anyone will be interested, but just in case, here you go.
Code: [Select]
ld a,$FF;
ld [$CFE9],a;
ret;
In items, that'd be
Code: [Select]
Lemonade x255
TM34 x233
TM07 x201
I screwed everything up with one of my earlier tries, which was
Code: [Select]
push af;
ld a,$FF;
ld [$CFE9],a;
pop af;
ret;
I landed at 03:0573, which is an invalid opcode. I don't know what happened before that, because I can't find a way to press a button for one frame while in the BGB debugger.
4
Introductions / Hello
« on: April 19, 2017, 05:09:11 pm »
Hi, I'm Parzival. I've been a lurker here for... what, 6 years? Anyway, I just wanted to become a member because... well... I've been procrastinating about making one for 6 years, might as well just do it.
Pages: [1]