# List of rom extensions?



## geopgin (Mar 27, 2015)

Has anyone come across a comprehensive list of all consoles/emulators and there respective rom extensions?

Thanks


----------



## migles (Mar 27, 2015)

.gba
.gb
.gbc
.nds
.3ds
.nes
.n64
this ones are very well known\easy to figure out what they are..

.sfc (super famicon\snes)
.iso <this one is used on most disc consoles, like wii and psp gamecube playstation etc...
.cso psp iso compressed
.wad wii program
.wbfs its a converted iso for wii

there are lots of roms with .bin in several plataforms

well can you tell the reason you need the list?
a very good way to know this is either open emulators (or check info about them) which usually tell you the formats they support or check a rom website,download a rom and open the zip to know the format..
(no link to rom website here pls)


----------



## Adeka (Mar 27, 2015)

You forgot .3dz even though it's really just a .3ds renamed.


----------



## geopgin (Mar 29, 2015)

migles said:


> .gba
> .gb
> .gbc
> .nds
> ...


 

Thanks for the response guys. I was looking for something a little more comprehensive and reflects emulators/roms from more platforms.

I was going to do up a little script for myself to organize my library (current and future) maybe even do a little art/description scraper. I was going to use some json to feed the script, prolly look something similar to below but as you can see i'm missing an awful lot. I started going through http://file-extensions.org/filetype /extension/name/emulator-files but lost interest, was hoping to find  them all in one spot better organized


```
"1": {"names": ["3DO"], "exts": [""]},
"2": {"names": ["Amiga"], "exts": [""]},
"3": {"names": ["Amstrad CPC"], "exts": [""]},
"4": {"names": ["Android"], "exts": [""]},
"5": {"names": ["Arcade"], "exts": [""]},
"6": {"names": ["Atari 2600"], "exts": [""]},
"7": {"names": ["Atari 5200"], "exts": [""]},
"8": {"names": ["Atari 7800"], "exts": [""]},
"9": {"names": ["Atari Jaguar"], "exts": [""]},
"10": {"names": ["Atari Jaguar CD"], "exts": [""]},
"11": {"names": ["Atari Lynx"], "exts": [""]},
"12": {"names": ["Atari XE"], "exts": [""]},
"13": {"names": ["Colecovision"], "exts": [""]},
"14": {"names": ["Commodore 64"], "exts": [""]},
"15": {"names": ["Fairchild Channel F"], "exts": [""]},
"16": {"names": ["Intellivision"], "exts": [""]},
"17": {"names": ["iOS"], "exts": [""]},
"18": {"names": ["Mac OS"], "exts": [""]},
"19": {"names": ["Magnavox Odyssey 2"], "exts": [""]},
"20": {"names": ["MAME"], "exts": [""]},
"21": {"names": ["Microsoft Xbox"], "exts": [""]},
"22": {"names": ["Microsoft Xbox 360"], "exts": [""]},
"23": {"names": ["Microsoft Xbox One"], "exts": [""]},
"24": {"names": ["Neo Geo Pocket"], "exts": [""]},
"25": {"names": ["Neo Geo Pocket Color"], "exts": [""]},
"26": {"names": ["Neo Geo"], "exts": [""]},
"27": {"names": ["Nintendo 3DS"], "exts": [""]},
"28": {"names": ["Nintendo 64"], "exts": [".z64",".v64",".rom"]},
"29": {"names": ["Nintendo DS"], "exts": [""]},
"30": {"names": ["Nintendo"], "exts": [".nes",".nez","fds",".fam"]},
"31": {"names": ["Nintendo Game Boy"], "exts": [".gb"]},
"32": {"names": ["Nintendo Game Boy Advance"], "exts": [".gba"]},
"33": {"names": ["Nintendo Game Boy Color"], "exts": [".gbc"]},
"34": {"names": ["Nintendo GameCube"], "exts": [""]},
"35": {"names": ["Nintendo Virtual Boy"], "exts": [""]},
"36": {"names": ["Nintendo Wii"], "exts": [".wdf"]},
"37": {"names": ["Nintendo Wii U"], "exts": [""]},
"38": {"names": ["Ouya"], "exts": [""]},
"39": {"names": ["PC"], "exts": [""]},
"40": {"names": ["Philips CD-i"], "exts": [""]},
"41": {"names": ["Sega 32X"], "exts": [".32x"]},
"42": {"names": ["Sega CD"], "exts": [""]},
"43": {"names": ["Sega Dreamcast"], "exts": [".gdi"]},
"44": {"names": ["Sega Game Gear"], "exts": [""]},
"45": {"names": ["Sega Genesis"], "exts": [".gen"]},
"46": {"names": ["Sega Master System"], "exts": [".sms"]},
"47": {"names": ["Sega Mega Drive"], "exts": [".smd"]},
"48": {"names": ["Sega Saturn"], "exts": [""]},
"49": {"names": ["Sinclair ZX Spectrum"], "exts": [""]},
"50": {"names": ["Sony Playstation"], "exts": [""]},
"51": {"names": ["Sony Playstation 2"], "exts": [""]},
"52": {"names": ["Sony Playstation 3"], "exts": [""]},
"53": {"names": ["Sony Playstation 4"], "exts": [""]},
"54": {"names": ["Sony Playstation Vita"], "exts": [""]},
"55": {"names": ["Sony PSP"], "exts": [""]},
"56": {"names": ["Super Nintendo"], "exts": [".smc",".srm",".swc",".fig"]},
"57": {"names": ["TurboGrafx 16"], "exts": [""]},
"58": {"names": ["WonderSwan"], "exts": [""]},
"59": {"names": ["WonderSwan Color"], "exts": [""]}
```


----------



## FAST6191 (Mar 29, 2015)

Possibly everything
.bin

From here we probably have a mess on our hands and that is before we consider all the various formats a ROM can come in, wind in the various popular/legacy ISO formats (poke around any site with old PS1 guides-- .iso, .nrg, discjuggler, cdrwin, clonecd and that is just the ones I recall actively having to deal with).
To that end you are probably going to have to go active and do some kind of fingerprinting.

"30": {"names": ["Nintendo"], "exts": [".nes",".nez","fds",".fam"]},
Though the famicom and NES and probably close enough to count I would have argued the FDS and NES are different enough systems (you have the 32x and megadrive/genesis as different systems, apparently also the megadrive as a different system to the genesis).

If you have not been to http://datomatic.no-intro.org/ then I would suggest a scan around there. It will probably not do exactly what you want but it is worth a look.

.srm is usually a type of save file and used by a variety of emulators, not sure I have seen it as a ROM.

"32": {"names": ["Nintendo Game Boy Advance"], "exts": [".gba"]},
also .agb .bin

Anyway that is going to get nowhere and for reasons previously discussed would not be that helpful. I don't know the tools in question but in my experience every system worth anything usually gets some kind of header viewer/parser 
http://www.no-intro.org/tools.htm has GBATA and NDSTS (guess what they are for) but there are any number of those tools for those systems.

SNES
http://www.romhacking.net/utilities/400/

SNES and megadrive/genesis
http://www.romhacking.net/utilities/19/

More megadrive/genesis
http://www.romhacking.net/utilities/383/

N64
http://filetrip.net/oldies-downloads/n64/download-tool-64-111-beta-1-f32494.html perhaps.


----------



## geopgin (Mar 29, 2015)

I'm using my library as an excuse to learn python and I really don't want to get into using crc's or any other type finger printing. There is is however a module (pyrominfo) that does exactly that but again i'm not sure how inclusive that is. 

I agree about FDS and NES, I pulled that list from one api http://thegamesdb.net/api/GetPlatformsList.php and its possible my list will get bigger but for now these are what i'm using. Are FDS/NES dumps not all playable on the same emulators? Is there a separate Famicon emulator specific to that console?

I've been to datomatic (and others) and have used there dats with romcenter to rename most of my roms. I haven't however been there to looks for this kind of data, maybe i'll give it a shot.

I thought the srm was save as well, but the site from my previous post suggested it was a rom. I just don't know enough about emulators and roms to know what extensions are what...again why i came here. I'll remove it.

As for looking into headers or crcs its beyond this little experiments scope and my skillset. I'll just limit the extensions to what i can dig up and go from there.


Thanks for the information you provided


----------



## Subtle Demise (Mar 29, 2015)

geopgin said:


> I'm using my library as an excuse to learn python and I really don't want to get into using crc's or any other type finger printing. There is is however a module (pyrominfo) that does exactly that but again i'm not sure how inclusive that is.
> 
> I agree about FDS and NES, I pulled that list from one api http://thegamesdb.net/api/GetPlatformsList.php and its possible my list will get bigger but for now these are what i'm using. Are FDS/NES dumps not all playable on the same emulators? Is there a separate Famicon emulator specific to that console?
> 
> I thought the srm was save as well, but the site from my previous post suggested it was a rom. I just don't know enough about emulators and roms to know what extensions are what...again why i came here. I'll remove it.



