Higher resolutions on ZSNES/Linux (without OpenGL)

General area for talk about ZSNES. The best place to ask for related questions as well as troubleshooting.

Moderator: ZSNES Mods

Post Reply
Chaotic Thought
New Member
Posts: 6
Joined: Tue Jan 03, 2006 12:45 am

Higher resolutions on ZSNES/Linux (without OpenGL)

Post by Chaotic Thought »

I've used ZSNES for several years on DOS and Windows, but recently wanted to get it working on Linux. According to what I've seen on the forums, docs, and code--Linux support for high resolution modes only works with OpenGL.

I'm running ZSNES-1.42 on Linux-2.6.11.12 without X installed (I'm using SDL with the fbcon driver)
ZSNES v1.42

SDL support Version 1.2.9
NASM support NASM version 0.98.39 compiled on Dec 10 2005ZLib support Version 1.2.3
PNG support (png screenshots) Yes, version 1.2.8
OpenGL support Disabled by user
Compiling went fine and the program works and plays games as perfectly as I'd expect, albeit in limited resolution modes.

Since my system does not support OpenGL, it seems I'm limited to modes 0 - 3 (256x224, 512x448, and 640x480). My system is a laptop with a fixed-resolution of 1024x768 (so that a 512x448 video mode looks the same as a 512x448 non-zoomed window). Nonetheless, I wanted to ask and see if anyone knew how to do this.

It looks like each video mode is implemented specially by some assembly routines, so I suppose asking for a higher resolution would not be simple--but maybe there is some other way? I'd be happy if each pixel's area could be doubled so that 512x448 would become 1024x896, but I'm not sure of the best way to do this, or whether implementing it would be practical.

Any tips on this one? Thanks.
Aaron
Lurker
Posts: 157
Joined: Sat Dec 31, 2005 7:26 am

Post by Aaron »

.... The Super Nintendo's resolution is only 512x448 pixels. I have no idea why you would want high resolution unless you want to make it run slower Dx.
Chaotic Thought
New Member
Posts: 6
Joined: Tue Jan 03, 2006 12:45 am

Post by Chaotic Thought »

You're right; I should have clarified: What I would like is to be able to "scale up" the resolution to fill my 1024x768 display. I am running on a laptop with a fixed resolution display of 1024x768 (the video offers no scaling); that is, right now my SNES games are playing fine, but at 512x448 pixels, it only fills a fourth of my screen. It would be awesome if I could get ZSNES to double the area of each of the SNES's pixels so that it scaled up to up to 1024x896. Of course, the top/bottom 64 pixels would have to be cropped--But I could probably live with that more easily than playing in a small window.

Doing just this is possible by using OpenGL on Linux, or by using the Windows version (which supports more resolution scaling such as 1024x768). My question is--is it possible with Linux/SDL without OpenGL.
SquareHead
Veteran
Posts: 970
Joined: Fri Jan 21, 2005 11:15 am
Location: Montana, United States

Post by SquareHead »

Your laptop hardware does not scale or stretch smaller images to fill the screen? I thought most models did. (Usually by an option you can toggle in your BIOS.)
adventure_of_link
Locksmith of Hyrule
Posts: 3634
Joined: Sun Aug 08, 2004 7:49 am
Location: 255.255.255.255
Contact:

Post by adventure_of_link »

Newer models automagically stretch the image.

I tried finding such an option in my notebook's BIOS, none to be found.
<Nach> so why don't the two of you get your own room and leave us alone with this stupidity of yours?
NSRT here.
SquareHead
Veteran
Posts: 970
Joined: Fri Jan 21, 2005 11:15 am
Location: Montana, United States

Post by SquareHead »

adventure_of_link wrote:Newer models automagically stretch the image.

I tried finding such an option in my notebook's BIOS, none to be found.
Wow, I checked both my 5yr old ones and one automagically does it, and the other has an option in it's bios.
adventure_of_link
Locksmith of Hyrule
Posts: 3634
Joined: Sun Aug 08, 2004 7:49 am
Location: 255.255.255.255
Contact:

Post by adventure_of_link »

Hmm...

Maybe they implemented this option sometime after you bought the first one ?

-shrugs-
<Nach> so why don't the two of you get your own room and leave us alone with this stupidity of yours?
NSRT here.
SquareHead
Veteran
Posts: 970
Joined: Fri Jan 21, 2005 11:15 am
Location: Montana, United States

Post by SquareHead »

MEH, this is a linux issue, and I shouldnt be posting in here until I can get a form of linux to run on either laptop. Sorry for the spam. :oops:
Chaotic Thought
New Member
Posts: 6
Joined: Tue Jan 03, 2006 12:45 am

Post by Chaotic Thought »

Yes, most laptops (and external LCDs) have the stretching option. However, mine is older and does not have this option. The machine is dual-booting Windows, and the same thing happens under Windows (choosing 640x480, for instance, will display on exactly 640 by 480 real LCD pixels without any stetching).

I checked the BIOS and tried the laptop's blue Fn hotkeys, looked at the Windows display settings, searched for Web pages talking about my machine, and I could find no trace of the stretching feature on my system. I think the system simply lacks that feature.

So basically I'm looking for ZSNES to implement this expected hardware feature using software instead.
creaothceann
Seen it all
Posts: 2302
Joined: Mon Jan 03, 2005 5:04 pm
Location: Germany
Contact:

Post by creaothceann »

What about the DS video modes?
vSNES | Delphi 10 BPLs
bsnes launcher with recent files list
SquareHead
Veteran
Posts: 970
Joined: Fri Jan 21, 2005 11:15 am
Location: Montana, United States

Post by SquareHead »

creaothceann wrote:What about the DS video modes?
From what I'm guessing happens (if there are any ds modes not opengl), is that if the resolution is lower than his screen's native the image will stretch to that resolution, and still be centered and tiny on his screen.
Chaotic Thought
New Member
Posts: 6
Joined: Tue Jan 03, 2006 12:45 am

Post by Chaotic Thought »

Yes, it is centered on my screen. The largest I can get on Linux is 640x480. Larger screens work fine on Windows, though.

It looks like the routines that draw to the SDL screen are assembly so they're a bit confusing for me since I've never done SDL.
paulguy
Zealot
Posts: 1076
Joined: Sat Jul 02, 2005 2:01 am
Contact:

Post by paulguy »

I heard of this thing once that can allow gl programs to run (slowly if it's actually 3d, not the case for zsnes) without hardware opengl support. I forget what it's called, though.
Chaotic Thought
New Member
Posts: 6
Joined: Tue Jan 03, 2006 12:45 am

Post by Chaotic Thought »

Mesa provides OpenGL in software, I believe. And if SDL uses it, ZSNES will use it, I think. I suppose I could try it, but I was a little hesistant because of the probable slowdown.
Post Reply