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 )
C3D_TexSetFilter(&spritesheet_tex, this->hidden->fitscreen ? GPU_LINEAR : GPU_NEAREST, GPU_NEAREST);
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.
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).
@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) ....?