Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Lightguns Arcade1Up Try the site in https mode Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news

  

Author Topic: How do you make an LCD image into a CRT image?  (Read 10105 times)

0 Members and 1 Guest are viewing this topic.

PTD

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 32
  • Last login:August 26, 2014, 10:54:16 am
  • I want to build my own arcade controls!
How do you make an LCD image into a CRT image?
« on: July 13, 2013, 09:44:03 am »
Right now I have a bartop arcade with an LCD screen but classic games like Pac-Man, Donkey Kong, 1942 do not look like the real thing.  Is there a converter that can make the image look like the real games that are seen in the old days with CRT screen ?

BobA

  • Trade Count: (+14)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5943
  • Last login:July 11, 2018, 09:52:14 pm
  • What Me Worry?
Re: How do you make an LCD image into a CRT image?
« Reply #1 on: July 13, 2013, 09:51:18 am »
You can try it in software but it takes alot of overhead.  The hardware solution looks like the way to go.  Scanline Generator

Sjaak

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 706
  • Last login:March 19, 2025, 02:54:38 am
Re: How do you make an LCD image into a CRT image?
« Reply #2 on: July 13, 2013, 10:02:21 am »
You can try it in software but it takes alot of overhead.  The hardware solution looks like the way to go.  Scanline Generator

If you want more then just scanlines, google Mame and HLSL

ark_ader

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5645
  • Last login:March 02, 2019, 07:35:34 pm
  • I glow in the dark.
Re: How do you make an LCD image into a CRT image?
« Reply #3 on: July 13, 2013, 11:32:24 am »
Just bend the edges.
If I had only one wish, it would be for three more wishes.

DickTurpin

  • Guest
  • Trade Count: (0)
Re: How do you make an LCD image into a CRT image?
« Reply #4 on: July 13, 2013, 11:38:00 am »
You can get a graphics card that has arcade friendly resolutions. That way you can play them in their original resolutions so they look right.

This is what I mean, http://www.arcadeworlduk.com/products/Arcade-VGA-3000.html

A friend has one and the difference is certainly noticeable.

Edit: I am buying one of these next week> It says its guaranteed to run SF4 at 60fps with full detail and I like the look of the ArcadePerfect configuration utility


« Last Edit: July 13, 2013, 11:49:54 am by DickTurpin »

nitz

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 507
  • Last login:November 24, 2015, 07:57:29 pm
Re: How do you make an LCD image into a CRT image?
« Reply #5 on: July 13, 2013, 03:04:24 pm »
Outputting the games in their original resolutions isn't going to give you a CRT look on an LCD. LCDs can only display one resolution - their native resolution. Sure, you can send other resolutions to it, but the LCD just scales it to its native res, and generally does a bad job of it at that.

Mame's HLSL is the best way to go, you can tweak it to look pretty much however you want. If your video card isn't up to the task and you feel that just having scanlines is enough, get the scanline generator.

matsadona

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 760
  • Last login:October 28, 2023, 06:00:12 am
Re: How do you make an LCD image into a CRT image?
« Reply #6 on: July 13, 2013, 05:04:35 pm »
Now it seems that everybody was assuming that you use MAME, but if you have something like the 60-in-1 boards, you need gizmos like this one: http://www.arcadeshop.de/Audio-Video-Scanline-Generator-SLG3000-v2_1078.html

Hm... I'm to tired today, and now I realize that others already answered the same thing.
« Last Edit: July 13, 2013, 05:06:29 pm by matsadona »
Building, collecting and playing arcade machines :)

dmarcum99

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 238
  • Last login:January 21, 2020, 12:02:36 am
Re: How do you make an LCD image into a CRT image?
« Reply #7 on: July 14, 2013, 01:54:38 am »
Order the mini-SLG....

It creates scan lines to the picture and makes the image TONS better.  Granted, it's not arcade authentic, but you're playing on actual arcade hardware either. 
My 60-in-1 has it and it's awesome....like playing on a flat-screened crt.

MonMotha

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2378
  • Last login:February 19, 2018, 05:45:54 pm
Re: How do you make an LCD image into a CRT image?
« Reply #8 on: July 14, 2013, 04:45:52 am »
Outputting the games in their original resolutions isn't going to give you a CRT look on an LCD. LCDs can only display one resolution - their native resolution. Sure, you can send other resolutions to it, but the LCD just scales it to its native res, and generally does a bad job of it at that.

