xboxscene.org forums

Pages: 1 ... 7 8 [9] 10 11

Author Topic: Zsnexbox 2.98  (Read 1738 times)

FireZtein

  • Archived User
  • Newbie
  • *
  • Posts: 19
Zsnexbox 2.98
« Reply #120 on: October 05, 2006, 10:48:00 PM »

QUOTE(Sp3eD @ Oct 5 2006, 10:16 PM) View Post

X kind of does its own thing, but the Y Axis numbers move perfectly with my movement.  I can hold steady and the Y number will stay the same.  The X number on the other hand moves everywhere.


I have the exact same problem.
Spe3D, what version of the xbox do you have and what chip? Just want to make a comparement.
Logged

XaRaNn

  • Archived User
  • Full Member
  • *
  • Posts: 202
Zsnexbox 2.98
« Reply #121 on: October 06, 2006, 05:25:00 AM »

QUOTE(blargg @ Oct 5 2006, 10:00 PM) *

I'd like to eliminate some of the confusion around how a SNES appears on a TV.

First off, the signal to the TV doesn't have any pixels, just a series of scanlines within which the color/brightness/saturation varies. Like a CRT-based computer monitor, the TV scans a beam from left to right for each scanline. The signal determines how the beam is modulated during the scan. If the beam is changed less often, the resulting "pixels" are wider than if the beam is changed more often. Two things define the width of a "pixel" generated in this manner: how long it lasts within the video signal, and how quickly the TV scans the beam across the screen. It makes no sense to talk about how many pixels wide something is on the TV screen, since the definition of a pixel is up to the source of the video signal. Likewise, it makes no sense to talk of the SNES internally rescaling the image, since it defines the scale in the first place by how long each pixel lasts in its video signal.

The SNES outputs 223 active scanlines (in the normal resolution mode). The question is simply how wide a pixel is, compared to how tall it appears on a TV. Measuring a SNES image on a TV that is the same number of SNES pixels across as it is wide, I get a width that's about 1.145 times (8/7) the height. I get the same when I measure a video capture of the SNES. This is all you need to know to display a proper image. It takes into account both the SNES pixel timing and the TV's own timing.

Assuming the Xbox displays square pixels on a TV screen and you can only use 640x480 resolution, then you simply need to expand the 256x223 SNES pixel array to 585x446 Xbox pixels. But the Xbox might itself have non-square pixels. In that case, you need to find what their aspect ratio is, then adjust the scaling appropriately.

A far simpler way to calibrate all this, one that doesn't require any math, is for one developer to simply connect a SNES and Xbox to a TV with an A/B switch. Adjust the Xbox until its image matches that of the SNES (running the same game). Since you're using the same TV, when you make the images match you're also making the actual video signal from the Xbox closely match that of the SNES. Once this calibration is complete, it can be hard-coded into the emulator. When run on any Xbox connected to any TV, you will get the same image that a SNES connected to that TV would give.


Well i don't know who summoned you here, but thank you for the help, it doesn't get more expert on the subject than this.

Also, it seems part of the problem might be the point filtering. I have absolutely no idea if it is possible to disable all hardware filtering with an xbox.

I'm very much curious to see nes6502's answer.
Logged

Timerever

  • Archived User
  • Jr. Member
  • *
  • Posts: 93
Zsnexbox 2.98
« Reply #122 on: October 06, 2006, 05:35:00 AM »

QUOTE(blargg @ Oct 6 2006, 04:00 AM) View Post

Assuming the Xbox displays square pixels on a TV screen and you can only use 640x480 resolution, then you simply need to expand the 256x223 SNES pixel array to 585x446 Xbox pixels. But the Xbox might itself have non-square pixels. In that case, you need to find what their aspect ratio is, then adjust the scaling appropriately.

Hi there blargg, it was me who mailed you the other day (I used my Real Lifeā„¢ name instead of my nick), see this is why I mailed you personally and why I haven't posted the info I got from you in here but instead passed it to nes6502. Even bieng yourself, with the equipment and knowledge, saying what is the correct SNES aspect ratio and what should be scaled and how, they still won't take it, they are obssessed with making the XBox emulators output pixel perfect aligned images with Point Filtering even if that's not how the real console does. Thank God no one told them that NeoGenesis is horizontally streching the images of most SegaCD games by 25%......... oops I just did, guess XPort will have his share too now tongue.gif
And from what I know the PAL and NTSC 'pixels' are not perfectly square, according to Adobe Photoshop they are 6,6% wider than taller (1.066:1) for PAL and 10% taller than wide in NTSC (0.9:1) and my own mesurement in XBMC (PAL50) calibration screen says they are 8% wider than taller (1.08:1).

