How to setup SNES to display 320x224?

Discussion of hardware and software development for Super NES and Super Famicom.

Moderator: Moderators

Forum rules
  • For making cartridges of your Super NES games, see Reproduction.
magno
Posts: 193
Joined: Tue Aug 15, 2006 5:23 am
Location: Spain
Contact:

How to setup SNES to display 320x224?

Post by magno »

Is there any way to make the SNES output 320x224 resolution?

Using REG $2133 you only can set 256/239 lines height and 256/512 pixeles width, so should I set resolution to 512x224 and the fill with black tiles on the borders? Or is there any other mode to get the desired resolution?

Thanks!
User avatar
Bregalad
Posts: 8036
Joined: Fri Nov 12, 2004 2:49 pm
Location: Caen, France

Post by Bregalad »

I guess there is 4 resolution available vertically (2 with interlacing and 2 without intrlacing), and 2 resolution available horizotally (256 pixels for modes 0,1,2,3,4,7 and 512 pixels for modes 5,6).

Also, I'm not exactly sure, but whenever the extra resolution is enabled vertically, I guess it goes into the overscan area, and you only select if the SNES output something in overcan area or not (which may or may not be visible on NTSC TVs, but will always be visible on PAL TVs).

So it sounds like you'll have to use 512x240 resolution, and hide the rest with black borders. Pixels won't be square tough.
Useless, lumbering half-wits don't scare us.
User avatar
tokumaru
Posts: 12106
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Post by tokumaru »

Why do you want the SNES to output this resolution? Are you trying to emulate another system with it or something?
magno
Posts: 193
Joined: Tue Aug 15, 2006 5:23 am
Location: Spain
Contact:

Post by magno »

tokumaru wrote:Why do you want the SNES to output this resolution? Are you trying to emulate another system with it or something?

I wonder if a port 1:1 could be possible from any NeoGeo's game... Neogeo's native output is 320x224 so sprites should be re-drawn to keep the same aspect ratio and fit on screen.

Using 512x224 implies a lot more of tiles to be sent to VRAM via DMA, and that could be a problem if you want really big sprites...
User avatar
MottZilla
Posts: 2835
Joined: Wed Dec 06, 2006 8:18 pm

Re: How to setup SNES to display 320x224?

Post by MottZilla »

magno wrote:Is there any way to make the SNES output 320x224 resolution?

Using REG $2133 you only can set 256/239 lines height and 256/512 pixeles width, so should I set resolution to 512x224 and the fill with black tiles on the borders? Or is there any other mode to get the desired resolution?

Thanks!
You could create a window of that size in 512 pixel width mode but you would need a background layer dedicated to being on top of any other layer with black tiles to cover the edges. Then you'd have a difference between Sprite position X in hardware and software. When putting Sprites on the screen you'd need to account for the border. But I suppose there is no reason you can't do it, you'd just have to have black borders on both sides of the screen.
User avatar
tokumaru
Posts: 12106
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Post by tokumaru »

magno wrote:I wonder if a port 1:1 could be possible from any NeoGeo's game...
Looking at the NeoGeo's specs I can see it's terribly different from the SNES. It's much more similar to the Genesis/MD, which has a 320x224 mode, the same CPU, and also has a Z80 co-processor. The video hardware is probably very different, but at least the resolution is not a problem.
magno
Posts: 193
Joined: Tue Aug 15, 2006 5:23 am
Location: Spain
Contact:

Post by magno »

tokumaru wrote:
magno wrote:I wonder if a port 1:1 could be possible from any NeoGeo's game...
Looking at the NeoGeo's specs I can see it's terribly different from the SNES. It's much more similar to the Genesis/MD, which has a 320x224 mode, the same CPU, and also has a Z80 co-processor. The video hardware is probably very different, but at least the resolution is not a problem.

Yes, it is very different... the main (in my opinion more powerful) difference is that VRAM in NeoGeo is used to keep sprite data (OBJ) and maps, but tiles are accesed directly from ROM... that's why I want to know if it could be possible to do something like seen in NeoGeo's games using the less powerful SNES hardware...

The first step would be keep the resolution the same but minimize the tiles and VRAM transfers during NMI...
User avatar
Bregalad
Posts: 8036
Joined: Fri Nov 12, 2004 2:49 pm
Location: Caen, France

Post by Bregalad »

