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

    Vice C64 Emulator now supports SDL2

    Scheduled Pinned Locked Moved Ideas and Development
    vicec64sdl2
    19 Posts 4 Posters 7.1k 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.
    • BuZzB
      BuZz administrators
      last edited by

      Thanks. I have a stashed commit from sdl2 testing from recently - currently checking it all works and will commit it.

      To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

      1 Reply Last reply Reply Quote 0
      • A
        AmigaGamer
        last edited by

        Sounds good .
        I should have mentioned in previous post my exact configure script is :

        ./configure --enable-sdlui2 --without-pulse --disable-realdevice --disable-ipv6 --disable-lame --disable-rs232 --disable-midi

        I think that defaults me to alsa sound ? as im not defining --with-sdlsound explicitly.

        not sure if theres any benefit ive always had good performance with the above using FastSID.

        1 Reply Last reply Reply Quote 0
        • BuZzB
          BuZz administrators
          last edited by

          I have some different configure parameters (differs depending on platform), but thanks. I don't disable as much as you, eg I leave ipv6 enabled etc.

          To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

          1 Reply Last reply Reply Quote 0
          • A
            AmigaGamer
            last edited by

            Yep thats why i posted mine when i noticed my testing was on ALSA. I'm recompiling with SDL sound now to make sure it plays nice with SDL2

            1 Reply Last reply Reply Quote 0
            • BuZzB
              BuZz administrators
              last edited by

              Looks like there is a minor issue with aspect ratio - if setting to "fullscreen" the "Fixed Aspect Ratio -> True" doesn't take affect unless its unset / set in the gui - saving doesn't help. Seeing if I can work around it with a default config.

              To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

              A 1 Reply Last reply Reply Quote 0
              • A
                AmigaGamer @BuZz
                last edited by AmigaGamer

                @BuZz try setting in the home folder hidden config file /home/pi/.vice/sdl-vicerc or wherever yours writes to

                VICIIFullscreen=1
                AspectRatio="1.000000"

                Im trying raspbian build with sdl sound, im currently getting sound buffer overflows :(

                1 Reply Last reply Reply Quote 0
                • BuZzB
                  BuZz administrators
                  last edited by BuZz

                  That doesn't help. It's the SDLGLAspectMode setting which isn't working unless switched from the gui.

                  To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

                  1 Reply Last reply Reply Quote 0
                  • A
                    AmigaGamer
                    last edited by

                    Thats strange.

                    Changing the Fixed aspect ratio through the menu is writing the following to the config file for me.

                    Off = SDLGLAspectMode=0
                    Custom = SDLGLAspectMode=1
                    True = Removes the SDLGL entry from the config file (default?)

                    Perhaps forcing the aspect mode to
                    SDLGLAspectMode=1
                    will then take notice of the custom
                    AspectRatio="1.000000"

                    worth a try.

                    1 Reply Last reply Reply Quote 0
                    • BuZzB
                      BuZz administrators
                      last edited by BuZz

                      I think it's fine actually (is on a fresh build on another machine). I suspect I had built it before removing an old change that we no longer want. Cheers.

                      To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

                      1 Reply Last reply Reply Quote 0
                      • BuZzB
                        BuZz administrators
                        last edited by

                        Correction, it's to do with whether fullscreen is set or not - seems though if the res is set in the config, and set to window mode, you get the correct aspect on both my widescreen and 4:3 monitor, so that should do. Looking at the sdl code, it does some checks against the fullscreen setting in the video init code as to whether to set an aspect. I may try patching the code also.

                        To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

                        1 Reply Last reply Reply Quote 0
                        • BuZzB
                          BuZz administrators
                          last edited by

                          vice is now updated.

                          To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

                          1 Reply Last reply Reply Quote 0
                          • gizmo98G
                            gizmo98 Global Moderator
                            last edited by

                            You could also test our new SDL2 dispmanx upscaling and aspect ratio settings. Dispmanx upscaling should be a little bit faster than gles upscaling.

                            1 Reply Last reply Reply Quote 0
                            • J
                              jimbo27
                              last edited by

                              Some days ago I installed the new version of Vice.

                              I now have trouble with my joystick map. The joystick map does not load on startup when launchin Vice. I have to load it manually (through the emulator menu) in order go get back my joystick bindings.
                              I did not changed my config files of Vice.

                              What did i do wrong?

                              1 Reply Last reply Reply Quote 0
                              • J
                                jimbo27
                                last edited by

                                More detail about the joystick binding bug:
                                Loading of the joymapfile does work, but it doesn't work fully anymore.

                                This is my sdl-joymap-C64.vjm:

                                # VICE joystick mapping file
                                #
                                # A joystick map is read in as patch to the current map.
                                #
                                # File format:
                                # - comment lines start with '#'
                                # - keyword lines start with '!keyword'
                                # - normal line has 'joynum inputtype inputindex action'
                                #
                                # Keywords and their lines are:
                                # '!CLEAR'    clear all mappings
                                #
                                # inputtype:
                                # 0      axis
                                # 1      button
                                # 2      hat
                                # 3      ball
                                #
                                # Note that each axis has 2 inputindex entries and each hat has 4.
                                #
                                # action [action_parameters]:
                                # 0               none
                                # 1 port pin      joystick (pin: 1/2/4/8/16 = u/d/l/r/fire)
                                # 2 row col       keyboard
                                # 3               map
                                # 4               UI activate
                                # 5 path&to&item  UI function
                                #
                                
                                !CLEAR
                                
                                # Nintendo Wii Remote Pro Controller
                                0 0 0 1 1 8
                                0 0 1 1 1 4
                                0 0 2 1 1 2
                                0 0 3 1 1 1
                                0 0 4 1 0 8
                                0 0 5 1 0 4
                                0 0 6 1 0 2
                                0 0 7 1 0 1
                                
                                0 1 0 1 1 16
                                0 1 1 1 1 16
                                0 1 2 1 1 16
                                0 1 3 1 1 16
                                0 1 4 5 Virtual keyboard
                                0 1 5 5 Statusbar
                                0 1 6 0
                                0 1 7 5 Speed settings&Warp mode
                                0 1 8 4
                                0 1 9 5 Machine settings&Joystick settings&Swap joystick ports
                                0 1 10 5 Quit emulator
                                0 1 11 0
                                0 1 12 0
                                0 1 13 1 0 1
                                0 1 14 1 0 2
                                0 1 15 1 0 4
                                0 1 16 1 0 8
                                

                                Every buttonbinding does work except all those with action_parameter 5 (e.g. 0 1 10 5 Quit emulator).
                                After launching vice all buttons does work except the buttons with action_parameter = 5. If I load the joystickmap manually through the Vice menu the button bindings work again as intended.

                                I made a test. Launching Vice and saving the joystickmap by menu results in this sdl-joymap-C64.vjm:

                                # VICE joystick mapping file
                                #
                                # A joystick map is read in as patch to the current map.
                                #
                                # File format:
                                # - comment lines start with '#'
                                # - keyword lines start with '!keyword'
                                # - normal line has 'joynum inputtype inputindex action'
                                #
                                # Keywords and their lines are:
                                # '!CLEAR'    clear all mappings
                                #
                                # inputtype:
                                # 0      axis
                                # 1      button
                                # 2      hat
                                # 3      ball
                                #
                                # Note that each axis has 2 inputindex entries and each hat has 4.
                                #
                                # action [action_parameters]:
                                # 0               none
                                # 1 port pin      joystick (pin: 1/2/4/8/16 = u/d/l/r/fire)
                                # 2 row col       keyboard
                                # 3               map
                                # 4               UI activate
                                # 5 path&to&item  UI function
                                #
                                
                                !CLEAR
                                
                                # Nintendo Wii Remote Pro Controller
                                0 0 0 1 1 8
                                0 0 1 1 1 4
                                0 0 2 1 1 2
                                0 0 3 1 1 1
                                0 0 4 1 0 8
                                0 0 5 1 0 4
                                0 0 6 1 0 2
                                0 0 7 1 0 1
                                
                                0 1 0 1 1 16
                                0 1 1 1 1 16
                                0 1 2 1 1 16
                                0 1 3 1 1 16
                                0 1 4 5 (null)
                                0 1 5 5 (null)
                                0 1 6 0
                                0 1 7 5 (null)
                                0 1 8 4
                                0 1 9 5 (null)
                                0 1 10 5 (null)
                                0 1 11 0
                                0 1 12 0
                                0 1 13 1 0 1
                                0 1 14 1 0 2
                                0 1 15 1 0 4
                                0 1 16 1 0 8
                                

                                The keybindings which results in an UI function do get lost at the moment.
                                But I think this is not RetroPie related. This seems to be a upstream bug. I will report this to http://vice-emu.sourceforge.net/

                                1 Reply Last reply Reply Quote 0
                                • J
                                  jimbo27
                                  last edited by

                                  This seems to be a known bug on upstream side:
                                  https://sourceforge.net/p/vice-emu/bugs/651/

                                  This bug appears since version 2.4.7.28292 and seems not to be resolved yet.

                                  1 Reply Last reply Reply Quote 0
                                  • J
                                    jimbo27
                                    last edited by jimbo27

                                    Upstream bug is now fixed in version r31978. See: https://sourceforge.net/p/vice-emu/bugs/796/

                                    Source head tree:
                                    https://sourceforge.net/p/vice-emu/code/HEAD/tree/

                                    Unfortunately I am not capable of doing a new version for Raspberry.
                                    Any volunteers out there? ;)

                                    1 Reply Last reply Reply Quote 0
                                    • A
                                      AmigaGamer
                                      last edited by

                                      Hi Jimbo,

                                      sorry for late response, i try to keep an eye on the vice threads since suggesting the updates- had long weekend away due to Play Expo (beer+real c64s!)
                                      Looks like this fix came just after the 2.4.31 source release https://sourceforge.net/projects/vice-emu/files/development-releases/vice-2.4.31.tar.gz/download at r31973 unfortunately. (would have made updating/testing the script really simple).
                                      Ill build the code from the svn when i get chance and see how it works/ report any new findings here

                                      1 Reply Last reply Reply Quote 1
                                      • J
                                        jimbo27
                                        last edited by

                                        Or we can just wait until 2.4.32 arrives. Perhaps in one month?

                                        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.