It is currently Wed Oct 23, 2019 8:21 pm

All times are UTC - 7 hours





Post new topic Reply to topic  [ 5 posts ] 
Author Message
PostPosted: Tue Apr 23, 2019 10:56 pm 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 11418
Location: Rio de Janeiro - Brazil
Have you guys heard about MetroBoy? I haven't tested it yet, but the concept is really cool. I really hope this sort of approach to emulation becomes practical for all kinds of classic systems.


Top
 Profile  
 
PostPosted: Wed Apr 24, 2019 12:34 am 
Offline

Joined: Tue Oct 06, 2015 10:16 am
Posts: 975
That's probably usable on a FPGA. Writing such code for computers is not very fast, and doesn't make much sense other than for verification.


Top
 Profile  
 
PostPosted: Wed Apr 24, 2019 7:32 am 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 11418
Location: Rio de Janeiro - Brazil
I think that emulating retro consoles at the circuit level is a pretty big deal... Making a functional emulator that runs most commercial releases well may not be that hard, but emulator authors that are aiming for accuracy (something really important for developers trying to discover new tricks or just making sure they aren't doing anything wrong by accident) often struggle with edge cases and whatnot, so a perfectly accurate replica of the console would solve all these problems.


Top
 Profile  
 
PostPosted: Wed Apr 24, 2019 10:18 am 
Offline

Joined: Tue May 28, 2013 5:49 am
Posts: 1208
Location: Hokkaido, Japan
I agree, white-box reproduction is needed to preserve the definition of old systems that are no longer manufactured. This is a great project.

This is also relevant though I guess.


Top
 Profile  
 
PostPosted: Wed Apr 24, 2019 11:20 am 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 8626
Location: Seattle
I see this as a mediocre alternative to Verilog, but it's a terrible way to actually run things on your computer. The way the code is structured is practically designed to pessimize performance (in his own words), so your CPU has to struggle extensively to get roughly-real-time performance. Now you're got a codebase that is slow (like higan) and hard to read (like zsnes)... it's basically the worst of both worlds. (Writing extremely non-idiomatic C++ means that other people can't really use it as reference). There's still no more guarantee that your emulation is guaranteed correct: if a transistor is connected wrong, that's really the same class as missing some test in understandable code.

The author acknowledges this:
Testing Verilog designs is a huge pain, and the compile-run-debug cycle can be hours long. By writing and debugging a circuit in C and then translating it to Verilog, you can leverage your C skills and tools and still have something you know will synthesize in the end.

Also, running the C code directly is potentially thousands of times faster than running Verilog in a simulator.


I think the worst part about game boy emulation is that there are at least five different major silicon revisions, which are all measurably subtly incompatible with each other. (see gekkio's summary on his emulator)

It does imply that zeroone's question about the practicality of just using the Visual2xxx transistor definitions could be revisited...


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

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 2 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