Playing around with the 6502 Continued

My last post explained my initial successes (or so I thought) at this.

Since then I’ve switched to using Symon III which is feature packed and should greatly help me develop on my little system.

I also discovered that I screwed up the circuit design, leading me to run into random memory corruption because RW wasn’t being qualified by ∅2.
For some reason this only became apparent once I started using Symon, I guess Wozmon doesn’t really do enough for me to have noticed. and any code issue with software I had been writing I had assumed was my fault.

To work around this for a while I moved the RAM and ROM back to the breadboard and ran a bunch of wires while I played around with other things, because I wasn’t keen on spending the money on another board run so soon.

Offboard ROM/RAM

Not ideal…

I designed and received the Serial/Parallel IO boards but I messed up the design here too… I mixed up the Chip Select signals for my 6551 which meant it didn’t work at all…

This one was at least easier to resolve. Simply by cutting a trace or two and soldering some jumper wires on to correct the mistake.

Photo 1-02-2015 10 54 12 pm

Serial card dodgy!

After neglecting the project for months, I sent off my new revision of the CPU board with corrected ram/rom signalling so that it would actually work. but when I received the boards they didn’t work!.

Stupid me didn’t run ERC before submitting the design, assuming I had done so months ago and that it was all good to go. I was wrong and had to bring out the soldering iron to bodge up some more jumper wires…

cpu board bodge

Also included, TO-92 soldered to a sot-23 pad

Screen Shot 2015-01-29 at 10.08.14 pm

ERC check

Remember kids, always run ERC and DRC checks before submitting your boards to the fab…

It’s quite painful dealing with these issues on account of the turnaround time being 1-2 weeks before I receive my boards. It’s all been my own stupidity though.

Now that is all sorted though, and it’s working pretty perfectly! (it seems)

The next thing I’m working on is the keyboard controller which will be provided by an AVR, I know I said i’d prefer to do it in discrete logic but I wanted bidirectional communication with the keyboard.
Going forward I’m using KiCad instead of Eagle, which means that I should be able to bang out a single board design. this should theoretically help me Achieve higher clock speeds.