inceptional's composite discussion thread

Discussion of hardware and software development for Super NES and Super Famicom. See the SNESdev wiki for more information.

Moderator: Moderators

Forum rules
  • For making cartridges of your Super NES games, see Reproduction.
User avatar
rainwarrior
Posts: 8731
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

inceptional's composite discussion thread

Post by rainwarrior »

The two ship mode 5 demo has been moved to a different thread to make room for a different conversation. Click here if you're looking for the demo:
https://forums.nesdev.org/viewtopic.php?t=23889
Last edited by rainwarrior on Thu May 19, 2022 4:28 pm, edited 4 times in total.
iNCEPTIONAL

Re: Two Ship mode 5 hires + interlaced comparison

Post by iNCEPTIONAL »

See, now we're cooking by gas. Getting some of the juices flowing. And maybe, just maybe, we might even see a few great examples of little game demos, possibly even full games, that use SNES' high-res mode properly--finally!

Great stuff! :D

Of course, now it's gonna take some great art that also uses all the available colours and tiles to truly take full advantage of all Mode 5 [and 6] has to offer and fully sell the effect, otherwise it really won't be worth the compromises.

But this gives me some optimism something pretty cool could be done here. . . .
rainwarrior wrote: Tue May 03, 2022 2:34 am [*] This demo doesn't do anything to account for odd/even frames, and you definitely get that "windowshade" rippling whenever the vertical scroll shifts against the grain of the fields. If you're going to use this you might want to account for that.
So, is that just a matter of the programmer implementing everything properly to avoid the issue? I know it's not something I see when playing RPM Racing on the same emulator, so it's obviously something that can be eliminated or done similarly.

PS. I assume I could simply create all my background art at twice the size/detail of normal background art in order to be used correctly in this mode, right? So a crate that's normally 16x16 pixels in a regular SNES game, would now be drawn at 32x32 pixels (sticking with equal-sized tiles just so I don't have to think about 8x16 art before and after being shrunk), in order for it to be seen at normal size but twice the resolution, and so on. And I have, what, 512 16x16 unique tiles to use?
Last edited by iNCEPTIONAL on Tue May 03, 2022 10:19 am, edited 2 times in total.
Joe
Posts: 649
Joined: Mon Apr 01, 2013 11:17 pm

Re: Two Ship mode 5 hires + interlaced comparison

Post by Joe »

rainwarrior wrote: Tue May 03, 2022 2:34 amI don't know if I just have an overly sensitive persistance-of-vision, but I could always see interlacing jitter on video games. Movies are fine, because they're organic and in motion, but with video games where things are clean and move in straight lines, the feel of the jitter has always been very present for me on interlacing CRTs.
Interline twitter flickers at 30Hz, which is definitely slow enough to be visible. Newer video game consoles can use a vertical lowpass filter to reduce the effect, but obviously the SNES can't do that.

DVDs are usually filtered during encoding. I'm sure you could do something similar with your SNES graphics, but it increases the number of colors you need.
User avatar
rainwarrior
Posts: 8731
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: Two Ship mode 5 hires + interlaced comparison

Post by rainwarrior »

iNCEPTIONAL wrote: Tue May 03, 2022 3:13 am
rainwarrior wrote: Tue May 03, 2022 2:34 am [*] This demo doesn't do anything to account for odd/even frames, and you definitely get that "windowshade" rippling whenever the vertical scroll shifts against the grain of the fields. If you're going to use this you might want to account for that.
So, is that just a matter of the programmer implementing everything properly to avoid the issue? I know it's not something I see when playing RPM Racing on the same emulator, so it's obviously something that can be eliminated or done similarly.
It's not really just a matter of programming, and no, RPM racing does nothing programmatic to mitigate the effect, as far as I can tell. ...except how they got rid of the interlacing entirely for the Japanese release.

RPM racing's motion is very erratic. It tends to move the track for 2 or 3 frames, then sits still for 2 or 3 frames, then resumes moving. Without having smooth motion in the first place, this kind of artifact of scrolling is buried by the much bigger jerkiness problems.

