Author Topic: Running Retroarch MESS systems within Attract Mode (Windows PC)  (Read 6627 times)

dmmarti

  • Sr. Member
  • ****
  • Posts: 106
    • View Profile
Windows PC - Attract Mode - Retroarch - MESS systems

Hey group, ever wanted to tinker around with MESS based systems on a Windows PC build with Retroarch?

I've slowly been working through this process and adding MESS based systems using Retroarch.  So far, I've been able to figure out quite a few systems using this method.

It's easier on a Raspberry Pi / RetroPie build to do it - but i wanted to also get it working on my Windows PC build.

I've worked out a method to get any MESS based system working and it's easy to add new ones (it might take a little bit to figure out the exact MESS command line arguments though).

Using this method, you do not need to adhere to the old MESS convention of using the Hash files.  Setting up Retroarch/MAME core to not use software lists makes this possible.

The latest MAME Retroarch core includes MESS built into it so there is no separate MESS core.

Sorry for the long post and I hope it makes sense. 
If anyone would like to see a video demo of this method, let me know and I'll make one and post it.

I'll work through the method here and demonstrate it using the Bally Astrocade system.

===============================

High level overview of this method:

Attract Mode will launch a special Windows *.bat file and pass it the '[romfilename]' value.

This special *.bat file is located in the Retroarch directory.

The *.bat file is used as a command line launcher script so we can pass MESS based command line arguments to it.

This allows the ability to setup cassette, floppy assignments, memory expansions, etc.

The *.bat file creates a secondary MESS *.cmd file with the MESS command line parameters and then launches it.

This launches Retroarch with the MAME (MESS) core with the new command line parameters and our rom file.

===============================

Pre-requisites:

Windows PC Attract Mode
Retroarch with the latest MAME core installed (it has MESS built into it)
MAME/MESS BIOS files (obtained from latest MAME and latest MAME Software List versions)

The BIOS files go into the Retroarch\system folder
« Last Edit: March 29, 2022, 11:02:52 AM by dmmarti »

dmmarti

  • Sr. Member
  • ****
  • Posts: 106
    • View Profile
Re: Running MESS systems within Attract Mode (Windows PC)
« Reply #1 on: July 16, 2020, 08:04:10 AM »
Bally Astrocade Example:

Attract Mode config:

My Attract Mode is installed here:

D:\AttractMode

Here’s my Attract Mode emulator config file:

filename:  Bally Astrocade.cfg

file contents:

# Generated by Attract-Mode v2.4.1-1
#
executable           cmd
args           /c cd "D:\Emulators\RetroArch_MESS\" & mess_astrocde.bat "[romfilename]"
rompath              D:\Roms\astrocde\
romext               .zip;.ZIP;.bin;.BIN
system               Bally Astrocade
info_source          thegamesdb.net
artwork    boxart          D:\Roms\astrocde\boxart
artwork    cartart          D:\Roms\astrocde\cartart
artwork    flyer             D:\Roms\astrocde\flyer
artwork    marquee      D:\Roms\astrocde\marquee
artwork    snap            D:\Roms\astrocde\snap
artwork    wheel           D:\Roms\astrocde\wheel

Attract Mode will launch a special *.bat file (mess_astrocde.bat in this example) and pass it the “[romflename]” value.

Each MESS system will have its own special *.bat file to use (see below).

Setup a display for it and generate the romlist if needed.

dmmarti

  • Sr. Member
  • ****
  • Posts: 106
    • View Profile
Re: Running Retroarch MESS systems within Attract Mode (Windows PC)
« Reply #2 on: July 16, 2020, 08:04:47 AM »
Bally Astrocade Example:

Retroarch config:

Download and extract Retroarch

I renamed the extracted folder (to keep it separate from my standard Retroarch emulator folder). This keeps my MESS based systems together and separate from my other configuration (for MAME, NES, SNES, etc).

I have this version of Retroarch installed here:

D:\RetroArch_MESS

Place the astrocde.zip BIOS file here:

D:\RetroArch_MESS\system

—
Once you have Retroarch installed with the latest MAME core and BIOS file, you’ll need to make some adjustments in the core options file.

