Development of module-script generator for lr-mess, lr-mame and mame standalone
-
@bbilford83 Ok. Thank you. I can hold off for now on Microvision :D
-
@Folly said in Development of module-script generator for lr-mess, lr-mame and mame standalone:
Do you use my latest script now ?
Yes
-
@duglor said in Development of module-script generator for lr-mess, lr-mame and mame standalone:
@DTEAM Can someone walk me through how i get lr-mess-microvision working after an install or do i need lr-mess-2016?
I would not go for the lr-mess2016 it's old and not supported by my script.
So you would need to configure everything by yourself with lr-mess2016.What @bbilford83 says, pretty much says it all :
Also, @duglor, I suspect @Folly will give you better help than I could but just be aware after all my recent efforts that there really isn't good artwork for all games to make them playable as they should be for the Microvision. You'll see in above exchanges that I created background artwork for each game (with Folly's help) but it's pretty amateurish and for several games it doesn't work really at all. Until someone comes along who is better in Gimp than me I wouldn't really consider the system fully playable without that art.
To add something about lr-mess, there are no overlays at all for RetroArch.
Anyway, there are no instructions on the retropie sites.
You can install
microvsn
like any other driver.
Just search formicrovsn
in the DEFAULT section and install it.What i need to know is if there is a bios file needed?
Indeed, it's not always obvious if a bios file is needed.
After installing a driver and placing the game-roms in a roms folder you can try some of the roms.
If they do not work it's probably because you need a bios file for the driver.
Most of the time the bios file is just named like the driver.
Just search for that name inmame-merged
rom set to find that bios file.
If you can't find a solution then check, after trying a game, the/dev/shm/runcommand.log
if a bios file is "NOT FOUND" .
You can also use my script and use the "NOT FOUND" option in the "restricted downloads". (look at the search option)
Then you will know what file to search for.
An other manual method to is to see if a driver needs bios files, like this :pi@raspberrypi:~ $ /opt/retropie/emulators/mame/mame -listbios microvsn No BIOS options for system Microvision (microvsn)
You will see that the driver
microvsn
doesn't need a bios file.A certain dimension for the visual settings?
I will not explain this as it basically means you should make overlays or artwork.
That would be the best way.how to load and run it?
Get the microvision.zip file from the
mame-sl
rom-set and extract them into the microvsn roms folder.
Then you will be able to run the games fromemulationstation
. -
Interesting questions about amiga32,c64gs and zemmix.
I will have a look later. -
@bbilford83 said in Development of module-script generator for lr-mess, lr-mame and mame standalone:
I don't put on any systems that would require a keyboard to be practically playable, but when I discovered the Amiga CD32 I thought that was perfect as I could use it to (accurately) only play Amiga games that it could play since they were all bound to only use the joystick controller. Well, today I discovered the Commodore64 Games System which appears to be basically the same thing, but I have spent an unreasonable amount of time trying to figure out exactly which games/cartridges it could play, as I understand they were specifically released for the system and not just identical to the regular c64 cartridges. I looked at the software list roms and while I see a bunch of c64-variant systems, I don't see "c64gs" as a software list romset. But when I went to your script and looked at the "Commodore upon system names" subset of system names, there is a c64gs there!
So my question is: is there some way to identify the romset that should go with c64gs? I'm not asking where to find it, but rather how to figure out what it should have in it, since there isn't a c64gs software list subset as part of mame.
And while I think it's even more of a stretch, I was also looking into the same thing in the form of the "Zemmix," which I gather was a consolized version of the MSX computer that also controlled without a keyboard. That I can't find any sort of list for though, in the roms or in your script, so I think it might be a lost cause.
I realize it is particularly weird of me to work so hard to get obscure console versions of really-easy-to-emulate pcs working, but it makes sense to me if it's a consoles-only build.
I haven't yet looked much at c64gs, though I will assume it will only use some of the c64_cart.
Mame can output the software list for that system but not sure if it will be 100% correct.
Did it with this command :pi@raspberrypi:~ $ /opt/retropie/emulators/mame/mame -listsoftware c64gs|grep "software name="
For Zemmix it could be the same thing, using :
pi@raspberrypi:~ $ /opt/retropie/emulators/mame/mame -listsoftware cpg120|grep "software name="
For more info about Zemmix I found these 2 links :
The Zemmix will of-course play games that weren't made especially for it but these ones should not be in the list I recon.
Above command will probably list all, not only the ones especially for Zemmix.Both hash tables msx1_cart and msx2_cart have info about Korean cartridges.
I think these are basically the cartridges you are looking for.
Somehow the xml's have to be filtered so only the Korean ones are in a list.The is also a
Zemmix-romset-ZUUL
romset.
Looking at the list I have doubts if the list of games is 100% accurate.
It is also not a mame romset but can be played with the -cart1 runcommands.I used the driver
cpg120
to install from my script and is installed as "msx2".
In my script I could try to split them up from msx/msx2 to zemmix/zemmix2.
Though I am not sure if this is a good thing. -
It looks like I can extract the full gamelist from
msx1_cart
for Zemmix like this :cat /opt/retropie/emulators/mame/hash/msx1_cart.xml|grep -v "feature name="|grep -B 2 Korea|grep "software name="|cut -d'"' -f2|tr '\n' ' ' 1942k advenkid aliensk aroidk amtruckk antarctk arkanoidk bankpk blockhol bombmank1 bombmank2 brosadv brosadva bbobblek csok cabbagepk wrldopenk castlek cloderunk1 cloderunk2 choroqk crusaderk cyborgz ddayk ddayka david2k dokidokik ddragon drhello eagle5 exerionk exoidez5k f1spiritk fatetris fatetrisa fatetrisb fantzonek fzonek fpoint fpointa galagak gw126 gw126a gw30 gw64 gw64a gw80 gw80a gw90 gw90a gangrobo gangroboa gangrobob gomokunak gberetk gulkavek gyrodinek heavyboxk highwayk hydlide2k hydlide3k hyperol1k hypersp2k theseusk jpwinklek kinnikumk knightmrk knightm2k knucklej koedoli pingpongk kontennk kungfutk l3w legendk legendka loveplus moaihihok gundamk mpatrolk mopirangk mrchink mrdok msxrugbyk msxsoccrk sokobank sokobankz valisk newbogle newboglea newbogleb ninja2 ninjajajk nnprowrsk pacmank pachicomk pengadvk1 pengadvk2 penguinwk poppaqk rallyxk risedungk salamandk scrameggk seikachok skicommk1 skicommk2 skyjagk stepupk strtmast sbioman1 sbioman1a sbioman4 sboy3 sboy3a sboy1 sboy2 sbw1 suprbubl supercol supgam25 slaydockk takameijk1 takameijk2 tetris tetris2 3dragon titipang turmoilk vigilant warpwarpk wonsiin xanaduk yieark yiear2k chimak zaiderk baduk zoom909k zk
And the full gamelist from
msx2_cart
for Zemmix like this :cat /opt/retropie/emulators/mame/hash/msx2_cart.xml|grep -v "feature name="|grep -B 2 Korea|grep "software name="|cut -d'"' -f2|tr '\n' ' ' 1942k arknoid2k kingkon2k quarthk srambospk
You can just remove
tr '\n' ' '
from the commands to display each game on one line. -
Seemed like a good idea to separate c64gs from the c64 install and just install it as c64gs :
https://github.com/FollyMaddy/RetroPie-Share/commit/46d5966e9de009bae61faea51ddc99199d8ecd00Created also a separate theme as pull request for @DTEAM :
https://github.com/DTEAM-1/cygnus-blue-flames/pull/11 -
@folly this is all amazing, thank you! I am confused though about 2 things:
-
What are you putting the commands into? It looks like command line stuff you'd enter straight into linux but I doubt that's what you're doing here? Sorry, I'm quite an amateur here.
-
What I don't really understand about the c64gs is I wouldn't think it would use any of the c64_cart roms, because it seems like the games made for it were not standard c64 cartridges, right? I think the games were modified from the c64 versions to not require the keyboard. Unless somehow the emulator modifies the cartridge roms, I don't really get how that would work.
FYI, the Zemmix list you came up with seems right, though I do wonder if there were Korean-released MSX cartridges before/separate from the Zemmix that might be included but not actually work properly (if they required the keyboard). But it is a good start and I could test the games. The Zuul list doesn't match up so probably you are right that something is iffy there.
-
-
@bbilford83 said in Development of module-script generator for lr-mess, lr-mame and mame standalone:
@folly this is all amazing, thank you! I am confused though about 2 things:
- What are you putting the commands into? It looks like command line stuff you'd enter straight into linux but I doubt that's what you're doing here? Sorry, I'm quite an amateur here.
Correct, no doubts, I am putting the commands into the CLI/Terminal of linux.
It can also be done on the RetroPie image as it is just linux-lite without desktop environment with using the RetroPie bash scripts on top of it.
You can enter the CLI by :- exiting
emulationstation
with F4 - opening a new CLI with ctrl+alt+F2 (or F3 etc) (going back with ctrl+alt+F1)
- or connecting with ssh to the raspberry pi
I use Debian11 with desktop environment with using the RetroPie bash scripts on top of it.
So I open the CLI with ease.- What I don't really understand about the c64gs is I wouldn't think it would use any of the c64_cart roms, because it seems like the games made for it were not standard c64 cartridges, right? I think the games were modified from the c64 versions to not require the keyboard. Unless somehow the emulator modifies the cartridge roms, I don't really get how that would work.
Here are some wiki's :
https://en.wikipedia.org/wiki/Commodore_64_Games_System
https://videogameconsolelibrary.com/pg90-64gs.htm#page=reviewsThey explain that the hardware is quite similar.
Although the c64gs will only accept a cartridge and has no keyboard.
That is why some games had to be converted from cassette, and other conversions had to be done because of the keyboard not being there.
It also explains that it was not a popular sale but its creation did help bring Commodore users (particularly in Europe) more cartridge titles to enjoy.
So the cartridges are compatible with the regular c64.
Seems some games can only be played when using a Cheetah Annihilator joystick with 2 separate buttons.
I tested Robocop2 and was not able to jump, perhaps the reason.
Amazing, 60.000 not sold !, very curious what the did with them.FYI, the Zemmix list you came up with seems right, though I do wonder if there were Korean-released MSX cartridges before/separate from the Zemmix that might be included but not actually work properly (if they required the keyboard). But it is a good start and I could test the games. The Zuul list doesn't match up so probably you are right that something is iffy there.
I think it's a pretty good list.
-
@Folly Thanks for all the info! I watched a video where a guy said (though who knows where he got the info) that the ones they didn't sell commodore cannibalized to turn back into normal c64s, and that's why they're so expensive/rarer. I will try out what you suggest - I do use putty for ssh so it should be possible. If I do create a gamelist for either c64gs or Zemmix I will share them to the google drive so others don't have to do the figuring out of which games are appropriate from scratch.
-
Aha, great info.
I have used lists only for categorising multiple drivers into one catagory, not for sharing parts of some softwarelists.
I will think about it how a proper list can be implemented one way or another.
Really not sure yet ;-)What do you think, should I separate the zemmix types from the msx ones ?
If you manage to do some CLI commands then I would suggest to try some simple things first like
ls
(the msdosdir
equivalent) orcd
.
Or useecho
orcat
for starters.
After that you can try to "pipe" with|
exchanging output from one command to another.
Look on the internet, there are many tutorials. -
@Folly Thanks much!!
-
@Folly sorry for the delay in responding. For the Zemmix ones, I think whether it makes sense probably depends on whether the Korean subset actually works if run through that emulator. I was on solo parenting duty this weekend so I haven't had much time to mess around with it but sometime in the next week I will definitely test out both that and the c64gs sets!
-
No problem.
In the meantime I will have a look at the joystick settings of the c64gs if I can manage to add slot options to add "joybstr".
Because I found that with robocop2 you have to select "c64 joystick" in the game with the default joystick settings of mame.
In order to use the "c64gs joystick", with which you can use 3 buttons,
you have to use the other slot joystick setting in mame but you will only be able to use that after a reset and sadly the setting it's not being saved.Reminds me when playing oilswell, switching joysticks is also a problem.
Many games start with joy2 instead of joy1 but for some games it's the other way around.
Perhaps the solution is to add 2 joysticks by default so that joysticks can be configured by game with the game-specific runcommands.Edit 1 :
Able to implement extra options for default driver installs.
However adding 2 joysticks confuses robocop2, 1 could probably do in port 2 but other games still need in port1.
Will look at it tomorrow again.Edit 2 :
I added stuff in my script version 260.03 / 260.04 so I have the possibility to add options when a default driver is installed.
As first test I added the 3 button joystick on port2 for c64gs.
For robocob2 this will work directly and hope it will for more standard c64gs games. -
Both versions 260.03 and 260.04 didn't correctly configure mame after a binary install, so skip these versions.
In version 260.05 this problem should be fixed now.
-
@Folly lr-mame fails to build on my pi5 using your script. I am overclocking to 2.8Ghz so I'll try again at stock. Edit: I tried with stock settings and building also failed. https://pastebin.com/N6eJEZTS
-
@Folly I am finally giving Zemmix a shot now but so far no luck - I think it is acting like I have no bios but as far as I can tell the system should use standard MSX 2 bios, right?
Edit: I actually installed lr-fmsx to see if that would work and it does (though obviously it's not really playing it "as a Zemmix"). But I think that means probably something is wrong with the install, or at least something wrong with how I installed it? I must have OK bios.
Edit 2: Actually, a lot of games don't work, some not at all (blue screen) and some loading to awful noises or no controls working. I think it is maybe because it is emulating as a regular MSX2? So I think I have to try to get it to work via mess/your script if I want it to work properly :).
Is it maybe that the bios has to be in a zip named something different? I tried all the options I could think of but nothing fixed it.
-
@Darksavior said in Development of module-script generator for lr-mess, lr-mame and mame standalone:
@Folly lr-mame fails to build on my pi5 using your script. I am overclocking to 2.8Ghz so I'll try again at stock. Edit: I tried with stock settings and building also failed. https://pastebin.com/N6eJEZTS
My script is not the problem it links to the stock lr-mame module-script.
Looking at your log I would expect that the swap space is set too low in the module-script.
How much memory does your pi5 have, 4GB ?
Try to increase the swap space, in the lr-mame module-script, from 4096 to 8192.
Or if you really want to be safe to 12288.
Make sure you have much more space free on your SD or HD.If above doesn't work then it's best to open up a new topic for it.
Edit :
I am testing on my Apple M1 with VMware and Bookworm installed, using :- VM with 4 cpu cores and 4096M ram using 4096 swap : failed
- VM with 4 cpu cores and 4096M ram using 8192 swap : failed
- VM with 4 cpu cores and 4096M ram using 12288 swap : my vm doesn't have enough space for this.
- VM with 3 cpu cores and 4096M ram using 8192 swap : ok
So you have 2 options :
- try to compile with 12288 swap and make sure you have enough space on your SD
- try to compile with 8192 swap and edit
make
tomake -j3
I will make my binary available here :
If you like to test and use my binary then do the following.
Extract the content and copy it to the libretrocores directory as super user / root.
Then use the retropie_packages script to install dependancies and configure lr-mame like this :cd RetroPie-Setup sudo ./retropie_packages.sh lr-mame depends sudo ./retropie_packages.sh lr-mame configure
-
You probably installed the Zemmix cpg120, right.
You need the cpg120.zip bios file.
Read this post for all drivers it's the same procedure. -
@Folly Thank you! Trying this now. I was just renaming the regular msx bios to that, didn't realize it would be something different though of course that makes sense.
That worked!!! Now even the boot screen is in Korean so it is clearly loading as a Zemmix :). Thank you.
Only weird thing though, first time game I loaded, 1942, I can select between one or two players and hit the main button to pick, but then once I am in game my controller does nothing and I just die over and over. I thought maybe I needed to "turn off" the keyboard somehow, but everything I changed in "keyboard selection" doesn't fix it (emulated vs. "natural" keyboard, "root" enabled or disabled.... though I have no idea what that means).
Do you have any idea what I should be doing in the mame menu to fix this? FYI, the "input assignments" show [root] and then all the keyboard buttons, then "MSX Digital Joystick [rootgen1:joystick]" and "MSX Digital Joystick[rootgen2:joystick]." The first joystick is mapped properly by default, so I don't know what I'm doing wrong or how to disable the keyboard taking over, if that's even what's happening...
Edit: I see in "slot devices" I can change "gen1" from "MSX Digital Joystick" to a few other options but I doubt they are right. One was an FM Towns marty pad, for example. Unless Maybe the Zemmix controller should be registered by mame as something else?
Edit 2: I tested a few other "slot device" options but they all did the same thing... I can always go up and down and select the number of players, and then in game I can't do anything. Weird.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.