Homebrew [Release] Vice3DS (C64 Emulator)

P34ch

Active Member
Newcomer
Joined
Apr 11, 2019
Messages
30
Trophies
0
Age
47
XP
78
Country
United Kingdom
Thank you Badda, this is what I was doing.
I just noticed the tape drive wasn’t mounted so wouldn’t work, had to mount device now it works.
Thanks again, great release :)
 

Muxi

Well-Known Member
Member
Joined
Jun 1, 2016
Messages
605
Trophies
0
Age
52
XP
2,110
Country
Germany
@Badda When switching to True Drive Emulation via the soft button, the option "Virtual device traps" should also be disabled again, as some games can not be loaded otherwise.
Currently this always has to be done manually via the options when changing
 
Last edited by Muxi,

nop90

Well-Known Member
Member
Joined
Jan 11, 2014
Messages
1,556
Trophies
0
Location
Rome
XP
3,036
Country
Italy
You're right - it's really easy. Just one small change in libSDL and it's pixel perfect: GPU_LINEAR -> GPU_NEAREST.
Will be part of v1.3

Using GPU_NEAREST will bring other problems: you can see it clearly with a resized image with vertical lines, because the resize is performed by scanlines and different lines use different offsets, so vertical lines come out a little "jagged".

Several people complained about this in my port of Handy and in the first games made with libSDL (the first version of libSDL had that setting), so in the end decided to move to GPU_LINEAR, that makes the images a little blurried, but better looking in some cases.

There is no best option, some people likes one solution, other people the other one.

Maybe adding an option to set that parameter could be the best thing to do. But there is no SDL function to do it, so you should add it to the init code making a custom version of the SDL lib.

Sorry that I can't help you with this now, I'm haveing fun coding on Atari Lynx now (just approaching 6502 ASM )
 

Badda

me too
OP
Member
Joined
Feb 26, 2016
Messages
318
Trophies
0
Location
under the bridge
XP
2,395
Country
Tokelau
Using GPU_NEAREST will bring other problems: you can see it clearly with a resized image with vertical lines, because the resize is performed by scanlines and different lines use different offsets, so vertical lines come out a little "jagged".

Several people complained about this in my port of Handy and in the first games made with libSDL (the first version of libSDL had that setting), so in the end decided to move to GPU_LINEAR, that makes the images a little blurried, but better looking in some cases.

There is no best option, some people likes one solution, other people the other one.

Maybe adding an option to set that parameter could be the best thing to do. But there is no SDL function to do it, so you should add it to the init code making a custom version of the SDL lib.

Sorry that I can't help you with this now, I'm haveing fun coding on Atari Lynx now (just approaching 6502 ASM )

That's why it should only use GPU_NEAREST if there is no scaling involved:
Code:
C3D_TexSetFilter(&spritesheet_tex, this->hidden->fitscreen ? GPU_LINEAR : GPU_NEAREST, GPU_NEAREST);

https://github.com/devkitPro/SDL/pull/36
 

Badda

me too
OP
Member
Joined
Feb 26, 2016
Messages
318
Trophies
0
Location
under the bridge
XP
2,395
Country
Tokelau
New version v1.3 is out. Here are the changes:
  • enhancement: button to show/hide the keyboard, more soft buttons below keyboard
  • enhancement: pixel perfect screen representation (required change in libSDL, thanks to @Vague Rant for the clue)
  • enhancement: paint color keys on keyboard with palette colors
  • enhancement: added help menu
  • enhancement: remember current directory for file dialogs across restarts
  • enhancement: standard soft button icons are copied to SD-card at initial startup, they can now be modified/amended by the user
  • enhancement: added some more helper menu entries in menu "Misc"
  • enhancement: added some soft button icons
  • bugfix: no more freeze when exiting via home- or power button
  • bugfix: roms added for all C64 machine types
  • bugfix: re-center display after machine type change
  • optimization: stripped some unnecessary code (vkbd, hvsc)
Important: As always - if you're updating from a previous version, make sure to delete the config directory on your SD-card /3ds/vice3ds/config before first starting the emulator. Otherwise new config settings, hotkeys and key mappings will not be updated and will not work. More specifically, I updated sdl-vicerc and sdl-hotkey-C64.vkm

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

Have Fun! :yay3ds:
 
Last edited by Badda,

Elwyndas

Well-Known Member
Member
Joined
Dec 19, 2018
Messages
197
Trophies
0
XP
680
Country
United States
Excellent work, as always! Without exaggeration, I think it's clear now that this is the best portable Vice port, by far. Perhaps the best Vice port period?
Some crazy demos will only work with true drive emulation on, but that's to be expected.
Also I noticed a small issue, when I change the ROMs to JiffyDOS, it requires a restart of Vice3DS to make it work.
My personal recommendation is to run JiffyDOS, turn True Drive emulation on, and also drive sound emulation. This is the fastest and most compatible way to run everything.
There is one thing missing though to create the perfect experience :)
I had brought this up before. On a real C64, the processes don't pause when you insert a disk in the drive.
In all emulators I'm aware of, the emulation pauses so a settings menu pops up on the screen so you can insert a new disk image. Especially in demos you can feel the disruption. You have already done away with most screen interruptions by including soft keys, which change settings on the fly (like flipping the joysticks) which in other ports require a cumbersome entering of the settings menu and the subsequent interruption of the emulation flow.
So I suggest to have an option available where the settings menu loads into the lower screen, rather than the top screen, and keep the emulation running while you switch disks or whatever. Of course any settings change that requires a reset of the C64 will then do so after hitting B.
There is really no need to have the lower screen soft buttons available, or the virtual keyboard, while you are browsing through the emulator settings.
 