QUOTE(blargg @ Oct 6 2006, 04:00 AM) View Post

A far simpler way to calibrate all this, one that doesn't require any math, is for one developer to simply connect a SNES and Xbox to a TV with an A/B switch. Adjust the Xbox until its image matches that of the SNES (running the same game). Since you're using the same TV, when you make the images match you're also making the actual video signal from the Xbox closely match that of the SNES. Once this calibration is complete, it can be hard-coded into the emulator. When run on any Xbox connected to any TV, you will get the same image that a SNES connected to that TV would give.

It's either that or include a aspect ratio calibration screen like XBMC has, thing is it's hard to mesure something on a TV screen, your method is probably better for the end user but I don't know if nes6502 has a working SNES. Anyway at least for SNES I'm sure you can't get pixel perfect alignement and correct aspect ratio at the same time, we'll just have to choose one of them and live with it and I for one choose correct aspect ratio. That or keep your real SNES very close to you and never sell it. muhaha.gif
Logged

XaRaNn

  • Archived User
  • Full Member
  • *
  • Posts: 202
Zsnexbox 2.98
« Reply #123 on: October 06, 2006, 06:53:00 AM »

What do you mean exactly "still won't take it".

If someone's got the info, i'd like to know what exactly does the xbox hardware "Point Filtering" does.
Logged

Timerever

  • Archived User
  • Jr. Member
  • *
  • Posts: 93
Zsnexbox 2.98
« Reply #124 on: October 06, 2006, 06:59:00 AM »

QUOTE(XaRaNn @ Oct 6 2006, 02:53 PM) View Post

What do you mean exactly "still won't take it".


I mean this:
QUOTE(Cospefogo @ Oct 6 2006, 05:02 AM) View Post

Agreed.
A correct display while in point filtering must be adjusted pixel by pixel,
point by point, dot by dot and so on. 1+1 need to be a big and solid 2, and
not a 1,999000 neither a 2,000034


or this:
QUOTE(Consoleman! @ Oct 4 2006, 08:33 PM) View Post

298x224 on a TV screen would require a linear filter to blend the deformed pixels and would still experience shimmering since the pixels won't match up evenly with the scanlines.  Also, the power up boxes (perfect 16x16 pixel squares) in Super Mario Bros. would become rectangles at the 298x224 aspect ratio.  They'd end up 16% wider than they are tall.



QUOTE(XaRaNn @ Oct 6 2006, 02:53 PM) View Post

If someone's got the info, i'd like to know what exactly does the xbox hardware "Point Filtering" does.

I have no ideia of what it does and how, but for the other filters check wikipedia, they have articles on anisotropic, bilinear and trilinear filtering.
Logged

Cospefogo

  • Archived User
  • Sr. Member
  • *
  • Posts: 409
Zsnexbox 2.98
« Reply #125 on: October 06, 2006, 07:25:00 AM »

Sorry for beeing a pain over and over again,

But the only issue I see on all this big resizement question is the way
that Nes6502 is presenting it at the moment.

While some guys says it's impossible to have a near perfect SNES resolution,
I am here to say that I did that on Zsnexbox. However It's IMPOSSIBLE
to say what "real size" I am using on my screens due to the
weird way of presenting coordinates and sizes Nes6502 gives us now.

All my adjustments are made point by point, pixel by pixel and I really
do get there. No horizontal patterned backgrounds are damaged
and no vertical too.

QUOTE(Timerever @ Oct 6 2006, 08:42 AM) *

(...) Thank God no one told them that NeoGenesis is horizontally streching the images of most SegaCD games by 25%......... oops I just did, guess XPort will have his share too now tongue.gif (...)


Hey Timerever,

All Xport emulators work on horizontal 510 (256x2-2) and you can
stretch them to 638 (640-2) without damaging the graphic patterns.

