PDA

View Full Version : Sega CD - Scaling and Rotation



Joe Redifer
05-19-2007, 05:46 PM
As many of you probably don't know, the Sega CD added the ability to scale and rotate images, which the Genesis could only do through software and only barely. Many people like to complain that the Sega CD is useless since all of its games were either FMV games or Genesis games with CD music. NOT TRUE!

I have made a video which shows great examples of all the games that I have which use the scaling and/or rotation features prominently during gameplay, creating effects that could not be done on a stand-alone Genesis, SNES or even NeoGeo. Sure, some Genesis carts may do similar things here and there, but usually on a MUCH smaller scale (no pun intended). The SNES was limited to scaling the background only (couldn't scale or rotate sprites) and the NeoGeo could not rotate anything.

Watch Youtube video now (Youtube destroys detail :( )

http://www.youtube.com/watch?v=k80dODWdj9I

Fonzie
05-19-2007, 06:15 PM
Nice tribute dude!
The segacd arithmetic chip is really powerfull (batman return use it at maximum fillrate, apparently).
However, the megacd architecture make it very unconfortable to use it and there is a lot of wasted processing (megadrive cpu is probably halted +80% of the time on such games, and it is barely possible to use more than 16 colors, 31 colors in some rare cases)...

Top of that, when transfering the picture from segacd to megadrive, the chip cannot draw anything ^^ That's a piece of unefficient shit ^^


Nice to see that some games (like soulstar) used the dynamic color relocation (to make fade-in/fade-out effects), those programmers were nuts ^^.

Zebbe
05-19-2007, 07:18 PM
I want to download this video in full quality. I promise to give cool comments after I've watched it.

evildragon
05-19-2007, 07:55 PM
i really liked this video demonstration.. i think i may get some of those games :P especially soul star.. now i see what all the talk is about..

Zebbe
05-19-2007, 08:10 PM
OK, I've seen it now and I agree with you that this is a very good demonstration of what the Sega CD can do. I can't wait to see what 108 Stars thinks of it :D.

I doubt the SNES can do the Sonic CD stages better than that. I mean, they had extra chips with pretty much every game that used mode 7, and they could still be slower than Sonic CD.

By the way, what is the graphical effect used in Space Harrier II, Outrun etc. on the Mega Drive called when it obviously isn't scaling?

0x15e
05-19-2007, 08:14 PM
That's a really nice video. I'd like to see a full quality one as well. I never realized Batman looked that good ... gonna have to go buy one now. :)

It also makes me want to play some Jaguar XJ220 ... it's been a while.

Ash
05-19-2007, 08:25 PM
I remember getting Jaguar XJ220 and being amazed how smooth the scaling was in comparison to Outrun. That hardware scaling is 1000 times better, although F-1 Beyond the Limit was one seriously shitty game. Ugh, the horror. Damn nice video!!!

Joe Redifer
05-19-2007, 10:07 PM
OK here is the full quality one (albeit at 320x240).

Click to download (http://pixelcraze.film-tech.net/stuff/Scaling_small.mov) 80.8 MB - Quicktime 7.

I did not make a WMV, but I might if enough people whine at me to make one.

evildragon
05-19-2007, 11:37 PM
Joe, btw, I don't think the Sega CD can scale sprites. Only the one with the VDP itself can do that, and that is the Genesis.. The 32X can do this as it's overlaying on top of the Genesis graphics, and it can have the top layer. I think the Sega CD only has the backgrounds...

(where why in Batman the cars are a background layer)

lets say the CD could scale Genesis sprites. That would mean the Genesis has either more sprites to draw, or less, and that's not a logical way to do it...

Joe Redifer
05-20-2007, 01:18 AM
When you press START to pause Soul Star, all of the sprites go away and the background remains. The things that go away are your ship, enemy ships, their shots, your shots, debris, etc etc. All of that stuff scales without exception. The stuff that stays also scales. Nobody ever said the design of the Sega CD was logical. The 32X video can be both on top of and underneath Genesis video... at the same time.

evildragon
05-20-2007, 02:10 AM
When you press START to pause Soul Star, all of the sprites go away and the background remains. The things that go away are your ship, enemy ships, their shots, your shots, debris, etc etc. All of that stuff scales without exception. The stuff that stays also scales. Nobody ever said the design of the Sega CD was logical. The 32X video can be both on top of and underneath Genesis video... at the same time.
I know 32X video can go behind, but it requires a mask in the programming. Read my 32X dual monitor theory, I describe how the 32X overlaying system works.

I still think all the ships are a layer. remember in the layout i showed you of Batman Returns? All of those cars were on the same layer as the track, the Sega CD pre-rendered them all like a video. The only sprite on it was the city background, and that was it.

Ask Fonzie, he knows the Sega CD more than me, he'll know if it can scale an actual sprite on the Genesis VDP. I don't think it can though..

Joe Redifer
05-20-2007, 03:38 AM
I'm pretty sure the ships are their own layer.

JFLY
05-20-2007, 08:37 AM
Great video! The traffic in the Adventure of Batman and Robin looks totally insane! I don't think setting the car difficulty to expert in the Sega Saturn version of Out Run produced more cars on the screen than this game.

Fonzie
05-20-2007, 09:12 AM
The segacd have nothing linked to megadrive video ;)

The aritmetic chip just draw a 16color picture (can be either big background map or stamps-sort-of-sprites, with any rotation & scalling ratio) into a ram buffer... Then the buffer is sent on the megadrive side, then the megadrive CPU copy the data to its videoRAM to display it.

Each game choose its own display method (since the copy is software based), sometimes they display the things using background layers, sometimes using sprites...

In other words, to display a segacd aritmetic chip picture, you need to drop several megadrive display features.
In other other words, the megacd is a piece of crazy processing waste ^^

If the segacd could display imediately something (like the 32x do, using video mixing), it could have been hell faster than the 32x at drawing stuff, that's so sad...

evildragon
05-20-2007, 09:19 AM
The segacd have nothing linked to megadrive video ;)

