[Guide] Play Non-Arcade systems with MAME or MESS

I was able to load this game with the mame_libretro core (as @Jamirus said, mame_2003 is not going to work)

  1. Get latest mame core
  2. Put coco_flop.xml into system/mame/hash folder
  3. Create a folder named ‘coco3’
  4. Place your game file ‘dkong.zip’ into the folder, along with bios files ‘coco.zip’ and ‘coco_fdc_v11.zip’ (the bios files i found using the trick noted in the first post when running from the command line to see what mame says it’s looking for)
  5. Run dkong.zip

From the command line, you can see it loaded:

[libretro INFO] SOURCE FILE: ../../../../../src/mame/drivers/coco3.cpp
[libretro INFO] PARENT: coco
[libretro INFO] NAME: coco3
[libretro INFO] DESCRIPTION: Color Computer 3 (NTSC)
[libretro INFO] YEAR: 1986
[libretro INFO] MANUFACTURER: Tandy Radio Shack
WARNING: support for software dkong (in list coco_flop) is only partial

I’ll note that this starts the game, but apparently you need to then enter a command in to launch the game which i couldn’t muster without futzing a lot with my controller. The game though does start.

1 Like

@zachmorris Hello & thanks for your detailed response !

I have questions…

  1. my game is in .dsk format I don’t have a game named dkong.zip how to proceed ? I need to zip the Donkey.dsk file ?

  2. The Donkey.dsk game is really a first generation Color Computer game, I tried it with MAME 0.222 standalone on Windows it works perfectly with the following BIOS: coco.zip + coco_fdc.zip

  3. If we have other games in .dsk format what should we do ?

Greetings !

This thread is describing the launching via softlists files.

For non-softlists launching, you can try it this way: disable the core option for softlists in RA MAME core, then load content -> the coco bios zip. This should launch the coco emulation if all bios files are in the directory. You can then use MAME’s internal file manager for other stuff.

For this console, I’d say it’s probably easier just to get the compatible romset. Without much effort, I found all coco_flop games, and the entire thing is all of 5MB.

You could in theory name your disk file according to whats in the xml file listed here.

<rom name="dk.dsk" size="161280" crc="87a22c49" sha1="e9c1ac85150ed14ac81c854df13f6c09fa5b4748"/>

And place that in dkong.zip. The name of the game files needs to match the name in the xml file.

But it may not work if your dk.dsk doesn’t crc match (I’m not sure if MAME crc matches or name matches)

For Coco3 vs Coco (1st generation), it doesn’t look like MAME has a driver for the floppy games for 1st generation (maybe the progretto info is old, but this appears how it works).

For this machine you can see only coco_cart is listed as a software list (there is no donkey kong game in the coco_cart list) http://www.progettoemma.net/mess/system.php?machine=coco

For the 3rd generation machine coco_flop is listed, which is why it works: http://www.progettoemma.net/mess/system.php?machine=coco3

Thanks for your answer I’m looking for how to disable this option but I can’t find it ?!

@zachmorris thank you to you I found the coco_flop.zip archive of 5 MB but it is missing a lot of games that I have in .dsk format …

Can we modify the coco_flop.xml file & add entries with our games & their respective CRC & SHA1 values ?

Greetings !

If you want to not use softlists, there is a way to use CMD files, which bypasses this method alltogether. You can try that, see here. I’ll note that I never had much luck getting this consistently to work, and just in trying your example with a cmd file, I couldn’t figure it out.

If you can somehow figure out what command/settings standalone mame is using from it’s command line and logs, you could try and duplicate it with a cmd file.

Edit: I was kind of able to get it to work with disk games by:

  1. Creating a cmd file. I called it ‘test.cmd’ but you can name it whatever. File contained:
coco3 -flop1 /path_to/games/DKRemix.dsk -rp /path_to/games/

-rp points to the folder where the bios files are, the first path points to your dsk file (my files are in the same spot). I just tried the DK remix game.

Launch the cmd file. The command line shows it loaded:

[libretro DEBUG]  coco3
[libretro DEBUG]  -flop1
[libretro DEBUG]  /Users/z/Downloads/games/DKRemix.dsk
[libretro DEBUG]  -rp
[libretro DEBUG]  /Users/z/Downloads/games/
SOURCE FILE: src/mess/drivers/coco3.c
PARENT: coco
NAME: coco3
DESCRIPTION: Color Computer 3 (NTSC)
YEAR: 1986
MANUFACTURER: Tandy Radio Shack

For Coco3 vs Coco (1st generation), it doesn’t look like MAME has a driver for the floppy games for 1st generation (maybe the progretto info is old, but this appears how it works).

progetto is sadly not updated anymore, you can find more recent info over at

