RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    Development of module-script generator for lr-mess, lr-mame and mame standalone

    Scheduled Pinned Locked Moved Ideas and Development
    developmentlr-messmamelr-mamescripts
    2.2k Posts 36 Posters 6.3m Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • F
      Folly @DTEAM
      last edited by Folly

      @DTEAM

      I haven't tried Pengo, indeed it's a different config layout.
      We should do the other regular ones first.
      Then we can always do Pengo later, If we want.

      Rectification :
      We should use the filename Bezel.png in an artwork file and make sure there is no Background.png in the same file.

      1 Reply Last reply Reply Quote 0
      • F
        Folly @DTEAM
        last edited by Folly

        @DTEAM

        When you create a MAME artwork, it is not affected by the shape or size of the screen compared to "Overlays in Retroarch"

        Indeed you are correct about that.
        The overlays do not always align in different resolutions.
        But I think it's a nice feature and perhaps the Bezels can be adjusted so the will work on different resolutions.

        Anyhow I added it in the script.
        I have still 2 separate lines for Background overlays and Bezel overlays.
        So nobody is forced to create the bezels if they don't want to.

        I think you can already add just a zip file with a bezel inside to test.
        I renamed cgalaxn.png to Bezel.png and zipped that as cgalaxn.zip.
        The file had no effect on mame.
        So we can just test for lr-mess only at first and then create it later for mame, If you know what I mean.

        My configs will also have this (because the Background overlays have that too) :
        input_overlay_scale = 1.000000

        Edit :
        It should be possible for different resolutions we can also create bezels for specific resolutions and call it for example Bezel-1600x900.png and make the options available for these different resolutions

        https://github.com/FollyMaddy/RetroPie-Share/commit/a05e12ce7b8014cba7cbd5716b2a77e34ba29b8a

        DTEAMD 1 Reply Last reply Reply Quote 0
        • F
          Folly
          last edited by Folly

          @DTEAM

          @Folly said in Development of module-script generator for lr-mess and mame standalone:

          The overlays do not always align in different resolutions.

          I found that this is basically a 16:9 / 4:3 problem.
          The bezels from Jimmy are 16:9 and will work on different resolutions which are 16:9.

          So for lr-mess we probably just need 2 different bezels, one for 16:9 and one for 4:3.

          What resolution or screen-ratio do you think you use ?

          I use 800x600 (4:3) very often and then I have the same problem when using a 16:9 picture.
          You will notice with cgalaxy :
          issue_resized.png

          Can you check this one for me (cut off borders to match 4:3) :
          Bezel-4by3.png

          The script is accommodated to handle both now :
          https://github.com/FollyMaddy/RetroPie-Share/commit/f17089a730147facd41d79306410316ddabbd69b

          1 Reply Last reply Reply Quote 0
          • DTEAMD
            DTEAM @Folly
            last edited by DTEAM

            @Folly said in Development of module-script generator for lr-mess and mame standalone:

            What resolution or screen-ratio do you think you use ?

            I'm using a 5" touchscreen (800x480) . This is non-standard for large screens, but standard for small screens. This is why I prefer to use "MAME artworks"

            With your script, are you able to run Alien Chase? I can't run 25% of MAME/lr-mess games in classich. I will check if the problem is on my side.

            F 2 Replies Last reply Reply Quote 0
            • F
              Folly
              last edited by Folly

              @DTEAM

              I will test that game when I am on my Pi, now on a boot traveling for my work.
              On my macbook here it works. (not really know how to play though)

              Are you at least willing to combine the lr-mess bezels into the mame artwork files and place them on the google-drive ?
              Others will enjoy that for sure, including me ;-)

              This is the first one :
              https://ufile.io/ph2miz4n
              (be sure you don't overwrite existing files if they are already there)

              1 Reply Last reply Reply Quote 0
              • F
                Folly @DTEAM
                last edited by Folly

                @DTEAM said in Development of module-script generator for lr-mess and mame standalone:

                With your script, are you able to run Alien Chase?

                Yes it does work, at least I think it does.
                It's a tricky game though.
                I had to find the manual and read that a bit on how to play.
                Didn't play long but it seems it works ok.

                Found a bunch of manuals here :
                https://www.handheldmuseum.com
                https://www.handheldmuseum.com/Manuals/index.html

                Btw.
                If it doesn't work then it's probably not due to my script.
                You can post your loader-line from the first lines of the runcommand.log so I can compare and test.
                I think you have the same file as I have but check if you have the same file as I have :

                pi@raspberrypi:~/RetroPie/roms/classich $ sha1sum alnchase.7z
                0f6a2b9d157b96bf41c134675e9841d459b4cd3b  alnchase.7z
                

                From mame-0.231-merged

                1 Reply Last reply Reply Quote 0
                • F Folly referenced this topic on
                • F Folly referenced this topic on
                • F
                  Folly @DTEAM
                  last edited by Folly

                  @DTEAM @jamrom2

                  If you both are interested, I added some interesting stuff in the script :

                  • ability to install lr-mame
                  • ability to detect systems between arcade or non-arcade
                  • use arcade/non-arcade detection to use appropriate libretto core in generated module-script
                  • add ability to install arcade categories
                  • ability to push a rom index file to the appropriate roms directory (for the handheld/p&p/categories) the file will contain the rom-names associated with that category.
                  • detecting all Atari ST/STE/MEGA STE types as retro pie name “atarist”
                    ( for the future, the systems don't work very good )
                  • categories are also added in the restricted part

                  I updated the animated gif in the first post with the latest version.
                  I found a nice way to speed up the process of making an animated gif quickly.

                  1 Reply Last reply Reply Quote 1
                  • DTEAMD
                    DTEAM @Folly
                    last edited by DTEAM

                    @Folly said in Development of module-script generator for lr-mess and mame standalone:

                    @DTEAM

                    I have no problem with classich, everything seems ok.
                    I think it's a problem on your side.
                    Can you check the runcommand.log ?

                    A week ago I had a problem with classich.
                    The rom files I had were 0kb, that was my problem back then.

                    My files seems to be good. Here's my runcommand:

                    Parameters: 
                    Executing: /opt/retropie/emulators/mame/mame -rompath /home/pi/RetroPie/BIOS/mame\;/home/pi/RetroPie/roms/classich -v -c -ui_active -statename classich/"ginv2000" -autoframeskip  "ginv2000"
                    Attempting load of mame.ini
                    Parsing mame.ini
                    Attempting load of mame.ini
                    Parsing mame.ini
                    Attempting load of horizont.ini
                    Attempting load of console.ini
                    Attempting load of source/hh_tms1k.ini
                    Attempting load of ginv2000.ini
                    Starting plugin hiscore...
                    Starting plugin data...
                    Attempting load of mame.ini
                    Parsing mame.ini
                    Attempting load of mame.ini
                    Parsing mame.ini
                    Attempting load of horizont.ini
                    Attempting load of console.ini
                    Attempting load of source/hh_tms1k.ini
                    Attempting load of ginv2000.ini
                    Available videodrivers: x11 KMSDRM RPI dummy 
                    Current Videodriver: KMSDRM
                    	Display #0
                    		Renderdrivers:
                    			    opengl (0x0)
                    			 opengles2 (0x0)
                    			  opengles (0x0)
                    			  software (0x0)
                    Available audio drivers: 
                    	pulseaudio          
                    	alsa                
                    	sndio               
                    	dsp                 
                    	disk                
                    	dummy               
                    Build version:      0.242 (mame0242)
                    Build architecure:  
                    Build defines 1:    SDLMAME_UNIX=1 SDLMAME_X11=1 SDLMAME_LINUX=1 
                    Build defines 1:    LSB_FIRST=1 
                    SDL/OpenGL defines: SDL_COMPILEDVERSION=2010 USE_OPENGL=1 
                    Compiler defines A: __GNUC__=8 __GNUC_MINOR__=3 __GNUC_PATCHLEVEL__=0 __VERSION__="8.3.0" 
                    Compiler defines B: __unix__=1 
                    Compiler defines C: __USE_FORTIFY_LEVEL=0 
                    Enter init_monitors
                    Adding monitor screen0 (800 x 480)
                    Leave init_monitors
                    Enter sdlwindow_init
                    Using SDL native texturing driver (SDL 2.0+)
                    Loaded opengl shared library: <default>
                    
                    Hints:
                    	SDL_FRAMEBUFFER_ACCELERATION             (NULL)
                    	SDL_RENDER_DRIVER                        (NULL)
                    	SDL_RENDER_OPENGL_SHADERS                (NULL)
                    	SDL_RENDER_SCALE_QUALITY                 (NULL)
                    	SDL_RENDER_VSYNC                         (NULL)
                    	SDL_VIDEO_X11_XVIDMODE                   (NULL)
                    	SDL_VIDEO_X11_XINERAMA                   (NULL)
                    	SDL_VIDEO_X11_XRANDR                     (NULL)
                    	SDL_GRAB_KEYBOARD                        (NULL)
                    	SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS         (NULL)
                    	SDL_IOS_IDLE_TIMER_DISABLED              (NULL)
                    	SDL_IOS_ORIENTATIONS                     (NULL)
                    	SDL_XINPUT_ENABLED                       (NULL)
                    	SDL_GAMECONTROLLERCONFIG                 (NULL)
                    	SDL_JOYSTICK_ALLOW_BACKGROUND_EVENTS     (NULL)
                    	SDL_ALLOW_TOPMOST                        (NULL)
                    	SDL_TIMER_RESOLUTION                     (NULL)
                    	SDL_RENDER_DIRECT3D_THREADSAFE           (NULL)
                    	SDL_VIDEO_ALLOW_SCREENSAVER              (NULL)
                    	SDL_ACCELEROMETER_AS_JOYSTICK            (NULL)
                    	SDL_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK   (NULL)
                    	SDL_VIDEO_WIN_D3DCOMPILER                (NULL)
                    	SDL_VIDEO_WINDOW_SHARE_PIXEL_FORMAT      (NULL)
                    	SDL_VIDEO_MAC_FULLSCREEN_SPACES          (NULL)
                    	SDL_MOUSE_RELATIVE_MODE_WARP             (NULL)
                    	SDL_RENDER_DIRECT3D11_DEBUG              (NULL)
                    	SDL_VIDEO_HIGHDPI_DISABLED               (NULL)
                    	SDL_WINRT_PRIVACY_POLICY_URL             (NULL)
                    	SDL_WINRT_PRIVACY_POLICY_LABEL           (NULL)
                    	SDL_WINRT_HANDLE_BACK_BUTTON             (NULL)
                    Leave sdlwindow_init
                    Enter sdl_info::create
                    Leave renderer_sdl2::create
                    window: using renderer opengl
                    renderer: flag SDL_RENDERER_ACCELERATED
                    renderer: flag SDL_RENDERER_TARGETTEXTURE
                    Audio: Start initialization
                    Audio: Driver is alsa
                    Audio: frequency: 44100, channels: 2, samples: 512
                    sdl_create_buffers: creating stream buffer of 22528 bytes
                    Audio: End initialization
                    Keyboard: Start initialization
                    Input: Adding keyboard #0: System keyboard (device id: System keyboard)
                    Keyboard: Registered System keyboard
                    Keyboard: End initialization
                    Mouse: Start initialization
                    Input: Adding mouse #0: System mouse (device id: System mouse)
                    Mouse: Registered System mouse
                    Mouse: End initialization
                    Joystick: Start initialization
                    Input: Adding joystick #0: TeensyduinoKeyboard/Mouse/Joystick (device id: 03000000c01600008204000011010000)
                    Joystick: Teensyduino Keyboard/Mouse/Joystick [GUID 03000000c01600008204000011010000]
                    Joystick:   ...  5 axes, 32 buttons 1 hats 0 balls
                    Joystick:   ...  Physical id 0 mapped to logical id 1
                    Joystick:   ...  Does not have haptic capability
                    Input: Adding joystick #1: TeensyduinoKeyboard/Mouse/Joystick (device id: 03000000c01600008204000011010000)
                    Joystick: Teensyduino Keyboard/Mouse/Joystick [GUID 03000000c01600008204000011010000]
                    Joystick:   ...  10 axes, 148 buttons 1 hats 0 balls
                    Joystick:   ...  Physical id 1 mapped to logical id 2
                    Joystick:   ...  Does not have haptic capability
                    Joystick:   ...  Has 148 buttons which exceeds supported 32 buttons
                    Joystick: End initialization
                    Searching font Liberation Sans in -. path/s
                    font Liberation Sans|Regular is not TrueType or BDF, using MAME default
                    unzip: opened archive file /home/pi/RetroPie/roms/classich/ginv2000.zip
                    unzip: /home/pi/RetroPie/roms/classich/ginv2000.zip couldn't find ECD
                    unzip: opened archive file /home/pi/RetroPie/roms/classich/ginv2000.zip
                    unzip: /home/pi/RetroPie/roms/classich/ginv2000.zip couldn't find ECD
                    unzip: opened archive file /home/pi/RetroPie/roms/classich/ginv2000.zip
                    unzip: /home/pi/RetroPie/roms/classich/ginv2000.zip couldn't find ECD
                    unzip: opened archive file /home/pi/RetroPie/roms/classich/ginv2000.zip
                    unzip: /home/pi/RetroPie/roms/classich/ginv2000.zip couldn't find ECD
                    mp1604 NOT FOUND (tried in ginv2000)
                    tms1100_common2_micro.pla NOT FOUND (tried in ginv2000)
                    tms1100_ginv2000_output.pla NOT FOUND (tried in ginv2000)
                    ginv2000.svg NOT FOUND (tried in ginv2000)
                    Fatal error: Required files are missing, the machine cannot be run.
                    sdl_kill: closing audio
                    Enter sdlwindow_exit
                    Leave sdlwindow_exit
                    
                    
                    
                    

                    Do you see something

                    F 2 Replies Last reply Reply Quote 0
                    • F
                      Folly @DTEAM
                      last edited by Folly

                      @DTEAM said in Development of module-script generator for lr-mess and mame standalone:

                      mp1604 NOT FOUND (tried in ginv2000)
                      tms1100_common2_micro.pla NOT FOUND (tried in ginv2000)
                      tms1100_ginv2000_output.pla NOT FOUND (tried in ginv2000)
                      ginv2000.svg NOT FOUND (tried in ginv2000)

                      You need a good ginv2000.7z

                      Look here :
                      https://retropie.org.uk/forum/topic/28345/old-computer-appreciation-thread/1336

                      You can select it in the first that saves in BIOS/mame or the second that saves in RetroPie/downloads.
                      And copy it later to classich.

                      Or do all from the categories that are written directly in classich.
                      2022-04-04-205837_1600x900_scrot.png

                      Mine works ! (I used mame 0241)

                      1 Reply Last reply Reply Quote 0
                      • F
                        Folly @DTEAM
                        last edited by Folly

                        @DTEAM said in Development of module-script generator for lr-mess and mame standalone:

                        Build version: 0.242 (mame0242)

                        You also have the newest mame.
                        This version might need a new romset for ginv2000

                        If thats the problem you have to look in the hash table and check the finenames and the checksuns and repack the file again.

                        EDIT:
                        Tested my version on 0242 and it worked.
                        The proper way to check the roms is (I think you can't find it in the hash) :

                        pi@raspberrypi:~ $ /opt/retropie/emulators/mame/mame -listroms ginv2000
                        ROMs required for driver "ginv2000".
                        Name                                   Size Checksum
                        mp1604                                 2048 CRC(f1646d0b) SHA1(65601931d81e3eef7bf22a08de5a146910ce8137)
                        tms1100_common2_micro.pla               867 CRC(7cc90264) SHA1(c6e1cf1ffb178061da9e31858514f7cd94e86990)
                        tms1100_ginv2000_output.pla             365 CRC(520bb003) SHA1(1640ae54f8dcc257e0ad0cbe0281b38fcbd8da35)
                        ginv2000.svg                         374443 CRC(a4ce1e6d) SHA1(57d9ff05d634a8d495b9d544a2a959790cd10b6b)
                        
                        DTEAMD 1 Reply Last reply Reply Quote 1
                        • DTEAMD
                          DTEAM @Folly
                          last edited by DTEAM

                          @Folly
                          The rom is fine. When I put this rom in the JAKKS folder, it works. I don't know what's going on with my classich folder. Roms with MAME artwork and retroarch overlays (at the same time) do not work. I'll see what I can do. The problem is 100% on my side, not related to the script.

                          Solved: It was my emulators.cfg file in /opt/retropie/configs/all . It seems it was corrupted. I deleted everything inside. Now it's fine and I'll start to do MAME artworks (MAME format) for classich with @JIMMYFROMTHEBAY bezels if he agrees.

                          F J 3 Replies Last reply Reply Quote 1
                          • F
                            Folly @DTEAM
                            last edited by

                            @DTEAM

                            Glad you found the problem ;-)

                            1 Reply Last reply Reply Quote 0
                            • F
                              Folly @DTEAM
                              last edited by Folly

                              @DTEAM

                              I am thinking of adding DEMO tutorials inside the script.
                              I found the program called asciinema.
                              I used it for creating the base for the new animated gif in the first post.

                              The nice thing about asciinema is that it creates a text based file which doesn't create huge files and asciinema can also be used to play the files.
                              I think ascii-art and ascii-art movies could also be possible this way.

                              You can have a look here :
                              https://asciinema.org

                              Here is a nice one :

                              DTEAMD 1 Reply Last reply Reply Quote 0
                              • F
                                Folly
                                last edited by Folly

                                @mitu

                                Is there a possibility to add asciinema .cast files as an attachment inside a post ?
                                I tried some things but they didn't work.
                                I now convert it from .cast to .gif to get a good result.

                                Here you will find the docs :
                                https://asciinema.org/docs/usage

                                Do you have an idea ?

                                mituM 1 Reply Last reply Reply Quote 0
                                • DTEAMD
                                  DTEAM @Folly
                                  last edited by DTEAM

                                  @Folly said in Development of module-script generator for lr-mess and mame standalone:

                                  You can have a look here :
                                  https://asciinema.org/

                                  I looked at the hyperlink with the animation videos. It looks very good. It doesn't look friendly user.. for me. A learning curve seems to be necessary.

                                  1 Reply Last reply Reply Quote 0
                                  • mituM
                                    mitu Global Moderator @Folly
                                    last edited by

                                    @Folly said in Development of module-script generator for lr-mess and mame standalone:

                                    Is there a possibility to add asciinema .cast files as an attachment inside a post ?
                                    I tried some things but they didn't work.

                                    You can post the URL to the Asciicast now and it will be embedded. The forum has an 'embedding' plugin that does some translation to make it look nice, but Asciinema wasn't one of the supported sites. Should be now (see your previous post).

                                    F 1 Reply Last reply Reply Quote 1
                                    • F
                                      Folly @mitu
                                      last edited by Folly

                                      @mitu

                                      I used the share button to find what to insert and also found the better docs for this :
                                      https://asciinema.org/docs/embedding

                                      I used the markdown now, it works but the "video" is displayed outside the post.

                                      Is it also possible to add script tags to play it inside the post ?

                                      Markdown :

                                      mituM 1 Reply Last reply Reply Quote 0
                                      • mituM
                                        mitu Global Moderator @Folly
                                        last edited by mitu

                                        @Folly said in Development of module-script generator for lr-mess and mame standalone:

                                        I used the markdown now, it works but the "video" is displayed outside the post.

                                        There was an error in my configuration. Now you should be able to post just the link and a player should be embedded automatically, you don't need any code added. Just provide the link to the cast as https://asciinema.org/a/<CAST_ID>.

                                        Reload the page and look at your first post. Actually your first post has a gif embedded. Add the cast link under it and see how it works.

                                        F 1 Reply Last reply Reply Quote 1
                                        • F
                                          Folly @mitu
                                          last edited by Folly

                                          @mitu

                                          I don't have the link right now of my cast.
                                          Basically, I reloaded the page and accordingly the link of the matrix should play now, if I understood correctly.
                                          Or am I wrong ?

                                          I will do some tests later, Have to go to work now ;-)

                                          mituM 1 Reply Last reply Reply Quote 0
                                          • mituM
                                            mitu Global Moderator @Folly
                                            last edited by

                                            @Folly said in Development of module-script generator for lr-mess and mame standalone:

                                            Basically, I reloaded the page and accordingly the link of the matrix should play now, if I understood correctly.

                                            Yes, doesn't it play already ?

                                            F 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            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.