USB-DVG Users support thread

alfonzotan

Well-known member

Donor 2021, 2024
Joined
May 21, 2010
Messages
4,403
Reaction score
4,988
Location
Marietta, Georgia
Since the USB-DVG hardware is essentially abandonware, and the only currently-available support is from Mario Montminy on a Facebook page (all credit to Mario for continuing software development and support when he's able), I thought it'd be a good idea to get the user community here on KLOV a semi-organized spot to discuss usage and issues.

BACKGROUND: The USB-DVG is a vector generator card which can be used with a PC or a Raspberry Pi to drive a color vector monitor. Development and production of USB-DVG cards has stopped and is not likely to resume, but at least three lots were sold during its lifetime and many of those users are members here. It's a popular device for new Multi-Vector projects and has (at least as of this writing) more robust software support than the open source vstcm (an outstanding project in its own right which I expect will only get better as its user base grows).

SOFTWARE: Mario Montminy has developed Raspberry Pi images for use with the USB-DVG, and has also continued development of the firmware for the card itself. The current firmware version (6/21/2024) is v1.13C11. There are currently Pi images for the Raspberry Pi 4 and 5, which use versions of VMMENU for game selection and AdvanceMAME for game emulation available at Mario's Google Drive, along with firmware files:


Facebook support page:


This thread has been established to discuss user issues, hints, tweaks and anything else related to employing the USB-DVG for arcade gaming.

IMG_2825.jpg
 
So: issues.

I'm currently building up a multi-vector project (to be installed in that gutted Space Duel cab you can see above). Like other users I've had trouble getting AdvanceMAME to recognize a spinner or any similar device with a rotary optical reader, i.e. a ball mouse. Thus far the usual fix for this problem, getting the following lines into the advmame.rc file, hasn't worked:

device_mouse raw
device_raw_mousedev[0] /dev/input/mouse0
device_raw_mousedev[1] /dev/input/mouse1
device_raw_mousedev[2] /dev/input/mouse2
device_raw_mousedev[3] /dev/input/mouse3
device_raw_mousetype[0] ps2
device_raw_mousetype[1] ps2
device_raw_mousetype[2] ps2
device_raw_mousetype[3] ps2
input_map[p1_dialx] mouse[0,x] mouse[1,x] mouse[2,x] mouse[3,x]
input_map[p1_dialx] mouse[0,y] mouse[1,y] mouse[2,y] mouse[3,y]
input_map[p1_trackballx] mouse[0,x] mouse[1,x] mouse[2,x] mouse[3,x]
input_map[p1_trackbally] mouse[0,y] mouse[1,y] mouse[2,y] mouse[3,y]

@bobbyb13 is having the same issues, here's his thread with a rundown:


Any suggestions (or better yet, examples of working builds) would be appreciated.

I'm also having problems with each of the two Pi images. On the Pi 4, the image/Pi does not recognize the USB-DVG, although the card is getting power and displaying the default splash screen (seen above). Here's the CLI readout from an attached standard HDMI panel:

IMG_2937.jpg

The good news on the Pi 4 side, AdvanceMAME appears to be functioning normally in that I can hit Tab and bring up the game configuration pop up on the HDMI panel.

I'm seeing exactly the reverse on the Pi 5: The VMMENU and games launch just fine, but when I hit tab the HDMI screen remains in CLI mode and no MAME configuration pop-up is visible. Very odd, and again, any suggestions would be welcome.
 
Last edited:
AHA! Finally found the fix for the spinner/mouse issue. Mod the advance.rc file at this directory:

/home/pi/.advance/advmame.rc

… per this post:


… and it works!
 
Always best to archive here just in case the original website disappears. Or the author is in jail. LOL

So, the issue was that there are TWO locations and you were not using the correct one?

Multi-Vector Fix your Spinner


There are two locations for advmame.rc. The one you want to edit is /home/pi/.advance/advmame.rc
Here are the lines to add or edit:
device_mouse raw
device_raw_mousedev[0] /dev/input/mouse0
device_raw_mousedev[1] /dev/input/mouse1
device_raw_mousedev[2] /dev/input/mouse2
device_raw_mousedev[3] /dev/input/mouse3
device_raw_mousetype[0] ps2
device_raw_mousetype[1] ps2
device_raw_mousetype[2] ps2
device_raw_mousetype[3] ps2
input_map[p1_trackballx] mouse[0,x] mouse[1,x] mouse[2,x] mouse[3,x]
input_map[p1_trackbally] mouse[0,y] mouse[1,y] mouse[2,y] mouse[3,y]
input_map[p1_dialx] mouse[0,y] mouse[1,y] mouse[2,y] mouse[3,y]
input_map[p1_dialy] mouse[0,y] mouse[1,y] mouse[2,y] mouse[3,y]
input_map[p1_paddlex] mouse[0,y] mouse[1,y] mouse[2,y] mouse[3,y]
input_map[p1_paddley] mouse[0,y] mouse[1,y] mouse[2,y] mouse[3,y]
This will ensure no matter which mouse your spinner gets detected as and which interface is used, it will work in the game.
 
Last edited:
AHA! Finally found the fix for the spinner/mouse issue. Mod the advance.rc file at this directory:

/home/pi/.advance/advmame.rc

… per this post:


… and it works!
@bobbyb13
 
Raspberry Pis can be difficult for those of us that aren't adept in Linux.

One of the issues that has bit me in the past is when following a "tutorial" and you need to create a configuration file of some sort... if you get the path slightly wrong, it will create the file anyway... and the OS will never find it... after you swear on everything holy that you created it. It can take forever to find those types of problems.

I have resorted to keeping a thorough notebook of what I'm doing, and pics of paths entered in the CLI. It helps when backtracking, or doing something again after several weeks/months of being distracted by other "things"

My 2₵

Dylan
 
The gnarly part is that there is a period ( . ) in .advance indicating that the file is hidden of course and if you are in the Pi GUI like I was looking for it you will NEVER find it unless you check "show hidden" in the view tab of the file navigating bit.

No wonder I couldn't figure that out for so long.
 
So, the issue was that there are TWO locations and you were not using the correct one?

That's correct. We were digging in the wrong place. Now I'm going to go dive into that 'secret' directory and see what else I've been missing...
 
Last edited:
Thanks for creating this. Good reminder that I need to get my USB-DVG out and fire it up for the first time. :)