For my slice of the cake, all the question can be resolved if Nes6502 can be able
to present coordinates like the Xport System OR if he can assing the PIXEL INCREASEMENT
and DECREASEMENT to the D-PAD. It will be done for me. Nothing more!

QUOTE(Timerever @ Oct 6 2006, 08:42 AM) *

(...) Anyway at least for SNES I'm sure you can't get pixel perfect alignement and correct aspect ratio at the same time, we'll just have to choose one of them and live with it and I for one choose correct aspect ratio. (...)


By the way, what are your impressions about the second image?
IPB Image

Cheers,
C.
Logged

Consoleman!

  • Archived User
  • Full Member
  • *
  • Posts: 102
Zsnexbox 2.98
« Reply #126 on: October 06, 2006, 07:59:00 AM »

Timerever,

If you don't like point filtering, then it's YOUR choice not to use it.  It's not like we're forcing everyone to agree with us.  We're not even trying to force nes to agree with us.  We just wanted to explain to him why WE would use it.  

The difference between our point filtering method and the 585x446 method mentioned by blargg would be far more noticeable to the eye than the difference between many of the software filters.  

As of this moment, however, it's far easier to replicate blargg's method since it doesn't require pixel perfect dimensions to use.  You can be several pixels off and not notice a difference with a linear filter.  With point filtering however, being just one pixel off will deform the image.

The bottom line is that XY coords remains a legitimate request and I'm really growing tired of defending it.
Logged

XaRaNn

  • Archived User
  • Full Member
  • *
  • Posts: 202
Zsnexbox 2.98
« Reply #127 on: October 06, 2006, 08:06:00 AM »

Cospefogo :

At this point, to me, it just sounds that needing a 640 (and for some reason minus2) width is simply some quirk whithin the stretch code for Xport's emulator.

Timerever :

Ya i know wikipedia has info on most of the other hardware filters. I'm just wondering if point could be what destroys the image when resizing, and no filter at all would work. but since i have no idea at all what it does, its pure speculation.
Logged

Consoleman!

  • Archived User
  • Full Member
  • *
  • Posts: 102
Zsnexbox 2.98
« Reply #128 on: October 06, 2006, 08:02:00 AM »

QUOTE(Timerever @ Oct 6 2006, 09:06 AM) View Post

I have no ideia of what it does and how, but for the other filters check wikipedia, they have articles on anisotropic, bilinear and trilinear filtering.
QUOTE
http://www.gamedev.n....asp?TermID=474

Point Filtering

The simplest form of texture filtering. This method will just take the closest texel to the pixel, which will increase the jaggedness of a texture as it gets larger.

In other words, the texture is not interpolated whatsoever and requires a multiple of the original dimension to display properly.  It displays the pixels in much the same manner that they're displayed by default with ZSNES.  

That's Point Filtering.
Logged

Diontae18

  • Archived User
  • Sr. Member
  • *
  • Posts: 386
Zsnexbox 2.98
« Reply #129 on: October 06, 2006, 08:04:00 AM »

omg, what a difference 2 and a half months make. Just got back from my vacation, last I remembered this project was @ 2.1  blink.gif
Logged

Consoleman!

  • Archived User
  • Full Member
  • *
  • Posts: 102
Zsnexbox 2.98
« Reply #130 on: October 06, 2006, 08:14:00 AM »

QUOTE(XaRaNn @ Oct 6 2006, 10:06 AM) *

I'm just wondering if point could be what destroys the image when resizing, and no filter at all would work. but since i have no idea at all what it does, its pure speculation.

Point Filtering destroys the image when resizing because it doesn't interpolate (blend the deformed image).  Using no filter at all just seems to blur the picture even more.  I'm assuming this may be the Xbox's own method of interpolation.
Logged

Sp3eD

  • Archived User
  • Newbie
  • *
  • Posts: 27
Zsnexbox 2.98
« Reply #131 on: October 06, 2006, 09:29:00 AM »

QUOTE(FireZtein @ Oct 6 2006, 05:55 AM) View Post

I have the exact same problem.
Spe3D, what version of the xbox do you have and what chip? Just want to make a comparement.


I have a 1.1 version Xbox and I softmodded my system with Krayzie's Nudre 1.1.1 (splinter cell hack).

