Page 1 of 2

Can the SNES use 1bpp tiles?

Posted: Fri Nov 20, 2020 8:30 am
by Ronian53
Can the SNES use 1bpp tiles? I know 3bpp is not a normal SNES format and a trick is used to load it as 4bpp, so can the same be done for 1bpp tiles?

Re: Can the SNES use 1bpp tiles?

Posted: Fri Nov 20, 2020 9:11 am
by nocash
Please stop!

Re: Can the SNES use 1bpp tiles?

Posted: Fri Nov 20, 2020 9:19 am
by Nikku4211
Unfortunately, there's no native support for 1BPP, so you'd have to convert it to 2BPP in software after the graphics are loaded into RAM.

Re: Can the SNES use 1bpp tiles?

Posted: Fri Nov 20, 2020 12:02 pm
by Maxwelthuthu
Looks like Pilotwings did used
Image

Image

Re: Can the SNES use 1bpp tiles?

Posted: Fri Nov 20, 2020 1:19 pm
by Nikku4211
Maxwelthuthu wrote:
Fri Nov 20, 2020 12:02 pm
Looks like Pilotwings did used
Did you look in the ROM? Did you look through a debugger? How do you know the background isn't padded into a 2BPP format?

Re: Can the SNES use 1bpp tiles?

Posted: Fri Nov 20, 2020 3:37 pm
by Maxwelthuthu
Nikku4211 wrote:
Fri Nov 20, 2020 1:19 pm
Maxwelthuthu wrote:
Fri Nov 20, 2020 12:02 pm
Looks like Pilotwings did used
Did you look in the ROM? Did you look through a debugger? How do you know the background isn't padded into a 2BPP format?
It is in 2bpp format, on layer 3 using mode 1.
It must be 1bpp software converted to 2bpp. Using just transparent+1 color with real 2bpp would be the worst design ever.

Re: Can the SNES use 1bpp tiles?

Posted: Fri Nov 20, 2020 6:57 pm
by dougeff
The debug screen in Wild C.A.T.S. is stored as 1bpp (appears as black and white RAM viewer). You have to hack or modify in a debugger to get to this screen, or if you have a dirty cartridge and the game gets a failed read (00 = BRK) you could get this screen.

This video at 45 seconds.

https://youtu.be/TFNBjcwN5ww

Re: Can the SNES use 1bpp tiles?

Posted: Sat Nov 21, 2020 2:44 am
by Pokun
The short answer to the question is:
Hardware: no
Software: of course

Re: Can the SNES use 1bpp tiles?

Posted: Sat Nov 21, 2020 5:37 am
by Señor Ventura
That is it, for hardware all the tiles will occupy 16 Bytes, 1BPP tiles really are 2BPP but using less colors thant these can.

Re: Can the SNES use 1bpp tiles?

Posted: Sun Nov 22, 2020 1:58 pm
by psycopathicteen
You guys know there is a way to DMA 1bpp tiles without having the CPU manually convert tiles, right?

Re: Can the SNES use 1bpp tiles?

Posted: Sun Nov 22, 2020 2:45 pm
by Nikku4211
psycopathicteen wrote:
Sun Nov 22, 2020 1:58 pm
You guys know there is a way to DMA 1bpp tiles without having the CPU manually convert tiles, right?
No, I don't.

Re: Can the SNES use 1bpp tiles?

Posted: Sun Nov 22, 2020 2:50 pm
by tepples
DMA and the increment register can be set to write to only low bytes or only high bytes of 16-bit VRAM words. However, if you want to add a drop shadow, that's on the CPU.

Re: Can the SNES use 1bpp tiles?

Posted: Sun Nov 22, 2020 3:02 pm
by 93143
When filling only even or only odd bytes in bitplane graphics (as opposed to Mode 7 where it's how you upload tiles and map data separately), it's important to make sure the other byte is zero, or a known value at least, so you don't get pseudo-transparency with random leftover garbage. Of course, under normal circumstances you should only have to do this once.

It strikes me that you could do a bit of motion echo by alternating which byte you fill and flipping the palette around every frame.

Re: Can the SNES use 1bpp tiles?

Posted: Sun Nov 22, 2020 3:47 pm
by Señor Ventura
psycopathicteen wrote:
Sun Nov 22, 2020 1:58 pm
You guys know there is a way to DMA 1bpp tiles without having the CPU manually convert tiles, right?
8 Bytes per tile?

I remember having commented it long time ago, but after that time i have discarted that idea.

Re: Can the SNES use 1bpp tiles?

Posted: Sun Nov 22, 2020 4:56 pm
by Nikku4211
93143 wrote:
Sun Nov 22, 2020 3:02 pm
When filling only even or only odd bytes in bitplane graphics (as opposed to Mode 7 where it's how you upload tiles and map data separately), it's important to make sure the other byte is zero, or a known value at least, so you don't get pseudo-transparency with random leftover garbage. Of course, under normal circumstances you should only have to do this once.

It strikes me that you could do a bit of motion echo by alternating which byte you fill and flipping the palette around every frame.
Combine that with the interlace PPU bit being toggled in any mode that isn't 5 or 6, and you'll get double the motion blur.

PS2-style.