Collecting walktrough - PhoenixInteractiveNL/emuDownloadCenter GitHub Wiki

1) Create a downloadhook

First you need to create a downloadhook for the emulator, you do this by:

1.1)

Create a folder in the downloadhooks folder, like: hooks\[emulatorfoldername]

Specifications:

  • emulatorfoldername has to be lowercase, no spaces or non-ascii characters (may only contain a 'minus' -)

1.2)

Create a INFO INI file in the emulatorfoldername wich contains basic information about the emulator.

The name of the INI file is: info.ini

So, for example you have a emulator called johndoe it is downloadhooks\johndoe\emulator_info.ini

Ps. You can find templates over here

Contents of the INFO INI file:

[INFO]
InfoVersion	        = Version of the INI file layout.
LastCheck           = Last check for this emulator on the official author website (if still available). (_optional_)
CompleteFlag        = All versions and downloads completed till LastCheck date? (1=yes) (_optional_)

[EMULATOR]
Name                = Full/Extended  name of the emulator.
Platform            = ECCid of the platform (of more then one, then comma seperated)
Author              = Author(s) of the emulator.
Contact             = The E-mail adress of the Author in masked e-mail (*=. | #=@) to prevent spamming. (_optional_)
License             = The License of the Emulator (Freeware|GNU GPLv1|v2|v2+|v3|THOR Public License|Clarified Artistic Licence|Open Source|Donationware|Shareware).
Language            = The Language of the Emulator GUI (EN|DE|FR|HU|RU|CH|JP|Etc.).
BiosNeeded          = Does the Emulator need BIOS ROM(S) to run? (1=yes)
Website             = The Website where the emulator can be found (starting with http:// or https://) (_optional_)
Notes               = Small description of the emulator. (_optional_)

Example Contents (Emulator Potator for Watara Supervision):

[INFO]
InfoVersion         = 1.0.0.0
LastCheck           = 2016-11-15
CompleteFlag        = 1

[EMULATOR]
Name                = Potator 
Platform            = svn
Author              = David Raingeard
Contact             = david*raingeard#laposte*net
License             = Freeware
BiosNeeded          = 0
Website             = 
Notes               = This appears to be the first Watara Supervision emulator for Windows. It uses the SDL library and has good compatibility.

1.3)

Create a DOWNLOADS INI file in the emulatorfoldername wich contains information about the emulator version(s).

The name of the INI file is: emulator_downloads.ini

So, for example you have a emulator called johndoe it is downloadhooks\johndoe\emulator_downloads.ini

Ps. You can find templates over here

DOWNLOADS INI file info:

INI SECTION = VERSION

FILE contents are FILE (archive) relative.

EMU contents are EMULATOR relative.

INFO contents are FILE relative, and are generated by the EDC manager (you may fill these yourself)

Contents of the DOWNLOADS INI file:

[INFO]
InfoVersion	                = Version of the INI file layout.

[VERSION]
FILE_ContentType            = Content type of the archive, can be: Program|Installer|Source|Extra.
FILE_ContentCategory        = Category of the content type, can be: Emulator|Plugin|Driver|Tool.
FILE_Notes                  = Notes supporting the content of the archive (optional).
EMU_Download                = The online location of the 7Z archive folder (with ending slash /).
EMU_ReleaseDate             = The releasedate of the emulator in YYYY-MM-DD (if you cannot find it, use the date of the executable file).
EMU_Notes                   = Some small emulator notes (Working / Not working / Needs...).
EMU_ExecutableFile          = Executable file to start the emulator .EXE or .COM, high exeption for .CMD and .BAT files.
EMU_ExecutableFolder        = Relative path inside the archive where the executable file is located (with ending slash \).
EMU_OS                      = Operating system, can be: Windows|Linux|Mac|DOS.
EMU_OSVersion               = Version of the operating system, comma seperated, can be: 95|98|XP|Vista|7|8|10|Ubuntu|Debian|Fedora|Mandriva|SUSE|OS-X|6.22.
EMU_OSArchitecture          = Operating system architecture, can be: x86 (for win32) or x64 (for win64).
INFO_PackedSize             = Autofilled by EDC manager in this GitHub repo. (Packed size of the archive contents).
INFO_UnpackedSize           = Autofilled by EDC manager in this GitHub repo. (Unpacked size of the archive contents).
INFO_CRC32Executable        = Autofilled by EDC manager in this GitHub repo. (CRC32 of the executable to start the emulator).
INFO_CRC32Archive           = Autofilled by EDC manager in this GitHub repo. (CRC32 of the emulator archive).

Specifications:

  • [VERSION] mostly exists of numbers, all letters have to be lowercase, no spaces or non-ascii characters (may only contain a 'minus' -)
  • This version number must exist in the emulator download folder on a EDC repository, or EDC manager cannot find it to fill the details!
  • In emulators, always put the latest version on top and the oldest at the bottom!
  • In versions, always put x64 versions top and x86 beneath x64, then Installers, Linux, Mac, Source
  • Content category can be left 'Emulator' for ContentType: Program / Installer / Source

Determine Linux distrubutions:

  • NO Extension = Ubuntu
  • .DEB = Debian
  • .RPM = Fedora, Mandriva, SUSE, Redhat

Example Contents (Emulator Potator for Watara Supervision):

[0.7]
FILE_ContentType            = Program
FILE_Notes                  = Emulator
FILE_Notes                  = 
EMU_DownloadUrl             = https://github.com/PhoenixInteractiveNL/edc-repo0001/raw/master/potator/
EMU_ReleaseDate             = 2004-10-19
EMU_Notes                   = Does not have commandline parameter to start roms.
EMU_ExecutableFile          = Potator.exe
EMU_ExecutableFolder        =
EMU_OS                      = Windows
EMU_OSVersion               = XP,Vista,7,8,10
EMU_OSArchitecture          = x86
INFO_PackedSize             = 179 
INFO_UnpackedSize           = 192 
INFO_CRC32Executable        = 6C059FFB 
INFO_CRC32Archive           = A8E52604

MISC

Please note that if you have 2 the same versions (and archive files) but diffrent architecture like x86 or x64, you have to make 2 sections, example snippets:

[0.1-win32]
EMU_OS                      = Windows
EMU_OSVersion               = XP,Vista,7,8,10
EMU_OSArchitecture          = x86

[0.1-win64]
EMU_OS                      = Windows
EMU_OSVersion               = Vista,7,8,10
EMU_OSArchitecture          = x64

Other files for source, extras or platforms should be named like:

[version]-linux [version]-mac [version]-source [version]-drivers [version]-extra or extra-[description] [version]-plugin or plugin-[description]

1.4)