p.s. I believe @shilmover had also posted some files and docs, but I've lost the link and don't immediately see it on his site.
 
Last edited:
In the "hints and tweaks" department, my biggest gripe with my setup (seen above), namely a DVG attached to @shilmover XY kit driving a rewound Orion tube, was excessive spot killer activity, a known issue with that chassis. It was particularly bad with Asteroids Deluxe (stuff would just disappear during gameplay), Space Duel and Rip Off. Since I put my original build together a couple of years ago, Mario heard the pleas of many users and added the Spot Restorer option to the DVG settings menu. I set it very low (2, out of a possible 20), and bam, problem fixed.

So, if you'd been trying a setup like this but weren't happy with performance previously, well worth updating your firmware and giving it another try...

Link to the build thread for my monitor, you can see some of the spot killer weirdness in a couple of the pics: https://forums.arcade-museum.com/th...m-black-friday-junk-to-a-color-vector-monitor
 
I need to see if I can upload a functional copy of the pdf of the setup walkthrough that I saved long ago.
The most important part is the googledrive link in the first post here.
This stuff used to be available through Barry's site but it has since disappeared.

What is crazier still is that even though the hidden file location for those adjustments is correct, the lines that are quoted in that blogspot link are STILL wrong!
For dial and paddle it doesn't reference the X axis correctly.
Here is what it really needs to be.

device_mouse raw
device_raw_mousedev[0] /dev/input/mouse0
device_raw_mousedev[1] /dev/input/mouse1
device_raw_mousedev[2] /dev/input/mouse2
device_raw_mousedev[3] /dev/input/mouse3
device_raw_mousetype[0] ps2
device_raw_mousetype[1] ps2
device_raw_mousetype[2] ps2
device_raw_mousetype[3] ps2
input_map[p1_trackballx] mouse[0,x] mouse[1,x] mouse[2,x] mouse[3,x]
input_map[p1_trackbally] mouse[0,y] mouse[1,y] mouse[2,y] mouse[3,y]
input_map[p1_dialx] mouse[0,x] mouse[1,x] mouse[2,x] mouse[3,x]
input_map[p1_dialy] mouse[0,y] mouse[1,y] mouse[2,y] mouse[3,y]
input_map[p1_paddlex] mouse[0,x] mouse[1,x] mouse[2,x] mouse[3,x]
input_map[p1_paddley] mouse[0,y] mouse[1,y] mouse[2,y] mouse[3,y]