Prominent horizontal edges make the problem more apparent, though it happens with all horizontal detail. Never moving directly up and down could also make it less obvious.

Scrolling 2 pixels at a time can also hide the problem, but this cuts the vertical smoothness in half. Though the horizontal of hires can only scroll 2 pixels at a time, so maybe they might as well match.

You can also pay attention to the even/odd field state of the PPU, but I'm not sure how to put it to good use. Maybe for modern TVs that weave the two fields into a 30hz picture, only moving on the even frames could reduce the "mice teeth". Again this compromise halves the smoothness of motion, though mostly only for CRT. A 30hz weave display has already cut the smoothness in half without your help. Not all modern TVs do this, though, and there's a lot of variation in deinterlace methods.
iNCEPTIONAL wrote: Tue May 03, 2022 3:13 amAnd I have, what, 512 16x16 unique tiles to use?
No, in this mode you have 512 16x8 tiles to use. It's the same 1024 8x8 tile budget as with most other modes, but they have to be used in pairs.

So, in this mode you can cover 1/4 of the screen in unique tiles, though you do have the second 2bpp layer that can do some fill duty with its own tile budget.
iNCEPTIONAL

Re: Two Ship mode 5 hires + interlaced comparison

Post by iNCEPTIONAL »

rainwarrior wrote: Tue May 03, 2022 11:08 am No, in this mode you have 512 16x8 tiles to use. It's the same 1024 8x8 tile budget as with most other modes, but they have to be used in pairs.

So, in this mode you can cover 1/4 of the screen in unique tiles, though you do have the second 2bpp layer that can do some fill duty with its own tile budget.
Are we definitely talking about the same mode being used in the same way?

To quote the guy in this video: https://youtu.be/5SBEAZIfDAg?t=378

When he shows just the horizontal resolution being doubled, he says:

"Unlike pseudo 512, true horizontal 512 actually doubles the horizontal resolution to 512 pixels. A side effect of this is that the smaller character size is not 8x8 pixels but 16x8 pixels, so that it still looks 8x8 pixels on the screen. Additionally, the 16x16 character size is not modified, so it will appear to be 8x16 pixels on the screen.

Then he talks about combining that with interlaced mode:

"Interlace mode acts differently on this mode as well. When interlace mode is enabled on background modes 5 or 6, the vertical resolution is truly doubled. . . . The visual difference of turning on interlacing now is that everything will look squished vertically to half its size. . . . The overall difference is that everything will look twice as small but in correct proportions. For example 16x8 pixel characters will appear to look 8x4 pixels, and 16x16 pixel characters will look 8x8."

And then he also moves the second little character info-graphic top the top of the screen, which, unless I'm not properly interpreting what he is trying to convey (and presuming "characters" just means tiles), seems to suggest you have the choice to create art using either 16x8 pixel tiles or 16x16 pixel tiles.

No?

It just seems weird that I'd have think how to draw say an 8x8 coin (the size it would be in the low-res game normally) in 16x8 pixels now and somehow have to imagine that being squished to half its size horizontally while staying the same size vertically. I'd have to keep putting them into the game constantly to truly check it if looks as I want it to. It would totally make much more sense to me as an artist if I can simple draw everything doubled in both dimensions, so I'd simply draw that coin at 16x16, which would represent one 8x8 tile at normal resolution, and zoom out Photoshop to get a clear idea of how it would actually look at half the size (as it would be shown in the game in high-res mode).

TLDR: To cut a long story short. So how in the hell do I go about drawing my pixel art so it will look right in high-res mode. Up until now I just drew everything within simple 8x8 tiles at 1:1 size, which totally made sense to me as an artist, and done.
Last edited by iNCEPTIONAL on Tue May 03, 2022 3:47 pm, edited 1 time in total.
lidnariq
Posts: 11429
Joined: Sun Apr 13, 2008 11:12 am

Re: Two Ship mode 5 hires + interlaced comparison

Post by lidnariq »

You can use 16x16 tiles, but that further reduces your unique tile count.