Not only that, but the vast majority of LCD (PC monitors and TVs) won't accept classic ("standard res") arcade resolutions on their RGB analog inputs at all.  You'll either get an out of range message or a garbled image.

So not only is it ineffective it may not work at all.

Of course, if you've got a CRT arcade monitor, native res is the way to go.

DickTurpin

  • Guest
  • Trade Count: (0)
Re: How do you make an LCD image into a CRT image?
« Reply #9 on: July 14, 2013, 05:36:30 am »
I don't agree. I have seen the difference. It might not be arcade perfect but it is very good. Each to their own.
EDIT: This graphics card is perfect for an original monitor. But decent for LCD.

Reason for edit: I was wrong. :o
« Last Edit: July 14, 2013, 05:48:16 am by DickTurpin »

DickTurpin

  • Guest
  • Trade Count: (0)
Re: How do you make an LCD image into a CRT image?
« Reply #10 on: July 14, 2013, 05:46:55 am »

The FAQs has it all:

I only use a conventional PC monitor. What is the benefit of this card? My ordinary card seems to work fine with MAME.

When you run most MAME games, a process called Hardware Stretch is used. This is needed because most arcade games do not use PC resolutions suchas 640 X 480, 1024 X 768 etc. They use resolutions such as 256 X 264. These arcade resolutions could not, until now, be displayed in Windows on a PC monitor. To get around that problem, MAME tells the VGA card to stretch the image to fit the PC resolution. This means that the pixel-to-pixel mapping of the original game onto the monitor screen is lost as there is no longer a one-to-one relationship between the pixels which the game designer created and the displayed pixels. As arcade game resolutions are generally low, this creates a loss of quality. It is important to note that using a PC monitor will NOT produce an arcade monitor-like picture as PC monitors have a much higher dot pitch and finer scan width than arcade monitors. But using the ArcadeVGA will give a crisper picture than an ordinary VGA card, at the lower resolutions. There are some comparison pictures on the product page. Another benefitis that the vertical refresh rates of the ArcadeVGA modes are tailored to Mame games which means a smoother motion on horizontally moving graphics.

So although it doesn't as you say do the biz about res because your right the lowest res my monitor can do is 800x600 - It does improve the quality of the picture and the crisper output is well worth the £60 - I'm looking at this for a full upright mind you and I wouldn't recommend it for a Bartop. I do like the look the card produces. Some of the animation looks less blurry as well.

Either way unless you had an arcade monitor it won't look 'totally' authentic. But then why use a bartop design if you want authenticity ??

Dawgz Rule

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 737
  • Last login:August 22, 2024, 07:18:55 pm
  • The more people I meet, the more I like my dogs
Re: How do you make an LCD image into a CRT image?
« Reply #11 on: July 14, 2013, 05:47:45 am »
The authentic look is purely because of the scanlines, not the ArcadeVGA.  The benefit of the ArcadeVGA is purely for someone who has an arcade monitor that will accept the lower resolutions. 

DickTurpin

  • Guest
  • Trade Count: (0)
Re: How do you make an LCD image into a CRT image?
« Reply #12 on: July 14, 2013, 05:51:08 am »
Outputting the games in their original resolutions isn't going to give you a CRT look on an LCD. LCDs can only display one resolution - their native resolution. Sure, you can send other resolutions to it, but the LCD just scales it to its native res, and generally does a bad job of it at that.

Mame's HLSL is the best way to go, you can tweak it to look pretty much however you want. If your video card isn't up to the task and you feel that just having scanlines is enough, get the scanline generator.

Nitz, This does produce a decent crisp picture on LCD. But I take your point. I keep hearing HLSL what is that ?

Dawgz Rule

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 737
  • Last login:August 22, 2024, 07:18:55 pm
  • The more people I meet, the more I like my dogs
Re: How do you make an LCD image into a CRT image?
« Reply #13 on: July 14, 2013, 05:51:46 am »
Also, the whole point of the ArcadeVGA is to turn the hardware stretching off.

Sjaak

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 706
  • Last login:March 19, 2025, 02:54:38 am
Re: How do you make an LCD image into a CRT image?
« Reply #14 on: July 14, 2013, 07:37:28 am »
I keep hearing HLSL what is that ?

HLSL (high level shader language) is a addition to mame to simulate a crt screen. It does scanlines, curvature, color bleed, after glow, etc. It tries to emulate the characteristics of a phosphor based screen. And it does that pretty well.

DickTurpin

  • Guest
  • Trade Count: (0)
