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: Help figuring out exactly how arcade games output different 15 kHz resolutions  (Read 2103 times)

0 Members and 1 Guest are viewing this topic.

eschersenigma

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 8
  • Last login:February 02, 2021, 02:36:04 pm
  • I want to build my own arcade controls!
Hello everyone! I'm currently in the process of building my own JAMMA-compatible arcade game + PCB from scratch. I want the board to be FULLY JAMMA-compatible, and this means being able to generate a standard resolution 15 kHz RGBS video signal.

What has me confused however is how arcade monitor resolutions work.

I understand that:
- With a standard resolution 15 kHz horizontal sync rate and 60 Hz vertical sync rate, the maximum vertical resolution you can have is ~262 lines (including blanking).

- If you interlace, you can double this to a vertical resolution of ~524 lines.

What I do NOT understand however is, considering that 15 kHz is THE rate to use for HSYNC, and changing VSYNC only changes your vertical resolution, and these timings are required for monitors to function correctly (VSYNC has room to move between 50-60 Hz), how do so many different old arcade games have so many different resolutions.

And furthermore, how does the horizontal resolution change between implementations? I've seen everything from 240x240 @ 60 Hz all the way up to 640x280 @ 50 Hz. Is it simply based on the rate at which the RGB values are changing?

Sorry if this is easy stuff to comprehend. I've been reading so much about this stuff at this point that I think I'm getting a feedback loop that's causing me to do the dumb.

Thanks for any help and clarification!

« Last Edit: June 07, 2017, 04:13:36 pm by eschersenigma »

Amra

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 232
  • Last login:August 31, 2023, 05:22:46 am
  • Save a tree, Eat a beaver!
To put it as simply as possible, the speed at which a single horizontal line is made was limited, both by how fast the original vacuum tubes could respond, and then by how fast the magnetic fields in the yoke could change. That speed was about 50us, with a retrace of about 13us.  Or ~63us per line.  If we divide 1 second by 0.000063, we get 15,873.  Basically that means a TV could draw a total of 15k lines in one second (aka the horizontal refresh).  Now, we also know that a TV generates a refresh signal of 60hz (this signal is not from the AC line), so if we divide 15,873 by 60, we get ~265.  This is the approximate maximum number of lines one could draw in a single screen.  NTSC standards put the refresh at about 15,734 (gives some headroom for blanking and such) but most people just consider it about 15,750, which puts the total number of lines at ~262, with only 240 actually visible.

Vertical resolution is less limited because it is entirely controlled by the speed at which you can change the voltage signals for the R, G and B.  Given the line is analog, you could divide that 50us up however many times you want, and provided the electronics can switch fast enough, you could theoretically have thousands of 'lines' of vertical resolution, so long as you could change the colors fast enough as they draw the horizontal line.  In which case the vertical resolution can be 320, 640, or even 1024 and it wouldn't change the horizontal frequency because you're only changing how many times you can change the color while drawing that single 50us horizontal line, the time it takes to draw the line doesn't change.

As electronics improved, the number of lines capable of being drawn increased, which improved the horizontal resolution of the monitor.  However this also means the beam had to move in the horizontal direction faster, which changes the time it takes to draw a single line, so if you doubled the speed, you double the resolution, but it also means that now it takes about 25us to draw a line, and 7.5us for a retrace.  So if you divide 1 second by 0.0000325s, you get ~30,769 lines drawn per second.  Or, 31khz.

Hopefully that all makes sense.

Edit: Realized that might not entirely answer the question regarding differences between similar 15khz resolutions.

The only important thing when calculating whether or not the signal is 15ks is how many lines are drawn in one second. You can change that value slightly in either direction but generally you would change the number of lines per field by manipulating the refresh rate.  Dropping the refresh rate allows you to put more lines on the screen.  For example, if you were to drop the refresh rate to ~53hz, with approximately 15,750 total lines, that lets you do draw nearly 300 lines per screen instead of the normal limit around 262, so by slightly messing with refresh you can change the total number of lines you can get per screen.
« Last Edit: June 09, 2017, 10:33:17 pm by Amra »
Save a Tree, Eat a Beaver!