After a long day of yard work, I decided to relax in my cool basement lab and mess around on the Vulcan-74 board for an hour.
With all of the comparators and address counters wired up, I hit the switch and started probing the board.
The vertical counter is resetting at 60Hz, which is exactly what was expected.
Notice how much neater the new board is compared to the original test mess.
Probing the comparator output for the horizontal line reset.
This is the vertical refresh timing divided by two... perfect.
The pulse is sharp since it is low for only 1 out of 528 cycles.
This is the flip-flop that controls the horizontal sync pulse.
Horizontal sync is active when the pulse is low.
This is the flip-flop that controls the horizontal blanking period.
The high time is when horizontal pixels are dawn.
Once again, timing works out exactly to the 800x600 VGA standard.
With the sync pulse logic working, the monitor locks on to the 800x600@60Hz standard.
This monitor is native at 1280x1024, so there will be a 1.6 to 1.0 clock phase adjustment.
At my final resolution of 400x300, this phasing is hardly noticeable.
This is the entire dual buffer video system with all wiring cleaned up.
The video board is capable of driving a monitor without any external control.
Of course, the SRAM will contain only random pixels at this point.
Speaking of random pixels, here they are in vibrant 256 colors.
Each bank of SRAM contains 120,000 pixels, with seamless buffer switching.
The banks are swapped on the vertical sync pulse so there as no banding or tearing in video.
Double buffering means the CPU can draw to one bank while the other is being sent to the screen.
The non-live bank can by accessed as if it were completely disconnected from the video logic.
VGA from a handful of common logic chips ans some SRAM... yeah baby!
Soon I will be plugging my favorite processor into the board!
Ok, I am not using a MOS variant, but I did have to give it a glory shot!
The next stage of Vulcan-74 design will be the ultra fast GPU logic, which will eat up at least one more column on the board.
The GPU has its own independent 20 bit address bus, and 1024K SRAM at 10ns, where it will store "sprites".
My GPU design is kind of like an Amiga Blitter on steroids. I will deal with XY blocks, not just lines of pixels.
Alpha (transparent) pixels are also built into the GPU, so the programmer won't have to do slow XOR tricks on graphics.
Ok, that's all for now, I will try to post a video of the bank switching if I have time tomorrow.
Until the next rainy day....
Radical Brad