[Ben Eater] is back with the second part of his video series on building a simple video card that can output 200×600 pixels to a display with nothing but a VGA connection, a handful of 74-logic chips and a 10 MHz crystal. In this installment we see how he uses nothing but an EEPROM and a handful of resistors to get an image onto the screen.
The interesting part is in how the image data is encoded into the EEPROM, since it has to be addressable by the same timing circuit as what is being used for the horizontal and vertical timing. By selecting the relevant inputs that’d make a valid address, and by doubling the size of each pixel a few times, a 100 x 75 pixel image can be encoded into the EEPROM and directly addressed using this timing circuit.
The output from the EEPROM itself not fed directly into the monitor, as the VGA interface expects a 0 V to 0.7 V signal on each RGB pin, indicating the brightness. To get more than three colors out of this setup, [Ben] builds up a simple 2-bit DAC that allows for two bits per channel, meaning four brightness levels per color channel or 64 colors effectively.
See the video after the link for the full details. While pretty close to perfect, a small issue remains at the end in the forms of black vertical lines. These are caused by a timing issue in the circuit, with comments on the YouTube video suggesting various other potential fixes. Have you breadboarded your own version yet to debug this issue before [Ben]’s next video comes out? Continue reading “Pushing Pixels To A Display With VGA Without A PC”→
If you always wished you could get closer to the hardware with the 6502 in your classic microcomputer you’re in luck, because [Drass] has created a beautiful implementation of a 6502 using TTL logic chips. What makes it special is that it sits on a very neat set of PCBs, and due to its use of 74AC series logic it can run at much higher speeds than the original. A 20 MHz 6502 would have been revolutionary in the mid-1970s.
Through a flying ribbon cable, it can plug directly into the 6502 socket on classic microcomputers, and the website shows it running a variety of software on a Commodore VIC20. There is also a custom SBC as part of the suite, so no need for a classic micro if you want to put the CPU through its paces. The boards are not quite perfect, the website has a picture of some very neat reworking where it appears that a bus has been applied to a chip in reverse, but it certainly has the feel of a professional design about it.
There is one thing that unites almost every computer and logic circuit commonly used in the hardware hacking and experimentation arena. No matter what its age, speed, or internal configuration, electronics speak to the world through logic level I/O. A single conductor which is switched between voltage levels to denote a logic 1 or logic zero. This is an interface standard that has survived the decades from the earliest integrated circuit logic output of the 1960s to the latest microcontroller GPIO in 2018.
The effect of this tried and true arrangement is that we can take a 7400 series I/O port on an 8-bit microcomputer from the 1970s and know with absolute confidence that it will interface without too much drama to a modern single-board computer GPIO. When you think about it, this is rather amazing.
It’s tempting to think then that all logic level outputs are the same, right? And of course they are from a certain viewpoint. Sure, you may need to account for level shifting between for example 5V and 3.3V families but otherwise just plug, and go, right? Of course, the real answer isn’t quite that simple. There are subtle electrical differences between the properties of I/O lines of different logic and microcontroller families. In most cases these will never be a problem at all, but can rear their heads as edge cases which the would-be experimenter needs to know something about.
Today’s CPUs are so advanced that they might as well be indistinguishable from magic, right? Wrong! Fundamentally, modern CPUs can be understood logically like any other technology, it’s just that they’re very fast, very small, and very complex, which makes it hard to get to grips with their inner workings. We’ve come a long way from the dawn of the home computer in the 80s, but what if there was something even simpler again, built in such a way as to be easily understandable? Enter the DDL-4-CPU, courtesy of [Dave’s Dev Lab].
The DDL-4 is a project to build a modular 4-bit CPU using bitslice methods. This is where computations are broken down into simple operations with two-bit inputs, which are executed with basic logic gates like NOR and XOR. This is great for building a CPU from individual parts, as logic chips are readily available and their operation is readily understood. That’s what’s used here – good old 74-series logic, which you can find just about anywhere!
The build consists of a series of modules, each on its own colourful PCB and labeled on the silkscreen. These modules can then be configured and plugged together with edge connectors to build the CPU. The work builds upon [Dave]’s earlier work on the Mega-One-8-One, a recreation of the 74181 Arithmetic Logic Unit for educational purposes.