Request: Widescreen Support

Found a bug? Please report it, but remember to follow the bug reporting guidelines.
Missing a sane feature? Let us know!
But please do NOT request ports to other systems.

Moderator: ZSNES Mods

UndaC
New Member
Posts: 4
Joined: Sun Jan 23, 2005 12:07 pm

Request: Widescreen Support

Post by UndaC »

I recently bought a 50 inch HDTV set with 1280x720 resolution.
Now in SNES9X setting 1280x720 works like a charm, but personally I prefer zsnes (I left my brains in the womb).

I assume this will be farily/very simple to implement.

I do also realize that this would strech the picture and distort the original aspect ratio but for videogames I find a distorted aspect ratio less irritating than large black borders around the screen.

Unfortunately my TV (as many others) doesn't support any strech functionality on the VGA/DVI inputs.

Cheers
/Anton
Aerdan
Winter Knight
Posts: 467
Joined: Mon Aug 16, 2004 10:16 pm
Contact:

Post by Aerdan »

*sigh*

We can't always support every single resolution under the sun. If you want a specific resolution, download the sources and add it yourself.
grinvader
ZSNES Shake Shake Prinny
Posts: 5632
Joined: Wed Jul 28, 2004 4:15 pm
Location: PAL50, dood !

Re: Request: Widescreen Support

Post by grinvader »

And then, you'll see how 'fairly/very simple' it can get.
皆黙って俺について来い!!

Code: Select all

<jmr> bsnes has the most accurate wiki page but it takes forever to load (or something)
Pantheon: Gideon Zhi | CaitSith2 | Nach | kode54
UndaC
New Member
Posts: 4
Joined: Sun Jan 23, 2005 12:07 pm

Post by UndaC »

Oh well, sorry for asking then.

I don't expect to have each and every resolution supported, but at least one widescreen (19:9) resolution would be very nice. It's not like I'm demanding anything, it was just a suggestion so I don't see why it should upset people?

Of course: if I had any programming knowledge I would add it myself.
Kagerato
Lurker
Posts: 153
Joined: Mon Aug 09, 2004 1:40 am
Contact:

Post by Kagerato »

This request was/is disturbing for two reasons...

1.) It's been asked for (and ignored/refused/neglected) quite a number of times before.

2.) You assume that it's easy to do. There's hardly anything that's easy to implement with ZSNES; the majority of the code is still not-completely-documented x86 assembly.

While this is good feature to have, the developers have the right to decide whether it is more or less important than any of the thousands of other things they can work on at the moment.

In short, look over the forums more closely before you post. If it's been suggested before, don't bother suggesting it again. Additionally, don't ask for significant effort from someone else without first providing some kind of reimbursement (money usually works fine).
UndaC
New Member
Posts: 4
Joined: Sun Jan 23, 2005 12:07 pm

Post by UndaC »

Kagerato wrote:This request was/is disturbing for two reasons...

1.) It's been asked for (and ignored/refused/neglected) quite a number of times before.

2.) You assume that it's easy to do. There's hardly anything that's easy to implement with ZSNES; the majority of the code is still not-completely-documented x86 assembly.

While this is good feature to have, the developers have the right to decide whether it is more or less important than any of the thousands of other things they can work on at the moment.

In short, look over the forums more closely before you post. If it's been suggested before, don't bother suggesting it again. Additionally, don't ask for significant effort from someone else without first providing some kind of reimbursement (money usually works fine).
I did use the search function to search for the topic "widescreen" and found more or less nothing on the topic.

And yes, apparently calling it easy was a mistake. It was not meant to belittle anyones work. The sentence was rather meant to indicate that I was (at the time of the posting) under the impression that the implementation of this request might not add much work. Apparently it does; my bad.

Of course the developers decide what they want to do or not. I never implied anything else. I never demanded anything.
It was simply a suggestion. I mean for christ sake the Forum is called "Feature Requests"... :?
Kagerato
Lurker
Posts: 153
Joined: Mon Aug 09, 2004 1:40 am
Contact:

Post by Kagerato »

You implied you wanted to know why your request was belittled. I merely responded.

As for the search, while phpBB's search function is good, it's not flawless. It often takes several queries to hunt down the requested information (but this is the same with any search, including google).

"widescreen" was discussed in the following topics:

Best Feature of zSNES:
http://board.zsnes.com/phpBB2/viewtopic ... widescreen

