Skip to content

Handlers TODO

Megan Leet edited this page Jul 15, 2018 · 49 revisions

This is all the stuff I can think of that possibly could be written into a handler, but for whatever reason I haven't and I don't know how I'm going to make this work nicely or if it's really in scope or if I could even write a stub handler

Stuff that's in ROMniscience as a stub handler, but I think can be much more than that:

  • Atari Lynx (there is a .lnx format which contains additional metadata that apparently emulators need, but I can't really find much documentation other than a command line tool that adds the header); recognized by file(1) but nothing except the RAM start
  • Cybiko Classic https://web.archive.org/web/20010701031957/http://groups.yahoo.com:80/group/CybikoDev/files/Pazera/app.txt
  • Gamate: Has "BIT CORPORATION" copyright at the beginning, even for games that aren't made by Bit Corporation. It's quite possibly something that the BIOS checks to boot the game
  • GameKing, GameKing 3: Has a "GZ Daidaixing Tec.Electronics Co.,ltd" at the beginning (after some random bytes which are all the same and might be Shift-JIS or similar that I just can't see with the crappy hex editor I'm using). May also be a thing
  • Intellivision: Most definitely has a thing for the BIOS to read and display a title and copyright and whatnot, although some games skip this and display their own copyright screen because they're smartarses; just need to find the right documentation
  • Leapster Learning Game System (looking at the ROMs in a hex editor, there's definitely some stuff in there, but it's not at the same offset with different ROMs and so I don't know what's going on there; anyway, since nobody cares about children's edutainment consoles except me, there's not much info out there)
  • MSX, MSX2: Konami carts at least have a product code in the header, seemingly (file can read it)
  • PC Engine CD: https://emu-docs.org/PC%20Engine/pce_doc/pce_cdrom.html
  • Tiger Game.com (a bit dubious... half the ROMs have what appears to be a magic string and an internal name near the start, some of them don't and have quite a lot of 0s instead; the BIOS doesn't show anything when you insert the cartridge before launching the game or anything like that)
  • ZX Spectrum: See TODO comments

Stuff that isn't even a stub handler but I figured out I can make a thing:

Extra file formats

  • Gamecube .dol files, not that they'd have much info by themselves
  • PSX executables (recognized by file(1))
  • Wii WBFS, CISO, WIA, WDF (all readable with file(1), but I want to look more into them)

Filesystems that can be read once I do filesystems

  • 3DO (custom FS)
  • 3DS (custom FS, but is it well-known and documented?)
  • Amiga (unknown, but disks would probably have a filesystem, CDs for CDTV and CD32 almost certainly do)
  • Atari 8-bit (floppy disks should have a filesystem of some kind)
  • Bandai Pippin (HFS+; don't think it has the "Where have all my files gone?" HFS partition that Mac HFS+ disks have)
  • CD-i (custom FS, known to be similar to ISO9660)
  • Commodore 64 (tapes and disks should have a nice flat filesystem with no subdirectories, could be an easy starting point)
  • Dreamcast (ISO9660)
  • e-Reader (well, sort of; could get the compressed VDF whatsitcalled files and call that a filesystem)
  • Jaguar (custom filesystem by the sounds of it)
  • Mega/Sega CD (ISO9660)
  • Neo Geo CD (ISO9660, by the looks of it? See https://wiki.neogeodev.org/index.php?title=Game_CD_structure for what you can do here)
  • PC Engine CD: The bootleg Games Express games have ISO9660, and only those; seems the standard CDs don't have a defined filesystem at all
  • PS1 (ISO9660, need this to get at the executable which has all the juicy info)
  • PS2 (UDF? Something that normal PCs can read)
  • PSP (ISO9660 I guess, need this to get EBOOT inside non-homebrew stuff)
  • Saturn (ISO9660?)
  • Wii (same sort of filesystem as Gamecube, or is it?)
  • Xbox 360 (custom FS which would be slightly different, though I think game discs would have that other session that says "haha don't put this in a PC you goose")
  • Xbox (custom FS, though it should be documented I think, and then we can see the executable)
  • ZAPiT GameWave (UDF I think)

Computers that might have simple filesystems on floppies/tapes but might not

  • Acorn Electron
  • Coleco Adam
  • Amiga
  • Amstrad CPC
  • APF Imagination Machine
  • Apogey BK01 / Mikrosha / Orion-128 / Partner 01.01 / Radio 86-RK
  • Apple II
  • Apple IIgs
  • Apple Lisa
  • Atari ST
  • BBC Micro
  • Commodore PET
  • FM-7
  • Galaksija
  • Amstrad CPC+ / GX4000
  • Laser 200
  • Luxor ABC80
  • Mattel Aquarius
  • MSX
  • MSX2
  • Oric
  • PC-6001
  • PC-88
  • PC-98
  • Sam Coupe
  • Sharp MZ
  • Sharp X1
  • Sharp X68000
  • Sega SC-3000 / SF-7000
  • Sord M5
  • SVI-318 / SVI-328
  • Tandy Coco
  • PV-2000
  • Thomson
  • TRS-80
  • Commodore VIC-20
  • ZX-81
  • ZX Spectrum

And then I'll make a generic CD handler that just looks for any filesystems it can find (particularly ISO9660/Joliet/HFS/HFS+/UDF), and that'll take care of all the PC discs I have lying around (is autodetection a better way to do things in general? Should I screw extensions entirely unless I have to use them?). If I do make a Windows or DOS or Mac etc handler it'll be for the executable formats instead, and.... hmm.... gonna go back to contemplating if I want to do that or not

Stuff I do have lying around and maybe could add

Mostly floppy disk-based systems and stuff... I'm not sure if I should read those in a uniform way like what's being done with CDs now, or is that not really a thing that can be done and I'm saying words too much; and also I'm gonna need to think about where I want to go with this. What's considered a ROM? I guess I'm already reading floppies and tapes which aren't ROMs, so how far does ROMniscience go in what it can do? Should I do things because I can?

Bold: In No-Intro or Redump

Italic: Popular enough to be listed on Retropie's wiki, which I don't care about directly, but it means that most people think the system is interesting enough

  • Acorn RISC OS (weirdly named executables - questionable if this is in scope)
  • Acorn various 8-bit (not even sure where this folder comes from... is the Electron not an 8-bit Acorn system? Well, there would be Atom too I guess; anyway, it has .rom files which is interesting I suppose)
  • Adobe Flash (okay now I'm just getting carried away, please stop me)
  • Android (.apk which SharpCompress probably won't open automatically but perhaps we don't want it to, just leverage its capabilities to poke inside), may be out of scope
  • APF Imagination Machine: Should be same sorta deal as APF-MP1000 in theory? But it has more media formats available than just cartridges
  • BBC Bridge Companion: MAME software list has split files, and yet the -cart slot takes a single .bin image, so I'll have to figure out what's going on here and perhaps how to handle this
  • C64DTV: Look more into C64 .prg and .d64 files first, and then we can figure out if these work the same way, or they're a weird different thing (probably the former, but I'll need to know in what way they're different etc)
  • Commodore 128 ^
  • Commodore 16, Plus/4 Could be same as C64 effectively? I just gotta remember that C16, C116, and Plus/4 are all the same software family
  • Commodore VIC-10 / MAX: Cartridge-only RAM-reduced version of C64, although uses the convention of putting the load address in the file extension and doesn't seem to use the CCS64 header at any point
  • Doom (.wad, out of scope? But these days it's like a ROM and PrBoom/GZDoom/etc are like emulators, or maybe that's the weird way that I see things)
  • DOS/Windows (.exe but also floppy and CD images. Windows would probably be a separate handler if these two would be added at all, might be out of scope, maybe not... anyway, isn't that only a problem I have to worry about? I could just decide that yeah let's do that if I wanted anyway I dunno)
  • Dragon 64: There are .pak files, but those don't seem to be supported by MAME at the moment so I have no idea what they are...
  • FM Towns Marty: Well.... hmm. I guess I would really just be adding an FM Towns Not-Marty handler? But then it's just a computer and so if I added that I'd be adding Windows and Mac too, and I'm still undecided if I want to do that or not. Anyway, the main problem I've noticed is that I'd need to specify that a handler can have both CD files but also other files (floppies in this case)
  • J2ME (well, they're jar files, and would be similar to Android .apks in whether or not they belong here... questionable for inclusion)
  • Mac (CD images and perhaps raw floppy images, applications wouldn't really work being by themselves unless the user runs this on Mac OS X. Maybe out of scope, but not much different from a technical perspective than Bandai Pippin if you think about it)
  • MAME romsets (would need to process this specially, since we don't want to look inside the zips, we just want to get the filenames without extensions of things that are there, and we'd also need to give the user a way to give a path to the MAME executable; however, it is possible we could detect if a ROM is a certain arcade system that has a specific ROM format we can read from - I suspect Naomi stuff will be readable if we get Dreamcast working)
  • N-Gage: Well, they're folders instead of regular files, so... hmm. How would you deal with that?
  • Nichibutsu My Vision (cartridges) - It's a console so definitely in scope and whatnot, it's just that to implement it I would need to redo the way in which I use file extensions, because it doesn't have any, and in fact MAME's software list just has it as kinda... romsets? Oof, that could be tricky, actually...
  • PS3 (just have .pkg homebrew at the moment, dumping the one PS3 disc I have (the PlayTV disc) would require a real PS3 from what I can gather, so I won't do this yet, because I don't have a real PS3)
  • Quake (see Doom for thoughts)
  • ScummVM (bit ehhhh about including this, since it's really files from other systems)
  • Squale: First I just need to find out what exactly a Squale is
  • Thomson: Need to see if I should split M series and T series from existing Thomson.cs
  • TI-83/TI-84+/whatever things: Need to figure out which has what kind of software and which is compatible with what; TOSEC lists TI-73, TI-80, TI-81, TI-82, TI-83, TI-85, TI-86, TI-89, and TI-92
  • TI-99/4A: There's a bit of confusion (well, I'm personally confused) with the cartridge format, so I'll figure that out first
  • Wii U (haven't dumped any discs yet because I can't afford a sizable SD card, but digital games have interesting stuff inside, I'll leave it until I have some disc dumps and then I'll start playing around with some shit because I know there are headers in there and DAMN are there headers there's so much for me to play around with)

Stuff I don't have

Due to obscurity or recency/unwillingness or whatever other reason, I don't actually have any dumps from these systems, which impacts my ability to put them in because I can't be sure that they work. I need to find homebrew for these or something like that

Cartridge based:

  • Acorn Atom (computer, in MAME with the carts in the software list)
  • Atari Falcon (MAME driver has a cartridge slot but no cartridge-based software list?)
  • Atari Portfolio
  • Bandai Super Note Club
  • Bandai SV 8000
  • Benesse Pocket Challenge W
  • Commodore CBM II/B128/B500 stuff (not sure exactly what stuff is called)
  • digiBlast
  • Fidelity Elite Avant Garde / Elite AS Challenger / Elegance Chess Challenger (in MAME with software); chess-oriented
  • Goldstar FC-100 (not a MSX1 computer but shows up on MSX sites anyway, more similar to the PC-6001 but not that either)
  • Hanimex Pencil II
  • Itautec I-7000 (in MAME with software)
  • Leapfrog Didj / Explorer
  • Mephisto Super Mondial 2
  • Neo Geo AES (although maybe I just care about the MVS arcade version with MAME romsets)
  • Pixter
  • Rowtron Television Computer System
  • Speak & Spell (in MAME with... software)
  • Thomson Prodest PC 128 (computer with carts in MAME)
  • TI Language Tutor (in MAME with software)
  • Tomy Prin-C
  • VTech Genius 128 (in MAME with software)
  • VTech Genius Leader stuff, which is apparently compatible with some kind of Cars 2 laptop which is in MAME with software
  • VTech Junior Movie (in MAME with Software)

Disk based:

  • ACT Apricot PC-Xi
  • Apple I
  • Apple III
  • Applied Technology MicroBee
  • MSX Turbo-R

Tape (bleh):

  • UT-88 (Radio 86-RK clone)
  • Mikro-80 (Radio 86-RK clone)
  • Specialist (Radio 86-RK clone)

I mean, there are a whole ton of computers listed in TOSEC or emulated in MAME that I don't even know are computers or what their deal is, so that list could be infinite

Optical:

  • American Laser Games CD-ROM System (some kinda thing that had Mad Dog II on it)
  • Mattel HyperScan (DVD or are they CDs actually? Uses UDF either way; not sure how the cards are dumped if they are; only the optical discs are in Redump)
  • Memorex Video Information System
  • Nuon (pretty sure they'd just be DVD videos with weird things added)
  • PalmOS has 2 discs in Redump somehow? But it's like.... PalmOS
  • Pioneer LaserActive
  • PlayStation Gameshark Pro (it's a separate system in Redump and I don't even know)
  • TAB-Austria Quizard (Redump, this is... a uhh... clone of the CD-i?? uhhhhhhh)
  • Tomy Kiss-Site (whatever the fuck that is; in Redump)
  • VTech V.Flash & V.Smile Pro (Redump)

Uhhh

  • Chip-8 (was this a real system or not? I forgot)
  • Gizmondo (I think it's just a collection of files on removable media similar to N-Gage? Unofficial text format No-Intro datfile)
  • I don't even know what the PS Vita does and I don't want to know
  • ResidualVM (see ScummVM)
  • Tapwave Zodiac (ditto, based on Palm OS)
  • Z-Machine (why don't I have freeware Z-Machine games lying around? I used to play them all the time when I was a kid, anyway this is questionable for inclusion)

Arcade systems which might have their own consistent format (might have to start reading .chd files)

Honestly at this point I'm just getting ahead of myself and looking up shit on Wikipedia please stop me

  • Triforce (Redump) Gamecube based system
  • Chihiro (Redump) Xbox based system
  • Lindbergh (Redump) PC based system
  • Naomi (Redump) Naomi based system
  • Neo Geo MVS (AES is the home one)
  • CPS series
  • DECO Cassette System I suppose
  • eX-Board (PC based, Arcana Heart 2)
  • PolyGame Master 1/2/3
  • Konami System 573 (Playstation based, DDR)
  • Quantum3D Graphite (PC based, Arctic Thunder)
  • Nintendo VS System, PlayChoice-10 (NES based, although by itself the NES has no metadata)
  • Nintendo Super System (SNES based, individual .sfc dumps are in No-Intro)
  • Namco System 11/12 (Playstation based, albeit uses ROM chips and not discs, used in Tekken I guess)
  • Namco System 10 (PlayStation based, some with ROM chips and some with CDs)
  • Namco System 246/256/Super 256/147 (PS2 based, has CD and DVD discs but also a hard drive)
  • Namco System N2 (PC based, uses hard drive)
  • Namco System ES1/ES2+/ES3 (PC based, uses hard drive)
  • Namco System 357/359/369 (PS3 based, uses hard drive)
  • Sega/Sammy Atomiswave (Naomi and hence Dreamcast based, uses ROM board)
  • Sega Mega-Play, Mega-Tech (Megadrive based, should just be straight up Megadrive ROMs?)
  • Sega System 14 (aka System C) Megadrive based, might not use normal Megadrive header
  • Sega ST-V (Saturn based, uses ROM cartridges or CDs)
  • Sega Hikaru (Naomi and hence Dreamcast based, uses ROM board)
  • Sega Europa-R (PC based)
  • Sega RingWide (PC based, uses little CompactFlash card)
  • Sega RingEdge / RingEdge 2 (PC based, uses SSD)
  • Sega Nu (PC based, uses SSD + HDD but also Bluray drive? Hmm)
  • Seibu SPI system (cartridge based)
  • Hyper Neo Geo 64 (seemingly cartridge based?)
  • Taito F3 (cartridge based, Puzzle Bobble 2)
  • Taito Type X/X+/X2/X Zero/X3/X4 (PC based, seems to use hard drives)
  • TIA-MC-1 (ROM board) ☭☭☭☭☭☭☭☭☭☭☭☭☭☭☭☭☭☭☭☭☭☭☭☭☭
  • Seta Aleck64 (N64 based, and yes the ROM in there has all the normal N64 metadata although it's byteswapped. Is it consistently named? Or can we otherwise programmatically figure out which ROM in the MAME romset is the N64 ROM? Hmm)

Just to look more into this Aleck64 thing, since I know it has a ROM format we can look at, here's all the Aleck64 games:

aleck64          Aleck64 PIF BIOS (doesn't count but anyway)
                <rom name="pifdata.bin" size="2048" crc="5ec82be9" sha1="9174eadc0f0ea2654c95fd941406ab46b9dc9bdd" region="user1" offset="0"/>
                <rom name="normpnt.rom" size="128" crc="e7f2a005" sha1="c27b4a364a24daeee6e99fd286753fd6216362b4" region="normpoint" offset="0"/>
                <rom name="normslp.rom" size="128" crc="4f2ae525" sha1="eab43f8cc52c8551d9cff6fced18ef80eaba6f05" region="normslope" offset="0"/>
11beat           Eleven Beat
                <rom name="pifdata.bin" merge="pifdata.bin" size="2048" crc="5ec82be9" sha1="9174eadc0f0ea2654c95fd941406ab46b9dc9bdd" region="user1" offset="0"/>
                <rom name="nus-zhaj.u3" size="8388608" crc="02faa8a7" sha1="824911452639cedf6a8186c05cd046e61fc98896" region="user2" offset="0"/>
                <rom name="normpnt.rom" merge="normpnt.rom" size="128" crc="e7f2a005" sha1="c27b4a364a24daeee6e99fd286753fd6216362b4" region="normpoint" offset="0"/>
                <rom name="normslp.rom" merge="normslp.rom" size="128" crc="4f2ae525" sha1="eab43f8cc52c8551d9cff6fced18ef80eaba6f05" region="normslope" offset="0"/>
doncdoon         Hanabi de Doon! - Don-Chan Puzzle
                <rom name="pifdata.bin" merge="pifdata.bin" size="2048" crc="5ec82be9" sha1="9174eadc0f0ea2654c95fd941406ab46b9dc9bdd" region="user1" offset="0"/>
                <rom name="ua3003-all01.u3" size="16777216" crc="f362fa82" sha1="4f41ee23edc18110be1218ba333d1c58376ab175" region="user2" offset="0"/>
                <rom name="ua3003-alh01.u4" size="16777216" crc="47c56387" sha1="c8cc6c0a456b593aef711d0a75b2342ba2f8203f" region="user2" offset="1000000"/>
                <rom name="nus-zsij-0.u1" size="8388608" crc="547d8122" sha1="347f0785767265acb0f0c21646e06cbe6f561821" region="user3" offset="0"/>
                <rom name="normpnt.rom" merge="normpnt.rom" size="128" crc="e7f2a005" sha1="c27b4a364a24daeee6e99fd286753fd6216362b4" region="normpoint" offset="0"/>
                <rom name="normslp.rom" merge="normslp.rom" size="128" crc="4f2ae525" sha1="eab43f8cc52c8551d9cff6fced18ef80eaba6f05" region="normslope" offset="0"/>
hipai            Hi Pai Paradise
                <rom name="pifdata.bin" merge="pifdata.bin" size="2048" crc="5ec82be9" sha1="9174eadc0f0ea2654c95fd941406ab46b9dc9bdd" region="user1" offset="0"/>
                <rom name="ua2011-all02.u3" size="16777216" crc="eb4b96d0" sha1="e909ea5b71b81087da07821c4f57244576363678" region="user2" offset="0"/>
                <rom name="ua2011-alh02.u4" size="16777216" crc="b8e35ddf" sha1="7c3e59f6520dc3f0aa592e682fa82e30ffd1f4d0" region="user2" offset="1000000"/>
                <rom name="nus-nsij-0.u1" size="8388608" crc="94cf9f8d" sha1="cd624d1f5de2be3bec3ece06556a2e39bef66d77" region="user3" offset="0"/>
                <rom name="normpnt.rom" merge="normpnt.rom" size="128" crc="e7f2a005" sha1="c27b4a364a24daeee6e99fd286753fd6216362b4" region="normpoint" offset="0"/>
                <rom name="normslp.rom" merge="normslp.rom" size="128" crc="4f2ae525" sha1="eab43f8cc52c8551d9cff6fced18ef80eaba6f05" region="normslope" offset="0"/>
kurufev          Kurukuru Fever
                <rom name="pifdata.bin" merge="pifdata.bin" size="2048" crc="5ec82be9" sha1="9174eadc0f0ea2654c95fd941406ab46b9dc9bdd" region="user1" offset="0"/>
                <rom name="ua3088-all01.u3" size="16777216" crc="00db4dbc" sha1="824fdce01fffdfcbcc9b1fbda4ab389a10b2b418" region="user2" offset="0"/>
                <rom name="ua3088-alh04.u4" size="16777216" crc="c96bc7c0" sha1="2b6ca1a769dee74e112c2b287dacd0bf46dda091" region="user2" offset="1000000"/>
                <rom name="nus-zsij-0.u1" size="8388608" crc="2389576f" sha1="dc22b2eab4d7a02cb918827a62e6c120b3a84e6c" region="user3" offset="0"/>
                <rom name="normpnt.rom" merge="normpnt.rom" size="128" crc="e7f2a005" sha1="c27b4a364a24daeee6e99fd286753fd6216362b4" region="normpoint" offset="0"/>
                <rom name="normslp.rom" merge="normslp.rom" size="128" crc="4f2ae525" sha1="eab43f8cc52c8551d9cff6fced18ef80eaba6f05" region="normslope" offset="0"/>
mayjin3          Mayjinsen 3
                <rom name="pifdata.bin" merge="pifdata.bin" size="2048" crc="5ec82be9" sha1="9174eadc0f0ea2654c95fd941406ab46b9dc9bdd" region="user1" offset="0"/>
                <rom name="nus-zscj-0.u3" size="8388608" crc="52a37340" sha1="b5834bfde5b8a7e20415b2593abd76ec95ab27c7" region="user2" offset="0"/>
                <rom name="normpnt.rom" merge="normpnt.rom" size="128" crc="e7f2a005" sha1="c27b4a364a24daeee6e99fd286753fd6216362b4" region="normpoint" offset="0"/>
                <rom name="normslp.rom" merge="normslp.rom" size="128" crc="4f2ae525" sha1="eab43f8cc52c8551d9cff6fced18ef80eaba6f05" region="normslope" offset="0"/>
mtetrisc         Magical Tetris Challenge (981009 Japan)
                <rom name="pifdata.bin" merge="pifdata.bin" size="2048" crc="5ec82be9" sha1="9174eadc0f0ea2654c95fd941406ab46b9dc9bdd" region="user1" offset="0"/>
                <rom name="nus-zcaj.u4" size="16777216" crc="c9de64db" sha1="59932c70b43ff8e9264c670f37b3abbe939b7f95" region="user2" offset="0"/>
                <rom name="tet-01m.u5" size="1048576" crc="f78f859b" sha1="b07c85e0453869fe43792f42081f64a5327e58e6" region="user3" offset="0"/>
                <rom name="at24c01.u34" size="128" crc="ba7e503f" sha1="454aa4fdde7d8694d1affaf25cd750fa678686bb" region="user4" offset="0"/>
                <rom name="normpnt.rom" merge="normpnt.rom" size="128" crc="e7f2a005" sha1="c27b4a364a24daeee6e99fd286753fd6216362b4" region="normpoint" offset="0"/>
                <rom name="normslp.rom" merge="normslp.rom" size="128" crc="4f2ae525" sha1="eab43f8cc52c8551d9cff6fced18ef80eaba6f05" region="normslope" offset="0"/>
srmvs            Super Real Mahjong VS
                <rom name="pifdata.bin" merge="pifdata.bin" size="2048" crc="5ec82be9" sha1="9174eadc0f0ea2654c95fd941406ab46b9dc9bdd" region="user1" offset="0"/>
                <rom name="nus-zsej-0.u2" size="33554432" crc="44f40102" sha1="a78de955f2fcd99dda14e782984368b320eb5415" region="user2" offset="0"/>
                <rom name="normpnt.rom" merge="normpnt.rom" size="128" crc="e7f2a005" sha1="c27b4a364a24daeee6e99fd286753fd6216362b4" region="normpoint" offset="0"/>
                <rom name="normslp.rom" merge="normslp.rom" size="128" crc="4f2ae525" sha1="eab43f8cc52c8551d9cff6fced18ef80eaba6f05" region="normslope" offset="0"/>
starsldr         Star Soldier: Vanishing Earth
                <rom name="pifdata.bin" merge="pifdata.bin" size="2048" crc="5ec82be9" sha1="9174eadc0f0ea2654c95fd941406ab46b9dc9bdd" region="user1" offset="0"/>
                <rom name="nus-zhbj-0.u3" size="12582912" crc="a4edac93" sha1="3794606c008fb69f5d16dcccece94d03da23bf8a" region="user2" offset="0"/>
                <rom name="normpnt.rom" merge="normpnt.rom" size="128" crc="e7f2a005" sha1="c27b4a364a24daeee6e99fd286753fd6216362b4" region="normpoint" offset="0"/>
                <rom name="normslp.rom" merge="normslp.rom" size="128" crc="4f2ae525" sha1="eab43f8cc52c8551d9cff6fced18ef80eaba6f05" region="normslope" offset="0"/>
twrshaft         Tower & Shaft
                <rom name="pifdata.bin" merge="pifdata.bin" size="2048" crc="5ec82be9" sha1="9174eadc0f0ea2654c95fd941406ab46b9dc9bdd" region="user1" offset="0"/>
                <rom name="ua3012-all02.u3" size="16777216" crc="904a91a7" sha1="7dfa3447d2c489c0448c4004dc12d3037c05a0f3" region="user2" offset="0"/>
                <rom name="nus-zsij-0.u1" size="8388608" crc="2389576f" sha1="dc22b2eab4d7a02cb918827a62e6c120b3a84e6c" region="user3" offset="0"/>
                <rom name="normpnt.rom" merge="normpnt.rom" size="128" crc="e7f2a005" sha1="c27b4a364a24daeee6e99fd286753fd6216362b4" region="normpoint" offset="0"/>
                <rom name="normslp.rom" merge="normslp.rom" size="128" crc="4f2ae525" sha1="eab43f8cc52c8551d9cff6fced18ef80eaba6f05" region="normslope" offset="0"/>
vivdolls         Vivid Dolls
                <rom name="pifdata.bin" merge="pifdata.bin" size="2048" crc="5ec82be9" sha1="9174eadc0f0ea2654c95fd941406ab46b9dc9bdd" region="user1" offset="0"/>
                <rom name="nus-zsaj-0.u3" size="8388608" crc="f3220e29" sha1="06d8b808cc19378b046803f4dc75c7d791b7767f" region="user2" offset="0"/>
                <rom name="normpnt.rom" merge="normpnt.rom" size="128" crc="e7f2a005" sha1="c27b4a364a24daeee6e99fd286753fd6216362b4" region="normpoint" offset="0"/>
                <rom name="normslp.rom" merge="normslp.rom" size="128" crc="4f2ae525" sha1="eab43f8cc52c8551d9cff6fced18ef80eaba6f05" region="normslope" offset="0"/>

Anyway, that should be it. Redump also keeps track of some audio CDs and video DVDs but I definitely draw the line there.... or do I? I could see a generic optical disc image handler happening so I can finally put IsoBuster to rest (well, not for dumping discs, but there'll be a better thing for that one day)

PS4 and Xbox One I'm just gonna not, maybe 5 years later when they're forgotten; same with Switch (like I don't even have a Switch yet)