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: AdvanceMAME, Gentoo Linux, ArcadeVGA and Interlace ... ?  (Read 1764 times)

0 Members and 1 Guest are viewing this topic.

seibu

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 94
  • Last login:March 28, 2007, 12:55:34 pm
AdvanceMAME, Gentoo Linux, ArcadeVGA and Interlace ... ?
« on: September 22, 2004, 05:49:50 am »
Hi,

I'm running AdvanceMAME under Gentoo Linux, with an ArcadeVGA driving a Hantarex 15khz monitor. I've got all the 15Khz games looking sweet, but I'd like to experiment with getting 25Khz games and vector games to look as good as possible on this (incorrect) monitor!

I guess my best bet is interlace + hardware stretch for 25Khz games and plain old interlace for vector games. My questions are:

1) How on earth do I create an interlace modeline with Advv? There doesn't seem to be any option to do this. Do I have to manually edit a config file somewhere? If so, which one?

2) Does the ArcadeVGA even support interlace? If not, is there any possibility of it supporting it in the future or should I look at getting another card?

I realise these are pretty specialised questions but I've searched quite a few forums now, and can't find any answers.

Thanks in advance for any help!
« Last Edit: September 22, 2004, 05:51:21 am by seibu »

jerryjanis

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 821
  • Last login:February 02, 2023, 01:56:44 am
  • Skate or Die!!!
    • Jake's Joystick
Re:AdvanceMAME, Gentoo Linux, ArcadeVGA and Interlace ... ?
« Reply #1 on: October 12, 2004, 07:53:21 am »
1) How on earth do I create an interlace modeline with Advv? There doesn't seem to be any option to do this. Do I have to manually edit a config file somewhere? If so, which one?

2) Does the ArcadeVGA even support interlace? If not, is there any possibility of it supporting it in the future or should I look at getting another card?

(Sorry for the late reply)

I ran into the same problem: AdvanceMame, Linux, and the ArcadeVGA.  I think I recall reading somewhere that the ati driver doesn't support interlaced mode even for the regular ATI card that the arcadevga is based on.  I have since started using a different card.  I realized that the fact that the ArcadeVGA is not a standard card meant more problems, since I don't think I was actually using any of the stuff that the ArcadeVGA is designed to help with.

Have you discovered anything interesting since then?
« Last Edit: October 12, 2004, 07:55:48 am by jerryjanis »

seibu

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 94
  • Last login:March 28, 2007, 12:55:34 pm
Re:AdvanceMAME, Gentoo Linux, ArcadeVGA and Interlace ... ?
« Reply #2 on: October 12, 2004, 09:42:57 am »
Hi, thanks for the input.

I made a few discoveries. Firstly, the interlace implementation in the svgalib ATI driver is indeed broken, and produces two "half" displays with missing pixels.

I am not entirely sure how to persuade AdvanceMAME to use the framebuffer, and in any case I've not yet heard of anybody managing to get the framebuffer to output a 15khz signal (I may be out of the loop, though!).

It *is* possible to get an interlaced display from the ArcadeVGA in XFree86, by using the modelines to be found here:

http://asuaf.org/~dboyer/avga_w_linux/

I have therefore been experimenting with xmame, although I am finding it hard to persuade it not to use hardware stretch. Also, it appears from my experience that in almost every respect (features, speed, stability, vsync) compared to AdvanceMAME, xmame, er, sucks.

Using xmame.SDL as suggested at the above link fails because it can't find any 16-bit screen modes - which again seems odd because I'm fairly sure all my screen modes are configured as 16-bit in my XF86Config. I need to investigate this further...

It's somewhat frustrating because it's clear that the ArcadeVGA *can* output an interlaced signal in Linux - it's just that every way of getting there seems to be blocked by some broken driver or compatibility problem I've not figured out yet!

jerryjanis

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 821
  • Last login:February 02, 2023, 01:56:44 am
  • Skate or Die!!!
    • Jake's Joystick
Re:AdvanceMAME, Gentoo Linux, ArcadeVGA and Interlace ... ?
« Reply #3 on: October 12, 2004, 10:37:35 am »
I am not entirely sure how to persuade AdvanceMAME to use the framebuffer, and in any case I've not yet heard of anybody managing to get the framebuffer to output a 15khz signal (I may be out of the loop, though!).
Hmmm... I thought all the excitement about the framebuffer was that it CAN display a 15khz signal, even on the console.  My arcade monitor needs fixing, so it might be a while before I find out for sure.  (Right now I'm using the Matrox G400 on a PC monitor).

Quote
It *is* possible to get an interlaced display from the ArcadeVGA in XFree86, by using the modelines to be found here:

http://asuaf.org/~dboyer/avga_w_linux/
Cool!  I never got that far.

Quote
I have therefore been experimenting with xmame, although I am finding it hard to persuade it not to use hardware stretch. Also, it appears from my experience that in almost every respect (features, speed, stability, vsync) compared to AdvanceMAME, xmame, er, sucks.
The reason I don't spend too much time with xmame is that AdvanceMame has always been a lot faster.  (And I LOVE the fact that I don't need to run a windows manager when I don't want to).

Quote
Using xmame.SDL as suggested at the above link fails because it can't find any 16-bit screen modes - which again seems odd because I'm fairly sure all my screen modes are configured as 16-bit in my XF86Config. I need to investigate this further...
The only way I've been very successful with getting xmame.SDL to work nicely in X was to use AdvanceMame to generate lots of 15 khz modelines for me and then to put those modelines into my XFree86 config file.  I would generate modelines for each arcade resolution, and xmame.SDL usually seemed to do a good job of finding the correct modeline (although, I am mostly working to get AdvanceMame working so I don't spend a whole lot of time in xmame).