Create a ECC CONFIGURATION INI file in the emulatorfoldername wich contains ecc configuration(s) about the emulator version(s).

The name of the INI file is: configs_frontend_ecc.ini

So, for example you have a emulator called johndoe it is downloadhooks\johndoe\configs_frontend_ecc.ini

Ps. You can find templates over here

Contents of the ECC CONFIGURATION INI file:

[INFO]
InfoVersion	                = Version of the INI file layout.

[GLOBAL]
CFG_Notes                   = Specific configuration notes.
CFG_param                   = ECC parameter line.
CFG_escape                  = Does the emulator needs the path in escapes? "" (default 1)
CFG_win8char                = Does the emulator need old 8.3 dosnames to work? (1 for yes, otherwise leave blank)
CFG_useCueFile              = Does the emulator needs a CUE file (possible in combination with script) to run? (1 for yes, otherwise leave blank)
CFG_filenameOnly            = Does the emulator only needs the filename to run? (1 for yes, otherwise leave blank)
CFG_noExtension             = Does the emulator only needs the filename to run without extension? (1 for yes, otherwise leave blank)
CFG_executeInEmuFolder      = Does the emulator needs to be executed from withing the emulator folder? (1 for yes, otherwise leave blank)
CFG_enableEccScript         = Does the emulator need a ECC script to start and run a ROM? (1 for yes, otherwise leave blank)
CFG_enableZipUnpackActive   = Does the ROM archive need to be extracted first? (1 for yes, otherwise leave blank)
CFG_enableZipUnpackSkip     = Skip already unpacked files (faster). (1 for yes, otherwise leave blank)

[VERSION] (optional)

[GLOBAL] sets the settings for all versions of this emulator, any specific configuration for a version can be placed in a new INI header [].

Example Contents (Emulator Potator for Watara Supervision):

[GLOBAL]
CFG_ECCParameter            = %ROM%
CFG_escape                  = 1
CFG_win8char                =
CFG_useCueFile              =
CFG_filenameOnly            =
CFG_noExtension             =
CFG_executeInEmuFolder      =
CFG_enableEccScript         = 
CFG_enableZipUnpackActive   =
CFG_enableZipUnpackSkip     =

1.5)

Create a SCREENSHOT file in the emulatorfoldername wich is a screenshot taken from the emulator.

The file has to be JPG, and the name of the JPG file is: screen.jpg

Specifications:

  • [emulatorfoldername]_screen.jpg has to be lowercase, no spaces or non-ascii characters (may only contain a 'minus' -)

  • This file MUST exists!, if there is no screenshot avaiable then use the one in the template folder.

1.6) OPTIONAL

Create a LOGO file in the emulatorfoldername wich contains the logo of the emulator.

The file has to be PNG or JPG, and the name of the file is: logo.png/logo.jpg

Specifications:

  • logo.png/logo.jpg has to be lowercase, no spaces or non-ascii characters (may only contain a 'minus' -)

  • The PNG must not have a alpha channe for transparancy, convert all to white solid background!


2) Create a downloadfolder

Create a folder in the download repository (edc-repo00??) with the same name you've used to create the downloadhook.

2.1)

The archive has to be a 7Z (7ZIP) file, place it in the folder as: [version].7z

Specifications:

  • [version].7z mostly exists of numbers, all letters have to be lowercase, no spaces or non-ascii characters (may only contain a 'minus' -)

Q: Why 7Zip?

A: Because 7Z has better compression then ZIP, RAR, ARJ, etc...

2.2)

Create a changelog TXT for this version, place it in the folder as: [version]_changelog.txt

You may need to search for it on the emulator website, or any readme document in the archive...

Note that if there are more builds of the same version, then just copy the changelog, example:

1.0-win32_changelog.txt 1.0-win64_changelog.txt (same contents as above)

Specifications:

  • [version]_changelog.txt all letters have to be lowercase, no spaces or non-ascii characters (may only contain a 'minus' -)
  • The file must exist, if the changelog is unknown...the contents is only the word: unknown

2.3)

Create a contents TXT for this version, place it in the folder as: [version]_contents.txt

This file contains the listing of files in the archive.

Please note that the [version]_contents.txt is autogenerated by EDC manager in the EDC-00?? repositories on this GitHub repo!

Specifications:

  • [version]_contents.txt all letters have to be lowercase, no spaces or non-ascii characters (may only contain a 'minus' -)

So there are 3 files in the folder:

[version].7z
[version]_changelog.txt
[version]_contents.txt

3) Excluding some emulators

Emulators to exclude from EDC at the moment:

  • Any experimental, nightly builds or PRE releases.
  • Emulators that are Java based (JAR).