I found out when I actually made time to dig that damn hidden file out last night in the Pi GUI and even after doing a copy and paste job of amending it my spinner still didn't work.

It is actually functioning now!
What a relief.
NB
When I pull up the in game adjustment menu available with the Tab key once a game is launched even though the spinner is working fine in game now I still do NOT see any activity from the spinner to register it as the input 'In Game."
It works, but it does NOT show any input when trying to set it up in that configuration menu (which consequently you can only see on an HDMI screen connected directly to the HDMI 0 port on the Pi.)

I need to send Mario a message to let him know that I/we/Will finally found the way to correct my issue and why it was so difficult to sort out.

The other thing to make a change to for full vector joy is to adjust the game listing available in VMMenu.

Add the below line to vmmenu.cfg if you would like your setup to list this really awesome game in your gamelist so that you can play it!
Follow the standard convention for listing the game and romsets like I did below and if you have them all loaded you can play them both.
Not sure what the difference is in romsets here.
Not sure anyone would know really.

Cinematronics|Cosmic Chasm|cchasm|cchasm
Cinematronics|Cosmic Chasm|cchasm|cchasm1

That's all I've got for now.
Time to finally finish building the control panels for these machines.
 
Oh, this brings back so many memories of the trial-and-error and amount of research that was necessary to get the Zektor ZVG DOS-based VectorMame working (software and hardware).

Luckily back then we had Al Warner's Youtube vids for guidance. I'm sure there are KLOV threads on the topic of ZVG and VectorMame too. Though likely not much help with Linux based Pi. YMMV

ett05idbbagft5zx46hyuoo&ep=v1_gifs_search&rid=200w.gif
 
Last edited:
It has required some serious fortitude!
And yelling
And throwing shit
Quite nearly some sobbing

Oh, this brings back so many memories of the trial-and-error and amount of research that was necessary to get the Zektor ZVG DOS-based VectorMame working (software and hardware).

Luckily back then we had Al Warner's Youtube vids for guidance. I'm sure there are KLOV threads on the topic of ZVG and VectorMame too. Though likely not much help with Linux based Pi. YMMV

View attachment 750997
Yeah, the Pi is such a different beast that I imagine even the pain od fighting with DOS could've been a magnitude lower for me at least.
But I'm old and cranky.

I've documented the entire thread of pain on byoac.
Maybe I should figure out how to youtube and make a video of this heresy.
 
It has required some serious fortitude!
And yelling
And throwing shit
Quite nearly some sobbing
Yes, I know what you mean about the frustrations of working with a Pi. My notes(I have a notebook dedicated to my experiences with the Pi) have definitely come in handy on the occasion where I've said, "OK, now WTF did I do to get that to work"... I did manage to get DL working well on a Pi zero, and have had a few other successes with building a base SD image for an emulator solution running on a svga monitor whereby a Pi can stand in as a substitute in a cab until I can source an OG boardset and monitor transplanted into an OG cab. It's just been a stop gap solution for me to be able to play a couple cabs while migrating to the real deal.

A while back, I tried to put together an automated slide show( basically a digital picture frame) for an arcade project. I was unable to get it to work. As I recall there was an issue getting the video to output to the proper "console" display. I gave up at the time(over a year ago) recently I revisited the project, but only at the "web search" level. I haven't had the time to get back into the fray.

There are times I would rather take an ass kicking everyday for a month than claw my way through working on a new Pi project.

Yeah, the Pi is such a different beast that I imagine even the pain od fighting with DOS could've been a magnitude lower for me at least.
But I'm old and cranky.

