Can layer 1 and 2 display 2bpp graphics?

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
Ronian53
Posts: 17
Joined: Mon Oct 12, 2020 12:26 pm

Can layer 1 and 2 display 2bpp graphics?

Post by Ronian53 » Sun Oct 18, 2020 1:09 pm

In Super Mario World you see a lot of tiles using 2 or 3 colors when they could have easily used more. On the hill background, there is a lot of dithering and the only time more than 3 colors are displayed are when there is a back hill behind the front hill. The star and moon collectible display only 2 colors despite the coins displaying much more. Can the layer 1 and 2 display 2bpp or it are those graphics just normal 3bpp?

User avatar
Nikku4211
Posts: 210
Joined: Sun Dec 15, 2019 1:28 pm
Location: Bronx, New York
Contact:

Re: Can layer 1 and 2 display 2bpp graphics?

Post by Nikku4211 » Sun Oct 18, 2020 1:15 pm

Ronian53 wrote:
Sun Oct 18, 2020 1:09 pm
In Super Mario World you see a lot of tiles using 2 or 3 colors when they could have easily used more. On the hill background, there is a lot of dithering and the only time more than 3 colors are displayed are when there is a back hill behind the front hill. The star and moon collectible display only 2 colors despite the coins displaying much more. Can the layer 1 and 2 display 2bpp or it are those graphics just normal 3bpp?
In SMW, those graphics are just 3BPP, as a lot of SMW's graphics meant for 4BPP formats are 'compressed' into 3BPP graphics that are decompressed on load time.

However, there are SNES video modes that support 2BPP on layer 1 or 2.

Mode 0: Layers 1-4 are all 2BPP.
Mode 4 and 5: Layer 2 is 2BPP.
I have an ASD, so empathy is not natural for me. If I hurt you, I apologise.

lidnariq
Posts: 9839
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: Can layer 1 and 2 display 2bpp graphics?

Post by lidnariq » Sun Oct 18, 2020 2:09 pm

Mode 1: layer 3 is 2bpp

User avatar
Nikku4211
Posts: 210
Joined: Sun Dec 15, 2019 1:28 pm
Location: Bronx, New York
Contact:

Re: Can layer 1 and 2 display 2bpp graphics?

Post by Nikku4211 » Sun Oct 18, 2020 2:46 pm

lidnariq wrote:
Sun Oct 18, 2020 2:09 pm
Mode 1: layer 3 is 2bpp
He wasn't asking about layer 3, though, he was only asking about layer 1 and 2.
I have an ASD, so empathy is not natural for me. If I hurt you, I apologise.

93143
Posts: 1261
Joined: Fri Jul 04, 2014 9:31 pm

Re: Can layer 1 and 2 display 2bpp graphics?

Post by 93143 » Sun Oct 18, 2020 4:11 pm

It is possible to transfer 2bpp graphics into a 4bpp format in VRAM, by exploiting the way VRAM access works to only write half the bitplanes in the destination memory. This would save resources upstream, but in VRAM it would take the same amount of space as 4bpp graphics.

User avatar
Señor Ventura
Posts: 157
Joined: Sat Aug 20, 2016 3:58 am

Re: Can layer 1 and 2 display 2bpp graphics?

Post by Señor Ventura » Sun Oct 18, 2020 4:14 pm

Mode # Colors for BG
..............1...2...3...4
====================
0.............4...4...4...4
1............16..16..4 -
2............16..16 - -
3...........256..16 - -
4...........256..4 - -
5............16...4 - -
6............16 - - -
7...........256 - - -
7EXTBG...256..128 - -

User avatar
Nikku4211
Posts: 210
Joined: Sun Dec 15, 2019 1:28 pm
Location: Bronx, New York
Contact:

Re: Can layer 1 and 2 display 2bpp graphics?

Post by Nikku4211 » Sun Oct 18, 2020 7:18 pm

93143 wrote:
Sun Oct 18, 2020 4:11 pm
It is possible to transfer 2bpp graphics into a 4bpp format in VRAM, by exploiting the way VRAM access works to only write half the bitplanes in the destination memory. This would save resources upstream, but in VRAM it would take the same amount of space as 4bpp graphics.
So you'd do this in order to make sprites load 2BPP graphics?
I have an ASD, so empathy is not natural for me. If I hurt you, I apologise.

