# 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

Digiblaster V1 schematic by Andreas Stroiczek.

Digiblaster V2 schematic by Joshua/Exodus