I've documented the entire thread of pain on byoac.
Maybe I should figure out how to youtube and make a video of this heresy.
Can you float a link here to your BYOAC thread?(if that's allowed?)


Maybe someone can put up a repository for base Pi images for various emulation solutions(@mclemore .... is it possible to add a repository we can contribute to in the emulation section here on the forum?)

Keep on Rasping on,
Dylan

Edited to fix some misspellings
 
Last edited:
Yes, I know what you mean about the frustrations of working with a Pi. My notes(I have a notebook dedicated to Mt experiences with the Pi) have definitely come in handy on the occasion where I've said, "OK, now WTF did I do to get that to work"... I did manage to get DL working well on a Pi zero, and have had a few other successes with building a base SD image for an emulator solution running on a svga monitor whereby a Pi can stand in as a substitute in a cab until I can source an OG boardset and monitor transplanted into an OG cab. It's just been a stop gap solution for me to be able to play a couple cabs while migrating to the real deal.

A while back, I tried to put together an automated slide show( basically a digital picture frame) for an arcade project. I was unable to get it to work. As I recall there was an issue getting the video to output to the proper "console" display. I gave up at the time(over a year ago) recently I revisited the project, but only at the "web search" level. I haven't had the time to get back into the fray.

There are times I would rather take an ass kicking everyday for a month than claw my way through working on a new Pi project.


Can you float a link here to your BYOAC thread?(if that's allowed?)


Maybe someone can put up a repository for base Pi images for various emulation solutions(@mclemore .... is it possible to add a repository we can contribute to in the emulation section here on the forum?)

Keep on Rasping on,
Dylan

I'd be happy to contribute to that archive.
 
There are parts of my byoac saga that could be instructive actually but I don't want to muddy Will's efforts here with my crap unless he wanted me to!
I have two vector machine build threads over there and I use the same handle.
Yes, I know what you mean about the frustrations of working with a Pi. My notes(I have a notebook dedicated to Mt experiences with the Pi) have definitely come in handy on the occasion where I've said, "OK, now WTF did I do to get that to work"... I did manage to get DL working well on a Pi zero, and have had a few other successes with building a base SD image for an emulator solution running on a svga monitor whereby a Pi can stand in as a substitute in a cab until I can source an OG boardset and monitor transplanted into an OG cab. It's just been a stop gap solution for me to be able to play a couple cabs while migrating to the real deal.

A while back, I tried to put together an automated slide show( basically a digital picture frame) for an arcade project. I was unable to get it to work. As I recall there was an issue getting the video to output to the proper "console" display. I gave up at the time(over a year ago) recently I revisited the project, but only at the "web search" level. I haven't had the time to get back into the fray.

There are times I would rather take an ass kicking everyday for a month than claw my way through working on a new Pi project.


Can you float a link here to your BYOAC thread?(if that's allowed?)


Maybe someone can put up a repository for base Pi images for various emulation solutions(@mclemore .... is it possible to add a repository we can contribute to in the emulation section here on the forum?)

Keep on Rasping on,
Dylan
I have a lot of image and firmware archived at my house but I think the original post here already links to all the relevant stuff currently.

Happy to submit it if it becomes useful.
 
There are parts of my byoac saga that could be instructive actually but I don't want to muddy Will's efforts here with my crap unless he wanted me to!
I have two vector machine build threads over there and I use the same handle.

I have a lot of image and firmware archived at my house but I think the original post here already links to all the relevant stuff currently.

Happy to submit it if it becomes useful.

I think it's a good idea to have a backup somewhere. A bunch of Mario's links at the FB page went dark recently.
 
That would be remarkable of course.
Wish i had a vector cab, I'd be much more help that way. It would be great to create a series of scripts to help ease this install a bit better.

Andrea and Mario obviously put a lot of effort into building the AdvanceMame versions that we are benefiting from here and also Chad with his adaptation of the frontend VMMenu- and it all works great when completed.

The pain of it really was ONLY control integration, which both @alfonzotan and I were suffering.

Not knowing there were TWO of said named configuration file and that the ONE that needed line alterations is a hidden one was the only issue really, and that is only to get a spinner to work.

The lack of thorough and detailed instructional info to build something start to finish was why I started my build threads over on on the other site.

It has still surprised me that nobody who had a functional build had said "Bobby you nitiwt, that file is a hidden one and resides in blah,blahblah,blah..." but it is why I wanted this stuff documented anyway.

And I realize this is a preservation site too, but there are only so many of these games to go around and a far greater number of people who want to play them than the extant examples will satisfy.
 
Back
Top Bottom