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

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

Can anyone try eg2000 colour genie for me…when I try it on Android, it seems as if this is the only system that doesn’t accept auto boot commands…the core i currently use is mame0.227…all other obscure systems work with no issues as far as cmd files and autoboot either per game on the cmd or for the whole system via ini file…cgenie seems like the only troublesome system where u have to type the commands manually…in case anyone wants to test, the commands is hit enter, then system, then rom name according to Softlist that will only be 6 letters long…

Well, thats the most obscure system to date, so Kudos for that.

I’ve tried but cannot get this thing to run a game. I can get the system to start however using the softlist method in the first post. The games should be in a folder named cgenie and the folder should contain all your cgenie_cass or cgenie_flop games along with a cgenie.zip bios file.

You can then load one of the games in the same method described in the first post. And you can either manually enter the commands your supposed to, or use a cmd file to enter them automatically. However, both ways wouldn’t work for me.

Example could be Coulor Kong

Tried by manually entering the suggested commands in the hash file or using a cmd file:

cgenie -cass /Users/z/Downloads/cgenie/colkong.zip -rp /Users/z/Downloads/cgenie/ -skip_gameinfo -autoboot_delay 1 -autoboot_command "\n\n\n\nSYSTEM\nKONG32\n"

After entering the game filename it seems to get stuck. After some googling it seems that you have to press the ‘PLAY TAPE’ button, but I’m not sure how to do that.

Thank u for trying…I use android which is a bit harder to deal with…lolz…ok so I figured it out because I had issues with a keyboard for another system called pecom64…so I use RetroArch android 32bit mame0.227 and also RetroArch android 64bit mame0.226…mame0.227 seems like is broken somewhere for both pecom64 and cgenie…I used an older core named mame0.198 for RetroArch android 33bit and pecom64 loads properly with cmd and autoboot settings and cgenie also loads with that same core as it should via cmd and autoboot settings…with my current 0.227 cgenie doesn’t load with autoboot commands and pecom64 would get stuck without a keyboard to type RUN command…so for these 2 an older core (mame0.198) is perfect…

Hi and thanks for this nice tutorial.

I am going through some difficulties running the Philips CD-i games in RetroArch through the MAME core on Windows 10(64 bits). Before exposing my problem I will present to you what is in place and the step by step that I have followed.

What I have:

  • RetroArch in his latest stable version (1.9.0)

  • The core mame_libretro.dll in the latest version (0.288)

  • The MAME hash file for the CD-I cdi.xml

  • The CD-I bios cdimono1.zip. This file is composed of 5 files: Note that I have only find cdimono1.zip with the three .rom files. I have found the two other in the cdi910.zip file and I have repackage a new cdimono1.zip with this 5 files by myself.

    That give (inside cdimono1.zip):

    • cdi200.rom
    • cdi220.rom
    • cdi220b.rom
    • zx405037p__cdi_servo_2.1__b43t__llek9215.mc68hc705c8a_withtestrom.7201
    • zx405042p__cdi_slave_2.0__b43t__zzmk9213.mc68hc705c8a_withtestrom.7206
  • The dummy file .zip for Zelda Wand of Gamlon zeldgam.zip. I made it by myself it is just an empty zip.

  • The .chd for Zelda Wand of Gamlon zelda - the wand of gamelon (1993)(philips)(eu)[!].chd

What I have done:

  1. Install a fresh RetroArch. I have choose the latest stable version directly from the RetroArch website.

  2. Then I have installed the Arcade (MAME – Current) core through the downloder integrated in RetroArch.

  3. In the RetroArch MAME system directory (C:\Games\Arcade\Emulators\RetroArch\system\mame) I have put the hash file for the Philips CD-I cdi.xml in /hash.

    The section that is interesting for me is the following for Zelda Wand of Gamlon EU software name=“zeldgam
    disk name=“zelda - the wand of gamelon (1993)(philips)(eu)[!]” sha1=“0c7b977fe42373a8aaff106d637aa39081927f0c”

  4. To finish the RetroArch configuration, I have enable the log verbosity in the retroarch.cfg.

    log_verbosity = “true”

  5. Then I have follow all the instruction listed on the WEB ^^. In my rom directory (C:\Games\Arcade\Emulators\RetroArch\roms) I have create a forder named like the bios of the Philips CD-I (cdimono1). Inside it I have place the listed items:

    • cdimono1.zip (cdi bios file),
    • cdimono2.zip (a second bios file I guess),

    • cdibios.zip (a third bios file I guess),

    • the dummy file zeldgam.zip named accordingly to the cdi.xml.

    • the game, zelda - the wand of gamelon (1993)(philips)(eu)[!].chd named accordingly to the cdi.xml.

  6. So now am ready to try to launch my game with the RetroArch command line. Just to be sure that my command is working I have try it on one snes core and snes game. All is working. So that give us : “RetroArch path” –L “MAME core path” “dummy file path” – verbose So “C:\Games\Arcade\Emulators\RetroArch\retroarch.exe” -L “C:\Games\Arcade\Emulators\RetroArch\cores\mame_libretro.dll” “C:\Games\Arcade\Emulators\RetroArch\roms\cdimono1\zeldgam.zip” –verbose

  7. I run the command and two things in the logs are triggering my.

[libretro INFO] SOURCE FILE: …/…/…/…/…/src/mame/drivers/cdi.cpp

[libretro INFO] PARENT: 0

[libretro INFO] NAME: cdimono1

[libretro INFO] DESCRIPTION: CD-i (Mono-I) (PAL)

[libretro INFO] YEAR: 1991

[libretro INFO] MANUFACTURER: Philips

zx405037p__cdi_servo_2.1__b43t__llek9215.mc68hc705c8a_withtestrom.7201 ROM NEEDS REDUMP

zx405042p__cdi_slave_2.0__b43t__zzmk9213.mc68hc705c8a_withtestrom.7206 ROM NEEDS REDUMP

WARNING: the machine might not run correctly.

zelda - the wand of gamelon (1993)(philips)(eu)[!].chd NOT FOUND

Fatal error: Required files are missing, the machine cannot be run.

[libretro INFO] RES:1

[libretro INFO] MAIN FIRST

I have 2 infos on the 2 none .rom files inside the cdi bios cdimono1.zip

zx405037p__cdi_servo_2.1__b43t__llek9215.mc68hc705c8a_withtestrom.7201 ROM NEEDS REDUMP

zx405042p__cdi_slave_2.0__b43t__zzmk9213.mc68hc705c8a_withtestrom.7206 ROM NEEDS REDUMP

I don’t really know wath the programm is aking to me …

Finally there is a warrings that tell me that the chd file is not found

zelda - the wand of gamelon (1993)(philips)(eu)[!].chd NOT FOUND

  1. At the end RetroArch crash

My guess is the fatal error is caused because the game .chd is not found. But I don’t know why the file zelda - the wand of gamelon (1993)(philips)(eu)[!].chd is not found. I think that the location is good, the name is set accordingly to the file cdi.xml so am out of solution …

Did i miss something or do i have made an obvious error ??

Keep the chd in a folder named the same as the zip file…

So you mean :

  1. I rename the zelda - wand of gamelon (1993)(philips)(eu)[!].chd in zeldgam.chd ?

or

  1. I create a file tree like C:\Games\Arcade\Emulators\RetroArch\roms\cdimono1\zeldgam\zelda - wand of gamelon (1993)(philips)(eu)[!].chd in zeldgam.chd ?

I personally use command line to launch anything in mame …with command line launching especially in Android theres no need for empty zip files or Softlist naming…I can have roms named anything in any location as long as I launch them via command line…now if ur using softlist method basically the usual way is to have a folder named the same as the system which is usually the same name as the bios…in ur case its cdimono1…then in that same folder u will make another folder named the same and there u can put the bios and also unzipped…so now u have cdimono1/cdimono1/cdimono1.zip and the unzipped contents as well…the roms can go in the 1st cdimono1 folder…for cdi u have the chds in the folders they came with…u will also make empty zips or zips with something small inside like a txt file to keep the size small…that zip file will be named the same as the folder where the chd is… if u downloaded mame sets then all names will be correct and all u gotta do is make the zip files…if u downloaded tosec chds then u will need to do all the renaming your…the official mame sets will be from mame software chds and the whole set is like alittle over 2tb…now is when u can launch the zip file and it will open the chd to play…command line is alot easier but needs things in the correct places …like u need a system ini file in the mame ini folder for it to work correctly or else mame will crash…

So if i understand well (in RetroArch\system\mame\roms) i have to set thinks like this:

cdimono1

  • cdimono1

    • cdimono1.zip
    • cdi200.rom
    • cdi220.rom
    • cdi220b.rom
    • zx405037p__cdi_servo_2.1__b43t__llek9215.mc68hc705c8a_withtestrom.7201
    • zx405042p__cdi_slave_2.0__b43t__zzmk9213.mc68hc705c8a_withtestrom.7206
  • zeldgam

    • zelda - the wand of gamelon (1993)(philips)(eu) .chd
  • zeldgam.zip

And use this command:

“D:\Jeux\RetroArch\retroarch.exe” -L “D:\Jeux\RetroArch\cores\mame_libretro.dll” “D:\Jeux\RetroArch\system\mame\roms\cdimono1\zeldgam.zip” –verbose

Yes i have the mame.ini in \system\mame. it look in mame\roms to find stuff:

CORE SEARCH PATH OPTIONS

homepath .

rompath roms

I have try the game trought mame directly and it is working.

Is the forlder tree above is ok ? (i always have the same result). WARNING: the machine might not run correctly. zelda - the wand of gamelon (1993)(philips)(eu).chd NOT FOUND

What did i miss ? Is it a way to show in log the exact place where mame want to find the chd ?