8 ms·
I accidentally deleted a bad game revision from MAME
- whaleofatw2022 3y agoGood read, a bit of a clickbait title though.
- bityard 3y agoFun story indeed, but yeah, nothing was deleted, accidentally or otherwise.
- sumtechguy 3y agoIn this case it looks like it was marked bad dump. But really a good dump but something else was wrong. It is why they keep bad dumps in there. Sometimes it is a resistor on the board tagging something in the code. I have one device that I do not think is in MAME yet. It has 4 games inside it. But it is sold as 4 different units and they just change the board config to make it boot different games. But the binary is the same on all 4 units. It is also good to go re-checking things. As new dumps show up sometimes. The problem people are starting to see though is MAME is see as a 'golden copy' and people are using it to make fixes/changes to real board. Then those boards end back up in the hands of people doing dumping and it becomes unsure if it is a verified dump or something else. Or people see the game in the list and say 'good enough' but it is actually a revision of the game. There is a whole site dedicated to that (not sure how up to date it is) unmamed.
- toast0 3y ago> In this case it looks like it was marked bad dump. But really a good dump but something else was wrong. No, it sounds like it was a bad dump. This writer found that they were able to get a different bad dump from the same game, but then when they ensured good contact with the reader, they managed to get a good dump that was a duplicate of another rom. It seems that for this arcade system, the roms for Taiwan and Mainland China are usually the same, with some system board setting? triggering use of Traditional vs Simplified writing, but when the taiwainese packaged game was dumped with errors, it didn't match; when dumped properly, it does match the mainland rom.
- mewse-hn 3y agoI'm presuming the title refers to the bad dump of the "Taiwan romset" being deleted from the MAME database, since the good dump is a dupe of the China romset.
- ZFH 3y agoDon't let the clickbait headline dissuade you, this is a great read if you're into emulation/retrogaming/any kind of software preservation.
- MPSimmons 3y agoYeah, agreed. I’m not actually into this scene but I enjoyed the write up.
- avg_dev 3y agowithout any experience in emulation or software preservation i still really enjoyed the post. i was waiting in suspense for the author to make a mistake and was so relieved when i saw they did not. when they were talking about the socket i was thinking "oh no, they must have cracked something"...
- rob74 3y agoYup... but the headline is still very clickbaity! In the end it turns out they didn't delete a game, they deduplicated it (i.e. deleted a game that was listed as a separate version, but was actually identical to the original), and they didn't do it accidentally, but on purpose.
- dang 3y agoWhat would be a better, i.e. more accurate and neutral title? We can change it. Edit: I changed it to "I accidentally deleted a bad game revision from MAME" for now - is that accurate enough?
- TillE 3y agoSNES ROMs have a checksum right in the header, but there were still bad dumps circulating for years. Presumably they escaped before the header was properly reverse engineered. I'm not exactly sure why that checksum exists, the console doesn't check it, and in manufacturing you could just read and compare. But it's certainly convenient for verifying a good dump.
- mattl 3y agoMaybe for the Nintendo Power kiosks? https://en.wikipedia.org/wiki/Nintendo_Power_(cartridge) https://en.wikipedia.org/wiki/Nintendo_Power_(cartridge)
- 0xcde4c3db 3y agoMost systems/formats/protocols were not robust against data corruption ca. 1990, so it might have been to detect corruption of the master copy in transit to the factory (whether that be via floppy, tape, EPROM, modem, etc.).
- nubinetwork 3y agoIt's pretty hard to calculate that checksum if you're writing homebrew, since the checksum is written to the rom file, which changes the checksum again...
- bdhcuidbebe 3y agoThat’s not how you do it, see https://snes.nesdev.org/wiki/ROM_header#Computing_the_Checksum https://snes.nesdev.org/wiki/ROM_header#Computing_the_Checks... specifically > Because the ROM header will be part of the computed checksum, before computing the checksum we should first fill the header's checksum and complement values with $0000 and $FFFF. Any value plus its complement will produce the same result, so this ensures the resulting checksum matches the ROM even after the computed checksum is replaced in the header.
- hakfoo 3y agoCould it be attacked as "the checksum is the value necessary to get the sum of the remaining bytes to (modulo) 00? I know that's how the option ROM checksums on PC BIOSes work.
- MegaDeKay 3y agoGood timing for a MAME story as v 0.263 was just released a couple days ago. Lots of good fixes as usual but not as big as last month's release that added a number of LaserDisc games like Dragon's Lair. https://www.mamedev.org/ https://www.mamedev.org/
- JKCalhoun 3y ago> I ultimately tricked it by inserting a real 27C322 first and reading that before swapping over to the chip I actually wanted to read. Once the reader’s recognized at least one chip, it seems happy to stick in 27C322 mode persistently. My people. I only aspire to be this damn clever. It's why I surround myself by people smarter than me.
- jareklupinski 3y agoreminds me of bypassing ps1 copy checks by using a 'swap disc' back in the day
- markx2 3y agoAh yes - a piece of blu-tac and timing the swap just right. For anyone else: The lid of the PS had a small protusion which pressed down a button when the lid closed. The game could not be started with the lid open. So a piece of blu-tac was used to depress that button. The first thing the PS did when loading a game was to check somewhere on the game disc for some code. This code confirmed the disc was genuine so the trick was to put any genuine game in the drive, use the blu-tac, start the console and at a certain point, after the code had been read but before the game loaded and at that point pull the genuine disc and insert the pirate disc you had.
- inputError 3y agoit was the wobble line on the inner circumference. that could not be reproduced by burners. problem was it checked for that, then allowed the rest of the disc to be read. that was the window in which you could put on your jolly roger hat and laugh.
- whaleofatw2022 3y agoOddly, most folks I knew used a Bic pen cap or similar as a sort of extender for the arm...
- fdsfdsafdsafds 3y ago
- Mountain_Skies 3y agoA hobbyist working on new software for the TRS-80/Tandy Color Computer recently realized that video emulation had a timing issue that caused the aspect ratio to be wrong and broke some clever techniques used to display more colors than supported. Apparently, no one noticed before or cared. I always thought it looked a bit off but assumed it was my wetware memory that was wrong. https://www.youtube.com/watch?v=IFB1bSU0T1s https://www.youtube.com/watch?v=IFB1bSU0T1s
- MisterTea 3y ago> It can’t have been cheap to design and manufacture these custom adapters, Years ago I made a similar interposer and it took me a few hours in kicad. Had 20 of them fabricated by futurlec for a few bucks each.
- mynameisvlad 3y agoNow imagine doing it in 1999 when Martial Masters was released.
- nick__m 3y agoIt would be pretty similar but you would use something closed source like orcad. And the pcbs for such a small batch would be made manually using the toner transfer process instead of using a subcontractor.
- haolez 3y agoSlightly related, but if I were retired today, one of my pet projects would be to train a LLM or whatever to generate new characters for MUGEN[0]. How cool would that be? Maybe the AI could come up with new fighting personas besides the grappler, shotokan, etc. Sounds like a fun project! [0] https://en.wikipedia.org/wiki/Mugen_(game_engine) https://en.wikipedia.org/wiki/Mugen_(game_engine)
- mmcdermott 3y agoI've been reading through the rules to the Fight! RPG by Divine Madness Press and have been similarly looking forward to building characters, moves, and combos for that fight system.
- actionfromafar 3y agoI read with dread waiting for the moment where the only chip in existence was accidentally destroyed. Glad that wasn’t it!
- RichardCA 3y agoYes, there are many challenges in reverse engineering these classic games. This is a good example. https://www.youtube.com/watch?v=objL2hGAEgU https://www.youtube.com/watch?v=objL2hGAEgU Living in L.A. in the 90's, I remember Pack Mann in Pasadena had this one. http://www.arcaderestoration.com/games/3330/Gals+Panic+II.aspx http://www.arcaderestoration.com/games/3330/Gals+Panic+II.as... The ROM dump's been done but people seem to be stuck on the RLE encoding. It's hard to say what kind of wizardry is needed in this case. https://github.com/mamedev/mame/issues/5816 https://github.com/mamedev/mame/issues/5816
- cpill 3y agocould somebody tell me why all the ROMs need updating _every time_ a new version of MAME is released? it would seem like a major cockup: updating the data, the ROM dumps which I imagine are always the same as they come from hardware(?), instead of the code? imagine if everyone had to update the data in their databases every time a new minor version of the database software was released!
- chungy 3y agoShort answer: They don't all need updating. Many of the most popular games go on for years without needing any updates, and usually if you already have settled on specific games and revisions thereof, you won't need to update. Longer answer: Every MAME update changes things, which includes adding, removing, and changing the definition of ROMs. Due especially to the nature of arcade games, there aren't convenient de facto wrapper formats (like, say, .nes or .sfc files), and MAME just defines each independent ROM as their own files, with MAME's own idea of what the names should be and accompanying sha1 hashes. If MAME developers/contributors have discovered that a game revision previously dumped was incorrect (as is the case in TFA), it might be replaced with a known good dump. In that case, you are expected to redump the game from your arcade board, this time the right way (or well, pirate the game, which most MAME users do...). It may seem annoying, but it's the nature of game preservation. It'll never be in a perfected and finished state.
- lupire 3y agoIt would be nice for MAME the "multiple arcade machine emulator" to be MAMAME the "multiple arcade machine and MAME emulator" , so that it could play ROMs built for older versions of MAME. PlayStation can emulate its older versions.
- chungy 3y agoYou could run old versions of MAME. To be fair, no ROMs are "built for MAME", just that MAME's database changes.
- ksherlock 3y ago
- markrages 3y agoFor problem with mechanical interference, the old school trick was to stack a few DIP sockets together and plug into those. These would space the adapter up off of the reader. (We used to use extra sockets to save wear on the chip pins during the program/burn/crash/debug cycle.)