It is currently Mon Oct 23, 2017 9:20 pm

All times are UTC - 7 hours





Post new topic Reply to topic  [ 10 posts ] 
Author Message
PostPosted: Sun Aug 03, 2014 9:22 pm 
Offline
User avatar

Joined: Sun May 27, 2012 8:43 pm
Posts: 1308
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?


Top
 Profile  
 
PostPosted: Mon Aug 04, 2014 1:00 am 
Offline
Site Admin
User avatar

Joined: Mon Sep 20, 2004 6:04 am
Posts: 3472
Location: Indianapolis
I kinda remember trying it out. Unless there is some other version, it's probably this:
http://prdownloads.sourceforge.net/ucon64/fcgb2.lzh?download

edit - original site here:
http://web.archive.org/web/20010209021921/http://www.playoffline.com/gb/index.html#fcemu


Top
 Profile  
 
PostPosted: Mon Aug 04, 2014 2:06 am 
Offline

Joined: Mon Dec 12, 2011 8:15 pm
Posts: 307
NES emulator on MD,SFC....


Top
 Profile  
 
PostPosted: Mon Aug 04, 2014 9:27 pm 
Offline
User avatar

Joined: Sun May 27, 2012 8:43 pm
Posts: 1308
zxbdragon wrote:
NES emulator on MD,SFC....

Has such a thing been released?


Top
 Profile  
 
PostPosted: Tue Aug 05, 2014 6:28 am 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19122
Location: NE Indiana, USA (NTSC)
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.


Top
 Profile  
 
PostPosted: Tue Aug 05, 2014 3:53 pm 
Offline
User avatar

Joined: Sun May 27, 2012 8:43 pm
Posts: 1308
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.


Top
 Profile  
 
PostPosted: Tue Aug 05, 2014 8:47 pm 
Offline
Site Admin
User avatar

Joined: Mon Sep 20, 2004 6:04 am
Posts: 3472
Location: Indianapolis
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 129 times
Top
 Profile  
 
PostPosted: Fri Aug 08, 2014 5:17 am 
Offline

Joined: Thu Aug 12, 2010 3:43 am
Posts: 1589
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).


Top
 Profile  
 
PostPosted: Wed May 04, 2016 8:56 am 
Offline

Joined: Fri Mar 11, 2011 2:22 pm
Posts: 25
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.

Top
 Profile  
 
PostPosted: Wed May 04, 2016 9:05 am 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19122
Location: NE Indiana, USA (NTSC)
"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.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 10 posts ] 

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 8 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group