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 to setup correct MAME game resolutions?  (Read 58236 times)

0 Members and 1 Guest are viewing this topic.

apocalypto

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 78
  • Last login:April 03, 2020, 01:50:01 pm
    • My DK Jr Project
How to setup correct MAME game resolutions?
« on: May 24, 2011, 03:28:39 pm »
I really need help setting MAME up to run games in their native resolution as pixel perfect as possible to the originals.

Here are my MAME settings:

Version 0.142u3 compiled (no nag/hi score)
Frontend: Mala 1.74

MAME .ini file is default except for these settings I changed:

#
# CORE ROTATION OPTIONS
#
rotate                    1
ror                       1

#
# WINDOWS VIDEO OPTIONS
#
video                     ddraw

#
# DIRECTDRAW-SPECIFIC OPTIONS
#
hwstretch                 0


#
# FULL SCREEN OPTIONS
#
triplebuffer              0
switchres                 1

I used the Arcade VGA Res utility to generate individual ini files for every game.

For example, the donkey kong ini file has this information:

## dkong ##

screen0 \\.\DISPLAY1
ror 1
switchres 1
hwstretch 0
bezel 0
backdrop 0
resolution 256x240
resolution0 256x240@0

I am running Windows XP with 640x480 32 bit color desktop using a Radeon 9550XL (not an ArcadeVGA Card) through a VGA-to-CGA Converter Card into my Sanyo 20EZ monitor.

When I load up Donkey Kong for example, the screen looks like this:



It does the same with Pacman which uses:

resolution 288x240
resolution0 288x240@0


Any ideas??  I really want to get this to play games at the right resolution, nice and sharp.

Thanks!






Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19399
  • Last login:March 16, 2024, 05:59:16 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: How to setup correct MAME game resolutions?
« Reply #1 on: May 24, 2011, 08:02:40 pm »
Quote
I am running Windows XP with 640x480 32 bit color desktop using a Radeon 9550XL (not an ArcadeVGA Card) through a VGA-to-CGA Converter Card into my Sanyo 20EZ monitor.

There's your problem right there. 

Mame only supports resolutions that your VIDEO CARD supports.  Since you are doing a down-conversion after the fact, the VGA res utility is completely worthless to you. 

Typically speaking a vga to cga conversion box doesn't give the best quality, but I can tell you that you want to set mame to a vga resolution and it will do the rest.  For something like pacman, 320x240 is a good resolution.  For most games 640x480 at 60hz is gonna be your best bet though.

Even then the converter is probably gonna mangle it pretty bad.  You have a hardware problem, unfortunately.

Your only other option is to use a registry hacker like powerstrip to force your video card to support cga resolutions.  If you get that to work you won't even need the converter!

apocalypto

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 78
  • Last login:April 03, 2020, 01:50:01 pm
    • My DK Jr Project
Re: How to setup correct MAME game resolutions?
« Reply #2 on: May 24, 2011, 08:20:42 pm »
Quote
I am running Windows XP with 640x480 32 bit color desktop using a Radeon 9550XL (not an ArcadeVGA Card) through a VGA-to-CGA Converter Card into my Sanyo 20EZ monitor.

There's your problem right there. 

Mame only supports resolutions that your VIDEO CARD supports.  Since you are doing a down-conversion after the fact, the VGA res utility is completely worthless to you. 

Typically speaking a vga to cga conversion box doesn't give the best quality, but I can tell you that you want to set mame to a vga resolution and it will do the rest.  For something like pacman, 320x240 is a good resolution.  For most games 640x480 at 60hz is gonna be your best bet though.

Even then the converter is probably gonna mangle it pretty bad.  You have a hardware problem, unfortunately.

Your only other option is to use a registry hacker like powerstrip to force your video card to support cga resolutions.  If you get that to work you won't even need the converter!


OK so I should just use the hardware stretch option, turn off switch resolution and let MAME upscale the resolution to match my screen res? Ive been letting it do that, and it looks 'OK' - It's a little blurry/pixelated and definitely not sharp and crisp like an original setup. My focus is maxed out on the flyback so I dont think I can get it any sharper. Unless getting a video amplifier would help with that?

The reason I got the converter card was because I couldnt find an AGP ArcadeVGA card and also theres no way to filter out the 31khz signals at bios without something like a J-Pac/Converter card. If I want to run the games at crystal clear native resolution do I need to get rid of the converter card and get an ArcadeVGA?  ???

I really want to try and make it work with my Sanyo 20EZ, but it looks so much better on an LCD or a computer CRT right now!  :P




Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19399
  • Last login:March 16, 2024, 05:59:16 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: How to setup correct MAME game resolutions?
« Reply #3 on: May 25, 2011, 01:52:31 am »
Quote
I am running Windows XP with 640x480 32 bit color desktop using a Radeon 9550XL (not an ArcadeVGA Card) through a VGA-to-CGA Converter Card into my Sanyo 20EZ monitor.

There's your problem right there. 

Mame only supports resolutions that your VIDEO CARD supports.  Since you are doing a down-conversion after the fact, the VGA res utility is completely worthless to you. 

Typically speaking a vga to cga conversion box doesn't give the best quality, but I can tell you that you want to set mame to a vga resolution and it will do the rest.  For something like pacman, 320x240 is a good resolution.  For most games 640x480 at 60hz is gonna be your best bet though.

Even then the converter is probably gonna mangle it pretty bad.  You have a hardware problem, unfortunately.

Your only other option is to use a registry hacker like powerstrip to force your video card to support cga resolutions.  If you get that to work you won't even need the converter!


OK so I should just use the hardware stretch option, turn off switch resolution and let MAME upscale the resolution to match my screen res? Ive been letting it do that, and it looks 'OK' - It's a little blurry/pixelated and definitely not sharp and crisp like an original setup. My focus is maxed out on the flyback so I dont think I can get it any sharper. Unless getting a video amplifier would help with that?

The reason I got the converter card was because I couldnt find an AGP ArcadeVGA card and also theres no way to filter out the 31khz signals at bios without something like a J-Pac/Converter card. If I want to run the games at crystal clear native resolution do I need to get rid of the converter card and get an ArcadeVGA?  ???

I really want to try and make it work with my Sanyo 20EZ, but it looks so much better on an LCD or a computer CRT right now!  :P

No, you shouldn't be using hardware stretch at all if you can help it.  Turn that off and turn "switchres" to on and the resolution to either a really low, fixed resolution that works for all of your games or to "auto" and that should help.  HW stretch generally makes things "blurry" on some video cards.

As for the quality, it's probably that down-converter man... you need to ditch that.  Any time you convert one signal to another you get some quality degradation.  The proper signal really needs to come out from the start.

Like I said, try powerstrip.... it's more complicated but you can generally get some arcade resolutions out of a radeon. 

You don't need 31 khz signals at the bios... unless you want to see the bios (tip:  you don't want to see the bios)  letting the bios run at a higer frequency for a few won't hurt your monitor... it'll just display improperly.  The only thing that could damage your monitor is if a higher voltage were to go through it.... frequencys effect the ability to get your monitor to sync and nothing more.  The thing about a 60hz signal damaging a 31hz monitor is a myth.

Video amps don't effect clarity, they effect saturation... they only help if the colors are dim.

apocalypto

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 78
  • Last login:April 03, 2020, 01:50:01 pm
    • My DK Jr Project
Re: How to setup correct MAME game resolutions?
« Reply #4 on: May 25, 2011, 05:06:36 pm »
Quote
I am running Windows XP with 640x480 32 bit color desktop using a Radeon 9550XL (not an ArcadeVGA Card) through a VGA-to-CGA Converter Card into my Sanyo 20EZ monitor.

There's your problem right there. 

Mame only supports resolutions that your VIDEO CARD supports.  Since you are doing a down-conversion after the fact, the VGA res utility is completely worthless to you. 

Typically speaking a vga to cga conversion box doesn't give the best quality, but I can tell you that you want to set mame to a vga resolution and it will do the rest.  For something like pacman, 320x240 is a good resolution.  For most games 640x480 at 60hz is gonna be your best bet though.

Even then the converter is probably gonna mangle it pretty bad.  You have a hardware problem, unfortunately.

Your only other option is to use a registry hacker like powerstrip to force your video card to support cga resolutions.  If you get that to work you won't even need the converter!


