Regarding the 480i mode on Genesis. . . .

Ask anything your want about Megadrive/Genesis programming.

Moderator: BigEvilCorporation

iNCEPTIONAL
Interested
Posts: 49
Joined: Thu Feb 17, 2022 1:14 am

Regarding the 480i mode on Genesis. . . .

Post by iNCEPTIONAL » Thu Dec 15, 2022 12:31 am

I saw this posted in another thread and figure it would be interesting to talk about here too:
Just a little video showing Sonic 2 multiplayer scaled so it's proportionally accurate. I would've done this with my TV but it has the most useless sizing/scaling option ever (Scaling outwards doesn't move the black bars for 4:3 so it's useless for anamorphic stuff, and it can't squish inwards so it was useless for this), so I ended up using a cheap USB HDMI capture card and OBS, and at that point I thought that I might as well record it. I think Sega Smash Pack on the Dreamcast offered a feature that did this.

https://www.youtube.com/watch?v=yu3EFKRg7CU
I had the following thoughts after checking out the video above:
It's strange that the Genesis apparently never had the ability to use double height sprite and/or background tiles in this mode to compensate for the squishing effect that naturally occurs when running in 480i on these old consoles and TVs, as the games that used it could have had pixels that appeared normal height and also still taken up the full width of screen with that one little addition, which obviously would have looked much better. Unfortunately, this very noticeable squish of everything to half the height was something that instantly put me off the mode in the couple of Genesis games that used it, as everything always just looked kinda off/wrong to me.

That two-player mode on Sonic 2 looks so much nicer when the pixels aren't vertically squished, as we can do on modern TVs and emulators and the like, and as perfectly demonstrated in your clip.

https://www.youtube.com/watch?v=AnEuk8Vj3w0

As it is on Genesis, it seems to work the same way as the SNES does when using interlacing in background modes 0-4 and 7. If it had worked similar to how SNES does in background modes 5 and 6 though, I think we probably would have seen way more Genesis games use this feature, which is a shame:

https://youtu.be/5SBEAZIfDAg?t=366

Interestingly, the SNES actually has both horizontal and vertical tile doubling in Modes 5 and 6 to overcome this squish, but that's because it can double both the horizontal and vertical resolutions, going from the standard 256x224 resolution to 512x448, whereas the Genesis would have only had to worry about it in the vertical direction in its 320x448 mode, as it doesn't have a mode for doubling the horizontal resolution anyway.

Shame SNES used the full 512x448 mode in-game on even less games that Genesis used its 480i mode. RPM Racing is the only title that used it fully in-game. A handful of games did use if for titles screens and menus and such, but it was ultimately woefully underused, as was also the case with quite a few of the SNES' other background modes too.

I'd actually like to see more games use the 480i mode on both these consoles (along with the 512 horizontal resolution on SNES).
Does anyone know if there's a particular reason for not being able to just unsquish the visuals by setting all the tiles to double the height as a standard option on Genesis in the 480i mode?
Last edited by iNCEPTIONAL on Thu Dec 15, 2022 8:17 am, edited 3 times in total.

Enforcer
Interested
Posts: 32
Joined: Thu May 31, 2018 3:49 am

Re: Regarding the 480i mode on Genesis. . . .

Post by Enforcer » Thu Dec 15, 2022 12:47 am

I may be wrong, but I believe there are 2 different interlace modes. Sonic 2 uses mode 2. I don’t know of any game that uses mode 1 or what the difference between the modes are.

iNCEPTIONAL
Interested
Posts: 49
Joined: Thu Feb 17, 2022 1:14 am

Re: Regarding the 480i mode on Genesis. . . .

Post by iNCEPTIONAL » Thu Dec 15, 2022 8:25 am

Enforcer wrote:
Thu Dec 15, 2022 12:47 am
I may be wrong, but I believe there are 2 different interlace modes. Sonic 2 uses mode 2. I don’t know of any game that uses mode 1 or what the difference between the modes are.
I presume this is similar to the two different types of interlacing SNES can do, as seen in modes 0-4 and 7 vs modes 5 and 6 then, but not with the built-in option to use the double-height tiles that compensate for the vertical squish, which the SNES only does specifically in background modes 5 and 6 (plus double-wide tiles to compensate for the horizontal squish when doubling the horizontal resolution too)?

Stef
Very interested
Posts: 3131
Joined: Thu Nov 30, 2006 9:46 pm
Location: France - Sevres
Contact:

Re: Regarding the 480i mode on Genesis. . . .

Post by Stef » Thu Dec 15, 2022 10:23 am

As Enforcer said, there is 2 interlacing modes on Sega Genesis, and one of them allow to preserve correct aspect. It's just that Sonic 2 used the other mode.

See VDP register 0C description here:
https://segaretro.org/Sega_Mega_Drive/VDP_registers
LS1-LS0: Interlace mode:
00 = no interlace;
01 = interlace normal resolution;
10 = no interlace;
11 = interlace double resolution.

iNCEPTIONAL
Interested
Posts: 49
Joined: Thu Feb 17, 2022 1:14 am

Re: Regarding the 480i mode on Genesis. . . .

Post by iNCEPTIONAL » Thu Dec 15, 2022 4:58 pm

Stef wrote:
Thu Dec 15, 2022 10:23 am
As Enforcer said, there is 2 interlacing modes on Sega Genesis, and one of them allow to preserve correct aspect. It's just that Sonic 2 used the other mode.

See VDP register 0C description here:
https://segaretro.org/Sega_Mega_Drive/VDP_registers
LS1-LS0: Interlace mode:
00 = no interlace;
01 = interlace normal resolution;
10 = no interlace;
11 = interlace double resolution.
Well, now I wonder why Sega didn't use what appears to be a standard option that would have given a clearly better output display result then (or anyone else for that matter). What a weird decision on their part, it would seem.

Are there any homebrew/indie games or demos of this in action? It would be very cool to see a 480i Genesis game without the noticeable squish.
Last edited by iNCEPTIONAL on Sun Jan 08, 2023 2:41 pm, edited 1 time in total.

Chilly Willy
Very interested
Posts: 2984
Joined: Fri Aug 17, 2007 9:33 pm

Re: Regarding the 480i mode on Genesis. . . .

Post by Chilly Willy » Thu Dec 15, 2022 10:01 pm

Sonic uses double resolution for two-player so that each half-screen is the standard Sonic resolution. This means all art assets are used as-is. There's no room for other assets to make two-player look not squished. This means two-player looks squished, but the Sonic Team felt that was preferable to paying through the nose for a bigger rom for all the needed tiles.

iNCEPTIONAL
Interested
Posts: 49
Joined: Thu Feb 17, 2022 1:14 am

Re: Regarding the 480i mode on Genesis. . . .

Post by iNCEPTIONAL » Thu Dec 15, 2022 10:20 pm

Chilly Willy wrote:
Thu Dec 15, 2022 10:01 pm
Sonic uses double resolution for two-player so that each half-screen is the standard Sonic resolution. This means all art assets are used as-is. There's no room for other assets to make two-player look not squished. This means two-player looks squished, but the Sonic Team felt that was preferable to paying through the nose for a bigger rom for all the needed tiles.
Ah, yeah, that makes sense.

Has anyone made a modern version that uses the larger ROM available these days for the games to get a Genesis build that runs without the squished visuals?

That would be cool to see.

iNCEPTIONAL
Interested
Posts: 49
Joined: Thu Feb 17, 2022 1:14 am

Re: Regarding the 480i mode on Genesis. . . .

Post by iNCEPTIONAL » Thu Dec 15, 2022 11:01 pm

Stef wrote:
Thu Dec 15, 2022 10:23 am
As Enforcer said, there is 2 interlacing modes on Sega Genesis, and one of them allow to preserve correct aspect. It's just that Sonic 2 used the other mode.

See VDP register 0C description here:
https://segaretro.org/Sega_Mega_Drive/VDP_registers
LS1-LS0: Interlace mode:
00 = no interlace;
01 = interlace normal resolution;
10 = no interlace;
11 = interlace double resolution.
Question: Why are there two "no interlace modes", or so it seems?

Stef
Very interested
Posts: 3131
Joined: Thu Nov 30, 2006 9:46 pm
Location: France - Sevres
Contact:

Re: Regarding the 480i mode on Genesis. . . .

Post by Stef » Fri Dec 16, 2022 10:21 am

That is just the way the register is wired, actually bit 0 is for interlaced mode while bit 1 is for interlacing type (which is meaningless in no interlaced mode).

iNCEPTIONAL
Interested
Posts: 49
Joined: Thu Feb 17, 2022 1:14 am

Re: Regarding the 480i mode on Genesis. . . .

Post by iNCEPTIONAL » Sun Jan 08, 2023 4:58 pm

Stef wrote:
Thu Dec 15, 2022 10:23 am
As Enforcer said, there is 2 interlacing modes on Sega Genesis, and one of them allow to preserve correct aspect. It's just that Sonic 2 used the other mode.

See VDP register 0C description here:
https://segaretro.org/Sega_Mega_Drive/VDP_registers
LS1-LS0: Interlace mode:
00 = no interlace;
01 = interlace normal resolution;
10 = no interlace;
11 = interlace double resolution.
So, just to double check, the interlace normal resolution on Genesis is basically done the same way as the interlacing is handled in Modes 1-4 and 7 on SNES, and the interlace double resolution mode on Genesis is basically done the same way as the interlacing is handled on Modes 5 and 6 on SNES:

https://youtu.be/AnEuk8Vj3w0?t=50 (how it's done in Modes 1-4 and 7 on SNES)

https://youtu.be/5SBEAZIfDAg?t=366 (how it's done in Modes 5 and 6 on SNES)

And the main difference here is that the SNES has the additional 512 horizontal resolution in Modes 5 and 6 that works in conjunction with the equivalent of interlace double resolution mode there to more easily allow for the output of visuals that are not squished in one direction. The SNES actually changes the standard 8x8 tile size to 16x8 in this mode, so it appears to look 8x8 in 512x224 mode, and it also has a 16x16 tile option in every background mode, which is not changed in this mode, thus appearing to look either 8x16 in 512x224 mode or 8x8 in 512x448 mode. Also, the SNES drops to two background layers with one of them in 2bpp in Mode 5 and only has one background in Mode 6 to presumably allow you get roughly around the same amount of unique tiles as the other background modes at basically the same cost in VRAM.
Last edited by iNCEPTIONAL on Fri Jan 13, 2023 12:01 am, edited 10 times in total.

Stef
Very interested
Posts: 3131
Joined: Thu Nov 30, 2006 9:46 pm
Location: France - Sevres
Contact:

Re: Regarding the 480i mode on Genesis. . . .

Post by Stef » Tue Jan 10, 2023 8:33 am

This is afaik the difference between the 2 interlaced modes on MD, one use 8x8 tiles while the other switch to 8x16 tiles.

iNCEPTIONAL
Interested
Posts: 49
Joined: Thu Feb 17, 2022 1:14 am

Re: Regarding the 480i mode on Genesis. . . .

Post by iNCEPTIONAL » Wed Jan 11, 2023 12:31 am

Stef wrote:
Tue Jan 10, 2023 8:33 am
This is afaik the difference between the 2 interlaced modes on MD, one use 8x8 tiles while the other switch to 8x16 tiles.
Unless I'm missing something, using one of the two interlaced modes as described in the developer's manual on pages 69 and 70, you either get pseudo double vertical resolution where it's really just the same image shifting slightly on each field for a slightly flickery "higher-res" optical effect with no visual vertical squishing, or proper double the vertical resolution but where everything is visually squished vertically:

https://fabiensanglard.net/another_worl ... Manual.pdf

Is there some other option/setting I'm missing on Genesis that allows you to have the proper double vertical resolution without any flickering and without the visible vertical squish?

Stef
Very interested
Posts: 3131
Joined: Thu Nov 30, 2006 9:46 pm
Location: France - Sevres
Contact:

Re: Regarding the 480i mode on Genesis. . . .

Post by Stef » Fri Jan 13, 2023 11:12 am

The flickering you're speaking about is because the high resolution mode in done in 448i/480i (note the 'i' which means "interlaced resolution"). This is because that was the way TV was working back in day. Full resolution was made in 2 frames, one frame displaying odd lines, the other frame displaying even frame. There is no such thing as "proper" double vertical resolution (448p / 480p) on the Sega Mega Drive (same is true for the SNES) as the VDP itself cannot handle more than 224/240 rendered lines per frame and also because back in time TV couldn't just handle it anyway.

iNCEPTIONAL
Interested
Posts: 49
Joined: Thu Feb 17, 2022 1:14 am

Re: Regarding the 480i mode on Genesis. . . .

Post by iNCEPTIONAL » Fri Jan 13, 2023 3:59 pm

Stef wrote:
Fri Jan 13, 2023 11:12 am
The flickering you're speaking about is because the high resolution mode in done in 448i/480i (note the 'i' which means "interlaced resolution"). This is because that was the way TV was working back in day. Full resolution was made in 2 frames, one frame displaying odd lines, the other frame displaying even frame. There is no such thing as "proper" double vertical resolution (448p / 480p) on the Sega Mega Drive (same is true for the SNES) as the VDP itself cannot handle more than 224/240 rendered lines per frame and also because back in time TV couldn't just handle it anyway.
Yeah, so Interlace mode 1 is the one where it displays the same 224 image on both fields but just shifted vertically to the odd then even scanlines on each subsequent field, which is why it doesn't look vertically squished but visibly jiggles up and down ever so slightly. And Interlace mode 2 is the one where it displays the even lines of a 448 image on field 1 and then the odd lines of the same 448 image on field 2, to give us the full image each frame without any visible jiggle. But Interlace mode 2 is the one that also visibly squishes everything vertically because it's fitting twice the amount of vertical pixels into the same vertical display height as normal mode, and that's the one Sonic 2 went with for its two-player mode. Got it.

iNCEPTIONAL
Interested
Posts: 49
Joined: Thu Feb 17, 2022 1:14 am

Re: Regarding the 480i mode on Genesis. . . .

Post by iNCEPTIONAL » Mon Apr 03, 2023 9:22 am

https://www.youtube.com/watch?v=D81W5nkUqt4&t=6s

So, I was just looking at Sonic 2 again recently in the video above and noticed that it seems to be updating the 2-player game at 60fps (at least that's what it looks like when I skip through it frame by frame).

Now, I thought any time one of these old 16-bit consoles uses interlaced mode as in Sonic above it can only run at effectively 30fps, since it's drawing the odd half a screen's worth of scanlines in one frame and the other even half of the scanlines in the other frame, thus the full image every two frames, so I'm a bit confused.

So, does Sonic 2 actually run at 60fps in 448 interlaced mode showing the full 448 scanlines every frame, which is what it looks like I'm seeing in that video above?

Similarly, if it does, does that mean that one/both of the SNES' interlaced modes also runs at 60fps too then?

And if so, why does it look like the SNES game in 512x448 mode below is running in 30fps and not similarly updating every frame like Sonic appears to be doing above, which is actually what I expected to see with Sonic 2 also to be honest:

https://youtu.be/imYH1-soTL4

Post Reply