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.
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.
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.
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.
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.
(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.
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.
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.
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
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".
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?
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.
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?
PocketNES supports compressed 256k games, the 192k limit is long gone (except for the size of the game after compression).
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_gamesThose aren't ports, those are emulators + roms.
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_gamesThose aren't ports, those are emulators + roms.
Probably the closest I can get.
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?
I found this thing for the Game Boy Color.
http://www.zophar.net/consoles/gameboy/nes/fc-emulator-for-gameboy.htmlIt 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.
mugenfighter wrote:
I found this thing for the Game Boy Color.
http://www.zophar.net/consoles/gameboy/nes/fc-emulator-for-gameboy.htmlIt 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.htmlit supports FDS files, but isn't as good as pocket nes. However Pocket NES doesn't support FDS files, so yeah.
IIRC HVCA handles pitch slides much better than PocketNES does for games like Donkey Kong.
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.
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.
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?