OK so I should just use the hardware stretch option, turn off switch resolution and let MAME upscale the resolution to match my screen res? Ive been letting it do that, and it looks 'OK' - It's a little blurry/pixelated and definitely not sharp and crisp like an original setup. My focus is maxed out on the flyback so I dont think I can get it any sharper. Unless getting a video amplifier would help with that?

The reason I got the converter card was because I couldnt find an AGP ArcadeVGA card and also theres no way to filter out the 31khz signals at bios without something like a J-Pac/Converter card. If I want to run the games at crystal clear native resolution do I need to get rid of the converter card and get an ArcadeVGA?  ???

I really want to try and make it work with my Sanyo 20EZ, but it looks so much better on an LCD or a computer CRT right now!  :P

No, you shouldn't be using hardware stretch at all if you can help it.  Turn that off and turn "switchres" to on and the resolution to either a really low, fixed resolution that works for all of your games or to "auto" and that should help.  HW stretch generally makes things "blurry" on some video cards.

As for the quality, it's probably that down-converter man... you need to ditch that.  Any time you convert one signal to another you get some quality degradation.  The proper signal really needs to come out from the start.

Like I said, try powerstrip.... it's more complicated but you can generally get some arcade resolutions out of a radeon. 

You don't need 31 khz signals at the bios... unless you want to see the bios (tip:  you don't want to see the bios)  letting the bios run at a higer frequency for a few won't hurt your monitor... it'll just display improperly.  The only thing that could damage your monitor is if a higher voltage were to go through it.... frequencys effect the ability to get your monitor to sync and nothing more.  The thing about a 60hz signal damaging a 31hz monitor is a myth.

Video amps don't effect clarity, they effect saturation... they only help if the colors are dim.

Thanks, it looks like the only way I can get it to display correctly is with an ArcadeVGA  :badmood:  Really frustrating because you cant buy AGP models anymore and it will cost a couple hundred dollars for a new pc with a PCIe slot.

If I lost the converter card and used my Radeon 9550xl with Soft-15khz would that be equivalent to an AGP ArcadeVGA card?

I'm confused about the 31khz damage myth. I thought Arcade monitors were 15khz and the output from VGA is 31khz. Wheres the 60khz signal coming from?

Thanks!

krick

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2006
  • Last login:February 08, 2023, 08:30:27 pm
  • Gotta have blue hair.
Re: How to setup correct MAME game resolutions?
« Reply #5 on: May 25, 2011, 06:51:40 pm »
Ditch the VGA-to-CGA Converter.

Then try GroovyMAME with CRT_EmuDriver and one of the supported ATI cards.

You should be able to find a supported card in PCI or AGP format.

If you're worried about damaging your monitor with out-of-range frequencies, pick up a J-PAC.  It will detect an out-of-range signal and double it.


Incidentally, when using GroovyMAME, you don't need custom INI files for each game.  GroovyMAME calculates optimal settings on the fly based on the resolutions your video card supports.  It will work with an ArcadeVGA too, but it won't have as many custom resolutions to choose from.
« Last Edit: May 25, 2011, 06:53:40 pm by krick »
Hantarex Polo 15KHz
Sapphire Radeon HD 7750 2GB (GCN)
GroovyMAME 0.197.017h_d3d9ex
CRT Emudriver & CRT Tools 2.0 beta 13 (Crimson 16.2.1 for GCN cards)
Windows 7 Home Premium 64-bit
Intel Core i7-4790K @ 4.8GHz
ASUS Z87M-PLUS Motherboard

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19399
  • Last login:March 16, 2024, 05:59:16 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: How to setup correct MAME game resolutions?
« Reply #6 on: May 25, 2011, 07:53:21 pm »
Yeah sorry about the 60khz.... that's what I get for replying in the middle of the night. 

Doesn't matter.... it's still a myth... frequency differences can't hurt a monitor.  Think of it this way..... if you play at song at double the speed does it blow out the speakers on your computer?  Nope.... only doubling the volume could do that.

apocalypto

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 78
  • Last login:April 03, 2020, 01:50:01 pm
    • My DK Jr Project
Re: How to setup correct MAME game resolutions?
« Reply #7 on: May 26, 2011, 08:47:30 am »
Yeah sorry about the 60khz.... that's what I get for replying in the middle of the night. 

Doesn't matter.... it's still a myth... frequency differences can't hurt a monitor.  Think of it this way..... if you play at song at double the speed does it blow out the speakers on your computer?  Nope.... only doubling the volume could do that.

Interesting. So why all the hysteria about damaging monitors? Not that I dont believe what youre saying, but the general concensus seems to be the opposite.

The poster above suggested I buy a J-PAC...is that completely unnecessary? I cant actually use one anyway as my cabinet is not JAMMA.

Here is my plan now, please let me know if you think it will give me better results and is perfectly safe for my monitor:

Remove the VGA CGA Converter card.
Install an AGP ArcadeVGA Card and run MAME at native game resolutions.
Plug ArcadeVGA directly into Sanyo with no protection at bios/boot from the 31khz signal.

Also.. would an older 64mb Radeon 7000 model of the ArcadeVGA be powerful enough to run the classic vertical games? (Donkey Kong, Pacman etc)

Thanks!

krick

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2006
  • Last login:February 08, 2023, 08:30:27 pm
  • Gotta have blue hair.
Re: How to setup correct MAME game resolutions?
« Reply #8 on: May 26, 2011, 09:35:52 am »

Also.. would an older 64mb Radeon 7000 model of the ArcadeVGA be powerful enough to run the classic vertical games? (Donkey Kong, Pacman etc)


When running MAME on an arcade monitor at native resolutions, the video card requirements are generally very low.  I'm pretty sure a 64MB Radeon 7000 should be powerful enough.  In fact, the original AGP ArcadeVGA was based on a Radeon 7000.

However, depending on which version of MAME you are trying to run, the CPU requirements can be significant.  Donkey Kong in particular requires a lot more CPU power in recent versions of MAME because discrete audio has been implemented instead of samples.  Other notable games using discrete audio include Phoenix and Asteroids.
Hantarex Polo 15KHz
Sapphire Radeon HD 7750 2GB (GCN)
GroovyMAME 0.197.017h_d3d9ex
CRT Emudriver & CRT Tools 2.0 beta 13 (Crimson 16.2.1 for GCN cards)
Windows 7 Home Premium 64-bit
Intel Core i7-4790K @ 4.8GHz
ASUS Z87M-PLUS Motherboard

apocalypto

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 78
  • Last login:April 03, 2020, 01:50:01 pm
    • My DK Jr Project
Re: How to setup correct MAME game resolutions?
« Reply #9 on: May 26, 2011, 09:37:57 am »

Also.. would an older 64mb Radeon 7000 model of the ArcadeVGA be powerful enough to run the classic vertical games? (Donkey Kong, Pacman etc)


When running MAME on an arcade monitor at native resolutions, the video card requirements are generally very low.  I'm pretty sure a 64MB Radeon 7000 should be powerful enough.  In fact, the original AGP ArcadeVGA was based on a Radeon 7000.

However, depending on which version of MAME you are trying to run, the CPU requirements can be significant.  Donkey Kong in particular requires a lot more CPU power in recent versions of MAME because discrete audio has been implemented instead of samples.  Other notable games using discrete audio include Phoenix and Asteroids.


In my current MAME PC setup (0.142u3) I've had no problems running Donkey Kong or any other classic game, they run very smoothly. I have a 256mb Radeon 9550 in it right now. So should be fine swapping that for a 64mb Radeon (ArcadeVGA) so long as cpu remains the same?

torino

  • -Banned-
  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 201
  • Last login:July 24, 2011, 05:18:12 pm
  • -Banned-
Re: How to setup correct MAME game resolutions?
« Reply #10 on: May 26, 2011, 01:27:11 pm »
I really need help setting MAME up to run games in their native resolution as pixel perfect as possible to the originals.

MAME is no longer trying to emulate games as close to the original hardware, they are now porting games from "Arcade" to "PC/LCD" hardware platform, and many authentic properties are now being simulated, instead of emulated, and converted to fit inadequate or inferior PC/LCD constraints. Native resolutions are simply not emulated in MAME, for that you will need to use some other build or some external utilities.

There are two attributes defining 'screen resolution', there is spatial resolution and temporal resolution, where pixels and aspect ratio is much less of a problem compared to timing and refresh rate. You will not really be able to achieve "pixel perfect" for many games, but you will still be able to make them all look good regardless of the size mismatch. Worse part of the problem becomes more obvious once you start to really play those games, particularly scrolling ones, like Scramble or Moon Patrol, and especially if their refresh rate mismatches 60fps, as they often do.

I am not sure if ArcadeVGA supports variable refresh rates, but you do not need it in any case. There is software that makes regular video cards do everything better. XXX-in-1 bootlegs run AdvanceMAME via regular video card, so you can take that as reference.
« Last Edit: May 26, 2011, 01:29:25 pm by torino »

krick

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2006
  • Last login:February 08, 2023, 08:30:27 pm
  • Gotta have blue hair.
Re: How to setup correct MAME game resolutions?
« Reply #11 on: May 26, 2011, 02:32:19 pm »

MAME is no longer trying to emulate games as close to the original hardware, they are now porting games from "Arcade" to "PC/LCD" hardware platform, and many authentic properties are now being simulated, instead of emulated, and converted to fit inadequate or inferior PC/LCD constraints. Native resolutions are simply not emulated in MAME, for that you will need to use some other build or some external utilities.


You have no idea what you're talking about.  Yes, arcade monitors are second-class citizens in the MAME framework, but in order to have accurate emulation, they still need to emulate the exact refresh rates, resolutions, and timings as the arcade machines, even if the final display target is a PC LCD.  The recent changes to MAME that you are talking about (HLSL shader effects) are just optional eye-candy on top of the normal emulation to simulate the look of arcade monitors for people with LCD monitors.

GroovyMAME is a custom MAME build along the lines of AdvanceMAME that is designed to match the emulated resolutions and refresh rates to the available refresh rates of your video card.  GroovyMAME does the automatic resolution selection on the fly so no custom per-game ini files are needed.  Calamity has custom ATI drivers for use with GroovyMAME that have been modified to have 120-160 custom resolutions and the results are pretty amazing.

You can still get the same results for the most part with one of the official MAME builds, but you have to create a lot of custom INI files for each game.  GroovyMAME does all that work for you on the fly.  GroovyMAME also incorporates options borrowed from other custom builds like "soundsync" that adjusts the playback rate of the sound buffer based on emulation speed to eliminate skipping and other sound hiccups.
Hantarex Polo 15KHz
Sapphire Radeon HD 7750 2GB (GCN)
GroovyMAME 0.197.017h_d3d9ex
CRT Emudriver & CRT Tools 2.0 beta 13 (Crimson 16.2.1 for GCN cards)
Windows 7 Home Premium 64-bit
Intel Core i7-4790K @ 4.8GHz
ASUS Z87M-PLUS Motherboard

torino

  • -Banned-
  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 201
  • Last login:July 24, 2011, 05:18:12 pm
  • -Banned-
Re: How to setup correct MAME game resolutions?
« Reply #12 on: May 26, 2011, 05:07:29 pm »
You have no idea what you're talking about. Yes, arcade monitors are second-class citizens in the MAME framework, but in order to have accurate emulation, they still need to emulate the exact refresh rates, resolutions, and timings as the arcade machines, even if the final display target is a PC LCD. 

There is a difference between "being able to emulate" and actually "being able to display". The point is that 'out of the box' MAME build can not SET the *video adapter* to display native resolutions, hence AdvanceMAME and similar MAME builds.


Quote
The recent changes to MAME that you are talking about (HLSL shader effects) are just optional eye-candy on top of the normal emulation to simulate the look of arcade monitors for people with LCD monitors.

In part only. Many bloat-ware and unnecessary features, for the official build, were there from the very beginnings.


Quote
GroovyMAME is a custom MAME build along the lines of AdvanceMAME that is designed to match the emulated resolutions and refresh rates to the available refresh rates of your video card.  GroovyMAME does the automatic resolution selection on the fly so no custom per-game ini files are needed.  Calamity has custom ATI drivers for use with GroovyMAME that have been modified to have 120-160 custom resolutions and the results are pretty amazing.

Yes, and all I am saying none of that useful stuff is in official MAME build, for some strange reason.


Quote
You can still get the same results for the most part with one of the official MAME builds, but you have to create a lot of custom INI files for each game. 

For the most part? Official MAME can not set any other resolution and refresh rate but those that come with OS, it can not set video adapter to display Moon Patrol's "240x252 @ 56.737589Hz" or Galaga's "224x288 @ 60.606061Hz" resolution. True or false?

Perhaps official Linux build can do something like that?


Quote
GroovyMAME does all that work for you on the fly.  GroovyMAME also incorporates options borrowed from other custom builds like "soundsync" that adjusts the playback rate of the sound buffer based on emulation speed to eliminate skipping and other sound hiccups.

Yes, much is missing from the official MAME build, and there is much of the new crap to compensate for LCD monitors, all of which is a step, or few, away from 'native resolution' and 'authentic gameplay', that was my point. Do we still disagree?


krick

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2006
  • Last login:February 08, 2023, 08:30:27 pm
  • Gotta have blue hair.
Re: How to setup correct MAME game resolutions?
« Reply #13 on: May 26, 2011, 06:20:27 pm »

There is a difference between "being able to emulate" and actually "being able to display". The point is that 'out of the box' MAME build can not SET the *video adapter* to display native resolutions, hence AdvanceMAME and similar MAME builds.


I sense you've got some sort of "you damn kids, get off my lawn" thing going on with the new versions of MAME.  Trust me, I understand.  I'm old too.  I'm upset that arcades are disappearing and I'm mad that companies have stopped making CRT arcade monitors.  Hell, I can't believe that nobody even makes a 4:3 LCD replacement for arcade cabinets.   Furthermore, I'm against widescreen monitors, hi-def, blu-ray, digital cable, HDMI, iPods, iTunes, iPads, Facebook, Twitter, Starbucks, 3D movies, and a host of other things that the "young people" are into these days.  But, I digress.


Baseline "official" MAME can run the game at any resolution that the Windows operating system supports*.

Read the documentation for "Category 3: Anal video mode types"...
http://mamedev.org/source/docs/newvideo.txt.html

To get operating system support of native resolutions in Windows, you need one of the following...

1) ArcadeVGA video card + custom Ultimarc ATI drivers

2) Calamity's CRT_EmuDriver patched ATI Catalyst drivers + any supported ATI-based video card

3) Soft15KHz + a supported video card

...then you need to connect your PC to an arcade monitor that supports native resolutions.

With option #2, Windows has 120 or 160 native resolutions to choose from, which is probably sufficient for 99% of the games in MAME.

Without operating system and hardware driver support, there's no way for modern MAME to magically support native resolutions since it's a DirectX based application.

In fact, one could argue that MAME's purpose is to document arcade systems, not to produce an end product that is cabinet-friendly, especially so given the small size of our group.

AdvanceMAME isn't some sort of magic bullet either.  The way that AdvanceMAME works is by incorporating custom drivers for a bunch of 10-plus-year-old video cards.  You can't honestly expect the MAME team to maintain a stable of custom drivers the way the AdvanceMAME team did.  Especially when you consider the fraction of MAME users who actually run MAME on an arcade monitor.

Incidentally, GroovyMAME for Linux does "SET the *video adapter*" to display native resolutions.  So if that's a must-have feature, then you're good to go.

Even though us "Category 3: Anal video mode types" are a fraction of the MAME user base now, in another five to ten years,  we'll be an exponentially smaller group with even less pull on the project.  So my opinion is that we have to learn to make the best of what we have, even if that means we need to embrace and support custom builds like GroovyMAME (please donate).  Who knows, if more people donated to AdvanceMAME, maybe it would still be around.


* Windows 7 doesn't properly support interlaced resolutions or applications switching between interlaced and non-interlaced resolutions.
« Last Edit: May 27, 2011, 12:09:59 am by krick »
Hantarex Polo 15KHz
Sapphire Radeon HD 7750 2GB (GCN)
GroovyMAME 0.197.017h_d3d9ex
CRT Emudriver & CRT Tools 2.0 beta 13 (Crimson 16.2.1 for GCN cards)
Windows 7 Home Premium 64-bit
Intel Core i7-4790K @ 4.8GHz
ASUS Z87M-PLUS Motherboard

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19399
  • Last login:March 16, 2024, 05:59:16 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: How to setup correct MAME game resolutions?
« Reply #14 on: May 26, 2011, 07:48:29 pm »
Yeah sorry about the 60khz.... that's what I get for replying in the middle of the night. 

