Re: Playing Vector Games on the Big Screen

From: Robert Mudryk <rob_at_lasers.org>
Date: Fri May 31 2002 - 11:19:03 EDT

Aaron Howald wrote:

> ----- Original Message -----
> From: "Robert Mudryk" <rob@lasers.org>
> To: <vectorlist@synthcom.com>
> Sent: Thursday, May 30, 2002 8:32 AM
> Subject: Re: VECTOR: Playing Vector Games on the Big Screen
>
> >
> >
> > Aaron Howald wrote:
> >
> > > ----- Original Message -----
> > > From: "Robert Mudryk" <rob@lasers.org>
> > > To: <vectorlist@synthcom.com>
> > > Sent: Wednesday, May 29, 2002 7:31 AM
> > > Subject: Re: VECTOR: Playing Vector Games on the Big Screen
>
> > > My board reads (will read :*) pixels drawn to the screen as data, with each pixel being 8 bits
> sent.
> > > It is NOT a PC plug in card-you also need an older, special graphics card, I'm not sure why...(I
> > > have 5 stockpiled!)
> > > Each set of 9 pixels (1 marker, 8 data) is 1 draw command, with R,G,B,X,Y,? sent each time.
> > > Each of these outputs drives 1 DAC,almost all can set each cycle. Max throughput possible is
> 2Mhz!
>
> I just want to add here-each pixel is 25ns real time (60 hz), so it takes 250-280 ns to load up and
> dump all dacs.

impressive

>

