Register | Login
Views: 19364387
Main | Memberlist | Active users | ACS | Commons | Calendar | Online users
Ranks | FAQ | Color Chart | Photo album | IRC Chat
11-02-05 12:59 PM
1 user currently in Rom Hacking: hukka | 2 guests
Acmlm's Board - I2 Archive - Rom Hacking - NES-emulation... on SNES?! | |
Add to favorites | "RSS" Feed | Next newer thread | Next older thread
User Post
FloBo

Koopa
Level: 17

Posts: 64/101
EXP: 20723
For next: 4020

Since: 09-11-04

Since last post: 3 days
Last activity: 13 hours
Posted on 07-16-05 10:32 PM Link | Quote
Hey there^^

Might sound stupid, but wouldn't it be possible to create an "NES-emulator" running on the SNES?!

As far as I know, the 65816 has an emulation-mode integrated that makes it act just like the 6502... so switching it to emu-mode and perhaps creating some framework for the NES-roms, and everyone could easily port every NES-rom onto a SNES-copier or Flash-cartridge... For now, there are no NES-flashcarts, so this would be quite an alternative, wouldn't it?

Just an idea, though. Now you may screw me for talking about things without having the proper technical background to really know if it "COULD" work or not^^

Anyway, this would be a challenge for any hacker out there, wouldn't it?!





btw: I know there are things like the Tri-Star allowing you to play NES/Famicom-games on the SNES (cause I own one of them myself)... so don't advice me to get this one^^
Dish

Spiny
Level: 38

Posts: 439/596
EXP: 355646
For next: 14801

Since: 03-15-04
From: Disch

Since last post: 18 days
Last activity: 18 days
Posted on 07-16-05 11:04 PM Link | Quote
Using the processor as-is without emulating it wouldn't work for the simple reason that you wouldn't catch register writes.

For example, to output graphics on the NES, you typically write to $2006 twice, then to $2007 several times so send data to the PPU. On the SNES, $2006 and $2007 are not PPU registers but something else entirely (RAM perhaps? not familiar with SNES). So an NES game will be writing to these areas, but unless your emulator is watching what the NES game is doing, your emu will just be writing junk values to RAM instead of taking those writes and giving them to your PPU emulation.

Among other things -- like cycle timing. NES games do lots of timing tricks for split screen effects and other things. For example a game might set scroll values to something at the start of a frame... then wait for, say, 2000 CPU cycles, then change the scroll values. On the NES, these 2000 CPU cycles translate to about 18 scanlines, so were a game to do this, it would cause a split screen effect (top portion of the screen scrolling independently of the bottom half). Even the simplest of NES games use techniques like this (see Balloon Fight, Excitebike). So your SNES emu will have tally up a running total of cycles as emulation progresses.

So yeah... even though the processors are the same or similar... you still have to emulate the CPU instruction-by-instruction (at least in this case).

However, I'm not really familiar with the SNES and what it can do, so I might be off base on a few points (however I still find it unlikely). There already has been a halfway decent NSF player for the SNES (however the triangle and noise are a little sketchy and the DMC is completely missing). But I find a full emulator somewhat out of the question. (Not to mention completely pointless)
FloBo

Koopa
Level: 17

Posts: 65/101
EXP: 20723
For next: 4020

Since: 09-11-04

Since last post: 3 days
Last activity: 13 hours
Posted on 07-16-05 11:18 PM Link | Quote
Then why not write some kind of converter that changes just THAT stuff for SNES-compatiblity and wraps up all that in a smc-container?! Or is this even more impossible?
Dish

Spiny
Level: 38

Posts: 440/596
EXP: 355646
For next: 14801

Since: 03-15-04
From: Disch

Since last post: 18 days
Last activity: 18 days
Posted on 07-16-05 11:56 PM Link | Quote
erm... well the "some kind of converter" you're talking about is called an emulator. That's exactly what they do. However despite the similarities between NES/SNES processors (and PPUs?) it would still take a great deal of work to get an NES game running on the SNES. I'm willing to bet it's more than the SNES can handle (or at least handle at any reasonable speed without leaving out sound emulation or other areas).

Here's what I'm saying:

The SNES can't just run the NES game's code (well I guess it could, but it wouldn't do anything) -- The fact that they have similar processors means absolutly nothing. The SNES emu would have to examine each and every executed instruction and do things like write/read register checks, and cycle count totalling. You're talking an extra 15 or so instructions for every single instruction the NES game executes -- and that's JUST for CPU emulation -- you still have PPU, APU, mapper emulation and timing issues to worry about besides that.


(edited by Disch on 07-16-05 02:59 PM)
(edited by Disch on 07-16-05 03:10 PM)
(edited by Disch on 07-16-05 03:12 PM)
FloBo

Koopa
Level: 17

Posts: 66/101
EXP: 20723
For next: 4020

Since: 09-11-04

Since last post: 3 days
Last activity: 13 hours
Posted on 07-17-05 12:27 AM Link | Quote
No. I didn't mean an emulation in the ordinary way... I mean some program on the computer to modify the NES rom and change it into an ordinary SNES-rom that can be executed like any other SNES-rom...

So the major work would have to be done by the computer and the SNES could run the game as every other commercial game...
PeterGriffinTheMan

Deddorokku
Level: 29

Posts: 230/425
EXP: 137018
For next: 10867

Since: 03-02-05

Since last post: 4 hours
Last activity: 6 hours
Posted on 07-17-05 12:29 AM Link | Quote
This should be in the General Emulation. This is not a hack.
Dish

Spiny
Level: 38

Posts: 441/596
EXP: 355646
For next: 14801

Since: 03-15-04
From: Disch

Since last post: 18 days
Last activity: 18 days
Posted on 07-17-05 12:36 AM Link | Quote
If a platform conversion program was plausable, there'd be no such thing as platform dependence. Every game, every program, for every platform would be able to run on any other platform of equal power. But of course that's a fantasy.

I can't really explain why platform converting is difficult.... it just is. It's easy to see why when you start to think of how you would write such a program. If you have any programming experience take a look at how different the NES and SNES graphics registers work -- and you should see pretty quick why what you're asking is so hard.
beneficii

Lakitu
Level: 36

Posts: 279/567
EXP: 299656
For next: 8454

Since: 06-27-04
From: Cordova, TN, USA

Since last post: 14 hours
Last activity: 6 hours
Posted on 07-17-05 12:48 AM Link | Quote
Originally posted by FloBo
No. I didn't mean an emulation in the ordinary way... I mean some program on the computer to modify the NES rom and change it into an ordinary SNES-rom that can be executed like any other SNES-rom...

So the major work would have to be done by the computer and the SNES could run the game as every other commercial game...


Well, that's not really what we thought you were talking about earlier. You should have been clearer about it.

It is feasible, yes, to do the conversion, but a lot of work would have to be done, including a full disassembly of the old ROM so you know when, where, and how it writes to and reads from certain registers. Then, from scratch, you would have to create the assembly of it being done on the SNES.

Since nobody has even made the perfect disassembler yet (and it's extremely unlikely anybody will), nobody can make a program where you type in the name of the NES ROM, then type in the name of the SNES ROM you want, and then have a full SNES copy of the NES game. At this point, people begin to ask, "Why?"
Kyoufu Kawa
I'm not bad. I'm just drawn that way.
Level: 70

Posts: 1837/2481
EXP: 3008456
For next: 7355

Since: 03-19-04
From: Catgirl Central

Since last post: 14 hours
Last activity: 13 hours
Posted on 07-17-05 12:55 AM Link | Quote
Ninja Gaiden Trilogy.

They, ofcourse, had the original source to work with.

They prolly did just what Beneficii said. Rewrite all I/O to work on SNES.
Dish

Spiny
Level: 38

Posts: 442/596
EXP: 355646
For next: 14801

Since: 03-15-04
From: Disch

Since last post: 18 days
Last activity: 18 days
Posted on 07-17-05 01:05 AM Link | Quote
Porting != Platform conversion

Like you said, they had the original source. But they also had to [manually] rewrite seperate sections and recompile. They did NOT just convert the NES game to SNES or vice versa.
HyperLamer
<||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people

Sesshomaru
Tamaranian

Level: 118

Posts: 5819/8210
EXP: 18171887
For next: 211027

Since: 03-15-04
From: Canada, w00t!
LOL FAD

Since last post: 2 hours
Last activity: 2 hours
Posted on 07-17-05 01:55 AM Link | Quote
Hm, isn't the SA-1 a separate 65816 chip? It might be able to do CPU emulation while the SNES's handles other stuff. Just a thought...
Oh and those 'NES adaptors' are generally entire NES systems, shrunk down, with a small SNES program to output the audio and video through the SNES and get controller input. Just like Super Game Boy. I do think SNES was originally planned to be NES-compatible, though, given how similar they are. (Check out the controller registers! Exactly the same, but with a second register for X/Y/L/R. )
DukeNukem007

Shyguy
Level: 13

Posts: 13/90
EXP: 9247
For next: 1020

Since: 07-08-05
From: Quahog, RI

Since last post: 18 days
Last activity: 12 hours
Posted on 07-17-05 02:04 AM Link | Quote
Yes, the 65816 is backwards-compatible with the 6502 (that's why the old Apple IIgs can run IIe/c/etc. applications, which use the same basic processors respectively.) But you'd have to make a heck of a lot of conversions to make the NES sound chip sound the same on the SPC700; the NES's 2bpp tile format is different from any of the SNES tile formats; then there's the memory structuring, etc. etc. etc.

"Hm, isn't the SA-1 a separate 65816 chip? It might be able to do CPU emulation while the SNES's handles other stuff."

Yeah it basically is; it allows the SNES to effectively "overclock" in high-end games like Mario RPG and Jikkyou Oshiaberi Parodius.
beneficii

Lakitu
Level: 36

Posts: 281/567
EXP: 299656
For next: 8454

Since: 06-27-04
From: Cordova, TN, USA

Since last post: 14 hours
Last activity: 6 hours
Posted on 07-17-05 02:05 AM Link | Quote
Originally posted by HyperHacker
Hm, isn't the SA-1 a separate 65816 chip? It might be able to do CPU emulation while the SNES's handles other stuff. Just a thought...
Oh and those 'NES adaptors' are generally entire NES systems, shrunk down, with a small SNES program to output the audio and video through the SNES and get controller input. Just like Super Game Boy. I do think SNES was originally planned to be NES-compatible, though, given how similar they are. (Check out the controller registers! Exactly the same, but with a second register for X/Y/L/R. )


Yeah, that could be doable and practical on hardware, but what the hardware would have to do would be outside the scope of a ROM file for the system, because it would have its own little processor that takes the load off the main SNES and SPC processors, and so is not practical to do on a normal PC. Of course, theoretically, you could test it out on a PC by writing a few coordinating emulators. The results of that would be interesting.
Kitten Yiffer

Purple wand
Furry moderator
Vivent l'exp����¯�¿�½������©rience de signalisation d'amusement, ou bien !
Level: 135

Posts: 10542/11162
EXP: 28824106
For next: 510899

Since: 03-15-04
From: Sweden

Since last post: 3 hours
Last activity: 4 min.
Posted on 07-17-05 02:53 AM Link | Quote
I read back in the day about an unlicensed NES>SNES convertor for SNES. It was never released... so yeah it is possible.

I have no idea how that convertor worked, maybe it was just a NES clone that just transered the video image and sound through the NES.
Fx3

Shyguy
Level: 13

Posts: 71/80
EXP: 10252
For next: 15

Since: 04-11-05
From: Brazil

Since last post: 98 days
Last activity: 34 days
Posted on 07-17-05 03:00 AM Link | Quote
Facts:

1. There's an adaptor (Hong Kong) to play NES games on SuperNES. I already saw pictures of it, but never heard any "user" of this... device.

2. A few NES games are "floating" as SuperNES ROMs, like Donkey Kong and a few mapper #0 titles. I have no clue how they procceed for creating such hack. o.0;;

3. Like Disch said, a SuperNES console uses a different architecture. Even if the 65816 is an "extended" 6502 (in terms of instructions), you cannot run a NES game in a SuperNES console.

4. Do 1 + 2 + 3 and take your conclusions... ;;
HyperLamer
<||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people

Sesshomaru
Tamaranian

Level: 118

Posts: 5844/8210
EXP: 18171887
For next: 211027

Since: 03-15-04
From: Canada, w00t!
LOL FAD

Since last post: 2 hours
Last activity: 2 hours
Posted on 07-17-05 09:58 PM Link | Quote
I think those hacks just converted the sound and graphics code. Similar to Mario All-Stars, but unofficial. And yeah, I think most adaptors just use the SNES for I/O and do all processing themselves.
FloBo

Koopa
Level: 17

Posts: 67/101
EXP: 20723
For next: 4020

Since: 09-11-04

Since last post: 3 days
Last activity: 13 hours
Posted on 07-17-05 10:22 PM Link | Quote
I actually do know that the NES2SNES-converters like the Tri-Star are standalone NES-consoles that just use the In and Outputs from the SNES...

Anyway: which games do you mean that were converted in some way? I'd really love to play around with them a bit...

I'm sorry for the misunderstanding at the beginning... I'm not a native speaker so shame on me
Also, could anyone put this thread into general emulation, pls? Just put it into the wrong forum... shame on me again (makin mistakes like a noob... *hitsHisHeadOntoTheDesk*)
Add to favorites | "RSS" Feed | Next newer thread | Next older thread
Acmlm's Board - I2 Archive - Rom Hacking - NES-emulation... on SNES?! | |


ABII


AcmlmBoard vl.ol (11-01-05)
© 2000-2005 Acmlm, Emuz, et al



Page rendered in 0.017 seconds.