Doesn't matter.... it's still a myth... frequency differences can't hurt a monitor.  Think of it this way..... if you play at song at double the speed does it blow out the speakers on your computer?  Nope.... only doubling the volume could do that.

Interesting. So why all the hysteria about damaging monitors? Not that I dont believe what youre saying, but the general concensus seems to be the opposite.

The poster above suggested I buy a J-PAC...is that completely unnecessary? I cant actually use one anyway as my cabinet is not JAMMA.

Here is my plan now, please let me know if you think it will give me better results and is perfectly safe for my monitor:

Remove the VGA CGA Converter card.
Install an AGP ArcadeVGA Card and run MAME at native game resolutions.
Plug ArcadeVGA directly into Sanyo with no protection at bios/boot from the 31khz signal.

Also.. would an older 64mb Radeon 7000 model of the ArcadeVGA be powerful enough to run the classic vertical games? (Donkey Kong, Pacman etc)

Thanks!

I honestly don't know.  I think people got confused in that the J-Pac is billed to prevent damage to your monitor by improper signal (which it does... regulates the voltage and what-not) but also doubles as a converter board that will allow you to display things like your BIOS and other oddball refresh rates on an arcade monitor.  People got confused and thought the two functions, which have nothing to do with each other, somehow do. 

I don't know how long it takes for your arcade montior to warm up, but mine it is out of the bios before it ever turns on.... shouldn't be much of an issue either way. 

I will tell you this.... I've got a Gorf machine with the original monitor and a dos/advmame setup without the aid of a jpac and it's just fine.  I've had it hooked up that way for YEARS and the monitor is just fine.  The bios on the crap pc I've got in there is particularly slow as well, so it isn't like it doesn't sit there with the bios shooting an improper frequency.

apocalypto

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 78
  • Last login:April 03, 2020, 01:50:01 pm
    • My DK Jr Project
Re: How to setup correct MAME game resolutions?
« Reply #15 on: May 26, 2011, 09:01:38 pm »
Yeah sorry about the 60khz.... that's what I get for replying in the middle of the night. 

Doesn't matter.... it's still a myth... frequency differences can't hurt a monitor.  Think of it this way..... if you play at song at double the speed does it blow out the speakers on your computer?  Nope.... only doubling the volume could do that.

Interesting. So why all the hysteria about damaging monitors? Not that I dont believe what youre saying, but the general concensus seems to be the opposite.

The poster above suggested I buy a J-PAC...is that completely unnecessary? I cant actually use one anyway as my cabinet is not JAMMA.

Here is my plan now, please let me know if you think it will give me better results and is perfectly safe for my monitor:

Remove the VGA CGA Converter card.
Install an AGP ArcadeVGA Card and run MAME at native game resolutions.
Plug ArcadeVGA directly into Sanyo with no protection at bios/boot from the 31khz signal.

Also.. would an older 64mb Radeon 7000 model of the ArcadeVGA be powerful enough to run the classic vertical games? (Donkey Kong, Pacman etc)

Thanks!

I honestly don't know.  I think people got confused in that the J-Pac is billed to prevent damage to your monitor by improper signal (which it does... regulates the voltage and what-not) but also doubles as a converter board that will allow you to display things like your BIOS and other oddball refresh rates on an arcade monitor.  People got confused and thought the two functions, which have nothing to do with each other, somehow do. 

I don't know how long it takes for your arcade montior to warm up, but mine it is out of the bios before it ever turns on.... shouldn't be much of an issue either way. 

I will tell you this.... I've got a Gorf machine with the original monitor and a dos/advmame setup without the aid of a jpac and it's just fine.  I've had it hooked up that way for YEARS and the monitor is just fine.  The bios on the crap pc I've got in there is particularly slow as well, so it isn't like it doesn't sit there with the bios shooting an improper frequency.


Interesting. I'm running TinyXP Beast Edition, it only takes about 12 seconds for the pc to boot into windows, so sounds like it should be ok.

Thanks again!

torino

  • -Banned-
  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 201
  • Last login:July 24, 2011, 05:18:12 pm
  • -Banned-
Re: How to setup correct MAME game resolutions?
« Reply #16 on: May 26, 2011, 11:59:12 pm »
Without operating system and hardware driver support, there's no way for modern MAME to magically support native resolutions since it's a DirectX based application.

Yes, and hardware drivers support would be much simpler (already existing) addition than HLSL shaders, so why did they do later, but never the former?


Quote
In fact, one could argue that MAME's purpose is to document arcade systems, not to produce an end product that is cabinet-friendly, especially so given the small size of our group.

You "document" it by accurately and fully emulating it on a given surrogate hardware platform, where achieving 'perfect emulation' (documentation) does indeed mean the game could then be used as *drop-in replacement* instead of authentic (say broken) PCB, in its actual arcade cabinet with the rest of its authentic hardware, like its original control panel and its actual arcade monitor (say all together displayed in some arcade museum). Well, that's how it is defined in my "dictionary", but I suppose your definition of "perfect emulation" and "proper documentation", or "accurate preservation" is different?

DROP IN replacement for perishing arcade PCBs, no? Accurate/authentic preservation, no?


Quote
Incidentally, GroovyMAME for Linux does "SET the *video adapter*" to display native resolutions.  So if that's a must-have feature, then you're good to go.

Well, the poster does have arcade monitor, so there is no "if", it's only natural the desire is to make the rest of it as perfect as possible too, and it's shame that's not easy thing to do with official MAME and "out of the box".

torino

  • -Banned-
  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 201
  • Last login:July 24, 2011, 05:18:12 pm
  • -Banned-
Re: How to setup correct MAME game resolutions?
« Reply #17 on: May 27, 2011, 12:06:25 am »
Interesting. I'm running TinyXP Beast Edition, it only takes about 12 seconds for the pc to boot into windows, so sounds like it should be ok.

Thanks again!

Since you've been using that VGAtoCGA adapter originally, let me ask you - is your monitor actual arcade monitor with RGB input, or some TV with some S-video input, or something? Beside that, have you decided what MAME build, or video utilities, are you going to try, or perhaps you've already decided which one you're going to use?

newmanfamilyvlogs

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1694
  • Last login:June 15, 2022, 05:20:38 pm
    • forum.arcadecontrols.com/index.php/topic,103584.msg1096585.html#msg1096585
    • Newman Family Vlogs
Re: How to setup correct MAME game resolutions?
« Reply #18 on: May 27, 2011, 06:34:49 am »

You "document" it by accurately and fully emulating it on a given surrogate hardware platform, where achieving 'perfect emulation' (documentation) does indeed mean the game could then be used as *drop-in replacement* instead of authentic (say broken) PCB, in its actual arcade cabinet with the rest of its authentic hardware, like its original control panel and its actual arcade monitor (say all together displayed in some arcade museum). Well, that's how it is defined in my "dictionary", but I suppose your definition of "perfect emulation" and "proper documentation", or "accurate preservation" is different?

DROP IN replacement for perishing arcade PCBs, no? Accurate/authentic preservation, no?


They attempt to achieve perfect emulation on "any given target system", but failing the availability correct modes on the "target system" they adapt it to whats available. This seems unreasonable to you? It has been shown that when provided correct video modes by the system, MAME will reproduce the original system as a DROP IN replacement, yes/no?

If mame is to be portable/cross platform emulation framework, then OS specific modification (such as video mode modification) should be kept to a minimum and left to individual builds for that express purpose, yes/no?

Out of the box, a stock mame build has the ABILITY to produce "authentic preservation" on a system setup to display it, yes/no?

torino

  • -Banned-
  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 201
  • Last login:July 24, 2011, 05:18:12 pm
  • -Banned-
Re: How to setup correct MAME game resolutions?
« Reply #19 on: May 27, 2011, 06:19:51 pm »
They attempt to achieve perfect emulation on "any given target system", but failing the availability correct modes on the "target system" they adapt it to whats available. This seems unreasonable to you?

Target system is not software libraries and operating system, it's the hardware, and if operating system is standing in the way to fully utilize the hardware then reasonable thing to do is to use another operating system that does not pose any such limitations, or simply use programming skills to bypass OS limitations and despite it utilize hardware capabilities, one way or another.

HLSL effects were not "available", it all had to be written from scratch, while VGA registers initialization routines were actually available, so according to your "availability" criteria - yes, it is unreasonable to have complex shaders and not have simple resolution initialization routines, on the common PC (x86) platform.

