This is a step-by-step guide to help new users with the task of installing CRT Emudriver 2.0 for ATI/AMD HD 5xxx cards and newer. For legacy cards (pre-HD 5xxx), check this guide.
The goal of this setup is to connect a 15-kHz monitor using the VGA output of a HD 5450 video card. The system will be configured to use super resolutions.
STEP 1 - Installing the driver
STEP 2 - Enabling EDID emulation
STEP 3 - Setting MAME up
STEP 1 - INSTALLING THE DRIVER
I will start with a fresh installation of Windows 7 (this is not strictly necessary, but it will make my results fully predictable for the purpose of this guide).
- On the left, a LG SVGA monitor, that I have used all the way through the operating system installation.
- On the right, a Sony BVM-14M4DE 15 kHz-monitor, that is the target monitor I want to setup.
Initially my LG monitor is plugged to the VGA port of the HD 5450, by means of a direct VGA cable.
In Display->Resolution, I see that Windows has detected the HD 5450 just as a standard VGA adapter. This is because my Windows 7 CD does not contain proper drivers for the HD 5450, so the operating system loads a default fallback driver for basic functionality, and a standard VESA 800x600 video mode is assigned to the desktop. Besides, this fallback driver is unable to retrieve the EDID information from my LG monitor, so it just shows as Generic PnP Monitor.
Now I'll open the folder with the CRT Emudriver files, and I'll launch Setup. The installer dialog shows one compatible device, that is already checked. My video card appears as Standard VGA Graphics Adapter. I'll click on Install driver.
The installer will ask me to enable TESTSIGNING. This step is required in order to run modified drivers. I'll click on Accept. Now the installer will ask me to restart the system so TESTSIGNING is applied. It will prompt an error saying it can't continue installation. So I'll RESTART.
After restart, I notice there's a watermark saying Test Mode on the right bottom corner of the desktop. Now we can proceed with the installation.
I launch Setup again and click on Install driver. Now the installer asks me to add "Calamity" as a trusted publisher. This is required so Windows will accept my signature and allow modified drivers to be actually loaded during boot. I click on Accept.
The driver installation begins...
After a minute, the installer says the drivers got installed succesfully.
Now my card is shown as Ati Radeon HD 5450, and the driver name is CRT Emudriver. Windows now asks me to restart the system. I'll RESTART.
NOTE: A restart is always required when switching from the Standard VGA fallback driver to a normal WDDM driver and vice versa. When switching between different WDDM drivers (e.g. when updating an existing Ati/AMD driver with CRT Emudriver) Windows usually can load the new driver without restarting.
After the restart, I notice that the desktop resolution has changed.
In fact going to Display->Resolution shows that the new resolution is 1024x768. This is because once the correct drivers are loaded, Windows can read my LG's EDID, which reports this resolution as its recommended settings. Besides, its name "StudioWorks77M" is now properly shown.
CRT Emudriver is installed. We're ready to go on.
NOTE: If you're using a card that's already been flashed with ATOM-15, you'll be able to do the whole installation process directly on your 15-kHz monitor. However, at this point of the guide (first restart after driver's installation), you'll have an out of range picture. This is because upon driver's first load, it will select a default resolution that's non-15kHz. You'll need to resort to hot-plug a regular PC monitor in order to proceed.
STEP 2 - ENABLING EDID EMULATION
I order to plug my Sony BVM, first I need to configure my video card to output a 15-kHz signal. I'll launch VMMaker for this. If everything is ok with my installation, VMMaker will recognize the driver as CRT Emudriver.
A nice thing about the HD 5xxx and newer cards is the support of a feature called EDID emulation. By means of this feature, Windows will detect non-PC monitors, such as arcade monitors and TV sets, just like any other PC monitor, and provide native support for the required frequency ranges. The emulated EDID will provide Windows with this information, in the same way that a real PC monitor EDID does.
In order to create an emulated EDID, first I must select a monitor preset that properly represents the frequencies my monitor supports. I click on Settings, then go to Monitor settings tab and pick the "Arcade 15.7 kHz" preset.
NOTE: The "Arcade 15.7 kHz" preset is often preferable to the default "Generic 15.7 kHz" as it allows for a wider horizontal frequency range. You can just leave the default (safe) "Generic 15.7 kHz" if you're not sure.
Now I'll go to the Video card tab. First, and very important, I'll make sure to uncheck the box "Extend desktop automatically on device restart". This option is mainly aimed to legacy cards, so let's just disable it.
The EDID emulation frame and its options are enabled and selectable, what means that this feature is supported by my card. I'll go to the Output drop-down menu. Now in order to choose the right option, use this logic:
- If your card has 2 analog outputs, the primary output is Analog_0, and the secondary is Analog_1. This applies to HD 5xxx cards.
- If your card has 1 analog output, it will always be Analog_0. This applies to HD 6xxx and newer cards.
So, unless you're using a HD 5xxx card like me, always pick Analog_0 here.
Because I'm using a HD 5450, which has 2 analog outputs, I need to work out which option is the correct one. As a rule of thumb, for most cards released in the past few years which have both DVI-I and VGA connectors, the VGA is the secondary port. For this reason, I will pick Analog_1.
As a note, I have a HD 6450 which is externally identical to my HD 5450, with both DVI and VGA connectors. However, in this case the card has only 1 analog output, on the VGA connector, therefore Analog_0 is the right option. This confused me at the beginning because the DVI port on this card has the hole pattern of a DVI-I (digital/analog), however it's actually a DVI-D (digital-only). Beware of this.
Finally I'll click on Enable EDID emulation.
Immediately after clicking, my PC monitor goes out of sync, as a 15.6 kHz horizontal frequency is reported on its OSD.
Time to plug my BVM. Without switching the computer off, I replace the PC monitor cable by the VGA->BNC cable (black) going directly to the BVM.
Now I can safely turn the BVM on, and it will display a clear picture. There's some overscan, which I'll focus on fixing at a later stage.
Finally, let's have a look at Display->Resolution. Now Windows shows my monitor as ARCADE_15, and has automatically assigned a recommended resolution of 640x480. This resolution is provided by the emulated EDID that VMMaker just created.
That was it. Easy, isn't it?
STEP 3 - SETTING MAME UP
Now I have an usable 15-kHz display, but I don't have a proper mode list yet which I can use for MAME. Back to VMMaker, and click on Edit Settings.
First I'll go to the User modes tab and browse for the "user_modes - super.ini" file. This is because I want to use "super" resolutions.
Then, in the MAME tab, I'm only going to browse to my GroovyMAME folder, but I won't be listing modes from XML by now. What I'll do is to check "Export settings to GroovyMAME", so future monitor settings will be synchronized with VMMaker.
Finally click Ok to exit from the settings dialog.
Now I'll click on Generate modes, and a list of modelines will be shown.
Then, I'll click on Install modes. The program will ask for confirmation to continue, I'll click on Accept
If everything goes fine, it will report my modelines are installed. We're done with VMMaker by now, close it.
Time to try GroovyMAME. Open a cmd box. Now something interesting: when using a HD 5xxx card or newer, there's no longer need to run GroovyMAME with administrator rights. So a regular cmd box will be fine.
Now I'll "cd" into my already configured GroovyMAME folder. Recently I've known that command-line use is regarded as arcane skills by many. I've captured the whole process in the next picture, for reference:
MAME's information screen showing Switchres used resolution. O - K - O - K