Author Topic: Official Nintendo Game Boy Emulator for Nintendo 64 (Pokémon Stadium)  (Read 31970 times)

0 Members and 1 Guest are viewing this topic.

Offline Mezmorize

  • Full Member
  • ***
  • Posts: 106
  • Karma: +19/-0
    • View Profile
    • Classic Video Game hacking
My EverDrive 64 finally showed up yesterday, which was perfect timing for my birthday. Today I finally got a chance to play around with it and test out one of the accessories I had bought for the N64, the Transfer Pak. I picked it up for a mere four dollars shipped because it was being sold as broken/as is because it was untested by the seller. The reason I bought it was because of what I read from Wikipedia about the two Pokémon Stadium games. For example, with the first Pokémon Stadium game: At the GB Tower, the player can play Pokémon Red, Blue, or Yellow on the Nintendo 64 using the Transfer Pak.

I don't own any of those Game Boy games, but do own a flash cartridge for Game Boy ( http://store.kitsch-bent.com/product/usb-64m-smart-card ). After testing it out with Pokémon Blue (the only Pokémon game I've ever really played), I wondered if I would be able to make it boot any other Game Boy games.

I first picked Wario Land II to test out because it was the same size ROM as Pokémon Blue as well as the same cartridge type. Just by changing the title of the game in the header to match Pokémon Blue and then fixing the checksum, I was able to get it to boot:

 http://www.youtube.com/watch?v=cB9jr4lOOvw

Awesome, even the Super Game Boy features were working! But unfortunately, after the intro it errors out when the N64 tries to save to the cartridge.

As a second test, I tried the non Super Game Boy game Super Mario Land. Had to do quite a few modifications to get this one working, the usual title + checksum modification wasn't enough. After changing the Destination Code (0x14A=01 for non Japanese) the game finally attempted to boot, but that still was not enough. Finally, I changed the cartridge type settings in the header as well as padded the game to 1MB, and it finally also booted up.

 http://www.youtube.com/watch?v=As0v0hNBgAw

It soon gave an error about saving, just like Wario did. But, after simply removing the Game Boy cartridge from the Transfer Pak and re-inserting it, the game proceeded to play!

And that's about as far as my testing has came.
Still haven't tried a Game Boy Color game, nor have I tested out the potentially updated emulator inside the N64 game Pokémon Stadium 2.

---

Hopefully someone can hack the game(s) to bypass some of these checks, so a Game Boy flash cartridge wouldn't be needed.

Offline saturnu

  • ヽ(^o^)丿
  • Hero Member
  • *****
  • Posts: 1182
  • Karma: +156/-0
    • View Profile
    • :D
By my research on that last year, i found out that in the nrage2 plugin sources, there are some txt files about that. ^^

http://sourceforge.net/p/nragev20/code/HEAD/tree/docs/Transfer%20Pak%20Stuff/

Quote
GB Tower:

I watched the transfers between the TPak and the Emulator while choosing GB Tower on the Load Full option. This is what I found:
All read/writes are to/from the cart. Using pokemon blue english.

1) The emu tests for a TPak presence by:
   a) disable cart
   b) query cart enable state
   c) enable cart
   d) query cart enable state

2) The emu tests for cartrige insertion state

3) The emulator loads the GB header, 0100-015F

4) Emu reads 0080-009F for unknown reason

5) Emu seems to test if the cart is properly inserted by reading from:
   0000, 0100, 0200, 0400, 0800, 1000, 2000, 4000

6) Emu reads A000 (RAM), then 2000 (ROM) for unknown reasons

7) Latches the timer

8) Changes RAM enable to something (didn't catch it)

9) Reads the header again.

10) Sets RAM bank=0 & reads RAM 0000, then writes, reads, writes, reads, writes, reads.

11) Reads RAM bank 01, 0580-153F

12) Repeats steps 1-7

13) Disables the timer latch

14) sets RAM bank 0, ROM bank 1, RAM bank 1, ROM bank 027, then reads ROM bank 27 at 0000

15) Latches timer

Offline nuu

  • Hero Member
  • *****
  • Posts: 1712
  • Karma: +79/-2
    • View Profile
This is really cool! If someone could take the emulator code out of Pokemon Stadium, make an interface for it, we would have an GB emulator that can play real carts. But it probably doesn't support many mappers.

Offline MockyLock

  • Hero Member
  • *****
  • Posts: 684
  • Karma: +25/-2
    • View Profile
Anyway, it can boot another game than the one it was designed for, good news indeed !
It reminds me the case of the PlayStation emulator taken from Bishi Bashi Special 3 PS2 :)

Offline pcfreak324

  • Full Member
  • ***
  • Posts: 175
  • Karma: +13/-0
    • View Profile
Nice find!

Is it possible to edit the Pokémon Stadium rom to bypass the checks and maybe even to inject a Game Boy rom file?

Offline saturnu

  • ヽ(^o^)丿
  • Hero Member
  • *****
  • Posts: 1182
  • Karma: +156/-0
    • View Profile
    • :D
bypassing the checks seems to me like a doable task for a skilled romhacker.
there are rumers, that certain pokemon roms are already injected in pokemon stadium and that the emulator is only checking on a few
rom spots if they are present. but as you can see it still can run altered roms from the transferpak. ^^

i guess it's easier to fix the soundissues of gnuboy64, instead of injecting roms, but i might be wrong. :D


http://gbdev.gg8.se/wiki/articles/Gameboy_Bootstrap_ROM
Quote
The 'Pokemon' CGB bootstrap

An interesting 'prototype' or alternate version of the CGB bootrom can be found included in the "Pokemon Stadium" N64 cartridge rom. This might possibly have been a leftover from an earlier prototype "Pokemon Stadium" cartridge which actually had a variant CGB CPU on it which would retrieve its rom from the n64 rom. The final n64 cartridge does not have a CGB CPU on it, but it does emulate the CGB hardware using N64 software, but is locked to only running the pokemon CGB games, which are copied, ram and rom, out of the cart on startup. The pokemon stadium 'emulator' code probably does use the bootstrap when starting up.

Offline Mezmorize

  • Full Member
  • ***
  • Posts: 106
  • Karma: +19/-0
    • View Profile
    • Classic Video Game hacking
Not that this post has anything to do with the Game Boy emulator, but I didn't want to create a new thread for this little speck of info.

Besides the games listed on the Wikipedia page (http://en.wikipedia.org/wiki/Transfer_Pak#Transfer_Pak) on the Transfer Pak, I also found the following games to contain the text Transfer Pak in the ROM:

Hydro Thunder (U)
TEXT: TRANSFERPAK
Maybe this game at one point in development was going to support the device.

New Tetris, The (U) [A funny read can be found here: http://tcrf.net/The_New_Tetris]
TEXT: TRANSFER FROM GAME BOY
Guess the developers ended up not adding the support for the Transfer Pak. I believe the option would have been inside the options menu. I tried to make the option show up by using both the original Game Boy and Game Boy Color game, with no luck.

Rugrats in Paris: The Movie (U)
TEXT: Transfer Pak detected...want to use it?
The Transfer Pak is indeed detected, but I could not get the game to ask if I wanted to use it.

WWF No Mercy (U)
TEXT: Please insert the Transfer Pak. (The GBC game was canceled.)

Offline saturnu

  • ヽ(^o^)丿
  • Hero Member
  • *****
  • Posts: 1182
  • Karma: +156/-0
    • View Profile
    • :D
Transfer Pak...



my arch enemy ^^

Offline BolinCaker

  • Full Member
  • ***
  • Posts: 146
  • Karma: +4/-0
    • View Profile
    • CakerBaby
So is there a game boy emulator for the Everdrive 64?

Offline Cybertronic

  • Jr. Member
  • **
  • Posts: 77
  • Karma: +3/-0
    • View Profile
So is there a game boy emulator for the Everdrive 64?

I won't have my Everdrive till Monday or Tuesday, but there is a rom called "Gameboy 64 + Super Mario 3 (PD).z64" which I cannot load on an emulator, but that possibly might be something, but it is likely just a hacked GameBooster Rom.

I did find GBlator which I can't test yet but this appears to be one.

http://www.zophar.net/consoles/n64/gb.html

GBLator is a Gameboy emulator for Nintendo 64. It can be run on N64 backup devices. There are specific versions for different backup devices, though; be sure to download the appropriate one.

GBLator 1.0 for CD64

( this program is rewrite by David Clous )

The is the Gameboy emulator program that can run on CD64.
It allow the CD64 can run the GB game file which already record on CDR.
PC user can upload the GB file at address S-140,000 after
the emulator program loaded.
« Last Edit: March 09, 2014, 07:49 AM by Cybertronic »

Offline saturnu

  • ヽ(^o^)丿
  • Hero Member
  • *****
  • Posts: 1182
  • Karma: +156/-0
    • View Profile
    • :D
I know of three gameboy emulators for the ED64

Gblator: actually it is the hacked Gamebooster rom - it's running without real sound
Gnuboy64: the newest one - the sound is there but could be better
the included emulator in the pokemin games: it could be the best one ^^

Offline BolinCaker

  • Full Member
  • ***
  • Posts: 146
  • Karma: +4/-0
    • View Profile
    • CakerBaby
I know of three gameboy emulators for the ED64

Gblator: actually it is the hacked Gamebooster rom - it's running without real sound
Gnuboy64: the newest one - the sound is there but could be better
the included emulator in the pokemin games: it could be the best one ^^

And how do I put Gnuboy64 on my ED64?

Offline saturnu

  • ヽ(^o^)丿
  • Hero Member
  • *****
  • Posts: 1182
  • Karma: +156/-0
    • View Profile
    • :D
the easiest way would be using alt64, it includes a special gnuboy64 version that works with that menu.
the original gnuboy64 only works right on the neo myth cart atm.
you could try to run gblite.v64 on the original os, but you will have to create a special sram-savefile with the rom-path every time you switch a game.

i'm not sure if it's really worth a tray but it's your decision. :D

Offline saturnu

  • ヽ(^o^)丿
  • Hero Member
  • *****
  • Posts: 1182
  • Karma: +156/-0
    • View Profile
    • :D
https://www.youtube.com/watch?v=rZX54lGgiHU
http://www.assemblergames.com/forums/showthread.php?51069-Spoofing-Pocket-Monsters-Stadium-to-Play-Non-Pok%E9mon-Games

looks like there are less checks on pokemon yellow, 'cause they weren't sure about the final cart specs at the release date of poket monster stadium. ^^

Offline cheaterdragon1

  • Full Member
  • ***
  • Posts: 122
  • Karma: +24/-1
    • View Profile
    • Micro-64
https://www.youtube.com/watch?v=rZX54lGgiHU
http://www.assemblergames.com/forums/showthread.php?51069-Spoofing-Pocket-Monsters-Stadium-to-Play-Non-Pok%E9mon-Games

looks like there are less checks on pokemon yellow, 'cause they weren't sure about the final cart specs at the release date of poket monster stadium. ^^
Thanks for the video. I read ages ago that ZoinKity was working on translating the original Pocket Monster Stadium into English and it's great to see he's still up to it. Will definitely be interesting with what he does with the Gameboy support as well.


We now have a Facebook group for all N64 fans!