All SNES video modes (except mode 7) support a tile library that's 128 pixels by 512 pixels for each active layer. Using larger tiles (whether by enabling 16x16 mode or using modes 5/6) reduces the number of unique larger tiles you can get - it's still just 128 by 512.
User avatar
rainwarrior
Posts: 8731
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: Two Ship mode 5 hires + interlaced comparison

Post by rainwarrior »

iNCEPTIONAL wrote: Tue May 03, 2022 1:40 pmAre we definitely talking about the same mode being used in the same way?
This is not a question I can answer because I have no idea what your misconception is. What I said is accurate. So is what's in the video. What are you talking about?

All SNES tiles are 8x8. 16x8 mode just means you have to use them in pairs. 16x16 mode means you have to use them in quads. The budget of 1024 8x8 tiles never changes.

The advantage of 16x16 mode is not to get more tiles, it's to make updating and storing the tilemap easier. If you want to replace a 16x16 coin block in Super Mario, you can do it with 1 write to the tilemap instead of 4.
So how in the hell do I go about drawing my pixel art so it will look right in high-res mode. Up until now I just drew everything within simple 8x8 tiles at 1:1 size, which totally made sense to me as an artist, and done.
Maybe this thread about getting different pixel aspect ratios in art programs would help: Pixel editors at unusual ratios (such as 9:8)
iNCEPTIONAL

Re: Two Ship mode 5 hires + interlaced comparison

Post by iNCEPTIONAL »

lidnariq wrote: Tue May 03, 2022 2:04 pm You can use 16x16 tiles, but that further reduces your unique tile count.

All SNES video modes (except mode 7) support a tile library that's 128 pixels by 512 pixels for each active layer. Using larger tiles (whether by enabling 16x16 mode or using modes 5/6) reduces the number of unique larger tiles you can get - it's still just 128 by 512.
That's fine. I just have to be smarter with what I draw in the tiles so it can be repeated at lot and still look okay. Much rather that than try to draw what would normally be low-res 8x8 square but now as some double-sized 16x8 rectangle and imagine how it's going to look squished back down to what would now look like a high-res 8x8 square again or whatever it is once on the SNES high-res mode.
Last edited by iNCEPTIONAL on Tue May 03, 2022 3:44 pm, edited 4 times in total.
iNCEPTIONAL

Re: Two Ship mode 5 hires + interlaced comparison

Post by iNCEPTIONAL »

rainwarrior wrote: Tue May 03, 2022 2:08 pm
iNCEPTIONAL wrote: Tue May 03, 2022 1:40 pmAre we definitely talking about the same mode being used in the same way?
This is not a question I can answer because I have no idea what your misconception is. What I said is accurate. So is what's in the video. What are you talking about?

All SNES tiles are 8x8. 16x8 mode just means you have to use them in pairs. 16x16 mode means you have to use them in quads. The budget of 1024 8x8 tiles never changes.

The advantage of 16x16 mode is not to get more tiles, it's to make updating and storing the tilemap easier. If you want to replace a 16x16 coin block in Super Mario, you can do it with 1 write to the tilemap instead of 4.
So how in the hell do I go about drawing my pixel art so it will look right in high-res mode. Up until now I just drew everything within simple 8x8 tiles at 1:1 size, which totally made sense to me as an artist, and done.
Maybe this thread about getting different pixel aspect ratios in art programs would help: Pixel editors at unusual ratios (such as 9:8)
OK, I'll have a little look at that. Cheers.
User avatar
rainwarrior
Posts: 8731
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: Two Ship mode 5 hires + interlaced comparison

Post by rainwarrior »

iNCEPTIONAL wrote: Tue May 03, 2022 3:18 pm...if that's how it works when you use the 16x8 tiles instead.
The tile mode doesn't affect the aspect ratio. It doesn't matter if you're using 16x8 or 16x16 mode.

Using mode 5 makes the pixel half as wide. Using interlacing makes it half as tall. Using both together makes it half as wide and half as tall.
iNCEPTIONAL

Re: Two Ship mode 5 hires + interlaced comparison

