diff --git a/README.md b/README.md index 869d4f6..10f9edc 100644 --- a/README.md +++ b/README.md @@ -36,61 +36,85 @@ List ROM files in a given directory. By default, output is in a human-readable t #### Options -* `--with-md5` calculates the file MD5s. It's opt-in since it can be a little slow. -* `--format` Defaults to `table` but can also be `text`, `json`, `csv`, `tab` +* `-f`, `--format` Defaults to `table` but can also be `text`, `json`, `csv`, `tab` +* `-c`, `--columns` Defaults to most useful columns. Can be a comma-separated list, or specified multiple times. + +**Available columns** + +| Column ID | Description | +| --------- | ----------- | +| cic | CIC chip type. example: 6102 | +| crc1 | CRC1 checksum of ROM internals. Also known as 'CRC HI' | +| crc2 | CRC2 checksum of ROM internals. Also known as 'CRC LO' | +| file_format | File format code. One of: z64, v64, n64 | +| file_format_desc | File format description. example: Big-endian | +| file_name | File name on disk | +| file_size_mbits | File size in megabits. Always a whole number. example: 256 | +| file_size_mbytes | File size in megabytes. Always a whole number. example: 32 | +| image_name | Image name / game title embedded in the ROM. | +| md5 | MD5 hash/checksum of the file on disk. Lower-case hexadecimal. | +| region | Region description of the ROM derived from the ROM ID. | +| rom_id | ROM ID / serial. example: NSME for Super Mario 64 (USA) | +| sha1 | SHA-1 hash/checksum of the file on disk. Lower-case hexadecimal. | +| version | Version of the ROM. One of: 1.0, 1.1, 1.2, or 1.3. | +| video_system | Video system derived from the ROM region. NTSC or PAL. | ``` -rom64 ls ~/Downloads/n64 --with-md5 -+----------------------+--------+------+--------+---------+--------+------+----------+----------+----------------------------------+-----------------------------------------------------------+ -| Title | Format | Size | ROM ID | Version | Region | CIC | CRC1 | CRC2 | MD5 | File Name | -+----------------------+--------+------+--------+---------+--------+------+----------+----------+----------------------------------+-----------------------------------------------------------+ -| 1080 SNOWBOARDING | z64 | 16 | NTEA | 1.0 | JP/US | 6103 | 1FBAF161 | 2C1C54F1 | fa27089c425dbab99f19245c5c997613 | 1080 Snowboarding (Japan, USA) (En,Ja).z64 | -| Banjo-Kazooie | z64 | 16 | NBKE | 1.1 | US | 6103 | CD7559AC | B26CF5AE | b11f476d4bc8e039355241e871dc08cf | Banjo-Kazooie (USA) (Rev A).z64 | -| BANJO TOOIE | z64 | 32 | NB7E | 1.0 | US | 6105 | C2E9AA9A | 475D70AA | 40e98faa24ac3ebe1d25cb5e5ddf49e4 | Banjo-Tooie (USA).z64 | -| Blast Corps | z64 | 8 | NBCE | 1.1 | US | 6102 | 7C647E65 | 1948D305 | 5875fc73069077c93e214233b60f0bdc | Blast Corps (USA) (Rev A).z64 | -| BOMBERMAN64U | z64 | 8 | NBME | 1.0 | US | 6102 | F568D51E | 7E49BA1E | 093058ece14c8cc1a887b2087eb5cfe9 | Bomberman 64 (USA).z64 | -| CONKER BFD | z64 | 64 | NFUE | 1.0 | US | 6105 | 30C7AC50 | 7704072D | 00e2920665f2329b95797a7eaabc2390 | Conker's Bad Fur Day (USA).z64 | -| Diddy Kong Racing | z64 | 12 | NDYE | 1.1 | US | 6103 | E402430D | D2FCFC9D | b31f8cca50f31acc9b999ed5b779d6ed | Diddy Kong Racing (USA) (En,Fr) (Rev A).z64 | -| DONKEY KONG 64 | z64 | 32 | NDOE | 1.0 | US | 6105 | EC58EABF | AD7C7169 | 9ec41abf2519fc386cadd0731f6e868c | Donkey Kong 64 (USA).z64 | -| F1 WORLD GRAND PRIX2 | v64 | 12 | NF2P | 1.0 | EU | 6102 | 874965A3 | 1B147D88 | 2eb7766279c6b84d912c80aaa725bb6d | F-1 World Grand Prix II (Europe) (En,Fr,De,Es).n64 | -| F-ZERO X | z64 | 16 | NFZP | 1.0 | EU | 6106 | 776646F6 | 06B9AC2B | ee79a8fe287b5dcaea584439363342fc | F-ZERO X (E) [!].z64 | -| F-ZERO X | v64 | 16 | NFZP | 1.0 | EU | 6106 | 776646F6 | 06B9AC2B | 7b2d9e24e6535be213ba036efe618e31 | F-Zero X (Europe).n64 | -| F-ZERO X | z64 | 16 | NFZP | 1.0 | EU | 6106 | 776646F6 | 06B9AC2B | ee79a8fe287b5dcaea584439363342fc | F-Zero X (Europe).z64 | -| F-ZERO X | z64 | 16 | CFZE | 1.0 | US | 6106 | B30ED978 | 3003C9F9 | 753437d0d8ada1d12f3f9cf0f0a5171f | F-Zero X (USA).z64 | -| GOLDENEYE | v64 | 16 | NGEE | 1.0 | US | 6102 | DCBC50D1 | 09FD1AA3 | 08becb418039bcaf948dff73b9fe177b | Goldeneye.v64 | -| JET FORCE GEMINI | z64 | 32 | NJFE | 1.0 | US | 6105 | 8A6009B6 | 94ACE150 | 772cc6eab2620d2d3cdc17bbc26c4f68 | Jet Force Gemini (USA).z64 | -| Killer Instinct Gold | z64 | 12 | NKIE | 1.2 | US | 6102 | F908CA4C | 36464327 | dd0a82fcc10397afb37f12bb7f94e67a | Killer Instinct Gold (USA) (Rev B).z64 | -| LEGORacers | z64 | 16 | NLGE | 1.0 | US | 6102 | 096A40EA | 8ABE0A10 | 97c4cae584f427ec44266e9b98fbf7b6 | LEGO Racers (USA) (En,Fr,De,Es,It,Nl,Sv,No,Da,Fi).z64 | -| ZELDA MAJORA'S MASK | z64 | 32 | NZSE | 1.0 | US | 6105 | 5354631C | 03A2DEF0 | 2a0a8acb61538235bc1094d297fb6556 | Legend of Zelda, The - Majora's Mask (USA).z64 | -| THE LEGEND OF ZELDA | z64 | 32 | CZLE | 1.2 | US | 6105 | 693BA2AE | B7F14E9F | 57a9719ad547c516342e1a15d5c28c3d | Legend of Zelda, The - Ocarina of Time (U) (V1.2) [!].z64 | -| THE LEGEND OF ZELDA | z64 | 32 | CZLE | 1.2 | US | 6105 | 693BA2AE | B7F14E9F | 57a9719ad547c516342e1a15d5c28c3d | Legend of Zelda, The - Ocarina of Time (USA) (Rev B).z64 | -| STARFOX64 | z64 | 12 | NFXP | 1.0 | EU | 7102 | F4CBE92C | B392ED12 | 884ccca35cbeedb8ed288326f9662100 | Lylat Wars (Europe) (En,Fr,De).z64 | -| MarioGolf64 | z64 | 24 | NMFE | 1.0 | US | 6102 | 664BA3D4 | 678A80B7 | 7a5d0d77a462b5a7c372fb19efde1a5f | Mario Golf (USA).z64 | -| MARIOKART64 | z64 | 12 | NKTE | 1.0 | US | 6102 | 3E5055B6 | 2E92DA52 | 3a67d9986f54eb282924fca4cd5f6dff | Mario Kart 64 (USA).z64 | -| MarioParty2 | z64 | 32 | NMWE | 1.0 | US | 6102 | 9EA95858 | AF72B618 | 04840612a35ece222afdb2dfbf926409 | Mario Party 2 (USA).z64 | -| MarioTennis | z64 | 16 | NM8E | 1.0 | US | 6102 | 5001CF4F | F30CB3BD | 759358fad1ed5ae31dcb2001a07f2fe5 | Mario Tennis (USA).z64 | -| Mega Man 64 | z64 | 32 | NM6E | 1.0 | US | 6102 | 0EC158F5 | FB3E6896 | 3620674acb51e436d5150738ac1c0969 | Mega Man 64 (USA).z64 | -| PAPER MARIO | z64 | 40 | NMQE | 1.0 | US | 6103 | 65EEE53A | ED7D733C | a722f8161ff489943191330bf8416496 | Paper Mario (USA).z64 | -| Perfect Dark | z64 | 32 | NPDE | 1.1 | US | 6105 | 41F2B98F | B458B466 | e03b088b6ac9e0080440efed07c1e40f | Perfect Dark (USA) (Rev A).z64 | -| Pilot Wings64 | z64 | 8 | NPWE | 1.0 | US | 6102 | C851961C | 78FCAAFA | 8b346182730ceaffe5e2ccf6d223c5ef | Pilotwings 64 (USA).z64 | -| TSUMI TO BATSU | v64 | 32 | NGUJ | 1.0 | JP | 6102 | B6BC0FB0 | E3812198 | 3b8638452b46deba9edffbcd6cdb6966 | Sin and Punishment.v64 | -| TSUMI TO BATSU | z64 | 32 | NGUJ | 1.0 | JP | 6102 | B6BC0FB0 | E3812198 | a0657bc99e169153fd46aeccfde748f3 | Sin and Punishment.z64 | -| STARFOX64 | z64 | 12 | NFXE | 1.1 | US | 6101 | BA780BA0 | 0F21DB34 | 741a94eee093c4c8684e66b89f8685e8 | Star Fox 64 (USA) (Rev A).z64 | -| Rogue Squadron | z64 | 16 | NRSE | 1.0 | US | 6102 | 66A24BEC | 2EADD94F | 47cac4e2a6309458342f21a9018ffbf0 | Star Wars - Rogue Squadron (USA) (Rev A).z64 | -| SUPER MARIO 64 | z64 | 8 | NSME | 1.0 | US | 6102 | 635A2BFF | 8B022326 | 20b854b239203baf6c961b850a4a51a2 | Super Mario 64 (USA).z64 | -| SUPERMARIO64 | v64 | 8 | NSMJ | 1.3 | JP | 6102 | D6FBA4A8 | 6326AA2C | f3a6e533de52fb84d4e2dfae6167c8b1 | Super Mario 64 - Shindou Edition (J) [!].n64 | -| SUPERMARIO64 | z64 | 8 | NSMJ | 1.3 | JP | 6102 | D6FBA4A8 | 6326AA2C | 2d727c3278aa232d94f2fb45aec4d303 | Super Mario 64 - Shindou Edition (J) [!].z64 | -| SMASH BROTHERS | v64 | 16 | NALE | 1.0 | US | 6103 | 916B8B5B | 780B85A4 | 3c4e65d9b7bf55338496108f04da7f41 | Super Smash Bros. (USA).n64 | -| SMASH BROTHERS | z64 | 16 | NALE | 1.0 | US | 6103 | 916B8B5B | 780B85A4 | f7c52568a31aadf26e14dc2b6416b2ed | Super Smash Bros. (USA).z64 | -| TSUMI TO BATSU | v64 | 32 | NGUJ | 1.0 | JP | 6102 | B6BC0FB0 | E3812198 | 3b8638452b46deba9edffbcd6cdb6966 | Tsumi to Batsu - Hoshi no Keishousha (Japan).n64 | -| TSUMI TO BATSU | z64 | 32 | NGUJ | 1.0 | JP | 6102 | B6BC0FB0 | E3812198 | a0657bc99e169153fd46aeccfde748f3 | Tsumi to Batsu - Hoshi no Keishousha (Japan).z64 | -| WAVE RACE 64 | z64 | 8 | NWRE | 1.1 | US | 6102 | 492F4B61 | 04E5146A | 2048a640c12d1cf2052ba1629937d2ff | Wave Race 64 (USA) (Rev A).z64 | -+----------------------+--------+------+--------+---------+--------+------+----------+----------+----------------------------------+-----------------------------------------------------------+ +rom64 ls ~/Downloads/n64 -c image_name,file_format_desc,rom_id,region,video_system,cic,file_size_mbits,md5,file_name ++----------------------+--------------+--------+--------+-------+------+-----------+----------------------------------+-----------------------------------------------------------+ +| Image Name | File Format | Rom ID | Region | Video | CIC | Size (Mb) | MD5 | File Name | ++----------------------+--------------+--------+--------+-------+------+-----------+----------------------------------+-----------------------------------------------------------+ +| 1080 SNOWBOARDING | Big-endian | NTEA | JP/US | NTSC | 6103 | 128 | fa27089c425dbab99f19245c5c997613 | 1080 Snowboarding (Japan, USA) (En,Ja).z64 | +| Banjo-Kazooie | Big-endian | NBKE | US | NTSC | 6103 | 128 | b11f476d4bc8e039355241e871dc08cf | Banjo-Kazooie (USA) (Rev A).z64 | +| BANJO TOOIE | Big-endian | NB7E | US | NTSC | 6105 | 256 | 40e98faa24ac3ebe1d25cb5e5ddf49e4 | Banjo-Tooie (USA).z64 | +| Blast Corps | Big-endian | NBCE | US | NTSC | 6102 | 64 | 5875fc73069077c93e214233b60f0bdc | Blast Corps (USA) (Rev A).z64 | +| BOMBERMAN64U | Big-endian | NBME | US | NTSC | 6102 | 64 | 093058ece14c8cc1a887b2087eb5cfe9 | Bomberman 64 (USA).z64 | +| CONKER BFD | Big-endian | NFUE | US | NTSC | 6105 | 512 | 00e2920665f2329b95797a7eaabc2390 | Conker's Bad Fur Day (USA).z64 | +| Diddy Kong Racing | Big-endian | NDYE | US | NTSC | 6103 | 96 | b31f8cca50f31acc9b999ed5b779d6ed | Diddy Kong Racing (USA) (En,Fr) (Rev A).z64 | +| DONKEY KONG 64 | Big-endian | NDOE | US | NTSC | 6105 | 256 | 9ec41abf2519fc386cadd0731f6e868c | Donkey Kong 64 (USA).z64 | +| F1 WORLD GRAND PRIX2 | Byte-swapped | NF2P | EU | PAL | 6102 | 96 | 2eb7766279c6b84d912c80aaa725bb6d | F-1 World Grand Prix II (Europe) (En,Fr,De,Es).n64 | +| F-ZERO X | Big-endian | NFZP | EU | PAL | 6106 | 128 | ee79a8fe287b5dcaea584439363342fc | F-ZERO X (E) [!].z64 | +| F-ZERO X | Byte-swapped | NFZP | EU | PAL | 6106 | 128 | 7b2d9e24e6535be213ba036efe618e31 | F-Zero X (Europe).n64 | +| F-ZERO X | Big-endian | NFZP | EU | PAL | 6106 | 128 | ee79a8fe287b5dcaea584439363342fc | F-Zero X (Europe).z64 | +| F-ZERO X | Big-endian | CFZE | US | NTSC | 6106 | 128 | 753437d0d8ada1d12f3f9cf0f0a5171f | F-Zero X (USA).z64 | +| GOLDENEYE | Byte-swapped | NGEE | US | NTSC | 6102 | 128 | 08becb418039bcaf948dff73b9fe177b | Goldeneye.v64 | +| HSV ADVENTURE RACING | Byte-swapped | NNSX | EU | PAL | 6102 | 128 | 1d8f8ca47fe02d1950e7a9725822414e | HSV Adventure Racing! (Australia).n64 | +| HSV ADVENTURE RACING | Big-endian | NNSX | EU | PAL | 6102 | 128 | 26f7d8f4640ebdfa823f84e5f89d62bf | HSV Adventure Racing! (Australia).z64 | +| JET FORCE GEMINI | Big-endian | NJFE | US | NTSC | 6105 | 256 | 772cc6eab2620d2d3cdc17bbc26c4f68 | Jet Force Gemini (USA).z64 | +| Killer Instinct Gold | Big-endian | NKIE | US | NTSC | 6102 | 96 | dd0a82fcc10397afb37f12bb7f94e67a | Killer Instinct Gold (USA) (Rev B).z64 | +| LEGORacers | Big-endian | NLGE | US | NTSC | 6102 | 128 | 97c4cae584f427ec44266e9b98fbf7b6 | LEGO Racers (USA) (En,Fr,De,Es,It,Nl,Sv,No,Da,Fi).z64 | +| ZELDA MAJORA'S MASK | Big-endian | NZSE | US | NTSC | 6105 | 256 | 2a0a8acb61538235bc1094d297fb6556 | Legend of Zelda, The - Majora's Mask (USA).z64 | +| THE LEGEND OF ZELDA | Big-endian | CZLE | US | NTSC | 6105 | 256 | 57a9719ad547c516342e1a15d5c28c3d | Legend of Zelda, The - Ocarina of Time (U) (V1.2) [!].z64 | +| THE LEGEND OF ZELDA | Big-endian | CZLE | US | NTSC | 6105 | 256 | 57a9719ad547c516342e1a15d5c28c3d | Legend of Zelda, The - Ocarina of Time (USA) (Rev B).z64 | +| STARFOX64 | Big-endian | NFXP | EU | PAL | 7102 | 96 | 884ccca35cbeedb8ed288326f9662100 | Lylat Wars (E) (M3) [!].z64 | +| STARFOX64 | Byte-swapped | NFXP | EU | PAL | 7102 | 96 | 204a14c2ac815afee74b58ef9394708d | Lylat Wars (Europe) (En,Fr,De).n64 | +| STARFOX64 | Big-endian | NFXP | EU | PAL | 7102 | 96 | 884ccca35cbeedb8ed288326f9662100 | Lylat Wars (Europe) (En,Fr,De).z64 | +| MarioGolf64 | Big-endian | NMFE | US | NTSC | 6102 | 192 | 7a5d0d77a462b5a7c372fb19efde1a5f | Mario Golf (USA).z64 | +| MARIOKART64 | Big-endian | NKTE | US | NTSC | 6102 | 96 | 3a67d9986f54eb282924fca4cd5f6dff | Mario Kart 64 (USA).z64 | +| MarioParty2 | Big-endian | NMWE | US | NTSC | 6102 | 256 | 04840612a35ece222afdb2dfbf926409 | Mario Party 2 (USA).z64 | +| MarioTennis | Big-endian | NM8E | US | NTSC | 6102 | 128 | 759358fad1ed5ae31dcb2001a07f2fe5 | Mario Tennis (USA).z64 | +| Mega Man 64 | Big-endian | NM6E | US | NTSC | 6102 | 256 | 3620674acb51e436d5150738ac1c0969 | Mega Man 64 (USA).z64 | +| PAPER MARIO | Big-endian | NMQE | US | NTSC | 6103 | 320 | a722f8161ff489943191330bf8416496 | Paper Mario (USA).z64 | +| Perfect Dark | Big-endian | NPDE | US | NTSC | 6105 | 256 | e03b088b6ac9e0080440efed07c1e40f | Perfect Dark (USA) (Rev A).z64 | +| Pilot Wings64 | Big-endian | NPWE | US | NTSC | 6102 | 64 | 8b346182730ceaffe5e2ccf6d223c5ef | Pilotwings 64 (USA).z64 | +| TSUMI TO BATSU | Byte-swapped | NGUJ | JP | NTSC | 6102 | 256 | 3b8638452b46deba9edffbcd6cdb6966 | Sin and Punishment.v64 | +| TSUMI TO BATSU | Big-endian | NGUJ | JP | NTSC | 6102 | 256 | a0657bc99e169153fd46aeccfde748f3 | Sin and Punishment.z64 | +| STARFOX64 | Big-endian | NFXE | US | NTSC | 6101 | 96 | 741a94eee093c4c8684e66b89f8685e8 | Star Fox 64 (USA) (Rev A).z64 | +| Rogue Squadron | Big-endian | NRSE | US | NTSC | 6102 | 128 | 47cac4e2a6309458342f21a9018ffbf0 | Star Wars - Rogue Squadron (USA) (Rev A).z64 | +| SUPER MARIO 64 | Big-endian | NSME | US | NTSC | 6102 | 64 | 20b854b239203baf6c961b850a4a51a2 | Super Mario 64 (USA).z64 | +| SUPERMARIO64 | Byte-swapped | NSMJ | JP | NTSC | 6102 | 64 | f3a6e533de52fb84d4e2dfae6167c8b1 | Super Mario 64 - Shindou Edition (J) [!].n64 | +| SUPERMARIO64 | Big-endian | NSMJ | JP | NTSC | 6102 | 64 | 2d727c3278aa232d94f2fb45aec4d303 | Super Mario 64 - Shindou Edition (J) [!].z64 | +| SMASH BROTHERS | Byte-swapped | NALE | US | NTSC | 6103 | 128 | 3c4e65d9b7bf55338496108f04da7f41 | Super Smash Bros. (USA).n64 | +| SMASH BROTHERS | Big-endian | NALE | US | NTSC | 6103 | 128 | f7c52568a31aadf26e14dc2b6416b2ed | Super Smash Bros. (USA).z64 | +| TSUMI TO BATSU | Byte-swapped | NGUJ | JP | NTSC | 6102 | 256 | 3b8638452b46deba9edffbcd6cdb6966 | Tsumi to Batsu - Hoshi no Keishousha (Japan).n64 | +| TSUMI TO BATSU | Big-endian | NGUJ | JP | NTSC | 6102 | 256 | a0657bc99e169153fd46aeccfde748f3 | Tsumi to Batsu - Hoshi no Keishousha (Japan).z64 | +| WAVE RACE 64 | Big-endian | NWRE | US | NTSC | 6102 | 64 | 2048a640c12d1cf2052ba1629937d2ff | Wave Race 64 (USA) (Rev A).z64 | ++----------------------+--------------+--------+--------+-------+------+-----------+----------------------------------+-----------------------------------------------------------+ ``` ## `rom64 stat` -List information about a single file. +Show information about a single file. Also supports the same output options as `ls` @@ -99,14 +123,16 @@ rom64 stat ~/Downloads/n64/Conker\'s\ Bad\ Fur\ Day\ \(USA\).z64 File: Name: Conker's Bad Fur Day (USA).z64 Size: 64 MB - Format: z64 + Format: z64 (Big-endian) MD5: 00e2920665f2329b95797a7eaabc2390 + SHA1: 4cbadd3c4e0729dec46af64ad018050eada4f47a ROM: ID: NFUE Title: CONKER BFD Media: Cartridge Region: US + Video: NTSC Version: 1.0 CIC: 6105 CRC 1: 30C7AC50 @@ -134,10 +160,15 @@ Same ROM but with `--output json` "file": { "path": "/home/mroach/Downloads/n64/Conker's Bad Fur Day (USA).z64", "name": "Conker's Bad Fur Day (USA).z64", - "format": "z64", + "format": { + "code": "z64", + "description": "Big-endian" + }, "size": 64, - "md5": "00e2920665f2329b95797a7eaabc2390" - } + "md5": "00e2920665f2329b95797a7eaabc2390", + "sha1": "4cbadd3c4e0729dec46af64ad018050eada4f47a" + }, + "video_system": "NTSC" } ```