With the recent release of TI Boy CE, I have been thinking about the practicality of a Famicom/NES emulator on the 84+CE.
Knowing that:
- the Ricoh 2A03 in the FC and NES has a slower clock speed than the Sharp LR35902 of the Game Boy (1.79 vs 4.19 mhz) (interestingly enough, Nintendo originally considered using the z80 in the Famicom)
- the FC has less RAM than the Gameboy (2kb vs 8kb+ 8kb video ram)
- the FC has a higher resolution of 256x240 (2.66x the gameboy), maybe manageable because of its inferior hardware?
- FC cartridges typically don't exceed 1mb (31 kb in the case of Super Mario Bros)

it appears that a well-written emulator would run at full speed. I only know a small amount of assembly, but I am willing to improve on it to write my own programs. Don't hold your breath though; I'm already tight on free time without such a project.

But before I start working on anything though, I want to ask those of you with more experience if there are any quirks with the Famicom that would get in the way.
Infeasible.
MateoConLechuga wrote:
Infeasible.

Or in words that are helpful:
IRC wrote:
>[MateoC] The 6502 is virtually 4x faster than a z80 at the same speed
>[MateoC] There's also the dedicated graphics block running at 3x cpu speed
>[Runer112] it looks like the NES CPU executes maybe about twice as many instructions per clock as the z80
>[Runer112] so cpu speed is about a wash
>[MateoC] Maybe it is possible
>[MateoC] But you have to translate every instruction, including relocation fixes at runtime
>[MateoC] Emulating anything other than a z80 would be a pain
IRC wrote:
>[MateoC] The 6502 is virtually 4x faster than a z80 at the same speed
>[MateoC] There's also the dedicated graphics block running at 3x cpu speed
>[Runer112] it looks like the NES CPU executes maybe about twice as many instructions per clock as the z80
>[Runer112] so cpu speed is about a wash
>[MateoC] Maybe it is possible
>[MateoC] But you have to translate every instruction, including relocation fixes at runtime
>[MateoC] Emulating anything other than a z80 would be a pain

Hmm, that is a lot of "quirks." Processor comparisons aren't quite "linear" and I'd have to provide a recompiler. I appreciate the warnings before I go headlong into my ideas.
I'll also echo some stuff I said on IRC:

Runer112 on IRC wrote:
16:48:52 <Runer112> an emulator is definitely not a best first project
16:49:44 <Runer112> for reference, the author of TI-Boy is probably one of the best writers of efficient z80 code in the world
16:50:39 <Runer112> and it runs at like 200% speed in good conditions
16:51:15 <Runer112> unless you're at least half as good at z80 as one of the best in the world, it'll be tough


And upon retrospection, that last statement is too generous. Unless you're half as good at z80 as one of the best in the world, it'll be nigh impossible. Even if you're at least half as good, it would be tough.
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
 
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 vote in polls in this forum

 

Advertisement