Re: How do you make an LCD image into a CRT image?
« Reply #15 on: July 14, 2013, 01:12:29 pm »
Excellent sounds just the ticket Sjaak. Will be looking into that for my build and dropping the graphics card route.
Thanks for saving me £60. Edit: I've used/coded shading effects before in games.  ;D

Sjaak

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 706
  • Last login:March 19, 2025, 02:54:38 am
Re: How do you make an LCD image into a CRT image?
« Reply #16 on: July 14, 2013, 03:50:21 pm »
I've used/coded shading effects before in games.  ;D

Then you should take a look at the shader code in the mame hlsl folder...there's some great stuff in there

epetti

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 344
  • Last login:September 14, 2023, 10:15:20 pm
  • I want to build my own arcade controls!
How do you make an LCD image into a CRT image?
« Reply #17 on: July 14, 2013, 04:47:47 pm »
Are the defaults for the hlsl effects pretty good if you turn them on, or anyone have suggestions on good numbers and images for the scan lines? There's a daunting number of parameters to dial.

Ond

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2353
  • Last login:July 10, 2025, 08:06:51 am
Re: How do you make an LCD image into a CRT image?
« Reply #18 on: July 14, 2013, 05:51:04 pm »
Are the defaults for the hlsl effects pretty good if you turn them on, or anyone have suggestions on good numbers and images for the scan lines? There's a daunting number of parameters to dial.

The defaults are not great, I got this working really nicely on the weekend though.  I can post the config and sample screens when I finish up at work. The settings are not that daunting but it does help to understand how CRTs work.  I'm. sure others have their configs available.

epetti

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 344
  • Last login:September 14, 2023, 10:15:20 pm
  • I want to build my own arcade controls!
Re: How do you make an LCD image into a CRT image?
« Reply #19 on: July 14, 2013, 06:29:25 pm »
I'm curious about performance of games with it on and off.  From what I understand MAME almost entirely uses the CPU versus any of the GPU.  But I'm assuming that the hlsl stuff is pretty much entirely on the GPU.  So does that mean theoretically if you have a decent GPU turning on hlsl should not very much effect the performance of the games you're running?

Also, I'm assuming unless you have mame .149 and the new vector settings there, you want these settings off for vector games as they wouldn't have had scanline effects?

Diet_Pepsi

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 106
  • Last login:December 07, 2020, 10:49:11 am
Re: How do you make an LCD image into a CRT image?
« Reply #20 on: July 14, 2013, 07:51:29 pm »
This would help me tremendously.  I have been playing with HLSL for awhile and can't get it to look quite the way I want it too...it would be interesting to compare settings with someone who really knows what they are doing as I am a novice at this type of stuff...

Are the defaults for the hlsl effects pretty good if you turn them on, or anyone have suggestions on good numbers and images for the scan lines? There's a daunting number of parameters to dial.

The defaults are not great, I got this working really nicely on the weekend though.  I can post the config and sample screens when I finish up at work. The settings are not that daunting but it does help to understand how CRTs work.  I'm. sure others have their configs available.

Ond

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2353
  • Last login:July 10, 2025, 08:06:51 am
Re: How do you make an LCD image into a CRT image?
« Reply #21 on: July 15, 2013, 02:40:10 am »
Here's some reading I put together on basic CRT function to provide some context to the HLSL settings in Mame.

The image produced by a CRT is called a raster scan or just a raster for short.  A raster scan is an image divided up into a sequence of horizontal strips known as scan lines.  In raster scanning an electron beam sweeps horizontally left to right, then switches off (blanks) and moves rapidly back to the left, slightly lower vertically, turns back on again and sweeps out the next line of the image.  A raster scan produced with a single beam can only produce a single color as in Black and White images.

A color raster scan is produced by three beams moving together, of red, green and blue assigned beams.  The beams are not literally colored, they simply correspond to each of the three color channels used in CRTs.
The actual CRT image is produced by the scanning beam/s moving over tiny dots of phosphor which glow depending on the strength of the beam hitting them.  The dots are arranged in groups of red, green and blue. In a color raster there are effectively three images being traced each with the right amount of color glow controlled such that when viewed together appear as a single full color image.
Phosphor dots continue to glow after the beam as moved over them.  This is called phosphor persistence.  By the time the whole screen has been drawn, the initial dot’s brightness will have decreased.  This can appear as flicker.
 
