[Release] Vice3DS (C64 Emulator)

Discussion in '3DS - Homebrew Development and Emulators' started by Badda, Mar 31, 2019.

  1. Badda
    OP

    Badda GBAtemp Regular

    Member
    5
    Feb 26, 2016
    Tokelau
    Nirvana
    New version v1.6 is out. Here are the changes:
    1. enhancement: major performance increase by optimizing and merging top (SDL) and bottom (citro3D) screen update routines
    2. enhancement: reSID sound engine support. Default engine is fastSID for O3DS, reSID for N3DS. reSID is more performance-hungry than fastSID, but sound is by far better. To change this setting, open VICE menu and go to "Machine settings" -> "Model settings" -> "SID settings" -> "SID model"
    3. enhancement: new help screen to show all current button functions (in emu and in menu)
    4. enhancement: soft button positions can now be changed by activating edit-mode (VICE menu: "Misc" -> "Edit bottom screen button positions") and dragging the soft buttons with the stylus. New positions are saved when saving settings
    5. enhancement: applying default setting will not require restart anymore
    6. enhancement: config files (vicerc, ROMs, icons etc.) are stored internally per default, files on SD card override internal files. Added menu entry in "Settings" menu to copy all internal config files to SD card.
    7. optimization: remove SDL joystick - all 3ds buttons and pad directions are now "keys" for vice3DS. These keys can be mapped to C64-joysticks via definition of keysets.
    8. optimization: define all default settings in code, no sdl-vicerc config file needed anymore
    9. optimization: optimize compiler flags for speed
    10. bugfix: eliminated sound distortions when using bottom screen (result of performance increase)
    11. bugfix: some soft buttons wouldn't unstick, fixed bug in MaxScreen softbutton
    12. multiple other small enhancements, optimizations and bug fixes
    Important: Config file handling has changed a lot in this version (see point 6 above), so if you're updating from a previous version, make sure to delete all subdirectories within the vice3ds directory /3ds/vice3ds on your SD-card before starting the emulator. Otherwise new config settings, hotkeys and key mappings will not be updated and will not work.

    https://github.com/badda71/vice3ds/releases

    Have Fun! :yay3ds:
     
    djleviticus, TVL, rommy667 and 9 others like this.
  2. thealgorithm

    thealgorithm GBAtemp Fan

    Member
    6
    Oct 27, 2015
    Great! Looking forward to try it out at some stage
     
  3. Elwyndas

    Elwyndas GBAtemp Regular

    Member
    3
    Dec 19, 2018
    United States
    It looks and sounds great. I think I found a bug.
    When you load a demo like this one
    https://csdb.dk/release/?id=170944
    which doesn't like additional devices on the IEC bus, it refuses to load and gives a warning (the software, not the emulator). However when you check, there are no additional devices connected. I reset to default config, but the problem persisted. I tried this with multiple demos that are "IEC challenged."
     
  4. Badda
    OP

    Badda GBAtemp Regular

    Member
    5
    Feb 26, 2016
    Tokelau
    Nirvana
    You need to turn on true drive emulation ... :-)
     
    Last edited by Badda, Oct 10, 2019
  5. Mikitok

    Mikitok GBAtemp Regular

    Member
    2
    Jan 14, 2019
    New Zealand
    now work on o3ds? ><
     
  6. Badda
    OP

    Badda GBAtemp Regular

    Member
    5
    Feb 26, 2016
    Tokelau
    Nirvana
    Yes, with reduced framerate
     
    Mikitok and ber71 like this.
  7. Bizzaro

    Bizzaro Newbie

    Newcomer
    1
    Oct 12, 2019
    Sweden
    Badda!

    I just had to make this account to say thank you for making this program. The 3DS is perfect as a C64 Emulator with the lower screen acting as the keyboard.
    I will be using your program way more than any other on my N3DS!

    Thank you again!

    /Bizzaro
     
    Elwyndas and Badda like this.
  8. Badda
    OP

    Badda GBAtemp Regular

    Member
    5
    Feb 26, 2016
    Tokelau
    Nirvana
    Thanks for the feedback - I'm always happy to hear that this little piece of software is appreciated :-)
    Bug reports and feature requests are always welcome as well ...
     
    Bizzaro likes this.
  9. Elwyndas

    Elwyndas GBAtemp Regular

    Member
    3
    Dec 19, 2018
    United States
    On the New 3DS, I recommend to adjust the default settings the following way, in order to get the most out of it, and also to notice when even this much improved release reaches its limits :)

    - Drive sound emulation: ON
    It has a slight impact on performance, but this feature is just too cool as it contributes to the C64 vibe we grew up with. However the emulation is not perfect. For example the legendary drive music program doesn't play the Sing Song Serenade through the floppy header :)
    https://csdb.dk/release/?id=37806

    - Refresh rate under Speed setting to 1:1
    This forces the emulator to be frame exact. In the versions prior to 1.6 the 1:1 setting would lead to distorition - not anymore. Yay! If the software still reaches its limit, you will notice audio problems, and perhaps there are ways to optimize this. With some of the more advanced demos you might run into issues.

    - SID Model: 8580 + digi boost (ReSID)
    I noticed that with this setting, even the most advanced demos like Wonderland 13 sound almost perfect, but it's driving Vice3DS to the limits. In Wonderland 13 check out the digi loaded 3rd disc for what you can get out of this emulator.
    https://csdb.dk/release/?id=151275

    - Adding additional SID's.
    Amazingly, this works also with ReSID on all SIDs. The additional chips should be on $D420 and $D440. Try out some of the 3 SID demos from Samar Productions. I recommend to connect to a real speaker system. It's amazing how much oomph the little machine produces. Demos that autodetect additional SIDs fail to do so under Vice3DS, perhaps this can be improved.
    https://csdb.dk/release/?id=132238

    - Increase sound frequency to 48,000
    I cannot really tell the difference though. Maybe it's my age.

    - Download the top demos made for the C64. These are pieces of art
    https://csdb.dk/toplist.php?type=release&subtype=(1)
     
    Last edited by Elwyndas, Oct 12, 2019
    Badda and Bizzaro like this.
  10. thealgorithm

    thealgorithm GBAtemp Fan

    Member
    6
    Oct 27, 2015
    Nice. Just a note, that using the 8580+digiboost will cause a lot of distortion on digitized playback methods that use the 8bit d418 method. e.g my 16hz ssdpcm2 demo https://csdb.dk/release/?id=162796 for that and other demo's that use similar playback method, use just resid+8580 for cleaner sound. The wonderland 13 demo uses adsr digi's so will not be affected by digiboost off or on.
     
  11. Badda
    OP

    Badda GBAtemp Regular

    Member
    5
    Feb 26, 2016
    Tokelau
    Nirvana
    Great, thanks for the tips :-)
    With regards to the drive music, I created a feature request with the VICE team. Let's see if they take it up: https://sourceforge.net/p/vice-emu/feature-requests/340/
    Is the issue with autodetecting the additional SIDs specific to vice3DS or does it exist in other vice ports as well?
     
  12. Elwyndas

    Elwyndas GBAtemp Regular

    Member
    3
    Dec 19, 2018
    United States
    I have seen reports about other ports not being able to detect it as well.

    It looks like a tricky issue
    https://www.lemon64.com/forum/viewtopic.php?t=68500&sid=80976fb2c8af74f2b94334a119ec566d
     
    Last edited by Elwyndas, Oct 14, 2019
  13. Badda
    OP

    Badda GBAtemp Regular

    Member
    5
    Feb 26, 2016
    Tokelau
    Nirvana
    Quote from Querino on sourceforge:
    actually the one you link does work.


    load and run, press "space", the drive is only clicking and "ready." turns up.
    now type "run + enter", drive sound works. :)


    ... you need to enable true drive emulation first, of course :-)
     
  14. Elwyndas

    Elwyndas GBAtemp Regular

    Member
    3
    Dec 19, 2018
    United States
    OMG it really works. So I guess VICE 3DS is now perfect...
     
  15. Badda
    OP

    Badda GBAtemp Regular

    Member
    5
    Feb 26, 2016
    Tokelau
    Nirvana
    lol ... yeah, except that emu will not keep running when in menu ... :P
     
  16. Elwyndas

    Elwyndas GBAtemp Regular

    Member
    3
    Dec 19, 2018
    United States
    That will be fixed in release 2.0, "Bloody Mary".
     
  17. Badda
    OP

    Badda GBAtemp Regular

    Member
    5
    Feb 26, 2016
    Tokelau
    Nirvana
    good idea ... probably :grog:
    [​IMG]
    Code:
    // drunk, fix later
     
    Elwyndas likes this.
  18. Badda
    OP

    Badda GBAtemp Regular

    Member
    5
    Feb 26, 2016
    Tokelau
    Nirvana
    Version 2 release candidate 1 is out ...
    Menu code was completely revamped in order to enable emulation to continue running while menu is active. Apart from this, the menu moved to bottom screen and is completely useable with the stylus. This required a lot of changes: I had to move the complete menu handling to a different thread - thereby getting myself into having to deal with concurrency and all its ugly pitfalls (race conditions etc.). Thats why I need some help in testing ...

    Here are the changes:
    • enhancement: vice menu moved from top to bottom screen, emulation does not pause anymore while menu is open
    • enhancement: vice menu now useable with stylus
    • enhancement: customizeable C64 keyboard command shortcuts
    • optimization: changed button functions in menu: map hotkey with R-button; L-button to use the emulation while menu is active
    • bugfix: removed monitor from cpujam messagebox
    • bugfix: sometimes d64 files were corrupted after autostart
    • multiple other small enhancements, optimizations and bug fixes
    https://github.com/badda71/vice3ds/releases

    Have fun and happy testing. I'm looking forward to feedback and bug reports :yay3ds:
     
    Last edited by Badda, Oct 25, 2019
  19. Elwyndas

    Elwyndas GBAtemp Regular

    Member
    3
    Dec 19, 2018
    United States
    OMG
    you did it! This is the ultimate release! All the other handheld retroarchs and whatevers are paling now. Actually this is the best implementation of VICE for sure. It's so neat to have multiple controllers at your finger tips, easy switching between options, a keyboard, and so on. It beats the desktop emulators where you need to connect controllers and start an antiquated windows menu that pauses the emulation. The real C64 also doesn't stop running when you insert a disc into the floppy drive! True emulation should account for this, and Vice3DS does. Huge step! In fact this should inspire 3DS ports for other emulators to follow suit. I remember that seeing the ZX Spectrum emulator for DS (ZXDS, by Patrik Rak) was a great inspiration. It's the only other emulator I know that makes good use of the double/touch screen. Perhaps give them some credit. I certainly got some ideas from it that I posted here. If anybody is interested in running ZXDS on the 3DS, I got it to run by starting it through TwiLight Menu++ from one of those hacker carts. I will post detailed instructions if anybody cares.
     
    Last edited by Elwyndas, Oct 25, 2019
    djleviticus and Badda like this.
  20. Muxi

    Muxi GBAtemp Fan

    Member
    6
    Jun 1, 2016
    Germany
    Good work! I have found a bug that leads to crashes (freezing) of vice3DS v2 RC1. If the "Edit bottom screen button positions" option is to be deactivated again, vice3DS always hangs up.
     
    Last edited by Muxi, Oct 25, 2019
    Badda likes this.
Quick Reply
Draft saved Draft deleted
Loading...