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

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
452
Trophies
1
XP
3,053
Country
United States
Nice custom overlay! Here's Thunder Castle cleaned up- it's the title screen reduced and with color muting so as not to be more eye catching than the game screen. Rename .txt to .ovl for your game. I map START to KEY_ENTER so that after selecting 1P or 2P I can start the game. You could add a new custom hot-spot in center of screen to do the same...
 

Attachments

  • Thunder Castle.txt
    43 KB · Views: 16
  • Thunder Castle.png
    Thunder Castle.png
    36 KB · Views: 24
Last edited by wavemotion,

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
452
Trophies
1
XP
3,053
Country
United States
Since that's using the Intellivision Productions overlay (elements anyway), I would prefer not to share my personal version. But it's easy to create. Someone over at Atariage took high-res scan of the two AD&D games overlays. Just bring them into GIMP and re-arrange the 3-across as 4-across and then you can use this mapping:


// -----------------------------------------------------------------
// AD&D Cloudy Mountain Overlay for Nintellivision
// -----------------------------------------------------------------
.ovl 87, 136, 20, 79, //KEY_1
.ovl 146, 192, 20, 79, //KEY_2
.ovl 201, 253, 20, 77, //KEY_3
.ovl 87, 152, 81, 130, //KEY_4
.ovl 255, 255, 255, 255, //KEY_5
.ovl 191, 251, 82, 130, //KEY_6
.ovl 88, 136, 133, 187, //KEY_7
.ovl 144, 195, 132, 192, //KEY_8
.ovl 201, 254, 132, 189, //KEY_9
.ovl 18, 63, 28, 75, //KEY_CLEAR
.ovl 3, 87, 146, 184, //KEY_0
.ovl 15, 65, 83, 138, //KEY_ENTER

.ovl 255, 255, 255, 255, //KEY_FIRE
.ovl 255, 255, 255, 255, //KEY_L_ACT
.ovl 255, 255, 255, 255, //KEY_R_ACT

.ovl 255, 255, 255, 255, //META_RESET
.ovl 0, 46, 0, 18, //META_LOAD
.ovl 199, 255, 0, 18, //META_CONFIG
.ovl 255, 255, 255, 255, //META_SCORES
.ovl 255, 255, 255, 255, //META_QUIT
.ovl 255, 255, 255, 255, //META_RES1
.ovl 255, 255, 255, 255, //META_RES2
.ovl 255, 255, 255, 255, //META_RES3
 
  • Like
Reactions: banjo2

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
452
Trophies
1
XP
3,053
Country
United States
Every thing I try to load says "load failed" what might be the likely cause of that?
I really should add better error messages - I'll add that to the top of my to-do list!

Normally "load failed" means one of 2 things:

1. You don't have grom.bin and exec.bin in the same directory (with those exact names) as your ROM files.
OR
2. Your rom file is not understood as a valid ROM in knowncarts.cfg (which checks the CRC of the game you're trying to load). If it's this one... be sure you have the 'good' set (from one of the Intellivision Lives/Rocks CDs or a well-curated set from someone like Ghostware or similar).


Edit: just checked in 1.4b on the main branch that will at least give you one of 3 possible messages:

UNKNOWN GAME - most likely missing knowncarts.cfg or game CRC32 is not in knowncarts.cfg
NO BIOS FILES - missing either grom.bin, exec.bin or both
NO IVOICE.BIN - missing ivoice.bin for a game that requires Intellivoice

That's not perfect, but it's a reasonable start to cleaning up the error messages.
 
Last edited by wavemotion,
  • Like
Reactions: banjo2

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
452
Trophies
1
XP
3,053
Country
United States
Glad you got it sorted out! Yeah, Intellivision games are a bit weird in that the game carts can map their program memory in many different spots in the 16-bit memory space. If you peek at knowncarts, it basically takes the CRC of the .BIN (or .INT) file that you are loading and matches it up - then it knows how to read that .BIN (or .INT) and load it into the appropriate spots in the Intellivision memory map. Because games have their contents loaded up in different spots, the knowncarts.cfg is required to sort it all out.

.ROM files at a bit more sophisticated in that the .ROM contains the address map to load the file into... so those tend to work even without a knowncarts.cfg... but they don't always get their "peripherals" right. For example, the Grail of the Gods .ROM does not set the JLP flag - so you have to force loading JLP (extra RAM and accelerator functions) when you select the game. Same for Missile Domination.

It's one of the reasons intellivision emulation suffers - there's a lot going on with these ROMs and there wasn't a good early standard to settle on.
 
  • Like
Reactions: banjo2 and Zense

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
452
Trophies
1
XP
3,053
Country
United States
@MarioKartFan I noticed your overlays move the garish pink color from index 0 ... that pink is a "background" and is transparent. If you turn on FPS or have an error, there will be a big pink bar on your overlay :)

