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: Possible to calculate exact values for my TV monitor? (re: CRT emudriver)  (Read 6836 times)

0 Members and 1 Guest are viewing this topic.

sofakng

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 646
  • Last login:February 18, 2021, 04:19:21 pm
I understand that the default values in CRT emudriver will work OK, but I'd like to calibrate my TV to get the most optimal settings possible.

The TV is a Toshiba 27A33 and the manual (and service manual) do not list almost any specifications regarding sync ranges or minimum porch values.

What is the process of me trying to discover them for myself?  I believe I can use the Arcade OSD tool plus my TV service menu but I'm not sure on the exact process.

Are there any guides or instructions on how to do this?  I've been reading lots on front porch/sync/back porch and how CRT monitors work, and like I mentioned above, I know I can use default settings in CRt emudriver but I want to learn/calibrate it as best as I can.

Thanks!

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7463
  • Last login:July 01, 2025, 01:29:14 pm
  • Quote me with care
Hi sofakng,

Well there's not any proper guide but if you dig enough in this subforum, specifically in the older SCART threads, you'll find all the information you need to become an expert.

The H/V sync pulse lengths are standard. Basically you'll need to play with H front/back porches to get rid of horizontal overscan and get a proper horizontal centering. The vertical size can only be controlled from service menu.

The most relevant value of all is vertical back porch which must equal the actual time your TV/monitor takes to bring the beam from the bottom to the top of the screen. Finding the monitor's specific value for VBP is what makes possible to achieve automatic vertical centering for arcade monitors. Unfortunately TVs are more complicated because they have circuits to compensate geometry when switching between PAL/NTSC standards that make the results unpredictable, often requiring manual adjustments per video mode.

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

sofakng

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 646
  • Last login:February 18, 2021, 04:19:21 pm
Thanks for the reply and the information.  I've been trying to search and read as much information as I could.

One thing I can't understand is how the modelines interact with GroovyMAME.

For example, VMMaker generates 120+ modelines in the Windows Registry.  This allows all Windows applications to set the display output to any of these resolutions/refresh rates.

However, I've read that GroovyMAME "overrides" these modelines.  If so, what is the point of creating the modelines with VMMaker?

adder

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 640
  • Last login:February 04, 2021, 10:51:51 am
  • Location: Easy St.
because even 120 modelines is not enough to cover all of the many different resolutions and refresh rates required in mame if you want everything running exact, (instead of settling for a compromise/nearest best shot)

so when you load a game using groovymame,  groovymame checks the available modelines in your windows registry, and selects the most suitable (closest) modeline which matches the game you are running, but then can 'tweak' the modeline if necessary

the modelines in the registry are necessary as it is not possible for groovymame to just create a new modeline 'on the fly' at run time (Calamity did look into this in the past, but reported it was unstable/buggy trying to do that.. whereas 'tweaking' an existing modeline stored in the registry is acceptable)

regarding your question about your tv and the various ranges it can handle. perhaps you could do what i do (note: i use a JVC crt tv, but have also used other models in the past). rather than enter in all the various values manually, i simply always choose the arcade_15 preset, which gives you from  15.625kHz to 16.200kHz scan rate  and  49.50hz to 65.00hz  refresh rate.  personally speaking, i have never had a problem using this preset with many different crt tv's.  it should be noted though that i play vertical games in their native orientation (so i have to manually physically lift and rotate my tv on its side).  if instead you wish to play both horizontal AND vertical games all on your 'normal' horizontally positioned tv without ever physically rotating it, then the upper 16.200kHz range of the  arcade_15  preset may not be high enough.  many crt tv's dont really like to go much higher than 16.200kHz, but if  you wanted to try anyway to see if your tv can cope, you could use the  arcade_15ex  preset instead, which may try to send a signal as high as 16.500kHz to your tv (but just to repeat, many tv's do not like such a high value.. personally speaking.. in the past when i tried high values like that with some crt tv's, i would get strange high pitched sounds from my tv, and on a few occasions, there was a burning smell!  :censored:).