The aritmetic chip just draw a 16color picture (can be either big background map or stamps-sort-of-sprites, with any rotation & scalling ratio) into a ram buffer... Then the buffer is sent on the megadrive side, then the megadrive CPU copy the data to its videoRAM to display it.

Each game choose its own display method (since the copy is software based), sometimes they display the things using background layers, sometimes using sprites...

In other words, to display a segacd aritmetic chip picture, you need to drop several megadrive display features.
I can't see how it can scale or rotate a sprite though.. for example:

Sprite size



o o o o
o o o o Genesis Sprite from Sega CD
o o o o
o o o o

I could understand if it scaled under, as it's still viewable. But if it scaled larger, wouldn't the image get cropped?



o o o o
o i i o Downscaled Sprite
o i i o
o o o o

x x x x x x
x i i i i x
x i i i i x Upscaled Sprite. "X" meaning
x i i i i x Not shown due to not fitting.
x i i i i x
x x x x x x

Hope that makes sense...

Fonzie
05-20-2007, 09:56 AM
It is the segacd chip that scall stamps, any size, any ratio, any angle, it have nothing to do with genesis sprites...

If you still want to display the result in a standard genesis sprite (32*32pixel), yeah, the cropping will occur ;) But in most case, they used background layers to show the result, so all the "stamps" can be any size without any crop because they are all flatten inside a unique and big image.

Elusive
05-20-2007, 10:17 AM
Inefficient as it may be, that's still an excellent performance shown in the clips. If the 32X was used for a purpose other than simply to add more colour to CD games, and the transfer between Mega Drive and Mega-CD was more efficient, who knows what results we'd be seeing.

evildragon
05-20-2007, 01:27 PM
It is the segacd chip that scall stamps, any size, any ratio, any angle, it have nothing to do with genesis sprites...

If you still want to display the result in a standard genesis sprite (32*32pixel), yeah, the cropping will occur ;) But in most case, they used background layers to show the result, so all the "stamps" can be any size without any crop because they are all flatten inside a unique and big image.
Ok, that's exactly what I was saying then. It's all put to a layer, like a pre-rendered "video"..

ThunderForce
05-20-2007, 06:51 PM
Sad that Core was the only developer who used the Scalling chip to its fullest.

Joe Redifer
05-20-2007, 08:31 PM
And Malibu Interactive. Core didn't make Batman Returns.

evildragon
05-20-2007, 08:39 PM
You know what? I think Soul Star could almost pass as a PlayStation game. It looked THAT good...

Joe Redifer
05-20-2007, 08:47 PM
Hey Fonzie, Soul Star puts more than 16 colors per scaling layer onscreen at once.

evildragon
05-20-2007, 08:49 PM
Hey Fonzie, Soul Star puts more than 16 colors per scaling layer onscreen at once.
you know, i've been thinking about this... even though the layer is a single pre-rendered image, maybe he means each of the "layers", in that one pre-rendered layer?

Joe Redifer
05-20-2007, 09:24 PM
Well the giant purple ship itself has at least 24 colors on it. On top of that are the enemies, your ship, etc which are also created by the Sega CD and use different colors than the ship. Overall there are about 50 colors onscreen for that scene alone.

evildragon
05-20-2007, 09:35 PM
Well the giant purple ship itself has at least 24 colors on it. On top of that are the enemies, your ship, etc which are also created by the Sega CD and use different colors than the ship. Overall there are about 50 colors onscreen for that scene alone.
ok, then yea, the max was reached...

(off topic: got myself a euro MD, and man is the music in Sonic 1 SLOOOOWWW!!!)

Joe Redifer
05-21-2007, 01:03 AM
The Sega CD definitely scales in separate layers, check out this GIF I made from the 60fps version of the video (each frame is 1/60th of a second apart from the last):

