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

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
433
Trophies
1
XP
2,915
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
433
Trophies
1
XP
2,915
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
433
Trophies
1
XP
2,915
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
433
Trophies
1
XP
2,915
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
433
Trophies
1
XP
2,915
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
433
Trophies
1
XP
2,915
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
433
Trophies
1
XP
2,915
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
528
Trophies
0
XP
1,741
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
528
Trophies
0
XP
1,741
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
433
Trophies
1
XP
2,915
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
433
Trophies
1
XP
2,915
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
  • The Real Jdbye @ The Real Jdbye:
    but i can certainly tell the difference with black crush if i'm watching a scifi movie and i can't see wtf is going on
    Gift
  • SG854 @ SG854:
    Human vision is logarithmic, it's not linear. And nits doesn't tell the whole story of perceived brightness. OLED'S look brighter then LCD's even when both are set to the same nit values because of the higher contrast ratio on OLED's
    Gift
  • SG854 @ SG854:
    OLED's have a 3D look
    Gift
  • kenenthk @ kenenthk:
    Charging port is more likely to fry up or battery fail before the display tbh lol
    Gift
  • The Real Jdbye @ The Real Jdbye:
    "And nits doesn't tell the whole story of perceived brightness" it's not about perceived brightness it's about all HDR content in TV and movies being mastered for 1000 nits so it doesn't look right with anything lower, it's also about dynamic range
    Gift
  • The Real Jdbye @ The Real Jdbye:
    "OLED's have a 3D look" no they don't lol
    Gift
  • SG854 @ SG854:
    As an owner of a OLED and you saying that you never seen an OLED I think I know what I'm talking about lol. I'm not talking about 3D as in 3D glasses. I'm talking about depth and pop in the picture
    Gift
  • kenenthk @ kenenthk:
    I mean to be fair og vitas are still kicking and not many have suffered from pixel bleed and they're going on nearly 10 years
    Gift
  • SG854 @ SG854:
    OLED's can get away with a lower peak brightness and still provide punchy HDR because of their contrast ratio. Like I said human vision is logarithmic. The higher the peak brightness the diminishing returns in perceived brightness.
    Gift
  • kenenthk @ kenenthk:
    Just get 5 years enjoyment out of it until Nintendy releases something and everyone forgets about switch games lol
    Gift
  • SG854 @ SG854:
    @The Real Jdbye Oleds hit around 750 nits nowadays. The difference between a 1000 nit and a 750 nit isn't huge. It's only about a 4% increase in perceived brightness. Not huge at all. You'll need at least 2000 nit displays to notice a bigger difference.
    Gift
  • SG854 @ SG854:
    Read this thread it explains it. 1000 nits is not a huge jump from 750 the LG OLEDs can hit. As I said human vision is non linear.
    +2
    Gift
  • Gift
  • mr_switch @ mr_switch:
    Not exactly 3D but the colors does pops out more
    Gift
  • mr_switch @ mr_switch:
    I just want a true dark mode theme
    for OLED Switch
    Gift
  • Julie_Pilgrim @ Julie_Pilgrim:
    yeah honestly i hate how the only two switch theme options are blinding holy light of god or grey
    Gift
  • El_Doot @ El_Doot:
    Kill eyes OR bore eyes to death
    +1
    Gift
  • Julie_Pilgrim @ Julie_Pilgrim:
    switch dark mode is ok i just wish it was a bit darker
    Gift
  • F @ Forseenink3938:
    Can anyone here please help me on how to use TickCrypt 2.0?
    Gift
  • Gift
  • Gift
  • kenenthk @ kenenthk:
    https://youtu.be/YcECmtrrCsg The good old days back when we were impressed by a nonleaking shammy
    Gift
  • Veho @ Veho:
    I'm still impressed, it's still an impossible dream.
    Gift
  • kenenthk @ kenenthk:
    Put one in your trousers enjoy all the taco bell you'd like
    Gift
  • Veho @ Veho:
    I would LOVE to try some that mythical Taco Bell that destroys every digestive tract.
    Gift
    Veho @ Veho: I would LOVE to try some that mythical Taco Bell that destroys every digestive tract.