Circuit

02/04/2010. The current circuit revision (j) is shown below:

A partially annotated stripboard version is shown. This version shows connections for the Z80; 32K of SRAM; the Atmel AtMega88 and an AMIC 512Kb A25L0P Serial Flash IC. All the connections to support SRAM access between the Z80 and SRAM are defined; data bus access between the AVR and Z80 are shown; Control signals: /M1, /HALT, /INT, /NMI, /OE needed to control the Z80 from the AVR are shown. Serial Flash signals are shown. Composite video connections are shown; Serial port connections are shown. The Crystal oscillator is connected. Decoupling caps are shown. The Keyboard connector (a pair of 4 and 3-pin headers) are shown. The Power connector (a 2-pin header) is shown. Audio in circuitry is shown along with its 2 pin header connection (it's really a jack socket though).

Revision (j) fits within an actual stripboard dimensions of 38x63; in fact it leaves 3 columns free - Amazing ;-) ! In addition, a speaker component has been added (it took me about 5 minutes to design the class for Speaker, it will appear in the next revision of Stripes) - it connects to an output compare on the AVR and can therefore be used for PWM audio. Note also, the data bus and power lines are collected together. This will make it easier to support stripboard-based I/O expansion on a future device. Port B.7 is unused (NC).

Revision (j) is a significant change from revision (i) - I'm now using an AtMega88 for the CLU chip, because I found out that the AtMega8535's Uart can't deliver video via its serial TxD pin (it would insert start and stop bits even in synchronous mode). The AtMega88 (and 48, 168 and 328) do support double-buffered SPI mode without idle states via their Usart in synchronous mode.

At this stage the stripboard hasn't been buzzed out - I've done some manual checking. The next major revision will be buzzed out using a Test:Buzz feature in Stripes.

Note: My policy here is to use stripes for actual stripboard development, so the priority is usability not features. By way of comparison I recently tried to create a conventional PCB for Libby8 using an open-source PCB application called Fritzing (which is primarily designed as an educational tool for Arduinos). Fritzing is far more polished and sophisticated than Stripes, but I found that on my Powerbook it started to choke before I'd reproduced half of my circuit; it started to misalign connections leaving spots and half-connections everywhere and get very sluggish.

Â