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, loopThe speed of the CPC allows up to 11khz sound using the Digiblaster.
![[Schematics of the Digiblaster v1 by Andreas Stroiczek]](db1.png) 
Digiblaster V1 schematic by Andreas Stroiczek.
![[Schematics of the Digiblaster v2 by Joshua of Exodus]](db2.png) 
Digiblaster V2 schematic by Joshua/Exodus