NES emulator on Game Boy Color?

Discuss emulation of the Nintendo Entertainment System and Famicom.

Moderator: Moderators

Post Reply
User avatar
mikejmoffitt
Posts: 1353
Joined: Sun May 27, 2012 8:43 pm

NES emulator on Game Boy Color?

Post by mikejmoffitt »

I stumbled across some Game Boy Color ROMs the other day I remember seeing ages ago, and I'm glad I did. The ROM titles are:

NES Conversion - Donkey Kong [C].gbc
NES Conversion - Donkey Kong 3 [C].gbc
NES Conversion - Duck Hunt [C].gbc
NES Conversion - Hogan's Alley [C].gbc
NES Conversion - Mario Bros [C].gbc
NES Conversion - Popeye [C].gbc
NES Conversion - Tennis [C].gbc
NES Conversion - Urban Champion [C].gbc
NES Conversion - Wild Gunman [C].gbc

I opened a few and checked them out. They do, in fact, contain working conversions of those games. They aren't just clones of those games, but are real conversions! They run on the Game Boy color with the proper palettes and everything, but they will execute on a Game Boy as well, though palettes will be wrong.

Image

Inputs are mapped as you would expect, with one exception - the select button allows you to move the viewport around with the D-pad as the Game Boy's 160x144 resolution is almost 1/4 that of the NES's 256x240 region.

Image Image
Image

The games run extremely slowly, and doubly slow on the original Game Boy. I'm impressed that attention has been put towards ensuring the attribute table is well respected and - well, rather that anything works at all! There is also some extremely limited APU support. Pitches are relatively well respected, but the duty cycle is always 50% for PU1 and PU2 and the envelope is the same each time (a moderately fast decay). The WAVE channel outputs an appropriate triangle tone. You can make out the title screens of a lot of games.

Sprites generally work well, but some are just missing. Probably the games' attempts at sprite multiplexing are causing some trouble for the game. Here you can see sometime Stanley is missing the bottom half of his body, and Donkey Kong does not have the beehives he is striking.

Image Image
Image

The attribute table is not perfect. Sometimes it is perfect, sometimes it is a little off, sometimes it is absolutely crazy. Fortunately, sprite / backdrop layer priority is correctly emulated in the cases I can see.

Image Image
Image Image
Image

If I hold space in VisualBoyAdvance to unrestrain the emulation speed, the games do seem to run pretty well. The emulation speed (on the Game Boy) varies strongly based on what's going on. Lots of sprites bring things down a lot, and you can tell when activity is going on because the speed drops a lot. Conversely, there are times when some events make things go a lot faster. The game logic for Donkey Kong is very slow, but when Mario gets hit, or the hammer strikes a barrel, everything speeds up since all the game logic is being bypassed.

Mario Bros plays the level starting theme, then does not get past this point:

Image

I'm led to believe it was a mostly automatic process. If someone was to do this manually, I don't think they'd be satisfied with leaving it as is, even though at this point it is pretty impressive. In addition, the image name is "FC" for all of the ROMs. This appears to be a true emulator in here, which is quite a feat given the system. Using a hex editor I verified that the ROM begins at 0x4000 after a lot of padding (sans NES header). I believe this alignment was done so that only a minor modification (subtract $0x4000) must be made to reads and writes of the NES program ROM, so the Game Boy doesn't need to load the game into RAM. This is probably one element of slowdown, transforming memory writes into many multiples of their original size in terms of cycle penalty. All the games that are shown working are NROM games, naturally. I tried to splice Zooming Secretary in there after stripping out the NES header but could not get it to work at all.

Does anyone know the origin of this software or any other interesting tidbits?
User avatar
Memblers
Site Admin
Posts: 4044
Joined: Mon Sep 20, 2004 6:04 am
Location: Indianapolis
Contact:

Re: NES emulator on Game Boy Color?

Post by Memblers »

I kinda remember trying it out. Unless there is some other version, it's probably this:
http://prdownloads.sourceforge.net/ucon ... h?download

edit - original site here:
http://web.archive.org/web/200102090219 ... html#fcemu
zxbdragon
Posts: 498
Joined: Mon Dec 12, 2011 8:15 pm

