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: Mame Veterans - need your advice  (Read 3358 times)

0 Members and 1 Guest are viewing this topic.

marcopolo

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 68
  • Last login:September 28, 2011, 02:11:53 am
  • Life's a ---smurfette---
Mame Veterans - need your advice
« on: January 15, 2003, 12:48:04 am »
This is a long post, but I am requesting feedback / advice from anyone who is an expert with arcade monitors, especially the Wells Gardner D9200, or anyone who has come across a similar issue with their arcade monitor setup.

Before I get into the meat of my issue, here is my current config:
- Wells Gardner D9200 VGA arcade monitor (capable of CGA, EGA, VGA 640x480, 15Khz to 31.5Khz)
- Windows 98SE
- GeForce2 video card
- Windows Mame .62

Ok, here's the situation

AndyWarne

  • Trade Count: (+18)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1938
  • Last login:April 11, 2021, 03:37:09 am
    • Ultimarc
Re:Mame Veterans - need your advice
« Reply #1 on: January 15, 2003, 03:03:02 pm »
Let's go back to basics. Older game boards have very basic video circuitry which simply memory-maps directly onto the monitor. There is always a one-to-one correlation between each pixel in memory, and each screen pixel. The simplicity produces sharply-defined but low res graphics.
For an emulator to reproduce this exactly, the beam of the monitor must, again, have a one-to-one correlation with emulators graphics memory.
Now, (except for 3D modes etc), a VGA card behaves very much like a game board, so it is possible to get a 100% faithful reproduction. We can make the VGA card behave as a 100% emulation of the game board.
BUT now comes the problem. To do this the number of vertical lines and horizontal pixels that the VGA card displays on the monitor must be exactly the same as the original game board. If they are not, we have to re-sample the original memory mapping and stretch or compress it to fit the screen, or put up with an incorrectly sized picture. So the 100% emulation is lost if hardware stretching or a scan converter is used.
So a game which was originally designed to run at, say, 320 X 200 must be run at exactly the same resolution to give a 100% emulation. If it is run at any other resolution, just because the monitor is capable of handling it, the quality of the original game will be degraded, even if the res is higher.
This is the basis on which Advanced MAME was developed, to allow modes to be configured for each game to reproduce it exactly.
With a 15Khz monitor, there is an important limit. This is vertical resolution. Assuming a vertical sync range of 50-60 Hz, a 15Khz monitor can only display approx 240-300 lines. This is OK for most older games, which used these monitors. Later high-res games cannot be displayed 100% accurately on an arcade monitor, as the dreaded H/W stretch, or interlacing is needed.
This is where your D9200 scores because it CAN display more than 300 lines and therefore can reproduce all later high-res games 100% accurately.
As far as horizontal res goes, there is no issue with this and monitors, they can display any horizontal res. The issue here is that the VGA card dot clock needs to be adjusted to provide the correct line scan rate for the required resolution. So with low frequency (15Khz) monitors, we can sometimes run into the VGA card's lower dot-clock limit.
 So the answer is this: If you want the exact Galaga experience, run the monitor at the Galaga resolution. All MAME games display the res. on start-up.
But wait, you will also need it to be vertical! This brings another issue, what about vertical games on a horizontal monitor? Well, providing the monitor is capable of displaying the resolution (rotated) then we still have a good picture. Although the scan lines are in the wrong direction, there is still a 1 to 1 correlation with the game pixels. So we can get away with this cheat usually.
Basically, if you run at the game's native resolution, your VGA card is behaving exactly like a game board in the way it is displaying the game graphics, so the best quality will result. Actually a range of resolutions can be defined which cover all games, the res can be slightly higher than the game's native one, and a small border will result, but no loss of quality.

marcopolo

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 68
  • Last login:September 28, 2011, 02:11:53 am
  • Life's a ---smurfette---
Re:Mame Veterans - need your advice
« Reply #2 on: January 15, 2003, 09:10:39 pm »
Fantasic reply Andy... a few follow-on questions though:

1. Can Windows Mame display the true galaga resolution (I think its like 224x304 or something), or do I need to use Dos or AdvanceMame?

2.  How do I, or do I need to, get my WG to use 15khz instead of it's usual 31.5khz?

3.  Is my Geforce2 gonna be able to do all these odd resolutions?  I'm asking because I tried loading Advmame and the Advv.exe and advcfg.exe setup utilities would not display a picture when I ran the application.  The monitor displayed "Out of Range".


