I’ve worked out a trio of universal-use VGA video card circuits built entirely with “discrete” 74-series derivative logic. They’re intended to be used with old-school computer architectures and have a 5V TTL/CMOS, uP-compatible interface. The data bus is 8-bits wide. Each card basically just looks like a standard read/write memory device to the host computer. The specs for each card are:
a) 640x480, 60Hz, 24-bit colour.
b) 640x480, 60Hz, 6-bit colour.
c) 320x240, 60Hz, 6-bit colour.
Construction wise, so far, I’ve knocked up a quick prototype of b) to verify my logic design. The circuity had to be a bit of a kludge because I didn’t have all of the most ideal logic devices in stock, but the couple of hours of design work checked out. The photo attached shows the prototype, not wired to a host device, just displaying the random contents of its video memory upon power-up.
I’m currently laying out the PCBs. Initially, I want to operate the cards with my TRS-80 model 1 (clone) over the expansion interface port. The TRS-80 obviously can’t allocate enough free memory space so this will require a small additional interface circuit (all in discrete logic of course) incorporating an indirect memory addressing register and also (for convenience) a hardware video memory wipe.
It will be interesting to write some machine code subroutines for the tasks of drawing lines, circles, arcs, etc and get some TRS-80 high resolution CAD happening.
a) 640x480, 60Hz, 24-bit colour.
b) 640x480, 60Hz, 6-bit colour.
c) 320x240, 60Hz, 6-bit colour.
Construction wise, so far, I’ve knocked up a quick prototype of b) to verify my logic design. The circuity had to be a bit of a kludge because I didn’t have all of the most ideal logic devices in stock, but the couple of hours of design work checked out. The photo attached shows the prototype, not wired to a host device, just displaying the random contents of its video memory upon power-up.
I’m currently laying out the PCBs. Initially, I want to operate the cards with my TRS-80 model 1 (clone) over the expansion interface port. The TRS-80 obviously can’t allocate enough free memory space so this will require a small additional interface circuit (all in discrete logic of course) incorporating an indirect memory addressing register and also (for convenience) a hardware video memory wipe.
It will be interesting to write some machine code subroutines for the tasks of drawing lines, circles, arcs, etc and get some TRS-80 high resolution CAD happening.
Attachments
Last edited: