TOSEC Naming convention

{===============//---------------]
: The TOSEC Naming Convention v1 :
[---------------//===============}


{===============//===============}
{=====/*** Introduction ***/=====}
{===============//===============}

TOSEC, The Old School Emulation Centre, is a group of people dedicated
to the preservation of classic home computer and console systems.
The TOSEC Naming Convention is our attempt to create a clear, concise, and
consistent naming scheme for the cataloging of disk, tape, and ROM-based images
for classic computer and console systems. It has undergone numerous revisions
in its short lifespan, and along the way has evolved to better define these
images. It is with this goal in mind that we present you with
the TOSEC Naming Convention v1 (TNC v1).


{===============//===============}
{=/*** The Format- Overview ***/=}
{===============//===============}

Filename version (demo) (year)(publisher)(system)(video)(country/language)(PD)(development status)[dump info flags](Disk/File/Tape x of y Side A/B)(disk label)[more info]

All entries contained in parenthesis "()" or brackets "[]" are flags for a file,
and used for classifying the image.

* Filename
The name of the game. It should match the publisher's released title
(if known), or the title screen. In cases where the title begins with
the word "The", it should be moved to the end of the Filename, and
preceded by a comma.

Ex: "The Legend of TOSEC" would become "Legend of TOSEC, The"

* version
The version info is considered an extension of the filename. It is mainly
used for BIOS revisions, DOS versions, and other program updates.
There are no parenthesis involved, and the format should be "vx.xx".
Ex: "Legend of TOSEC v1.0, The"
Ex: "Legend of TOSEC v1.03b, The"

* (demo)
Whether or not a game is a demo, preview, or playable preview version.
Ex: "Legend of TOSEC, The (demo)"
Ex: "Legend of TOSEC, The (playable preview)"

* (year)
The year the program was released (preferably), or the on-screen release
year. Use (199x) if from the '90s, (197x) from the 70's, etc. if no exact
year is known, but the decade can be determined. If no information is
available, use (19xx) or (200x) until a release year can be verified. 
Ex: "Legend of TOSEC, The (19xx)"
Ex: "Legend of TOSEC, The (200x)"
Ex: "Legend of TOSEC, The (1986)"
Ex: "Legend of TOSEC, The (199x)"

* (publisher)
The publisher field generally describes what company produced the game.
Lacking this, the programmer's name is used. If that is not available,
a (-) is used.
Ex: "Legend of TOSEC, The (1986)(DevStudio)"
Ex: "Legend of TOSEC, The (1986)(-)"

** NOTE: "Filename (year)(publisher)" is the *bare minimum* for a renamed image.
Use "Filename (19xx)(-)" if needed. **

* (system)
This field is reserved for collections that *require* multiple system
support, such as Amiga, which would require (A500) or (A1000), to address
compatibility issues.
Ex: "Legend of TOSEC, The (1986)(DevStudio)(A500)"

* (video)
The video field is only used in cases where the images cannot be
classified by countries or language, but only by the PAL or NTSC video
formats they were released in.
Ex: "Legend of TOSEC, The (1986)(DevStudio)(PAL)"

* (country/language)
This field is used to classify the country of origin, or language variation.
Most systems have a standard country or language- this should be omitted
from individual entries, and a comment should be placed in an included
text file or comment field of a .dat to reflect it. For example, Oric is a
predominantly French system, so only non-French games need this field.
A list of common country / language codes is listed later.
Ex: "Legend of TOSEC, The (1986)(DevStudio)(US)"
Ex: "Legend of TOSEC, The (1986)(DevStudio)(Jp)"
Ex: "Legend of TOSEC, The (1986)(DevStudio)(De)"

* (PD)
If an image has been made available to the Public Domain by the copyright
holder, this is the place to note it.
Ex: "Legend of TOSEC, The (1986)(DevStudio)(US)(PD)"

* (development status)
This field is for marking betas, alphas, unreleased, and prototypes.
Ex: "Legend of TOSEC, The (1986)(DevStudio)(US)(beta)"
Ex: "Legend of TOSEC, The (1986)(DevStudio)(US)(proto)"

* [dump info flags]
This is the "alphabet soup" used to describe the nature, quality, and
condition of the *image* of the game. This is where dumps that are bad,
alternates, cracks, hacks, trainers, fixes, translations, etc. are noted.
A large, detailed list of options is listed later.
Note that these are in brackets [].
Ex: "Legend of TOSEC, The (1986)(DevStudio)(US)[a]"
Ex: "Legend of TOSEC, The (1986)(DevStudio)(US)[b]"
Ex: "Legend of TOSEC, The (1986)(DevStudio)(US)[cr]"
Ex: "Legend of TOSEC, The (1986)(DevStudio)(US)[tr Fr]"
Ex: "Legend of TOSEC, The (1986)(DevStudio)(US)[h Fairlight]"
Ex: "Legend of TOSEC, The (1986)(DevStudio)(US)[o]"

* (Disk/File/Tape x of y Side A/B)
This field is used if the game spans more than one disk, or is comprised of
multiple files. When there are 9 or less disks, the format of (Disk 1 of 3)
is used. If there are 10 or more disks, then the entry needs to change to
(Disk 01 of 13) to maintain consistency. In cases where double sided tapes
or disks are involved, the "Side A/B" entry is also included.
Ex: "Legend of TOSEC, The (1986)(DevStudio)(US)(File 1 of 2)"
Ex: "Legend of TOSEC, The (1986)(DevStudio)(US)(File 2 of 2)"
Ex: "Legend of TOSEC, The (1986)(DevStudio)(US)(Side A)"
Ex: "Legend of TOSEC, The (1986)(DevStudio)(US)(Side B)"
Ex: "Legend of TOSEC, The (1986)(DevStudio)(US)(Disk 01 of 11)"
Ex: "Legend of TOSEC, The (1986)(DevStudio)(US)(Disk 08 of 11)"
Ex: "Legend of TOSEC, The (1986)(DevStudio)(US)(Disk 10 of 11)"
Ex: "Legend of TOSEC, The (1986)(DevStudio)(US)(Disk 1 of 2 Side A)"
Ex: "Legend of TOSEC, The (1986)(DevStudio)(US)(Disk 1 of 2 Side B)"
Ex: "Legend of TOSEC, The (1986)(DevStudio)(US)(Disk 2 of 2 Side A)"
Ex: "Legend of TOSEC, The (1986)(DevStudio)(US)(Disk 2 of 2 Side B)"
Ex: "Legend of TOSEC, The (1986)(DevStudio)(US)(Tape 1 of 2 Side A)"
Ex: "Legend of TOSEC, The (1986)(DevStudio)(US)(Tape 1 of 2 Side B)"
Ex: "Legend of TOSEC, The (1986)(DevStudio)(US)(Tape 2 of 2 Side A)"
Ex: "Legend of TOSEC, The (1986)(DevStudio)(US)(Tape 2 of 2 Side B)"

** NOTE: In cases where multi-file zips are used, the parent's zipname should
reflect the contents of the zip.
The files :
"Legend of TOSEC, The (1986)(DevStudio)(US)(Disk 1 of 2).bin"
"Legend of TOSEC, The (1986)(DevStudio)(US)(Disk 2 of 2).bin"
would be included in the zip called:
"Legend of TOSEC, The (1986)(DevStudio)(US)[2 Disks].zip"

* (disk label)
If the disk label is known, this field following the (Disk x of y) entry
should contain it. This is mainly used when save, program, install, or
other custom names might be requested by the game itself. (Disk 2 of 3) is
not useful by itself when the program asks you to "Insert Character Disk".
Ex: "Legend of TOSEC, The (1986)(DevStudio)(US)(Disk 1 of 2)(Program)"
Ex: "Legend of TOSEC, The (1986)(DevStudio)(US)(Disk 2 of 2)(Data)"
Ex: "Legend of TOSEC, The (1986)(DevStudio)(US)(Disk 2 of 2)(Disk B)"

* [more info]
This field also contains any miscellaneous information about the image that
is not covered by any of the prior flag fields. Examples include, but are
not limited to: [docs], [EEPROM], old 8.3 DOS names - [SF2Turbo.bin],
[requires TRS-DOS], [non working], [dumped to disk], [source code], etc etc.


{===============//===============}
{*** Country / Language Codes ***}
{===============//===============}

(US) United States (English)
(Jp) Japan / Japanese
(UK) United Kingdom (English)
(En) English (not country specific)
(Fr) France / French
(De) Germany / German
(Sp) Spain / Spanish
(Nl) Netherlands / Dutch
(It) Italy / Italian
(Cz) Czechoslovakia / Czech
(Sw) Sweden / Swedish
(HK) Hong Kong
(Au) Australia
(Pl) Poland
(Br) Brazil
(Eu) European
... This is only a partial list, but should cover most images.

In case of 2 languages or countries, use those codes separated by a hyphen.

(En-Fr) contains English and French versions
(En-De) contains English and German versions
(US-Eu) released in the US and Europe

In case of more than 2 languages or countries, (Mx) is used to represent
multiple languages. (M3) for three languages, (M4) for 4 languages, etc.


{===============//===============}
{/*** Dump Information Flags ***/}
{===============//===============}

[a] Alternate version
[b] Bad dump
[cr] Cracked
[cr Crack Group] Cracked by Crack Group
[f] Fixed
[f save] - fixed to allow saving
[f copier] - fixed for use on a copier
[f NTSC] - fixed for NTSC systems
[h] Hacked
[h Hacker Group] - Hacked by Hacker Group
[m] Modified
[m Modifier] - Modified by Modifier
[o] Overdump
[p] Pirate (non-licensed)
[t] Trained
[t Trainer Group] - Trained by Trainer Group
[t +5] - Plus five trainer
[tr] Translation
[tr Fr] - Translated to French
[tr En] - Translated to English
[u] Underdump
[!] Verified Good dump


{========/* Duplicates.../=======}

In cases where multiple images exist that need the same
Dump Information Flags, the flag is numbered as follows:
Ex: "Legend of TOSEC, The (1986)(DevStudio)(US)[a]"
Ex: "Legend of TOSEC, The (1986)(DevStudio)(US)[a2]"
Ex: "Legend of TOSEC, The (1986)(DevStudio)(US)[a3]"
Ex: "Legend of TOSEC, The (1986)(DevStudio)(US)[a4]"
Ex: "Legend of TOSEC, The (1986)(DevStudio)(US)[b]"
Ex: "Legend of TOSEC, The (1986)(DevStudio)(US)[b2]"
Ex: "Legend of TOSEC, The (1986)(DevStudio)(US)[b3]"
Ex: "Legend of TOSEC, The (1986)(DevStudio)(US)[cr]"
Ex: "Legend of TOSEC, The (1986)(DevStudio)(US)[cr2]"

Note there is NO [a1], and you will need to have a [b] for a [b2] to exist.

When dealing with flags that can relay more information, be sure to not add
numbers if it is not necessary to remain unique.
Ex: "Legend of TOSEC, The (1986)(DevStudio)(US)[cr]"
Ex: "Legend of TOSEC, The (1986)(DevStudio)(US)[cr Paradox]"
Ex: "Legend of TOSEC, The (1986)(DevStudio)(US)[cr TRSI]"
That is the correct way adding such extended flags.
Do NOT do:
Ex: "Legend of TOSEC, The (1986)(DevStudio)(US)[cr2]"
Ex: "Legend of TOSEC, The (1986)(DevStudio)(US)[cr3 Paradox]"
Ex: "Legend of TOSEC, The (1986)(DevStudio)(US)[cr TRSI]"


{====/* Multigame Images.../=====}

The format for multigame images is as follows:
Filename1 (year)(publisher)[flags] & Filename2 (year)(publisher)[flags] & Filename3 (year)(publisher)[flags]
etc. In cases where there are identical multigame images, use a - character
as a separator after the last game in the image, followed by any dump info
flags specific to the *entire* image.
Ex: "Amidar (19xx)(Bleh) & Amigos (19xx)(Blah).dsk"
Ex: "Amidar (19xx)(Bleh) & Amigos (19xx)(Blah)-[a].dsk"
Ex: "Amidar (19xx)(Bleh) & Amigos (19xx)(Blah)-[a2].dsk"
Ex: "Amidar (19xx)(Bleh) & Amigos (19xx)(Blah)-[b].dsk"

In cases where more than 3 games are on an image, it would be nice if a
separate text file is included with the .dat that contains a breakdown of
games on each image, and the files themselves renamed to something like
"Amiga Multigames Disk #1"

In the included readme.txt (or multigame.txt), use entries like:

Amiga Multigames Disk #1
Amidar (19xx)(Bleh)
Amigos (19xx)(Blah)
Attack from Above (19xx)(Blek)

Amiga Multigames Disk #2
Lost in Space (19xx)(Bleh)
etc. etc.


{======/* Special Flags.../======}

These would be listed immediately before the (Disk x of y):
[DD] Double Density
[HD] High Density
[32K] 32K image (or [16K] for a 16K image, etc.)


{======/* Unknown files.../======}

Place a "ZZZ-UNK-" prefix on the filename if you have yet to rename it.
This gets it included in the list and shows it has yet to be fully renamed.


{===============//===============}
{=/* Common renaming issues.../==}
{===============//===============}

In cases where there are subtitles, separate the titles with a dash.
Ex: "Legend of TOSEC - Lost Histories, The (1986)(DevStudio)(US)"
Ex: "TOSEC 2 - More of the Same (1988)(DevStudio)(De)"

In cases where "Mr." or "Mrs." are in the title, a period is always used.
Ex: "Mr. TOSEC's Adventure (1986)(DevStudio)(US)"
Do NOT use "Mr TOSEC's Adventure (1986)(DevStudio)(US)"

In cases where the title has a colon (:), a dash is used in its place.
"Codename: TOSEC" would become:
Ex: "Codename- TOSEC (1988)(DevStudio)(US)"

In most cases, "and", "the", and "of" are lowercase in titles. Be sure to 
verify with the title screen, release lists, or other sources, though.

Do not use underscores (_) in the filenames, as some DOS emulators will
refuse to run with these characters in the filename.

When renaming, spaces are not to be used between flags. The only situation
in which a space will occur between items in parenthesis is when the game is
a demo. In this case only, a space goes between the (demo) and (year).
Ex: "Legend of TOSEC, The (demo) (1986)(DevStudio)(US)"

Also, do not have double spaces in a filename, or trailing spaces before the
file extension.
Do NOT have:
Ex: "Legend of TOSEC, The (1986)(DevStudio).rom" <- double space
Ex: "Legend of TOSEC, The (1986)(DevStudio) .rom" <- trailing space

And once again, "Filename (year)(publisher)" is the *bare minimum* for a
renamed image. Use "Filename (19xx)(-)" if needed.
Ex: "Legend of TOSEC, The (1986)(DevStudio)"
Ex: "Legend of TOSEC, The (19xx)(-)"

Generally, file extensions are all lowercase.

Notes in the [more info] field should be lowercased unless capitalization
is necessary.


{===============//===============}
{===/ For further reading... /===}
{===============//===============}

** About non working files...

TOSEC considers a file "non working" if it will not run in an emulator.
Of course, it's hard to tell if a ROM is bad if there isn't a working emulator
for it, so we won't put bad or non-working flags on unemulated games.
We usually use the most common or most advanced emulator available.
When we're not sure about a game, we will try an alternative emulator for
renaming purposes. If the game still seems to be not working, we mark it
[non working] in the [more info] field until we get it running in an emulator
or can confirm that the image is bad, and mark it as such.


** About multiple zips...

We usually don't work with multiple file zips- we prefer to zip files
individually to make cataloging easier, although the nature of some systems
makes this impossible. Usually on multiple file games we use a (Part 1 of 2)
flag. In some cases a game exists with multiple disk images, in which case we
use (Disk 2 of 3).


** About renaming problems...

In some cases renaming might turn out to be a bad thing. There are emulators
that only work with 8.3 filenames (8 character name, 3 character extension) or
only recognize game names they have in the internal datfile for that emulator.
In these cases, we usually add the original filename as a flag since the files
will not work without their original dumping name (ti99/4a+ for example).
The same problem with some non-working files might occur when we have a game
that uses a loader. The loader looks for a very specific filename and will
not work if it is changed from its original naming. In these cases we will
also add a flag with the original filename.

There is a work-around for this problem, but it will not work with all systems
or all emulators. If the system and emulator support it, we put games like
this on a 'disk-image', like D64 for Commodore 8 bit programs. We rename the
disk to TOSEC standard, while the files themselves keep their original name.

Renamers: Don't forget to include the original files in the .dat or you will
find yourself checking the same file over and over again! Give them a header
like ZZZ-UNK-<filename> if you must, so that it will be included in the list.


** About finding rename info...

Occasionally we come across games with no start up screens, on-screen year,
publisher, or country info. In these cases we usually check the file with a
hex editor. Nine out of 10 times you can find info inside the file itself.
Besides, it's fun reading all those hidden messages from the programmers :-)


** If you only have a game name...

There are loads of system specific pages on the internet, and a lot of
release information can be found there. What we usually do before we start
renaming is to try and find release lists on the internet, since these lists
often contain information you won't find in the game itself.


** If you don't even have that!

Most of the time, you will be able to 'guess' the name of the game from the
filename it had when you received it, and the type of game it is. If the
original filename gives no indication of what the game title is, and you really
don't know what to make of it, use "ZZZ-UNK-<filename>" i.e. add "ZZZ-UNK-" to
the filename. "ZZZ" to make sure these files end up grouped together on the end
of all lists, and "UNK" stands for UNKnown.
Ex: "ZZZ-UNK-TOSEC1"

** So what do we call these unknown files...

If we really can't find any information on a file, we use the following to
let people know we need some help here.

ZZZ-UNK-<file> This file is yet to be properly renamed.
(UNK-Lang) The language is unknown.
(19xx) or (200x) No year is known for sure.
(-) No software house/publisher is known.

{===============//===============}
If there is no "misc info", omit the parenthesis.
If there is no "dump info", omit the brackets.
{===============//===============}

** About using RomCenter and Datafile Maker

Don't write all sort of information in its "comment" field. Remember, .DAT
files are *not* supposed to be read by people. Instead, if you want people to
know something, put it in an included readme.txt file. Put only information
of interest for renaming in the "comment" field, if any. Also, do not forget
that you will loose the text in the "comment" field the next time you scan
your directories.


{===============//===============}

** Keep in touch!

Questions and/or other things we should know about should be e-mailed to
grendel@retrogames.com (subject "TOSECinfo) Also, you are encouraged to join
#tosec on IRC (irc.newnet.net), but only to talk about TOSEC,
emulation, or life in general, NO ROM-begging please!

Thanks!

The TOSEC Team.


{===============//===============}
TOSEC Homepage : http://tosec.retrogames.com
TOSEC IRC home : #retroroms on newnet (irc.newnet.net)
Newsgroups : news://alt.binaries.emulators.misc
: news://alt.binaries.emulators.* hierarchy in general
{===============//===============}