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

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
451
Trophies
1
XP
3,050
Country
United States
Just checked in the last of the CP1610 peek() optimizations. This squeezes out another frame or two on the old DS hardware.. Thunder Castle sustains 60FPS and AD&D Cloudy Mountain is 60FPS until there are 2 enemies and then it can drop down to 57 (still very playable). I might jack up the sound quality on the DS now that the speed is coming along.

PS: MKF - I knew you weren't done making overlays :D
 

KimKong

Game Developer / Graphic Artist / Musician
Member
Joined
Nov 2, 2008
Messages
233
Trophies
0
Website
skrap-klan.itch.io
XP
558
Country
Norway
Many homebrews are supported. Most new homebrews come in .ROM format which has the loader information built-in. I've just checked in a version that has better parsing support for .ROMs ... A few of the newest homebrews use the JLP expanded RAM and accelerator functions which Nintellivision now supports (when loading the game, press X instead of A to load that module). Known homebrew games that need this include: Missile Domination, Grail of the Gods and Super Pixel Bros.

With the latest check-in, even the massive Intellevania (castlevania homebrew) demo will play. I'm not aware of any homebrew games that won't load ... though D1K ARCADE and D2K have a graphical glitch when the ape climbs the girders... but it doesn't affect gameplay.
Thanks! I should have read the descriptions and the chat more carefully.. But I was just a bit eager to ask around, I guess...

--------------------- MERGED ---------------------------

Welcome to the official release thread of Nintellivision!

In 1979, Mattel Electronics released their answer to the Atari 2600: Intellivision - the "Intelligent Television". This console ran with a 16-bit core processor clocked at a whopping 894Khz. The machine had a distinctive (and largely green!) color palette and an even more distinctive sound chip producing low rumbling swooshes and wooshes. Over the next few years, the company would sell almost 3 million units and produce a library of 130 official games. Since that time, hobby programmers have taken up the mantle and produce many dozens of amazing homebrew games. The system is home to unique games that never made their way to any other system - mostly due to the need for the sophisticated keypad controller. These include the amazing AD&D Cloudy Mountain, Treasure of Tarmin, Utopia, Beauty and the Beast as well as four games specifically produced for the Intellivoice add-on module.

Nintellivision looks to recreate that experience with some quality of life upgrades for your Nintendo DS and DSi.

The official releases will be posted here... starting with 1.0 released today:

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

This is an Intellivision emulator for the DS/DSi. Most games will run full-speed when run in DSi mode. For the older DS, there are some config options you can tweak to get the best performance - some games will be playable on that older hardware... some will not.

To make this work, place NINTV-DS.NDS on your flashcart or SD card which you can launch.
You must have these 3 files in the same directory as your ROM files:
grom.bin
exec.bin
knowncarts.cfg

Optional is ivoice.bin for Intellivoice games.

The knowncarts.cfg file is supplied with this emulator. The GROM and EXEC binaries are property of Intellivision and you will have to find them yourself. Don't ask. If you own Intellivision Lives (various over the years), you likely have both files already somewhere in your house.


When you load the emulator, you will see the following... you can select LOAD to select a cartridge/game to play. The emulator supports two types of files... raw binary files(.BIN or .INT) and intellicart .ROM files (where the .ROM contains the loading information - popular among newer homebrew games).
View attachment 275128


Once loaded, the configuration (or default settings if nothing yet set) is loaded with the game. You can pick your overlay and tweak key mappings and other settings in configuration.
View attachment 275129


In configuration you can map 6 of the DS keys as well as set some other options. Of note here is the 'Dual Action' controller which has the Disc/Buttons on one controller and the Keypad mapped to the other controller. The Intellivision could not distinguish keypress buttons when the disc was pressed - but this lets you get around that (in short, it lets you do things like move and shoot at the same in AD&D Cloudy Mountain). To gain more speed, you can tweak the audio settings (higher numbers are lower quality... and faster speed). You can also try the 'Aggressive Frameskip' option which is a bit dangerous in that it can cause sprite collisions to not be detected - so it works for some games and not others. But if you're desperate for more speed, give it a try.
View attachment 275131

Finally there are up to 10 high scores for every game which you can save off to keep track of your accomplishments.
View attachment 275132