>
> The dacs I am using now (all of them 12-bit and the same DAC# so timing is better) can do 1-2 us on
> a major change.
> (The extra time is because the pixel sets have to be separated by at least 1 pixel, usually 2)
> So 10 pixels/dump on a 640 horiz line is 64 dumps/line, or 30,720 possible beam moves every frame!
> at 60 Hz, thats 18,432,00 separate points a second! I think it has enough maximum output speed!

it will be so fast, that you will never see a visible line....

>
> More resonable rates are 16dumps/line (1us time) for 10240 points each frame, and 614,400
> points a sec. (of course, at this rate, each line would be very short!)
> By "overspeeding" the dacs and filtering, curves, loops and spirals should be easy.
> Or by sending the same XY data over and over, and changing the RGB, the color of the line can be
> changed
> AS IT DRAWS!

yes, that's how color is done, 3 seperate color lines... basically 0v is off, so all 3 off is a blank
line

>
> The timing is totally free; 1 slew does NOT have to finish before a new one...however, once a line
> is started, another dump is required to stop it. The end point of a line can be anywhere as it
> draws...
> I also plan foucus control too- but it is VERY slow...

That would be really cool

>
>
> >
> > very interesting approach, it may just work... 8-bit is actually plenty for most vector games,
> and
> > 2Mhz, is more than enough... you just need to be able to output the frames at a fixed rate, 60fps
> > (200-600 Vector Points) for Asteroids and I think 20fps (1000+ vector points) for Star Wars
> >
> > >
> > > (I am not using DAC's anywhere near that fast...)
> > > Line timing is set by intelligently spacing the pixel sets.
>
> This is the biggest hurdle-timing is in steps of 25ns, so short(fast) lines have fewer timings
> possible.
> Thought of another way, the screen has a grid of 1024x1024 possible stable end points for the
> vectors,
> And since a draw from one side to the other takes way more tham 50us,(usually 100-150 us on current
> monitors)

In the G05 Service Manual test pattern page 7... it looks like about 1ms from end to end (for a
non-blanked line) (2ms/cm and it's about a 1/2 grid)

>
> The pixel timing control method gives 2000+ control(timing) points on this line, well more than the
> "true" res.
> In fact, if the beam is kept moving, the true res grid can be ignored entirely!
>
> > > Refresh is automatic, at the screen refresh rate or lower multiples.
>
> Double or triple buffering is a must here...
>
> > > The PC sofware does do a lot of calculations for timing...
> > > This board is real "dumb" all control is done by the PC.
>
> This is the limiting factor to speed. Every set has 8 pixels whose bit value must be calculated and
> plotted
> in the right place on the screen;where the last draw command knew the beam would JUST "be there" and
> ready for another command. It also has to know where the h-blank is, and ajust the timing on the
> line
> to just "straddle" or step over the blank time.
> This system runs "blind"just like all the older vector systems-it just assumes
> the output is right...

It's always a guessing game here... at least electrons are more predictable than motors

>
> >
> > If you are relying on the PC for Timing, and you don't have a large buffer... like a entire
> frame or
> > more... the image will jitter.. with any interaction with the PC
> >
> > >
> > >
> > > I can't use H or V-blank time of course!
>
> H-blank can be worked around, V blank is truly wasted...is it possible to create a video mode that
> has no v or H blank time?! just outputs pixels continuously?

You have to output continously, you don't have the luxury of a constant # of positions per frame, like
in a Raster Monitor... so sync if not applicable... so in your hardware or software you have to
account for the persistance of the phospher... aka you gotta be very concious about getting enough
electrons on the screen for the vector, and also keeping it at the same rate, so that you don't
intensity variations as the # of vectors increase or decrease, and consistant intensity for different
length vectors....

>
> Final design may use 2 altenate screens for 1 "frame" with a 100 hz refresh, for a 50 hz screen
> frame rate.
> This also makes the V-blank and H-blank take up less time(although there are 2 of them!)
>
> > > It's on odd system, but I think it has great potential; for
> > > vector artwork or games.
> > > I will post first working pics as they happen.
> >
> > H/V Sync isn't necessary as you are sending the XY signal... thing you need to sync is points per
> > second rate, and frame rate
>
> I will use V-sync to flag a new frame, but otherwise, it's just data to the board...it just draws.

as long as your not relying on the PC's processor for point to point timing, you are in good shape...
I highly recommend dumping a entire frame at a time to your board, and letting it draw that frame until
next frame is ready... a PC can't handle dumping 12k positions per second, as soon as you move your
mouse... all hell breaks loose

To Give you a Idea, a Asteroids Frame consists of approx. 100-300 vectors per frame, in Laser we are
dumping about 30 positions per vector, mostly at the ends to sit there waiting for the mirrors to catch
up... With the CRT, I bet you need less than 10 per position for long vectors, and 2 or 3 per short
vector

> >
> > >
> > > I need to say-
> > > my board needs a lot of work-it may be months before completion.
> > > Finding time to work on it is the problem.
> >
> > We have a test ISA board done, and it works well... but are working on replacing 15 components
> with
> > FPGA's right now... and then writing the PCI chipset into a FPGA is the next trick, and putting a
> DSP on
> > it for advanced Laser output, where it's going to do alot of real time rendering rather than just
> a
> > Frame Dumper.... but it defiently falls under the lines of Video Card Like, the PC is not going
> to be
> > doing any timing, only calculations post-production is maybe setting scale and generating velocity
> and
> > anchor points
> Ouch! sorry I asked!

Here's a pic of the first Revision Board, http://www.raven-systems.net/iondrivepcb.jpg... it does
work... with a few jumpers :)
the next revision of the Board will be using all surface mount.. and a FPGA to remove almost all of the
ttl logic to the bus

>
> >
> > >
> > >
> > > Robert, how much time have you spent on your laser system?
> > > I'm at 100 hours easy...Designing the hardware AND the software to drive it...nice thing is,
> it's
> > > all my own!
> >
> > God.. Hours... hmmm... I've been in the Laser Show Business for about 6 Years... so probably
> 5-6k
> > hours... I've got 3 different vector output boards here, and have tried a few others... from
> > Parallel Port, ISA point dumpers, ISA Frame Dumpers, Amiga 2000 with modified sound board to
> project
> > laser, and Intelligent PCI Frame Dumper... about $10k in vector Output boards for the PC sitting
> > here... I also have contact with the majority of laser show companies, and point and frame rate
> > measuring is something constantly talked about... and workstations for designing shows... it
> cost
> > about $50/hour to run a Laser if not more, so working with Vector Monitors was heavily tested
> 10-15
> > years ago... due to poor quality monitor survival and lack of availability it was kinda dropped...
> but
> > I've talked to the engineers that did it, and what works and what doesn't and where we are going
> to find
> > problems...
> I have redesigned mine a lot- trying to get the simplest, versatile system...
> It should be interesting....

looks like you are going in the right direction

---------------------------------------------------------------------------
** 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 neil@synthcom.com.
Received on Fri May 31 08:30:13 2002

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