Drum8 – Apple II 8 Bit Drum Machine

Drum8 is an 8 bit drum machine with graphical editing, mouse support, a choice of 16 sounds with up to 4 playable at a given time, 8 bit samples, all on a 1MHz Apple ][+ or //e. In 46KB of RAM.

I initially wrote Drum8 in 1986-88. Nearly 30 years later, after having resurrected my Apple //e, replaced a dead transceiver on the mouse card and built a new 8 bit sound/DAC card because I’d accidentally thrown my S.A.M. away during a move, I’ve finally got around to finishing it.

In the meantime I’ve also helped enhance AppleWin to emulate an 8 bit DAC card, so anyone can download Drum8 and give it a try.

If you are the lucky owner of a S.A.M. speech card or any DAC based on a simple port write to an I/O address (eg: $C0D0 for slot 5) then you’re all set. You’ll get more enjoyment if you hook the S.A.M. to an external amplifier.

The on screen tips should get you started, If your DAC is not in slot 5, File / Config lets you set the slot. Don’t forget to save the configuration, use the default name.

Drum8 has a crude copy/paste between projects. Pattern #63 is not loaded over. So any thing you [C]opy there in the [L]ive editor survives when you load another file. There are 63 pattern pages left free because in good coding form, patterns number from 0. You should leave 0 as the “silent” pattern as you can’t sequence it, and you’ll appreciate it when you realise there is no “stop” mode whilst in the Main Page, [L]ive Edit or [S]equence edit pages.

Drum8 comes packed with 16 cheezy 8 bit drum samples, sampled at what else but 8kHz. Some of you might recognise their origin. I’ll leave the details for another session, in some studio somewhere.

The lack of dither noise and output filters on the DAC keeps the sound nice and crunchy, which is what 8 bit is all about. In fact the samples are being processed at 6 bits each, since up to 4 can mix at a given time.

You can configure the sounds, even install your own… 8 bit UNsigned PCM at 8kHz. Think pages (256 bytes) when specifying the length. The loader will try fix any length mistakes, but don’t expect too much forgiveness. It comes with 5 pages free, 1280 bytes, or 160ms of time. I should have made that crash cymbal longer.

Drum8 could be enhanced to use the extra 64k on a //e and up the sample rate to 12kHz. But I’d hate to leave the Apple ][+ owners stranded given it runs on an 64k ][+.

You can download a bootable DSK image here:
ProDos 8 (at least //e enhanced)
Drum8 DSK download
ProDos 1.1 (][+, original //e)
Drum8 (ProDos 1.1)

Known issues
There’s no “Catalog” command because ProDOS doesn’t provide it and space is pretty tight. The demos are DEMO, DEMO2, DEMO3.
I know the [T]empo display value is uncalibrated, and the t[U]ne setting impacts on the tempo.

7 comments on “Drum8 – Apple II 8 Bit Drum Machine
  1. Great project!
    The Boot Disk is only suitable for enhanced IIe machines.
    Is is possible to get a bootdisk for unenhanced IIe machines?

  2. Thanks. I’ve added a link to a version with ProDos 1.1 which should work on the original //e. Let me know how it goes. What are you using for a DAC?

  3. That’s awesome work, man!
    Your drum software works better than many modern ones that are using very expensive sound cards!
    BTW, I am wondering if some music/audio software can be patched to use SAM instead of speaker, mockingboard or phasor. Also some games could use it.

  4. Hi, thanks. Two problem with existing programs
    1) The SAM needs samples to play. Other programs use timing loops and put speaker clicks into code that draws pixels to get sound. Mockingboard has hardware tone generators.
    2) With SAM you have to clock out each sample, leaving no time for graphics.
    The neat thing I did with Drum8 was break up the sounds every 32nd note (block on the screen) during which it could poll the keyboard and update the cursor etc. Otherwise the CPU is flat out doing the sample and timing them properly.

  5. Work Great on my MEGAAudio card !

    Great Work !!!

    Can you make support for 4 ch SAM DAC , for example on addr $C0D0-> CH1 ( left channel ) , $C0D1 ( right channel ) , $C0D2 ( second left mixing with first ) , $C0D3 ( second right mixing with first ) , Can keep rhythm with first pair and make stereo effect with second for example .

  6. Thanks Plamen, I had an email problem with the blog notifications, only just found this message.

    I’ll have to update this page with info on the new MEGAAudio version of Drum8.
    Can’t wait until I can get one of your cards, keep me advised on availability.

Leave a Reply

Your email address will not be published. Required fields are marked *