It's not about what needs to be done, it's just about making a decision, and those who make decisions obviously play their games on their PCs with their DirectX and their keyboards and LCD screens, and so that's the "target system" they care about. It's simple as that. Makes sense?


Quote
It has been shown that when provided correct video modes by the system, MAME will reproduce the original system as a DROP IN replacement, yes/no?

Reproduce native resolution with proper vertical refresh sync and no audio or input glitches? I don't know, will it? This is where OP question comes in, how do you convince MAME to do it? Do you enable waitvsync or triplebuffer, what about matchrefresh and syncrefresh? Why is there four variables for one and the same thing and how do we set all this .ini stuff properly? What program is the best to provide MAME with Moon Patrol's "240x252 @ 56.737589Hz", for example, and how do we know that is indeed what will end up on the screen?


Quote
If mame is to be portable/cross platform emulation framework, then OS specific modification (such as video mode modification) should be kept to a minimum and left to individual builds for that express purpose, yes/no?

No. Each platform handles that part independently anyway. We are talking about simple video adapter INITIALIZATION, that's all, it just a few lines of code no matter what platform, it's like setting size and color of the font. HLSL is kind of crap that should get off to special build as it requires specific hardware and particular operating system, while video initialization is natural part of any graphics software on any platform.


Quote
Out of the box, a stock mame build has the ABILITY to produce "authentic preservation" on a system setup to display it, yes/no?

Yes, it should, for most games, theoretically, but I don't know, you tell me. The real question here is more practical - what does it take to have this "system setup to display it", and why is that not part of MAME to start with since it obviously is necessary to achieve "authentic emulation"?

newmanfamilyvlogs

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1694
  • Last login:June 15, 2022, 05:20:38 pm
    • forum.arcadecontrols.com/index.php/topic,103584.msg1096585.html#msg1096585
    • Newman Family Vlogs
Re: How to setup correct MAME game resolutions?
« Reply #20 on: May 27, 2011, 07:36:27 pm »
They attempt to achieve perfect emulation on "any given target system", but failing the availability correct modes on the "target system" they adapt it to whats available. This seems unreasonable to you?

Target system is not software libraries and operating system, it's the hardware, and if operating system is standing in the way to fully utilize the hardware then reasonable thing to do is to use another operating system that does not pose any such limitations, or simply use programming skills to bypass OS limitations and despite it utilize hardware capabilities, one way or another.

HLSL effects were not "available", it all had to be written from scratch, while VGA registers initialization routines were actually available, so according to your "availability" criteria - yes, it is unreasonable to have complex shaders and not have simple resolution initialization routines, on the common PC (x86) platform.

It's not about what needs to be done, it's just about making a decision, and those who make decisions obviously play their games on their PCs with their DirectX and their keyboards and LCD screens, and so that's the "target system" they care about. It's simple as that. Makes sense?
Wouldn't mandating you use one particular operating system to facilitate a particular feature which is undesired by a majority of the user base be counter productive? Most people do not care.

Quote

Quote
It has been shown that when provided correct video modes by the system, MAME will reproduce the original system as a DROP IN replacement, yes/no?

Reproduce native resolution with proper vertical refresh sync and no audio or input glitches? I don't know, will it? This is where OP question comes in, how do you convince MAME to do it? Do you enable waitvsync or triplebuffer, what about matchrefresh and syncrefresh? Why is there four variables for one and the same thing and how do we set all this .ini stuff properly? What program is the best to provide MAME with Moon Patrol's "240x252 @ 56.737589Hz", for example, and how do we know that is indeed what will end up on the screen?

Yes, it will. Mame will happily attempt to synchronize to any arbitrary resolution/refresh rate. This has already been done in various mame builds. Most recently, GroovyMame.

Quote

Quote
If mame is to be portable/cross platform emulation framework, then OS specific modification (such as video mode modification) should be kept to a minimum and left to individual builds for that express purpose, yes/no?

No. Each platform handles that part independently anyway. We are talking about simple video adapter INITIALIZATION, that's all, it just a few lines of code no matter what platform, it's like setting size and color of the font. HLSL is kind of crap that should get off to special build as it requires specific hardware and particular operating system, while video initialization is natural part of any graphics software on any platform.
You can only initialize modelines already present on the system. Show me a program that can create a new mode line not already presented by the OS and switch to it without rebooting. Maybe we can all learn then.
Quote

Quote
Out of the box, a stock mame build has the ABILITY to produce "authentic preservation" on a system setup to display it, yes/no?

Yes, it should, for most games, theoretically, but I don't know, you tell me. The real question here is more practical - what does it take to have this "system setup to display it", and why is that not part of MAME to start with since it obviously is necessary to achieve "authentic emulation"?

This goes back to the previous mentioned issue of being unable to switch to modelines not initialized on the system.

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19399
  • Last login:March 16, 2024, 05:59:16 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: How to setup correct MAME game resolutions?
« Reply #21 on: May 28, 2011, 06:11:55 am »
I think we are getting off topic in regards to helping this guy, but considering I have an actual grasp of what's going on under the hood and also what is going on in the modern arcade industry I thought I would throw my 2 cents in. 

There are three things you have to remember in regards to mame developers and mame features.

1.  Mame Devs typically have one OS setup as their development environment and it's typically a flavor of windows.  The reason for this is very clear, directX makes for easy hardare acceleration and addition of effects and other OSes don't have DX.  Also to break it down even further Linux is a very unpopular choice for mame due to lack of front-ends, lack of proper hardware support (see any led controlling board) and general user unfriendly-ness.  Macs are just an expensive choice for mame. 

2.  Mame is geared towards a target computer style and processor range.  This is determined by what the majority of the Devs are running at any given moment.  The reason for this is pretty obvious....  you can only optimize for systems that you own.  Since you aren't going to find a single mame dev that works with an arcade monitor, arcade monitors are NOT the target hardware for the default mame build.

3.  There has never been a windows-exclusive feature added to mame that couldn't be added to the other builds. Mame is setup that way to avoid complaints.  The fact of the matter is nobody has ever stepped up to implement said features on the linux and mac builds.  So we are going to have to blame lack of interest on that. 


With all of that out of the way.  Mame can run any resolution, period.  You are blaming mame for things that are wrong with the operating system that you are running mame on.  Convince windows to accept a resolution and I guarantee you that mame will run it.  The only thing that mame has done away with, reolution wise over the years, is the support for low color pallettes... fortunately this doesn't effect your monitor and mame's visual output in any way.  Just because the original pcb used 8 bit color doesn't mean that mame can't up it to 24 bit and have it turn out the same.

DirectX and more recently the HLSL shaders are in ADDITION to mame's already robust monitor support.  You can turn them off it it will essentially become the cruddy dos-like rendering system that purests like for some reason. 

The second thing you are going to have to come to terms with is the crt arcade monitor is on the way out.  Most mame cabs have lcd monitors in them at this point.  Also go take a look over at happcontrols.  Look how many lcd monitors they offer for real arcade machines... look how few crts.  I have seen many an operator convert even classic machines like pacman to lcd monitors.  The reasoning is clear.... the lcd monitors are lighter, easer to swap out, easier to find, and use far less electricity, which means the machine uses far less power and they make more money.  Like it or not the crt arcade monitor will be impossible to buy new within the next few years.  A few years after that and they will become very hard to find used. 

That has nothing to do with my personal opinion in regards to crts, vs lcds... it's just the reality of the world we live in.  That makes the addition of the shaders a very forward-thinking feature.

Lastly, "pixel perfect" resolutions just aren't practical in a mame cab anyway... they are for a pc replacement of a specific game, but not for a mame cab.  Why?  Well different games run at different resolutions, sometimes even at different refresh rates.  Unless you wish to tweak the settings every time to change games, you don't use the original game's resolution.  What you do use is a true arcade resolution that works well with your monitor and a vasty majority of the games you play on it.  Sometimes, if you are lucky, your monitor will run a few resolutions without adjustment, but this is rarely the case.  Keep in mind that regardless of a game's resolution, the monitor is supposed to be adjusted so that it fills the whole screen.  99% of the games in mame run at a 4:3 ratio, so outputting a pixel-perfect display for each game would actually make things look worse, not better.  So if mame is pixel perfect is sort of a moot point anyway, at least in terms of mame cabs.

Calamity

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 7411
  • Last login:March 14, 2024, 05:26:05 am
  • Quote me with care
Re: How to setup correct MAME game resolutions?
« Reply #22 on: May 28, 2011, 07:34:07 am »
Hi,