Muxi

Well-Known Member
Member
Joined
Jun 1, 2016
Messages
605
Trophies
0
Age
52
XP
2,110
Country
Germany
Will the config files be created in a different location from version 1.3? It is in any case under 3ds / vice3ds no config folder to find more after the setup there. I would like to have the sdl_sym.vkm adjusted individually (because of the assignment of the buttons)

Edit:
Sorry my mistake ...... it is now available!
 
Last edited by Muxi,

Badda

me too
OP
Member
Joined
Feb 26, 2016
Messages
318
Trophies
0
Location
under the bridge
XP
2,395
Country
Tokelau
Excellent work, as always! Without exaggeration, I think it's clear now that this is the best portable Vice port, by far. Perhaps the best Vice port period?
Some crazy demos will only work with true drive emulation on, but that's to be expected.
Also I noticed a small issue, when I change the ROMs to JiffyDOS, it requires a restart of Vice3DS to make it work.
My personal recommendation is to run JiffyDOS, turn True Drive emulation on, and also drive sound emulation. This is the fastest and most compatible way to run everything.
There is one thing missing though to create the perfect experience :)
I had brought this up before. On a real C64, the processes don't pause when you insert a disk in the drive.
In all emulators I'm aware of, the emulation pauses so a settings menu pops up on the screen so you can insert a new disk image. Especially in demos you can feel the disruption. You have already done away with most screen interruptions by including soft keys, which change settings on the fly (like flipping the joysticks) which in other ports require a cumbersome entering of the settings menu and the subsequent interruption of the emulation flow.
So I suggest to have an option available where the settings menu loads into the lower screen, rather than the top screen, and keep the emulation running while you switch disks or whatever. Of course any settings change that requires a reset of the C64 will then do so after hitting B.
There is really no need to have the lower screen soft buttons available, or the virtual keyboard, while you are browsing through the emulator settings.

Thanks for the feedback :-)
As for the menu on bottom screen, I cannot promise anything but I will check into this. I believe this would actually require quite some work in the Vice SDL1-specific code. SDL1 is not quite as flexible as SLD2 ...
Another pretty challenging request from @TVL is to save the config files together with the snapshot. Apart from this, the crackling sound reappeared again with the introduction of the "hide keyboard" button.
@urherenow asked for a port of the C128 emulator - this does not seem to be very difficult but the challenge remains how to show a resolution of 640x200 on the 400x240 3DS screen (linear scaling??).
Anyways, still a couple of things to do until we can say that it is "finished" ... :D
 
  • Like
Reactions: TVL and Elwyndas

ne1weknow

Member
Newcomer
Joined
Jun 26, 2019
Messages
15
Trophies
0
Age
49
XP
287
Country
Australia
This is so good. Thanks to @Badda for your efforts with this.

I'm very much LTTP when it comes to 3DS but that's usually how I roll when it comes to gaming and that means I can snap up a very capable portable console like the New 3DSXL second hand for an awesome price.

As for Vice3DS, I was wondering if a mapping feature would be possible to allow for mapping a button to keys eg space bar?
 

Badda

me too
OP
Member
Joined
Feb 26, 2016
Messages
318
Trophies
0
Location
under the bridge
XP
2,395
Country
Tokelau
This is so good. Thanks to @Badda for your efforts with this.

I'm very much LTTP when it comes to 3DS but that's usually how I roll when it comes to gaming and that means I can snap up a very capable portable console like the New 3DSXL second hand for an awesome price.

As for Vice3DS, I was wondering if a mapping feature would be possible to allow for mapping a button to keys eg space bar?

Glad you like the port. A mapping is possible by editing the config files (it's on the ToDo list for the vice menu).
Here is a post that describes how:
https://gbatemp.net/threads/release-vice3ds-c64-emulator.534830/page-5#post-8594064
 
  • Like
Reactions: ne1weknow

ArugulaZ

Well-Known Member
Member
Joined
Sep 17, 2009
Messages
677
Trophies
1
XP
1,111
Country
United States
I'd humbly suggest a VIC-20 emulator, but that system was quickly overshadowed by the C64 and I can't reasonably expect anyone to support it. I'll have to see if the Raspberry Pi or my Vita could do this.
 

Elwyndas

Well-Known Member
Member
Joined
Dec 19, 2018
Messages
197
Trophies
0
XP
680
Country
United States
I updated to Luma 10.0.1 and all of a sudden I have random crashes of Vice 3DS. I will do further testing if anybody else can report the same. Otherwise I just blame my intense messing with the configuration.
 

Alfonx

New Member
Newbie
Joined
Jun 26, 2019
Messages
4
Trophies
0
XP
73
Country
Germany
@Badda the c64 port seems very good running. What about porting Amiga to 3ds...? Is there any chance?
And one stupid question: I don't need 3D - can i just get an new 2 DS XL (instead of 3ds) and run vice3ds (and all that other emus) ....?
(still thinking about getting me an 2DS/3DS, its just the Amiga missing...)
 
Last edited by Alfonx,

Elwyndas

Well-Known Member
Member
Joined
Dec 19, 2018
Messages
197
Trophies
0
XP
680
Country
United States
@BaddaI don't need 3D - can i just get an new 2 DS XL (instead of 3ds) and run vice3ds (and all that other emus) ....?

Yes, Vice 3DS works fine on 2DS, however, you are missing out on the emulation speed feature, which is controlled by the 3D slider. You can still adjust emulation speed by going through the menu though, or soft buttons.
 
  • Like
Reactions: Alfonx

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    K3Nv2 @ K3Nv2: Yeah forgot to turn that off