To reduce flicker, CRTs produce only odd-numbered scan lines on the first vertical scan, then even-numbered lines on a second vertical scan.
Each scan is called a field.  Two fields make up a single full frame or image and the process is called interlacing.  A PAL Frame consists of 625 scan lines of which 576 lines are visible.  In the PAL standard a CRT produces 50 fields interlaced together, to form 25 frames  of video imaging a second.  Let’s look at the CRT components that produce the raster scan.



A bunch of electronic components are installed inside a sealed glass tube with the air removed i.e. in a vacuum. At the very back of the tube three cathodes corresponding to the red green and blue that make up the CRT image each emit a beam of electrons. The beams are accelerated by the electron gun. The beams are focused and moved by the deflection yolk to trace out the raster scan I described.
Between the electron gun and the dot phosphor coated glass is the aperture grill otherwise known as the shadow mask.  The shadow mask ensures that each beam is finely focused and strikes the phosphor dot it was intended for.



Over the years several manufactures came up with different tube designs which culminated in the superior Sony Aperture grille – slot mask.  Essentially less shadow mask metal and more phosphor real estate resulting in a better picture.



To sum up:
A raster scan is made up of scan lines which form the video image.
A colour raster scan is formed by three electron beams focused through a shadow mask onto targeted phosphor dots which glow at the right amount.

Now to the HLSL settings which simulate CRT behavior.

Firstly keep in mind that there is official documentation for current releases in Mame\docs\hlsl.txt.  Here's my take on the settings:

hlsl_prescale  Similar to the standard prescale setting in Mame, represents a multiplier applied to the original game’s resolution.  For example a game with an actual resolution of 320x240 with a prescale setting of 5 applied works out at 320 x 5 = 1600  and 240 x 5 =1200  which is the native resolution of some LCD monitors.  The result is a ‘sharper’ image.  This needs to be set according to the monitor being used.
hlsl_snap   The resolution setting for screen capture of snap images
shadow_mask_alpha   Sets the visibility of the shadow mask
shadow_mask_texture  Similar to the effect setting (under CORE SCREEN OPTIONS) determines which *.png     file (usually in the artwork folder) is used as an overlay to simulate the shadow mask, the default aperture.png works quite well with suitable settings
shadow_mask_x y_count Sets the number of tiles of the shadow mask texture to fill the resolution with. To avoid moiré (noisy patterns on the screen) effects use the original games resolution e.g. 320 x 240
shadow_mask_uv size  Sets the actual pixel usage of the shadow mask  image  e.g.  aperture.png relative to its x & y axis when tiling.
curvature   Sets the curvature of the shadow mask effect in line with the pincushion setting.
pincushion   Sets the curvature of the display to simulate the curve of CRT tube face.
scanline_alpha     Sets the visibility of scanlines
scanline_size  The overall height of each scanline
scanline_height  Individual height scaling value for scanlines
scanline_bright_scale  The overall brightness multiplier for each scanline
scanline_bright_offset  The overall brightness additive value for each scanline
scanline_jitter   The relative scanline movement per field
defocus  This defines the overall defocus radius for the three post-converged beams.  Unless you want to simulate an out of focus CRT, leave this setting at default or off.
Converge xy  Convergence in screen-relative xy direction.  Simulates the slight convergence errors most CRTs are prone to, i.e. the scanning beam is lighting up phosphors other than the color intended.
radial_converge xy     Radial convergence in screen-relative xy direction
red_ratio   
grn_ratio      Sets the system tint
blu_ratio
saturation  What is says, sets the overall color saturation, set near 1 or just above for intended color setting.             
Offset  Offset strength of red,blue,green, more color variation control
scale   Similar to brightness adjustment
power Similar effect to contrast adjustment
Floor     Similar effect to gamma control
phosphor_life   phosphorescence or phosphor persistence leaves trails behind moving game sprites or ghosting effects if set high.

CoryBee

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2093
  • Last login:May 18, 2024, 07:28:48 am
  • Bopity Boopy
Re: How do you make an LCD image into a CRT image?
« Reply #22 on: July 15, 2013, 02:46:17 am »
To OND

 :notworthy:

Ond

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2353
  • Last login:July 10, 2025, 08:06:51 am
Re: How do you make an LCD image into a CRT image?
« Reply #23 on: July 15, 2013, 07:23:39 am »
Thanks CoryBee,  I've been playing around with HLSL lately so I thought this stuff may be of some use.   :cheers:

Here's my current HLSL config:

hlsl_enable               1
hlslpath                  hlsl
hlsl_ini_read             0
hlsl_ini_write            0
hlslini                   %g
hlsl_prescale_x           5
hlsl_prescale_y           5
hlsl_preset               -1
hlsl_write               
hlsl_snap_width           3200
hlsl_snap_height          2400
shadow_mask_alpha         0.26
shadow_mask_texture       aperture.png
shadow_mask_x_count       320
shadow_mask_y_count       240
shadow_mask_usize         0.094
shadow_mask_vsize         0.09842
curvature                 0.025
pincushion                0.025
scanline_alpha            0.7
scanline_size             1.0
scanline_height           1.0
scanline_bright_scale     0.65
scanline_bright_offset    0.6
scanline_jitter           0.02
defocus                   0.0,0.0
converge_x                0.2,0.0,-0.2
converge_y                -0.1,0.0,0.1
radial_converge_x         0.0,0.0,0.0
radial_converge_y         0.0,0.0,0.0
red_ratio                 1.0,0.0,0.0
grn_ratio                 0.0,1.0,0.0
blu_ratio                 0.0,0.0,1.0
saturation                1.1
offset                    0.0,0.0,0.0
scale                     0.95,0.95,0.95
power                     0.9,0.9,0.9
floor                     0.01,0.01,0.01
phosphor_life             0.46,0.46,0.46

and here's how it looks on my NEC 21" 4:3 Monitor @1600 x 1200 resolution.  Unfortunately the scan lines don't' show up too
well in these pics but on the real thing they look good.  The Build is Mame 0.149, the game is Street Fighter III - 3rd Strike.....



Close up





Is it as good as a real CRT?  No.  Is it a pleasing simulation of a CRT?  Yes!

Terr1

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 33
  • Last login:September 19, 2016, 04:06:57 pm
  • Building my first cabinet
Re: How do you make an LCD image into a CRT image?
« Reply #24 on: July 15, 2013, 09:50:33 am »
So in MAME HLSL can be used.. What about other emulators like Nes/Snes? best solution is the hardware or are there similair software solutions?

(Not to steal thread or Anything)

BadMouth

  • Trade Count: (+6)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 9272
  • Last login:July 24, 2025, 02:05:45 pm
  • ...
Re: How do you make an LCD image into a CRT image?
« Reply #25 on: July 15, 2013, 10:21:55 am »
So in MAME HLSL can be used.. What about other emulators like Nes/Snes? best solution is the hardware or are there similair software solutions?

(Not to steal thread or Anything)

Not as comprehensive as HLSL in MAME, but.....

Software:
http://forum.arcadecontrols.com/index.php/topic,132366.0.html

Hardware:
http://forum.arcadecontrols.com/index.php/topic,129344.0.html

Some emulators have a built in scanline effect option.

epetti

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 344
  • Last login:September 14, 2023, 10:15:20 pm
  • I want to build my own arcade controls!
Re: How do you make an LCD image into a CRT image?
« Reply #26 on: July 15, 2013, 11:50:52 am »
Wow!  Thanks for the settings and the background behind them all!  Do you know if these hlsl settings are supported for both MAME and MESS?

RandyT

  • Trade Count: (+14)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 7014
  • Last login:Yesterday at 02:17:35 pm
  • Friends don't let friends hack keyboards.
    • GroovyGameGear.com
Re: How do you make an LCD image into a CRT image?
« Reply #27 on: July 15, 2013, 02:04:15 pm »
It's great to see the use of things like HLSL in MAME.  One thing I haven't seen mentioned in this thread is the pretty much required high native screen resolution to get the most benefit.

In order to do a convincing shadow mask overlay, along with the simulation of CRT irregularities, there needs to be a place for those details which extend beyond the actual pixel information.  This can be seen easily with just simple scaling, where if the size of the screen is not able to be evenly divided into the native resolution, some pixels become (badly) distorted.  With a native resolution which is many times the size of the original pixels to be represented, these artifacts become much less noticeable. 

To accurately represent the glow, ringing, etc, extra data must be present in and around each of the "original" pixels.  So again, the more space in which to work, the more accurately such things can be represented.  Of course, manipulating more pixels to do these things will increase demands on GPU, CPU or both, so the system as a whole needs to be configured with these desires in mind.

IMHO, basic LCD output with sharp corners on every pixel, is visually unappealing.  The game graphics were never intended, nor expected, to be shown that way, as pixels which were designed to blend in order to improve the issues with low resolution displays, don't really work to that effect on an LCD.  So anything which can improve this situation, even on less than optimal setups, can only be a good thing.

Diet_Pepsi

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 106
  • Last login:December 07, 2020, 10:49:11 am
