torsdag 24 mars 2016

MAME the virtual retro system archive

For some time now I have hacked bits and pieces of code for the MAME project. It started out as I needed a convinient way of debugging code I hacked for a retro machine and MAME quickly appeared on my radar as the best versatile vehicle to host my ideas. In fact when I started the part I was interested in was called MESS but this project has now converged back into the MAME project event though the core MESS devteam seems to lurk around in one forum and the hardcore arcade people more in another. The boundaries are not strict and over time noone will remember the distinction.



My growing interest in MAME was not the gaming part itself but the opportunity to run old code in emulated hardware. The "old code" resides on harddisks tapes and floppy disks of various sizes in my garage. I also realized that I could recreate old systems I once worked with back in the CRT era when people still had to write clean good code just because to fit it into the precious ROM/RAM. Moore's law killed that reason and the code nowadays are huge, complex and with endless layers of abstractions that blocks the horizon. The MAME source code is no different which I soon learnt the hard way.

The cool thing with MAME is that it prepared to emulate things at an arbitrary level of detail, only limited by, that's right, Moore's law! The things that are most demanding to emulate are the analog parts of old computers but MAME also emulates analog circuitry such as the famous Pong game from 1972


Compare with the MAME emulation done in 2015

MAME bases the emulation on the hardware design rather then trying to mimic the behavior and appearance. For obvious reasons there are trade offs where emulation meets the real world and the user from 2015 interacts with the creation from 1972.

In the end MAME, or one of its forks, might be the only way to run your old software, unless another project catches up which seems unlikelly. So that may save the day when it comes to hardware but the really big problem is "bit rot". This is when the bits are fading away from the original storage media and why it is important to dump the information before it vanishes. But that is a huge subject for later.

Inga kommentarer:

Skicka en kommentar