I find that if I’m trying to make a point with a student or a colleague about a circuit, sometimes the Falstad online simulator is worth a few thousand words. You can draw the circuit, play with the values, and even see the current flow in an intuitive way as well as make traditional measurements. The simulator not only handles analog but also digital circuits. At first glance, though, the digital functions appear limited, but if you dig deeper, there is a custom logic block that can really help. I dug into this — and into how switches work in the simulator — the other day in response to a Hackaday post. If you use Falstad, read on!
[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”
One of the joys of electronics as a hobby is how easy it is to get parts. Literally millions of parts are available from thousands of suppliers and hundreds of distributors, and everyone competes with each other to make it as easy as possible to put together an order from a BoM. If you need it, somebody probably has it.
But what do you do when you need a part that doesn’t exist anymore, and even when it did was only produced in small numbers? Easy – you create it yourself. That’s just what [Mike Gardi] did with this unique motorized rotary switch he needed to complete his replica of a 1960s computer trainer. We covered his build of the Minivac 601, a trainer from the early computer age that let experimenters learn the ropes of basic digital logic. It used mostly relays, lamps, and switches connected by jumpers, but it had one critical component – a rotary control that was used for input and, with the help of a motor, as an output indicator.
[Mike]’s version of the switch is as faithful to the original as possible, at least in terms of looks. The parts are mostly 3D-printed, with 16 reed switches embedded in the walls and magnets placed in the rotor. The motor to operate the rotor is a simple gear motor mounted to a hinged bracket; when the rotor needs to move, a solenoid pulls the motor’s friction drive wheel up against the rotor.
The unique control slots right into the Minivac replica and really completes the look and feel. Hats off to [Mike] for a delightful replica of a lost bit of computer history and the dedication to see it through to completion.
For whatever reason, the Video Graphics Array standard seems to attract a lot of hardware hacks. Most of them tend to center around tricking a microcontroller into generating the signals needed to send images to a VGA monitor. We love those hacks, but this one takes a different tack – a microcontroller-free VGA display that uses only simple logic chips and EEPROMs.
When we first spied this project, [PH4Nz] had not yet shared his schematics and code, but has since posted everything on GitHub. His original description was enough to whet our appetite, though. He starts with a 27.175-MHz clock and divides that by 4 with a 74HCT163, which has the effect of expanding the 160×240 pixels image stored in one of the EEPROMs to 640×480. Two 8-bit counters keep track of horizontal and vertical positions, while the other EEPROM takes care of generating the Hsync and Vsync signals. It’s all quite hackish, but it works. [PH4Nz] tells us that the whole thing is in support of a larger project: an 8-bit computer made from logic chips. We’re looking forward to seeing that one too.
This isn’t the first microcontroller-less VGA project we’ve seen, of course. Here’s a similar one also based on EEPROMs, and one with TTL logic chips. And we still love VGA on a microcontroller such as the ESP32; after all, there’s more than one way to hack.
Thanks to [John U] for the tip.
By now we should all be used to the astonishing variety of CPUs that have come our way created from discrete logic chips. We’ve seen everything from the familiar Von Neumann architectures to RISC and ever transport-triggered architecture done in 74 TTL derivatives, and fresh designs remain a popular project for many people with an interest in the inner workings of a computer.
[Warren Toomey]’s CSCvon8 is an interesting machine that implements an 8-bit computer with a 64-bit address space using only 17 chips, and without resorting to any tricks involving microcontrollers. It implements a fairly conventional Von Neumann architecture using TTL with a couple of tricks that use modern chips but could have been done in the same way in decades past. Instruction microcode is stored in an EEPROM, and the ALU is implemented in a very large EPROM that would probably once have been eye-wateringly expensive. This in particular removes many discrete TTL chips from the total count, in the absence of the classic 74181 single-chip part. To make it useful there is 32k each of RAM and EEPROM, and also a UART for serial access. The whole is brought together on a neat PCB, and there is a pile of demo code to get started with. Everything can be found in the project’s GitHub repository.
At the start of this article we mentioned a couple of unconventional TTL CPUs. The transport triggered one we featured in 2017, and the RISC one is the Gigatron which has appeared here more than once.
Turn the clock back six decades or so and imagine you’re in the nascent computer business. You know your product has immense value, but only to a limited customer base with the means to afford such devices and the ability to understand them and put them to use. You know that the market will eventually saturate unless you can create a self-sustaining computer culture. But how does one accomplish such a thing in 1961?
Enter the Minivac 601. The brainchild of no less a computer luminary than Claude Shannon, the father of information theory, the Minivac 601 was ostensibly a toy in the vein of the “100-in-1” electronics kits that would appear later. It used electromechanical circuits to teach basic logic, and now [Mike Gardi] has created a replica of the original Minivac 601.
Both the original and the replica use relays as logic switches, which can be wired in various configurations through jumpers. [Mike]’s version is as faithful to the original as possible with modern parts, and gets an extra authenticity boost through the use of 3D-printed panels and a laser-cut wood frame to recreate the look of the original. Sadly, the unique motorized rotary switch, used for both input and output on the original, has yet to be fully implemented on the replica. But everything else is spot on, and the vintage look is great. Extra points to [Mike] for laboriously recreating the original programming terminals with solder lugs and brass eyelets.
We love seeing this retro replica, and appreciate the chance to reflect on the genius of its inventor. Our profile of Claude Shannon is a great place to start learning about his other contributions to computer science. We’ve also got a deeper dive into information theory for the curious.
Thanks to [Granz] for the tip.
Interviewing to be a full-stack engineer is hard. It’s a lot harder than applying for a junior dev job where you’re asked to traverse a red-black tree on a whiteboard. For the full-stack job, they just give you a pile of 2N2222 transistors. (The first company wasn’t a great fit, and I eventually found a place that gave me some 2N2907s for the interview.) That said, there’s a certain challenge in seeing how far you can push some doped silicon. Case in point, [Alastair Hewitt]. He’s building a computer to browse the world wide web from the gate level up.
The goal of this project is to browse the web using only TTL logic. This presents problems that aren’t readily apparent at first glance. First up is being able to display text on a screen. The easiest way to do this now is to get a whole bunch of modern memories that are astonishingly fast for a 1970s vintage computer. This allows for VGA output, and yes, we’ve seen plenty of builds that output VGA using some big honkin’ memories. It turns out these RAM and ROM chips are a little better than the specs say they are, and this computer is overclocked from the very beginning.
A bigger problem is how to interface with a network. This is a problem for very old computers, but PPP still exists and if you have the software stack you can read something from a server over a serial connection. [Alistar] actually found the UART frequency was more important than the dot clock frequency of VGA, and the system clock must therefore be built around the serial port, not the display interface. This means the text mode interface is actually 96 columns instead of the usual 80 columns.
It’s very easy to say that you’re building a computer on a bread board. It’s another thing entirely to actually do it. This is actually a surprisingly well-though out sketch of a computer system that will, theoretically, be able to connect to the Internet. Of course, the reality of the situation is that this computer will be connecting over serial to a computer that’s connected to the Internet, but there’s no shame in that. You can check out the progress on the GitHub for this project.