Last modified on 28 September 2022, at 06:35

Amdrum

Company logo
Box and Manual for the Amdrum

The Amdrum is an 8bit D/A converter (hardware) with drumkit (software), made by the British company Cheetah.

Quality of the playback was nice, considering the time and price. The samples were read from the suplied tapes. There were serveral tapes with different themes. Along with the Amdrum came a sequencing program. It was possible to copy the samples to disc, but the sequencing program had to be patched! Amdrum was probably Cheetahs version of the SpecDrum (As revealed on the PCB "AMSTRAD SPECDRUM"). Aside of Cheetahs own sequencer you can use some commands of the RSX ROM for LambdaSpeak III to use the Amdrum.

Now, thanks to Jose Leandro, the hardware specialist of the spectrum, with his famous page:

http://trastero.speccy.org/cosas/JL/JL.htm

We can know more about this hardware.


Technical Specifications

  • Uses I/O Port FFxxh (Write only), ie. only /IORQ, /WR, A15-A8 are decoded. A7..A0 are not decoded, and /RD isn't used, too.
  • Port usage: Write 8bit unsigned sample data to Port FFxxh. The D/A converter is mono and has only one channel (mixing multiple channels is to be done by software).
  • After booting, the Amdrum software first sets port [FF80h]=80h. Emulators can use that feature to detect Amdrum software - and, after [FF80h]=80h was detected, map the whole range of ports FF00h..FFFFh to the Amdrum.
  • During operation, the Amdrum software uses port FFxxh. Where "xx" is garbage coming from the Amdrums keyboard scanning routine (see disassembly below).

The five chips on the single-sided PCB are:

74LS30N Single 8-input NAND Port decoding, /ADDR_MATCH=LOW when A8..A15 all HIGH
74LS32N Quad 2-input OR Port decoding, /DAC_WRITE when /ADDR_MATCH, /IORQ, /WR all LOW
SN74LS04N Hex Inverters Charge pump circuit, used to create negative voltage rail for the op amp
TL064CDP Quad Operational Amplifier Buffer and low pass filter
Ferranti ZN428E-8 8bit DAC mono one-channel 8bit D/A converter (unsigned samples)

Partial dissassembly of player

exx     
ld      a,(bc)    ;get channel 1
add     a,(hl)    ;add channel 2
ex      de,hl
add     a,(hl)    ;add channel 3
inc     hl
ex      de,hl
inc     bc
add     a,80h     ;add bias (signed to unsigned)
inc     hl
exx     
out     (c),a     ;out [FFxxh] with C=whatever
ld      b,0f6h
in      a,(c)
ld      c,a       ;C=PIO Port C (keyb row, tape, psg control)
xor     05h   ;five ???
out     (c),a
ld      a,0f4h
in      a,(66h)
ld      (404eh),a
out     (c),c
...           ;something missing here?
ld      b,0ffh
nop     
nop     
nop     
exx     
ld      a,(bc)    ;get channel 1
add     a,(hl)    ;add channel 2
ex      de,hl
add     a,(hl)    ;add channel 3
inc     hl
ex      de,hl
inc     bc
add     a,80h     ;add bias (signed to unsigned)
inc     hl
exx     
out     (c),a     ;out [FFxxh] with xx=garbage (above PIO Port C value)

Pictures

Reviews / Commercials

Amdrum Tape

Kits

Title Front Covertape Back Covertape Tape Side A Tape Side B
Afro Kit Afro Kit 1.jpg Afro Kit 2.jpg Afro Kit Tape A.jpg Afro Kit Tape B.jpg
Electro Kit Electro Kit 1.jpg Electro Kit 2.jpg Electro Kit Tape A.jpg Electro Kit Tape B.jpg
Latin Kit Latin Kit 1.jpg Latin Kit 2.jpg Latin Kit Tape A.jpg Latin Kit Tape B.jpg

Other playback devices

Videos

AmDrum on Amstrad CPC (emulated with JavaCPC)

{{#ev:youtube|0z-jGDOzwGQ|400}}

A presentation(from around 1985) of the ZX Spectrum version of the Amdrum(Specdrum), also mention of the upcomming Amstrad CPC version

{{#ev:youtube|m6R_W9CZWGU|400}}

Manual

Download

Weblinks