Jump to content
IGNORED

Genesis Shadow/Highlight mode


Kirk_Johnston

Recommended Posts

Normally, we think of the Genesis as having a 512-colour main palette with 64 colours onscreen (give or take a few for the transparent colour in each palette), if not using any kind of raster effects and interrupts and the like.

 

So, with shadow/highlight mode, is that now roughly 1536 colours in the main palette (with some duplicates) with 192 colours onscreen (give or take a few for the transparent colour in each palette), or, is it roughly 1536 colours in the main palette (with some duplicates) but still with 64 colours onscreen (give or take a few for the transparent colour in each palette), if not using any kind of raster effects and interrupts and the like?

 

Obviously the Genesis can show even more colours using fancy raster effects and interrupts and the like, into the hundreds and even thousands I think (in static images), but I'm just trying to figure out the numbers for second normal/standard documented colour mode.

Edited by Kirk_Johnston
Link to comment
Share on other sites

Shadow/highlight is kinda weird... it's not done on the digital side, it's done on the analogue side. The way it works is you overlay a region of the screen with a sprite set to certain pixel values, and where it overlaps the layers, the layers are either made brighter or darker. Technically, what the Genesis does is divide the analogue RGB signal in half; if you are outputting shadowed pixels, you use that signal; if you are outputting highlighted pixels, it then adds half the full brightness to the cut in half RGB. As this is all analogue, the levels are not quite the same as corresponding levels of the normal RGB signal. So you could think of like 512 colors in the palette from the normal signal (9 bit BGR from the cram), plus 512 more colors at half the brightness (shadow), plus 512 more colors from half the brightness + half full bright (highlight). So demos that use shadow and highlight for more colors often claim 1536 colors. While the analogue nature means this is technically true, half of each is generally going to be very similar to the normal colors, so it's really more like 512 + 256 + 256, or 1024 colors. Remember that these colors are going to be limited as they need sprites to signal where they appear, which means sprites for gaming are going to be limited if you're using them to generate more colors for the layers. In general, this sort of thing is only done for static images. In a real game, shadow would be for things like making shadows of sprites hovering over ground, for example. Highlight would be for like a spotlight affect on the background layer. You'll see that in many MD games. Using these modes to do higher color images is mainly only seen in static image demos.

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

20 hours ago, Chilly Willy said:

Shadow/highlight is kinda weird... it's not done on the digital side, it's done on the analogue side. The way it works is you overlay a region of the screen with a sprite set to certain pixel values, and where it overlaps the layers, the layers are either made brighter or darker. Technically, what the Genesis does is divide the analogue RGB signal in half; if you are outputting shadowed pixels, you use that signal; if you are outputting highlighted pixels, it then adds half the full brightness to the cut in half RGB. As this is all analogue, the levels are not quite the same as corresponding levels of the normal RGB signal. So you could think of like 512 colors in the palette from the normal signal (9 bit BGR from the cram), plus 512 more colors at half the brightness (shadow), plus 512 more colors from half the brightness + half full bright (highlight). So demos that use shadow and highlight for more colors often claim 1536 colors. While the analogue nature means this is technically true, half of each is generally going to be very similar to the normal colors, so it's really more like 512 + 256 + 256, or 1024 colors. Remember that these colors are going to be limited as they need sprites to signal where they appear, which means sprites for gaming are going to be limited if you're using them to generate more colors for the layers. In general, this sort of thing is only done for static images. In a real game, shadow would be for things like making shadows of sprites hovering over ground, for example. Highlight would be for like a spotlight affect on the background layer. You'll see that in many MD games. Using these modes to do higher color images is mainly only seen in static image demos.

Well, this is very interesting and a bit of a revelation to me. I never realised you had to use sprites to actually take advantage of shadow/highlight. I totally thought you could apply this anywhere on backgrounds freely. And, interestingly, the way you've described it here really clarifies to me maybe why Sega called it shadow and highlight respectively too, as it totally says what it does on the tin now that I think about it. But, yeah, I never knew it was limited to sprites as such. Although, like you said, you can obviously use those sprites to do a whole load of stuff and even fake it being part of the background and whatnot (and I've seen some very impressive stuff done with it, especially given the limitations there).

 

And, so, in typical use, does that mean you can have around three times a many unique colours onscreen when using shadow/highlight as compared to the normal 64 that most people think of then, for around 192 unique colours onscreen?

 

Edit: Seems I got that a bit wrong and there's both a background shadow/highlight mode and a sprite shadow/highlight mode, with the caveat on the backgrounds being that it can apparently only be applied on a per-tile basis rather than per-pixel one (at least as it's covered here:https://youtu.be/fqoeZtouUsk).

 

Now, can they both be applied at the same time at least, or is it just a case of one or the other?

Edited by Kirk_Johnston
Link to comment
Share on other sites

For shadow only, you can use the priority bits on the tile name to control shadow/no shadow for the entire tile. That's maybe the easiest way to get large area shadows, but you give up priority control for shadows. Sprite marking allows shadow and highlight, and on single pixels.

 

Also, I think you're confusing palette with colors. The Genesis only has 64 total colors that can be displayed out of a palette of 512 colors. You can change those 64 color registers on the fly, allowing for more unique colors on the screen. Shadow and highlight applies at that 64 color register level, so you can show 64*3 or 192 colors out of (theoretically) 1536 colors; 64 out of 512 BGR colors, 64 out of 512 shadowed colors, and 64 out of 512 highlighted colors.

 

Plenty of games change the colors on the fly to get more unique colors on the screen, like the water level in Sonic games. That's done by changing the color registers right where you switch from air to water. There's a limit to how many color registers you can change on a line without affecting the display. Sonic actually goes a bit beyond that number resulting in noise in the line where the colors change, but the game uses the water tile surface animation to cover the noise.

