
In this article, we will go over how to program an AVR chip using a USBASP with a 10-pin cable. In all likelihood, if this repo interests you, you want to binge that whole playlist.How to Program an AVR chip using a USBASP
There’s a much larger series of videos about this project on YouTube as well. This EEPROM programmer was designed as part of a larger project to build an 8-bit computer from scratch. Again, you’ll likely want more context from the full series of videos, but here’s the video describing the code: The code in /microcode-eeprom-with-flags adds functionality for a flags register to the microcode above to support conditional instructions. 8-bit computer microcode with flags register
Adding more machine language instructions to the CPU.Ĥ. Reprogramming CPU microcode with an Arduino. You’ll probably want to watch the whole 8-bit computer playlist (see below) for this to really make sense, but the specific videos describing the code here are: The code in /microcode-eeprom-programmer is for programming a pair of EEPROMs to serve as an instruction decoder for an 8-bit breadboard computer. Build an 8-bit decimal display for our 8-bit computer. The code in /multiplexed-display is for programming an EEPROM to be used to decode 8-bit values and drive a 4-digit 7-segment display. This is a good place to start if you’re looking for the fastest way to make sense of this repo: That software, along with the EEPROM programmer’s hardware are described in detail in the following video. The code in /eeprom-programmer is the basic programmer that programs a few bytes into the EEPROM and dumps the contents. But I’ve kept them separate to make it easier to find the exact code that goes with a particular video: 1. A lot of the code is duplicated since each sketch built on the previous ones. There are four different Arduino sketches that correspond to several YouTube videos. Since the Arduino doesn’t have enough pins to directly control all of the address, data, and control lines of the EEPROM, two 74HC595 shift registers are used for the 11 address lines (15 for the 28C256) and the output enable control line. This is a simple circuit for programming the 28C16, 28C64, 28C256, and similar parallel EEPROMs using an Arduino. This code and schematic are MIT licensed.