Homebrew Emulation Introducing Nintellivision - an Emulator for the DS/DSi

CrashMidnick

Well-Known Member
Member
Joined
Jul 22, 2015
Messages
323
Trophies
0
Age
39
XP
1,339
Country
France
On old DS, sound div = 16, average 46 fps

V0.8 is best. Here are the results when tested with Burger Time :

V0.8 : Sound is OK, not the best but really Ok for DS
V0.9 : BT crashes, shut down the console at boot. This version sometimes freeze at boot.
V1.0 : very very crackling sound, unplayable IMHO

Tested Astrosmash :

All versions are launchingg the game. Again V1.0 has got bad sound.

Just hacked the DSI, will try later on it.
 
  • Like
Reactions: spielvan and banjo2

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
510
Trophies
1
XP
3,459
Country
United States
You should try it with 1.0b which is not released but checked in (so you download it not from RELEASES but from the main list of files on the GitHub page). Version 1.0 was so 2 days ago (and about 10% slower). You'll find Astrosmash runs at 57FPS and Burgertime gets close to that when sound quality set to 24. There should be no crackling sound :)

20 is the new default sound div on 1.0b... and 24 sounds almost as good.

I only have a DS-LITE to try it on - but it plays pretty well on the old beast.

Still.. the DSi is where it's at.
 
Last edited by wavemotion,
  • Like
Reactions: banjo2

CrashMidnick

Well-Known Member
Member
Joined
Jul 22, 2015
Messages
323
Trophies
0
Age
39
XP
1,339
Country
France
Can you please test Burger time with your DS LITE using V0.8 (sound 16) and V1.0b (sound 16 and 20).

Please tell me what do you thing about the in game music. In V1.0b you've got some sort of crackling sound, even more at 16.

But v1.0b speed boost is amazing (57-58fps)..
 

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
510
Trophies
1
XP
3,459
Country
United States
On 1.0b with sound 16 it crackles. That's because the sound engine can't keep up. The sound engine was wrong for 0.8 - we were using 8-bit wide values instead of 16... which caused the sound to be bad even if we had the proper frame rate. With 1.0 (and 1.0b) the sound rate is now exact provided the system can run at 60FPS... which Burgertime can't... but if you change the sound div to 24 you will get close to full-speed (about 10% off) and the only sound degradation is the 10% slowdown.

I'm likely to only support 20, 24, 28 in the future.
 
Last edited by wavemotion,

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
510
Trophies
1
XP
3,459
Country
United States
Thanks for the explanation. That makes sense.
24 is almost perfect and sounds better. The work you've done is impressive ! Congrats :)
EDIT : why V1.0b is lighter by approx 300kb ?

I jettisoned the ECS support this week. It wasn't working and there is almost nothing worth playing on the computer add-on module. This also lets me support the older DS hardware for a good while longer :)

I just put up 1.0c... the sound frequencies have been reduced to just 3 options... 20, 24 and 28 (plus DISABLED).

Those numbers aren't useful ... although 20 is, in theory, better sound, it slows down the CPU such that if the frame rate drops below 60, it can start to sound bad again. It's a push-pull, yin-yang effect... but really there are only 3 clock divisors needed... 24 sounds pretty good, 20 is a little better IF you have the processing power to still render 60FPS an 28 is for those desperate to get a little more speed out at the expense of sound quality.

I also had to rework the config structure... so you will have to set your Config/Overlays again starting with the upcoming 1.1 release. Sorry.
 

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
510
Trophies
1
XP
3,459
Country
United States
Great catch, Crash! I screwed up the sound settings array.

Hot-fix 1.1a: https://github.com/wavemotion-dave/NINTV-DS

You should get 56 with gusts up to 57 on Burgertime with default settings.

Also, if you change the sound quality, you have to hit RESET to restart the emulator engine and get it all synced back up sound-wise. In the next release I'll figure out how to restart the sound engine automatically.
 
Last edited by wavemotion,

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
510
Trophies
1
XP
3,459
Country
United States
Good morning retro gamers! Going to try and get the last bit of speed needed to render Nintellivision at full speed on the older DS hardware. I don't think every game will run perfectly on the slower CPU but hopefully we can get a reasonable portion of the library playable. Then I'm going to turn my attention to better overlay support.

