Re: Sega Multigame and Vector Generator Card...

From: Clay Cowgill <clayc_at_diamondmm.com>
Date: Tue Dec 16 1997 - 12:57:32 EST

>And what if you just used 24 bit adders and did fixed point (x,y) += (dx,yd)?
>You would eliminate the subtractor & the comparator. This is the 90's, we
>don't use Bresenham any more (see bitmap rotation source on my web page). Of
>course part of the vector setup would involve a divide but you could keep
>that on the PC.

Hmmmm. Ok, so let me see if I'm following you in theory...

Define a 24 bit fixed point format like...

    xxxxxxxxxxxx.yyyyyyyyyyyy

'x' is the whole part, 'y' is the fractional part.

Then you just add something like 000000000000dddddddddddd every iteration
to give your line some slope (and a rate based on magnitude).

So what would the "vectorlist" look like that gets fed to the line-draw
engine? A start point and a series of delta's? (That'd be kinda cool
'cause you could do curves and splines... at the expense of lots of RAM for
the vectorlist.)
For straight lines it seems like you'd want a comparator on the upper 12
bits to stop a line draw when the destination is reached?

That's kind-of a neat idea. You could even do intensity control depending
on the magnitude of the delta that's added to each line position counter.
Interesting.

Like:

Position Delta End
0,0 .02,.03 2,3
0,0 .04,.06 2,3

Create the same line, but the top one does it in 100 "clocks" and the
bottom one does it in 50 "clocks". Interesting.

I bet you wouldn't need full 24 bit adders either...

>More importantly I want to know why you're going to do a DVG in the first
>place? You probably don't like analog stuff (nor do I) but there really
>isn't much to a vector generator. You'd probably want to do it cinematronics
>style (which doesn't use integrators) since some form of "absolute"
>positioning is needed for the DVG & Cine games. I just don't like the
>artifacts you get with the DVG.

I had actually started an Atari AVG-like design a while back, but Zonn
kinda talked me out of it. (Zonn and his damn *exactly* meeting lines...
;-) I also think that the DVG will be much easier to debug and figure out
at first. If it doesn't give the performance needed, it's just back to the
drawing board. ;-)

I have a feeling that a DVG could look pretty good. I can run the DVG
section MUCH faster than the 3MHz that Atari used, and then use true 12-bit
inputs to the DACs (use more of my clock ticks for finer steps between
positions). Between the two I think it'd make for a pretty good looking
display. A large part of the goal is to keep the cost of the hardware down.
It's not like I'd ever make more than a few dozen of 'em, and I think it'd
have to be under $100 to be affordable for most people.

>Just some thoughts...

Keep 'em coming! Nothing cast in stone yet, just tinkering with ideas
still. If Zonn tells me an easy way to make Bresenham's algorithm
self-clocking I'll probably still try that. (It kinda looks like
Bresenham's stuff would actually run without any sort of clock... A clock
could then be used to just synchronize the outputs. Have to get farther
into the problem first...)

-Clay

Clayton N. Cowgill Engineering Manager
_______________________________________________________________________
/\ Diamond Multimedia Systems, Inc. clay@supra.com
\/ Communications Division http://www.supra.com/
Received on Tue Dec 16 09:57:38 1997

This archive was generated by hypermail 2.1.8 : Thu Jul 31 2003 - 23:01:05 EDT