To-do: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
(159 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
== | ==Utilities== | ||
{| class="wikitable" style="width: 100%;" | |||
|- | |||
! style="width: 80%" | Item | |||
! style="width: 20%" | Status | |||
|- | |||
| Create script to convert CSVs to the XML import format | |||
| | |||
|- | |||
| Make pull requests for emulators etc, to add a feature that tells you if the ROM you have is undumped/dumped/verified/MIA etc. | |||
| | |||
|} | |||
==Wiki== | |||
{| class="wikitable" style="width: 100%;" | {| class="wikitable" style="width: 100%;" | ||
|- | |- | ||
! style="width: | ! style="width: 80%" | Item | ||
! style="width: 20%" | Status | ! style="width: 20%" | Status | ||
|- | |- | ||
| | |DAT Notes and the "Convention" pages overlap a bit - some stuff should be combined | ||
| | | | ||
|- | |- | ||
| | |Make video tutorials for DoM and put them on the wiki somewhere | ||
| | | | ||
|} | |||
==DATs== | |||
===General=== | |||
{| class="wikitable" style="width: 100%;" | |||
|- | |- | ||
| | ! style="width: 80%" | Item | ||
| | ! style="width: 20%" | Status | ||
|- | |||
|Check for ROMs that are in DoM but not in the Nintendo lotcheck sheets/DSi whitelist to find the "blind spots" of the lotcheck sheet/DSi whitelist (e.g. non-Nintendo-manufactured games / games post-2013ish and DS games that uses the newer encryption, respectively) | |||
| | | | ||
|- | |- | ||
| | | Work out the best way to do "modifications"/"alt formats". Currently dats use a mixture of having "trusted modification" entries (which have the issue of modified files not being able to be matched to the original files, except manually by reading comments) and just having alt formats (which are ambiguous as to who did the modification/when and its unclear if all sources should have the alt format or not. Examples of relevant dats: ique/wii/dsi/3ds/wiiu/switch digital, nes, n64, fds, ds, dsi, 3ds, switch. | ||
| | | | ||
|- | |||
| Move stuff from undumped lists to DoM | |||
| | |||
|- | |||
| Standardise the dump tool names - currently there is lots of variation | |||
| | |||
|- | |||
| Catch up with dump submissions on the forum | |||
| | |||
|- | |||
| Catch up with corrections on the forum and in the DoM tickets | |||
| | |||
|- | |||
| Transcribe cart serials from photos, for sources where this is not already one | |||
| | |||
|- | |||
| Look into this, it maybe be useful https://tcrf.net/User:Revenant/Konami_catalog_numbers | |||
| | |||
|- | |||
| For entries with PCB front photos, compare the sizes written on the ROM chip(s) with the ROM dump size | |||
| | |||
|- | |||
| If the dumper says what dumping settings they used (e.g. what mapper the dumping tool is "dumping the cart as"), which they should do, then make sure that info is put into the comment2 of the DoM entry - go back and look at "Added to DoM" forum posts (e.g. ones using recent FlashGBX versions) and add it. | |||
| | | | ||
|- | |- | ||
| | | Might be worth putting torrentzip (RV7Zip?) hashes for every file - that way compressed data can be checked against dats without having to decompress or rely on crc32 in zip/7z headers (although maybe zip formats should just move to sha256 or something in their headers) | ||
| | | | ||
|- | |- | ||
| | | Create a tool that analyses overdumps to determine true ROM size and maybe require making overdumps and using the tool for all future dumps. | ||
| | | | ||
|- | |- | ||
| | | Make a list of dats where FilesOnly mode in RomVault should be used, i.e. dats that contains zips (and other archives) "as roms". At some point this could be integrated into DoM/the dats themselves. | ||
| | |- | ||
| Add bad dumps to the undumped lists so there's an easy overview of the high-priority items | |||
| | |||
|- | |||
| Myria: "INL retro dumper gets different data "past the end" from beyblade versus gba_backup_tool. this is due to a phenomenon called "open bus" and electrical differences between the INL dumper and a nintendo DS." - this could potentially be simulated by specialised dumping hardware (or even software?) to determine when the real ROM ends. | |||
| | |||
|- | |||
| Add categories to all archives using the new category field. Most can/should be automated somehow. | |||
| | |||
|- | |||
| Revert changes where homebrew released worldwide on the web had their region changed from "World" to "Unknown" or "Unset" for no clear reason (note that latter tag has no documented purpose). | |||
| | |||
|- | |||
| Add support for license and life span filters to the daily pack, and configure it so that homebrew and aftermarket ROMs are set to "off" on the individual and daily pack download pages by default | |||
| | |||
|- | |||
| Make a script to compare GordonJ's ROMVault MIA dat (MammaMIA) with the DoM Daily Pack MIA values and run it every so often | |||
| | |||
|- | |||
| Run MAME's romcmp tool to check ROM sets for common error patterns | |||
| | | | ||
|- | |- | ||
| | | Make a Neo Geo DAT | ||
| | | These checksums can be used as a base: https://github.com/mamedev/mame/blob/master/hash/neogeo.xml https://www.neo-geo.com/forums/index.php?threads/universe-bios-4-0-mvs-aes-released.258076/ | ||
|- | |||
| Create script to automatically check ROM languages using automatic inputs + OCR. Might not work with all games but could still find some obvious errors in unchecked language fields. | |||
| | |||
|- | |||
| Dumps from MAME may be incorrect attributed - the names(s) in square brackets in MAME commit messages are not actually always the dumper, they are sometimes just the author of the commit or someone that helped. E.g. it seems like most Gamate dumps are incorrectly attributed to Peter Trauner. Not clear where the actual dumper information can be obtained, if it is recorded by MAME. | |||
| | | | ||
|- | |- | ||
| | | Archives made up of loose files/folders need to be rechecked - files and folders containing "_" or "\" may have been ignored, due to flukes in how clrmamepro works. And some "empty file" entries may have been deleted from DoM by mistake, as they may have been mistaken for non-empty folder entries created by clrmamepro. | ||
| | | | ||
|} | |||
===Lotcheck sheet ROM size comparison=== | |||
Do comparison, then update DoM entries with incorrect sizes as appropriate. | |||
{| class="wikitable" style="width: 100%;" | |||
|- | |||
! style="width: 80%" | Item | |||
! style="width: 20%" | Status | |||
|- | |||
| Nintendo - Nintendo Entertainment System | |||
| | | | ||
|- | |- | ||
| | | Nintendo - Game Boy | ||
| | | | ||
|- | |- | ||
| | | Nintendo - Super Nintendo Entertainment System | ||
| | | | ||
|- | |- | ||
| | | Nintendo - Super Nintendo Entertainment System - Royalty production (S-ROY) | ||
| | | | ||
|- | |- | ||
| | | Nintendo - Virtual Boy | ||
| | | | ||
|- | |- | ||
| | | Nintendo - Nintendo 64 | ||
| | | Done (as of 2022-06) | ||
|- | |||
| Nintendo - Game Boy Color | |||
| | | | ||
|- | |- | ||
| | | Nintendo - Game Boy Advance | ||
| | | Done (as of 2022-06-06) | ||
|- | |- | ||
| | | Nintendo - Pokemon Mini | ||
| | | | ||
|- | |- | ||
| | | Nintendo - Nintendo DS | ||
| | |||
| | |||
|- | |- | ||
| | | Nintendo - Nintendo Wii | ||
| | | | ||
|- | |- | ||
| | | Nintendo - Nintendo DSi | ||
| | | | ||
|- | |- | ||
| | | Nintendo - Nintendo DSi (Digital) (CDN) | ||
| | | | ||
|- | |- | ||
| | | Nintendo - Nintendo 3DS | ||
| | | | ||
|- | |- | ||
| | |} | ||
| | |||
===Batch-adding SHA256 to files=== | |||
{| class="wikitable" style="width: 100%;" | |||
|- | |||
! style="width: 80%" | Item | |||
! style="width: 20%" | Status | |||
|- | |||
| NES | |||
| Done for non-excluded files | |||
|- | |||
| N64 | |||
| Done for most/all non-excluded BigEndian files | |||
|} | |||
===FDS=== | |||
{| class="wikitable" style="width: 100%;" | |||
|- | |||
! style="width: 80%" | Item | |||
! style="width: 20%" | Status | |||
|- | |||
| Add headered format so ROMs in that format can easily be matched with the dat. | |||
| | | | ||
|- | |- | ||
| | | There is a lotcheck sheet of sorts in the leaked master ROM set - analyse it | ||
| Create | | | ||
|} | |||
===DS/3DS=== | |||
{| class="wikitable" style="width: 100%;" | |||
|- | |||
! style="width: 80%" | Item | |||
! style="width: 20%" | Status | |||
|- | |||
| Create GodMode9 script to automate dumping a bit | |||
| | |||
|} | |||
===DS=== | |||
{| class="wikitable" style="width: 100%;" | |||
|- | |||
! style="width: 80%" | Item | |||
! style="width: 20%" | Status | |||
|- | |||
| For revisions that are not confirmed to exist, it may be possible to de-confirm them by finding a cart that was manufactured after some of them by finding an unrevised cart that was manufactured after the revision's "ROM release date" on the lot check sheet. The manufacturing date could be determined by the date on the ROM chip (if there is such a date) or the date on the back of the PCB. | |||
| | | | ||
|- | |- | ||
| | | Find a way to dump the undumpable area at 0x1000. Its present in Wii U Virtual Console dumps and allows the header CRC16 to validate if present. Its difficult because DS carts use an ASIC (or something like that). | ||
| | | | ||
|- | |||
| Compare the header/code hashes from the DS cart whitelists (from DSi and 3DS consoles) with the hashes generated from a fullset. | |||
| | | | ||
|- | |- | ||
| | | Fully document all the DSi whitelists and other built-in-to-console gamecart lists. | ||
| | | | ||
|- | |- | ||
| | | DS firmwares: work out what determines the colour/behaviour when the gamecart is removed while PictoChat is open. Useful reference: https://tcrf.net/Nintendo_DS#Version_Reporting_.26_Revisions | ||
| | | | ||
|- | |- | ||
| | | DS firmwares: check what firmware versions are listed internally in [https://github.com/DS-Homebrew/dsbf_dump this fork] of dsbf_dump, and add any undumped ones to the undumped list | ||
| | |||
| | |||
|- | |- | ||
| | | Wii U Virtual Console archive that only differ due to having the undumpable area present should be combined into the main cart archives, as sources set to "Other" status to exclude them from the dat, as they are basically dump variations, not ROM variations. | ||
| | | | ||
|} | |||
===iOS=== | |||
What is known (or sort-of known): | |||
* IPAs downloaded by iDevices are "thin" IPAs, meaning they only work on their processor architecture. While IPAs downloaded from iTunes are "fat" IPAs, meaning they contain code for all supported architectures. | |||
** https://help.apple.com/xcode/mac/current/#/devbbdc5ce4f | |||
* "On-Demand Resources" (i.e. run-time downloads) will be difficult to preserve properly. | |||
* IPA files can be downloaded from itunes on PC/mac, including old versions. Some unlisted apps can be downloaded, as long as they were in your library, some unlisted apps won't let you download them, even if they are in your library, some unlisted apps will be gone completely from your library. | |||
* IPA files are zips, and the zips themselves contain metadata in the form of last-modified dates. Not clear how timezones play into this. | |||
* Before download, the server encrypts the code in the IPA with a key tied to the Apple ID and unique values | |||
* The apps are installed by extracting the IPA to the iDevice filesystem. The dates from the ZIP are possibly preserved, although its not clear how timezones play into this. | |||
* There are tools for jailbroken iDevices that can decrypt the code of a running app. | |||
** https://github.com/KJCracks/Clutch | |||
* The code is signed by the developer and apple. The code contains hashes for at least some of the other files in the zip | |||
Todo: | |||
{| class="wikitable" style="width: 100%;" | |||
|- | |- | ||
| | ! style="width: 80%" | Item | ||
| | ! style="width: 20%" | Status | ||
|- | |||
| See if timestamps are preserved when an IPA is installed. | |||
| | | | ||
|- | |- | ||
| | | Try out different jailbreak apps for decrypting IPAs | ||
| | | | ||
|- | |- | ||
| | | See if the code is still signed by the developer/apple after its decrypted | ||
| | | | ||
|- | |- | ||
| | | See what differs from a dump of the same app from two different Apple IDs/iTunes installations/iDevices. | ||
| | | | ||
| | |- | ||
| See if a consistent file hash for the IPA can be achieved by dummying out unique values | |||
| | |||
|} | |||
===iQue=== | |||
{| class="wikitable" style="width: 100%;" | |||
|- | |||
! style="width: 80%" | Item | |||
! style="width: 20%" | Status | |||
|- | |||
| Download contents from [http://www.iquebrew.org/index.php?title=Titles wayback machine backups of CDN] and dat as "redumps" | |||
| | |||
|- | |||
| cmd files should be un-excluded | |||
| Done | |||
|- | |||
| the missing cmds should be added, plus the z64 file to go alongside the cdn content as an alt format. dir2dat of said files: | |||
<pre> | |||
<machine name="cmds"> | |||
<description>cmds</description> | |||
<rom name="003e970e.cmd" size="10668" crc="2b20466f" md5="d1f22e52d8a81a2817741375b988fbbc" sha1="5b291b74edadd7c0b84ea0406949539198e9b869" sha256="e9376b57e273c2c6d53e63b7076597401cceff85951aa6010b5695b3b12e9c00" /> | |||
<rom name="0010d04e.cmd" size="10668" crc="4d4d73e2" md5="8d2c4cf5cdb44f1ef8e44aea1d854743" sha1="f9efa475c5fde298a91dc7a77af02f3aef8ae1db" sha256="8d41a1dc2b5250d40a59540bffb51707c3786d8931bf7d7b4dc8cc5915f22e15" /> | |||
<rom name="00989681.cmd" size="10668" crc="2514555c" md5="845205dae754b0dfa27b157b81dd4741" sha1="e4fce03c5c43ffcad8db93b9269a69677ceb6567" sha256="b21f440179f50a73868787158741fcd57d4a41bc575c2682811c9472686e6934" /> | |||
</machine> | |||
<machine name="z64s"> | |||
<description>z64s</description> | |||
<rom name="003e970e.z64" size="163840" crc="620b14c8" md5="817a1a6b013b052b52f1ca5b1d765db8" sha1="349df91ab1dbe53e94a8c5318543cdaa9835a7fa" sha256="e07fdc0a9116c396fd88c44f5163f145e703f3fa7b834834350fb6bcb4de6564" /> | |||
<rom name="0010d04e.z64" size="212992" crc="f882e342" md5="fac732031906241c7cc92e546629b62c" sha1="7d381b7587c64a933b1baf54700a7ff511f56b91" sha256="c3298ec21628b4a227a4793091d896bb702f9e70b42337920513162184f49fb2" /> | |||
<rom name="00989681.z64" size="557056" crc="f82b2aa7" md5="381bf4c81bf3106a1451867f6723d1df" sha1="3afa53100e62ba7e4bb0a1b99272811bc53ec266" sha256="d0926a6c050badd7c40c6e01b081441b3c0b70b27127fd5d0afdda9d8090fd49" /> | |||
</machine> | |||
</pre> | |||
not sure which titles these go with though, who dumped the cmds and from where and who converted the cdn contents to z64. Jhynjhiruu knows about this. | |||
| Hiccup has asked Jhynjhiruu about this. | |||
|- | |||
| Should the cmd files from sources like these be removed from the sources https://datomatic.no-intro.org/index.php?page=show_record&s=109&n=0005 ? If they are just taken from the scene release, then they should be. They should probably be set as "Trusted Modification" too. | |||
| Hiccup has asked Jhynjhiruu about this. | |||
|} | |} | ||
== | ===Wii/DSi/3DS/Wii U Digital=== | ||
{| class="wikitable" style="width: 100%;" | {| class="wikitable" style="width: 100%;" | ||
|- | |- | ||
Line 148: | Line 294: | ||
! style="width: 20%" | Status | ! style="width: 20%" | Status | ||
|- | |- | ||
| | | Preserve the shops themselves (descriptions, release dates etc) | ||
| | |||
|- | |||
| Make an easy too use tool for people who want to download contents from the Nintendo CDN in bulk, in a way that can be easily imported into datomatic and includes metadata. | |||
| | |||
|- | |||
| Make sure all special CDN files are preserved. E.g. "met" file, ones listed on DSi wiki page here and dsibrew etc | |||
|- | |||
| Preserve the "met" file that each title has, on at least the Wii CDN, if not others. | |||
| | |||
|- | |||
| Confirm which sources marked as dumped by Larsenv in the Wii Digital Deprecated and Wii Digital CDN dats were actually dumped by him - he's said that some/all weren't. | |||
| | | | ||
|} | |} | ||
Line 171: | Line 328: | ||
|- | |- | ||
| Wii: Import title version information and title key and title password hashes into database | | Wii: Import title version information and title key and title password hashes into database | ||
| | |||
|- | |- | ||
| DSi: Import title version information and title key and title password hashes into database | | DSi: Import title version information and title key and title password hashes into database | ||
| Done | | Done | ||
|- | |- | ||
| Create software to determine what is undumped and create | | Create software to determine what is undumped using CDN/eshop metadata and create wiki entries appropriately | ||
| | | | ||
|- | |- | ||
Line 183: | Line 341: | ||
| Once all URLs are gathered, send them to Archive Team as they want to make their own backup | | Once all URLs are gathered, send them to Archive Team as they want to make their own backup | ||
| | | | ||
|- | |||
| Create "CDN" format equivalents for all titles in the deprecated dat, then merge the deprecated dat into the current one | |||
| | |||
|- | |||
| Add HTTP headers for galaxy's dumps | |||
| | |||
|- | |||
| Add HTTP headers for ZedSeven's dumps, if they were recorded | |||
| | |||
|} | |} | ||
Line 203: | Line 370: | ||
| | | | ||
|- | |- | ||
| Create software to determine what is undumped and create | | Create software to determine what is undumped using CDN/eshop metadata and create wiki entries appropriately | ||
| | | Look into xprism's tool for this | ||
|- | |- | ||
| Import title version information and title key and title password hashes into database | | Import title version information and title key and title password hashes into database | ||
Line 210: | Line 377: | ||
|- | |- | ||
| Create software to backup non-title content endpoints (e.g. eshop metadata) | | Create software to backup non-title content endpoints (e.g. eshop metadata) | ||
| | | Look into this: https://github.com/mikage-emu/saveShop | ||
|- | |- | ||
| Merge deprecated dat into current one | | Merge deprecated dat into current one | ||
Line 217: | Line 384: | ||
| Once all URLs are gathered, send them to Archive Team as they want to make their own backup | | Once all URLs are gathered, send them to Archive Team as they want to make their own backup | ||
| | | | ||
|- | |||
| Make tool to convert CIAs from P2P into CDN contents | |||
| | |||
|- | |||
| Create "CDN" format equivalents for all titles in the deprecated dat, then merge the deprecated dat into the current one | |||
| | |||
|- | |||
| Document the DLC metadata/shop endpoints and scrape them | |||
| | |||
|- | |||
| Use the metadata that Hiccup got from a ROM collector's 3DS CDN set to improve the dat | |||
| | |||
|- | |||
| Create a tool to backup SOAP endpoints | |||
| | |||
|- | |||
| Create a tool to backup SpotPass/BOSS data | |||
|} | |} | ||
Line 232: | Line 416: | ||
|- | |- | ||
| Develop/find a method to retrieve title contents from the CDN directly, either through emulating the network process on PC or intercepting (and modifying if need be) switch network activity. | | Develop/find a method to retrieve title contents from the CDN directly, either through emulating the network process on PC or intercepting (and modifying if need be) switch network activity. | ||
| | |||
|- | |- | ||
| Create software to backup non-title content endpoints (e.g. eshop metadata) | | Create software to backup non-title content endpoints (e.g. eshop metadata) | ||
| | | | ||
|- | |- | ||
| Create software to automatically process scene/p2p releases | | Create software to extract NSPs for the CDN/NCA format dat. | ||
| Done by DarkMatterCore: https://github.com/DarkMatterCore/dom_xml_dataset_generators (xml_dataset_generator_nsp.py) | |||
|- | |||
| Create software to automatically process new scene/p2p releases, using the aforementioned NSP processing tool | |||
| | |||
|- | |||
| Dat firmware/OS titles. A base to start off would be the dats (of p2p dumps?) by The1stOne and 8bitwonder. | |||
| | |||
|- | |||
| Make sure these are datted correctly (e.g. extract the scene NSPs and make sure they match the trusted dump): | |||
https://datomatic.no-intro.org/index.php?page=show_record&s=103&n=00549 | |||
https://datomatic.no-intro.org/index.php?page=show_record&s=103&n=00550 | |||
https://datomatic.no-intro.org/index.php?page=show_record&s=103&n=01804 | |||
https://datomatic.no-intro.org/index.php?page=show_record&s=103&n=01804 | |||
| | |||
|- | |||
| Use [[:File:Switch_NSP_Metadata-2022_06_11.7z|the metadata]] that Hiccup got from a ROM collector's Switch NSP set to improve the dat | |||
| | |||
|- | |||
| Create software to determine what is undumped using CDN/eshop metadata and create wiki entries appropriately | |||
| | |||
|- | |||
| Maybe make feature request on nxdumptool github to ask for metadata txt file, like GodMode9. E.g. for recording original values of certain fields in the tickets, before nxdumptool processes them. | |||
| | |||
|} | |||
===Switch=== | |||
{| class="wikitable" style="width: 100%;" | |||
|- | |||
! style="width: 80%" | Item | |||
! style="width: 20%" | Status | |||
|- | |||
| Transfer Card ID data from datted files, to hex data in the comment2 field https://github.com/mariomadproductions/nxdumptool_card_id_set_to_strings | |||
| | |||
|- | |||
| Move serials from file serial field to the archive Game ID field- this data isn't actually present in the ROM in any documented instance | |||
| Done | |||
|- | |||
| Add file serials. E.g. package ID, title ID(s), title version(s), user-facing version(s), ApplicationErrorCodeCategory(s) if applicable | |||
| | |||
|- | |||
| Since switch product codes and title ids are sequential, unlike with previous consoles, analyse the gaps to find undumped (and unreleased) stuff | |||
| | |||
|} | |||
===Xbox 360 Digital=== | |||
* Post with useful info/tools: https://forum.no-intro.org/viewtopic.php?p=29383#p29383 | |||
===V-Smile=== | |||
{| class="wikitable" style="width: 100%;" | |||
|- | |||
! style="width: 80%" | Item | |||
! style="width: 20%" | Status | |||
|- | |||
| There are some additions to MAME that are not in the dat yet. | |||
| | |||
|} | |||
===Steam=== | |||
{| class="wikitable" style="width: 100%;" | |||
|- | |||
! style="width: 80%" | Item | |||
! style="width: 20%" | Status | |||
|- | |||
| See [[Steam preservation proposal]] | |||
| | |||
|} | |||
===NES=== | |||
{| class="wikitable" style="width: 100%;" | |||
|- | |||
! style="width: 80%" | Item | |||
! style="width: 20%" | Status | |||
|- | |||
| There is some more info on undumped Famicombox carts here https://forums.nesdev.org/viewtopic.php?t=23691&start=30 and here https://forums.nesdev.org/viewtopic.php?t=23691&start=45 | |||
| | |||
|- | |||
| The reliability of data from bootgod/nescartdb should be analysed. It seems like the photos don't necessarily correspond to the dumps - maybe the photos should be removed from DoM. | |||
| | |||
|- | |||
| Compare the Famicom/NES game lists from Nintendo World Championships: NES Edition against existing lists and note any oddities. | |||
| | |||
|} | |||
===GB/C/A=== | |||
{| class="wikitable" style="width: 100%;" | |||
|- | |||
! style="width: 80%" | Item | |||
! style="width: 20%" | Status | |||
|- | |||
|The lists of "ROMs that may be unique to the USA/PAL" release should be sorted based on the "ROM common" column in the master lists, since that column seems to say if the ROM is unique to that region. | |||
| | |||
|- | |||
|Look at this https://www.reddit.com/r/emulation/comments/v2m2y6/edge_of_emulation_advance_movie_adapter/ https://shonumi.github.io/articles/art28.html | |||
| | |||
|} | |||
===GBA=== | |||
{| class="wikitable" style="width: 100%;" | |||
|- | |||
! style="width: 80%" | Item | |||
! style="width: 20%" | Status | |||
|- | |||
| A bunch of archives don't follow the special numbering scheme correctly: https://wiki.no-intro.org/index.php?title=General_dat_notes#Archive | |||
| | |||
|} | |||
===e-Reader=== | |||
{| class="wikitable" style="width: 100%;" | |||
|- | |||
! style="width: 80%" | Item | |||
! style="width: 20%" | Status | |||
|- | |||
| Add these fields from the header to the file serial fields, to act as as pseudo serial data: internal name, region ID, global checksum | |||
| | |||
|} | |||
===GOG=== | |||
{| class="wikitable" style="width: 100%;" | |||
|- | |||
! style="width: 80%" | Item | |||
! style="width: 20%" | Status | |||
|- | |||
|Import Connie's GOG dats | |||
| | |||
|- | |||
|Import Gefflon's GOG dats | |||
| | |||
|- | |||
|Find a way to make it easy for Gefflon to add new GOG stuff to DoM directly (e.g. make it so certain items can be marked as "current"/"latest", so a custom dat can be generated with only those items, like Gefflon's current dats) | |||
| | |||
|- | |||
|Look into GOG API | |||
| | |||
|} | |||
===Atari - 2600=== | |||
{| class="wikitable" style="width: 100%;" | |||
|- | |||
! style="width: 80%" | Item | |||
! style="width: 20%" | Status | |||
|- | |||
|Incorporate data from https://github.com/stella-emu/stella/blob/master/src/emucore/stella.pro (with credit), if there's anything new/useful there. | |||
| | |||
|} | |||
===Nintendo - Misc=== | |||
{| class="wikitable" style="width: 100%;" | |||
|- | |||
! style="width: 80%" | Item | |||
! style="width: 20%" | Status | |||
|- | |||
| For the large disk images, add hashes for deterministically compressed versions (e.g. rv7z) and exclude the non-compressed one. It'd make the files easier to handle (less disk space needed, no need for people to compress/decompress themselves). | |||
| | |||
|- | |||
| For " 4chan Nintendo leak" and "4chan Eurocom and THQ leak" entries, " -" should probably be added after those strings, as those are the names for that "set" of leaks. whereas the rest of it is just the qualifier for the part of that set of leaks. | |||
| | |||
|} | |||
===N64=== | |||
{| class="wikitable" style="width: 100%;" | |||
|- | |||
! style="width: 80%" | Item | |||
! style="width: 20%" | Status | |||
|- | |||
| Check for (mainly proto) ROMs that are corrupted due to being dumped using old dumping hardware like gamesharks and old copiers: https://pastebin.com/UpzXVu3m | |||
| | |||
|} | |||
===Vita=== | |||
{| class="wikitable" style="width: 100%;" | |||
|- | |||
! style="width: 80%" | Item | |||
! style="width: 20%" | Status | |||
|- | |||
| For bad dumps with comment1 reason set to "[grw0 partition not in factory state]" (and not any other reason in addition), change the status from the default bad status to "HasSave" bad status | |||
| | |||
|- | |||
| New dumping tool in development: https://github.com/LiEnby/GcToolkit | |||
| | |||
|} | |||
===MSX=== | |||
{| class="wikitable" style="width: 100%;" | |||
|- | |||
! style="width: 80%" | Item | |||
! style="width: 20%" | Status | |||
|- | |||
| The owner of https://romdb.vampier.net/ has said the data can be re-used for No-Intro. SQL dumps are provided by the website. At some point this should be looked through, and relevant data added (with credit). His ROM sorter tool: https://github.com/Vampier/MSXRomSorter | |||
| | | | ||
|} | |} |
Latest revision as of 16:34, 12 October 2024
Utilities
Item | Status |
---|---|
Create script to convert CSVs to the XML import format | |
Make pull requests for emulators etc, to add a feature that tells you if the ROM you have is undumped/dumped/verified/MIA etc. |
Wiki
Item | Status |
---|---|
DAT Notes and the "Convention" pages overlap a bit - some stuff should be combined | |
Make video tutorials for DoM and put them on the wiki somewhere |
DATs
General
Item | Status |
---|---|
Check for ROMs that are in DoM but not in the Nintendo lotcheck sheets/DSi whitelist to find the "blind spots" of the lotcheck sheet/DSi whitelist (e.g. non-Nintendo-manufactured games / games post-2013ish and DS games that uses the newer encryption, respectively) | |
Work out the best way to do "modifications"/"alt formats". Currently dats use a mixture of having "trusted modification" entries (which have the issue of modified files not being able to be matched to the original files, except manually by reading comments) and just having alt formats (which are ambiguous as to who did the modification/when and its unclear if all sources should have the alt format or not. Examples of relevant dats: ique/wii/dsi/3ds/wiiu/switch digital, nes, n64, fds, ds, dsi, 3ds, switch. | |
Move stuff from undumped lists to DoM | |
Standardise the dump tool names - currently there is lots of variation | |
Catch up with dump submissions on the forum | |
Catch up with corrections on the forum and in the DoM tickets | |
Transcribe cart serials from photos, for sources where this is not already one | |
Look into this, it maybe be useful https://tcrf.net/User:Revenant/Konami_catalog_numbers | |
For entries with PCB front photos, compare the sizes written on the ROM chip(s) with the ROM dump size | |
If the dumper says what dumping settings they used (e.g. what mapper the dumping tool is "dumping the cart as"), which they should do, then make sure that info is put into the comment2 of the DoM entry - go back and look at "Added to DoM" forum posts (e.g. ones using recent FlashGBX versions) and add it. | |
Might be worth putting torrentzip (RV7Zip?) hashes for every file - that way compressed data can be checked against dats without having to decompress or rely on crc32 in zip/7z headers (although maybe zip formats should just move to sha256 or something in their headers) | |
Create a tool that analyses overdumps to determine true ROM size and maybe require making overdumps and using the tool for all future dumps. | |
Make a list of dats where FilesOnly mode in RomVault should be used, i.e. dats that contains zips (and other archives) "as roms". At some point this could be integrated into DoM/the dats themselves. | |
Add bad dumps to the undumped lists so there's an easy overview of the high-priority items | |
Myria: "INL retro dumper gets different data "past the end" from beyblade versus gba_backup_tool. this is due to a phenomenon called "open bus" and electrical differences between the INL dumper and a nintendo DS." - this could potentially be simulated by specialised dumping hardware (or even software?) to determine when the real ROM ends. | |
Add categories to all archives using the new category field. Most can/should be automated somehow. | |
Revert changes where homebrew released worldwide on the web had their region changed from "World" to "Unknown" or "Unset" for no clear reason (note that latter tag has no documented purpose). | |
Add support for license and life span filters to the daily pack, and configure it so that homebrew and aftermarket ROMs are set to "off" on the individual and daily pack download pages by default | |
Make a script to compare GordonJ's ROMVault MIA dat (MammaMIA) with the DoM Daily Pack MIA values and run it every so often | |
Run MAME's romcmp tool to check ROM sets for common error patterns | |
Make a Neo Geo DAT | These checksums can be used as a base: https://github.com/mamedev/mame/blob/master/hash/neogeo.xml https://www.neo-geo.com/forums/index.php?threads/universe-bios-4-0-mvs-aes-released.258076/ |
Create script to automatically check ROM languages using automatic inputs + OCR. Might not work with all games but could still find some obvious errors in unchecked language fields. | |
Dumps from MAME may be incorrect attributed - the names(s) in square brackets in MAME commit messages are not actually always the dumper, they are sometimes just the author of the commit or someone that helped. E.g. it seems like most Gamate dumps are incorrectly attributed to Peter Trauner. Not clear where the actual dumper information can be obtained, if it is recorded by MAME. | |
Archives made up of loose files/folders need to be rechecked - files and folders containing "_" or "\" may have been ignored, due to flukes in how clrmamepro works. And some "empty file" entries may have been deleted from DoM by mistake, as they may have been mistaken for non-empty folder entries created by clrmamepro. |
Lotcheck sheet ROM size comparison
Do comparison, then update DoM entries with incorrect sizes as appropriate.
Item | Status |
---|---|
Nintendo - Nintendo Entertainment System | |
Nintendo - Game Boy | |
Nintendo - Super Nintendo Entertainment System | |
Nintendo - Super Nintendo Entertainment System - Royalty production (S-ROY) | |
Nintendo - Virtual Boy | |
Nintendo - Nintendo 64 | Done (as of 2022-06) |
Nintendo - Game Boy Color | |
Nintendo - Game Boy Advance | Done (as of 2022-06-06) |
Nintendo - Pokemon Mini | |
Nintendo - Nintendo DS | |
Nintendo - Nintendo Wii | |
Nintendo - Nintendo DSi | |
Nintendo - Nintendo DSi (Digital) (CDN) | |
Nintendo - Nintendo 3DS |
Batch-adding SHA256 to files
Item | Status |
---|---|
NES | Done for non-excluded files |
N64 | Done for most/all non-excluded BigEndian files |
FDS
Item | Status |
---|---|
Add headered format so ROMs in that format can easily be matched with the dat. | |
There is a lotcheck sheet of sorts in the leaked master ROM set - analyse it |
DS/3DS
Item | Status |
---|---|
Create GodMode9 script to automate dumping a bit |
DS
Item | Status |
---|---|
For revisions that are not confirmed to exist, it may be possible to de-confirm them by finding a cart that was manufactured after some of them by finding an unrevised cart that was manufactured after the revision's "ROM release date" on the lot check sheet. The manufacturing date could be determined by the date on the ROM chip (if there is such a date) or the date on the back of the PCB. | |
Find a way to dump the undumpable area at 0x1000. Its present in Wii U Virtual Console dumps and allows the header CRC16 to validate if present. Its difficult because DS carts use an ASIC (or something like that). | |
Compare the header/code hashes from the DS cart whitelists (from DSi and 3DS consoles) with the hashes generated from a fullset. | |
Fully document all the DSi whitelists and other built-in-to-console gamecart lists. | |
DS firmwares: work out what determines the colour/behaviour when the gamecart is removed while PictoChat is open. Useful reference: https://tcrf.net/Nintendo_DS#Version_Reporting_.26_Revisions | |
DS firmwares: check what firmware versions are listed internally in this fork of dsbf_dump, and add any undumped ones to the undumped list | |
Wii U Virtual Console archive that only differ due to having the undumpable area present should be combined into the main cart archives, as sources set to "Other" status to exclude them from the dat, as they are basically dump variations, not ROM variations. |
iOS
What is known (or sort-of known):
- IPAs downloaded by iDevices are "thin" IPAs, meaning they only work on their processor architecture. While IPAs downloaded from iTunes are "fat" IPAs, meaning they contain code for all supported architectures.
- "On-Demand Resources" (i.e. run-time downloads) will be difficult to preserve properly.
- IPA files can be downloaded from itunes on PC/mac, including old versions. Some unlisted apps can be downloaded, as long as they were in your library, some unlisted apps won't let you download them, even if they are in your library, some unlisted apps will be gone completely from your library.
- IPA files are zips, and the zips themselves contain metadata in the form of last-modified dates. Not clear how timezones play into this.
- Before download, the server encrypts the code in the IPA with a key tied to the Apple ID and unique values
- The apps are installed by extracting the IPA to the iDevice filesystem. The dates from the ZIP are possibly preserved, although its not clear how timezones play into this.
- There are tools for jailbroken iDevices that can decrypt the code of a running app.
- The code is signed by the developer and apple. The code contains hashes for at least some of the other files in the zip
Todo:
Item | Status |
---|---|
See if timestamps are preserved when an IPA is installed. | |
Try out different jailbreak apps for decrypting IPAs | |
See if the code is still signed by the developer/apple after its decrypted | |
See what differs from a dump of the same app from two different Apple IDs/iTunes installations/iDevices. | |
See if a consistent file hash for the IPA can be achieved by dummying out unique values |
iQue
Item | Status |
---|---|
Download contents from wayback machine backups of CDN and dat as "redumps" | |
cmd files should be un-excluded | Done |
the missing cmds should be added, plus the z64 file to go alongside the cdn content as an alt format. dir2dat of said files:
<machine name="cmds"> <description>cmds</description> <rom name="003e970e.cmd" size="10668" crc="2b20466f" md5="d1f22e52d8a81a2817741375b988fbbc" sha1="5b291b74edadd7c0b84ea0406949539198e9b869" sha256="e9376b57e273c2c6d53e63b7076597401cceff85951aa6010b5695b3b12e9c00" /> <rom name="0010d04e.cmd" size="10668" crc="4d4d73e2" md5="8d2c4cf5cdb44f1ef8e44aea1d854743" sha1="f9efa475c5fde298a91dc7a77af02f3aef8ae1db" sha256="8d41a1dc2b5250d40a59540bffb51707c3786d8931bf7d7b4dc8cc5915f22e15" /> <rom name="00989681.cmd" size="10668" crc="2514555c" md5="845205dae754b0dfa27b157b81dd4741" sha1="e4fce03c5c43ffcad8db93b9269a69677ceb6567" sha256="b21f440179f50a73868787158741fcd57d4a41bc575c2682811c9472686e6934" /> </machine> <machine name="z64s"> <description>z64s</description> <rom name="003e970e.z64" size="163840" crc="620b14c8" md5="817a1a6b013b052b52f1ca5b1d765db8" sha1="349df91ab1dbe53e94a8c5318543cdaa9835a7fa" sha256="e07fdc0a9116c396fd88c44f5163f145e703f3fa7b834834350fb6bcb4de6564" /> <rom name="0010d04e.z64" size="212992" crc="f882e342" md5="fac732031906241c7cc92e546629b62c" sha1="7d381b7587c64a933b1baf54700a7ff511f56b91" sha256="c3298ec21628b4a227a4793091d896bb702f9e70b42337920513162184f49fb2" /> <rom name="00989681.z64" size="557056" crc="f82b2aa7" md5="381bf4c81bf3106a1451867f6723d1df" sha1="3afa53100e62ba7e4bb0a1b99272811bc53ec266" sha256="d0926a6c050badd7c40c6e01b081441b3c0b70b27127fd5d0afdda9d8090fd49" /> </machine> not sure which titles these go with though, who dumped the cmds and from where and who converted the cdn contents to z64. Jhynjhiruu knows about this. |
Hiccup has asked Jhynjhiruu about this. |
Should the cmd files from sources like these be removed from the sources https://datomatic.no-intro.org/index.php?page=show_record&s=109&n=0005 ? If they are just taken from the scene release, then they should be. They should probably be set as "Trusted Modification" too. | Hiccup has asked Jhynjhiruu about this. |
Wii/DSi/3DS/Wii U Digital
Item | Status |
---|---|
Preserve the shops themselves (descriptions, release dates etc) | |
Make an easy too use tool for people who want to download contents from the Nintendo CDN in bulk, in a way that can be easily imported into datomatic and includes metadata. | |
Make sure all special CDN files are preserved. E.g. "met" file, ones listed on DSi wiki page here and dsibrew etc | |
Preserve the "met" file that each title has, on at least the Wii CDN, if not others. | |
Confirm which sources marked as dumped by Larsenv in the Wii Digital Deprecated and Wii Digital CDN dats were actually dumped by him - he's said that some/all weren't. |
Wii/DSi Digital
Item | Status |
---|---|
Add Galaxy's Wii dumps | WIP (by xuom2) |
Add Galaxy's DSi dumps | Done |
Add ZedSeven's DSi dumps | Done |
Add nold's Wii dumps | |
Wii: Import title version information and title key and title password hashes into database | |
DSi: Import title version information and title key and title password hashes into database | Done |
Create software to determine what is undumped using CDN/eshop metadata and create wiki entries appropriately | |
Create software to backup non-title content endpoints (e.g. eshop metadata) | |
Once all URLs are gathered, send them to Archive Team as they want to make their own backup | |
Create "CDN" format equivalents for all titles in the deprecated dat, then merge the deprecated dat into the current one | |
Add HTTP headers for galaxy's dumps | |
Add HTTP headers for ZedSeven's dumps, if they were recorded |
3DS/Wii U Digital
Item | Status |
---|---|
Add Galaxy's 3DS dumps | Done |
Add Galaxy's Wii U dumps | WIP (by xuom2) |
Import the anonymous Wii U dumps | WIP (by xuom2) |
Determine what is MIA and mark database entries appropriately | |
Create software to determine what is undumped using CDN/eshop metadata and create wiki entries appropriately | Look into xprism's tool for this |
Import title version information and title key and title password hashes into database | |
Create software to backup non-title content endpoints (e.g. eshop metadata) | Look into this: https://github.com/mikage-emu/saveShop |
Merge deprecated dat into current one | |
Once all URLs are gathered, send them to Archive Team as they want to make their own backup | |
Make tool to convert CIAs from P2P into CDN contents | |
Create "CDN" format equivalents for all titles in the deprecated dat, then merge the deprecated dat into the current one | |
Document the DLC metadata/shop endpoints and scrape them | |
Use the metadata that Hiccup got from a ROM collector's 3DS CDN set to improve the dat | |
Create a tool to backup SOAP endpoints | |
Create a tool to backup SpotPass/BOSS data |
Switch Digital
Item | Status |
---|---|
Make the NSP and CDN formats equal - i.e. extract NCAs from all NSPs and dat them as CDN format, and pack all NCAs into NSPs and dat them as NSP format. | |
Investigate the fields in CNMTs that contain information on previous title versions. | |
Develop/find a method to retrieve title contents from the CDN directly, either through emulating the network process on PC or intercepting (and modifying if need be) switch network activity. | |
Create software to backup non-title content endpoints (e.g. eshop metadata) | |
Create software to extract NSPs for the CDN/NCA format dat. | Done by DarkMatterCore: https://github.com/DarkMatterCore/dom_xml_dataset_generators (xml_dataset_generator_nsp.py) |
Create software to automatically process new scene/p2p releases, using the aforementioned NSP processing tool | |
Dat firmware/OS titles. A base to start off would be the dats (of p2p dumps?) by The1stOne and 8bitwonder. | |
Make sure these are datted correctly (e.g. extract the scene NSPs and make sure they match the trusted dump):
https://datomatic.no-intro.org/index.php?page=show_record&s=103&n=00549 https://datomatic.no-intro.org/index.php?page=show_record&s=103&n=00550 https://datomatic.no-intro.org/index.php?page=show_record&s=103&n=01804 https://datomatic.no-intro.org/index.php?page=show_record&s=103&n=01804 |
|
Use the metadata that Hiccup got from a ROM collector's Switch NSP set to improve the dat | |
Create software to determine what is undumped using CDN/eshop metadata and create wiki entries appropriately | |
Maybe make feature request on nxdumptool github to ask for metadata txt file, like GodMode9. E.g. for recording original values of certain fields in the tickets, before nxdumptool processes them. |
Switch
Item | Status |
---|---|
Transfer Card ID data from datted files, to hex data in the comment2 field https://github.com/mariomadproductions/nxdumptool_card_id_set_to_strings | |
Move serials from file serial field to the archive Game ID field- this data isn't actually present in the ROM in any documented instance | Done |
Add file serials. E.g. package ID, title ID(s), title version(s), user-facing version(s), ApplicationErrorCodeCategory(s) if applicable | |
Since switch product codes and title ids are sequential, unlike with previous consoles, analyse the gaps to find undumped (and unreleased) stuff |
Xbox 360 Digital
- Post with useful info/tools: https://forum.no-intro.org/viewtopic.php?p=29383#p29383
V-Smile
Item | Status |
---|---|
There are some additions to MAME that are not in the dat yet. |
Steam
Item | Status |
---|---|
See Steam preservation proposal |
NES
Item | Status |
---|---|
There is some more info on undumped Famicombox carts here https://forums.nesdev.org/viewtopic.php?t=23691&start=30 and here https://forums.nesdev.org/viewtopic.php?t=23691&start=45 | |
The reliability of data from bootgod/nescartdb should be analysed. It seems like the photos don't necessarily correspond to the dumps - maybe the photos should be removed from DoM. | |
Compare the Famicom/NES game lists from Nintendo World Championships: NES Edition against existing lists and note any oddities. |
GB/C/A
Item | Status |
---|---|
The lists of "ROMs that may be unique to the USA/PAL" release should be sorted based on the "ROM common" column in the master lists, since that column seems to say if the ROM is unique to that region. | |
Look at this https://www.reddit.com/r/emulation/comments/v2m2y6/edge_of_emulation_advance_movie_adapter/ https://shonumi.github.io/articles/art28.html |
GBA
Item | Status |
---|---|
A bunch of archives don't follow the special numbering scheme correctly: https://wiki.no-intro.org/index.php?title=General_dat_notes#Archive |
e-Reader
Item | Status |
---|---|
Add these fields from the header to the file serial fields, to act as as pseudo serial data: internal name, region ID, global checksum |
GOG
Item | Status |
---|---|
Import Connie's GOG dats | |
Import Gefflon's GOG dats | |
Find a way to make it easy for Gefflon to add new GOG stuff to DoM directly (e.g. make it so certain items can be marked as "current"/"latest", so a custom dat can be generated with only those items, like Gefflon's current dats) | |
Look into GOG API |
Atari - 2600
Item | Status |
---|---|
Incorporate data from https://github.com/stella-emu/stella/blob/master/src/emucore/stella.pro (with credit), if there's anything new/useful there. |
Nintendo - Misc
Item | Status |
---|---|
For the large disk images, add hashes for deterministically compressed versions (e.g. rv7z) and exclude the non-compressed one. It'd make the files easier to handle (less disk space needed, no need for people to compress/decompress themselves). | |
For " 4chan Nintendo leak" and "4chan Eurocom and THQ leak" entries, " -" should probably be added after those strings, as those are the names for that "set" of leaks. whereas the rest of it is just the qualifier for the part of that set of leaks. |
N64
Item | Status |
---|---|
Check for (mainly proto) ROMs that are corrupted due to being dumped using old dumping hardware like gamesharks and old copiers: https://pastebin.com/UpzXVu3m |
Vita
Item | Status |
---|---|
For bad dumps with comment1 reason set to "[grw0 partition not in factory state]" (and not any other reason in addition), change the status from the default bad status to "HasSave" bad status | |
New dumping tool in development: https://github.com/LiEnby/GcToolkit |
MSX
Item | Status |
---|---|
The owner of https://romdb.vampier.net/ has said the data can be re-used for No-Intro. SQL dumps are provided by the website. At some point this should be looked through, and relevant data added (with credit). His ROM sorter tool: https://github.com/Vampier/MSXRomSorter |