Feature Request: Hi-Res NTSC Filter - DONE!

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

Post Reply
BFeely
Rookie
Posts: 32
Joined: Mon Nov 22, 2004 8:14 pm
Contact:

Feature Request: Hi-Res NTSC Filter - DONE!

Post by BFeely »

What's preventing you from implementing hi-res for the NTSC filter? Is it just not a high priority, or are there technical issues with ZSNES and its graphics code that need to be worked out first?
Edit: I made aworking version with 512-pixel wide display (but no interlaced mode yet). See below.
Last edited by BFeely on Fri Jun 02, 2006 1:27 pm, edited 1 time in total.
Deathlike2
ZSNES Developer
ZSNES Developer
Posts: 6747
Joined: Tue Dec 28, 2004 6:47 am

Post by Deathlike2 »

http://board.zsnes.com/phpBB2/viewtopic ... ht=#109499

Know that all filters are affected the same way... and thus a known current limitation.
Continuing [url=http://slickproductions.org/forum/index.php?board=13.0]FF4[/url] Research...
BFeely
Rookie
Posts: 32
Joined: Mon Nov 22, 2004 8:14 pm
Contact:

Post by BFeely »

Deathlike2 wrote:... and thus a known current limitation.
That sounds like a challenge to me. I'll try feeding every other line fo the output of the D modes (reduced from 16 to 15 bit color) into the snes_ntsc_blit_hires function. It'll probably be painfully slow, but I just might get it to work somewhat.
Just so you know, I was the first person to port the MegaZeux game creation system to Windows. See http://mzx32.sourceforge.net for proof. Of course, I do not recommend using these versions because it is painfully slow on anything slower than about a 700 MHz processor and/or a video card that does not support hardware DirectDraw scaling. It probably did, however, make
Deathlike2
ZSNES Developer
ZSNES Developer
Posts: 6747
Joined: Tue Dec 28, 2004 6:47 am

Post by Deathlike2 »

If it's a challenge.. you are welcome to submit a patch so everyone can benefit. I've gotten too used to unfiltered hires already...
Continuing [url=http://slickproductions.org/forum/index.php?board=13.0]FF4[/url] Research...
byuu

Post by byuu »

The problem is the added width and the low video modes. You'd need at least 4x(256x224) to filter everything consistently to a 2x magnification filter. And that's needed for those games like GOD, Madara 2, RnH, SD3, etc that use mixed mode graphics where half the screen is 256 width and half is 512 width.

Anyway, blargg's filter supports hires, as well as mixed mode hires (by means of passing the filter a width table for each scanline-width). I've actually implemented it myself, but it's broken in bsnes v0.016 :(
The mixed mode looks great, too. Since it blurs both lores and hires scanlines, and looks just like a real TV, the effect works out really well.

It's probably a limitation in ZSNES' video code. With pagefault rewriting that to D3D, I'd say just be patient. They're moving at a very fast pace so it probably won't be too much longer anyway.
grinvader
ZSNES Shake Shake Prinny
Posts: 5632
Joined: Wed Jul 28, 2004 4:15 pm
Location: PAL50, dood !

Post by grinvader »

I've started working on smart filtering, but it's kinda hard. The gist is to dissociate dimensions when filtering (so instead of filtering a whole 2D surface, I get either horizontal or vertical filtering).
Any filter I can dissociate that way will work for all the snes modes accordingly.
I'm also trying to come up with neat fractional upscaling algos for non-integer-multiple resolutions and odd integer scalings with hires (like 3xbase res - hires lines will require Hx1.5 Vx3, and will look horrible without a cool algo).
Of course, all this will likely use full power of the top-of-the-line cpus, but since it will be optional, fine by me. >:]
皆黙って俺について来い!!

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
BFeely
Rookie
Posts: 32
Joined: Mon Nov 22, 2004 8:14 pm
Contact:

Post by BFeely »

Here it is: ZSNESW with 512 pixel wide NTSC filter.
Included in the ZIP file are a ZSNES exe with 512 pixel wide capability in the NTSC filter, and a modified winlink.cpp (based on SVN revision 3122)

Edit: If you have downloaded this file already, please download it again. I fixed an off by 1 line issue with the video output, and recompiled with release-grade optimization.
Edit: Fixed the phase of the NTSC filter.

File: ftp://members.aol.com/bfeely/zsnesw-ntsc-hires.zip
Post Reply