Digiblaster

The Digiblaster is a simple and cheap device which allows the Amstrad CPC to play 8-bit mono sampled audio.

Version 1 was originally designed by Andreas Stroiczek and an article was published in "CPC International" (A commercial magazine for the CPC which was published in Germany) magazine. This version has a logarithmic volume output.

It was redesigned later to give a linear volume output by Joshua/Exodus and this is version 2.

The digiblaster is connected to the printer port, and uses D6-D0 and /STROBE signals. This table shows the relationship between byte written to printer I/O port and signal.

Bit Signal
7 /STROBE
6 D6
5 D5
4 D4
3 D3
2 D2
1 D1
0 D0

When writing to the printer port, /STROBE is negated by the printer port hardware, so you will need to write the data with bit 7 negated. The delay between successive writes defines the playback rate.

This piece of code shows how the digiblaster is used:

ld b,&EF    ;printer I/O port
.loop
ld a,(hl)   ;get byte of 8-bit sample data
inc hl
xor &80     ;negate bit 7 of data because it is negated by the printer port hardware
out (c),c
..          ;delay
..
jr nz, loop
The speed of the CPC allows up to 11khz sound using the Digiblaster.

Schematics

[Schematics of the Digiblaster v1 by Andreas Stroiczek]

Digiblaster V1 schematic by Andreas Stroiczek.

[Schematics of the Digiblaster v2 by Joshua of Exodus]

Digiblaster V2 schematic by Joshua/Exodus