I moved it back to index 0 (or, alternatively, you can change the color of the pink to whatever is in index 0 color palette in GIMP). I also took the liberty of touching anywhere on the Chef as the "ENTER" key so you can start the game using the custom overlay (rather than relying on key mapping).
 

Attachments

  • Burgertime.txt
    53.3 KB · Views: 12
  • Burgertime.png
    Burgertime.png
    13.9 KB · Views: 20

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
452
Trophies
1
XP
3,053
Country
United States
@wavemotion Dave: have you noticed that “sleep mode” is hit or miss? Sometimes Nintellivision returns to normal. Sometimes the sound is goofy and sometimes it needs to be closed and relaunched.
Yeah, I've also observed this. Sometimes it comes back normal... sometimes it freezes. I don't know what's up with that but my initial guess is maybe something to do with the way I'm using some of the Video Memory. I "stole" 128K of that memory as a fast buffer for CP-1610 (Intellivision CPU) instruction/rom cache. Maybe that memory is not coming back up at exactly the same time as the normal Nintendo CPU and that's causing problems. Not sure... needs investigation.

One interesting experiment that could be run is to always go into the CONFIG sub-menu first before closing the lid. This effectively stops the CP-1610 emulation. If you can close/open the lid without fail, then we have something to look at.
 
Last edited by wavemotion,
  • Like
Reactions: KimKong and banjo2

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
452
Trophies
1
XP
3,053
Country
United States
One other point. Is it possible in Overlays to map one area to press two keys simultaneously? For example, to pause Beauty and the Beast, you need to hit 3 and 7 simultaneously.

Interesting! I totally forgot about 3+7 and 1+9 to PAUSE in many games...

Yes, you can map one area to press 2 keys... just define the same rectangle in the .ovl file for those 2 keys. However, it gets tricky. For example, in Astrosmash, the KEY3 is already a button to hyperspace. So as an experiment to make it work, I extended the Hyper Space button on screen to extend ALL the way down the screen (picture the Hyper Button box as a rectangle that is the vertical height of the screen). Now you can press anywhere on the right side of the screen for hyperspace... then I mapped KEY7 to a rectangle near the bottom of the screen and now if you press the top right side (near HYPER) you get Hyperspace and the bottom right side (above CONFIG) you get PAUSE (since that will activate both KEY3 and KEY7).

Of course it would be easier if I just added a "key" that represented 3+7 or 1+9

Speaking of touch presses, I discovered that sometimes the emulator would remember the last touch press and if you switched games to another game where the overlay changed the hotspots, it might inadvertently press the new hot spot when you first load up the new game. I just checked in a fix for this.
 
Last edited by wavemotion,
  • Like
Reactions: KimKong and banjo2

MarioKartFan

Well-Known Member
Member
Joined
Aug 27, 2019
Messages
529
Trophies
0
XP
1,757
Country
Algeria
Here's an authentic overlay for Ice Trek. This was a ground breaking game with three different modes depending upon your level. The first is a form of cross country skiing, although you have to avoid elk (or kill them and risk the wrath of a nature god). The second sees you building an ice bridge to cross frigid waters. The last is an assault on an ice castle. Not expecting more than a half dozen people to ever use this, but anyway, here you go.

Ice Trek.png
 

Attachments

  • Ice Trek.txt
    33 KB · Views: 9

MarioKartFan

Well-Known Member
Member
Joined
Aug 27, 2019
Messages
529
Trophies
0
XP
1,757
Country
Algeria
Someone make it end. Soon. Here's Shark! Shark! featuring remade artwork from the original overlays. Also, if you haven't checked it out, Shark Shark 2 is worth the $10. The addition of a timer really addresses the one complaint with the game (how easy it is to rack up extra lives). Now it's all about your high score. Best part is you can keep playing indefinitely when the timer runs out . . . at least until you die.

Shark! Shark.png
 

Attachments

  • Shark! Shark 2.txt
    62.3 KB · Views: 10

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
452
Trophies
1
XP
3,053
Country
United States
These are great! Shark Shark is one of my favorite games - until I pick up the ROM (just bought D2K so have to wait for my next allowance :) ) I'll use this overlay for normal Shark Shark!

PS: Transparency on this one looks perfect. Wonderful job!
 
  • Like
Reactions: KimKong and banjo2

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
452
Trophies
1
XP
3,053
Country
United States
Is there already or will there be support for homebrew games as well..?
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.
 
  • Like
Reactions: KimKong and banjo2
General chit-chat
Help Users
    Swagboi308 @ Swagboi308: :wacko: