Porting NES Games to GBC

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
Porting NES Games to GBC
by on (#155170)
I'm looking to port a NES game to GBC. Note I do not want to emulate it on a gba. So I managed to disassemble a game, and it will assemble into a working game. How do I go about porting the game.
Re: Porting NES Games to GBC
by on (#155175)
Lots of NES games were ported to GBC, but I see this less a 'port' as rewriting a game for an incompatible system. The processors are different, so the assembly language will be a bit different. The screen sizes are different... (256 x 240 NES) vs (160 x 144 GBC). The music is processed differently.
Some games would be easier than others. Dragon Warrior, Tetris and Ms. Pacman, are good examples of games that exist on both systems. You can study them and see how they differ.
The only advantage to porting to GBC, is the color options are much better.
Re: Porting NES Games to GBC
by on (#155179)
dougeff wrote:
Lots of NES games were ported to GBC, but I see this less a 'port' as rewriting a game for an incompatible system. The processors are different, so the assembly language will be a bit different. The screen sizes are different... (256 x 240 NES) vs (160 x 144 GBC). The music is processed differently.
Some games would be easier than others. Dragon Warrior, Tetris and Ms. Pacman, are good examples of games that exist on both systems. You can study them and see how they differ.
The only advantage to porting to GBC, is the color options are much better.

I need this for a functional prop for a video, any other hand held consoles you can recommend. I couple of requirements is that it needs to be from the 80s to the mid 2000s and needs to be cartridge based. I would prefer if the screen was in color because those tend to be less blurred. I would also prefer if it wasn't too expensive. Also there has to be a good flash cart I can have shipped to America available online for a reasonable price.
Re: Porting NES Games to GBC
by on (#155181)
If this is just a prop, then you should mock it. If you'd like to mock it by loading some doctored game screens and displaying the bitmaps on the Game Boy Color, that will get you a relatively authentic look. To go further, you can write little scenes with some moving sprites and backdrops for a more convincing appearance.
Re: Porting NES Games to GBC
by on (#155183)
mikejmoffitt wrote:
If this is just a prop, then you should mock it. If you'd like to mock it by loading some doctored game screens and displaying the bitmaps on the Game Boy Color, that will get you a relatively authentic look. To go further, you can write little scenes with some moving sprites and backdrops for a more convincing appearance.

I just wanted it to be more authentic, and to be honest I would have probably used it after the video.
Re: Porting NES Games to GBC
by on (#155185)
(Prop)
Maybe you could take the casing off a Gameboy and attach it to a smartphone running a video of someone playing an NES game (resized to the exact position of the Gameboy screen.
Re: Porting NES Games to GBC
by on (#155205)
Actually porting a game from one console to the other is always a lot of trouble, unless the CPU is the same and the video/audio hardware is reasonably similar. Converting the 6502 to GBZ80 manually will take you forever, and writing a tool to do it automatically will be nearly the same amount of trouble as writing a 6502 emulator from scratch. The tile maps are different enough for scrolling to be a pain in the ass to convert depending on the NT mirroring.
Re: Porting NES Games to GBC
by on (#155251)
tokumaru wrote:
Actually porting a game from one console to the other is always a lot of trouble, unless the CPU is the same and the video/audio hardware is reasonably similar. Converting the 6502 to GBZ80 manually will take you forever, and writing a tool to do it automatically will be nearly the same amount of trouble as writing a 6502 emulator from scratch. The tile maps are different enough for scrolling to be a pain in the ass to convert depending on the NT mirroring.

Ok I actually thought about it and I think I can get a gba flash cart, take it apart, spray paint it, put a new sticker on it, reassemble the cart, put the rom on it, and find a way to hide the sd card. The thing is that this is actually suppose to be usable. There are actually NES emulators for gba and gba flash carts, so this might work. But I don't think I'll need to do this.
Re: Porting NES Games to GBC
by on (#155256)
Can it be any NES game? If so, you could use one of the games that were officially ported, like Super Mario Bros. DX, Ghosts 'n Goblins, Crystalis (oh crap, what have they done to the music in this game!?) or Blaster Master. Those are probably as close as you can get to NES games running on the GBC.

If the GBA is OK, there are also a bunch of official ports released for it: https://en.wikipedia.org/wiki/List_of_C ... ries_games
Re: Porting NES Games to GBC
by on (#155268)
If you're willing to show the game being played in PocketNES on a GBA or GBA SP:

Older GBA flash carts did not require an SD card; they had NOR flash memory. You could probably take the flash cart's PCB out and put it in a GBC game shell. The last such cart I remember being in production is the Fire Linker.

Or if the NES game is 192K or smaller, you can load it through the link port using "multiboot".
Re: Porting NES Games to GBC
by on (#155274)
tepples wrote:
If you're willing to show the game being played in PocketNES on a GBA or GBA SP:

Older GBA flash carts did not require an SD card; they had NOR flash memory. You could probably take the flash cart's PCB out and put it in a GBC game shell. The last such cart I remember being in production is the Fire Linker.

Or if the NES game is 192K or smaller, you can load it through the link port using "multiboot".

Any info on the multiboot thing?
Re: Porting NES Games to GBC
by on (#155275)
tepples wrote:
Older GBA flash carts did not require an SD card; they had NOR flash memory. You could probably take the flash cart's PCB out and put it in a GBC game shell.

The shell is how the GBA can tell the difference between GB/GBC and GBA cartridges, so if you do this you'll need to modify the shell slightly.
Re: Porting NES Games to GBC
by on (#155276)
GBA multiboot is normally used for players 2, 3, and 4 in single-pak multiplayer or for a GBA being used as a GameCube controller. It loads a program of up to about 250K into the GBA's memory. PocketNES will fit into memory so long as the game is 192K or smaller.


Is forum.gbadev.org still running?
Re: Porting NES Games to GBC
by on (#155329)
PocketNES supports compressed 256k games, the 192k limit is long gone (except for the size of the game after compression).
Re: Porting NES Games to GBC
by on (#155330)
tokumaru wrote:
If the GBA is OK, there are also a bunch of official ports released for it: https://en.wikipedia.org/wiki/List_of_C ... ries_games

Those aren't ports, those are emulators + roms.
Re: Porting NES Games to GBC
by on (#155353)
Dwedit wrote:
tokumaru wrote:
If the GBA is OK, there are also a bunch of official ports released for it: https://en.wikipedia.org/wiki/List_of_C ... ries_games

Those aren't ports, those are emulators + roms.

Probably the closest I can get.
Re: Porting NES Games to GBC
by on (#155354)
Dwedit wrote:
PocketNES supports compressed 256k games, the 192k limit is long gone (except for the size of the game after compression).

Does PocketNES support Famicom Disk System games?
Re: Porting NES Games to GBC
by on (#155364)
I found this thing for the Game Boy Color.

http://www.zophar.net/consoles/gameboy/nes/fc-emulator-for-gameboy.html

It is extremely slow even on an emulator, and cuts off part of the screen. My guess is that this would be a normal thing for a nes emulators on a gbc.
Re: Porting NES Games to GBC
by on (#155372)
mugenfighter wrote:
I found this thing for the Game Boy Color.

http://www.zophar.net/consoles/gameboy/nes/fc-emulator-for-gameboy.html

It is extremely slow even on an emulator, and cuts off part of the screen. My guess is that this would be a normal thing for a nes emulators on a gbc.

I also managed to find this...
http://www.zophar.net/consoles/gameboy/nes/hcva.html
it supports FDS files, but isn't as good as pocket nes. However Pocket NES doesn't support FDS files, so yeah.
Re: Porting NES Games to GBC
by on (#155440)
IIRC HVCA handles pitch slides much better than PocketNES does for games like Donkey Kong.
Re: Porting NES Games to GBC
by on (#155442)
That got fixed in PocketNES a long time ago with the sound rewrite, don't use 12 year old versions for comparison. Hell, it even has better sound that FCEUX in some cases.
Re: Porting NES Games to GBC
by on (#155446)
Dwedit wrote:
That got fixed in PocketNES a long time ago with the sound rewrite, don't use 12 year old versions for comparison. Hell, it even has better sound that FCEUX in some cases.

I'm not dumping on PocketNES, I'm just telling you what I remember from when I used it last about seven years ago. If that's been fixed, then that's great.
Re: Porting NES Games to GBC
by on (#155449)
Dwedit wrote:
Hell, it even has better sound that FCEUX in some cases.

I guess "how many words can you make before the sun goes down" is one of the other cases. Or was that fixed too?