Re: How do you make an LCD image into a CRT image?
« Reply #28 on: July 15, 2013, 03:45:34 pm »
This is great - just by scanning the config lines I am already seeing one or two things that I could be doing wrong.  Can't wait to get home and put this to the test.

Thanks for taking the time to post this!

epetti

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 344
  • Last login:September 14, 2023, 10:15:20 pm
  • I want to build my own arcade controls!
Re: How do you make an LCD image into a CRT image?
« Reply #29 on: July 15, 2013, 08:17:06 pm »
It's great to see the use of things like HLSL in MAME.  One thing I haven't seen mentioned in this thread is the pretty much required high native screen resolution to get the most benefit.

Very good point.  I'm running at 800x600 for performance (games run much faster than if I have it at full res 1600x1200), and that's probably not sufficient for good scanline effects.

Another point -- what is the correct behavior for vertical games?  I'm guessing that if you have vertical games running on a horizontal monitor, you would want the scanlines to be rotated 90 degrees to mimic a CRT being rotated 90 degrees.  But if you're rotating your monitor or just have a fixed vertical LCD in place, you want the scan lines to do what they would do, and run vertically just through natural game rotation (assuming the hlsl effects correctly rotate when you use MAME's rotate flags).

rCadeGaming

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1256
  • Last login:April 13, 2025, 12:14:40 pm
  • Just call me Rob!
Re: How do you make an LCD image into a CRT image?
« Reply #30 on: July 20, 2013, 02:02:52 pm »
Ond, great post, but there's a problem with this here:

To reduce flicker, CRTs produce only odd-numbered scan lines on the first vertical scan, then even-numbered lines on a second vertical scan.
Each scan is called a field.  Two fields make up a single full frame or image and the process is called interlacing.

It should be made clear that CRT's don't display an interlaced picture all the time.  They only do so when fed an interlaced resolution, and arcade games almost always use progressive resolutions, not interlaced.  The same goes for console games prior to the Dreamcast era.

Progressive just means that each frame is drawn completely, all at once, instead of alternating fields of odd and even lines.

Also, interlacing isn't meant to reduce flicker, it's meant to double the amount of lines that can be drawn at a given horizontal scan rate.  For example, a 15kHz CRT (whether it's a 15kHz/CGA arcade monitor or a standard definition TV) can display about 240 lines in progressive (240p), or it can display 480 lines in interlaced (480i).  Either way, each field is only 240 lines; but in 240p each field is a whole frame, whereas in 480i it takes two offset field to create what we perceive as a 480 line frame.  The upside to interlaced is more resolution, the downside is that there are only 30 complete frames per second, instead of the 60 you get with progressive (at 60Hz).  The other downside is that interlaced greatly increases flicker.

A PAL Frame consists of 625 scan lines of which 576 lines are visible.  In the PAL standard a CRT produces 50 fields interlaced together, to form 25 frames  of video imaging a second.

Ok, this is true.  You also could mention the more common NTSC standard, but neither are relevant here, as arcade games don't stick to either the NTSC or PAL standard.  NTSC is 480i at 60Hz, PAL is 576i at 50Hz.  Most games in MAME run between 224p and 256p at a variety of refresh rates.

nadcraker

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 75
  • Last login:November 21, 2024, 06:00:47 pm
Re: How do you make an LCD image into a CRT image?
« Reply #31 on: July 24, 2013, 03:18:23 pm »
You can get a graphics card that has arcade friendly resolutions. That way you can play them in their original resolutions so they look right.

This is what I mean, http://www.arcadeworlduk.com/products/Arcade-VGA-3000.html

A friend has one and the difference is certainly noticeable.

Edit: I am buying one of these next week> It says its guaranteed to run SF4 at 60fps with full detail and I like the look of the ArcadePerfect configuration utility

That card sounds awesome, can it be used with a Sony Trinitron Television? Or just an arcade monitor?

rCadeGaming

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1256
  • Last login:April 13, 2025, 12:14:40 pm
  • Just call me Rob!
Re: How do you make an LCD image into a CRT image?
« Reply #32 on: July 24, 2013, 06:30:40 pm »
It would work with a Trinitron, but there are better alternatives to an ArcadeVGA.  You could also use CRT_Emudriver and a compatible Radeon card:

http://mame.3feetunder.com/windows-ati-crt-emudriver/

An ArcadeVGA is more user friendly, but using CRT_Emudriver is much cheaper, more powerful, and much more flexible if you put in the work.