Development of module-script generator for lr-mess, lr-mame and mame standalone
-
@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! -
@Folly said in Development of module-script generator for lr-mess, lr-mame and mame standalone:
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 I actually was already using the 1942k rom. But that reminded me that there is a 1942k rom for msx1_cart and one for msx2_cart. I was using the latter. I switched to the msx1_ cart version and it worked right away as you said, but the graphics are far worse than the msx2 version. So there would still be value in figuring out how to disable the first joystick by default, I think.
-
@Folly said in Development of module-script generator for lr-mess, lr-mame and mame standalone:
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 ?
@duglor @Folly I had a lot of trouble adjusting this as well, but I think the way you do it is go into the mame menu, then input settings (first option), analog input adjustments (second option), then tweak things there. I just checked and I put my increment/decrement speed way down to 5 and sensitivity down to 5 as well. My main problem is that the location of the paddle automatically defaults to the far right of the screen, so to center the paddle you have to be pulling the analog stick to the left. If you don't have that problem, or find a solution to it, I'd love to know how!
Edit: I went back and looked at Folly's post and see he was concerned the slider settings wouldn't save. They do for me, but that's probably because I was already using the game_specific emulator choice you pick in the runcommand (that's how I got it to use the right art before Folly had made the script to it automatically). So you may need to do that for each game that you want to adjust the sensitivity if it won't save otherwise.
And I second @folly in asking for your art. In particular for Connect Four, the art I made and shared earlier is off and it makes the game unplayable. The ones that I couldn't successfully make were: Bowling, Connect 4, Vegas Slots.
-
@Folly a few notes after testing all the games on the Zemmix list you made from #-F.
There are a couple games that just don't work at all for some reason, and oddly they seem to be the games made Zemima (the Korean company). Dr. Hello, a ridiculous Dr. Mario clone, won't load in any version of the emulator, and it just enters an endless reboot cycle. And Eagles 5 just loads to a black screen after booting up... I left it on for several minutes and it never leaves. I tried everything I could with those and nothing helped, so maybe they are bad dumps? I don't know.
There are several games (I didn't keep track of them) that really needed a keyboard for full functionality, so I removed them - my final gamelist will obviously have them removed.
And, maybe most important, there are games that make pretty clear to me that the list must be really underinclusive of games that could be played perfectly on a zemmix, though I don't think there's any such list in existence and it would take days and days of testing (because the MSX library is so huge) to figure it out from scratch. But for example, the shmup "Exoide-Z Area 5" is on the list you made because there was a korean version, but that game is a sequel to "Exoide-Z," which plays exactly the same and just as much doesn't need a keyboard, but isn't the list (I guess because there was no Korea-specific version). Or another example, the Korean version of Final Zone Wolf - which, strangely, seems to just be named "Final Zone" with "Zemina" replacing the word "wolf" - doesn't display any words, and the game has a lot of dialogue - maybe the emulator is having trouble with the Korean characters? But playing the regular version of the rom works fine (in that it displays Japanese). I had to watch some videos to figure this out as I thought the game just wasn't registering inputs at all.
I can't think of any easy solution here on how to figure out which games wouldn't use a keyboard at all, but it seems clear to me now that the "just Korean-made games" list isn't really the "Zemmix list" in any real way. For now I will keep testing all the games on that list you made because obviously the Korean-made games is a a good start - these would've been most accessible to the Koreans buying the Zemmix console. But I thought I'd explain my thinking/why this isn't going to be nearly all the "Zemmix" games in the sense that it could play many others I'm not testing.
Long post, sorry!
Edit: I realized one other possible source of good games for it would be to look at that list you found of the "zuul" romset. Just like the korea-only filter, that also seems to include some that shouldn't be there but about 3/4 of what's on there that I've tested so far also works (either doesn't use the keyboard at all or offers for you to use it but you don't need to for any reason). So I've been adding that as I go along too.... so far up to the alphabet all games including F, there are 41 working games, so even with the underinclusive list I am making it is a huge library. It also seems to me like the msx2 games are a major step up from the msx1 ones, so maybe at the end I will take extra time to test which others of those can be added.
-
@Folly 12288 worked, thanks. Unfortunately, lr-mame is still too slow with Killer Instinct on the pi5. I will have to test on older mame's. It seems to be fine for the rest of the games I wanted to run like the konamigx games.
-
Good to know it worked.
Did you also try frameskipping with lr-mame ?
I tested the game on my VM on a I7 2,5Ghz macbook pro.
The game works perfectly on standalone mame.
With lr-mame (still 255 on this computer) I needed to skip 8 frames to get it to 100%.
Use F11 to see performance and use F9 to change skipping frames.I can remember that some updates in the sourcecode made lr-mame and lr-mess, sadly, much slower which started from 0251 or so.
On the other hand it's great to see that lr-mame and lr-mess are maintained again.Curious if the game will work with standalone mame on a pi5 ?
You can try to install standalone mame from binary in my script, try the aarch64,gcc10 one from stickfreaks so you don't have to install from source.
Also curious if the binary will work on the pi5. -
@bbilford83 Do you suggest a site to host the overlays? I would have to give you the video settings custom numbers to so that they match. I would upload the bin and cfg files with a text for the custom video settings requirements. connect 4 is not perfect, but it works ok. It took a long time.
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.