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

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
518
Trophies
1
XP
3,514
Country
United States
Is there a way to hide grom.bin and exec.bin from the file select screen? Not a real big deal, but they're just sitting there.

Great idea - yeah, it's easy enough to hide them from the listing. I'll do that on the next check-in!

Edit: and done! The exec.bin, grom.bin and ivoice.bin (if present) will all be hidden and not count as one of the game ROMs.
 
Last edited by wavemotion,

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
518
Trophies
1
XP
3,514
Country
United States
Could you blacklist their nointro names too?
For example
[BIOS] Intellivoice (USA, Europe).int
Yep. In fact, I can skip anything that starts with [BIOS].
I'll also add the no-intro names as alternates so that if it doesn't find the common short names, it will find the no-intro names. I may (down the line) just search the directory for the proper CRC32 hash to auto-detect the BIOS files no matter their names. But one step at a time... I still need to beat AD&D Cloudy Mountain on the hardest (disc) setting!
 
Last edited by wavemotion,

MarioKartFan

Well-Known Member
Member
Joined
Aug 27, 2019
Messages
537
Trophies
0
XP
1,822
Country
Algeria
Dave:

just wanted to say that thanks to your EMU I have gotten back into Thunder Castle after a 30+ year hiatus. What an amazing game. Some of the best “pixel art” of all time with music that was ahead of everyone else. Surprised that I’ve never seen it pop up on a “greatest” retro games of all time. Runs flawlessly on your emulator.
 

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
518
Trophies
1
XP
3,514
Country
United States
Thunder Castle is outstanding. Some people find it a little slow - but I'm fine with the default speed. There is a version of the game floating around out there called Mystic Castle that speeds up gameplay and tweaks a few other elements which is also fun to play - that will likewise play fine on Nintellivision.
 
  • Like
Reactions: banjo2

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
518
Trophies
1
XP
3,514
Country
United States
So I'm at a crossroads... I'm experimenting with custom overlays. Ones you can supply in BMP or similar format along with a .OVL overlay file specifying the hotspots for the touch screen. This way you can lay the buttons out wherever you want - have as few or as many as you like and when the user touches the hotspot it will activate one of the 12 Intellivision keys or one of the 5 Meta keys (Reset, Load, Config, Scores, Quit). Of course you don't actually have to draw the meta labels anywhere - you can keep your overlay nice and clean and just know that clicking in the upper left will load a new game, etc.

However, I estimate that this is going to come at a cost of another 30-50 hours of effort to make it clean. My guess is there are like 3 people on the planet that would use this. That seems like a lot of life energy to dedicate to something so few people will even use/see. I feel like it would be better to get another emulator running in that same timeframe :)

upload_2021-9-14_8-17-42.png
 

CrashMidnick

Well-Known Member
Member
Joined
Jul 22, 2015
Messages
323
Trophies
0
Age
39
XP
1,343
Country
France
I feel like it would be better to get another emulator running in that same timeframe

Now I am curious ;)

IMHO, this is a waste of time to spend so much time only for overlays. This emulator already does the most importing thing : launch Intellivision games with almost no issue.

I tried to make some (Pole position and Frogger), this is really a pain when it is not your job or passion.
 

MarioKartFan

Well-Known Member
Member
Joined
Aug 27, 2019
Messages
537
Trophies
0
XP
1,822
Country
Algeria
Dave:

That looks amazing. But that seems like a tremendous amount of work, even if it would lead to beautiful results. Would it be an easier option to just let us swap in scans of the original overlays? Appreciate that you don’t want to include those in your distribution but there are widely available scans that if we could just drop a png or bmp into the correct directory with the correct dimensions.
 

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
518
Trophies
1
XP
3,514
Country
United States
I don't have Shark Shark2 so that one won't be in knowncarts.cfg

It's possible the Mystic Castle you have is different CRC than the one I have. You will need the CRC of the .bin file.

I'll work with you offline to get it running.
 
Last edited by wavemotion,
  • Like
Reactions: banjo2

MarioKartFan

Well-Known Member
Member
Joined
Aug 27, 2019
Messages
537
Trophies
0
XP
1,822
Country
Algeria
Hi Dave:

The really awesome Donkey Kong homebrew seems to have a significant graphic glitch when DK is scaling the girders at the start of the game and when he scales the ladder at the end of various levels. Have you seen that on your end?
 

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
518
Trophies
1
XP
3,514
Country
United States
Yeah, I've seen that... his back is transparent when climbing. No idea what causes it ... it's on the list of things to look at "someday". Fortunately, the gameplay and collision detection is good on DK ARCADE so it's not so bad.

It's a great port! At one time the author was selling DIIK with all new levels and a ton of polish... for $10 which is a great price. But now it's only available locked to the LTO Flash-Cart (each cart has a SN and the rom you get is only unencrypted for the LTO you own).|

Edit: just checked the BLISS32 core on Windows and it has the same transparent DK back when he's climbing the girders in the cut-scenes. So it's a core bug - probably been in the code for 20 years :)
 