Re: NES emulator on Game Boy Color?

Post by zxbdragon »

NES emulator on MD,SFC....
User avatar
mikejmoffitt
Posts: 1353
Joined: Sun May 27, 2012 8:43 pm

Re: NES emulator on Game Boy Color?

Post by mikejmoffitt »

zxbdragon wrote:NES emulator on MD,SFC....
Has such a thing been released?
tepples
Posts: 22708
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: NES emulator on Game Boy Color?

Post by tepples »

If you mean an actual emulator, I'm not aware of one. But a couple NES games have been ported to the Genesis through disassembly and automatic translation. The Super NES was outright designed for this practice. And there was a famiclone that plugged into the Super NES's cartridge slot.
User avatar
mikejmoffitt
Posts: 1353
Joined: Sun May 27, 2012 8:43 pm

Re: NES emulator on Game Boy Color?

Post by mikejmoffitt »

tepples wrote:If you mean an actual emulator, I'm not aware of one. But a couple NES games have been ported to the Genesis through disassembly and automatic translation. The Super NES was outright designed for this practice. And there was a famiclone that plugged into the Super NES's cartridge slot.
That's true. I was just trying to understand the 100% content-free cryptic message posted by zxbdragon.
User avatar
Memblers
Site Admin
Posts: 4044
Joined: Mon Sep 20, 2004 6:04 am
Location: Indianapolis
Contact:

Re: NES emulator on Game Boy Color?

Post by Memblers »

Actually now that I think of it, it wasn't the GBC NES emulator that I was remembering, it actually was an SNES NES emulator. It had the same weird palette from the Donkey Kong screenshots. And sure enough, I looked in my emulation folder and it's still there. I've attached it.
Attachments
fcsfc0.lzh
(21.79 KiB) Downloaded 753 times
Sik
Posts: 1589
Joined: Thu Aug 12, 2010 3:43 am

Re: NES emulator on Game Boy Color?

Post by Sik »

