Main > Monitor/Video Forum
How to adjust horizontal position past trimpot area on arcade monitor?
crisizzone:
Thank you buttersoft that is incredibly helpful :applaud: :applaud: :applaud: :applaud: :applaud:
Following yours and jomac's instructions I know I want to keep the Horizontal frequency between 15.450khz and Max of 16.050Khz , (optimal is 15.750Khz) and the Vertical frequency between 54Hz and 60Hz. I'm taking away that so long as I keep within this range things should be OK with the Nanao monitor. I'll only be using MAME arcade and not any system emulation so I should be relatively safe.
I'll be keeping the monitor off until windows is booted every time now.
I setup a 'custom monitor preset' in Video Mode Maker and called it Nanao MS8. I just copy pasted the generic_15, and altered the Hfreq and Vfreq as Jomac advised.
Going into Arcade OSD I was able to get a pretty much perfect picture by adjusting the horizontal sync pulse. So very happy there.
Then still in Arcade OSD, I selected 'copy modeline to clipboard' and pasted it into notepad, this is where I got a little confused... :dunno
I assume I just ignore the 'modeline' line of text, then the second line crt_range is what I'm supposed to copy into the mame.ini file specifically this section:
--- Code: ---# CORE SWITCHRES OPTIONS
#
-modeline Generate modelines for arcade monitors
-monitor Monitor type, e.g.: generic_15, arcade_15, lcd, custom, etc.
-orientation Monitor orientation (horizontal|vertical|rotate)
-connector [Linux] video card output (VGA-0|VGA-1|DVI-0|DVI-1)
-interlace Enable interlaced scanning when necessary
-doublescan Enable double scanning when necessary (unsupported under Windows)
-cleanstretch Force integer scaling, 0 means automatic selection
-changeres Enable dynamic in-game video mode switching
-powerstrip Use Powerstrip API for dynamic setting of custom video timings
-lock_system_modes Lock system (non-custom) video modes, only use modes created by us
-lock_unsupported_modes Lock video modes reported as unsupported by your monitor's EDID
-refresh_dont_care Ignore video mode's refresh reported by OS when checking ranges
-dotclock_min Lowest pixel clock supported by video card, in MHz, default is 0
-sync_refresh_tolerance Maximum refresh difference, in Hz, allowed in order to synchronize
-frame_delay Delays the start of each frame to minimize input lag (0-9)
-lcd_range Add custom LCD range, VfreqMin-VfreqMax, in Hz, e.g.: 55.50-61.00
-crt_range0 Add custom CRT range, see documentation for details.
-crt_range1 Add custom CRT range
-crt_range2 Add custom CRT range
-crt_range3 Add custom CRT range
-crt_range4 Add custom CRT range
-crt_range5 Add custom CRT range
-crt_range6 Add custom CRT range
-crt_range7 Add custom CRT range
-crt_range8 Add custom CRT range
-crt_range9 Add custom CRT range
--- End code ---
So here's where my few issues come up:
* The horizontal porch and pulse times match in the clipboard copy what's on the screen in ArcadeOSD, but the vertical porch and pulse times do not. They are completely different. I don't really understand why?
* The clipboard has also changed my vertical frequency range from "54.50-59.97" to a straight "50.00-60.00"? Again, I don't understand why, and since this is out of Jomac's frequency recommendations I'm guessing I ignore this and reset it to my original range?
* I'm not particularly well understanding what the multiple crt_range0, crt_range1, crt_range2, etc.? Do I need to enter more than one crt_range setting? Or do I just edit crt_range0 and leave the others as 'auto'?
Zebidee:
A couple of things:
1) You will need to use VMM to generate/install modes at least twice. After adjusting one mode (not the main EDID 480i mode) in ArcadeOS to suit your monitor, you write down (with a pen or pencil) those 3 horizontal values (buttersoft has them in bold above), use them to edit/update your preset crt_range0 in VMM's monitor.ini file, and run VMM again to generate/install modes. You can repeat this step as many times as you like until your are happy with all the modes.
ArcadeOS tweaks your modes one-by-one (but can't tweak EDID). VMM resets all of them according to your presets.
2) While you are in the VMM options, go to the last tab, browse to your mame.exe (or whatever yours is called, eg "c:\mame\groovymame64.exe") and click on the box to "Export settings to mame". Then click OK. You will see a message in VMM's window about exporting your settings. This means VMM just automatically updated mame.ini for you with the correct crt_range values (there is no need to generate/install modes again to update mame.ini).
If you continue to have issues with your mame.ini then I suggest that you DELETE the file and generate a new config file by running "mame.exe -cc" from command line. Then open VMM options again and click OK to update mame.ini
3) You may want to consider using ATOM-15 to flash the BIOS of your video card, so that it will output 640x480i at 15khz during boot.
http://geedorah.com/eiusdemmodi/forum/viewtopic.php?id=64
Hope this helps.
buttersoft:
Jomac is the man, but I'm not. TBH i have no idea if using the chassis on the limits stresses it more than hitting right on the sweet spot, or if changing frequencies inside the range affects it - in the thread i linked Jomac does talk about the fact that these chassis were designed for a fixed frequency, but he also uses the term "safe range". Either way it is important to note that VMM and ArcadeOSD in actual use will let modelines slip just past the limits, so if you did want to use the full "safe range" you'd be best setting the range line slightly inside that - say 15.55 to 15.9 - but also checking each the scanrate of modeline before and after adjustment to make sure it's not going outside the range. You can see the scanrate in the list in ArcadeOSD before switching modes.
You can export all your modelines from VMM, and keep any files you've altered like monitor.ini, but you do not export a range line from VMM as such. (Oh wait, that's what updating the mame.exe does? I'd forgotten that, so credit to Zeb there :) That will make cutting and pasting irrelevant, but it might not hurt to double check it's all been ported over correctly)
If you're going to create a custom range preset and use it in VMM, just grab that and dump it into mame.ini as crt_range0.
If the modelines need further adjusting, do that in AracdeOSD and go again, or if you're happy, grab the timings from the 320x240@60p mode from ArcadeOSD, and dump those into mame.ini (GrrovyMAME mostly uses 240p modes or close to, or anyway this is a good starting point). ArcadeOSD is outdated, so i'm not sure if simply copying the modeline directly from there will work, it might be in a different format. It should look like one of the range lines from the monitor.ini file, in this case the specific one you created.
Vertical is trickier. You cannot adjust things the same way as horizontally. But again, it would be easiest to simply copy your custom preset into the mame.ini file.
Multiple range lines are for multiple frequency bands. There are unusual use cases for specific games, but mostly these are used to cover dual- or tri-sync monitors - like some of the Nanao MS9 versions, or WG ones. A dual-sync chassis can run at both 15khZ or 31kHz, but not anything in between. So you have two range lines, one for each band.
I think the MS8's were dual-sync, but i have zero hands-on experience, so you'll have to look into that for yourself. I believe it's only the 15kHz band that has the funny range limits, and the 31kHz band is normal, but again i'll stress that i don't actually know anything. The thread i linked to before might say something about that.
If you were using only the 15kHz range of this monitor, as the lowest and only range, you would only need to enter the crt_range0, and leave the others blank. If you wished to add The 31kHz band it would go into the next available slot - crt_range1.
Take a look at some of the dual-sync or tri-sync monitor ranges in the monitor.ini file for examples.
--- Quote ---3) You may want to consider using ATOM-15 to flash the BIOS of your video card, so that it will output 640x480i at 15khz during boot.
--- End quote ---
And sorry Zeb, but you will NOT be able to trust Atom15 (with 15kHz-only settings) with this monitor to boot windows. The video card's BIOS will be ok, but Windows still does funny things as it loads and may go outside the 15kHz range limits. If it does, this chassis will not survive that in the long term. Using it for 31kHz might work, subject to concerns further above because i have no idea about 31kHz on this chassis.
The monitor must be left off until windows has fully loaded - unless it really is multisync, and you can lock it to 640x480, but even then as it transitions you just don't know what it's going to do. You could put the computer on a scope, but who knows what it's going to do day to day? I wouldn't trust Windows further than i could throw it, in that regard.
Keep in mind all this advice is solely to protect the MS8. I've never confirmed any other monitor is limited the same way, though there are rumours about pre-1980 TV's
Zebidee:
Hey buttersoft, you're more an expert on crt_emudriver so happy to defer to you on the details.
Letting VMM update mame.ini is just easier, one less thing to worry about.
--- Quote ---
--- Quote --- 3) You may want to consider using ATOM-15 to flash the BIOS of your video card, so that it will output 640x480i at 15khz during boot.
--- End quote ---
And sorry Zeb, but you will NOT be able to trust Atom15 (with 15kHz-only settings) with this monitor to boot windows. The video card's BIOS will be ok, but Windows still does funny things as it loads and may go outside the 15kHz range limits.
--- End quote ---
Yeah you are right, I just didn't want to go into too much detail in this thead as it is a side-topic, and I'm not really the expert, but here we are. What I understand is that windows 7+ tries to do the logo/loading screen in 1024x768 - and if you have a multiboot arrangement, I *think* it uses 1024x768 for the boot menu screen. You don't need to use the boot menu, but I understand that the loading screen issue is unavoidable. You can set the /noguiboot option in the BCD (Win7+ boot options), but apparently that just gives you a blank screen in 1024x768 for an even longer period. I've heard tales of monitors squealing during this time (awww poor monitors :-[).
On the other hand, if using windows XP, you can boot and use your own custom loading screen in 640x480i the whole way. Yay XP.
Weirdly, using Atom-15, I don't see the boot menu on my Sony Profeel, but I can see the boot menu (and the progress bar for the Win7 loading animation) on my Panasonic 28" from the late-80's. I have no idea how it is able to do this :dunno
So yeah probably best to keep the Nanao off while booting, considering it's issues. Even so, ATOM-15 lets you access BIOS from a 15khz monitor so that is a win and it is still worth considering.
buttersoft:
--- Quote from: Zebidee on May 27, 2020, 12:58:42 pm ---Even so, ATOM-15 lets you access BIOS from a 15khz monitor so that is a win and it is still worth considering.
--- End quote ---
Ahhh, i hadn't thought of that. Yes, it will work fine for the BIOS screens. But not to load windows - if you read that thread above Jomac does rag on XP too, as jumping aroundf a bit during loading, and probably killing MS8's when doing so.