In the Hunt: Best 15kHz OS?

In the HuntIntroduction

The OS hunt has started. My main software requirements are compatibility for GroovyMAME and Fightcade. I prefer having newer emulators running in my Atomiswave SD 31kHz cabinet and older emulators such as 32,16 and 8 bit consoles will be run in the 15kHz Astro City. This may essentially limit me to a Windows based OS for a 31kHz system due to emulator availability and either Windows or Linux for the 15kHz system.

GroovyMAME

GroovyMAME is a fork of MAME designed primarily for CRT monitors but also useful for LCD displays, especially for those models which are capable of refreshing at custom rates. Its aim is to offer pixel perfect arcade emulation. Groovymame’s main features as compared to official MAME:

  • Improved video and audio synchronization that achieves truly smooth scrolling, tearing-free video and hiccup-free sound.
  • Automatic generation of custom video timings for CRT monitors.
  • Reduced input latency

Note: groovymame already contains mkchamp’s patches for high score support/nag screen removal (need to be enabled in mame.ini). To take full advantage of GroovyMAME you need a specific ATI video card with CRT_EmuDriver.

Windows XP vs Windows 7

CRT_EmuDriver support:

  • Windows 7: Super Resolutions
  • Windows XP: Magic Resolutions & Super Resolutions

With magic resolutions you obtain real native resolutions, say 256×224, 320×240, etc. with no stretching. With super resolutions you are actually stretching on the horizontal axis. Although this is virtually unnoticeable, you are forcing your gpu to upscale (not a big problem anyway). And some might say you can feel some background “shimmering” on horizontal scrollers. Someting to be verified. There are some advantages to super resolutions however: better horizontal centering.

Windows XP Installation Guide

I followed the guide detailed in in this post on ArcadeOtaku. I have modified some steps to suit my setup although they are very similar. Cools is an expert in this area so read his thread.

