Recently I found out that the best entertainment machine out there is the Microsoft Xbox. That awesome device is owner of a incredible time travel capability, bringing to your hands the best option for oldskool gaming in videogame consoles ever created. Please be warned that I will not be publishing links or will tell where you can find these softwares - you are by your own. Move forward and read the tutorial below.
To have a emulator running in your Xbox you will need a modified machine, and for the best enjoyment, a larger hard-disk installed. I do not install modchips, I don't sell and I don't have any connections who people who work with this, so it is up to you to configure you machine before being able to setup homebrew programs. Every emulator we will talk about below work on the similar way as on a computer, so if you are familiarized with this on a PC or Mac there will be no mistery at all to handle them on Xbox. The most tricky issue on Xbox emulators is the way you will choose to present the screen in your television. This is the main purpose of this guide.
There are two ways:
I will call The Modern Method and the Old Skool Method.
The Modern Method uses filters and hardware rendering to enhance the graphic screen on the television display, while in the Old Skool one avoids such things, looking for the accuracy and fidelity to the original graphics and resolutions while displaying the game screen. The objective of this section is to discuss the second method, presenting tips and tricks to better mimic the classic consoles and Arcades machines.
Every single game based on bitmap graphics (pixels, not vector/3D) has a native and fixed resolution. Different consoles work in different screensizes, but all of them have a fixed height and width in their screens. Since the Xbox works in a higher resolution than the old videogames, you will need to adjust the emulators according to your own taste - and doing this without any care you will really be messing the original screen aspect ratio display.
The Modern Method is based on the usage of filters and options that will apply effects such like blur and flickering softness, keeping your screen free of tearing, blinking and other abnormalities. They also can enhance the graphics to make them look less pixelated, less oldskool and consequently - let's say, less vintage.
Most of the people out there simply adjust their screens to any sizes, aiming a best fit on television display, making use of all visual embelishments provided by the modern filters. Now, if you take one of these setups and turn off all software and hardware filters you see by yourself - the screen aspect ratio will be damaged, distorted and out of proportion. The Modern Method filter options mask the abnormalities, making you believe that everything is fine, but at the most expensive price - a blurry image. However, I must say that - if you enjoy those glossy and blurry graphic enhancements, turn your filters back ON and everything will be FOR SURE PERFECTLY FINE, BELIEVE ME... - this is the way where 90% of emulator players get themselves.
But, if you search for visual accuracy while emulating an old console, you will need to perform a series of operations described on this documento to bring as much fidelity as possible to the original vintage graphics, and the Quest for the Holy Pixel starts now.
|
Before moving to the real tutorial instructions, I will provide some useful explanations to better situate the problems that may occur with a incorrect screen setup. Most of the info provided on this guide I did learn by myself, testing, researching and scratching my head. The screen tearing was one of the most trickiest issues to learn about. Since English is not my born language (excuse me for eventual typos or weird sentences...) it was hard for me to describe the tearing problems in forums and discussions and even to find out its real name! Now, read below for the technical information! What is Screen Tearing?From Wikipedia, the free encyclopedia: Screen tearing is a phenomenon in video where a previously rendered frame overlaps a newly rendered frame, creating a torn look as two parts of an object - for example a wall - don't line up. Screen tearing is most common with video games, as heavy processing can limit synchronization capabilities, although it can occur on all display types. Screen tearing happens when the display buffer is updated with a new image while the image is being transmitted to the display. The use of vertical synchronization (V-sync) prevents screen tearing. V-sync is a method in which the display buffer is only updated during the vertical blanking interval. What is VSync?From Wikipedia, the free encyclopedia: Vertical synchronization (v-sync, vbl-sync) refers generally to the synchronization of frame changes with the vertical blanking interval. Since CRTs were nearly the only common video display technology prior to the widespread adoption of LCDs, the frame buffers in computer graphics hardware are designed to match the CRT characteristic of drawing images from the top down a line at a time by replacing the data of the previous frame in the buffer with that of the next frame in a similar fashion. If the frame buffer is updated with a new image while the image is being transmitted to the display, the frame buffer gives it the current mishmash of both frames, producing a page tearing artifact partway down the image. Vertical synchronization eliminates this by timing frame buffer fills to coincide with the vertical blanking interval, thus ensuring that only whole frames are seen on-screen. Computer games often allow vertical synchronization as an option, because it delays the image update until the vertical blanking interval, causing latency (the period of the refresh rate at maximum), which might be undesirable in games that require fast response (e.g. first person shooters). VSYNC is also the name of the signal indicating this frame change in analogue RGB component video.
Why do I get lots of screen tearing
|
The yellow rectangle shows the tearing occurence Click to view |
The flicker effect is something tricky to explain and it is most visible on CRT television with the Xbox connected through regular composite cables. I did suffer a lot with the flickering effects on my SDTV/CRT television before buying some official Microsft Component cables. After switching from the bundled RCA cables to the Component Input 480i my life changed! All the flicker and bliking image was gone! Let's see a bit more of technical information on this, please keep reading!
From Wikipedia: Flicker is visible fading between cycles displayed on video displays, especially the refresh interval on cathode ray tube (CRT) based computer screens. Flicker occurs on CRTs when the they are driven at a low refresh rate, allowing the screen's phosphors to lose their excitation (afterglow) between sweeps of the electron gun. A similar effect occurs in PDPs during their refresh cycles. For example, if a CRT computer monitor's vertical refresh rate is set to 60 Hz, most monitors will produce a visible "flickering" effect, unless they use phosphor with long afterglow. Most people find that refresh rates of 70-90 Hz and above enable flicker-free viewing on CRTs. Use of refresh rates above 120 Hz is uncommon, as they provide little noticeable flicker reduction and limit available resolution.
Since the shutters used in liquid crystal displays for each pixel stay at a steady opacity, they do not flicker, even when the image is refreshed. The backlights of such displays do flicker, but typically operate in the range of 150-250 Hz. The lighting used in film projectors is typically an incandescent or arc lamp, which does not flicker, but some degree of flicker is desirable to help decrease the flicker fusion threshold comfortably below film's typical framerate of 24 fps. This is usually accomplished with a shutter which causes the lamplight to apparently strobe on and off at a multiple of the framerate, most often 48-96 Hz.
The exact refresh rate necessary to prevent the perception of flicker varies greatly based on the viewing environment. In a completely dark room, a sufficiently dim display can run as low as 30 Hz without visible flicker. At normal room and TV brightness this same display rate would produce flicker so severe as to be unwatchable. Another factor in detecting flicker is peripheral vision. The human eye is most sensitive to flicker at the edges of our field of view, and least sensitive at the center of gaze (the area being focused on). As a result, the greater the portion of our field of view that is occupied by a display, the greater is the need for high refresh rates. This is why computer monitor CRTs usually run at 70 to 90 Hz, while TVs, which are viewed from further away, are seen as acceptable at 60 or 50 Hz (see PAL and NTSC.)
http://en.wikipedia.org/wiki/Flicker_(screen)
|
As mentioned above, flicker is sort of blinking effect on sharp areas of the image. Your entire screen will look like to be vibrating, blinking, on a very annoying way. This is why 100% of the Xbox applications have flickering control adjustments. In the home brew software, you can turn it on or off. In the official software, like Xbox games, they come with this feature native - it's a kind of blur that kills perfectly all the vibrating flicker. In LCD TVs and monitors there is no flicker. Keep reading to learn - in very simple words - how the antiasing techniques can help you to get rid of the flicker effect. From wikipedia: In statistics, signal processing, computer graphics and related disciplines, aliasing refers to an effect that causes different continuous signals to become indistinguishable (or aliases of one another) when sampled. It also refers to the distortion or artifact that results when a signal is sampled and reconstructed as an alias of the original signal. When we view a digital photograph, the reconstruction (interpolation) is performed by a display or printer device, and by our eyes and our brain. If the reconstructed image differs from the original image, we are seeing an alias. An example of spatial aliasing is the Moiré pattern one can observe in a poorly pixelized image of a brick wall. Techniques that avoid such poor pixelizations are called anti-aliasing.
Click to see the differences between a aliased and antialiased image resizements When you adjust the game screensize to any random values and TURN ON YOUR FILTERS, you WILL NOT NOTICE any problem, distortion or artifacts on your display, why this happens? Just because the filters are the best techinique to avoid poor pixelizations! The image gets anti-aliased and the incorrect aspect ratio on the graphics will be masked. The price paid? A hell of a blur. But don't dismay yet! This document is here to help you to get rid of abnormalities on your screen without the need of antialiasing tricks! Move on, check the next information below! |
Original image
Poor reductionwith the moiré effect |
|
The vintage consoles have different scrensizes, and it's mandatory to keep them in mind to reach perfect adjustments on Xbox. It's important to mention a example of how the things work: a pixel is a square, and square have all sides the same size (duh!), correct? So, if you take a 2x2 pixels screen and you want to increase it's size - while keeping a correct aspect ratio - the first size possible without any distortions will be a 4x4 screen. You can't resize a 2x2 image into a 3x4, 4x3, 5x2 image, the aspect ratio will be completely destroyed, and so, all the graphics inside. The same happens for 320x240 screens. They must be 640x480 when doubled, they should not be 623x482. Incorrect screensizes can be perfectly used by the Modern Method guys, because all the filters they use will be masking all distortions, but incorrect screensizes can't be used by the Oldskool followers, since the absence of filters will reveal a lot undesirable "artifacts". If you don't like filtering, you should have in mind that it's important to keep a correct size displaying.
|
Taking as basis the methods of configuration, the Xbox emulators could be divided in three groups: the ones created by Xport, the one created by Nes6502 and the remaining created by other developers. During the guide I will name them as Xport, Nes6502 and Others. Before moving any further, I advice you to check this page who lists the most important emulators on Xbox and the latest version released as on November/2008.
Xport Emulators
|
Other Emulators
NES6502 Emulator
|
The Xport goods are almost all the same. What you do in one, you will do the same (sometime with different values) in another, so there is not much to worry about. Besides that, I strongly want to highlight here that all the information in the next lines was found through exhaustive trial and error methods. Most of it I found out after several tests with horizontal and vertical scrolling games. Such titles can help a lot to check out if your screen is adjusted properly with correct aspect ratio or not - and I will name these games too. All screens are measured by width x height, in this order. A 256x224 screen means 256 pixels on width per 224 on height.
The steps below are the same in all Xport emulators. Just take note of them and repeat.
Note: After performing the advised configuration below you might find out in some emulators black bars on right and left sides of the screen. This happens because the original screensize does not fill the Xbox resolution completely when the width is doubled. The most important emulators that will suffer from that are NES/Famicom, SNES, Mega Drive/Genesis, Master System/Mark III and PC Engine. For this group of emulators you can try to use the trick of the 10x11 pixel aspect ratio. But be aware, this is just a workaround, it is not a definitive solution. You will notice a subtle, very small distortion if you really pay attention. I lived with this for a long time, and thanks to Gilles9999 I did open my eyes!
If you want, try this for NES/Famicom, SNES, Mega Drive/Genesis and Master System/Mark III and PC Engine.
|
AdamX (Coleco Vision) Width: 640 height: 448 |
Atari7800X (Atari 7800) SDTV 480i/480p: 640 x 306 HDTV 720p: 960 x 458 |
AtariXLBox (Atari 5200) SDTV 480i/480p: 640 x 480 HDTV 720p: 960 x 720 |
|
BlissX (Intellivision) Width: 636 Height: 451 (I'm not sure on this one) |
BlueMSXBox (MSX) SDTV 480i/480p: 640 x 480 HDTV 720p: 960 x 720 |
MednafenX-NES (Nintendo NES & Famicom) SDTV 480i/480p: 512 x 448 HDTV 720p: 768 x 672 |
|
MednafenX-PCE (PC Engine & TurboGrafx-16) SDTV 480i/480p: 512 x 464 (556 x 464 for very few games) HDTV 720p: 768 x 696 |
MekaX (Sega Master System, Mark III e Game Gear) SDTV 480i/480p: 512 x 384 HDTV 720p: 768 x 576 Note: Due to lower resolution of Master System on height, this the the method I found to present the graphics without any aspect ratio corruption. |
NeoGenesis (Sega Genesis & Mega Drive) SDTV 480i/480p: 640 x 448 HDTV 720p: 960 x 672 |
|
OdysseyX (Magnavox Odyssey2) Width: 640 Height: 480 |
PCSXBox (Sony Playstation 1) SDTV 480i/480p: 640 x 480 HDTV 720p: 960 x 720 |
Snes9XBox (Nintendo Super NES & Super Famicom) SDTV 480i/480p: 512 x 448 HDTV 720p: 768 x 717 Note: Snes9Xbox is an unfinished Xport software. It is capable to run correctly only NTSC games. For PAL games you should use ZsneXbox. |
|
Vice64X (Commodore 64) Width: 768 Height: 544 |
WinUAEX (Commodore Amiga) Width: 908 Height: 624 Note: If you are not able to set the resolution to 720×480 in Xport, probably after getting an error message that says that you need to have an NTSC or PAL-60 screen or something, go to your MS Dash, enter screensetup and select PAL60. (By Mr. Modern and Retroplay) |
XBoyAdvance (Gameboy Classic & Gameboy Advance) SDTV 480i/480p: 380 x 342 HDTV 720p: 570 x 513 |
|
Z26X (Atari 2600) SDTV 480i/480p: 640 x 536 HDTV 720p: 960 x 804 |
Mr. Tetsu96 (from http://tvmame32.mameworld.net) sent me a message few time ago warning me about this problem, he did notice about the issues and was curious if I had in my sleeve some alternate configuration to correct them.
Now you may ask - so do we need to keep changing the emulator configuration all the time when we change from one game (regular) to another (larger horizontal)? Alas, NO! It's not necessary! As stated before, inside Xport emulators the screen size configuration is dictated by the global screen options menu (the one you reach while you are running NO GAMES), and it is the base configuration for all games - UNLESS you - while running a specific game, go into the same menu and force a new configuration for THAT specific title. This is a fantastic feature that permit you to have different configurations for different games inside the same emulator.
|
ZsneXbox is a port of the famous Znes emulator for Xbox created by Nes6502. This guy made a fantastic work on this emulator, however this emulator has the most horrible screensize adjustment method of all time. I really don't know why Nes6502 did not make the things easier and simple just like the brilliant way Xport did. On ZsneXbox you will need to spend a quite big time until you reach the correct screen aspect ratio, since its behavior looks to be different from TV to TV, from user to user. I heard about people who were able to find the correct displaying and the numbers found where completely different from mine. Anyway, my actual settings for this emulator are:
Yes! It's HORRIBLE to configure the screen size. I really do not se a point why the developer kept this awful method. In this emulator I can't guarantee you things will work on the first try... I really hope so! There are few games who can help to check if your screen is distorted or not. I use Toys (a Europe PAL title, not Toy Story), Sonic Wings (Japanese) and Seiken Densetsu 3 (Japanese). Sonic Wings is perfect to check the vertical scrolling, pay attention on the background and you will notice distortions on a very easy way. Seiken Densetsu 3 is perfect for both vertical and horizontal, since you can walk towards all directions with your character; and Toys is the best one because this title presents a isometric wire frame in the ground. It is very easy to check the integrity of the graphics with this game. See the image on the right. |
In this group we have mostly the Arcade emulators based on MAME and Final Burn Alpha. Since arcades in real life used different monitor (some had wider screens, some had vertical screens, some worked with different framerate refresh and so on) there is no absolute configuration for all of them. In Mame and FBA you will just need to adjust the screen by your own taste, and change few things on the settings. Below we are covering MAMEoX 128, MAMEoX 0.72 and Final Burn Alpha XXX.
And I know, you might have been now asking - Why MAMEoX 0.72? I will explain: MAMEoX 128 Plus is based on the build 0.84 of the original PC version of MAME. The 0.84 build corrected a lot of problems and bugs that occured with many games in 0.72, but at same time it made unplayable few titles like the classic Double Dragon I & II. Both games suffer from a heavy slowdown all the time.
Since it is known that the build 0.72 rendered perfectly the Double Dragon games I set this old and out dated emulator just to play those games, and I guarantee you - they work flawlessly... We still have a bit of slowdown when we have more than 2 enemies on screen at same time, but after a research on forums and discussion boards several people assured me that this happens for sure in the original arcades, but don't worry, the real slowdown caused by the build 0.84 really don't exist in the 0.72 elder brother.
|
MAMEoX 128 Plus (Arcade games)
|
MAMEoX 0.72 Build (Older version of MAMEoX Intended for Double Dragon I & II) Open the MAMEoX save folder inside E:/TDATA, locate the MAMEoX.INI and edit it using the following values for width and height and the coordinates x and y:
|
Final Burn Alpha XXX (Arcade games) CPS 1/2
NeoGeo:
FBA XXX: Others
|
One feature you should bit use is the aspect ratio on the STRETCH setting - avoid this as death since it will stretch everything to fit your display screen, meaning that all vertical shooting games will became the perfect view from hell. Ouch!
Once again I found out important to quote some interesting information from Mr. Tetsu96 (http://tvmame32.mameworld.net) about general Mame screen emulation (thank you, brother!):
(...) MAME is an emu I do have more experience with, and the biggest issue displaying MAME on TVs is not just the resolution but also the refresh rate. 320x240 probably is the most common arcade resolution, which does map well to 640x480 (and handles resampling to 525x480i well, but TVs have a fixed refresh rate - 60Hz for NTSC. Again, a lot of games are covered @ 60Hz but a lot use slightly different refresh rates - older namco titles use 60.606060Hz, CPS2 uses about 58Hz, The MK series is a higher resolution using about 53Hz for the refresh.
Short of recoding the game drivers to use a different refresh, there's no fix for this. And if you did spend the time to do such, then the games aren't as accurate. Just a hair slower or faster (or more so for MK), but it affects the experience. MAME has tricks like triple buffering and vsync which help, but even if you do reduce or remove screen tearing, the action you're playing will always be a bit jumpy as the screens don't flow at the even rate they did in arcades.
This is true for the PC as well. There's not many MAME builds that allow you to use an accurate refresh rate. AdvanceMAME is one of them though - it's not updating any longer but for users with Multisync monitors and certain compatible hardware, and a lot of time to read FAQs, it's the best you can do for arcade emulation. With 6000+ roms emulated in version .106, I don't mind not being on the bleeding edge of newly emulated materials anymore. Consoles belong on a TV if possible, that's their natural home. MAME works there to a limited extent since standard resolution monitors use the same kind of tube as TVs, but it doesn't work nearly as well.
For FBA-XXX, Timerever from Portugal has some interesting considerations:
Jibbajaba, from the XboxScene boards says he wants his games to look as pixel-perfect and RGB-like as possible. Right from him: "I use 720p, and I have found that Simple 2X + Flicker Filter of zero + Soften turned off + Hardware Filtering set to Point produces the sharpest results, but some may not like it because it makes the game look more pixelated. To me, anything else makes the game look either blurry or smoothed, both of which I hate. I want to see the game the way it was programmed and designed to be seen. Any kind of smoothing or scanlining is designed to either make the game look less pixelated or to reproduce the experience of playing the game through an RF cable on your parents' TV."
There is a interesting issue that is important to mention regarding the Xport emulator released before November of 2007. Me and few other comrades from the Xbox Scene found out that there was a tricky issue on the adjustment of screen sizes in the older Xport builds. Maybe it happened by accident while Xport was coding the emulators, maybe not, who knows?
This is what we found out - Take the NES as example: the original NES screen is 256x224 and the double size respecting aspect ratio is 512x448, ok? Now, if you follow exactly this rule in the older Xport builds, you will end getting a very tiny ammount of graphic distortion instead of a perfect screen. After several tests the puzzle was solved using this formula - "width . 2 - 2" and "height . 2 - 2" - resulting in "256 . 2 - 2" and "224 . 2 - 2", what gives us a final result of "510 per 446".
All the versions released before the November 2007 builds should follow the rule above. I strongly recommed you to update your emulators to the latest version where this bug was corrected and you will never need to use the formula. All the values for screen sizes covered on this guide does not make use of it anymore, so if you are into ancient emulator versions, do the math by yourself.
Few time ago the developer NES6502 implemented on ZsneXbox emulator a strange feature called 10x11 Pixel Aspect Ratio. Many people asked why someone could use a feature that turns the pixels in your screen from square shape to rectangular shape... Hell yeah, it sounds a bit crazy, but this was one of the most important settings ever discovered! Let me explain why:
Originally the Nes 8 Bits is 256x224. When running on Xport, we must change to 512x448 for a correct double screen (or 510x448 using the "minus 2" rule mentioned above), what gave us a perfect screen not distorted, but together with this, black areas on both sides. Sadly the width of 512 is not wide enough to fill horizontally the TV screen! After few tests, I discovered that there is a second secure point for correct aspect ratio: the width of 640, resulting in 640x448. Applying this second modification I still had the correct pixel aspect ratio but things got inverted, the image was presenting some overscan, it means - few portions of the screen were outside of television boundaries to left and right side. Oh my... I was desperate. (Check the Castlevania 1 picture on the right!)
In the beginning, this does not bothered me much, since that cropped out area - I use to call it dead area (I know there is correct name for it but I can't remember) - was simply portions of the screen wher you never walk. Mario does not got there, Trevor Belmont, Rockman... nobody! So, I kept playing this way. Then one day I noticed on ZsneXbox that the 10x11 Pixel Aspect Ratio feature simple shrinked the screen horizontally - keeping the 640 pixels wide, of course - and made the image fit perfectly on TV boundaries! The holy grail was found! Another journey started and I found myself humble asking to Xport to include these awesome feature in his full row of emulators. Time passed, and I kept waiting, waiting for good news.
For my surprise, few time later the user Timerever from Xbox Scene contacted me telling that the 10x11 Pixel Aspect Ratio feature WAS ALREADY present on Xport emulators all the time - just hidden under the name of 720x480 video mode! Holy Mother of Link, finally things touched the sky, reached the perfection. I really didn't have anything else to desire on this set of emulators. They were (are) perfect!
NOTE: Well, I know I should adjust the text above to reflect my new way of thinking, but I don't have the time now and I believe it must stay intact due to its historical purpose. What I want to say now is that - Thanks to the user Gilles9999 from the Xbox Scene forum I switched back my NES, SNES, MegaDrive, Master System and PC Engine emulators to the horizontal resolution of 512 pixels and I did turn off the 10x11 pixel aspect ratio. What I did that? Simple... If you really really really pay attention on the scrolling of the screen you will notice a very small, subtle, almost invisible distortion. The 10x11 pixel aspect ratio is wonderful to remove the black bars from the sides of the screen, and I was blindly using it as the holy grail of the emulation... but in the end it was not...! A nice feature, but nothing more than that. If you want the NEAT PERFECT screen, go for 512 on width. THANKS GILLOU999
My Xbox is connected to my television using the official Video Component Cable from Microsoft, that second edition. My TV is a newer Samsung 21" SlimFit CRT, and supports only 480i. I pick this television since it is one of the best CRT around, in my opinion. I don't like HDTVs, Plasma or LCDs for OldSkool gaming. Few time ago we plugged a original Nes in a HDTV and the results were horrible.
When I did buy the Xbox, I used for a long time the simple AV standard cable bundled in the package. Even after setting all the stuff mentioned above, my emulators kept presenting flickering, and the only real solution was to use hardware filtering in BILINEAR instead of POINT and software filtering in NONE or SIMPLE 2X. If you think your screen is still blinking too much, try to not need to use the flicker filter, keep it in always in zero and use BILINEAR instead, I believe it will solve all your problems. Avoid the Flicker Filter solution, because the blur you will get - at least for my eyes - will be much more stronger than the different video hardware modes.
In addition to the statement above, Timerever from Portugal sent me the following message recently: "(...) don't tell people to use hardware filters instead of flicker filter to solve flickering, just because it works on your TV doesn't mean it works on all TVs, the flicker filter is a special hardware trick designed to reduce flicker so do use it even if it blurs the image more since it will work for sure. (...)"
I must agree with him, but each TV is different case, and sometimes you will need to make tests and more tests to find out your own "best settings". I also strongly suggest that you should try a connection through Video Component inputs. Other tip is to search on your television menu if there is some kind of option like SHARPNESS. You can try to lower the amount of sharpen graphics a bit.
As I said before - I just describe here what happened to me (and to few friends, since I really saw it with my own eyes) and I do my best to show you the steps of the proccess - but I am pretty sure that this tutorial will not work 100% all the time to every single CRT television in the world! I'm sorry! And to end the document I invite the many of you who are visiting this tutorial and are into some high tech video solutions to take your own tests using my tips and let me know what your discoveries! Let's improve this guide as best as we can!