Yeah, CRTs will became extint soon, it's sad, but true, and it doesn't make sense for the industry to keep supporting a costy old technology where there's a cheaper and more efficient replacement.

But the important point here imho is to make people understand that LCDs are far from being a proper replacement, for technical reasons, and will never be the perfect display when it comes to emulate classic arcade games.

There are some well known problems due to the fixed-resolution/fixed-refresh nature of these displays that necessarily involve a visual degradation and for some reason LCD users insist on overlooking.

When CRTs finally dissapear, some of us "purists" (pejorative?) will learn to tolerate LCDs. I don't think I'll manage to live with a digital display in my cabs, for me it will kill most of the fun of this hobby.

Finally, it's sad that these points of view are usually defended from radical positions as torino's, who is actually using the correct arguments when it comes to the LCD problematic, but insists on attacking Mame... Mame is a GREAT piece of software. It actually allows us to use nearly any imaginable video setup, unlike other emulators. However it has some issues with its vsync/triplebuffer options that we try to fix with GroovyMame patches, hopefully some day that could be implemented in the mainstream Mame too, but it's not a big problem actually.

Lastly, "pixel perfect" resolutions just aren't practical in a mame cab anyway... they are for a pc replacement of a specific game, but not for a mame cab.  Why?  Well different games run at different resolutions, sometimes even at different refresh rates.  Unless you wish to tweak the settings every time to change games, you don't use the original game's resolution.  What you do use is a true arcade resolution that works well with your monitor and a vasty majority of the games you play on it.  Sometimes, if you are lucky, your monitor will run a few resolutions without adjustment, but this is rarely the case.  Keep in mind that regardless of a game's resolution, the monitor is supposed to be adjusted so that it fills the whole screen.  99% of the games in mame run at a 4:3 ratio, so outputting a pixel-perfect display for each game would actually make things look worse, not better.  So if mame is pixel perfect is sort of a moot point anyway, at least in terms of mame cabs.

Well, "pixel perfect" resolutions don't make any sense with LCDs, that's true.

With a CRT, on the other hand, using an unique resolution to run all games with it is like driving a sport car with the same gear all the time.

However, the biggest problem is not the resolution itself actually, it's the refresh rates, which variety is nearly infinite and increases with each new Mame version as pcbs are more accurately emulated.

People have a bad opinion on CRTs probably because they never managed to have a decent setup. Having your CRT cab properly setup admits no comparison. The problem is that historically this has been a very difficult thing to achieve, as the software was very hard to use. Ironically now that CRTs are dissappearing, is when there are more solutions to have a nearly perfect CRT cab setup within an hour.

Important note: posts reporting GM issues without a log will be IGNORED.
Steps to create a log:
 - From command line, run: groovymame.exe -v romname >romname.txt
 - Attach resulting romname.txt file to your post, instead of pasting it.

CRT Emudriver, VMMaker & Arcade OSD downloads, documentation and discussion:  Eiusdemmodi

Blanka

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2248
  • Last login:January 25, 2018, 03:19:28 pm
Re: How to setup correct MAME game resolutions?
« Reply #23 on: May 28, 2011, 08:42:20 am »
But the important point here imho is to make people understand that LCDs are far from being a proper replacement, for technical reasons, and will never be the perfect display when it comes to emulate classic arcade games.

Please stop that BS. Take a look at the classic games from a neutral uncoloured view: grab anyone from the street who never saw an arcade cab in real life. Put the viewer in a black box. First one with a nice wide-gamut LCD in blocky upscaling (Hey retro! = cool with my 8-bit music on my iPod), then with the original CRT in perfect refresh/resolution (What the FUZZ? Ugh, it flickerZZZZ!). I bet my beer on the first option getting at least 80% of votes. The unknown WILL like the game though since that is just what it is about: a great classic game with perfect gameplay. The only group wining: men between 40 and 50 who still miss their beard or moustache.

But the wining will not be forever. By the time you are ready for gum-paste in the elderly home, we will have heat-wrap 300dpi retina OLED foil that can be shrinked to fit your dead tube, and MAME 0.1294397 will have perfect tridot emulation for that. FYI: tridot CRT's DO have a fixed resolution. There is a fixed number of tridot-holes or slots! THEY NEVER MOVE! So every pixel has a random number of red green and blue phosphor lighting up. Just as random as the number of blocks lighting up on a 1600x1200 pixel LCD! And this number of slots is LOWER than the number of subpixels in an LCD, so if someone codes really well, he can make a perfect simulation of tridot on that modern LCD.
« Last Edit: May 28, 2011, 08:52:10 am by Blanka »

Calamity

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 7411
  • Last login:March 14, 2024, 05:26:05 am
  • Quote me with care
Re: How to setup correct MAME game resolutions?
« Reply #24 on: May 28, 2011, 09:15:21 am »
Please stop that BS. Take a look at the classic games from a neutral uncoloured view: grab anyone from the street who never saw an arcade cab in real life. Put the viewer in a black box. First one with a nice wide-gamut LCD in blocky upscaling (Hey retro! = cool with my 8-bit music on my iPod), then with the original CRT in perfect refresh/resolution (What the FUZZ? Ugh, it flickerZZZZ!). I bet my beer on the first option getting at least 80% of votes. The unknown WILL like the game though since that is just what it is about: a great classic game with perfect gameplay. The only group wining: men between 40 and 50 who still miss their beard or moustache.

But the wining will not be forever. By the time you are ready for gum-paste in the elderly home, we will have heat-wrap 300dpi retina OLED foil that can be shrinked to fit your dead tube, and MAME 0.1294397 will have perfect tridot emulation for that. FYI: tridot CRT's DO have a fixed resolution. There is a fixed number of tridot-holes or slots! THEY NEVER MOVE! So every pixel has a random number of red green and blue phosphor lighting up. Just as random as the number of blocks lighting up on a 1600x1200 pixel LCD! And this number of slots is LOWER than the number of subpixels in an LCD, so if someone codes really well, he can make a perfect simulation of tridot on that modern LCD.

The worst blind man is the one who doesn't want to see.

It's certainly funny that this specific topic always ends up in holy wars wherever it's discussed. I've been reluctant to post in any of the similar threads during these days knowing it's impossible to deal with this subject anywhere, and unfortunately this forum is not different.

It's a FACT that fixed refresh displays are a problem for emulating games with a native refresh different to exact 60 Hz. Basically, you have two options:

- Do nothing about it, and deal with TEARING.
- Adjust game speed to 60 Hz

If you don't care about tearing, then first option is good. But please, don't pretend tearing does not exist. It does happen and it sucks. And you know.

Tearing makes your emulated games look like... emulated games. That's all.

Important note: posts reporting GM issues without a log will be IGNORED.
Steps to create a log:
 - From command line, run: groovymame.exe -v romname >romname.txt
 - Attach resulting romname.txt file to your post, instead of pasting it.

CRT Emudriver, VMMaker & Arcade OSD downloads, documentation and discussion:  Eiusdemmodi

Blanka

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2248
  • Last login:January 25, 2018, 03:19:28 pm
Re: How to setup correct MAME game resolutions?
« Reply #25 on: May 28, 2011, 12:05:06 pm »
Refresh I don't care about. Thought it was about resolution. The 5 games that are not 60Hz I do not play :D

torino

  • -Banned-
  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 201
  • Last login:July 24, 2011, 05:18:12 pm
  • -Banned-
Re: How to setup correct MAME game resolutions?
« Reply #26 on: May 28, 2011, 05:00:42 pm »
Quote from: cotmm68030
Wouldn't mandating you use one particular operating system to facilitate a particular feature which is undesired by a majority of the user base be counter productive? Most people do not care.

Yes, it will. Mame will happily attempt to synchronize to any arbitrary resolution/refresh rate. This has already been done in various mame builds. Most recently, GroovyMame.

Not mandatory, just optional. Why not give proper credit to the makers of GroovyMAME, CabMAME, AdvanceMAME or Soft15kHz and include some of their work in official MAME build?


Quote
You can only initialize modelines already present on the system. Show me a program that can create a new mode line not already presented by the OS and switch to it without rebooting. Maybe we can all learn then.

PowerStrip and Soft15kHz on Windows?

DOS and Linux utilities need no reboot.

torino

  • -Banned-
  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 201
  • Last login:July 24, 2011, 05:18:12 pm
  • -Banned-