Well I'm not sure why to try to do, but if you wrote a Neo Geo game and want to port it in SNES, you'd probably want to use the normal 256x240 resolution and deal with that. Hi-res with huge side borders (which could easily be done with window clipping) would likely look ugly. You also have never more than 2 BGs, one being really simple (4BP) which sounds kinda limitating.

Also sprites are always lo-res even if BG is hi-res so keep that in mind.
Useless, lumbering half-wits don't scare us.
magno
Posts: 193
Joined: Tue Aug 15, 2006 5:23 am
Location: Spain
Contact:

Post by magno »

Bregalad wrote:Well I'm not sure why to try to do, but if you wrote a Neo Geo game and want to port it in SNES, you'd probably want to use the normal 256x240 resolution and deal with that.
Not really a game, but a demo. I didn't write anything yet, just try to program a demo in SNES with NeoGeo sprites (re-drawn, because of the differen aspect ratio) and NeoGeo backgrounds, to figure out if 1:1 ports from Neo could be run in the SNES (same graphics, same effects, same size, same sound... edited properly to use with SNES hardware) using as ROM as needed.

Bregalad wrote: Hi-res with huge side borders (which could easily be done with window clipping) would likely look ugly. You also have never more than 2 BGs, one being really simple (4BP) which sounds kinda limitating.

Also sprites are always lo-res even if BG is hi-res so keep that in mind.
Both are huge limitations, so I will have to use 256x224 :/
BTW, I though in HiRes mode the limit was 4 colors por plane, not 16 (4BPP)... am i wrong?
User avatar
Bregalad
Posts: 8036
Joined: Fri Nov 12, 2004 2:49 pm
Location: Caen, France

Post by Bregalad »

In mode 5 you get 2 BGs :
1 with 4BP tiles (15 colors + transparent per tile) and 1 with 2BP tiles (3 colors + transparent).

In mode 6 you get only the first BG, but you can use the second as "offset per tile" mode, allowing extra effects with it such as vertical split.
Useless, lumbering half-wits don't scare us.
tepples
Posts: 22345
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples »

Neo Geo has hardware sprite shrinking, used in several fighting games for zooming in and out. Super NES does not. One could use Super FX, but the existing ports of fighting games for Neo Geo or KI-U64 hardware to the Super NES just leave out some of the zoom effects.
Last edited by tepples on Mon Nov 23, 2009 9:16 am, edited 1 time in total.
User avatar
Bregalad
Posts: 8036
Joined: Fri Nov 12, 2004 2:49 pm
Location: Caen, France

Post by Bregalad »

Well I'm pretty sure Tales of Phantasia and Star Ocean does software shrinking, and Mario Kart seems to do something similar, I don't know if it's pre-rendered or if it uses the DSP1 or SNES CPU to stretch sprites in real time.
Useless, lumbering half-wits don't scare us.
tepples
Posts: 22345
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples »

Super Mario Kart uses prerendered sprites, just like Rad Racer (for NES) and F-Zero. Go into battle mode, get far away from the other player, and face the other player while the other player hops in a circle. You'll notice that the far away versions have fewer angles than the close-up, and they're always pixel perfect with no aliasing artifacts. You might be confusing it with Mario Kart Super Circuit for GBA, which uses hardware sprite shrinking.

I don't know how fast it would be to perform software sprite scaling at the resolutions necessary for a fast-paced fighting game on a 65C816 CPU at 3.6 MHz. My intuition says less than 30 frames per second (15 per player), but skilled coders have proven my intuition wrong before (as seen in Payback, a Europe-exclusive GTA/GTA2 clone for GBA).
User avatar
Bregalad
Posts: 8036
Joined: Fri Nov 12, 2004 2:49 pm
Location: Caen, France

Post by Bregalad »

I haven't played Super Mario Kart for a long time so I don't remember really.
I also have no idea how slow it would be to scale sprites in real time on the SNES, but Tales of Phantasia does that at some points, and Chrono Trigger too (in the Johny-C-Bad motorbike race). Unless they scaled sprites at compilation time and leave them as-it with pixelised articacts which I'd find surprising.

I don't know if mango is doing a figher game, nor if he plans to hardware scale sprites.
Useless, lumbering half-wits don't scare us.
User avatar
tokumaru
Posts: 12106
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Post by tokumaru »

Bregalad wrote:I don't know if mango is doing a figher game, nor if he plans to hardware scale sprites.
Mango?

Image

Now you made me want to eat mangoes... I don't have any at home. I'll call my wife and see if she can buy some on the way home.

BTW, this image is 640x480px, too large to fit the NeoGeo or the SNES.
Post Reply