Saturday, September 14, 2013

Testing other TV on the Upright and some thoughts for future MAME Setups


A couple of years ago I bought an used 28'' Crown TV for 50€ (model ACTV7298). It's has SCART-RGB input, and the same size as DPM 28'' (Beko C7/C8 chasis). I even informed it on the Build Your Own Arcade Controls Forum in Sailorsat's thread on the 18th of February 2011.
The TV was forgotten in the garage, so a few weeks ago I got some courage and moved it inside the Arcade Cabinet (they're both very heavy!).

The Beko tube has two great advantages:
- It switches on automatically when I turn on the cabinet;
- It protects itself from the 31Khz signal when the PC is booting (BIOS and XP64 boot screens).

But... it can not display progressive resolutions (they're all interlaced). I've been struggling with it for years. I try to do something different from time to time when I get some new ideas in BYOAC.

This time I had CRT Emu Driver, VMMaker, Arcade OSD and GroovyMame to test (in the past I was using Sailorsat's Soft15Khz). So, I began the testing on the Crown TV. I followed up the draft guides (we need an How-to, come on guys...) provided by Calamity and other BYOACer's on the forum, and my opinion is:

- For SCART-TV's that can do PAL (50Hz) and NTSC (60Hz), If you don't want to change the TV's geometry all the time with the Service Menu, you can't have all games displaying in their original resolution and fitting the screen- It's a fact!

A big disadvantage of GroovyMAME is: it calculates it's own modelines, even you correct them with Arcade OSD. Calamity says that we will be able to use the corrected modelines in the future, let's wait for that big improvement.

After struggling a few battles on the Crown TV (Editing custom modelines in VMMaker, changing monitor to PAL, NTSC, CGA, GENERIC,...) testing games, aligning the vertical geometry on the service menu, I think that I finally got a process for PAL/NTSC Scart-TVs that can ease the deployment of a MAME setup using SCART.

The process that worked for me was the following with an OEM ATI Radeon HD4350 PCIe for Horizontal Orientation:
- Connect the PC to a computer monitor (by default the Video Card outputs 31Khz);
- Install CRT Emu Driver 9.3a XP64 bit;
- Update VMMaker and ArcadeOS (extract, copy and replace the existing files) inside the folder of the CRT Emu Driver (download latest version from here, I used version 1.3c);
- Install the last version of Official MAME;
- Open a command prompt, go to mame folder and type "mame64.exe -cc" in order to generate mame's INI file;
- Create a folder named "INI" inside MAME's folder;
- Edit VMMaker.ini:
     1. Change MameExe path (in my case MameExe = "c:\mame\mame64.exe";
     2. Change Mame INI's path (in my case IniPath = "c:\mame\ini\");
     3. Set GenerateInis to 1 (GenerateInis = 1);
     4. Set monitor to NTSC (MonitorType = "NTSC");
     5. Set dotclock to 8.0 (DotClockMin = 8.0). This is needed for most recent RADEON GPU's, for older ones (9250 and alike) you can leave it;
- Run VMMaker.exe;
- Change the Resolution in Windows to 640x480 (I always use QuickRes utility, copy quickres.exe to Windows Startup folder so that it starts automatically);
- Disconnect the VGA or DVI Cable and Shutdown the PC;
- Power on the PC, wait enough time until Windows starts, and connect the ATI Radeon to the SCART TV with a proper cable (some examples here, I'm using the UMSA board that simplifies a lot the VGA->SCART connection. IMPORTANT! Sending 31KHz to your SCART TV may damage your TV! I take no responsability if anything goes wrong!
- If everything went well, you should see Windows Desktop in your TV through SCART;
- Open ARCADE OSD (Arcade_OSD.exe in CRT Emu Driver Folder), and edit the custom modelines generated by VMMaker so that they fit the most of the screen horizontally and vertically without any distortion.
- The most important modelines in my setup are 512x240, 640x240 (for horizontal games) and 1234x224 (for vertical games and horizontal games that don't fit the screen);
- Edit mame.ini in MAME Folder:
    1. Change rom path (my case, c:\roms );
    2. Change video from d3d to draw;
- Open a command prompt, move to MAME's folder, and run bobble bobble (c:\mame\mame64.exe boblbobl);
- Go to your PAL/NTSC TV Service Menu and change the vertical geometry so that MAME's screen fits the screen as perfectly as it can get (see next pictures);

That's It!
I have vertical overscan in 640x480 resolution (only use it for Maximus Arcade, doesn't matter), and for the games that don't fit the screen (namely vertical games like pacman, commando or 1943, or other horizontal like R-Type), I change their INI file (per example, pacman.ini) in order to fit the whole screen with 1234x224@60 resolution.

My 1943.ini:
screen0 \\.\DISPLAY1
resolution0 1234x224@60
hwstrech 1 #you'll need to do this for all vertical games running in your horizontal monitor
synrefresh 0
rotate 1 #only for vertical games
screen_aspect 4:3

My R-Type INI File (rtype.ini):
screen0 \\.\DISPLAY1
resolution0 1234x224@60
hwstrech 1
syncrefresh 0

I have no more flickering (typical of interlaced resolutions), and the famous arcade/retrogamming scanlines are perfectly noticed. Beautiful! Now, I can remember those games better.

I'm pretty happy with this setup, my favorite games (Golden Axe, Black Tiger, Double Dragon, King of Fighters, Bobble Bobble, Super Side Kicks) fit perfectly on the TV. The others that don't fit, I resize them to 1234x224 (progressive resolution, much better than resizing to 640x480i) with hardware strech set to 1.
Here are a few more pictures (Golden Axe, Pac-Mania and Black Tiger). The vertical games are not perfect, but in my opinion better than with the 640x480 resolution.

Hope that it helps someone that uses SCART-TVs as an Arcade Monitor! Cheers!
Next test will be with an Arcade VGA 3000.

No comments:

Post a Comment