In the meantime, here is a portion of my INTV collection. The boxes are a bit "well loved" - but that's cool.

upload_2021-9-10_7-0-7.png
 

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
510
Trophies
1
XP
3,459
Country
United States
Okay... found the frames I need! I'm not ready for a new build as I need to integrate the two core settings (one for DSi and one for DS-LITE/PHAT) but if you want to try the optimized DS-LITE/PHAT version you can find it here:

https://github.com/wavemotion-dave/NINTV-DS

Look for NINTV-DS-LITE.NDS

For 1.2, I should have a single unified build that will be optimized properly for both DSi and DS-LITE/PHAT.

Not every game will run full-speed on the older DS hardware... but Astrosmash, AD&D Treasure of Tarmin, Burger Time, Beauty and the Beast will hold very close to 60FPS now. Intellivoice games will not run full speed on that older hardware - and that's not a priority for me (on Intellivision Lives DS they cheated and used .WAV files and screwed up some of them such that the games don't play right... for example, you can't get an alien count nor energy count in Space Spartans... whereas NINTV-DS actually emulates the SP0256 sound chip).
 

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
510
Trophies
1
XP
3,459
Country
United States
Version 1.2 is released: https://github.com/wavemotion-dave/NINTV-DS

V1.2 : 10-Sep-2021 by wavemotion-dave
  • More speed - many games now playable full speed on the DS-LITE/PHAT!
  • On the DSi, even the Intellivoice games should be running full speed now.
At this point, we might be able to turn off FRAMESKIP as a default since most of the games on the DSi don't need it anymore to get the full 60FPS. Just the Intellivoice games and a handful of more complex games require it to get that extra speed. Many games are now playable on the DS-LITE/PHAT at full speed - or close enough (Thunder Castle is 59 or so... sometimes 58... good enough that you won't notice). The Intellivoice games and some of the really complex games won't run full speed on a DS - but we're getting closer!
 

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
510
Trophies
1
XP
3,459
Country
United States
Version 1.3 is released: https://github.com/wavemotion-dave/NINTV-DS

V1.3 : 12-Sep-2021 by wavemotion-dave
* Basic JLP support for Accelerated functions and extra 16-bit RAM (hello Grail of the Gods!)
* Major internal cleanup for better memory management.
* Squeezed out a couple more frames of speed improvement.


With this new release there has been a lot of cleanup under the hood. Memory is better organized and the emulator is much less likely to crash after loading a ton of games. I've also optimized the CP-1610 branch emulation to squeeze out another couple of frames of performance - the mighty Thunder Castle is now holding 60FPS fairly consistently on the older DS hardware.

Most notable feature is the new JLP (Jean-Luc-PIC-cart) support which is new hardware for the Intellivision that brings more memory and some accelerated math functions - along with flash cart saving/restoring. I don't have the flash stuff working but the other functions exist and there are a couple of new homebrew games that take advantage of it. Grail of the Gods is worth getting - it's an open community project over at Atariage. When you load a game, instead of hitting A to load the game, hit X to load with JLP support (instructions at bottom of screen remind you of this option when picking games).
 
Last edited by wavemotion,

ColinA

Member
Newcomer
Joined
Mar 19, 2021
Messages
8
Trophies
0
Age
21
XP
30
Country
United Kingdom
Hi WM Dave, this is fantastic, absolute top-drawer! Thanks very much. This is the first or second console my bro and I had (think the first was a Pong machine). We played 'Skiing' not-stop. Is there any chance a future update could have d-pad L/R swap option in config menu (if this hasn't been added recently)? I keep turning my skier the wrong way! Thanks again :yay:
 
Last edited by ColinA,

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
510
Trophies
1
XP
3,459
Country
United States
Ask and ye shall receive!

Sometimes :)

I just checked in a daily build with d-pad controller options. You can reverse Left/Right, Up/Down or switch to "Diagonal" mode so you can actually play games like Q-Bert.

https://github.com/wavemotion-dave/NINTV-DS

Edit: just checked in a "strict 4-way" option as well which will make 4-way games like Beauty and the Beast and DK Arcade a bit more precise. In strict mode it won't register the diagonals on the D-Pad.
 
Last edited by wavemotion,
General chit-chat
Help Users
    Gbaverse @ Gbaverse: Luma3DS 10.2.1 / SYS 11.15.0-47U o2DS