Thanks to the community here for testing this one out over the last couple of weeks. I'm proud of this first release - more overlays and more features/faster speeds coming soon!
Btw.. I think I forgot to mention..... I love you!
 

wavemotion

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

V1.5 : 21-Sep-2021 by wavemotion-dave
* Better .ROM support (CVDEMO will now play)
* More CP1610 optmization squeezing out a few more frames of performance.
* Improved Frameskip and Speed options in Config area.
* Cleanup for custom overlay support.
* Restored max sound amplitudes - you can crank up the volume a bit more.
* Other minor cleanups where time permitted.

This is as fast as the emulator has ever been... on the DSi everything runs rock-solid at full speed and the Intellivoice games will sustain a full 60 Frames per Second even under extreme screen action. On many games you can safely increase the sound quality or even turn frameskip off.

I restored the max sound amplitudes to their original values. When the sound was really bad, I had reduced the max amplitudes a bit... softer crap sounds were a little better than louder crap sounds :) But now that the sound is passable... we can crank the sound back up so you get a more full range of sounds.

For the older DS-LITE/PHAT hardware, more games are playable at full speed. So much so that I've increased the sound quality a bit by default (24 instead of 28 as a default clock divisor). Intellivoice games and some of the more complicated games still struggle in the lower 50FPS on the older hardware.
 
Last edited by wavemotion,

MarioKartFan

Well-Known Member
Member
Joined
Aug 27, 2019
Messages
529
Trophies
0
XP
1,757
Country
Algeria
Here's Ms. Pac-Man for the 2015 homebrew, which I recommend purchasing. Chose not to include the light maze texture as it did not scale terribly well.

Ms. Pac-Man.png
 

Attachments

  • Ms. Pac-Man.txt
    46.1 KB · Views: 8

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
451
Trophies
1
XP
3,050
Country
United States
Not ready for a build yet, but just checked in the Save State support. You get 3 save slots per game - as soon as you save state, it creates the .SAV file for that game (52K and the single .SAV has all 3 save slots in it).

If someone could be kind enough to try the checked-in build at: https://github.com/wavemotion-dave/NINTV-DS

And let me know if it actually works for them :)

The overlays all have a new "STATES" button and you can map that to any of the DS buttons and to your custom overlays as you wish.
 

Attachments

  • savestates.png
    savestates.png
    606 KB · Views: 16

wavemotion

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

V1.7 : 24-Sep-2021 by wavemotion-dave
  • New Palette options.
  • New Brightness options.
  • New Save State options.
  • New MENU button for custom overlays (and START defaults to MENU now)
  • Other cleanup as time permitted.