Last edited by wavemotion,

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
518
Trophies
1
XP
3,514
Country
United States
Custom overlays are going to be a thing. But I'm putting some of the burden on the end-user. Not only will they have to use something like GIMP (open source and freely available on most major platforms) to make their custom overlays, but they will have to run it through a tool to prepare it for inclusion in the emulator. In the end, you will have a .OVL file that has the same base name as the ROM you want to play. The .OVL file will contain the key hotspot map (for the touch-screen) along with the graphical data in hex format (that's where the tool comes into play). This keeps it all to a single file - and makes my life easier. Plus, this way you can have a custom overlay for as many or as few games as you like. You can always pick one of the 10 built-in overlays - and by default you just get the non-overlay buttons 0-9, CLR and ENTER as always.

Checkin coming after sleep and coffee... and some testing. Might need a guinea pig to help test this out :)
 
Last edited by wavemotion,

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
518
Trophies
1
XP
3,514
Country
United States
This morning I built an example custom overlay that won't win any awards for style but will show how to build a custom overlay. I took a screenshot to get the ship and hand-drew the green ground and white stars. The font is stock Arial Bold. So I feel comfortable releasing this example overlay with the emulator as a template of how to do it. The red is a little too harsh and I may change that to a light blue instead. I guess that's why they call it "custom" :)

upload_2021-9-15_7-25-12.png
 
Last edited by wavemotion,

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
518
Trophies
1
XP
3,514
Country
United States
Okay... 1.3c is checked in. Not ready for release yet but if you grab the latest NINTV-DS.NDS from the main check-in directory here you will have the latest with Custom Overlay support: https://github.com/wavemotion-dave/NINTV-DS

You will also find a new folder called custom-overlays which is necessary if you want to try creating your own custom overlays.

In that folder, you will find the all-important GRIT tool (freely released via the associated license file). I've also provided an example custom overlay file for Astrosmash.
upload_2021-9-15_8-20-35.png


To create this astroshash.ovl file, you start with a .png file that is exactly 256x256 pixels. Only the top 192 pixels are available to display - the font for the main screen, file selection, configuration, etc. is below the 192 pixel mark. Don't touch that stuff unless you REALLY know what's going on:)

upload_2021-9-15_8-23-14.png


With that as your template, you can use GIMP to load this up and edit it as you like. It's only 256 colors so you will be limited - but that's enough to do some awesome things.

Once you have your overlay changed, save it back out exactly as it is.. 8-bit PNG (just use Gimp "Overwrite" from the file menu so nothing gets changed).

Then you must run the command line tool. Open a command prompt and run GRIT on the new graphic file as follows:

grit astrosmash.png -o astrosmash.s -gt -mrt -mR8 -mLs -gzl -mzl

Now that will generate 2 files... astrosmash.s and astrosmash.h - only only need the .s file which will be renamed to .ovl

Open the new astrosmash.s (rename it to astrosmash.ovl at some point) and perform some edits on it.

Search globally for .word and replace with .tile
Edit the Pal: block of .hword lines and replace every .hword with .pal
Edit the Map: Search for .hword and replace every .hword with .map

Remove all the lines that aren't .tile, .pal or .map - in theory you could leave them in but they aren't processed.

While you're at it, the end of the big sections (.tile, .map and .pal) might not be fully padded to 8 entries... so if you see a line like this:

.tile 0x06F03FF9,0xF03FF3FF,0xF07FF101,0xF7D8C107,0xD277F07F,0x2182F804

Just pad it out with 0x0000s:

.tile 0x06F03FF9,0xF03FF3FF,0xF07FF101,0xF7D8C107,0xD277F07F,0x2182F804,0x00000000,0x00000000

Now at the top of the file add your .ovl lines which map the keypad controller to X1,X2 and Y1, Y2 coordinates. You can get your coordinates for your custom buttons in GIMP - I usually go a little wider than the buttons so that they are easy to press with your thumb when playing. These .ovl lines must be in this exact order - KEY1 first, KEY2 next, etc. Do not change the order (but you can change the text to the extreme right as "comments").

In the end you should end up with a file that is formatted and laid out just like the example astrosmash.ovl - this is the only file that needs to be placed on your SD or Flash cart. It should be the same base filename as the game you are creating the overlay for (just with a .ovl extension instead of .int or .rom). In Configuration, select the overlay as "Custom".

Not trivial... I realize that. But it's workable and you can create as many custom overlays as you want. Once you get the hang of it, the above steps won't take more than 10 minutes.. the harder part will be creating the actual graphic. Once you have the .ovl file, that's all you need. You can put that .ovl on any of your systems and it will work. These manual steps above save me a ton of programming time - so don't complain too much :)
 
Last edited by wavemotion,
General chit-chat
Help Users
  • No one is chatting at the moment.
    Psionic Roshambo @ Psionic Roshambo: https://imgur.com/gallery/BiJtKTt