Re: How to setup correct MAME game resolutions?
« Reply #27 on: May 28, 2011, 05:06:23 pm »
Quote from: Howard_Casto
Well different games run at different resolutions, sometimes even at different refresh rates.

Quote from: Blanka
Refresh I don't care about. Thought it was about resolution. The 5 games that are not 60Hz I do not play

Great majority of games run at different refresh rates, and also different from 60.00Hz

If video adapter can not produce exact native refresh rate for the particular game, there will be glitches - unless the game speeds up or slows down to match given available refresh rate, but this is only necessary for LCDs, it should not be used with arcade monitors, that would be unfortunate waste of CRT abilities since they are truly able to support those native resolutions and sync to wide range of refresh rates.

I am surprised many people are unaware or simply don't care about refresh rates and problems associated with them, they must have their MAME setup properly and with actual arcade monitors, or they are simply blind, otherwise they would surely must notice how ugly and non-authentic scroll tearing and animation choppiness is when there is even the smallest mismatch between game's native and actual refresh rate.
« Last Edit: May 28, 2011, 05:19:18 pm by torino »

newmanfamilyvlogs

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1694
  • Last login:June 15, 2022, 05:20:38 pm
    • forum.arcadecontrols.com/index.php/topic,103584.msg1096585.html#msg1096585
    • Newman Family Vlogs
Re: How to setup correct MAME game resolutions?
« Reply #28 on: May 28, 2011, 05:29:50 pm »
Quote
You can only initialize modelines already present on the system. Show me a program that can create a new mode line not already presented by the OS and switch to it without rebooting. Maybe we can all learn then.

PowerStrip and Soft15kHz on Windows?

DOS and Linux utilities need no reboot.

Negative, sir. Reboots required for new resolutions to be added. Thanks for playing.

Dos is no longer a viable development environment and should not be considered. This is not a theoretical discussion, this is the real world. And to the best of my knowledge Linux requires the X-Server to be restarted to enumerate new display resolutions. If I am wrong, please link me to examples showing me incorrect.

torino

  • -Banned-
  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 201
  • Last login:July 24, 2011, 05:18:12 pm
  • -Banned-
Re: How to setup correct MAME game resolutions?
« Reply #29 on: May 29, 2011, 01:43:41 pm »
Negative, sir. Reboots required for new resolutions to be added. Thanks for playing.

I am playing 60-in-1, or AdvanceMAME and VAntAGE on DOS.

What's the problem with reboots, what are you suggesting?
Are you advocating MAME/Windows abilities, or inabilities?


Quote
Dos is no longer a viable development environment and should not be considered. This is not a theoretical discussion, this is the real world. And to the best of my knowledge Linux requires the X-Server to be restarted to enumerate new display resolutions. If I am wrong, please link me to examples showing me incorrect.

Real programmers don't care about software libraries and operating system, they target _hardware, and they actually _write software. Anyway, DOS may be slightly uncomfortable development platform, but it's still viable _target platform, as any. We are users here, not developers, so from our point of view - why should DOS not be considered?


In real world, how do you set up these:

- autoskip/frameskip, throttle, refreshspeed?
- video, waitvsync, syncrefresh, triplebuffer?

Blanka

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2248
  • Last login:January 25, 2018, 03:19:28 pm
Re: How to setup correct MAME game resolutions?
« Reply #30 on: May 30, 2011, 03:05:17 pm »
Great majority of games run at different refresh rates, and also different from 60.00Hz
59-61 I count as 60. If a game plays 2% faster or slower, no problemo.

I DO have a question about the refresh which I am sincerely interested in? WHY DO they differ such small amounts? Is the net-frequency so horrible timed in the US?

torino

  • -Banned-
  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 201
  • Last login:July 24, 2011, 05:18:12 pm
  • -Banned-
Re: How to setup correct MAME game resolutions?
« Reply #31 on: May 30, 2011, 03:35:12 pm »
59-61 I count as 60. If a game plays 2% faster or slower, no problemo.

I agree, but how do we convince MAME to do it properly, and can official MAME do it at all, or is some other build necessary? Frameskip, throttle, refreshspeed, waitvsync, syncrefresh, triplebuffer?

Quote
I DO have a question about the refresh which I am sincerely interested in? WHY DO they differ such small amounts? Is the net-frequency so horrible timed in the US?

Ditto. I'm trying to answer that question for several months now. I am questioning refresh rates defined by MAME, I wonder if authentic Galaga PCB is really meant to be running at 60.606061Hz as MAME/MAWS says, or could those extra digits simply be an error in that particular measurement. Maybe Galaga is really supposed to run at exact 60Hz, and maybe each PCB gets slightly off due to age and heat?

We need several people who have arcade monitor with OSD that can show current resolution and refresh rate, then they should all try to run the same game but different PCB, and then we would know if this number is the same as MAME says and whether it differs with each particular PCB.
« Last Edit: May 30, 2011, 03:41:58 pm by torino »

Gray_Area

  • -Banned-
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3363
  • Last login:June 23, 2013, 06:52:30 pm
  • -Banned-
Re: How to setup correct MAME game resolutions?
« Reply #32 on: May 30, 2011, 07:55:00 pm »
Ditto. I'm trying to answer that question for several months now. I am questioning refresh rates defined by MAME, I wonder if authentic Galaga PCB is really meant to be running at 60.606061Hz as MAME/MAWS says, or could those extra digits simply be an error in that particular measurement.

Look at the hardware and do the math.
-Banned-

torino

  • -Banned-
  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 201
  • Last login:July 24, 2011, 05:18:12 pm
  • -Banned-
Re: How to setup correct MAME game resolutions?
« Reply #33 on: May 30, 2011, 10:37:35 pm »
Ditto. I'm trying to answer that question for several months now. I am questioning refresh rates defined by MAME, I wonder if authentic Galaga PCB is really meant to be running at 60.606061Hz as MAME/MAWS says, or could those extra digits simply be an error in that particular measurement.

Look at the hardware and do the math.

Look at what exactly? Are you saying each and every Galaga PCB, for example, will output exactly 60.60606 frames per second, according to MAME, and that's the same number I can find written somewhere on Galaga "hardware"?

newmanfamilyvlogs

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1694
  • Last login:June 15, 2022, 05:20:38 pm
    • forum.arcadecontrols.com/index.php/topic,103584.msg1096585.html#msg1096585
    • Newman Family Vlogs
Re: How to setup correct MAME game resolutions?
« Reply #34 on: May 31, 2011, 06:18:38 am »
59-61 I count as 60. If a game plays 2% faster or slower, no problemo.

I agree, but how do we convince MAME to do it properly, and can official MAME do it at all, or is some other build necessary? Frameskip, throttle, refreshspeed, waitvsync, syncrefresh, triplebuffer?


This is not some kind of black magic, unattainable but to those pure of blood. It's all very straight forward. I'm sorry you're having such a hard time with it.

Let's look at each of these options individually. I believe I can explain all of these options correctly. If I am mistaken, then I hope someone will correct me.

Frameskip: Mame can be told to run at any arbitrary resolution and framerate, native or otherwise. If it cannot make the time goal specified by the refreshrate, it uses this value to skip frames. Nominally it should be 0.

Throttle: On modern hardware, mame can emulate the vast majority of it's catalog much faster than real time. This option tells mame to attempt to keep the emulation speed at 100% of the refresh rate of the original hardware, independent of the refresh rate of the target output.

Refreshspeed: Similar to throttle, this option causes mame to slow-down or speed-up emulation rate in order to match the selected refresh-rate of the current video mode (again, native or otherwise).