mikejmoffitt wrote:
zxbdragon wrote:NES emulator on MD,SFC....
Has such a thing been released?
The Mega Drive one was. Runs pretty slow too (it's an actual interpreter), compared to the Super Mario Bros conversion where the converted code was optimized.
tepples wrote:But a couple NES games have been ported to the Genesis through disassembly and automatic translation.
Super Mario Bros is the only game that got converted that way (the 6502 code was converted to 68000 with a recompiler, though the PPU is indeed emulated). The only other NES game that I'm aware of having been ported is Battle City, and that one was written from scratch instead of being an actual conversion (in fact there are still some differences compared to the original).
johannesmutlu
Posts: 31
Joined: Fri Mar 11, 2011 2:22 pm

Re: NES emulator on Game Boy Color?

Post by johannesmutlu »

mikejmoffitt wrote:I stumbled across some Game Boy Color ROMs the other day I remember seeing ages ago, and I'm glad I did. The ROM titles are:

NES Conversion - Donkey Kong [C].gbc
NES Conversion - Donkey Kong 3 [C].gbc
NES Conversion - Duck Hunt [C].gbc
NES Conversion - Hogan's Alley [C].gbc
NES Conversion - Mario Bros [C].gbc
NES Conversion - Popeye [C].gbc
NES Conversion - Tennis [C].gbc
NES Conversion - Urban Champion [C].gbc
NES Conversion - Wild Gunman [C].gbc

I opened a few and checked them out. They do, in fact, contain working conversions of those games. They aren't just clones of those games, but are real conversions! They run on the Game Boy color with the proper palettes and everything, but they will execute on a Game Boy as well, though palettes will be wrong.

Image

Inputs are mapped as you would expect, with one exception - the select button allows you to move the viewport around with the D-pad as the Game Boy's 160x144 resolution is almost 1/4 that of the NES's 256x240 region.

Image Image
Image

The games run extremely slowly, and doubly slow on the original Game Boy. I'm impressed that attention has been put towards ensuring the attribute table is well respected and - well, rather that anything works at all! There is also some extremely limited APU support. Pitches are relatively well respected, but the duty cycle is always 50% for PU1 and PU2 and the envelope is the same each time (a moderately fast decay). The WAVE channel outputs an appropriate triangle tone. You can make out the title screens of a lot of games.

Sprites generally work well, but some are just missing. Probably the games' attempts at sprite multiplexing are causing some trouble for the game. Here you can see sometime Stanley is missing the bottom half of his body, and Donkey Kong does not have the beehives he is striking.

Image Image
Image

The attribute table is not perfect. Sometimes it is perfect, sometimes it is a little off, sometimes it is absolutely crazy. Fortunately, sprite / backdrop layer priority is correctly emulated in the cases I can see.

Image Image
Image Image
Image

If I hold space in VisualBoyAdvance to unrestrain the emulation speed, the games do seem to run pretty well. The emulation speed (on the Game Boy) varies strongly based on what's going on. Lots of sprites bring things down a lot, and you can tell when activity is going on because the speed drops a lot. Conversely, there are times when some events make things go a lot faster. The game logic for Donkey Kong is very slow, but when Mario gets hit, or the hammer strikes a barrel, everything speeds up since all the game logic is being bypassed.

Mario Bros plays the level starting theme, then does not get past this point:

Image

I'm led to believe it was a mostly automatic process. If someone was to do this manually, I don't think they'd be satisfied with leaving it as is, even though at this point it is pretty impressive. In addition, the image name is "FC" for all of the ROMs. This appears to be a true emulator in here, which is quite a feat given the system. Using a hex editor I verified that the ROM begins at 0x4000 after a lot of padding (sans NES header). I believe this alignment was done so that only a minor modification (subtract $0x4000) must be made to reads and writes of the NES program ROM, so the Game Boy doesn't need to load the game into RAM. This is probably one element of slowdown, transforming memory writes into many multiples of their original size in terms of cycle penalty. All the games that are shown working are NROM games, naturally. I tried to splice Zooming Secretary in there after stripping out the NES header but could not get it to work at all.

Does anyone know the origin of this software or any other interesting tidbits?
Whooaah a nes emulaor that can even run on a original gameboy DMG???
If that's true,that will blow my mind, it's already amezing that the gameboycolor can emulate the(basic) nes hardware even trough it will take forever before you have completed an nes game on it.
While nes supermariobros was compiled from 6502 to 68000 audio had be reworked alltrough i suppose all.chipsets from whatever gameconsole or pc can do basic languange so why emulating or recompiling games for other systems anyway??? ,well, anyway i can't wait to see a fully working nes emulator for the snes because both nes & snes cpu chip uses the same languange code,so only the graphics & sound should be emulated on it via an interface chip to avoid hit perfomance on the snes cpu,if only B & A bottons will be mapped over X & B buttons,then we can talk.
Last edited by johannesmutlu on Sun Mar 12, 2017 7:04 pm, edited 1 time in total.
tepples
Posts: 22708
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: NES emulator on Game Boy Color?

Post by tepples »

"The games run extremely slowly, and doubly slow on the original Game Boy."

And no, that's not an NES emulator for Sega Genesis; that's SMBDis (a disassembly of Super Mario Bros.) translated to 68000 assembly and with much of its graphics and audio code rewritten to use VDP and PSG registers. It took manual work to port the I/O and some other things; it'd take just as much effort to port a homebrew game.
MrElephant
Posts: 8
Joined: Sun Aug 16, 2015 10:31 am

Re: NES emulator on Game Boy Color?

Post by MrElephant »

I am sorry for replying to an older thread, but I dont really understand how to use this tool. I have read the instructions, but am not getting anywhere. Am I supposed to delete everything before 4000, or 8000-very confused at the moment. Does this tool only work for some games, as I am not able to get anything to work.

Sincerely,

MrElephant
Stokes
Posts: 2
Joined: Tue Apr 07, 2020 4:34 am

Re: NES emulator on Game Boy Color?

Post by Stokes »

Hello to all, my name is Taylor Stokes. I am a new user here and I see that this NES to GB emulator was called Famicom by KAMI, this person has also made an emulator for the Super Nintendo, leading Anthrox and Swat to create their own A&S NES Hacks. I've done some NES to GB conversions or emulation myself.
Post Reply