Slashdot Mirror


Making Old Games Look Good On Modern LCDs?

75th Trombone writes "I'm a fan of several old PC games — the Myst series, StarCraft, Diablo, etc — with 2D graphics that run at a low, fixed resolution. These games all look horrible on modern LCDs. If you run them at their original resolution, they're tiny, and if you upscale them they get all sorts of blurry, pixelly smoothing artifacts. My ideal goal is to run these games at exactly double their original resolution — running 640 x 480 games at 1280 x 960, for example — so that each original pixel takes up exactly a 2 x 2 block of screen pixels, yielding graphics that are perfectly crisp and decently big. I've tried arcane settings in graphics card drivers (new and old), I've tried forcing the OS to run at a given resolution, and I've tried PowerStrip, all to no avail. Short of writing a new, modern engine for my favorite games, is there a reasonable solution to this problem?" There have been many community-supported graphical overhauls of classic games — feel free to share any you know to work well.

18 of 367 comments (clear)

  1. Try dos games. by sjwt · · Score: 5, Informative

    your problem is you are not looking old enough, try runing DOS games in Dosbox, nice scaling options there.

    --
    You have 5 Moderator Points!
    Which Helpless Linux zealot/MS basher do you want to mod down today?
    1. Re:Try dos games. by naz404 · · Score: 5, Informative

      The ScummVM emulator for running classic Lucasarts games like Maniac Mansion, Day of the Tentacle and the Monkey Island series also has a nice set of scalers and graphics filters.

  2. For DOS games. by brandorf · · Score: 4, Insightful

    Well, for DOS games, DOSbox can do a number of different scaling modes. From the Wiki: normal: nearest-neighbour scaling (big square pixels) scan: like normal, but with horizontal black lines tv: like scan, but with darker versions of data instead of black lines advmame: smooths corners and removes jaggies from diagonal lines advinterp: identical to advmame rgb: simulates the phosphors on a dot trio CRT As for old windows games, I hope to hear something else. One last note, Myst was re-released as a "Masterpiece Edition" with higher resolution re-rendered graphics.

    --


    Bork Bork Bork!!
  3. Re:Buy a cheap CRT by denmarkw00t · · Score: 4, Informative

    Actually, forget eBay, there are plenty of CRTs available at thrift stores (Goodwill, Salvation Army), presumably on Craigslist, and one of the best gaming CRTs I ever got came from a yard sale.

    I know we're nerds, but we too can purchase old televisions at low prices, face-to-face with an actual person ;)

  4. 2xSal or hqx in a gpu driver? by Rufus211 · · Score: 4, Interesting

    A number of emulators already have good algorithms for scaling fixed-pixel images that preserve the sharpness while removing aliasing. Wikipedia of course has a page on Pixel art scaling algorithms. The 2 best ones out there are 2xSal and hqx.

    The problem is that these only work within emulators that implement the algorithms. This clearly does not work for something like StarCraft. Graphics drivers (both ATI and NV) already have options to scale between virtual and physical resolutions. The ideal solution would be for them to offer different scaling algorithms that can be picked - standard bilinear or a modified one for classic games. Everything "just works" then and you get nice graphics.

    I'm not going to hold my breath on ATI or NV ever officially implementing this in their release drivers. However I'm wondering how hard it would be to add an option like this to one of the open source linux X drivers, or maybe even to Wine/DosBox. Also for windows isn't there a way to intercept graphics calls (along the lines of what FRAPs does)? Would it be possible to create a wrapper program that intercepts all the graphics calls and adds a scaling algorithm after each frame is drawn?

  5. See "Atari Emulation of CRT Effects On LCDs" by fractalVisionz · · Score: 5, Informative

    "A group at Georgia Institute of Technology has developed a fun little open source program to emulate the CRT effects to make old Atari games look like they originally did when played on modern LCD's and digital displays. Things like color bleed, ghosting, noise, etc. are reproduced to give a more realistic appearance."

    From Slashdot story Atari Emulation of CRT Effects On LCDs.

  6. software scaling by mambodog · · Score: 5, Interesting

    I dunno, on my 1920x1080 display old games look pretty good using Nvidia (driver) scaling (fixed aspect ratio, scale to fit vertically). Maybe just because its sufficiently high res, scaling artefacts are not particularly noticeable.

  7. Re:Buy a cheap CRT by bemymonkey · · Score: 4, Funny

    I have two you can have for free. They're here in Germany though... shipping might be a bit expensive ;)

  8. Re:Buy a cheap CRT by Lord+Bitman · · Score: 4, Insightful

    Actually, forget Freecycle, you probably already have an old CRT laying around somewhere that you just don't want to use because it takes up so much space.

    --
    -- 'The' Lord and Master Bitman On High, Master Of All
  9. Re:Buy a cheap CRT by Anonymous Coward · · Score: 5, Insightful

    I love how everyone posting in this thread disregards the question asked and poses a solution that doesn't actually solve the problem.

    I don't want a fucking CRT taking up desk space, and I'm sure the person posing the question doesn't either - or he wouldn't have asked. Hm! Food for thought.

  10. Re:Possible Starcraft Solutions by supersat · · Score: 4, Interesting

    I once wrote a tool called "StarPatch" that lets you run StarCraft in a window. It works by 1) patching a calls to CreateWindow and some DirectDraw initialization functions, 2) patching calls to DirectDraw's Lock and Unlock to return a fake video memory pointer, and 3) periodically copying the fake video memory to the real video memory.

    The source code is almost ten years old at this point, but I've made it available again at http://www.cs.washington.edu/homes/supersat/starpatch.c. You'll need to tweak it to work with anything other than StarCraft 1.10, but you can modify it to scale up pixels, etc.

    - Karl

  11. Re:get some sun by maxwell+demon · · Score: 4, Funny

    I don't think there are many games released for the Sun platform. And those that exist probably run just as well with Linux on a normal PC. No need for expensive hardware.
    And BTW, what's that "outside" you are speaking of? :-)

    --
    The Tao of math: The numbers you can count are not the real numbers.
  12. Re:Buy a cheap CRT by xaxa · · Score: 5, Interesting

    I advertised a 17" CRT on Freecycle (London). I didn't expect any replies, but had several! One was from a woman who said she was disabled and would send a taxi round to collect it, but as it was only 10 minutes walk I carried it to her house. She turned out to be a research scientist who'd got an unusual disease (and couldn't walk). She wanted to research it but couldn't get any funding. So, she'd given up her job and was doing her research from home.

    This was 2 years ago, maybe now it'd need to be an LCD.

  13. Blocky scaleup by sfraggle · · Score: 5, Interesting

    I'm the author of Chocolate Doom, which deliberately maintains the low resolution of the original game, but has to run in modern, high resolution screen modes. One of the problems with Doom is that the graphics are designed for non-square pixel modes (the original game ran in 320x200, stretched to a 4:3 aspect ratio screen), so there's the double problem of having to scale everything up to work in a square pixel screen.

    I developed a technique that does a blocky scale-up, interpolating the edges of the blocky "pixels" appropriately, so that you end up with a fairly decent looking result. I don't know if this is useful to the developers of programs like DOSBox, but the code's there if anyone wants it.

    --
    were you expecting to see a sig here? perhaps you'd rather see the inside of an ambulance!
  14. Windowed Mode: VM by Anonymous Coward · · Score: 5, Informative

    To get old games into "Windowed Mode" I often run them in a VM

    These games are old enough that a VM can handle their graphics card needs & the underlying CPU can run them through a VM at at least the original CPU speed.

  15. Re:Old Games on Faster Computers can be tough by mcvos · · Score: 4, Funny

    Meanwhile, Nethack works just fine...

    Amazing how you never have to worry about turn-based games playing too fast, isn't it?

    Or ascii-based games running into problems with tiny pixels or miss-matched resolutions.

  16. My comments on the issue... by jez9999 · · Score: 4, Informative

    Heh, this story could almost have written by me. It's the reason I held out so long on getting an LCD instead, and why I have my beloved Samsung CRT sitting still in the loft.

    I was actually quite surprised that ZSNES at 640x480 fullscreen mode, whilst there is a small noticeable interpolation effect, looked quite good. Perfectly playable once you have the graphics being displayed... I almost forget I'm not on a CRT.

    What has been a problem, though, is fast movement. This seems to be a problem inherent to LCDs. :-( Try emulating Sonic 1 (MegaDrive/Genesis) on a CRT vs an LCD. On the CRT, no problems. On the LCD, the rings in particular look fainter, and darker... well, everything seems to look a bit darker as you're running. I guess this is a small form of ghosting, and I don't think there's any way to get round it on an LCD. Any tips would be appreciated. But, I'd say that if you wanna play Sonic or the like, use a CRT.

    By the way, I'm using an NEC MultiSync EA191M.

  17. Cheap solution... by KevinColyer · · Score: 5, Funny

    Try squinting?