I believe all the available nes emulators for pc support fds automatically, however you have to provide a bios file.

A srm file is a dump of the game's sram, basically a save state


----------



## FAST6191 (Mar 29, 2015)

NES emulation is fairly well developed on the PC but go outside that (various GBA and DS emulators, not sure what goes for andrios right now) and certain things will not emulate the famicom disk system, or it will need a special FDS version/build for it. The plain famicom has more hardware than the basic NES (or NES plus mappers) but it was still similar enough that it is just another region as far as most emulators and flash carts are concerned; the differences tend to be when you are programming or want the microphone in the famicom.

If this is going to be the project that you use to learn programming/python then by all means go ahead and you will probably get a tool out of it, getting something you can feed a folder of random ROM files and having it sort it reliably/usefully is somewhat more of an ask.


----------



## geopgin (Mar 29, 2015)

FAST6191 said:


> NES emulation is fairly well developed on the PC but go outside that (various GBA and DS emulators, not sure what goes for andrios right now) and certain things will not emulate the famicom disk system, or it will need a special FDS version/build for it. The plain famicom has more hardware than the basic NES (or NES plus mappers) but it was still similar enough that it is just another region as far as most emulators and flash carts are concerned; the differences tend to be when you are programming or want the microphone in the famicom.
> 
> If this is going to be the project that you use to learn programming/python then by all means go ahead and you will probably get a tool out of it, getting something you can feed a folder of random ROM files and having it sort it reliably/usefully is somewhat more of an ask.


 

So first and foremost this is for the learning experience. It would however be cool to have something at the end to have something reusable even if only for myself.

Part of it was going to be and try and build smart library but, which is possible but i think may be intensive not only in time but in process and network utilization. For now i'll back burner that part.

Another part which is pretty easy is to prompt for platform, directory and extensions...do work

Yet another part is to be, point at root directory, if there are folders in the root folder with platform names that match the json file map it to set of extensions...do work for each platform set

by do work i mean...

organize - which could include creating a folder with rom name and moving all respective info (art, nfo, saves etc..) about rom into it, or maybe zipping all that info
scrape - dl info (titel, description, artwork) about game from api and maybe create a nfo....then organize


who knows how far i'll get but what fun it will be trying to get there.

EDIT: As fyi I use various OS's (win7, win8.1, android [firetv], and soon linux) all with kodi 14.1 -> Rom Collection Browser -> retroarch


----------



## WoolDoughnut10 (Feb 22, 2019)

geopgin said:


> Has anyone come across a comprehensive list of all consoles/emulators and there respective rom extensions?
> 
> Thanks


You could look at RetroPie on github for any details. Such as RetroPie/RetroPie-Setup/wiki/Supported systems


----------



## Alexander1970 (Feb 22, 2019)

Hello.

As Atari b-bit fan:

most common depending on Emulator:

.ATR/.XFD/.ATX - Diskette
.CAS - Cassette
.a52/.ROM/.CAR - Module
.XEX/.bas/.com - Programs


----------



## AndroidDimitris (Jan 17, 2022)

Average Capable Games Roms File Types


-Nintendo GameBoy: .gb
-Nintendo GB Color: .gbc
-Nintendo GB Advance: .gba
-Nintendo NES: .nes or .fds
-Nintendo SNES: .smc or .sfc
-Nintendo 64: .n64 or .z64 or .v64 and N64DD: .ndd
-Nintendo GameCube: .gcm
-Nintendo Wii: .wbfs


-Sega SG-1000: .sg and SC-3000: .sc and SF-7000: .sf7
-Sega Master System: .sms
-Sega Mega Drive / Genesis: .md or .smd or .gen
-Sega GameGear: .gg
-Sega CD : .chd
-Sega 32x: .32x
-Sega Saturn:  .cdi or .mdf - mds
-Sega Dreamcast: .gdi


-Playstation: .bin - .cue or .img - .ccd - .sub - .sbi (+ sbi in some because libcrypt protection)
-Playstation Portable: .cso
-Playstation 2: .iso or .nrg
-Playstation Vita: .vpk


-Atari 8-bit family (400-800-XL-XE): .atr or .atx or .bas or .cas
-Atari 2600: .a26
-Atari 5200: .a52
-Atari 7800: .a78
-Atari Lynx: .lnx
-Atari Jaguar: .jag and Jaguar CD: .jcd


----------

