Electronics

Stage 1: Video

What is a computer without a display? Not much, I say. Following is the development of a VGA driver for the computer.

Video1 With a history of software development, this first version of video generation is strictly done in software.
Video2 A primary issue with video1 is that it uses the PIC chips limited RAM to store the screen. This version is to integrate with external SRAM to achieve both higher resolution and more colors.
Future Full 320x200 design with IC integration figured out. The current ideas (which I have just started to document) could be scaled to the standard VGA 640x480 resolution. Beyond that, it should not be too difficult to scale to higher resolutions (faster clock rates and different timings, essentially). It might be nice to support multiple video modes, but that isn't a need yet.

Stage 2: EEPROM burner

Once the video component is done and the computer parts start to come together, there needs to be a way to burn the computer ROM. For the initial computer startup sequence, the source will be EEPROM. (There are some who manually program each byte. That looks to be a very painful plan.)

EEPROM Burner First stab at creating an EEPROM burner. Java and PIC microcontroller based.

Future Stages

Future stages will add anything that is important to a simple computer:

  • Sound
  • CPU (65c02 - 8 bit with 64Kb addressable RAM)
  • SRAM (32Kx8)
  • EEPROM (2Kx8)
  • Serial port
  • Keyboard interface
  • Storage (Disk? CF?)
  • Joystick port(s)

Way out in the future

Some blue-sky (for me) ideas I have include:

  • Network access
  • A "real" embedded computer (aka "useful")
  • Migrate to 65816 processor (16bit with 16MB addressable RAM)
  • Migrate to another processor (candidates: z80, 680x0)

 

Fishing around on the internet is really a great way to find neat projects to work on. At a very minimum, it tends to spawn ideas that ferment for a little bit. This entire section is dedicated to many of the folks that participate in the 6502.org web site.

Growing up with an Apple II+ and then an Apple //e computer was a lot of fun. The Apple II+ system was so open that the manuals included schematics for the entire computer as well as the whole ROM listing. It was a different time when open really meant open. Unfortunately for me, I never understood the schematics... but the software was a different story! From that point onward, I haven't looked back...

That is, until I started to work on AppleCommander. I discovered the 6502.org site and found out that other people were using 6502, 65c02, and 65816 processor in various personal projects! I looked at a few of the simpler schematics, talked to a friend who knows a bit about electronics, did a bit of research, and began to see some light. Neat stuff - and I finally found an opportunity to actually begin to understand the hardware.

What better way to understand how a computer works than to design and build one yourself. And to keep it simple, stick with a low-end, 8 bit processor such as the 6502 - one with which I am already familiar?

What a perfect opportunity!

You will find the results of my journey in these pages. Hopefully it will be of use to others!