Electronic – Driving “Arcade CGA” monitor safely

crtmonitorsignal

I have some arcade machines which I build custom Linux PCs for. They all have 15khz monitors in them so I do some funky Linux stuff to output (what I think is) a correct signal to drive them.

This is the spec of the display:

                    Arcade CGA
                      640x240 
    Horizontal                Vertical

Scan Frequency: 15.725 KHz   Scan Frequency: 60.018 Hz
Scan Period: 63.6 µSec       Scan Period: 16.7 mSec
Active Video: 50.0 µSec      Active Video: 15.3 mSec
Video Delay: 11.9 µSec       Video Delay:  1.2 mSec
Sync Pulse: 4.7 µSec         Sync Pulse:  0.2 mSec
Resolution: 640              Resolution: 240
Clock Freq: 7.16 MHz

However, I run the game at 640×480. To do this I use a XFree86 Modeline, specifically this one:

Modeline "640x480" 12.324 640 648 706 784 480 483 489 524 interlace -Hsync -Vsync 

If you're not familiar with modelines this is what the numbers mean, they translate to this:

Horizontal:
    Width: 640
    Sync start: 648
    Sync end: 706
    Sync total: 784

Vertical:
    Height: 480
    Sync start: 483
    Sync end: 489
    Sync total: 524

Pixel clock: 12.324MHz

Based on these numbers I can do some calculations to see what frequency the display is being driven at:

(12.324*1000000)/784 = 15719hz = 15.719kHz (horizontal refresh)
(12.324*1000000/(784*524) = 29.99Hz (vertical refresh)

Since this display needs to be run at 60Hz, I interlace the signal (interlace option in the modeline), which I understand effectively doubles the vertical refresh rate.

Based on the specs, does this output signal seem safe? Is there a better modeline I could use?

Best Answer

This is basically a TV Video [SD] monitor. The first PCs used this 'resolution'. Treat it like composite video and you are good to go. NO, there is no better resolution possible

Interlacing actually halves the refresh rate. EG: 1st odd lines frame is 1/60 second, second even lines frame at 1/60 second; Complete frame is produced every 1/30 second. That's 30 Fps. Drop frame is common and is 29.97 Fps.