Widescreen Resolutions for Saturn Homebrew? How Did Saturn Bomberman Do It?

slinga

Established Member
I've been messing around with the various resolutions listed in sl_def.h attempting to get something that could pass for widescreen. How did Saturn Bomberman do it? I can't find the post ATM, but I read that the 10 player hi-res mode was running in 704x480. Then the player would then use the "Zoom" or "Wide Screen" options on their TV to stretch the game to fill the screen.

1) I'm a bit confused by the game's internal resolution vs the Saturn's outputted resolution. If I have a game running with an internal resolution of 704x512, will the Saturn output 704x512 or will the video encoder standardize the signal to something like 240p?
2) What exactly do the "Zoom" and "Wide Screen" buttons do? According to Wikipedia "Zoom mode evenly stretches the picture both horizontally and vertically, until the picture fills the entire width of the screen. This crops out the top and bottom of the picture." If I have a 4:3 image and I stretch the width to 16:9, I would multiply the width and the height by 4 giving me 16:12. Then I would need to crop the height by 25% meaning my starting image should be 4:2.25. I would take 12.5% off from the top and another 12.5% from the bottom of the image and not use them.

So for widescreen I should use 320x240 as my internal resolution, have my game use the middle 75% of the 240 height resolution, and use the "Zoom" option on my TV? Thanks in advance.
 
Alot I cannot answer but:

- The Saturn isn't outputting a digital signal, so "resolution output" isn't quite accurate but ..
In hi-res modes, the signal output is representative of the internal resolution.
So 704x448 really does put out more seen pixels than 352x224.
In all cases it should be noticed the output signal is the regional standard.
NTSC consoles output an NTSC video signal.
PAL consoles output a PAL video signal.

To see exactly what that is ... look it up. They are analogue signals, so merely saying that "640x480 is NTSC" doesn't sum up the amount of discrete pixels an NTSC signal could display.
The Saturn has more obtuse video modes that are not strictly NTSC or PAL but SGL doesn't seem to support them.
[*CITATION NEEDED]

- Zoom / Wide Screen is going to depend on the TV.
But what I can say is, you can at say 640x480, use slWindow to define a display area of 640x360. That is a 16:9 resolution.
You could also use 320x240, and use slWindow to define a display area of 320x180.
Whatever cropping or scaling mode your TV has should be able to full-screen that.
But since it's wide-screen, we're really talking about HDTVs here, and again the availability of such options and how they work depends on the TV.

Since we're also talking about modern HDTVs, how are you connected to it?
If it's actually accepting the analogue video via S-Video or composite, you know what's on screen is going to be what the Saturn is putting out.
But if you are converting the signal, the signal converter is most likely moving it to 720p and simply putting the output in the center of it.
 
Last edited:
In Saturn Bomberman, the wide playfield is indeed displayed in double interlaced hi-res mode, so Saturn's a rendering resolution is doubled horizontally and vertically.

However in that game, "wide" doesn't mean widescreen. It's just that the resolution of the playfield is 4 times bigger (twice larger and twice taller) than the "normal" playfield. It isn't meant to be stretched horizontally to widescreen16:9 aspect ratio, as the game renders the sprites and layers with the same aspect ratio in wide mode as in normal mode. Of course, nothing prevents the player to stretch the image to widescreen on his TV, but that's not intended by the programmers.

If you want to do a widescreen mode in a Saturn game, you have to render a 16:9 image squeezed into a 4:3 resolution so that when it is stretched horizontally by the widescreen mode of the player's TV, it will display with the intended ratio. To my knowledge, only Nights and Panzer dragoon zwei have such a widescreen mode on Saturn.
 
The wide screen aspect will be handled by your projection matrix (or, for 2d, with scaled sprites, you can just play with the width size). Sgl doesn't use a projection matrix, so when you increase the resolution your fov will also increase. So say you use 352x480i, your game will display twice more on the y axis than in 352x240 mode.
You can play with the projection screen distance to change your fov and get a wider display on lower resolution (slPerspective).
 
Took some time to test on real hardware but it looks like 320x240 using my TV's zoom feature worked well. As we discussed I left the bottom and top ~12.5% of the screen unused. Using an interlaced mode did not work well at all. It's likely that the slPrint functions do not support interlaced resolutions.

Anyway some (potato quality) pictures: . I used composite cables plugged directly into my TV.

Thanks again for the advice.
 
Back
Top