Link to comment
Share on other sites

3 hours ago, Chilly Willy said:

For shadow only, you can use the priority bits on the tile name to control shadow/no shadow for the entire tile. That's maybe the easiest way to get large area shadows, but you give up priority control for shadows. Sprite marking allows shadow and highlight, and on single pixels.

 

Also, I think you're confusing palette with colors. The Genesis only has 64 total colors that can be displayed out of a palette of 512 colors. You can change those 64 color registers on the fly, allowing for more unique colors on the screen. Shadow and highlight applies at that 64 color register level, so you can show 64*3 or 192 colors out of (theoretically) 1536 colors; 64 out of 512 BGR colors, 64 out of 512 shadowed colors, and 64 out of 512 highlighted colors.

 

Plenty of games change the colors on the fly to get more unique colors on the screen, like the water level in Sonic games. That's done by changing the color registers right where you switch from air to water. There's a limit to how many color registers you can change on a line without affecting the display. Sonic actually goes a bit beyond that number resulting in noise in the line where the colors change, but the game uses the water tile surface animation to cover the noise.

What's strange is I can't really find any official games that go much above the normal 64 onscreen colours, even when using shadow/highlight. I know Ranger X uses shadow/highlight in a couple of the levels, but that only managed 65 colours onscreen max, and in maybe one or two places: 

I would have thought there'd be way more examples of games that took advantage of shadow/highlight more to show way more than 64 onscreen colours, especially given how big a deal was made of the SNES being able to put 256 colours onscreen back in the day.

 

I guess one issue might have been that this kind of shadow/highlight approach often doesn't look great in practice, because it creates a kind of dull "Euro" aesthetic in many cases as a result of not being able to hue shift when going to the light or darker version of the colour, so maybe that's why it was rarely used. Although I still would have expected some games to go to town with it, especially European games that had that look most of the time anyway.

 

And I know there's exploits to get the system to show more colours onscreen, like changing entire palettes on new scanlines and such, but I mainly just thinking about the officially documented colour options here and trying to understand exactly how they worked.

Edited by Kirk_Johnston
Link to comment
Share on other sites

3 hours ago, Kirk_Johnston said:

I would have thought there'd be way more examples of games that took advantage of shadow/highlight more to show way more than 64 onscreen colours, especially given how big a deal was made of the SNES being able to put 256 colours onscreen back in the day.

 

I think this comes down to game design - remember that you don't REALLY have 64 colors, you have four banks of 16 colors (one of which is/may be transparent). You often use maybe one bank of the palette for the background, then each of the other three banks to make sprites different colors. So much of the screen is just 16 colors, while little sprites flitting around here and there on the screen may or may not be 15 to 45 other colors which may or may not themselves be different from the background. If the game is a port of an ST game, it's often just 16 colors, period. I've read articles on the number of colors in games on the MD, and very often, it's in the range of like 20 to 40 colors! A GOOD game pushing the graphics might be 80 colors or so.

 

There's also the issue of color selections - sometimes, you have no choice in not using a lot of colors. Example: you've got a game set in the forest with lots of trees and not much else. You've got seven shades of pure green on the MD palette. With a touch of red and blue thrown in here and there, you might push that to 16 shades of mostly green. This is a case where being able to use shadow or highlight might help as 7 shades of one color is not that great. Remember that the MD palette consists of three fields of 3 bits each: blue 0 to 2, green 0 to 2, and red 0 to 2. Level 0 is black, and 7 is full brightness. The first VGA used six bits per field, allowing for a much wider range of colors.

 

Edited by Chilly Willy
misspelling
Link to comment
Share on other sites

  • 3 weeks later...

I'm curious, given that shadow/highlight is a documented feature of Genesis, why isn't it written in even in the official documentation [presumably] that the Genesis can officially put 192 colours onscreen from a palette of 1536, rather what is written pretty much everywhere online and even officially, which is 64 colours onscreen from a palette of 512?

 

I mean, isn't that max 192 colours onscreen from a palette of 1536 total available colours exactly what it's capable of when all is said and done. So, why officially list numbers that are lower than what the system can actually choose from and show onscreen.

 

What's the caveat to using shadow/highlight that I'm missing here, which means Sega didn't just list it as 192 colours onscreen from a palette of 1536, and such that everyone and every resource doesn't just list it as such nowadays at least?

 

I know it's probably all been kinda covered above in one way or another, but I'm just looking for the clear distinctions between the two and the various limitations of and any caveats with the shadow/highlight mode [in layman's terms], so I can understand why it's really not so simple as just saying "Actually, the Genesis actually has 1536 colours to choose from and can display 192 colours onscreen."

Edited by Kirk_Johnston
Link to comment
Share on other sites

Well, like I said, that 1536 color palette is kinda 1536-ish... two thirds of those colors cover the same range as the normal 512 colors, just slightly off on the exact analogue voltage. They're also not directly set - the 64 color registers set the actual colors, and shadow/highlight modifies just THOSE colors slightly one way or the other. So it's kinda 192-ish out of 1536-ish... kinda, sorta, in a manner of speaking, but not really. It's just easier to say 64 colors out of 512 and leave the rest to the programmers and artists. Some will take advantage of it, and others won't.

 

Link to comment
Share on other sites

  • 4 weeks later...
4 hours ago, SlidellMan said:

Blue Sky Software used Shadow & Highlight Mode quite well in both of the Vectorman games:

 

Yeah, I personally find Vectorman a bit of an ugly game, with a kind of programmer/prototype/placeholder art and also an almost "Euro-art" dull and non-hue-shifted look to it for the most part, which I'm really not a fan of, but it does make good use of shadow/highlight mode and do some cool/interesting visual effects too.

Edited by Kirk_Johnston
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...