This sets up MAME so it does not force it to use the software list Hash files.  This lets us use any rom folder name and file naming convention we want to.

filename:  retroarch-core-options.cfg

Add these lines:

mame_softlists_enable = "disabled"
mame_softlists_auto_media = "disabled"
mame_boot_from_cli = "disabled"
mame_mouse_enable = "enabled"

—
Special *.bat files:

Each MESS based system will have it’s own Windows *.bat launcher script. 

Attract Mode launches the *.bat file passing the rom filename.  This special *.bat file creates a MESS *.cmd file with MESS command line arguments and then launches Retroarch using the *.cmd file.

Here’s our example:

filename:  mess_astrocde.bat

file contents:

echo off
set arg1=%1
@echo retroarch.exe -L cores\mame_libretro.dll mess.cmd > D:\Emulators\RetroArch_MESS\run_mess.bat
@echo astrocde -rp ".\system" -cart %arg1% > D:\Emulators\RetroArch_MESS\mess.cmd
D:\Emulators\RetroArch_MESS\run_mess.bat

Line explanations:

echo off
This lines turns off any DOS terminal messages

set arg1=%1
This line is the passed “[romfilename]” value

@echo retroarch.exe -L cores\mame_libretro.dll mess.cmd > D:\Emulators\RetroArch_MESS\run_mess.bat
This line creates the temporary *.bat file that will be executed to launch the rom/game

@echo astrocde -rp ".\system" -cart %arg1% > D:\Emulators\RetroArch_MESS\mess.cmd
This line adds the MESS command line arguments to the MESS *.cmd file that sets up how to run the rom/game.
For Astrocade games, they are cartridge based (-cart parameter)

D:\Emulators\RetroArch_MESS\run_mess.bat
This line runs the newly created temporary *.bat file
This launches Retroarch with the MAME core and tells Retroarch to use the MESS *.cmd file.

dmmarti

  • Sr. Member
  • ****
  • Posts: 106
    • View Profile
Re: Running Retroarch MESS systems within Attract Mode (Windows PC)
« Reply #3 on: July 16, 2020, 08:05:03 AM »
Bally Astrocade Example:

Rom/Game launches

If all went well, Retroarch should launch with the MAME core using the MESS *.cmd file for command line arguments.

Retroarch will start with full keyboard emulation enabled.

This means the ESCAPE key will not work to exit the game and TAB will not work to bring up the MESS GUI config window.

Press the Scroll Lock key to switch to Partial keyboard emulation. Once switched, ESCAPE and TAB will work as expected.

Access the MESS GUI to configure specific controller/gamepad buttons as needed, swap disks sometimes, etc.

Some games use the number pad for game controls, some use ESCAPE as a fire button, some use SHIFT or various other keyboard keys. That’s why the default is full keyboard emulation.

dmmarti

  • Sr. Member
  • ****
  • Posts: 106
    • View Profile
Re: Running Retroarch MESS systems within Attract Mode (Windows PC)
« Reply #4 on: July 16, 2020, 08:05:21 AM »
These older MESS based systems require a little more work to get them running within Retroarch with the MAME (MESS) core.

One thing I’ve learned, though, is I’ve had to Google many times for some older computer systems to figure out how to actually load a cassette or run it once it’s loaded.

Here’s a good webpage for a few of the more popular computers.

http://www.ankman.de/load_cassette_tape_8bit_computers.html

dmmarti

  • Sr. Member
  • ****
  • Posts: 106
    • View Profile
Re: Running Retroarch MESS systems within Attract Mode (Windows PC)
« Reply #5 on: July 16, 2020, 08:05:59 AM »
Additional examples

Here are some additional system examples for the Attract Mode emulator config file and the special *.bat launcher scripts.

—
Emersion Arcadia 2001

BIOS:  none needed

Attract Mode emulator file:

filename:  Emerson Arcadia 2001.cfg

file contents:

# Generated by Attract-Mode v2.4.1-1
#
executable           cmd
args           /c cd “D:\Emulators\RetroArch_MESS\" & mess_arcadia.bat "[romfilename]"
rompath              D:\Roms\arcadia\
romext               .zip;.ZIP;.bin;.BIN
system               Emerson Arcadia 2001
info_source          thegamesdb.net
artwork    boxart          D:\Roms\arcadia\boxart
artwork    cartart          D:\Roms\arcadia\cartart
artwork    flyer             D:\Roms\arcadia\flyer
artwork    marquee      D:\Roms\arcadia\marquee
artwork    snap            D:\Roms\arcadia\snap
artwork    wheel           D:\Roms\arcadia\wheel

RetroArch_MESS launcher script

filename:  mess_arcadia.bat

file contents:

echo off
set arg1=%1
@echo retroarch.exe -L cores\mame_libretro.dll mess.cmd > D:\Emulators\RetroArch_MESS\run_mess.bat
@echo arcadia -rp ".\system" -cart %arg1% > D:\Emulators\RetroArch_MESS\mess.cmd
D:\Emulators\RetroArch_MESS\run_mess.bat

==========================
==========================

Sord M5

BIOS:  m5.zip

Attract Mode emulator file:

filename:  Sord M5.cfg

file contents:

# Generated by Attract-Mode v2.4.1-1
#
executable           cmd
args           /c cd “D:\Emulators\RetroArch_MESS\" & mess_m5.bat "[romfilename]"
rompath              D:\Roms\m5\
romext               .zip;.ZIP;.bin;.BIN;.cas;.CAS;.rom;.ROM
system               Sord M5
info_source          thegamesdb.net
artwork    boxart          D:\Roms\m5\boxart
artwork    cartart         D:\Roms\m5\cartart
artwork    flyer             D:\Roms\m5\flyer
artwork    marquee      D:\Roms\m5\marquee
artwork    snap            D:\Roms\m5\snap
artwork    wheel           D:\Roms\m5\wheel

RetroArch_MESS launcher script

filename:  mess_m5.bat

file contents:

echo off
set arg1=%1
@echo retroarch.exe -L cores\mame_libretro.dll mess.cmd > D:\Emulators\RetroArch_MESS\run_mess.bat
@echo m5 -rp ".\system" -cart %arg1% > D:\Emulators\RetroArch_MESS\mess.cmd
D:\Emulators\RetroArch_MESS\run_mess.bat

dmmarti

  • Sr. Member
  • ****
  • Posts: 106
    • View Profile
Re: Running Retroarch MESS systems within Attract Mode (Windows PC)
« Reply #6 on: July 16, 2020, 08:06:13 AM »
Systems I’ve been able to get working:

APF Imagination Machine
Acorn Archimedes
Acorn BBC Micro
Acorn Electron
Bally Astrocade
Bandai Super Vision 8000
Bit Corporation Gamate
Camputers Lynx
Casio PV-1000
Casio PV-2000
Coleco Adam
Creatronic Mega Duck
Dragon 32 (cassettes and cartridges)
Emerson Arcadia 2001
Entex Adventure Vision
Epoch Game Pocket Computer
Epoch Super Cassette Vision
Exidy Sorcerer (included Basic based programs)
Fujitsu FM Towns
Fujitsu FM7 (cassettes and disks)
Interton VC 4000
MGT Sam Coupe
Macintosh
Mattel Aquarius
Memotech MTX
Sharp MZ-2500
Sharp MZ-700
Sharp X1 (supports multi-disk games)
Sord M5
Spectravideo (cassettes and cartridges)
Tandy TRS-80 Color Computer (cassettes and cartridges)
Tandy TRS-80
Tangerine Oric
Texas Instruments TI 99-4A (including 32k ram games)
Tomy Tutor
VTech CreatiVision
VTech Laser 200
Watara Supervision

gamesmame

  • Full Member
  • ***
  • Posts: 97
    • View Profile
Re: Running Retroarch MESS systems within Attract Mode (Windows PC)
« Reply #7 on: October 06, 2021, 07:01:18 AM »
I dont know how i make Creatronic Mega Duck works... please explain.. thanks!!

SmokeyCC

  • Newbie
  • *
  • Posts: 8
    • View Profile
Re: Running Retroarch MESS systems within Attract Mode (Windows PC)
« Reply #8 on: June 10, 2022, 03:13:35 AM »
@dmmarti

Really nice tutorial, worked well. 
Thank you