finally, as Calamity has said, another obstacle which crt tv users often face is how/when the tv decides to switch between pal and ntsc mode. it usually does the switch depending on the refresh rate being used (eg. if a refresh rate of 55hz or above is used, the tv switches to ntsc mode, and if a refresh rate under 55hz is used, the tv switches to pal mode). when this happens you may see the screen suddenly 'resize' quite dramatically.  anyway, this behaviour seems to vary between tv's, so personally speaking i find it is best to just get on with things, ie. get initially set up with groovymame, and then tackle any pal/ntsc issues later on when you start to see some strange behaviour (i am quite lucky as my JVC tv via the remote control allows me to get into the tv service (settings) menu quickly and easily and to the 'vertical size' option, so, depending on the game i have run, i just make quick adjustments to the vertical size when necessary (eg. if i have large black borders, or if some of the game is missing off the top/bottom of the screen).
« Last Edit: March 17, 2015, 11:24:14 pm by jadder »

sofakng

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 646
  • Last login:February 18, 2021, 04:19:21 pm
Thanks so much for the information.

If I understand correctly, Windows can only use the modelines in the registry.  For example, if the only modeline that existed was "640x480" then MAME would be forced to use this resolution and scale all 240p games up to 640x480.  This causes artifacts and other problems.

However, if we have lots of modelines, then MAME could find either an exact match or something close.  For example, Street Fighter 2 is 392x224 so if we had a 392x224 modeline in the registry than it would use that.  However, if the closest modeline is 388x224, then MAME will use that but it will "tweak" it?  What does that mean?  Does it modify the registry or output signal?  (If so then I'm confused because I thought only the registry modelines could be sent to the TV)

Also ... can the Crescendo TC1600 transcoder be used to set the vertical size on-the-fly?  It has a potentiometer called "V-width" but it sounds like it adjusts the v-sync pulse width and not the vertical size itself?

adder

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 640
  • Last login:February 04, 2021, 10:51:51 am
  • Location: Easy St.
hi again i wont pretend to understand exactly how groovymame works but generally speaking, it depends on the method you choose when you run VMM (video mode maker) which is part of the groovymame setup. when, using VMM you generate your modelines to be added to the registry, the type of modelines/setup which occurs depends on the method (table method) you choose.

so for example, i am running windows xp and use a table method called magic tables. this means all of my modelines (around 20 modelines) in my system registry all start with '1234'... example   1234x240     1234x256 ...
then, when i run a game using groovymame, groovymame uses one of the modelines i have in my registry, but it does not use the '1234' (horizontal) part of the modeline, instead it sets this to the value which the game being run requires (example, 384x224).   also, groovymame can set the refresh rate 'on the fly' to the value which is required by the game being run. for the vertical size of the modeline, groovymame will check the vertical size of the game being run, example streetfighter II, height 224, and then choose a modeline which is close to that, so it would use the 1234x240 modeline, and then just insert some empty/black lines at the top and bottom of the screen, instead of stretching the image

i would recommend you have a good read of this documentation here to help you understand everything as there is a lot of different parts to groovymame and many features etc. it can seem overwhelming to new users, so it helps to read as much as you can. i have learned a lot by reading every new post which appears on this forum, even if it does not apply to me. this way, i can keep in touch with all the different ways of setting up groovymame and help to understand all the different possibilities and so on.  have a good read of this:
http://geedorah.com/eiusdemmodi/forum/viewforum.php?id=1
then in a day or two, read it all again a second time  ;)

regarding your 'Crescendo TC1600 transcoder' question, i am afraid i am unaware of this device and do not know it, but there is a user here called rcadegaming who perhaps answer your question, although i do not know how often he visits (but he might show up, who knows :))
« Last Edit: March 18, 2015, 04:20:23 pm by jadder »

Paradroid

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 687
  • Last login:July 12, 2025, 08:11:33 pm
    • SCART Hunter
Also ... can the Crescendo TC1600 transcoder be used to set the vertical size on-the-fly?

No external device can. The CRT needs to literally draw the lines closer together or further apart to change the vertical size. This can only be altered by the circuitry of chassis itself which means either adjusting a trimpot or changing a value in the service menu (depending on the model).
My MAME/SCART/CRT blog: SCART Hunter

sofakng

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 646
  • Last login:February 18, 2021, 04:19:21 pm
Thanks again for the information everybody.

So... I'm having a problem where the left side of the CRT display is cut-off by just a few pixels/lines.  I've tried adjusting the horizontal front/back porch and sync but I can't seem to fix it.

For example, I can adjust the CRT chassis geometry so the horizontal picture is shrunk to the middle, but the left-side of the active display is still missing.  I'm using 704x448x60i for testing.  Here are the closest settings to centering the picture:
Code: [Select]
720x448x60
  Center = 18/24
  H Active = 90
  H Front Porch = 6
  H Sync = 3
  H Back Porch = 18
  H Blanking = 27
  H Total = 117