http://pixelcraze.film-tech.net/crap/bc.gif

As you can see, the "sprite" layer updates before the "background" layer, which is the floor.

evildragon
05-21-2007, 01:07 AM
The Sega CD definitely scales in separate layers, check out this GIF I made from the 60fps version of the video (each frame is 1/60th of a second apart from the last):

http://pixelcraze.film-tech.net/crap/bc.gif
you forgot one thing, a single layer is only required to achieve the effect of more than one.. remember, one layer, and it's like a video stream of the game.. picture it, if you will, as a "Virtual Display".. so it can appear to use more than one layer, but it's actually one...

and a glitch like that can be the ASIC not going fast enough...

Fonzie
05-21-2007, 03:27 AM
Lol, no, its just because of that :
Since they cannot go over 15 color per flat buffer, they just make the Arithmetic chip generating two flat pictures (usualy one with ground and one with 2d objects). Then they use BOTH megadrive layers to reconstruct the image using two color palette ;)... This is a giant waste of transfert time, again... (two times slower, at least).

There is nothing magic or tricky around this ;)
Its just a little software trick.

More advanced games like soulstar probably even use 3 or more buffers that are displayed using megadrive A, B and a maybe a bunch of sprites...
Btw : a single megadrive layer can contain two palettes ;) In the case of bcracer, the bottom of the background layer is using the ground palette and the top the sky palette, but the segacd flat picture is still 15color for the bottom part ;)

The megacd architecture is basicaly showing its limit on sonicCD special stage... Even sega couldn't master the system... Also, the documentation says that the "aritmetic chip was finaly designed for non-real time displays, like golf games", it says all ;)

Joe Redifer
05-21-2007, 05:55 AM
Actually I think the Sonic CD special stage is one of the weakest examples of that chip. It has a single flat floor and nothing more. The objects that float around that Sonic must smash don't even use scaling. That's why I think the SNES could do better on that one example. The Sonic CD special stage runs at about 22 frames per second with non-scaling Genesis sprites. The SNES could have done the floor at 60fps with non-scaling SNES sprites.


you forgot one thing, a single layer is only required to achieve the effect of more than one.. remember, one layer, and it's like a video stream of the game.. picture it, if you will, as a "Virtual Display".. so it can appear to use more than one layer, but it's actually one...

and a glitch like that can be the ASIC not going fast enough...
Remember those frames are 1/60th of a second apart. Why would the ASIC update a single layer twice in that time? Answer: It doesn't. It's clearly using more than one layer.

evildragon
05-21-2007, 06:13 AM
Actually I think the Sonic CD special stage is one of the weakest examples of that chip. It has a single flat floor and nothing more. The objects that float around that Sonic must smash don't even use scaling. That's why I think the SNES could do better on that one example. The Sonic CD special stage runs at about 22 frames per second with non-scaling Genesis sprites. The SNES could have done the floor at 60fps with non-scaling SNES sprites.


Remember those frames are 1/60th of a second apart. Why would the ASIC update a single layer twice in that time? Answer: It doesn't. It's clearly using more than one layer.
i don't believe the ASIC has a wide enough stream for multiple layered streams like that...

evildragon
05-21-2007, 06:17 AM
anyway, i will download the game, and diagnose it.. i will see where the graphics are being stored, and how... (i can check the SCD wordRAM.. that will tell me how it's being done)

EDIT: Ok, I admit, I was wrong. It IS using layer A and B. I checked the word RAM, on the Sega CD, and saw the tiles for both the road, trees, a trash can?, and the HUD...

Layer B: Road
Layer A: Players, Obstacles, HUD

Joe Redifer
05-21-2007, 06:24 AM
Dude, seriously, learn to use the http://www.sega-16.com/forum/images/buttons/edit.gif button. Thanks.

evildragon
05-21-2007, 06:25 AM
Dude, seriously, learn to use the http://www.sega-16.com/forum/images/buttons/edit.gif button. Thanks.
look above Joe, I DID use the EDIT button, when I realized I accidentally made a double-post..

Joe Redifer
05-21-2007, 06:31 AM
That's not what I'm talking about. You made a post at 3:13 and then you made another one only 4 minutes later.

evildragon
05-21-2007, 06:34 AM
That's not what I'm talking about. You made a post at 3:13 and then you made another one only 4 minutes later.
I AM AWARE, I said I accidentally double posted, hence why I used the EDIT button on the second post, to make an update..

anyway, lets not take the thread off topic..

0x15e
05-21-2007, 08:59 AM
You know what? I think Soul Star could almost pass as a PlayStation game. It looked THAT good...
I was thinking that about Batman and Robin, too. It looks a lot like a first-generation PS1 game to me.

Black_Tiger
05-24-2007, 08:50 PM
I was thinking that about Batman and Robin, too. It looks a lot like a first-generation PS1 game to me.

I thought the exact same thing about that game and some of the others in Joe's video. :)