[Tfug] Mildly OT: Mame, anyone?

Bexley Hall bexley401 at yahoo.com
Sun Mar 24 22:54:11 MST 2013


Hi Zack,

On 3/24/2013 8:34 PM, Zack Williams wrote:
> On Sun, Mar 24, 2013 at 5:02 PM, Bexley Hall<bexley401 at yahoo.com>  wrote:
>> Has anyone gone this route to share observations of the
>> process and results?  I.e., are games *truly* and completely
>> emulated (insofar as I/O's will allow)?  Or, is it a case
>> of "90% results" like so much FOSS ("well, it *almost* works,
>> but...")
>
> It really depends on how well the target system is understood.  For

Of course!  Many of the games from that era used full custom
silicon -- usually to provide a functionality that wasn't
readily available in a ~1-2MHz 8b processor (but, more often
than not, it was done to hinder counterfeiters!)

> example, here's an article about someone going to great lengths to
> build a cycle accurate SNES emulator:
>
> http://arstechnica.com/gaming/2011/08/accuracy-takes-power-one-mans-3ghz-quest-to-build-a-perfect-snes-emulator/

Hmmm... I wouldn't have thought trying to emulate individual
machine cycle times would be a fruitful endeavor.  Especially
given the variations in machines that are being *used* to
emulate the originals!  (i.e., "you must run this emulator on
*this* PC with *this* video card and *this* OS...")

Rather, I would have thought a more "macro level" emulation would
have been attempted (?)

Many of the machines of that day had true parallel processes.
Multiple processors, special dedicated hardware that operated
in parallel with the "main" processor, etc.

And, lots of implicit relationships with the video hardware
E.g., since the video wasn't double buffered (16K of RAM was
expensive!), the software often watched the location of the
"beam" (figuratively speaking) so that updates to images
currently being displayed wouldn't incur video artifacts
(e.g., tearing).

I.e., if you are going to simulate instruction timings to
the same accuracy of the original processors, then you would
also have to simulate *all* of the concurrent hardware
processes in a given game to that same level of accuracy.
(and do this on a "generic" PC???)

> I'd probably ask on lists/forums dedicated to the emulation programs
> you're considering.

I thought MAME tried to handle "everything" under a unified tent?
(hence the appeal -- instead of having to support an emulator
for each particular game/manufacturer)

Hmmm... perhaps the better approach is to implement games in
VHDL on a small piece of reconfigurable hardware?  (i.e., you
can easily drop a processor core on a modern FPGA and just
glue some memory on for the frame buffer -- the CRTC being
implemented in another corner of that same FPGA...)

Then, you get *truly* accurate emulation!  Of *everything*!!




More information about the tfug mailing list