It's all about options! 4 different palette's (default, muted, bright and PAL). New brightness setting for the lower screen so you can dim it down to keep focus on the top screen for gameplay. New Save State option to erase the save state on loading - it removes some of the temptation to use save states to cheat your way to a high score (I prefer to have the save states erased on loading - I use them to keep long games of Treasure of Tarmin going but if I die... it's game over).

The biggest change is for custom overlay designers (hi @MarioKartFan !) - there is a new META_MENU button that will bring up a full list of all menu items to pick from (Reset Emulator, Load Game, Configuration, etc). This way custom overlays don't have to try and find two or three of the meta menu items to include but can simply have one MENU button that will bring up the full set. This will future-proof custom overlays as any new meta menu items will be added automatically to the list of available choices. This keeps the custom overlays very clean.
 

MarioKartFan

Well-Known Member
Member
Joined
Aug 27, 2019
Messages
529
Trophies
0
XP
1,757
Country
Algeria
Nice work, Dave. Here's a bunch of remade Overlays that take advantage of META_MENU to keep things clean.
 

Attachments

  • Beauty and the Beast.txt
    52.1 KB · Views: 12
  • Beauty and the Beast.png
    Beauty and the Beast.png
    10.4 KB · Views: 18
  • BurgerTime!.png
    BurgerTime!.png
    33.3 KB · Views: 18
  • BurgerTime!.txt
    50.3 KB · Views: 11
  • Donkey Kong.png
    Donkey Kong.png
    14.5 KB · Views: 19
  • Donkey Kong.txt
    60 KB · Views: 11
  • Lock 'N' Chase.txt
    54 KB · Views: 16
  • Lock N Chase.png
    Lock N Chase.png
    12.6 KB · Views: 18
  • Dragonfire.txt
    37.1 KB · Views: 11
  • Dragonfire.png
    Dragonfire.png
    7.6 KB · Views: 19
  • Ms. Pac-Man.png
    Ms. Pac-Man.png
    9 KB · Views: 19
  • Ms. Pac-Man.txt
    42.8 KB · Views: 16
  • Mystic Castle.txt
    53.4 KB · Views: 13
  • Mystic Castle.png
    Mystic Castle.png
    13.1 KB · Views: 16
  • Bomb Squad.png
    Bomb Squad.png
    10 KB · Views: 14
  • Bomb Squad.txt
    45 KB · Views: 12

MarioKartFan

Well-Known Member
Member
Joined
Aug 27, 2019
Messages
529
Trophies
0
XP
1,757
Country
Algeria
Here's Bomb Squad. After playing a bit longer I went ahead and added the Clear button. I realized after the fact that I had omitted the text overlay when exporting to GIMP, so the numbers weren't present. Fixed in the attached.
 

Attachments

  • Bomb Squad.png
    Bomb Squad.png
    10 KB · Views: 14
  • Bomb Squad.txt
    45 KB · Views: 12
Last edited by MarioKartFan,

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
451
Trophies
1
XP
3,050
Country
United States
So the right way to save last directory would be to have an area of the configuration file that is global - this way I could track whatever I wanted... last used directory, last loaded game and I could even store a default set of custom options so that when you load a new game it will apply those global options (e.g. if you always want a button to bring up the menu, you can do so without having to custom assign it with every new game).

However, I didn't reserve any room in the current config file for this. So I can easily add it but it will cause all existing configuration to reset to defaults. Not the worst thing in the world, but I've spent some time tweaking the AD&D games to have exactly the button layouts and defaults I want...

Thinking. Thinking.... Is it worth taking this hit now?
 

CrashMidnick

Well-Known Member
Member
Joined
Jul 22, 2015
Messages
308
Trophies
0
Age
38
XP
1,260
Country
France
Well, it is up to you :)

I can live with that or use the actual default folder. I always try to keep all my emulators and roms in their respective folders just to get things organized.
 
  • Like
Reactions: banjo2

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
451
Trophies
1
XP
3,050
Country
United States
I'm taking the hit... revamping the options so that we have global options plus per-game options and integrating it all. We can now store BIOS files and .SAV files in specific directories so you can keep your rom files nice and clean... and all kinds of groovy things in the future.
 

MarioKartFan

Well-Known Member
Member
Joined
Aug 27, 2019
Messages
529
Trophies
0
XP
1,757
Country
Algeria
I'm taking the hit... revamping the options so that we have global options plus per-game options and integrating it all. We can now store BIOS files and .SAV files in specific directories so you can keep your rom files nice and clean... and all kinds of groovy things in the future.
Thanks Dave. This makes sense. I'd also suggest that you make the Start Key default to "Enter" but if we can remap it that's all that matters.
 

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
451
Trophies
1
XP
3,050
Country
United States
Thanks Dave. This makes sense. I'd also suggest that you make the Start Key default to "Enter" but if we can remap it that's all that matters.
Yep... for sure the default for START will be ENTER.
And SELECT will be MENU.

And you can change both globally (so that it's the default for all new games you load) and on a per-game basis.

And I also have a new OVL directory for overlays in case you want to keep them in a sub-dir. It's nice to have all my SAV files in /roms/intv/sav and all my Overlays in /roms/intv/ovl

New build coming... soonish. Want to make sure I don't have to change the config format yet again so I'm adding a lot of expansion possibilities. Since we will have to re-map everything, I'm also changing CUSTOM to the first non-default overlay (it was #10 because we added it really late in the development cycle so I'm taking this opportunity to correct that).

I figure at worst it will take 10 or 15 minutes to reset your configuration to the way you want it... and I think the hit will be worth the new possibilities.

Edit: new config checked in as 1.7b... full build coming in the morning after coffee and a bit more testing but I'm 99% sure this will do the job. The new global options are accessed via the normal CONFIG menu - press SELECT to access the global settings (mostly directory and bios stuff for now).
 
Last edited by wavemotion,
General chit-chat
Help Users
  • No one is chatting at the moment.
    Julie_Pilgrim @ Julie_Pilgrim: i love how the crowd still cheered when thousand miles played lmao