Since I am now building this version with a somewhat tested plan, I can start from the top down.
It is always easier to route all of the clock and control lines, and then move onto data and address lines.
I wired up all of the OE and CLK lines for the 574's, and then ran the clock lines around the board.
Once all of those lines were down, I started at the top, working on the 12 Bit Dual Video Data Bus.
I decided to use Red, Green, and Blue lines to show the actual colors for each of the 3 x 4 bit Data Lines.
Routing the Dual Buffer 12 Bit Data Lines.The photo above shows how the Dual Buffers (512K x 2) feed their respective 574's, and then into the switch.
The switch is a set of two 574's that then feed 12 AND gates that sync the blanking with the pixel data.
The AND gates then feed another set of 574's to re-sync the pixel data to the main system clock.
I also tested the routing of the clock by viewing the waveform on my scope, but there were issues.
In this version of the Video Generator, the clock has to drive 34 chips directly!
But it seems that the single oscillator module did not have the gusto to push that many ICs.
The waveform was so weak and rounded off that it looked like a 2 volt pure sine-wave on my scope.
There were losses in the other design, but this time the drive capacity is a real problem.
I thought about adding gates at each "intersection"m but this would skew the clock be a few nanoseconds.
Instead, I drove the clock into a 74HC245, and tied all of the inputs together.
This would allow 8 individual and fully synchronous clock drivers to be available to the board.
I then divided the clock segments up equally (and mostly in rows), routing a line for each...
The 74HC245 drive out seven synchronous clock lines.You can see the 25.175MHz clock module driving all 8 inputs on the 74HC574 buffer.
I used 7 of the 8 possible outputs, and now each output line only has to drive 5 or 6 ICs.
I am no sure if this is a perfect solution, as I did not find any examples in my searches of this being used.
But once wired and tested, the resulting waveform at each row was as clean as the original clock source...
The master clock at the bottom, and furthest clock at the top.The waveform shown above is not pretty, but that's only because of the way I have my scope tapped into the board.
The top waveform is as good as the unloaded clock module at each "intersection", so I think this is going to work perfectly.
Here is the board as of tonight. I used Red wires to route the clock lines from the "distribution chip"...
There are now seven individual clock lines being routed.I also connected the 6 sets of cascaded 74HC590 counters (12 counters in total), and tested the signal.
As expected, all of the counters were getting a nice clean clock signal, and counting perfectly.
It's interesting to note that the new Video Generator now takes up exactly twice as much space as the original.
The original 400 x 300 x 256 System fit on one column, and the new 640 x 480 x 4096 System takes two columns.
Not a bad deal, since the number of bits per second has increased dramatically...
Version One =
57,600,000 Bits Per Second Bandwidth
Version Two =
221,184,000 Bits Per Second Bandwidth
Yes, that number is correct!
This mess of 1980's logic chips pushes out
221 Million Bits Per Second to make a Video Frame!
On my next free session, I will connect the counters from one side to the SRAM, and see if I get video.
Actually, there is a bit more to it than that. To see random pixels in this design, I have to...
- Connect at least one set of X/Y counters to one of the SRAM Video Memories.
- Connect the Sync Memory to its dedicated X/Y counter system.
- Connect the Sync Memory Address and Data Switch to the Sync Memory.
- Connect a micro-controller to the Sync Switch in order to program the Video Mode Data.
From there, I can then connect the second Video Buffer, and then the A/B switching logic.
It will take a few more free days to actually see some images on the screen, but that's not too bad.
Once the Video System is operational, I can then start prototyping the new hi-speed Graphics System.
I don't call it a Sprite Generator anymore because I am mixing the Playfield Generator and Sprite Generator together.
The new Graphics System is uncharted territory for me, and development is coming directly from coffee stained notebooks!
This is where the real fun shall begin again.
Later!
Radical Brad