[Release] Vice3DS-C128 (C128 Emulator)

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

  1. Badda
    OP

    Badda GBAtemp Regular

    Member
    5
    Feb 26, 2016
    Tokelau
    Nirvana
    vice3ds128.png

    This is a port of the VICE C128 emulator to 3DS.
    VICE - the Versatile Commodore Emulator - http://vice-emu.sourceforge.net/

    As a spin-off to the vice3DS C64-emulator, I ported the C128 emulator as well. Alas, the poor 3DS (even the N3DS) is not powerful enough to run the C128 emulator at an acceptable speed (especially in VDC-mode, better known as 80-colums mode, which is painfully slow - VIC-mode runs so so).
    The UI and button mappings are mostly the same as the C64 emulator. Only the soft keyboard has slightly changed and there is a new soft button to switch between 40- and 80-columns mode (which simulates the hardware switch on your C128 monitor).
    Currently, only .3dsx-file is available. If anybody finds this emulator useful, I will create a .cia and .3ds file as well.

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

    Current version is v0.1

    Installation

    Copy .3dsx file to /3ds/vice3ds on your SD card and launch in HBL
    Important: If you have an older version (before 1.5) of vice3DS C64-emulator installed already, make sure to delete the config directory on your SD-card /3ds/vice3ds/config before starting the emulator. Otherwise new config settings, hotkeys and key mappings will not be updated and will not work.

    Known bugs:
    • frequently crashes when switching to/from 80 columns mode
    • crash when switching to/from fullscreen many times
    • sound distortions when using bottom screen, caused by sound buffer underruns
    • 80-columns mode runs VERY slow, sound is garbled due to permanent buffer underruns
    If anybody wants to help fix these bugs, you are welcome to help me with a pull request on github :D

    Thanks to:
     
    Last edited by Badda, Aug 7, 2019
    Garcimak, Elwyndas, dude1709 and 8 others like this.
  2. Mikitok

    Mikitok GBAtemp Regular

    Member
    2
    Jan 14, 2019
    New Zealand
    New 3DS again TT
     
  3. lone_wolf323

    lone_wolf323 GBAtemp Addict

    Member
    9
    May 27, 2011
    Canada
    what do you expect? The old consoles have shit for power. if people find it slow on new consoles. the old ones are not going to stand a chance.
     
  4. Vague Rant

    Vague Rant Deceptively cute

    Member
    7
    Aug 7, 2008
    Melbourne
    This is really exciting stuff; I grew up with the C64 but never had a 128, this seems like the perfect time to jump on board.

    I don't have any 128 software yet, so I tried loading up a few C64 games since I recall the 128 was backward-compatible, but they all seem to crash on a blocky green screen. Is there anything I can do on my end about that, or is that a non-starter?

    Regardless, thanks so much for making this. :) Off to check out what 128 games were good!
     
  5. Badda
    OP

    Badda GBAtemp Regular

    Member
    5
    Feb 26, 2016
    Tokelau
    Nirvana
    Maybe you have to hold down the CBM-key during reset? This way, the C128 will boot into C64 mode.
    Actually, I never owned a C128 myself, too. Maybe @urherenow can give some clues?
     
    Last edited by Badda, Aug 8, 2019
    Vague Rant likes this.
  6. Vague Rant

    Vague Rant Deceptively cute

    Member
    7
    Aug 7, 2008
    Melbourne
    Aha! Yep, this does the trick. Zeropaige's Super Mario Bros. C64 port correctly identifies the system as a C128. Thank you! :D
     
    Zurdonx likes this.
  7. DjoeN

    DjoeN Captain Haddock!

    Member
    10
    Oct 21, 2005
    Belgium
    Somewhere in this potatoland!
    It really is amazing that the N3DS can handle GBA/SNES/MD etc... emulation, but can't even handle a C128 :wacko::rofl2:
     
  8. Vague Rant

    Vague Rant Deceptively cute

    Member
    7
    Aug 7, 2008
    Melbourne
    Been reading about the C128 a bit more and just found another tidbit: you can switch to C64 mode at any time from the BASIC shell by typing "GO64".

    EDIT: I figured I should expand on why anybody would use a Commodore 128 emulator to play Commodore 64 games in backward-compatibility mode when there's already a perfectly good Commodore 64 emulator. The answer is pretty simple: both systems use 6502-based CPUs, but while the C64's is clocked at 1MHz, the C128 has a variable clockspeed that can run at 1MHz or, for C128 and C128-enhanced games, 2MHz. Because of this, there are several C64 games which take advantage of the bump to the 128's hardware to run better:

    The disk for Qix had a normal C64 version on side A, and a C128-enhanced version on side B. Ultima V has no music on the C64, but play it in C64 mode on a C128 and it uses the extra processing time to have music playing throughout the game. This also extends to homebrew, like Zeropaige's Super Mario Bros. port, which runs pretty poorly on a stock C64 but can be enhanced by CPU addons or, drumroll, the C128. There's still some slowdown, but it's really night and day.
     
    Last edited by Vague Rant, Aug 9, 2019
    Garcimak and Badda like this.
  9. urherenow

    urherenow GBAtemp Psycho!

    Member
    9
    Mar 8, 2009
    United States
    Japan
    WoW! All the really good stuff happens when I'm out to sea. Can hardly wait to dig into this one. Perhaps I'll upload a disk image of some music I transposed into C128 BASIC when I was young :P Gotta test it out on this first though.
     
  10. Elwyndas

    Elwyndas GBAtemp Regular

    Member
    4
    Dec 19, 2018
    United States
    Last edited by Elwyndas, Dec 3, 2019
  11. Computer_Freak_2004

    Computer_Freak_2004 Member

    Newcomer
    2
    Jun 1, 2019
    Germany
    Is it possible to port the Vice-VIC-20 Emulator to the 3DS as well? I think this should run at a good framerate on the Old3DS because I get around 2000% speed when in warp mode in the Vice-VIC-20 emulator on my PC. But on Vice-C64 I only get around 300% speed in warp mode.
     
Quick Reply
Draft saved Draft deleted
Loading...