Setup:

  1. Use YUIMI to create a Win95 USB installation disk and start the installation.
  2. Once the installation is completed:
  3. Enable File Extensions by opening Windows Explorer, opening the Tools menu and clicking on Folder Options. Click on the View tab and untick Hide extensions for known file types. Click OK. Close Explorer.
  4. Use Windows automatic updates. Click on More Options then select Notify me but don’t automatically download or install them. This way you can see exactly what Windows Update is installing. Select all required drivers EXCEPT graphic card drivers.
  5. Enable File and Print Sharing. This will help copy ROMs/emulators to your machine if needed.
  6. Install any required programs. I use ninite.com to install multiple packages at once. (7-zip, notepad++, Firefox, VLC. SumatraPDF, BitTorrentSync)
  7. Remove unwanted Windows software. Add or Remove Programs -> Add/Remove Windows Components. I removed Games, MSN Explorer, Outlook Express, Windows Media Player, Windows Messenger.
  8. Extract MAME into C:\MAME
  9. Rename C:\MAME\mam64.exe to C:\MAME\mam64.exe.orig
  10. Extract GroovyMAME and copy mame64.exe to C:\MAME
  11. Create the folder C:\MAME\hi. Extract the HISCORE.DAT file from its archive into C:\MAME\HI.
  12. Extract the CHEAT.7Z file from its archive into C:\MAME.
  13. CRT_Emudriver: Extract CRT_Emudriver into C:\VMMAKER. Extract any VMMaker updates into the same folder, overwriting existing files. Run C:\VMMAKER\DRIVER\SETUP.EXE, click Next to everything, Finish. This installs the ATI display driver. Click on Continue Anyway if your a prompted. Do not reboot! Restart your PC later.
  14. Open C:\VMMAKER\VMMAKER.INI.
  15. Change MameExe = “\Emu\Mame\mame.exe to “C:\MAME\mame64.exe”
  16. Change “MonitorHorizontal” from 1 to 0 if your monitor is vertical. Look for Monitortype.
  17. Change “CUSTOM” to one of the following: “GENERIC” if you have a 15KHz monitor. “EGA” if you have a 24KHz monitor. Leave it on “CUSTOM” if you have a 31KHz monitor and make a few more changes: monitor_specs0 31400-31500, 49.50-65.00, 0.940, 3.770, 1.890, 0.349, 0.064, 1.017, 0, 0, 512, 800 XresMin_XML = 512 YresMin_XML = 400
  18. Change “YresMin_XML = 192” if you plan on running FightCade/FBA in the native arcade resolution (Option selectable for full screen mode resolution).
  19. Save and close VMMaker.ini.
  20. Execute C:\VMMAKER\VMMAKER.exe. This will being by extracting mame.xml.
  21. Click on Start -> Run and then type “C:\MAME\mame64.exe -cc”. This creates the mame.ini file which is the central configurtation file for MAME.
  22. Open C:\MAME\mame.ini
  23. Search mame.ini for “monitor”. It’s under the CORE SWITCHRES OPTIONS. Change montor generic_15 to:
  24. monitor arcade_15 if you’re using a 15KHz monitor. monitor arcade_25 for a 24KHz monitor. monitor arcade_31 and effect scanlines.png for a 31KHz monitor.
  25. Change the frame_delay 0 to frame_delay 1 drops input lag to a safe minimum on Direct3D.
  26. Make the following settings for elegant behaviour:
  27. CORE MISC OPTIONS – skip_gameinfo 1. Bypasses the game information a.k.a move the joystick left and right screen.
  28. CORE MISC OPTIONS – cheat 1. If you want to enable use of the cheat file.
  29. CORE MKChamp OPTIONS – disable_nagscreen_patch 0. More screen skipping.
  30. CORE MKChamp OPTIONS – disable_loading_patch 0. Another screen skip.
  31. CORE SCREEN OPTIONS – gamma 0.7. Standard MAME gamma setting is too high.
  32. Save and close mame.ini.
  33. Create a shortcut from C:\VMMAKER\Arcade_OSD.exe to C:\Documents and Settings\All Users\Start Menu\Programs\Startup.
  34. Shutdown and plug the PC into your arcade monitor. When your PC boots up next time it will be in 15kHz mode.
  35. Setup Remote Desktop. If you have your PC connected to a nework.
  36. Install DirectX run time.
  37. To help with other emulators I additionaly installed the Visual C++ Redistributable Package (I installed 2005, 2008, 2010, 2012, 2013), .net 3.5 and 4.0.
    1. Click Start, click Run, type regedit, and then press ENTER.
    2. Locate the following subkey:
      HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced
    3. Right-click the right side pane, create a new DWORD value, and then name it EnableBalloonTips.
    4. Double-click EnableBalloonTips, and then give it a value of 0.
    5. Close Registry Editor.
    6. Log off Windows, and then log back on.
  38. Disable Security Alerts.
    • In the Start menu, open Control Panel and double-click on the Security Centre icon
    • Go to Resources > Change the way Security Centre alerts me
    • Turn off all alerts by unchecking the boxes
    • Click on OK

Windows 7 Installation Guide

Setup:

Optional:

  • Notepad++
  • Subline
  • VLC Media Player
  • Mozilla Firefox
  1. Install Windows 7 Pro SP1
  2. Under Windows Update -> Change Settings selectt, “Check for updates but let me choose whether to download and install them” this will help against accidental installation of display drivers.
  3. Perform a Windows Update, Don’t install any display drivers.
  4. Install 7-Zip.
  5. Extract MAME into C:\MAME
  6. Rename C:\MAME\mam64.exe to C:\MAME\mam64.exe.orig
  7. Extract GroovyMAME and copy mame64.exe to C:\MAME. Right-click it, go to properties and give it Admin. privileges.
  8. Create a folder C:\MAME\ini and C:\MAME\ini\source
  9. Go to Windows Start button, click Run, and then type C:\GROOVYMAME\mame64.exe -cc in the command prompt window in order to create Groovy MAME’s main configuration file mame.ini. (This didn’t happen for me, perhaps because I didn’t give mame64.exe admin rights?)
  10. Create the folder C:\MAME\hi. Extract the HISCORE.DAT file from its archive into C:\MAME\HI.
  11. Extract the CHEAT.7Z file from its archive into C:\MAME.
  12. Extract CRT_Emudriver to C:\VMMAKER
  13. Uninstall any ATI display drivers.You may need AMD’s official tools in order to fully remove any ATI component.
  14. C:\VMMAKER\driver\Setup.exe right click and “Run as Administrator”
  15. Click “Yes’ When the UAC box loads.
  16. Click “OK” to add Calamity as a Trusted Publisher
  17. Installation Wizzard click Next.
  18. I received an error “The program can’t start because MSVCR100.dll is missing from your computer. Try reinstalling the program to fix this problem.
  19. Click OK to complete the installation.
  20. When the CRT Emudriver Setup promp comes up click “OK” to “Do you want to enable Test Mode?
  21. Edit C:\VMMAKER\vmaker.ini
  22. MameEXE = “C:\MAME\mame64.exe”
  23. IniPath = “C:\MAME\ini”
  24. MonitorType = “CUSTOM” – As Calamity suggested to leave as default in his notes.
  25. YredMin_XML = 192 – This is so FightCade can use the Arcade Resolution setting in full screen mode
  26. Open “ReslList – super.txt”
  27. Rename “ReslList.txt” to “RelList.txt.bak”
  28. Rname “ReslList – super.txt” to “ReslList.txt”
  29. Set up VMMaker, in vmmaker.ini edit: # ListFromXML = 0 # GenerateXML = 0 # ModeTableMethod_Custom = 0
  30. Added the additional super resolution for testing with FightCade “2560 x 224 @ 60.000000 super”
  31. Click on Start -> Run and then type “C:\MAME\mame64.exe -cc”. This creates the mame.ini file which is the central configurtation item for MAME.
  32. Open C:\MAME\mame.ini
  33. Search mame.ini for “monitor”. It’s under the CORE SWITCHRES OPTIONS. Change montor generic_15 to:
  34. monitor arcade_15 if you’re using a 15KHz monitor. monitor arcade_25 for a 24KHz monitor. monitor arcade_31 and effect scanlines.png for a 31KHz monitor.
  35. CORE SWITCHRES OPTIONS – cleanstretch 2
  36. OSD PER-WINDOW VIDEO OPTIONS – resolution 2560×0
  37. Change the frame_delay 0 to frame_delay 1 drops input lag to a safe minimum on Direct3D.
  38. Make the following settings for elegant behaviour:
  39. CORE MISC OPTIONS – skip_gameinfo 1. Bypasses the game information a.k.a move the joystick left and right screen.
  40. CORE MISC OPTIONS – cheat 1. If you want to enable use of the cheat file.
  41. CORE MKChamp OPTIONS – disable_nagscreen_patch 0. More screen skipping.
  42. CORE MKChamp OPTIONS – disable_loading_patch 0. Another screen skip.
  43. CORE SCREEN OPTIONS – gamma 0.7. Standard MAME gamma setting is too high.
  44. Save and close mame.ini.
  45. Create ArcadeOSD to launch at startup
  46. Run VMMaker.exe as admin
  47. Shutdown. Doesn’t boot into 15kHz mode by default so plug in a CRT if you can change the resolutiuon to 640 x 480 @ 30 Hz. 30 Hz which is interlaced.
  48. Shutdown Computer.
  49. Boot with 31kHz screen plugged in.
  50. THen moved to LCD screen. Changed Resolution to 640×480. Reboot with 31kHz screen plugged in. Worked fine. Moved monitor to 15kHz cabinet.
  51. Setup GM to execute with admin privileges. This ensures GroovyMAME can read the required registry settings.

ATOM-15 Installation

Atom 15 allows you to boot your ATI video card in 15kHz, 24kHz or 31kHz or a combination. Its purpose is to reduce the possibility of sending potentially dangerous frequencies during the BIOS post and loading process of the operating system, when using these cards with standard resolution and multi-sync CRT monitors. Follow the procedure here http://geedorah.com/eiusdemmodi/forum/viewtopic.php?id=64 to flash.

Conclusion

I primarily used FightCade to see if Win7 or XP looked better. In Street Fighter III: 3rd Strike attract-mode on FightCade(Final Burn Alpha) when the text scrolled from right to left the Win7 setup had slight artifacts behind it. Also the XP setup felt like it showed a better resolution. I have decided to stick with XP for now in this cabinet.

References

One comment

  1. xefned · September 11, 2016

    Wow, thanks for all the details. I’m trying to install GroovyMame with XP on an arcade CRT, and this is by far the most detailed help guide I’ve come across. Bookmarked!

    Like

Leave a comment