Development of module-script generator for lr-mess, lr-mame and mame standalone
-
@Folly I'll check my resolutions
-
@Folly if you are interested, I finished all my testing for the two sources of "Zemmix" games - your list of all korean-made MSX1 and MSX2 cartridges and the "zuul" list you found online. Just from those, I have a gamelist now with 138 games that work well and don't use the keyboard at all. I did occasionally add another game that was either a sequel or came out before a game already on my list, and those are on there too. Regardless I have added them to my google drive folder shared already (the one starting with retropie as root) with the folder structure correct for them (although this one I have gamelist in the gamelists folder rather than in the roms folder, long story as to why).
This list is definitely super under-inclusive... and more and more I think it is maybe it is as little as 1/10th of the games that would work on an actual zemmix. I wish there was some shortcut to figuring this out but I think the only way is for me to test all the roms for both msx1 and msx2 cart, which I doubt I'll do (it would take weeks and weeks). But I may at least give msx2 a try.
FYI I also took notes on games that didn't work for some reason, or have issues. Snake-It and the MSX 1 version of 1941 both only work if you disable the first joystick (so if there is some way to do it from the command line they would definitely benefit). All of the following have some flaw that won't let you get into gameplay (either stays black forever, reboots over and over, or won't let any controls work): Dr. Hello, Eagles 5, Ninja Jajamaru-Kun, Tetris (only MSX1 version, MSX2 version works perfectly).
If I do test more I will update the gamelist as I do, but I will probably switch to trying out the C64GS next. I'd also welcome any ideas on how to avoid doing it game by game but not even the Zemmix fansites seem to have any lists that would help so I think I am out of luck. Regardless, it's neat to have the system working well.
Edit: just to see I tested MSX2 "A" games, and there were four more working ones, including the original "Aleste" which is an excellent shmup. I guess that is good and bad news :(. The MSX1 library is huge compared to 2, also...
-
If we want to share a gamelist for Zemmix then it's probably the best way to separate it from MSX.
So you use the MSX2 Zemmix so I think I will call it zemmix2 which can do both msx1 and msx2 zemmix games.
For the msx1 versions I call it zemmix.I could also try and add that 1 joystick on port1 is active.
Though I have to find how to disable the one on port 2.An other way of determining the roms for zemmix would be to filter with
grep
on "zemina" seems there are also years in the roms to filter on like "1987".
Sadly the ones, not made or distributed by Zemina will not be in the list.
And all roms have to be extracted before the filter can do it's job.
Anyhow, I think this is also not a perfect way. -
The zemmix/zemmix2 detection enabled now in 260.09.
About the joystick problem, I haven't added stuff yet.
Can you also try the cpc61 Zemmix MSX2 to see if that type has the same issue ? -
@Folly said in Development of module-script generator for lr-mess, lr-mame and mame standalone:
If we want to share a gamelist for Zemmix then it's probably the best way to separate it from MSX.
So you use the MSX2 Zemmix so I think I will call it zemmix2 which can do both msx1 and msx2 zemmix games.
For the msx1 versions I call it zemmix.So you mean you want me to change the gamelist and image filepaths so they say "zemmix2" instead of "msx2"? I am happy to if you want, I just kept it in msx2 because I don't have any other msx games on my system.
-
@Folly said in Development of module-script generator for lr-mess, lr-mame and mame standalone:
About the joystick problem, I haven't added stuff yet.
Can you also try the cpc61 Zemmix MSX2 to see if that type has the same issue ?OK, I will test it soon. The cpg-120 is a more powerful system, right? I guess that it still might have an issue the older one won't. I assume I need a different cpc-61 bios too.
-
@bbilford83 said in Development of module-script generator for lr-mess, lr-mame and mame standalone:
@Folly said in Development of module-script generator for lr-mess, lr-mame and mame standalone:
About the joystick problem, I haven't added stuff yet.
Can you also try the cpc61 Zemmix MSX2 to see if that type has the same issue ?OK, I will test it soon. The cpg-120 is a more powerful system, right? I guess that it still might have an issue the older one won't.
They are both MSX2.
Indeed, could be that the cpc61 doesn't have the issue.
I know that the cpg120 also has a yamaha ym2413 music chip.
Not sure about the cpc61 yet.I assume I need a different cpc-61 bios too.
Yes
-
@Folly FYI I tested cpc61 and it works, same Zemmix load screen. In general everything is the same, except:
-
for some reason it makes the MSX1 version of 1941 work without you having to disable controller one. So that's good I guess. But Snake-It still requires you to do that on both systems. And the games I described not working above still don't work in the same ways.
-
I couldn't test the tetris MSX 1 version at the same time as I have the MSX 2 version in my system because they have the same filename. If you change the filenames it messes with mame, so I'm not sure how you could do this with both games in one system.
-
-
@bbilford83 said in Development of module-script generator for lr-mess, lr-mame and mame standalone:
@Folly FYI I tested cpc61 and it works, same Zemmix load screen. In general everything is the same, except:
Thanks for testing !
- for some reason it makes the MSX1 version of 1941 work without you having to disable controller one. So that's good I guess. But Snake-It still requires you to do that on both systems. And the games I described not working above still don't work in the same ways.
I am now testing it on Manjaro an Arch linux version using ArchyPie (the clone of RetroPie for Arch linux).
Seems I don't have this problem with 1942 on this environment.
Also with the latest tests I did on Debian11 with RetroPie also worked good with 1942.
So not sure if it's a mame issue or something else.
I had the problem earlier on in Debian11, perhaps updates resolved it.
Will test Snake-it later how it will react.
Don't mind trying to disable a joystick, will have a look if I can.- I couldn't test the tetris MSX 1 version at the same time as I have the MSX 2 version in my system because they have the same filename. If you change the filenames it messes with mame, so I'm not sure how you could do this with both games in one system.
In my script I added the option to "install the patched"/"restore to the origina"l runcommand.sh.
If you install the patched runcommand.sh and install the zemmix or whatever system again it will add "extra replace tokens" in the runcommands.
You can read the help of the option where you can install/restore it.
One replace token will add the softlist option to the runcommand when using the basename runcommand and forces to load the correct tetris.
In order to work you have to put the tetrises into the correct folder :
/roms/zemmix2/msx1_cart/tetris.zip
/roms/zemmix2/msx2_cart/tetris.zipEdit 1 :
Found that the variable is not updated when doing both options installing the patched runcommand.sh and then directly install a zemmix system.
You have to exit the script, enter it again then install the zemmix.
Will have a look later to fix this issue.Edit 2 :
Should be fixed now in 260.11. -
Can you look at my PR ?
Will try to add zemmix and zemmix2 later. -
Tested
snakeit
on my Manjaro linux.
Controls working ok on both cpc61 and cpg120.
I have to add that I have to use "space" to enter the game.
Formsx2_cart/1942
I also have to use "space".
Though I recon that you don't see using the "space" key as an issue, or do you ?Tested on Debian11 with the same result.
However both test where without connecting a joystick using the keyboard as joystick.
So now I can't move inmsx2_cart/1942
.
So the issue is still there.
Ejecting the first joystick worked for both cpc61 and cpg120.
Didn't test it again on Manjaro but I expect the same behaviour.Found here how to eject the first joystick :
https://arcade.vastheman.com/minimaws/machine/cpc61
Entering - in the joystick setting revealed that we need to add :
-gen1 ""
-gen1 '' (with single quotes will also work)Implemented it in the script version 260.10.
Edit :
Sorry, I had to remove it again in 260.12 as it doesn't work in lr-mess. -
@duglor Because of the blocky basic nature of the games, i thought the speed of the paddles in blockbuster games would be helped by a lower resolution. So all of my 4 games are set to 640x480.
-
@Folly said in Development of module-script generator for lr-mess, lr-mame and mame standalone:
Entering - in the joystick setting revealed that we need to add :
-gen1 ""
-gen1 '' (with single quotes will also work)Implemented it in the script version 260.10.
Edit :
Sorry, I had to remove it again in 260.12 as it doesn't work in lr-mess.Thank you for figuring it out and trying! I wonder if I edit that in manually into a new line of an identical emulator command in the emulators.cfg file if that would let me pick it and have it work? [Edit: it does not, that is probably what you mean that it was not working in lr-mess.]
Also thank you for the tips on how to get it to let two identical named games work, I will probably try to figure that out at least if there are other games like that. There's not much of a reason to have the first Tetris versus the upgraded one but since I am doing it for 1942 anyway I might want to.
FYI, I have been adding and testing all the MSX 2 cartridge games and a huge number of them do work properly. I am up through the G games and so far it is like close to 20 more games. I don't know if I will have the energy to do the MSX-1 list but I will at least update my game list when I am done with dispatch. And I will post if there are other games that require the joystick one to be disabled, so far to my surprise there have not been.
Edit: I found one more that is like Snake-It and still requires you to disable the first joystick to have the controls work: "Return of Jelda". It's an interesting "3D" shooter (like vector graphics but sort of isometric) that I think was an MSX2 exclusive. Also Korean-made, coincidentally I guess.
-
@duglor said in Development of module-script generator for lr-mess, lr-mame and mame standalone:
@duglor Because of the blocky basic nature of the games, i thought the speed of the paddles in blockbuster games would be helped by a lower resolution. So all of my 4 games are set to 640x480.
Thank you! I will test this out later today. Funny enough I also use 640 times 480 within retroarch but my overall setting from the command line is still the larger one so I suspect that is what it is tracking to?
-
@bbilford83 Yeah the named .opt files for the 4 microvision games have resolutions set to 640x480. My default outside those 4 is 1920x1080.
-
@duglor said in Development of module-script generator for lr-mess, lr-mame and mame standalone:
@bbilford83 Yeah the named .opt files for the 4 microvision games have resolutions set to 640x480. My default outside those 4 is 1920x1080.
Strangely for me when I change the resolution down to 640 x 480 in the runcommand menu the game doesn't boot, just puts me back in emulationstation. @Folly any idea why this would be?
-
No, don't know.
I would not mess with the resolution setting, I think there is no need for that to do.
I don't see why you should make opt files.I had a look at connect 4 on lr-mess, however I can't get it to drop and the because the resolution of the microvsn is so low we can't do anything in the mame gui.
Not sure if it is fixable.
(edit : fix in next post)For the overlays, if you really want to get started with this then I advise another structure for the overlay config files.
For connect4 I made this (remember i am on 1600x900) :
custom_viewport_height = "614" custom_viewport_width = "850" custom_viewport_x = "553" custom_viewport_y = "136" input_overlay = "~/RetroPie/roms/microvsn/media/retroarch/overlays/microvsn/connect4.cfg" aspect_ratio_index = "23"
You can see here that I moved the .png and .cfg files of @duglor to another directory.
Above config is not perfect as I can't actually see where the real lcd screen begins under the physical overlay in the picture.
So that is the difficult part.
Once we know that it should be easy for the next overlays.
(you can probably even skip the parts 1-6 and directly go to 7)
1 use gimp
2 scale your png to your resolution (doesn't need to be saved) (try to use 1920x1024 which is a good starting point if we somehow want to calculate it for other resolution)
3 go with the cursor to the places in the picture to find the custom_viewport x and y, they are obvious, the width and height need to be calculated though.
4 enter the values in the config file and call it connect4.zip.cfg and place it next to the rom.
5 when starting the game it will load the setting.
6 if it's not good then you can try and find the best values in the retroarch menu
and change them in the cfg file if it can't be saved somehow.When using the structure like this we are able to share it together with the custom gamelists, if we would like that in the future.
7 Ok, now the fine-tuning perhaps even the method of not even having to use gimp .
Just go to the RetroArch UI and fully back.
Then you can select the core-options - > video -> scaling.
Here you will find the viewport settings.
Now you can change them and change them until it fits, go back and forth with the menu key F1.
The changes are not saved in the config file so you need to write them down and place them in the config file.
Now on the next boot you will have a working overlay.
This is my config after fine-tuning ( I also added the opacity 1 so you won't see the outer screen parts ) :custom_viewport_height = "676" custom_viewport_width = "910" custom_viewport_x = "520" custom_viewport_y = "104" input_overlay_opacity = 1.000000 input_overlay = "~/RetroPie/roms/microvsn/media/retroarch/overlays/microvsn/connect4.cfg" aspect_ratio_index = "23"
Now having this file you are able to convert it from 1600x900 to 1920x1024 with the equations I gave you earlier over here.
But then the other way around from 1600x900 to 1920x1024 instead of 1920x1024 to 1600x900. -
I discovered something.
I used your mame artwork with lr-mess to try and trick lr-mess to show the original mame ui and change check and change the input settings.
However by default that didn't work so I started messing in the RetroArch UI.
With next option enabled I had both working and speed was ok !
Now I could change the X key in the input section.
Seems when change "button 11" again using the X key the X key is seen as joystick1 A button. Then it works.
Seems the "alternate redering = on" option sticks in the core options.
So it works next time when running the game again.
Perhaps I have to set that core option to enabled in my script so it works by default.
What do you think, should I add it ?
(not sure, it could break other drivers, we need to test) -
@Folly said in Development of module-script generator for lr-mess, lr-mame and mame standalone:
I discovered something.
I used your mame artwork with lr-mess to try and trick lr-mess to show the original mame ui and change check and change the input settings.
However by default that didn't work so I started messing in the RetroArch UI.
With next option enabled I had both working and speed was ok !
Now I could change the X key in the input section.
Seems when change "button 11" again using the X key the X key is seen as joystick1 A button. Then it works.
Seems the "alternate redering = on" option sticks in the core options.
So it works next time when running the game again.
Perhaps I have to set that core option to enabled in my script so it works by default.
What do you think, should I add it ?
(not sure, it could break other drivers, we need to test)This looks great compared to mine, but I already had the alternate rendering set to on! Without it the mame menu is impossible to navigate (i.e. if you are at a normal resolution rather than super small). So I don't know why it fits for yours but not for mine. Do you still have the retroarch overlay on, with the scaling/viewport settings you showed in step 7 above? I assume no because I think the location is different in my art and the one duglor made, but I don't know why it would be scaling right for you but not for me.
Edit: I went back in and confirmed, with alternate rendering on this is still how it loads for me:
-
@Folly, one more update on Zemmix. I have now tested the entire MSX 2 library to see which games work (though I didn't include the homebrew which are a ton of games). There are now a whopping 196 games in my gamelist. I will update the gamelist and art I uploaded soon but may jump into testing MSX 1 first. That will take a long time though, there are way more MSX 1 games.
As of now there are still three games that require you to manually disable joystick one to work: Return of Jelda, Snake-Z, and Yuurei-kun ("Mr. Ghost").
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.