Let's go back to basics. Older game boards have very basic video circuitry which simply memory-maps directly onto the monitor. There is always a one-to-one correlation between each pixel in memory, and each screen pixel. The simplicity produces sharply-defined but low res graphics.
For an emulator to reproduce this exactly, the beam of the monitor must, again, have a one-to-one correlation with emulators graphics memory.
Now, (except for 3D modes etc), a VGA card behaves very much like a game board, so it is possible to get a 100% faithful reproduction. We can make the VGA card behave as a 100% emulation of the game board.
BUT now comes the problem. To do this the number of vertical lines and horizontal pixels that the VGA card displays on the monitor must be exactly the same as the original game board. If they are not, we have to re-sample the original memory mapping and stretch or compress it to fit the screen, or put up with an incorrectly sized picture. So the 100% emulation is lost if hardware stretching or a scan converter is used.
So a game which was originally designed to run at, say, 320 X 200 must be run at exactly the same resolution to give a 100% emulation. If it is run at any other resolution, just because the monitor is capable of handling it, the quality of the original game will be degraded, even if the res is higher.
This is the basis on which Advanced MAME was developed, to allow modes to be configured for each game to reproduce it exactly.
With a 15Khz monitor, there is an important limit. This is vertical resolution. Assuming a vertical sync range of 50-60 Hz, a 15Khz monitor can only display approx 240-300 lines. This is OK for most older games, which used these monitors. Later high-res games cannot be displayed 100% accurately on an arcade monitor, as the dreaded H/W stretch, or interlacing is needed.
This is where your D9200 scores because it CAN display more than 300 lines and therefore can reproduce all later high-res games 100% accurately.
As far as horizontal res goes, there is no issue with this and monitors, they can display any horizontal res. The issue here is that the VGA card dot clock needs to be adjusted to provide the correct line scan rate for the required resolution. So with low frequency (15Khz) monitors, we can sometimes run into the VGA card's lower dot-clock limit.
 So the answer is this: If you want the exact Galaga experience, run the monitor at the Galaga resolution. All MAME games display the res. on start-up.
But wait, you will also need it to be vertical! This brings another issue, what about vertical games on a horizontal monitor? Well, providing the monitor is capable of displaying the resolution (rotated) then we still have a good picture. Although the scan lines are in the wrong direction, there is still a 1 to 1 correlation with the game pixels. So we can get away with this cheat usually.
Basically, if you run at the game's native resolution, your VGA card is behaving exactly like a game board in the way it is displaying the game graphics, so the best quality will result. Actually a range of resolutions can be defined which cover all games, the res can be slightly higher than the game's native one, and a small border will result, but no loss of quality.

AndyWarne

  • Trade Count: (+18)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1938
  • Last login:April 11, 2021, 03:37:09 am
    • Ultimarc
Re:Mame Veterans - need your advice
« Reply #3 on: January 16, 2003, 07:47:34 am »
OK here's part 2. (stop me if this is getting boring!)

First, something I forgot to mention before. If you are using vertical games on a horizontal monitor, and you set the resolution to be exactly that of the game, with the V and H swapped, then the game will fill the screen. Now this is not exactly what you want because it will look very strange. (great on a horizontal game though). You need to deliberately introduce side borders. Easy to do: you just run at a higher horizontal resolution. Galaga runs fine at 352x288.
So why can't you just run your monitor at 31Khz with this resolution? The answer (which also applies to VGA monitors) is this:
The vertical refresh rate is a simple calculation: Hfreq divided by lines.  Therefore as the number of lines is reduced, the vertical refresh rate goes up. So for a vertical resolution of 288, the vertical refresh would be something like 120Hz, which the monitor (probably) cannot handle. This is why PC monitors cannot display these resolutions natively. The way around this is to reduce the horizontal frequency (by reducing the pixel clock) and then the vertical rate will also drop. So the upshot is, you need to run at 15Khz, on a monitor capable of handling it.
Great theory but how do you do it? At the moment Advanced MAME (and therefore DOS) is the best way. It's not easy to configure (as you have found). If any program needs a fully comprehensive installation and configuration guide this is it!

android

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 116
  • Last login:August 21, 2006, 09:44:47 am
Re:Mame Veterans - need your advice
« Reply #4 on: January 17, 2003, 01:09:18 am »
Take a look at my post on this thread:

http://www.arcadecontrols.org/yabbse/index.php?board=4;action=display;threadid=4082

Not as thorough as Andy's response, but it may help you. Let me know your results.

-- Android

Cowboy Mac

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 41
  • Last login:January 18, 2004, 10:44:42 pm
Re:Mame Veterans - need your advice
« Reply #5 on: January 17, 2003, 09:38:04 am »
excellent reply andy, an interesting read :)

Trenchbroom

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 276
  • Last login:November 21, 2020, 09:25:43 pm
  • Wampus? Get over here!
Re:Mame Veterans - need your advice
« Reply #6 on: January 17, 2003, 12:10:43 pm »
Yes, I've been using MAME since 1997 and your explanation fills in a lot of gaps.  Saint should save it and put it in a FAQ somewhere.