Post by iNCEPTIONAL »

rainwarrior wrote: Tue May 03, 2022 3:41 pm
iNCEPTIONAL wrote: Tue May 03, 2022 3:18 pm...if that's how it works when you use the 16x8 tiles instead.
The tile mode doesn't affect the aspect ratio. It doesn't matter if you're using 16x8 or 16x16 mode.

Using mode 5 makes the pixel half as wide. Using interlacing makes it half as tall. Using both together makes it half as wide and half as tall.
Ah, yeah. I think I was getting you wrong. Both the 16x8 tile and the 16x16 tile shrink to half their size when viewed in high-res mode in the actual game. So, if I want to draw what would be a normal-res 8x8 coin but now for high-res mode. I could either use 2 16x8 tiles on top of each other, or a single 16x16 tile. And in both cases I would get what looks like an 8x8 pixel coin but it's actually using 16x16 pixels overall. I still technically draw everything double the size (using overall 4 times as many pixels to draw things), but the grid in Photoshop would simply be set to 16x8 or 16x16 depending on the tile size I want to use. Correct?

Do I have to stick to one tile size across the whole background once I decide what one to go for?

And, if I do go with the 16x16 tiles, how many unique tiles can I have in the tile map (256 per layer?), and how many unique tiles can I show onscreen (and per layer)?
User avatar
rainwarrior
Posts: 8731
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: Two Ship mode 5 hires + interlaced comparison

Post by rainwarrior »

Had reports of old models of Super Everdrive mispredicting this as LoROM, which is apparently fixed with a valid checksum, so I added one to the build.
User avatar
Señor Ventura
Posts: 233
Joined: Sat Aug 20, 2016 3:58 am

Re: Two Ship mode 5 hires + interlaced comparison

Post by Señor Ventura »

I will never undertand how games with static screen doesen't used 512x224 or 512x448...

If scrolling or vram memory limit could be problematic if the programmers demand not to compress the data tile, at least games like push over, lemmings, super off road, or goof troop, could have been used this mode, but also didn't.
turboxray
Posts: 348
Joined: Thu Oct 31, 2019 12:56 am

Re: Two Ship mode 5 hires + interlaced comparison

Post by turboxray »

Señor Ventura wrote: Sat May 07, 2022 11:15 am I will never undertand how games with static screen doesen't used 512x224 or 512x448...

If scrolling or vram memory limit could be problematic if the programmers demand not to compress the data tile, at least games like push over, lemmings, super off road, or goof troop, could have been used this mode, but also didn't.
Simply because high res graphics take up more memory. If you have a static display with unique tiles, then 512x224 equivalent takes twice the amount, and 512x448 takes up 4 times the amount. VRAM aside, that's also rom space.
lidnariq
Posts: 11429
Joined: Sun Apr 13, 2008 11:12 am

Re: Two Ship mode 5 hires + interlaced comparison

Post by lidnariq »

Señor Ventura wrote: Sat May 07, 2022 11:15 am I will never undertand how games with static screen doesen't used 512x224 or 512x448...
Interlacing looks really bad unless the input is blurred sufficiently vertically. Spending enough palette entries on the SNES to do that much blurring is a very bitter pill - it effectively reduces your 4bpp palette to 2bpp.

The PS1 library is full of examples of how long it took us to learn how to correctly blur things to make it not flicker objectionably on a real CRT.
If scrolling or vram memory limit could be problematic if the programmers demand not to compress the data tile,
The PPU cannot use compressed data. The limit is strictly 64 KiB, for all data, uncompressed.
at least games like push over, lemmings, super off road, or goof troop, could have been used this mode, but also didn't.
Lots of TVs from the contemporary era were not capable of showing the resolution improvement of the 512px mode. It's easy to look back down with our modern HDTVs even with old consoles and wonder, but between the first model of the SNES blurring everything horizontally, and many 80s and 90s era CRT TVs blurring things on both axes, losing the parallax layer for maybe-not-even-seen extra horizontal resolution was again a very bitter pill.
Locked