MAME update

354 views
Skip to first unread message

RandyR

unread,
Jul 26, 2022, 4:52:39 PM7/26/22
to PicoChess
I have compiled an updated version of mess from MAME v0.245 which seems to run fine on my RPi4b. It will only run under Debian Bullseye (which my latest images are based on). The chessengine plugin is from Sandro Ronco's github site. The only unfortunate thing is that you are not able to use any of the custom artwork used by Franz Huber's emulator as they are based on older versions of MAME. The .lay files would have to be converted (if someone wants to figure it out...). The built-in artwork is fully functional, though. It just doesn't look as nice. And this is only an issue if you want to run the MAME engines in a GUI and play with a mouse, etc.

If you want to try it out,  back-up your current mame_emulation folder (I'll assume it is owned by root, as in my images). Not sure how this will word-wrap but it's basically 'sudo mv file file.bak':

sudo service picochess stop

sudo mv /opt/picochess/engines/mame_emulation /opt/picochess/engines/mame_emulation.bak

Download the archive and get it onto your Pi. Extract using 7zip:

sudo 7z x mame_0245.7z -o/opt/picochess/engines

Copy over any of your roms from the backup folder:

sudo cp -r /opt/picochess/engines/mame_emulation.bak/roms/. /opt/picochess/engines/mame_emulation

Restart picochess (sudo service picochess start).

If it's not clear, please ask - I wouldn't want you to screw up your installation.

I only tested a couple of roms. Let me know if you find problems.

Randy


RandyR

unread,
Jul 26, 2022, 5:20:10 PM7/26/22
to PicoChess
I suggest making your browser window larger if the lines in the previous message are wrapping. Or see the attached file.

Randy

mame.txt

DannyN

unread,
Sep 5, 2022, 1:31:21 PM9/5/22
to PicoChess
Hi Randy,

A bit late but I just tried your Mame compile.. First rom I tried (diablo) loaded without a problem However, when I tried to load the next rom (super expert) it hung on engine loading. In htop I can see that it is trying to load the super expert but it seems to get stuck on something. Only remedy is to stop the picochess service but after starting the service it immediately hangs again, now on loading the last successfully loaded engine (the diablo).  Does Mame create log files that would tell me what is happening?
I don't have time to test any further now so I've gone back to v0.230.

Danny

Op dinsdag 26 juli 2022 om 23:20:10 UTC+2 schreef RandyR:

Randy Reade

unread,
Sep 5, 2022, 1:53:24 PM9/5/22
to pico...@googlegroups.com
Hi Danny,

You can enable logging in MAME - I would have to check the docs but IIRC it just a switch in mame.ini. An easier way is just to run MAME or MESS from the command line specifying the rom you want. Then you can see if it shows any errors:

cd /opt/picochess/engines/mame_emulation
SDL_VIDEODRIVER=dummy
sudo mess -skip_gameinfo -lightgunprovider none -video none -plugin chessengine sexpert



I'm not sure that is formatted correctly as I'm typing on my phone, and I can't test it myself until sometime after 21 September when I return from vacation. It's possible you will need updated roms.

Randy


--
You received this message because you are subscribed to a topic in the Google Groups "PicoChess" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/picochess/r4dyxogZnx8/unsubscribe.
To unsubscribe from this group and all its topics, send an email to picochess+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/picochess/16e7bee0-da9e-45d0-a7cc-54735dd69d0en%40googlegroups.com.

RandyR

unread,
Sep 23, 2022, 5:00:51 PM9/23/22
to PicoChess
Hi Danny,

I just tested Super Expert on my 64-bit PicoChess installation and it worked as expected in a quick Fool's Mate game.

Randy

RandyR

unread,
Sep 23, 2022, 5:23:29 PM9/23/22
to PicoChess
Danny,

I also tested in 32-bit PicoChess (Bullseye) and Super Expert worked there as well.

Randy

DannyN

unread,
Sep 24, 2022, 3:31:31 AM9/24/22
to PicoChess
Hi Randy,

If I remember correctly the problem I had was not loading a single engine and playing against it but loading the next one after that. I could play against Diablo but when I tried to start the Super Expert it got stuck on "engine setup". I tested this following your instructions in the first post in this thread (ie copying the mame_emulation folder) and on the board with clock.
When I later tested the ability to load additional opening and endgame roms, 245 loaded all the ones I tested without a problem but I only tested them on the command line and I only copied the mess binary and init.lua and boot.lua (so not the the whole folder). I did not pursue it any further because 245 has no additional benefit for me with my stock DGTPi which unfortunately is not powerful enough to run the Saitek modules for the Renaissance/Galileo/Leonardo (with 245 you can do that, at least on the command line).
When I find some time I'll test 245 again because I'm curious to see if loading the Saitek modules actually works when playing on the board.

Danny
Op vrijdag 23 september 2022 om 23:23:29 UTC+2 schreef RandyR:

RandyR

unread,
Sep 24, 2022, 10:43:42 AM9/24/22
to PicoChess
Hi Danny,

That is how I tested as well. I added the diablo and super expert entries into the engines.ini file and started PicoChess. I switched the engine to diablo, played the Fool's Mate, reset the pieces to start a new game, switched to super expert and played the Fool's Mate again. I was using the web server but did not have my DGTPi connected to the board (as a clock).

Randy

On Saturday, September 24, 2022 at 2:31:31 AM UTC-5 DannyN wrote:
Hi Randy,

DannyN

unread,
Sep 24, 2022, 12:08:54 PM9/24/22
to PicoChess
Hi Randy,

I just tested again and 245 works without a flaw on the board with my DGTPi. Played some moves against Lyon, Vancouver, Super Constellation, Diablom Super Expert C in quick succession without a problem. I did not have the problem that I had the first time so I don't know what went wrong there. Anyway, your compile of 245 works.

Also tested some Saitek modules and they work as well on the board (albeit too slow on my DGTPi). So anybody wanting to play against the Saitek Analyst, Maestro and Sparc modules can do so now with MAME 245 by adding -exp analyst; -exp maestro (for Meastro B-D); -exp maestroa (for Maestro A); or -exp sparc to the start command of chessengines leonardo, galileo and renaissance (I think the sparc module only works with the Renaissance and Galileo). 
So for example for the Leonardo with module Maestro B-D the engine file would read: 

#!/bin/bash

cd /opt/picochess/engines/mame_emulation; SDL_VIDEODRIVER=dummy /opt/picochess/engines/mame_emulation/mess -skip_gameinfo -lightgunprovider none -video none -plugin chessengine leonardo -exp maestro

Note that the uci level codes for the modules are different than for the standard Renaissance and Leonardo levels so check Zanchetta for those.

Danny


Op zaterdag 24 september 2022 om 16:43:42 UTC+2 schreef RandyR:

RandyR

unread,
Sep 24, 2022, 12:42:19 PM9/24/22
to PicoChess
Good to hear, Danny. And thanks for sharing how to use the modules.

Randy

On Saturday, September 24, 2022 at 11:08:54 AM UTC-5 DannyN wrote:
Hi Randy,

DannyN

unread,
Sep 27, 2022, 9:24:18 AM9/27/22
to PicoChess
Hi Randy,

I've noticed something else with your compile of 245. Several emulations that I could not run under 230 because they were simply too slow on my DGTPi, I can run with decent speed under 245. 
I benchmarked a couple of "problematic" ones (let them run for 30 seconds at full speed on the command line):

MAME 230:
Corona - average speed 101%
Risc 2500 - average speed 79%
Montreux - average speed 75%
Berlin Pro - average speed 97%
Tasc R30a - average speed 36%

MAME 245:
Corona - average speed 161%
Risc 2500 - average speed 225%
Montreux - average speed 223%
Berlin Pro - average speed 101%
Tasc R30a - average speed 104%

Apart from the Berlin Pro I find the differences remarkable, though I don't know why 245 is so much faster for some of the emulations.

Danny






Op zaterdag 24 september 2022 om 18:42:19 UTC+2 schreef RandyR:

Randy Reade

unread,
Sep 27, 2022, 10:48:30 AM9/27/22
to pico...@googlegroups.com
That is quite a difference. I didn't think you could get above 100%. Perhaps throttling is off? Are you running with video? If so, you may have a different video driver being used by MAME. I think if you add the -verbose option you can see what is being used by SDL. Not sure if running with -video none would matter though.

Randy

--
You received this message because you are subscribed to a topic in the Google Groups "PicoChess" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/picochess/r4dyxogZnx8/unsubscribe.
To unsubscribe from this group and all its topics, send an email to picochess+...@googlegroups.com.

DannyN

unread,
Sep 27, 2022, 11:51:54 AM9/27/22
to PicoChess
Hi Randy,

There is a benchmark command that allows you to see at which maximum speed an emulation can run on your hardware without throttling. I run  "sudo SDL_VIDEODRIVER=dummy /opt/picochess/engines/mame_emulation/mess -bench 30 name-of-rom" at the command line to see what performance I can get from the emulations on my DGTPi  (the 30 after -bench stands for the seconds to run). I have read that ideally an emulation should run at +120% with the benchmark command. 

Of course, when playing at the board the emulation will not be speeded up although I think you can do that as well with the speed command (sort of overclock them).
 
Anyway, with 245 I can play against the Tasc R30 King 2.2 without a problem (the King 2.5 and Gideon are too slow) so I'm happy.

I have no idea why 230 is slower for some emulations. 

Danny




Op dinsdag 27 september 2022 om 16:48:30 UTC+2 schreef RandyR:

RandyR

unread,
Sep 27, 2022, 12:52:50 PM9/27/22
to PicoChess
Ahh, that makes sense. Throttling is enabled by default (in mess.ini/mame.ini). The command from the command line would be -nothrottle to have max speed.

I'm not sure what big difference there is between Al's v0.230 compile and my 0.245 one. But there are many variables that can be set or not in the makefile.

Randy

On Tuesday, September 27, 2022 at 10:51:54 AM UTC-5 DannyN wrote:
Hi Randy,

DannyN

unread,
Sep 27, 2022, 3:45:04 PM9/27/22
to PicoChess
Whatever the reason, I'm very happy with 245. At first I thought it had no added value for me with my DGTPi but now that I have discovered that it runs certain emulations much faster than 230, I have replaced the 230 install with your 245 compile. Finally I can play against some Johan de Koning emu's at decent speed so thank you very much!

A question, is it possible to run uci commands at the command line and get a response whether the uci command is right or wrong? If I run an engine at the command line I can type whatever I want but only get a blank response. If I type in "uci" I get some info about the engine but that's all. Reason I ask is that I believe that is possible to load Sphinx 40 with different playing styles. I can test that on the board but then it becomes more or less a guessing game if my uci codes worked or not because I believe that if a uci code is wrong the engine will not give an error but start with a default value. It would be easier if I could test it at the command line.

Op dinsdag 27 september 2022 om 18:52:50 UTC+2 schreef RandyR:

RandyR

unread,
Sep 27, 2022, 5:12:32 PM9/27/22
to PicoChess
The UCI interface for the MAME roms is provided by the chessengine plugin. After launching MESS (e.g. "SDL_VIDEODRIVER=dummy /opt/picochess/engines/mame_emulation/mess -skip_gameinfo -lightgunprovider none -video none -plugin chessengine mm4") for the Mephisto MM IV, you can type "UCI" on the command line to see what options you can set. It is very limited (usually just speed and level but sometimes style). The normal UCI commands for making moves, etc., should work as usual. You may have to parse the init.lua file to see what works.

Randy

DannyN

unread,
Sep 30, 2022, 5:09:59 PM9/30/22
to PicoChess
I think I know why Al's compile of 230 is slower with some emulations. I don't think it has anything to do with setting variables in the makefile but some things simply got changed/fixed for those emulations in later MAME versions. The change log for 231 says: -corona/simultano: use memory_view instead of bankdev (big improvement according to -bench 10) [hap]; and for 232: -risc2500/tasc: mistake in cycle compare.


Op dinsdag 27 september 2022 om 23:12:32 UTC+2 schreef RandyR:

RandyR

unread,
Sep 30, 2022, 5:21:33 PM9/30/22
to PicoChess
That makes sense.

Randy

Reply all
Reply to author
Forward
Message has been deleted
0 new messages