Feature Request: New Video Modes:
http://board.zsnes.com/phpBB2/viewtopic ... widescreen

Latest version of ZSNES get it here! (v1.42):
http://board.zsnes.com/phpBB2/viewtopic ... widescreen

Official Bug Topic:
http://board.zsnes.com/phpBB2/viewtopic ... widescreen

Additionally, new video modes were suggested in such threads as:

Request: 512x448 Fullscreen in Windows:
http://board.zsnes.com/phpBB2/viewtopic ... fullscreen

512x448 full mode:
http://board.zsnes.com/phpBB2/viewtopic ... fullscreen

Furthermore, the words "aspect" and "ratio" have appeared in at least 53 posts.

I believe the board does get pruned at regular intervals, so some threads fall off the face of the earth.
UndaC
New Member
Posts: 4
Joined: Sun Jan 23, 2005 12:07 pm

Post by UndaC »

Kagerato wrote:You implied you wanted to know why your request was belittled. I merely responded.
I wasn't complaining, I just don't agree with the attitude (not referring to yours).

As for the threads only one of them actually had any info directly related to my request. But thanks for double checking for me.

Have a good one.

Bye.
MaxSt
ZSNES Developer
ZSNES Developer
Posts: 113
Joined: Wed Jul 28, 2004 7:07 am
Location: USA
Contact:

Post by MaxSt »

Actually, it's a good idea. I always wanted to add widescreen modes, but I'm still not sure how.

Obviously, it doesn't make sense to simply add like 10 new modes with all (D, DS, etc) combinations, into that hardcoded list.

Making the list of video modes contain only available modes (all of them) is tempting, but hard to implement. For example, you can find in zsnesw.cfg, in comments, the list of all hardcoded video modes with corresponding values. What's going to happen with that? Ah, too much trouble.

The interesting compromise would be to add "CURRENT" to the end of the list. Which means the current screen resolution, whatever it is. But what to do with aspect ratio? Some would like "D" mode with big black borders, some would like ultra-wide stretch into full screen, but what about something in between? I'm not sure.

If you have any ideas, please post. I made some illustrations in that topic:
http://board.zsnes.com/phpBB2/viewtopic.php?t=2164

MaxSt.
Nach
ZSNES Developer
ZSNES Developer
Posts: 3904
Joined: Tue Jul 27, 2004 10:54 pm
Location: Solar powered park bench
Contact:

Post by Nach »

MaxSt wrote: Making the list of video modes contain only available modes (all of them) is tempting, but hard to implement. For example, you can find in zsnesw.cfg, in comments, the list of all hardcoded video modes with corresponding values. What's going to happen with that? Ah, too much trouble.
Shouldn't be hard to implement on the zsnesw.cfg end.

Look in cfgload.c, very easy how the list is printed out.
Since it prints out zsnesw.cfg after ZSNES is ran, just get the list of available video modes and write it in instead of using the default list we have.

Upon load, avail modes will have to be scanned, the list created, then set the correct video mode as the current based on the # from the config file.
May 9 2007 - NSRT 3.4, now with lots of hashing and even more accurate information! Go download it.
_____________
Insane Coding
MaxSt
ZSNES Developer
ZSNES Developer
Posts: 113
Joined: Wed Jul 28, 2004 7:07 am
Location: USA
Contact:

Post by MaxSt »

Still looks like too much trouble for me...

Scanning is one thing, then there is adding WIN modes (256x224 too?), sorting the whole thing... aah.

Then again, my original question still stands - what to do with aspect ratio in "S" widescreen modes? Just leave it ultra-wide, and that's it? I'm not sure.

MaxSt.
Reznor007
Lurker
Posts: 118
Joined: Fri Jul 30, 2004 8:11 am
Contact:

Post by Reznor007 »

The way MAME handles widescreen displays is pretty simple. You tell it the aspect of your screen(4:3, 16:9, 5:4, 16:10, whatever), and then give it a resolution/color depth your card supports(or choose from a dropdown in MAME32), then MAME uses Directdraw(or D3D) stretching to scale the game bitmap to a 4:3 ratio that fills up as much space as possible without distorting the proper aspect(unless you turn off the proper aspect option). In the not too distant future DirectDraw support may be dropped, as they are wanting to switch to D3D as the main display method(will also allow easier artwork/bezel display).