I have tried this in other emulators and I get the exact same results, so I have a feeling it is either A) My Gun or cool.gif My TV.

I am getting Silent Scope and House of the Dead 3 to find that question out.
Logged

blargg

  • Archived User
  • Newbie
  • *
  • Posts: 5
Zsnexbox 2.98
« Reply #132 on: October 06, 2006, 09:51:00 AM »

QUOTE("Consoleman!")
For the record, this method won't work with point filtering.


If point filtering is "nearest neighbor", then yes, trying to scale either dimension by a non-integral factor will make pixels look really ugly, and you'll get noticeable artifacts as an image scrolls because some columns will be wider than others. You're definitely going to need to enable pixel interpolation to stretch the image horizontally and have it look decent. Note that the image should always be exactly doubled vertically.

QUOTE("Timerever")
And from what I know the PAL and NTSC 'pixels' are not perfectly square, according to Adobe Photoshop they are 6,6% wider than taller (1.066:1) for PAL and 10% taller than wide in NTSC (0.9:1) and my own mesurement in XBMC (PAL50) calibration screen says they are 8% wider than taller (1.08:1).


Bzzzt! There is no such thing as an NTSC pixel. The only "quantized" aspect of an NTSC signal is a scanline. So the height is fixed, but the width again is up to the device generating the signal (just as it is on a CRT computer display). What you were probably measuring was the size of a pixel for a particular video chip, perhaps what is commonly used to display a PC's output at 640x480 on a TV.

QUOTE("Cospefogo")
However It's IMPOSSIBLE to say what "real size" I am using on my screens due to the weird way of presenting coordinates and sizes Nes6502 gives us now.


Apparently either the Xbox's Direct 3D library doesn't provide the standard matrix operations, or someone needs to read up on these and use them for adjusting the image size.
Logged

Cospefogo

  • Archived User
  • Sr. Member
  • *
  • Posts: 409
Zsnexbox 2.98
« Reply #133 on: October 06, 2006, 10:05:00 AM »

QUOTE(blargg @ Oct 6 2006, 12:58 PM) View Post

If point filtering is "nearest neighbor", then yes, trying to scale either dimension by a non-integral factor will make pixels look really ugly, and you'll get noticeable artifacts as an image scrolls because some columns will be wider than others. You're definitely going to need to enable pixel interpolation to stretch the image horizontally and have it look decent. Note that the image should always be exactly doubled vertically.



Hi Bleargh!
Thanks for your colaboration on this topic!

First ---- Yes, I agree!!!
This is what I have been trying to show all the time - some pixel columns will be wider than others
on a bad resized horizontal screen.

And no,  I do not agree.
When you say pixel interpolation I assume you are suggesting the use of linear, sai, hqx
and other filters, right? No need going for that since THERE IS A EXACT POINT of resizement
where you get a perfect horizontal and vertical screen. It is there, marked by solid
and strong numbers presented on Xport resizement system! It's EASY to find that!

There is absolutely no need to use interpolation/blurring to mask distortions
since you can get rid of any just using a correct adjustment!

Cheers!
C.
Logged

blargg

  • Archived User
  • Newbie
  • *
  • Posts: 5
Zsnexbox 2.98
« Reply #134 on: October 06, 2006, 10:40:00 AM »

QUOTE(Cospeafogho)

When you say pixel interpolation I assume you are suggesting the use of linear, sai, hqx and other filters, right? No need going for that since THERE IS A EXACT POINT of resizement where you get a perfect horizontal and vertical screen. It is there, marked by solid and strong numbers presented on Xport resizement system! It's EASY to find that! There is absolutely no need to use interpolation/blurring to mask distortions since you can get rid of any just using a correct adjustment!

Sure, you'd use point filtering if you're rescaling from 256x223 to 512x446. But if you need to scale to say 581x446, then you'd want to use linear interpolation, which the Xbox should be able to do in hardware. I've never seen this emulator on an Xbox, but I take it that displaying the SNES image as 512x446 results in an image that's not as wide as the SNES would appear when connected to the same TV.

Here's another page I found about getting texels to match up with pixels on screen:

Directly Mapping Texels to Pixels
Logged
Pages: 1 ... 7 8 [9] 10 11