Homebrew [WIP] Working on a NDS-Rom Organiser

PRAGMA

Well-Known Member
OP
Member
Joined
Dec 29, 2015
Messages
2,258
Trophies
1
Location
Ireland
Website
github.com
XP
5,038
Country
Ireland
Important

  • Tool is not out yet but will be shortly
  • Don't expect a nice GUI like my other programs I shared here (I simply don't have the time like I used to)
  • Expect bugs, crashes, e.t.c
There will be 2 applications.

TWLSceneRipper

Downloads the entire ADVANsCEne NDS Release List and converts it to a Computer-Readable Compressed JSON Format (gZip)
This is NOT a ROM Ripper.
[https://www.advanscene.com/html/dbndslst.php]

Features
  • NFO Downloader
    - Downloads the NFO for the nds rom release from ds-scene.net
  • Game Icon Downloader
    - Downloads the Game Icon for that specific nds rom.
  • Supports both standard xxxx format releases aswell as E, X and PS
    - E: eShop
    - X: (??) releases on or after official consumer release but are non-consumer titles like kiosk demos or alpha's beta's and such?
    - PS: (??) releases before official consumer release otherwise known as street release?
    (Please correct me if i'm wrong!)
  • Compresses the Ripped and Parsed .json file to a .gz file using gzip.
    - This is very similar compression performance to WinRar's RAR4 @ Normal/4096 KB
    - Reduced file-size quite a bit! Great for storing and sharing online
To-Do List
  • Support Box-Art (Front & Back) and Screenshot (Top & Bottom Together - No Spacing)
    - will be gotten from ADVANsCEne so they will have a watermark :(
TWLOrganiser

Takes a specifically structured JSON file (from TWLSceneRipper) aswell as a directory path where your NDS files are and organises them.
This is NOT a ROM Ripper.

Features
  • Accepts a database.gz file from any application
    - Must be structured same as TWLSceneRipper
  • Removes bloat from your Directory to allow proper Organisation
    - De-nests every file from all subfolders (recursive)
    - Deletes all now-empty folders
    - Deletes all files that are not .nds files
  • Puts the .nds files into a folder named as the Scene-Release Rom Number (e.x. 0001)
  • Renames all .nds files to their original release filename (e.x. trm-elpl.nds)
  • Extracts the NFO (named using the original release filename) from the Database file and puts it in the folder (.nfo)
  • Extracts the Box-Art (named using the original release filename) from the Database file and puts it in the folder (.jpg)
  • Extracts the Screenshot (named always as "screenshot") from the Database file and puts it in the folder (.jpg)
  • This also serves as a ROM Integrity Check since it's checking the CRC32's against a Database to see if it's unmodified and original

IMPORTANT
  • Trimmed ROM's are ONLY supported if the database has rom information specifically tailored the the Trimmed Rom :(
    - This is because I have no means to un-trim a rom (Someone fork on github <3) so the CRC32 Checksum would never match RAW ROM Info
Why am I doing this?

The DS Scene has been dwindling in accuracy of dumps especially since top-dogs have been absolutely fucked by the big N.
All I see posted around are titles like: "Mario Kart DS (USA)" and often times "*MULTix" or "(En,Fr,It,De,Es)" e.t.c with no mention of the original creator or the NFO.
Using this tool you can restore the NFO's and original file-names.

Will these be open-source?

100%.
https://github.com/imPRAGMA
This tool would not have been possible without:

- ADVANsCEne for keeping their DB accurate and up-to-date
- ds-scene.net for helpful nfo servers thanks for keeping them as files and not images
- retrohead? (whoever originally created DS-Scene Rom Tool) - Found out about this tool and while it's been dead for a long time, it served as inspiration

Preview

- Not Final
- Again, don't expect an amazing GUI, it's not needed for an operation like this

"Ripper"
Q05j5Tj.png

8PJNETU.png

Example Minified JSON of 1 Rom (Organized by key:value system where key = CRC32 for quick querying by CRC32, it still exists in "Data" if you search by other means)
Code:
{"BA6B3F95":{"General":{"Scene_RomNumber":"2201","ADVANsCEne_PageId":2259},"Game":{"Title":"Harvest Moon DS Cute","Region":"USA","Languages":["English"],"Genre":"Strategy","Publisher":"Natsume","UsesWiFi":false},"Release":{"Group":"SQUiRE","ReleaseDate":"2008-03-29","CompressedFilename":"sq-hmdc.zip","NdsRomFilename":"sq-hmdc","DirectoryName":"Harvest_Moon_DS_Cute_USA_NDS-SQUiRE","ReleaseNotes":"n/a","TrainerPatch":"n/a","CrackAndSavePatch":"n/a","PurePatch":"n/a","SaveGame":"n/a","RegionDuplicates":["",""]},"Data":{"InternalName":"HM DS CUTE","Serial":"NTR-AB4E-USA","Version":"1.0","CRC32":"BA6B3F95","Size":"512 Mbit","SaveType":"Flash - 2 Mbit","GameIcon":"iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAECUlEQVR42rVWLdSjMBCkDlmJRCKRSGQlEolEIpHISiQSiURWIiORkUhkJfJmM3TLo/3u7r17F5EX8jOzs9ldcvE277+2y78TlDefg+6xfU7+KwGA0lu2rSPGZhYOQmMSPebfBH3tnw4X9+2P6FVZGNMnSdF2/X2T/bX/xgHNpa/kOwyjIEjCsPOiwLMrZpalXFezLPYnGqAnsQz8IJseI9HZwIElzl/sUAouG9BPza7GxF9p1DnwzNdGjsv2dCZ/Qvuzt8V7b9eq9k93iPOEVmMxgK/gMcxzFf1l29bvBhBdx55XZU/l0CD5NBkDkKm4F4HCOayfGjmO6ATVKNJJleJc9BdteWThbTR9MIz2aCxaHF7n5blLPTDRSzuBnM8abw68eDXdLSlWYKF/X48LLYyH5snIIe4R/cT0ugN3yQhKGEgzAZE3V/ZCk8yMXYQTiSEC4Q8soKjT6RZSYoaruwLBdZEKCJcBNs+3YfC155LMN1dGFO7wFDaeSytSqhTJ5M3sh9VxSDp87tflUpTzaELmvET5mmUalOhZJDBJlZJoMAGggpLWi52QwMhqLQDYx5QmBESMXcrzWKUUYjE6jz2kXKY2liIRpX+IIjsBjgRU0LZ9VRW0muNj7NIamLgT3KfQTBInY7MdyYCbNX6SBnW6gCDPItwzsoFhmt0y4oKAFmAwPkZ1mhQ7uIjow1C13RDHYZm8DY9z41wnkerbpnUVCZcMn9AOwgGX+/EJt8C9eSGadoLHM+1aAZrnep2GIAiOBCTuyhAHQICIWDe5sMcSQxZoAJq5iy27hW5oihUzQy/iXDXNmrLqsVZWiZoPyThMBSD27IQDDFx4lqKhDMRqTWdcsCZJnrfzkFCc3AGCx3rJZAzWIs9wt8AVPYxSp1EB/AOHYL4qcwK9HQqD4jtdCmLeivxwAPQZNuu6Hn213+GLAAYBXcQNCbVyG73ESNkJoIAZoLjTo2auKTG3IoQQbwwVYhXRgIPU+mmime4oKnIHe/y9OE46Fttjn2xIZlwAgk9D6KtWbYxgKRU8xiIRRgV3E5oJTHQGqBSM7L1NLZUcPOiArD0PUOxYgY+/C61LCBjUQamjBwIupbe7mgKvyk4nC/7U8ucUOIJn1NuhYEJKZnZ9lPdXK3G519HXQB8/VHwsMwqNJTwSuGevptdU/kQzYJ1MCIwLi/xK/YaHmQF6jI8M/XeSDLdId+lvFQMhkNE8lEVq7QYOiEVu47Prp3le+rbGm4x1X3GPLwzOUD32ZGbDu0g3uERz4QEvKQfMZ95BBAkYuF8fYUDHq2tMxOQTuhAg0Xh42hokJxClBMUhbOcOEExd/Psnnj7rTugeH78wEIeL6k449BifBtzj/dC+PrDZfgGUEoruiy+u3gAAAABJRU5ErkJggg=="}}
(JSON NOT FINAL)


"Parser"
vw5lCTo.png

What the Organisation is like
kB8S0e4.png

rUSrp8m.png
 
Last edited by PRAGMA,
  • Like
Reactions: Tarmfot

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    K3Nv2 @ K3Nv2: https://youtu.be/shdHKa4iBbE?si=Vnb_FMMV54y2aarW lol Mario give me cancer