I'm not sure how hard something like that would be to implement to ZSNES, although I'm sure it would simplify things on the user end, and allow for any resolution someone would want.
Aerdan
Winter Knight
Posts: 467
Joined: Mon Aug 16, 2004 10:16 pm
Contact:

Post by Aerdan »

Problem with that is that we'd have to find a way to repeat the trick in Linux, because DirectX is not portable.
Reznor007
Lurker
Posts: 118
Joined: Fri Jul 30, 2004 8:11 am
Contact:

Post by Reznor007 »

Vareni Stargazer wrote:Problem with that is that we'd have to find a way to repeat the trick in Linux, because DirectX is not portable.
OpenGL instead of D3D.
MaxSt
ZSNES Developer
ZSNES Developer
Posts: 113
Joined: Wed Jul 28, 2004 7:07 am
Location: USA
Contact:

Post by MaxSt »

Reznor007 wrote:The way MAME handles widescreen displays is pretty simple. You tell it the aspect of your screen(4:3, 16:9, 5:4, 16:10, whatever), and then give it a resolution/color depth your card supports
That would be a pretty big change -> too much trouble -> no.

Besides, some like to play in "D" modes, without stretching. In that case there is no point of separating selection of aspect ratio from selection of resolution.

So what to do with aspect ratio in "S" widescreen modes, people?

MaxSt.
*F2*
New Member
Posts: 3
Joined: Fri Oct 22, 2004 9:38 am

Post by *F2* »

I also got a 50" TV connected via DVI and want to use the 1280x720 (S) resolution. People like me want this resolution, because they dont want black borders on the left and right side of the screen.

If i want a correct aspect ratio (4:3), i can use eg. 1024x768 and may TV shows a correct picture, but with this big black borders.

Please add the 1280x720 (S) Resolution :)

Bye
*F2*
Nils Schneider
New Member
Posts: 5
Joined: Sun Feb 06, 2005 11:25 pm
Location: Neuss, Germany
Contact:

Re: Request: Widescreen Support

Post by Nils Schneider »

UndaC wrote:1280x720
That resolution for a SNES is nothing I would want. 1,3 is already very much (but standard on all PAL TV machines), 1,7 is just tooooo much, are you really able to play that way? Imho such a resolution for a SNES doesn't make sense.....
http://www.nilsschneider.de
Nightcrawler
Romhacking God
Posts: 922
Joined: Wed Jul 28, 2004 11:27 pm
Contact:

Post by Nightcrawler »

Someone who knows about OpenGL should see how easy it would be to handle different aspect ratios and/or resolutions.

I have preached before how D3D allows you to do this with ease. Obviously that's not portable, but I would think OpenGL should have the same type of functionality.

I definitely think the best solution would be to querry resolutions and allow the use of any the user picks. How many years now have we gone through this circle of people wanting more and more resolutions. A fraction of that time could have been spent adding support for all available resolutions and that would be the be all end all of that!

An alternate method would be a simple box to allow the user to input whatever resolution and color depth they want and then use that if it's valid.

There should be a simple checkbox for scaled or non-scaled mode eliminating duplicate enteries in the long winded choice box.

Windowed mode should be handled by OpenGL as well. It doesn't matter what resolution you picked.. When you are in windows mode, you can size it to whatever you want.