Waitvsync: This is a key option for running games at the native speed. This forces mame to wait for each frame of emulation until the videocard specifies it is ready, as dictated by the refresh rate of the currently selected mode. On a system where native resolutions and refresh rates are available (such as provided by Calamity's drivers), waitvsync should allow mame to sync perfectly.

It has been discovered that on many ATI cards the available refreshrates can be modified at run time to be any arbitrary value. Unfortunately resolutions cannot be added at run time. Because of the large number of resolutions/refreshrates, it is more convenient to modify the refresh rate at run time either with a third-party build of mame, or a tool to do so before launching mame. However, if you wanted to run a small number of games perfectly and use the stock, out-of-the-box mame, you could do it. It's just cumbersome to have several thousand resolution/refreshrate combinations in windows. Other OSs might work differently.

Triplebuffer: This is primarily useful for instances where you are running your screen refreshrate much higher than the originals. It works just like any implementation of triplebuffering in any other program. It can also introduce lag since you are increasing the number of frames being rendered before they are displayed.


So in the end, there is not one single correct configuration of mame. If there were, we wouldn't need options.  To go back to the OPs question:
A current optimal, relatively easy, solution for running games in mame at their correct pixel size/speed is to either use an ArcadeVGA card hooked up to an arcade monitor, or use Soft15kHz to add native resolutions, then use a build such as GroovyMame to allow the dynamic modification of refreshrates (and screen timings) on a per-game basis.
Mame should be set to switch resolutions, wait for vsync, and disable hardware stretching/filtering. Due to the vast number of resolutions, some games might have a several pixel boarder because it is inefficient to have several modes with the same number of lines, but a few different horizontal resolutions (eg 315x240, 300x240, and 310x240 might all run at 320x240, giving a few black pixels on either side).

torino

  • -Banned-
  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 201
  • Last login:July 24, 2011, 05:18:12 pm
  • -Banned-
Re: How to setup correct MAME game resolutions?
« Reply #35 on: May 31, 2011, 05:55:12 pm »
...either use an ArcadeVGA card hooked up to an arcade monitor, or use Soft15kHz to add native resolutions, then use a build such as GroovyMame to allow the dynamic modification of refreshrates

Why would anyone want to use ArcadeVGA if there is Soft15kHz? Why Soft15kHz if GroovyMAME can do it all?


Quote
Mame should be set to switch resolutions, wait for vsync, and disable hardware stretching/filtering.

Can official MAME actually do it all properly, or is GroovyMAME necessary?


Quote
Frameskip: Mame can be told to run at any arbitrary resolution and framerate, native or otherwise. If it cannot make the time goal specified by the refreshrate, it uses this value to skip frames. Nominally it should be 0.

There is no "nominally", in order to support native refresh rates and achieve perfect sync it either should be zero, or not.

So "frameskip" should be set to zero and "autoframeskip" should be disabled too, right?


Quote
Throttle: On modern hardware, mame can emulate the vast majority of it's catalog much faster than real time. This option tells mame to attempt to keep the emulation speed at 100% of the refresh rate of the original hardware, independent of the refresh rate of the target output.

Ok, so "throttle" should be enabled or disabled?


Quote
Refreshspeed: Similar to throttle, this option causes mame to slow-down or speed-up emulation rate in order to match the selected refresh-rate of the current video mode (again, native or otherwise).

That's what "waitvsync" should be doing, and that's not similar to "throttle", which uses frame skipping, while changing emulation speed requires fine game timer tuning.

Anyway, should "refreshspeed" be enabled or disabled?


Quote
Waitvsync: This is a key option for running games at the native speed. This forces mame to wait for each frame of emulation until the videocard specifies it is ready, as dictated by the refresh rate of the currently selected mode. On a system where native resolutions and refresh rates are available (such as provided by Calamity's drivers), waitvsync should allow mame to sync perfectly.

Ok, "waitvsync" should be enabled.


Quote
Triplebuffer: This is primarily useful for instances where you are running your screen refreshrate much higher than the originals. It works just like any implementation of triplebuffering in any other program. It can also introduce lag since you are increasing the number of frames being rendered before they are displayed.

No, that's very wrong. Triplebuffering is just double buffering and page flipping with three instead of two video pages, it can only speed up things and make it faster, it does not introduce any lag nor it has anything to do with "higher refresh than original". It may not execute the same on every system, depending on library and hardware settings it could also be doing "waitvsync".

Anyway, should "triplebuffer" be enabled or disabled?

What about "syncrefresh", should it be enabled or disabled?


autoframeskip 0
frameskip 0
waitvsync 1

throttle ?
refreshspeed ?
syncrefresh ?
triplebuffer ?

kalars123

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 220
  • Last login:August 09, 2019, 12:31:51 pm
Re: How to setup correct MAME game resolutions?
« Reply #36 on: May 31, 2011, 08:53:16 pm »
an AVGA is a hardware solution for when Soft15k won't work, from what i understand "never played with it" not all video cards are able to output 15khz.  Groovymame for windows is just a all in 1 software solution so you don't have to use mame+switchres+avres/mamewah tool.

As long your system can handle all the games then frameskip should be turned off to draw every frame.

no throttle should be on otherwise most games will run at 200-300%

any other question's i refer you to Andy's instruction's for the AVGA http://www.ultimarc.com/avgainst.html

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19399
  • Last login:March 16, 2024, 05:59:16 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: How to setup correct MAME game resolutions?
« Reply #37 on: June 01, 2011, 02:24:13 am »
Just a note about the previous argurment. 

I saw some mention of tearing.  Tearing is a system resources problem.  If your games are tearing then it means mame can't keep up, which means your video card is too crappy, you don't have enough ram/processing power, or you are running the game at a resolution waaay higher than it's original resolution. 

It has very little to do with refresh rates.  Btw, so long as the refresh rate in MAME is equal to or greater than the game's actual refresh rate it will run glitch free.  Remember, the internal timings in regards to when the game refreshes itself and the timings at which the resulting images are sent to mame don't have a lot to do with each other. 

Calamity

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 7411
  • Last login:March 14, 2024, 05:26:05 am
  • Quote me with care
Re: How to setup correct MAME game resolutions?
« Reply #38 on: June 01, 2011, 03:05:08 am »
Hi Howard,

Just a note about the previous argurment.  

I saw some mention of tearing.  Tearing is a system resources problem.  If your games are tearing then it means mame can't keep up, which means your video card is too crappy, you don't have enough ram/processing power, or you are running the game at a resolution waaay higher than it's original resolution.

I must disagree here, tearing is not a problem of system resources, actually has nothing to do with that. Tearing happens when you write to the video ram buffer outside of the vblank period, that is a brief time window that occurs once per frame at video card's refresh rate. In practice, that happens when you don't sync your blitting routines to the vertical retrace.

This is a very well known artifact. You have tearing all around today, just watch a youtube video in your browser and you'll see it, unless you enable some external option from your video card control panel. People have got so used to it after that no one seems to notice it any more.
  
It has very little to do with refresh rates.  Btw, so long as the refresh rate in MAME is equal to or greater than the game's actual refresh rate it will run glitch free.  Remember, the internal timings in regards to when the game refreshes itself and the timings at which the resulting images are sent to mame don't have a lot to do with each other.  

Ironically it's actually the opposite, in Mame, if video card's refresh < game's refresh, it will run glitch free (if you use triplebuffer), although if the difference is too big you'll have sound stuttering.
« Last Edit: June 01, 2011, 03:07:08 am by Calamity »
Important note: posts reporting GM issues without a log will be IGNORED.
Steps to create a log:
 - From command line, run: groovymame.exe -v romname >romname.txt
 - Attach resulting romname.txt file to your post, instead of pasting it.

CRT Emudriver, VMMaker & Arcade OSD downloads, documentation and discussion:  Eiusdemmodi

torino

  • -Banned-
  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 201
  • Last login:July 24, 2011, 05:18:12 pm
  • -Banned-
Re: How to setup correct MAME game resolutions?
« Reply #39 on: June 01, 2011, 03:32:53 am »
I saw some mention of tearing.  Tearing is a system resources problem.  If your games are tearing then it means mame can't keep up, which means your video card is too crappy, you don't have enough ram/processing power, or you are running the game at a resolution waaay higher than it's original resolution.  

No, tearing happens when a single display frame is composed from multiple video pages, or when a single video page gets updated in the same time as the data is being sent out, both of these are due to lack of sync with refresh rate.

Quote
It has very little to do with refresh rates.  Btw, so long as the refresh rate in MAME is equal to or greater than the game's actual refresh rate it will run glitch free.  Remember, the internal timings in regards to when the game refreshes itself and the timings at which the resulting images are sent to mame don't have a lot to do with each other.

No, tearing has to do everything with refresh rates, and waiting for vsync to flip pages.  The game will not run glitch free just becasue your CPU is fast enough, you have to sync every frame, which is very much related to internal game speed, and also audio speed, especially if you can not persuade video card, or monitor, to perform at exact native refresh rate.


Modern games do have their speed decoupled and independant of refresh rate, but not arcade games, and so emulated game and audio speed should always be self-adjusting in relation to actual refresh rate, and actual refresh rate should be adjustable in relation to available refresh rate provided by given video card and monitor.
« Last Edit: June 01, 2011, 03:41:01 am by torino »