Development of module-script generator for lr-mess, lr-mame and mame standalone
-
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.
-
I have the same problem when selecting the 2 player option.
Then the controls of player 1 don't function correctly.
If I remove joystick 2 from the slot options and reset the computer and select player 2 again my first joystick works ok.Somehow I had that same problem with the c64gs when adding 2 joysticks to the slots, read here edit 1.
Could be an issue of mame.Don't think I can fix this with the regular mame settings.
Will have a look later. -
@Folly Thank you ! I doubt I'm going to be playing this 2-player, so that's fine :).
Except I just tried it after reading your older posts and I'm not totally sure I understand. I got it to work by disabling the first player joystick and leaving the second one on. But it doesn't remember that the next time I load. I tried now loading with the game_specific_cart choice, did the same thing, but it still didn't remember my selection (to turn off joystick 1) when I reboot into the game from emulationstation.
Maybe I need to update your script if it sounds like you changed something, and then it will work with the game_specific thing?
Edit: I updated the script to current and re-installed cpg120, but when I change the slot devices it still isn't remembering it even when I load in game_specific_cart.
I can see it is creating a game-specific config file in a subfolder in configs/msx2/lr-mess/, and in that folder it says this:
<mameconfig version="10">
<system name="cpg120">
<image_directories>
<device instance="cartridge1" directory="" />
<device instance="cartridge2" directory="/home/pi/RetroPie/roms/msx2/1942k.zip/" />
<device instance="cassette" directory="" />
</image_directories>
<input>
<keyboard tag=":" enabled="1" />
</input>
</system>
</mameconfig>Not sure why it's adding the keyboard tag but I would've thought that's where it would've saved the removed joystick setting. If it's just not fixable no worries but I think if I read your earlier post right you did think it might be working with game_specific loading?
-
@bbilford83 said in Development of module-script generator for lr-mess, lr-mame and mame standalone:
@Folly Thank you ! I doubt I'm going to be playing this 2-player, so that's fine :).
Ok, then just use the player 1 joystick and select 1 player then it should work fine.
Should also work when 2 joysticks are attached.Except I just tried it after reading your older posts and I'm not totally sure I understand.
Well, it's not exactly the same because with c64 the second joystick has mostly priority over the first.
With msx it's the other way around.I got it to work by disabling the first player joystick and leaving the second one on. But it doesn't remember that the next time I load. I tried now loading with the game_specific_cart choice, did the same thing, but it still didn't remember my selection (to turn off joystick 1) when I reboot into the game from emulationstation.
Maybe I need to update your script if it sounds like you changed something, and then it will work with the game_specific thing?
Didn't change much of the stuff for game-specific in the script, so in that perspective an update will not work.
Seems Zemmix will load with 2 joysticks by default.
I see now that slot options are not saved in a config file, sadly no way around that.
I can however try and do the same as I did with c64gs just adding 1 joystick to the slot options when installing cpg120.Not sure why it's adding the keyboard tag but I would've thought that's where it would've saved the removed joystick setting.
You fiddled with the keyboard settings that is why something has been saved.
I you want a clean start then you can just delete the config as mame will make a default new one. -
@Folly said in Development of module-script generator for lr-mess, lr-mame and mame standalone:
Didn't change much of the stuff for game-specific in the script, so in that perspective an update will not work.
Seems Zemmix will load with 2 joysticks by default.
I see now that slot options are not saved in a config file, sadly no way around that.
I can however try and do the same as I did with c64gs just adding 1 joystick to the slot options when installing cpg120.I think I understand now, thank you. So there's nothing I can do to "save" that setting now, but eventually you can create commandline options that can be selected from the runcommand menu that will load it with either the first or the second joystick selected?
Just to be clear, I think msx is also prioritizing the second controller by default. If you disable 2 and leave 1 on, nothing works. If you disable 1 and leave 2 on, it does work. At least for the only game so far I tested that needs only one plugged in for some reason (1942).
Edit: I see now what you did in c64gs, the "-joy2 joybstr" after each command line. Obviously this wouldn't fix the issue for the world but I understand how to use that command, except I don't know how to tell it to leave the joy1 or joy2 unassigned/blank. Is it like "joy-2 --" or something similar?
Not sure why it's adding the keyboard tag but I would've thought that's where it would've saved the removed joystick setting.
You fiddled with the keyboard settings that is why something has been saved.
Sorry I wasn't clear, I understand that's why it changed, I just didn't get why it would change that but not the slot devices.
-
One other quick update you might find interesting @Folly, I am pretty sure the list you created by limiting to Korean games for the two msx_cart systems will include a few games at least that don't work for Zemmix - probably they were made for MSX in Korea before the Zemmix was released. One game I have tested so far - Antarctic Adventure - asks you to hit a button 1 or 2 on the keyboard and also asks if you want to play with a joystick or keyboard. So from what I read I am pretty sure it couldn't have originally been produced for the Zemmix.
-
@bbilford83 said in Development of module-script generator for lr-mess, lr-mame and mame standalone:
Edit: I see now what you did in c64gs, the "-joy2 joybstr" after each command line. Obviously this wouldn't fix the issue for the world but I understand how to use that command, except I don't know how to tell it to leave the joy1 or joy2 unassigned/blank. Is it like "joy-2 --" or something similar?
Should be doable for the zemmix too.
I have no idea yet how I would unassigned a joystick, we will have to experiment. -
@Folly said in Development of module-script generator for lr-mess, lr-mame and mame standalone:
@bbilford83 said in Development of module-script generator for lr-mess, lr-mame and mame standalone:
Edit: I see now what you did in c64gs, the "-joy2 joybstr" after each command line. Obviously this wouldn't fix the issue for the world but I understand how to use that command, except I don't know how to tell it to leave the joy1 or joy2 unassigned/blank. Is it like "joy-2 --" or something similar?
Should be doable for the zemmix too.
I have no idea yet how I would unassigned a joystick, we will have to experiment.Interesting. I am going through the gamelist but it is very slow, a few games I have already removed and there's very little out there in terms of scraping. When I am done of course I am happy to share the gamelist/artwork but it will take a while... So far I am done up to the beginning of C and only the 1942 game has that issue with the joystick.
-
@bbilford83 said in Development of module-script generator for lr-mess, lr-mame and mame standalone:
there's very little out there in terms of scraping.
How does Retroscraper perform for these games ?
-
I found the problem with zemmix and the joystick not working when there are 2 connected.
When we talk about
1942
we use that romname and file.
However, for zemmix we need to use the zemina version of 1942 which is called1942k
.
The rom1942k
exists in the 1942.zip file.
So we need to rename 1942.zip to 1942k.zip in order to load1942k
with the basename loader.
With the -cart1 loader you need to extract the k version and load that rom or remove the regular rom from the archive.Now, when selecting player 2 and both joysticks connected, no problem anymore.
Seems there are some hardware differences with regular msx types.
So it seems there is no issue with mame after all. -
@Folly said in Development of module-script generator for lr-mess, lr-mame and mame standalone:
MICROVISION: 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.I created 4 overlays and artwork for the 4 game roms I have. Connect 4, Sea Duel, Blockbuster and Super Blockbuster. I aligned them and it works very nicely. The only question is "is there a way i can increase paddle speed?" make it more responsive for Blockbuster and Super Blockbuster?
THANKS MUCH
-
Nice to hear you have made some overlays.
Perhaps you can share them in the future somehow.About the paddle speed.
I think the best option is to change some settings in the RetroArch menu as the settings from the slider options in the regular mame menu will not stick.
However I am not that fanatic with microvsn and don't know much about paddles either.
So I can't really help or I have to dig into it.
Perhaps @bbilford83 knows.@bbilford83 can you help @duglor with this ?
-
@Folly said in Development of module-script generator for lr-mess, lr-mame and mame standalone:
@bbilford83 said in Development of module-script generator for lr-mess, lr-mame and mame standalone:
there's very little out there in terms of scraping.
How does Retroscraper perform for these games ?
Unfortunately no better than skyscraper. I thought maybe the problem was that because the folder is msx2 it was only scraping from that database, which (at least on screenscraper) is missing all the roms from the msx1_cart set. But just to test I moved everything to the msx folder and then used retroscraper and it gave the same gamelist. So I think it will just take a lot of manual work. At first I thought it was because the games are almost all not parent roms (that is, they all have the "k" at the end), but that doesn't seem to be the reason either.
-
This post is deleted!
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.