tepples
Posts: 22141
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Can layer 1 and 2 display 2bpp graphics?

Post by tepples » Sun Oct 18, 2020 8:00 pm

One practical problem with uploading 2bpp CHR data for use as 4bpp sprite cels is that you have to skip 8 words (16 bytes) in VRAM after each 2bpp tile for the 2 planes you aren't using. This means that in order not to waste half your DMA bandwidth copying zeroes, you'll end up needing to use Address Translation and needing to rearrange the source data for DMA transfers to go by row instead of by tile.

Another problem is that critics will claim your visuals don't meet the detail standard expected of a game designed for the Super NES. And it's not just the Sydney Hunter reviewer. I've recently received analogous critique from some members in the SMS Power and Plutiedev servers when proposing to reuse 2bpp graphics from a Game Boy Color game that I've developed in a port to the 4bpp Game Gear. It looks to them the way ColecoVision graphics would look to someone familiar with mid to late NES-era graphics.

93143
Posts: 1261
Joined: Fri Jul 04, 2014 9:31 pm

Re: Can layer 1 and 2 display 2bpp graphics?

Post by 93143 » Mon Oct 19, 2020 12:45 am

Nikku4211 wrote:
Sun Oct 18, 2020 7:18 pm
So you'd do this in order to make sprites load 2BPP graphics?
Yes.

tepples wrote:
Sun Oct 18, 2020 8:00 pm
One practical problem with uploading 2bpp CHR data for use as 4bpp sprite cels is that you have to skip 8 words (16 bytes) in VRAM after each 2bpp tile for the 2 planes you aren't using.
If you can store or render the graphics in NES format, you can simply upload to only one of the two VMDATA registers. This skips every other byte in VRAM, which is exactly what you want if you're writing NES 2bpp into SNES 4bpp.

If you can't do that - for instance, if you're rendering 2bpp on the Super FX - then you have to get tricky with the VRAM port settings.

User avatar
Nikku4211
Posts: 210
Joined: Sun Dec 15, 2019 1:28 pm
Location: Bronx, New York
Contact:

Re: Can layer 1 and 2 display 2bpp graphics?

Post by Nikku4211 » Mon Oct 19, 2020 6:29 am

tepples wrote:
Sun Oct 18, 2020 8:00 pm
Another problem is that critics will claim your visuals don't meet the detail standard expected of a game designed for the Super NES. And it's not just the Sydney Hunter reviewer. I've recently received analogous critique from some members in the SMS Power and Plutiedev servers when proposing to reuse 2bpp graphics from a Game Boy Color game that I've developed in a port to the 4bpp Game Gear. It looks to them the way ColecoVision graphics would look to someone familiar with mid to late NES-era graphics.
Again, lol, here's reviewers expecting homebrew devs that may not even be artists to put in all the detail just to get something that looks like a commercial game.
I have an ASD, so empathy is not natural for me. If I hurt you, I apologise.

calima
Posts: 1238
Joined: Tue Oct 06, 2015 10:16 am

Re: Can layer 1 and 2 display 2bpp graphics?

Post by calima » Mon Oct 19, 2020 9:31 am

Sydney Hunter was a widely advertised, Kickstarted, commercial offering in a series of games on many platforms.

User avatar
Nikku4211
Posts: 210
Joined: Sun Dec 15, 2019 1:28 pm
Location: Bronx, New York
Contact:

Re: Can layer 1 and 2 display 2bpp graphics?

Post by Nikku4211 » Mon Oct 19, 2020 5:41 pm

calima wrote:
Mon Oct 19, 2020 9:31 am
Sydney Hunter was a widely advertised, Kickstarted, commercial offering in a series of games on many platforms.
Yeah, it was Kickstarted, and if you get that much money, people'd expect you to hire artists. But Pino didn't Kickstart anything.
I have an ASD, so empathy is not natural for me. If I hurt you, I apologise.

Post Reply