Re: A little ZVG (and ZVT) update

From: Zonn <zonn_at_zonn.com>
Date: Wed Mar 12 2003 - 16:21:11 EST

On Wed, 12 Mar 2003 09:31:25 -0600, "Hood, Eric" <Eric.Hood@Maritz.com> wrote:

>Is there a way, or are there plans for such, to be able to emulate the
>ZVG hardware and its video output on the PC? Ideally, to develop a game
>using the ZVG, I'd like to program/test/play/debug w/out having to hook
>it up to a vector monitor to see anything.

>I don't know how practical this would be, but what I envision is somehow
>someone pulls the vector/graphics video emulation out of MAME into a
>separate component w/ a nice external interface that would allow it to
>be used by other programs. (I personally think this would be the
>hardest part, and I'm thinking out of my reach...)

Drawing vectors on a raster screen is very easy, no need to hack into MAME for
that. ;-)

>Then to have another component built to emulate the ZVG's interface that
>would translate the commands into the above MAME component.

Neil did exactly this when he was working on ZVGEmu. The emulator was fully
functional before the ZVG was finished.

By having a routine that either decoded ZVG commands and sent them to the PC's
video screen, or directly the ZVG he was able to work out problems with the
emulator before I was able to work out problems with the ZVG. ;-)

>Then one last utility component that would manage the
>initialization/shutdown of the ZVG environment, whether developmental or
>real, maybe w/ a flag choosing between the emulated ZVG or the real
>thing.
>
>Then, w/ the help of a demo app showing how to use the above component
>object, along w/ examples of how to make use of each of the ZVG
>commands, it'd be rather easy for people to develop for the ZVG. Plus,
>I think it'd make it easier for people to develop libraries of more
>complicated mathematical graphics.
>
>I'd like to hear people's comments. Is this a good idea?

This is the path we're taking. I was close to coming up with a simple platform
to experiment with, when the person we a sub-leasing an office told us we have
to be out by the end of this month. So we've wasted about 2 weeks scrambling
around looking at office spaces, finally found one and are now in the process of
moving all this stuff from here to there.

In the meantime Ian has come up with some cool demo code that he says I can
publish (thanks Ian!), as soon as we get just a bit more settled! It does a
good job of showing how to talk with the ZVG.

Currently running the ZVG is done by calling a zvgInit() routine, and sending
vector commands using zvgEncode(), and zvgPutc() routines.

It's pretty straight forward, but just needs to be documented better than just
some example source code.

>Plus, on a different note: How does the ZVG handle the PC's bootup
>process? Does it keep the beam off at startup until a command begins to
>drive it? Or have you given it an ability to display a startup image
>until ready?

I have less than 100 bytes left in the ZVG firmware, so no, I didn't have any
room for downloading static pictures (which I thought would be cool!), so until
someone is talking to the ZVG, the ZVG holds the CRT trace at dead zero, and
blanks the Z-axes.

In fact it uses just about any excuse to zero the beam. On powerup, the first
thing done is to center the trace and blank the Z-axes. There are two CPUs on
the ZVG, both with watchdog timers, if either one goes off (should never happen)
the beam is centered and the Z-axes are blanked. If the parallel port cable is
ever knock off the back of the PC or the ZVG, or if you take too long to talk to
the ZVG, the beam is re-centered, and the Z-axes blanked.

Eric, you described pretty much the development platform we've envisioned.

We were distracted for a bit working on the Component Video Switch (which sadly,
sells much better than the ZVG's. Who are these people that would rather hook a
Play Station to a big screen TV, than a PC to a vector monitor? ;-) But I am
now back working on the fun stuff: ZVG<>MAME, ZVG development platform, and the
ZVT.

-Zonn

---------------------------------------------------------------------------
** To UNSUBSCRIBE from vectorlist, send a message with "UNSUBSCRIBE" in the
** message body to vectorlist-request@synthcom.com. Please direct other
** questions, comments, or problems to vectorlist-owner@synthcom.com.
Received on Wed Mar 12 13:21:52 2003

This archive was generated by hypermail 2.1.8 : Fri Aug 01 2003 - 00:34:23 EDT