MAMEWorld >> EmuChat
Previous thread Previous  View all threads Index   Next thread Next   Threaded Mode Threaded  

Pages: 1

joemagiera
MAME Fan
Reged: 04/16/08
Posts: 71
Loc: Evanston, IL, USA
Send PM


How do I (is this even possible?)...
#395976 - 04/13/23 04:36 AM


One of my primary uses of MAME is to compare MAME to a real boardset for diagnostic purposes.

One thing I find myself wondering, is it possible to remove a given RAM from a game and try to run it in MAME to see how it behaves without that RAM?

For example, hypothetically, suppose a real boardset has a 2114 RAM in physical board locations A1, B1, C1 & D1.

Is it possible in MAME to "remove" the 2114 RAM at A1 and see how the game behaves? If so, how do you do this?

Another one is Atari (and many other manufacturers) often use EAROMs to save high scores and operator settings. Is it possible to run the game without the EAROM in place? If so, how?

Joe (joemagiera at ameritech dot net)
[email protected]



PM's turned off. If you want to reach me, direct email please.

Joe (joemagiera at ameritech dot net)
[email protected]



Heihachi_73
I am the Table!
Reged: 10/29/03
Posts: 1074
Loc: Melbourne, Australia
Send PM


Re: How do I (is this even possible?)... new [Re: joemagiera]
#395978 - 04/13/23 11:26 AM


> One of my primary uses of MAME is to compare MAME to a real boardset for diagnostic
> purposes.
>
> One thing I find myself wondering, is it possible to remove a given RAM from a game
> and try to run it in MAME to see how it behaves without that RAM?
>
> For example, hypothetically, suppose a real boardset has a 2114 RAM in physical board
> locations A1, B1, C1 & D1.
>
> Is it possible in MAME to "remove" the 2114 RAM at A1 and see how the game behaves?
> If so, how do you do this?
>
> Another one is Atari (and many other manufacturers) often use EAROMs to save high
> scores and operator settings. Is it possible to run the game without the EAROM in
> place? If so, how?
>
> Joe (joemagiera at ameritech dot net)
> [email protected]

Probably not without editing and recompiling the source code. MAME is still in its infancy regarding modular devices, with only certain drivers having such a thing; it's much more common for a driver to still have fake "dip switches" or machine configuration toggles with several hard coded options which were known to be valid on real hardware, and with no real concept of emulating faulty hardware such as bad RAM or a mandatory device left unconnected. In some cases, MAME's emulation is too high-level (in before MAME-haters say MAME is already too slow!) so things like out-of-spec voltages, bad capacitors or faulty glue logic (e.g. 74xx chips) causing random errors won't show up in MAME.

Emulating a dud ROM is easy though, it's a simple case of creating a 0-byte file and renaming it to match the corresponding ROM file. For example, if you're emulating a failed ROM in Centipede and the zip is located in mame\roms\centiped.zip, put the dud file in the mame\roms\centiped folder (create the folder as it most likely won't exist) and MAME will read that instead. Also works for ROM hacks and newly-dumped games that use the exact same hardware e.e. ROM swaps. In this instance, you can only use MAME from the command line as the MAME interface will refuse to load an "incorrect" ROM.



joemagiera
MAME Fan
Reged: 04/16/08
Posts: 71
Loc: Evanston, IL, USA
Send PM


Re: How do I (is this even possible?)... new [Re: Heihachi_73]
#395982 - 04/13/23 04:52 PM


> Emulating a dud ROM is easy though, it's a simple case of creating a 0-byte file and
> renaming it to match the corresponding ROM file. For example, if you're emulating a
> failed ROM in Centipede and the zip is located in mame\roms\centiped.zip, put the dud
> file in the mame\roms\centiped folder (create the folder as it most likely won't
> exist) and MAME will read that instead. Also works for ROM hacks and newly-dumped
> games that use the exact same hardware e.e. ROM swaps. In this instance, you can only
> use MAME from the command line as the MAME interface will refuse to load an
> "incorrect" ROM.

Yes, definitely familiar with how to override a ROM. Wish I could do something with the RAM. Many games don't have a self-test to report bad RAM and many games don't test all the RAM in the self-test.



PM's turned off. If you want to reach me, direct email please.

Joe (joemagiera at ameritech dot net)
[email protected]



AJR Hacker
MAME Developer
Reged: 02/01/16
Posts: 144
Send PM


Re: How do I (is this even possible?)... new [Re: Heihachi_73]
#396011 - 04/15/23 04:34 AM


> Probably not without editing and recompiling the source code. MAME is still in its
> infancy regarding modular devices, with only certain drivers having such a thing;
> it's much more common for a driver to still have fake "dip switches" or machine
> configuration toggles with several hard coded options which were known to be valid on
> real hardware, and with no real concept of emulating faulty hardware such as bad RAM
> or a mandatory device left unconnected. In some cases, MAME's emulation is too
> high-level (in before MAME-haters say MAME is already too slow!) so things like
> out-of-spec voltages, bad capacitors or faulty glue logic (e.g. 74xx chips) causing
> random errors won't show up in MAME.

This is an excellent explanation. I would add that MAME exists to emulate working hardware, not non-working hardware, even though most drivers don't work when they're first added to MAME and despite the fact that many PCBs were not in working condition at the time they were obtained for dumping. Generally it isn't worth the effort to emulate incomplete or faulty hardware, though MAME does allow you to do things like removing slotted keyboards from PCs that will complain about their absence. It is, however, often possible to force the emulated CPUs down incorrect code paths by fiddling with debugger features such as watchpoints and state registers, if you know what data to modify and when to modify it; this method can be used to force memory tests to fail, for example.

Edited by AJR Hacker (04/15/23 04:37 AM)


Pages: 1

MAMEWorld >> EmuChat
Previous thread Previous  View all threads Index   Next thread Next   Threaded Mode Threaded  

Extra information Permissions
Moderator:  Robbbert, Tafoid 
1 registered and 328 anonymous users are browsing this forum.
You cannot start new topics
You cannot reply to topics
HTML is enabled
UBBCode is enabled
Thread views: 252