Quote
It's somewhat frustrating because it's clear that the ArcadeVGA *can* output an interlaced signal in Linux - it's just that every way of getting there seems to be blocked by some broken driver or compatibility problem I've not figured out yet!
Ha ha.  There seems to be a lot of that in Linux land.  Last night I was trying to get the Act Labs USB light gun working.  I was able to convince xmame to move the mouse cursor to the right spot, but I couln't get the to recognize the trigger to fire the actual gun.  I had the exact opposite problem in AdvanceMame - I could get it to recognize the fire button and shoot the gun, but I couldn't get the cursor to move.  It's obvious that it could/would/should work, I just need to find the right combination.

It's a thrill to be doing it all in Linux, though.  I find that for every obstacle I overcome, once I figure it out once and take some notes, I never have to look at that problem again.  It's all really easy once you get a working combination (it just might take a few years to figure everything out).

seibu

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 94
  • Last login:March 28, 2007, 12:55:34 pm
Re:AdvanceMAME, Gentoo Linux, ArcadeVGA and Interlace ... ?
« Reply #4 on: October 13, 2004, 05:07:16 am »
Okay - major progress!

I've managed to get pretty nice results using xmame.SDL from within XWindows, using the -fullscreen option and copying modelines from AdvanceMAME. Interlace games (I've tried popeye and tron) are finally perfect, and vector games are a big improvement over 320x240.

The one problem is vsync. I've looked around and I'm getting the impression that xmame.SDL just can't do vsync - simple as that. I hope I'm wrong!

This doesn't matter too much for the games I've tried so far, but I just know that sooner or later I'll find an interlace game that sucks without vsync.

If anyone knows how to do vsync in xmame.SDL (or another way to run xmame that doesn't use hardware stretching and will vsync), please let me know!

seibu

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 94
  • Last login:March 28, 2007, 12:55:34 pm
Re:AdvanceMAME, Gentoo Linux, ArcadeVGA and Interlace ... ?
« Reply #5 on: October 13, 2004, 05:23:43 am »
Hmmm... I thought all the excitement about the framebuffer was that it CAN display a 15khz signal, even on the console.  My arcade monitor needs fixing, so it might be a while before I find out for sure.  (Right now I'm using the Matrox G400 on a PC monitor).

Yep, I stand corrected. A handful of cards can apparently do 15Khz framebuffer, and that wonderful Matrox is one of them.

jerryjanis

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 821
  • Last login:February 02, 2023, 01:56:44 am
  • Skate or Die!!!
    • Jake's Joystick
Re:AdvanceMAME, Gentoo Linux, ArcadeVGA and Interlace ... ?
« Reply #6 on: October 13, 2004, 06:15:31 am »
What is vsync?

I know that games with scrolling backgrounds sometimes look kinda messed up.  As the screen scrolls, different parts of the screen scroll at slightly different rates causing a mildly ugly look to the screen.  I think that's called tearing.  Is that the problem you are talking about?  By vsync do you mean that the speed of the game is slightly altered so that the tear lines go away?  (Sorry, I've never gotten the vocabulary in this area quite right).

I tend to fix that in AdvanceMame by generating a couple of different, nearly identical modelines until the tearing goes away.  Sometimes it cures the problem, sometimes it doesn't.    ???

seibu

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 94
  • Last login:March 28, 2007, 12:55:34 pm
Re:AdvanceMAME, Gentoo Linux, ArcadeVGA and Interlace ... ?
« Reply #7 on: October 13, 2004, 07:38:35 am »
What is vsync?

I know that games with scrolling backgrounds sometimes look kinda messed up.  As the screen scrolls, different parts of the screen scroll at slightly different rates causing a mildly ugly look to the screen.  I think that's called tearing.  Is that the problem you are talking about?  By vsync do you mean that the speed of the game is slightly altered so that the tear lines go away?  (Sorry, I've never gotten the vocabulary in this area quite right).

I tend to fix that in AdvanceMame by generating a couple of different, nearly identical modelines until the tearing goes away.  Sometimes it cures the problem, sometimes it doesn't.    ???

Yeah, that's it - tearing. Basically, it's to do with syncing the emulator exactly to the screen refresh rate, so you don't get part of one frame drawn at one point on the screen and half of another drawn somewhere else. I've never fully understood it because sometimes it just doesn't seem to make sense.

Pacland for example is supposed to have a refresh rate of 60.606060Hz and a resolution of 288x224, and I could never get it to vsync (ie stop tearing) in Windows no matter what. Running in AdvanceMAME under Linux I still get no vsync on Pacland running at 288x224, but I do (AdvanceMAME actually tells you if its properly vsynced in the "Video" menu) when I run a 240 line display at 60Hz. Eh??

Basically, I've found that 240 vertical line modes in AdvanceMAME will vsync, and other modes usually don't - but very occasionally certain modes with certain games will. I don't know why!

The problem with xmame.SDL is that apparently the video drivers are incapable of vsyncing even if the refresh rate and resolution are suitable. I have found this to be true- even 240 line games at 60Hz with a 240 line mode at 60Hz tear. bah!