That's how I think things should be done to be 'handled right'. As MaxST pointed out though.. this is probably going to be quite a deal of work.
[url=http://transcorp.romhacking.net]TransCorp[/url] - Home of the Dual Orb 2, Cho Mahou Tairyku Wozz, and Emerald Dragon SFC/SNES translations.
[url=http://www.romhacking.net]ROMhacking.net[/url] - The central hub of the ROM hacking community.
Nils Schneider
New Member
Posts: 5
Joined: Sun Feb 06, 2005 11:25 pm
Location: Neuss, Germany
Contact:

Post by Nils Schneider »

Nightcrawler wrote:Someone who knows about OpenGL...aspect ratio..
Yes, but he asked for stretching (see his initial post).
http://www.nilsschneider.de
Reznor007
Lurker
Posts: 118
Joined: Fri Jul 30, 2004 8:11 am
Contact:

Post by Reznor007 »

pagefault
ZSNES Developer
ZSNES Developer
Posts: 812
Joined: Tue Aug 17, 2004 5:24 am
Location: In your garden

Post by pagefault »

Can someone tell me the point in this, I mean the SNES doesn't support widescreen modes to begin with so what would be the point of supporting widescreen resolutions, please excuse my ignorance.
Gil_Hamilton
Buzzkill Gil
Posts: 4294
Joined: Wed Jan 12, 2005 7:14 pm

Post by Gil_Hamilton »

pagefault wrote:Can someone tell me the point in this, I mean the SNES doesn't support widescreen modes to begin with so what would be the point of supporting widescreen resolutions, please excuse my ignorance.
The people have spoken, adn they demand full-screen graphics, regardless of accuracy.


Many poeple with widescreen TVs tell them to stretch 4:3 images to 16:9 so they don't have to see the black borders. It looks like crap, but they do it.
And a real SNES under such a setup would display an aspect-incorrect widescreen display.
Nightcrawler
Romhacking God
Posts: 922
Joined: Wed Jul 28, 2004 11:27 pm
Contact:

Post by Nightcrawler »

Nils Schneider wrote:
Nightcrawler wrote:Someone who knows about OpenGL...aspect ratio..
Yes, but he asked for stretching (see his initial post).
I know. It can handle all aspect ratios and stretching.

Reznor007 wrote:http://msdn.microsoft.com/library/defau ... 1_6m79.asp

Should cover the basics...
Yep, that's along the lines of what I was getting at. That's one of the magic functions. I don't know how the screen is being rendered in the curent Linux port, but you can't used pre-transformed verticies or it won't use the transformation stage.

You can also create an orthogonal projection matrix. Either way, you're manipulating your Perspective matrix.

Essentially this allows you to render your 512x448 screen at that size and OpenGL will take care of slapping it on any usable resolution at any aspect ratio and do scaling if needed.
pagefault wrote:Can someone tell me the point in this, I mean the SNES doesn't support widescreen modes to begin with so what would be the point of supporting widescreen resolutions, please excuse my ignorance.
Pagefault, don't think of it in terms of widescreen 'mode'. It's just another resolution. It's no different than 640x480 except it's got a different number of pixels in each direction! hehe The moment you support ANY resolution other than the exact mode in the SNES, you are supporting a mode the SNES doesn't support. I wouldn't personally even use this mode, but there are people who would and this makes me argue the point of supporting ALL usable resolutions in a much easier fashion than is currently being done.

This will put an end to the constant requests for new modes.
[url=http://transcorp.romhacking.net]TransCorp[/url] - Home of the Dual Orb 2, Cho Mahou Tairyku Wozz, and Emerald Dragon SFC/SNES translations.
[url=http://www.romhacking.net]ROMhacking.net[/url] - The central hub of the ROM hacking community.
Reznor007
Lurker
Posts: 118
Joined: Fri Jul 30, 2004 8:11 am
Contact:

Post by Reznor007 »

Nightcrawler wrote:Yep, that's along the lines of what I was getting at. That's one of the magic functions. I don't know how the screen is being rendered in the curent Linux port, but you can't used pre-transformed verticies or it won't use the transformation stage.

You can also create an orthogonal projection matrix. Either way, you're manipulating your Perspective matrix.

Essentially this allows you to render your 512x448 screen at that size and OpenGL will take care of slapping it on any usable resolution at any aspect ratio and do scaling if needed.
Yeah, that is basically what MAME does. The core system generates a frame, then from there it gets sent to the OSD(operating system dependant) layer, and from there each OS port can handle that image in its own way. In Windows they use D3D and have it scale the image as big as possible and keep a 4:3 aspect ratio. I think the Linux port uses OpenGL(not totally sure). DOS uses standard VESA and other stuff. Mac might be OpenGL also...

Inputs and sound are handled the same way, with each port using it's own method, and the core just sending a sound stream or receiving inputs.
Nightcrawler
Romhacking God
Posts: 922
Joined: Wed Jul 28, 2004 11:27 pm
Contact:

Post by Nightcrawler »

Ok.. thanks for the information. That's the way to go in my eyes.

OpenGL and D3D are for most purposes equal in their functionality. If you use OpenGL in the windows port, you have the advantage that you can make one OpenGL change for all ports rather than have to do it in D3D and OpenGL

I'm not sure why you would choose to use D3D if you are managing multiple ports and know how to use OpenGL.
[url=http://transcorp.romhacking.net]TransCorp[/url] - Home of the Dual Orb 2, Cho Mahou Tairyku Wozz, and Emerald Dragon SFC/SNES translations.
[url=http://www.romhacking.net]ROMhacking.net[/url] - The central hub of the ROM hacking community.
Post Reply