Next, I tried to find my optimal TV settings using instructions from other threads.  I used 256x256p resolution in Arcade OSD and VFP = 1, VSP = 3, and VBP = 16.

VBP 16 still caused the top of the active display to be a tiny bit distorted but VBP 18 looked good.  I was also able to unlock the vertical frequency and managed to get the dot clock to 5.68 Mhz.  These settings gave me V(Hz) = 58.044 and H(kHz) = 16.136 kHz.

With that said, what should I set my modeline in vmmaker and how can I get rid of the horizontal overscan on the left side of the picture?

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7463
  • Last login:July 01, 2025, 01:29:14 pm
  • Quote me with care
With that said, what should I set my modeline in vmmaker and how can I get rid of the horizontal overscan on the left side of the picture?

First of all it's not a modeline what you put in vmmaker.ini. It's a monitor specs line, related but not the same thing at all. Check this: http://forum.arcadecontrols.com/index.php/topic,116023.0.html

To get rid of the horizontal overscan on the left side you need to increase the horizontal back porch.

The values you posted above are internal to Arcade OSD, the ones you need are the actual timings (time units) and are found in the column on the right of those.
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

repetto74

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 98
  • Last login:April 18, 2020, 02:10:00 pm
because even 120 modelines is not enough to cover all of the many different resolutions and refresh rates required in mame if you want everything running exact, (instead of settling for a compromise/nearest best shot)

so when you load a game using groovymame,  groovymame checks the available modelines in your windows registry, and selects the most suitable (closest) modeline which matches the game you are running, but then can 'tweak' the modeline if necessary

the modelines in the registry are necessary as it is not possible for groovymame to just create a new modeline 'on the fly' at run time (Calamity did look into this in the past, but reported it was unstable/buggy trying to do that.. whereas 'tweaking' an existing modeline stored in the registry is acceptable)

regarding your question about your tv and the various ranges it can handle. perhaps you could do what i do (note: i use a JVC crt tv, but have also used other models in the past). rather than enter in all the various values manually, i simply always choose the arcade_15 preset, which gives you from  15.625kHz to 16.200kHz scan rate  and  49.50hz to 65.00hz  refresh rate.  personally speaking, i have never had a problem using this preset with many different crt tv's.  it should be noted though that i play vertical games in their native orientation (so i have to manually physically lift and rotate my tv on its side).  if instead you wish to play both horizontal AND vertical games all on your 'normal' horizontally positioned tv without ever physically rotating it, then the upper 16.200kHz range of the  arcade_15  preset may not be high enough.  many crt tv's dont really like to go much higher than 16.200kHz, but if  you wanted to try anyway to see if your tv can cope, you could use the  arcade_15ex  preset instead, which may try to send a signal as high as 16.500kHz to your tv (but just to repeat, many tv's do not like such a high value.. personally speaking.. in the past when i tried high values like that with some crt tv's, i would get strange high pitched sounds from my tv, and on a few occasions, there was a burning smell!  :censored:).

finally, as Calamity has said, another obstacle which crt tv users often face is how/when the tv decides to switch between pal and ntsc mode. it usually does the switch depending on the refresh rate being used (eg. if a refresh rate of 55hz or above is used, the tv switches to ntsc mode, and if a refresh rate under 55hz is used, the tv switches to pal mode). when this happens you may see the screen suddenly 'resize' quite dramatically.  anyway, this behaviour seems to vary between tv's, so personally speaking i find it is best to just get on with things, ie. get initially set up with groovymame, and then tackle any pal/ntsc issues later on when you start to see some strange behaviour (i am quite lucky as my JVC tv via the remote control allows me to get into the tv service (settings) menu quickly and easily and to the 'vertical size' option, so, depending on the game i have run, i just make quick adjustments to the vertical size when necessary (eg. if i have large black borders, or if some of the game is missing off the top/bottom of the screen).

Hi,
I have read this reply concerning the settings of Vmmaker to be used with a Scart TV. I have a 21 inch JVC TV and I am desperately trying to set up Vmmaker in order to have vertical games displayed properly. Unfortunately I always get games with top and bottom parts missing and for some of them I have the bottom part messed up. What could be a good preset to have at least a good compromise in order to display top and bottoms for Vgames? No particular issue with horizontal games which are displayed fine at their native resolution.