The software lists for the CoCos aren’t representative of the available software though, also once stuff like savedisks for computers come into play I think you need to disable software lists anyway? At least that was my experience the last time I fiddled around with some stuff, because MAME’s filemanager wouldn’t let me load other stuff with softlists in RA enabled.

@Jamirus I can’t find the option to disable softlists ?!

Here are the options I have for the core mame2000_libretro.dll:

You have to use a version >= 2015 / .161

Hello, I managed to launch the Donkey Kong game on Color Computer 3 with some difficulty, and I will explain how I proceeded:

  1. I copied the coco_flop.xml file to e:\emulators\retroarch\system\mame\hash

  2. I copied the BIOS files coco3.zip + coco_fdc_v11.zip + the game file Donkey Kong dkong.zip which is from Romset 0.202 that I found in e:\games\mame\coco3

  3. I installed the core mame_libretro.dll version 0.212 (see screenshot) it’s the only one that worked…

  1. I launched the dkong.zip game in the usual way via the Retroarch interface (load content) & I arrive at this screen:

  1. Then you have to enter the following commands:

    a. To see the name of the game type DIR

    b. If the extension of the game is BAS type LOAD"GAMENAME" next RUN

    c. If the extension of the game is BIN type LOADM"GAMENAME" next EXEC

  2. The problem is that I would like to install mame_libretro on my Android phone but the core doesn’t exist why ?!

Greetings !

After futzing with this a little more, I found the cmd files might be a better bet for this system. You can put an autoboot_command into the file which will type in the load command. For donkeykong I put the following into a cmd file:

coco3 -flop1 /Users/z/Downloads/games/dkong.zip -rp /Users/z/Downloads/games/ -skip_gameinfo -autoboot_delay 1 -autoboot_command "\nLOAD“0:DONKEY”:RUN\n"

And the game boots automatically after auto typing the command in for you (holy smokes that system is slow to load):

@zachmorris Hello I have a big problem !!!

I downloaded version 1.9.0 of Retroarch & updated the cores, unfortunately the core mame _libretro.dll no longer exists !!!

It is replaced by the core hbmame_libretro.dll & the Color Computer no longer works !!!

How to proceed to get the mame_libretro core.dll I don’t understand anything anymore ???

Greetings !

Good evening everyone !

I found the solution to have the latest version of MAME with Retroarch you have to download the archive ici & extract it on your HDD & then install it via the Retroarch interface: Load Core> Install or Restore a Core.

@zachmorris i tried your command line but it doesn’t work for me…

coco3 -flop1 E:\Jeux\MAME\coco3\dkong.zip -rp E:\Jeux\MAME\coco3 -skip_gameinfo -autoboot_delay 1 -autoboot_command "\nLOAD“0:DONKEY”:RUN\n"

I have this screen unfortunately the command RUN does not launch… in fact Retroarch completely crashes .cmd file only works for MAME standalone on Windows but it does not launch the game… it only loads it & the command is missing RUN

You can try this:

-autoboot_command "\nLOAD“0:DONKEY”\n\n\n\n\n\n\n\n\n\n\n\nRUN\n"

Which is the same, but just hits enter a bunch between the load and run command. The cmd file works for me in libretro with the latest mame core.

I found the official documentation for the parameter -autoboot_command here

Command string to execute after machine boot (in quotes " “). To issue a quote to the emulation, use “”” in the string. Using \n will issue a create a new line, issuing what was typed prior as a command.

This works only with systems that support natural keyboard mode.

Example:

mame64 c64 -autoboot_delay 5 -autoboot_command “load “””$""",8,1\n"

Unfortunately I cannot find the solution for the execution of the command RUN at home (Windows 10) it still does not work …

Another question, how to install the latest version of MAME (0.226) on Android because the core is missing ?

Greetings !

Hello !

I have a problem with MAME 0.226 on Linux Mint … the following command which works fine with Windows 10 does not work with Linux Mint:

coco3 -flop1 /home/user/games/mame/coco3/dkong.zip -rp /home/user/games/mame/coco3/ -skip_gameinfo -autoboot_delay 2 -autoboot_command run\"donkey\"\n

The newline is not done, it adds the letter N after the command like this:

RUN"DONKEY"N

Under Windows the

\n

works fine… under Linux I don’t know what the newline command is ?

Greetings !

I don’t really use this, or linux very much at all for that matter but the backslash will cause problems as long as it’s not quoted… or maybe double backslash?

"\n"

or

\\n

@SLOTH Hello !

Thanks for your help the \\n command works !

Greetings !

1 Like

Thanks for this guide!

used it to play myvision games.

so helpful will be following guide step by step for my first build