Register - Login
Views: 99795635
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies
05-03-22 05:29:55 AM
Jul - General Game/ROM Hacking - Pokemon Stadium GB EMU: Does anyone know how it's done? New poll - New thread - New reply
Next newer thread | Next older thread
Tanks

360? Yessum.
Level: 121


Posts: 3975/4170
EXP: 19808508
For next: 248188

Since: 07-10-07

From: VA

Since last post: 9.5 years
Last activity: 9.5 years

Posted on 03-17-10 01:23:12 AM Link | Quote
I just recently picked up my old Pokemon Yellow copy and started playing it on the big screen via Pokemon Stadium (N64). As it booted, my ROM hacking side kicked in. Now usually my hunches are wrong, but it seems at the boot of Pokemon Stadium, it checks for a valid Pokemon (R/B/Y) cart.

When you select the game within the GB tower, I believe it sticks the ROM into the N64's RAM and then begins emulation. To back this up, one may remove the cart while the game continues on screen. One such case is if the cart becomes dislodged during gameplay and one tries to save. You're asked to remove the cart and place it back in properly so that the save can properly write itself to the GB cart.

Now why am I stating all this? Because I'm rather interested in how this works. Somehow, in my gut, I think an AR code could override the cart check and force Pokemon Stadium to boot just about any GB game. This is just a hunch mind you. I'm rather inexperienced with the N64 and honestly have no fucking idea how to make this work in the end...

Now of course, there's always the possibility I'm wrong here. If I am, feel free to shoot me down. I don't really mind. I just get these feelings in my gut and rarely act upon them. Figured now might be a good time to start.

____________________

Someguy

Shyguy
Level: 23


Posts: 58/92
EXP: 64810
For next: 2913

Since: 07-26-07

Pronouns: he/him
From: California now!

Since last post: 4.4 years
Last activity: 8 hours

Posted on 03-18-10 03:12:17 AM Link | Quote
Not to shoot you down, and maybe I'm wrong, but I heard people say that the Stadium games had the actual roms of the games in them, so I would assume it wouldn't even need the games in the transfer pack besides to store save data. I also heard someone say Stadium 2 had the Crystal rom in it before it was even released, which is pretty much mostly what I'm basing this on, so if that was wrong then you might be right there.
Tyty

Level: 165


Posts: 7163/8599
EXP: 58673127
For next: 262554

Since: 07-07-07


Since last post: 9.8 years
Last activity: 9.8 years

Posted on 03-18-10 07:36:50 PM (last edited by Tyty at 03-18-10 04:37 PM) Link | Quote
Originally posted by Someguy
Not to shoot you down, and maybe I'm wrong, but I heard people say that the Stadium games had the actual roms of the games in them, so I would assume it wouldn't even need the games in the transfer pack besides to store save data. I also heard someone say Stadium 2 had the Crystal rom in it before it was even released, which is pretty much mostly what I'm basing this on, so if that was wrong then you might be right there.

Well then, since the translated pokemon games are bloated and have tons of empty space, shouldn't we be able to inject ROMs into it anyways?

EDIT: As in, overwrite the pokemon ROMs in the stadium ROMs

____________________


Tanks

360? Yessum.
Level: 121


Posts: 3987/4170
EXP: 19808508
For next: 248188

Since: 07-10-07

From: VA

Since last post: 9.5 years
Last activity: 9.5 years

Posted on 03-19-10 02:24:41 AM Link | Quote
Actually, my theory about it being shoved into the RAM is partially wrong... At least, based on the fact that if the cart is jiggled, the game freezes ever so slightly. I don't know what to make of it...

____________________

Rena
I had one (1) message in Discord deleted and proceeded to make a huge, huge mess about how it was a violation of free speech and how moderators are supposed to be spam janitors and nobody should have the right to tell me not to talk about school shootings
Level: 135


Posts: 2946/5390
EXP: 29075380
For next: 259625

Since: 07-22-07

Pronouns: he/him/whatever
From: RSP Segment 6

Since last post: 342 days
Last activity: 342 days

Posted on 03-25-10 01:27:19 AM (last edited by HyperHacker at 03-24-10 11:06 PM) Link | Quote
03-24-10 08:27:19 PM
Post #2946
This is something I wanted to do for a while. In theory I have all the parts I need now (took forever to get them), but setting it all up would be a fair bit of work, and I'm not sure the cable I have will work. If not, ugh.

In RAM you can see two tables that IIRC both need to be intact. One has all the ROM names in full: "POKEMON RED" "POKEMON BLUE" "POKEMON YELLOW" etc. The other is shortened: "POKEMON" "RED" "BLUE" "YELLOW" etc.

The ROMs are 1MB each so they certainly wouldn't be in the 4MB of available RAM when not needed. They'd either be stored in ROM or read from the cartridge.
I took a quick look at the ROM and saw no sign of them, but that only says they're not there in an uncompressed format.

Stadium 2 had some features (load on demand) and limitations (lack of colour support in turbo mode which sucked) that suggested it was streaming from the controller, though that doesn't guarantee S1 was doing the same. G/S/C were designed with this in mind, while R/B/Y weren't, and G/S/C's code is far cleaner and more efficient, so they could certainly have been designed to help reduce the transfer time and the amount that actually needed to be loaded.

There are of course some theories that could apply when it comes to reducing load time. IIRC you couldn't skip the first few seconds of the opening on N64, so the game could still have been loading at that point (grab the stuff necessary for the opening screens first, load the rest while that plays) or it could even have been a well-synced movie.
Gen2 also had a nice script system; it could be possible the N64 games high-level-emulated it all, just pulling the necessary data from the cartridge but running a native version of the game engine. Gen1 couldn't have done this though, especially since it accurately emulated all the glitches and crashes. I'm also told Gen1 had no script engine and had events all programmed in assembly, but I never looked at that.

This is one of those hacks I wish someone had done back when I actually played the games. Now that I can emulate them at like 20x speed on a PC, it's not as cool... but I'd still like to do it sometime. (I'm also very interested in using that cartridge adaptor in homebrew code...)

There is apparently a plugin for some emulators that emulates this feature, so it'd be a good place to look for insight on how the hardware works. Of course, I could never get the plugin working to use it in hacking...



____________________


witty comment
why not?
Next newer thread | Next older thread
Jul - General Game/ROM Hacking - Pokemon Stadium GB EMU: Does anyone know how it's done? New poll - New thread - New reply


Rusted Logic

Acmlmboard - commit 47be4dc [2021-08-23]
©2000-2022 Acmlm, Xkeeper, Kaito Sinclaire, et al.

27 database queries, 1 query cache hits.
Query execution time: 0.104968 seconds
Script execution time: 0.013334 seconds
Total render time: 0.118302 seconds