Kirby's Dreamland 3 psuedo-transparency

Discussion of hardware and software development for Super NES and Super Famicom.

Moderator: Moderators

Forum rules
  • For making cartridges of your Super NES games, see Reproduction.
Post Reply
User avatar
mikejmoffitt
Posts: 1352
Joined: Sun May 27, 2012 8:43 pm

Kirby's Dreamland 3 psuedo-transparency

Post by mikejmoffitt »

A long while ago I thought it was interesting that Kirby's Dreamland 3 for SFC seemed to have semi-transparency in the foreground when I was playing it in SNES9x. Now, I have the cartridge, and I see that the transparency is there but it has some slight interesting artifacts.

The research I've been able to find points towards the SNES being in psuedo-hi-res mode, but not much detail is available beyond that. Can anyone shed some light on what exactly was done to achieve this blending method?
lidnariq
Posts: 10677
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: Kirby's Dreamland 3 psuedo-transparency

Post by lidnariq »

Nocash actually calls Kirby out several times in his full snes specs ( http://nocash.emubase.de/fullsnes.htm )
Sik
Posts: 1589
Joined: Thu Aug 12, 2010 3:43 am

Re: Kirby's Dreamland 3 psuedo-transparency

Post by Sik »

If it's hi-res mode then most likely it's just dithering at work. If I recall corectly two consecutive pixels are going to be blended in the output signal making it look like a single color. Add dithering into the mix and you can have some sort of fake translucency.

I'll see if I can check the game later though.
tepples
Posts: 22345
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Kirby's Dreamland 3 psuedo-transparency

Post by tepples »

It's dithering, and it's super effective. A 512px horizontal resolution on the Super NES means pixels are output at thrice the NTSC subcarrier frequency, or 10.74 MHz. Displaying hi-res requires a monitor to have bandwidth up to half that, or 5.37 MHz. The RF output unit is supposed to have a low-pass filter at 4.2 MHz so that video doesn't bleed into audio.
User avatar
mikejmoffitt
Posts: 1352
Joined: Sun May 27, 2012 8:43 pm

Re: Kirby's Dreamland 3 psuedo-transparency

Post by mikejmoffitt »

tepples wrote:It's dithering, and it's super effective. A 512px horizontal resolution on the Super NES means pixels are output at thrice the NTSC subcarrier frequency, or 10.74 MHz. Displaying hi-res requires a monitor to have bandwidth up to half that, or 5.37 MHz. The RF output unit is supposed to have a low-pass filter at 4.2 MHz so that video doesn't bleed into audio.
I see, so the game effectively stores graphics with "tall pixels" to take advantage of this?
User avatar
TmEE
Posts: 789
Joined: Wed Feb 13, 2008 9:10 am
Location: Estonia, Rapla city (50 and 60Hz compatible :P)
Contact:

Re: Kirby's Dreamland 3 psuedo-transparency

Post by TmEE »

It is not doing vertical increase, only horizontal. No interlace mode, just 512 pixel horizontal res.
Sprites are not affected by this.
User avatar
mikejmoffitt
Posts: 1352
Joined: Sun May 27, 2012 8:43 pm

Re: Kirby's Dreamland 3 psuedo-transparency

Post by mikejmoffitt »

TmEE wrote:It is not doing vertical increase, only horizontal. No interlace mode, just 512 pixel horizontal res.
Sprites are not affected by this.
If the image is effectively 512x224, aren't the pixels of the stored tiles squished horizontally?
tepples
Posts: 22345
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Kirby's Dreamland 3 psuedo-transparency

Post by tepples »

Yes, as one can see from screenshots of the unofficial Simba firmware for the SNES PowerPak. The pixel aspect ratio in this mode is 4:7.
User avatar
Ramsis
Posts: 341
Joined: Sun Jul 01, 2012 6:44 am
Location: Lion's den :3
Contact:

Re: Kirby's Dreamland 3 psuedo-transparency

Post by Ramsis »

Also note that a "screen" of e.g. 32x32 tiles will still be of that same size in Mode 5. You don't suddenly have 64x32 tiles available (as one might imagine), because standard 8x8 tiles will be displayed as 16x8 tiles (with seemingly "empty" tiles in between).

This is what I mean (old WIP screenshot from June 2012):

Image

So you have to find some way to work around this limitation. :)
Some of my projects:
Furry RPG!
Unofficial SNES PowerPak firmware
(See my GitHub profile for more)
User avatar
Bregalad
Posts: 8036
Joined: Fri Nov 12, 2004 2:49 pm
Location: Caen, France

Re: Kirby's Dreamland 3 psuedo-transparency

Post by Bregalad »

Yeah, the way you worked around it is very clever, I'd never thought about it ^^
User avatar
mikejmoffitt
Posts: 1352
Joined: Sun May 27, 2012 8:43 pm

Re: Kirby's Dreamland 3 psuedo-transparency

Post by mikejmoffitt »

Aw, that's all a little straight forward; I was hoping for some fun wacky software trick :?

Why wouldn't more games make use of this mode?
User avatar
Ramsis
Posts: 341
Joined: Sun Jul 01, 2012 6:44 am
Location: Lion's den :3
Contact:

Re: Kirby's Dreamland 3 psuedo-transparency

Post by Ramsis »

Bregalad wrote:Yeah, the way you worked around it is very clever, I'd never thought about it ^^
Me neither. :P When I asked ikari_01 (the Great) about how he'd implemented pseudo-hi-res mode in his sd2snes firmware, he told me: 'twas using scroll registers. He also mentioned it could've been done easier using two graphically different fonts. So I decided to try and implement something like that instead. :)
mikejmoffitt wrote:Why wouldn't more games make use of this mode?
But they did! Have a look at nocash's Hires software list (although Syvalion's missing in the list, as is Romancing SaGa 3, and Dark Law - Meaning of Death (text), amongst others that won't come to mind until later). :)
Some of my projects:
Furry RPG!
Unofficial SNES PowerPak firmware
(See my GitHub profile for more)
tepples
Posts: 22345
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Kirby's Dreamland 3 psuedo-transparency

Post by tepples »

Apple II's 80-column text mode is interleaved to put characters at even horizontal position in one 40x24 tile nametable and characters at odd horizontal position in another.

Reasons why more games didn't use 512px backgrounds include ROM cost, VRAM use, loss of BG3, and the fact that sprites weren't likewise 512px.
User avatar
mikejmoffitt
Posts: 1352
Joined: Sun May 27, 2012 8:43 pm

Re: Kirby's Dreamland 3 psuedo-transparency

Post by mikejmoffitt »

Ramsis wrote:
Bregalad wrote:Yeah, the way you worked around it is very clever, I'd never thought about it ^^
Me neither. :P When I asked ikari_01 (the Great) about how he'd implemented pseudo-hi-res mode in his sd2snes firmware, he told me: 'twas using scroll registers. He also mentioned it could've been done easier using two graphically different fonts. So I decided to try and implement something like that instead. :)
mikejmoffitt wrote:Why wouldn't more games make use of this mode?
But they did! Have a look at nocash's Hires software list (although Syvalion's missing in the list, as is Romancing SaGa 3, and Dark Law - Meaning of Death (text), amongst others that won't come to mind until later). :)
I saw, but it is so few!
Post Reply