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

Ah, I misunderstood. I guess thats a problem with Android and Switch then. The only MAME core that includes the other drivers is the ‘current’ core as far as i know. Looking at Android, the core name is mamearcade_libretro, so I’m guessing they removed all the other drivers on Android (simply because it wouldn’t compile or was too big for Android to be able to accept).

Good article btw! I’d never heard of the M20 before. Given the technical detail you provide, i’m guessing you might be capable of rolling your own core if you care to (similar to same_cdi, which compiles just the driver(s) required for the CD-i)

Ok, thanks for confirming that the issue is likely with android/ switch environment. Interesting option building my own core, however one would need to build for android and switch which probably adds another level of complexity.

Just out of curiosity, what are the reasons for the forking mame into same_cdi? It should be possible to select to build just one driver with original mame, too?

Hi @zachmorris, thanks again for pointing me towards same_cdi. I would be interested to reproduce this to build the M20 driver, or ideally, if possible build the whole MESS subset.

I have looked into the documentation of building cores to see if I can get mame/ same_cdi android core built on my machine, but it seems the official documentation does not apply, as I cannot find a “libretro/jni” folder inside the projects.

Lastly I looked into where libretro-super might include the same_cdi core, but I do not see it listed in the build scripts for Android here and here.

Is there some documentation of the steps needed to turn mame into same_cdi and how to get it to build for Android? Thanks :slight_smile:

does anybody knows if there is a way to emulate the CD-i WITH the Digital Video Card via mame?

The build system i think was recently removed and replaced with github CI/CD, so those build scripts may no longer be applicable. You can probably get better direction on compiling for Android at the libretro discord>programming channel.

Compiling just one driver is pretty easy actually. Heres what you can do:

  1. Download / Clone the MAME core

  2. Edit the Makefile.libretro so that it mimicks the same_cdi version here (or just copy over the same_cdi makefile and edit it for M20). You would only have to add a few lines to the top to ID the correct drivers (I included everything in the olivetti directory, but I’m not explicitly sure they’re all needed):

SUBTARGET ?= mess
SOURCES ?= src/mame/olivetti/m20.cpp,src/mame/olivetti/m20_kbd.cpp,src/mame/olivetti/m20_8086.cpp,src/mame/olivetti/m24.cpp,src/mame/olivetti/m24_kbd.cpp,src/mame/olivetti/m24_z8000.cpp,src/mame/olivetti/olivpc1.cpp
SAME_SYSTEM ?= same_m20

And then there’s some bits at the end of the makefile to rename the compiled core.

I tried this myself and it does compile (didn’t try for Android though)

1 Like

Digital Video titles won’t work because MAME doesn’t emulate the MPEG card. I dont think there’s any emulator that currently does.

1 Like

a i thought this , so no thunder in paradise :sweat_smile:

Thanks again for pointing me in the right directing. I also got it working on my Ubuntu Laptop.

So basically, these are the changes you made for same_cdi, and then you just have the gitlab ci/cd take care of the Android build?

Will check in the discord channel if I can learn how to this manually.

same_cdi has additional changes under the hood to automate the underlying mame settings for loading game files specific to cdi (m20 would probably benefit from that too), you can ping me on discord if you’re interested in the specifics.

2 Likes

Hi Duimon, I am trying to use this superb overlay on my Steam Deck but to run Spacewar I need to do it through MAME standalone (Current) so I wonder, are your .slangp files usable in MAME Standalone since I can’t run Spacewar using Retroarch ?

1 Like

They are not. There is always my original raster MAME layout. (Available on progetto snaps or Mr. Do’s.)

Some day I plan on doing a 4K version for MAME using my vector source.

BTW. Why are you not able to run Spacewar! using the MAME (Current) core?

Not sure I tried many sources. Which version of MAME is in the Current core ? 0.252 (the latest ?) Because if so I tried using it and it wont load at all…

1 Like

It needs the software list method. (Or command line.)

Just in case you aren’t familiar…

You will need the SL hash “pdp1_ptp.xml” file in the “/system/mame/hash/” folder. The rom needs to be in a folder named “pdp1”, and you need software lists enabled in the core options. (Or a “config/pdp1.opt”)

If you haven’t updated your hash files in a while you may not have the pdp1 file, it is relatively new. (mame 0.234)

Ok I’ll have a look. My roms are indeed in pdp1 I have all hashes including pdp1_ptp.xml in /home/deck/.mame/share/mame/hash But the pdp1.opt that I have no clue! Where should this go and what does the content of that file look like ?

1 Like

The pdp1.opt is just an override in case you don’t want to globally enable software lists. It goes in your config/mame/ folder. There is already a mame.opt in the folder (It is created the first time you run the mame core.)

I globally enable software lists but there are systems that need some special care and I use the opt to disable it etc.

You can use the mame.opt as a template and copy it to any rom or system name.

Make sure you aren’t using the spacewar.zip from the regular mame roms… it is a different game. You need the rom from the software lists.

There is also a munching.zip that is a cool demo. Read the pdp1_ptp.xml for important info on getting the roms to start after you do get them to load.


Just so we aren’t guessing, is there any way you can post a pre-formatted log?

Wow thanks Duimon for all these infos! I am indeed using the correct spacewar rom and not the other one from normal MAME romset I will have to retry and rely on the SHA1 of the pdp1_ptp.xml to make sure I am trying to load the correct version of the rom in 0.234 (mame_libretro.so).

As for the log I will check when I return from vacation in two week and keep you informed. Its my first time away from work in 6 years lol.

Thanks again

1 Like

Hello, could you help me emulate super A’can using retroarch core mame?

1 Like

In the other thread, the method I used for the Tiger Game.com is the “Standard” MAME software list method. All the steps are the same but the bios and folder names are “supracan”.

You should be able to puzzle out any non arcade system from that info.

There are some floppy systems that are inordinately tough to get running, but that is a rabbit hole we won’t go into now.

BTW. If you read this thread from the beginning, with care, all your answers are here.

The forum largely exists so you can get answers from previously asked questions.

2 Likes

I understand, thank you for your attention, my friend, I have difficulty translating all the conversations, I’m from Brazil, but I appreciate your attention, I wanted to know if the Funtech Super Acan has a BIOS, because I couldn’t find it.

the super acan needs no bios

1 Like