BenBE's humble thoughts Thoughts the world doesn't need yet …


Printer Music

Filed under: Fun — Schlagwörter: , , , — BenBE @ 21:12:36

Hier mal die Laufschrift auf dem kleinen Display am unteren Rand, da die doch an einigen Stellen recht schnell durchscrollt:

Loading …

Welcome to this oldskool demo presented at DreamHack Winter 2002 in Elmia. Jönkoping, Sweden.

The hardware you see is an old typewriter from the mid 80’s (probably 1985) called Brother BP-30.

It is interfaced through a home built platform based on two 8-bit microcontrollers and a TINI, an ethernet-connected microcontroller running Java. The music you hear (if you ignore the noise made by the typewriter) is a stripped-down XM file and is loaded into one of the two 8-bit microcontrollers, making it a true chiptune (har har), namely an Atmel mega163 running at 3.69 Mhz with a memory of 16 kB flash and 1 kB SRAM.

The XM playing code itself takes 1084 bytes and generates music at a sample rate of 11025 Hz, leaving only 334 clock cycles for each sample. The sound is converted from digital to analogue output through a custom built DAC consisting of 27 resistors and an amplifier from an old soundcard. The air is energized with sound waves using an old PC-speaker.

The microcontroller interfacing the typewriter motors and LCD controller is an Atmel 9098515 also running at 3.69 MHz. The demo code itself is loaded into the TINI as compressed Java bytecode and makes together with graphics data up a total of 17 kB.

TINI runs a very stripped-down Java environment (no built-in sine functions for instance) based on JRE 1.1.8 and stores both file system and program memory on 1 MB of RAM.


Idea, hardware, code: psykotron

Music: flydoe

Drawn art: psychonaut

Additional code & art: treo

Special thanks to Flare for releasing XM player source to the public.


Well, what can we fill this scroller now then..? Perhaps some project history.

The project started this summer when the typewriter motors were successfully interfaced using a BS2SX microcontroller which was later abondoned for the Atmel microcontroller.

Java based demo parts were continiously added during the fall.

Creation of the XM player started 20 days ago.

The final hardware platform was soldered last weekend. Music and graphics were created the last days before DreamHack. The final composition started some hours before the deadline.


Greetz to Razor 1911, Fyllecell, Scania, DRM, d4rkn3ss, Kaotix and all other oldskoolers out there.


Ok, now let’s do a complete round-up of the hardware. Brother BP-30 typewriter, ATmega163, AT9098515, 3.6864 MHz oscillator, TL074CN Op-Amp, a number of resistors, 0.5 W 8 Ohm PC-speaker, DSTINI1+1MB, TINI Socket E10, prototyping PCB, wires (for instance some old IDE and floppy cables).

As you probably have noticed, the typewriter loads four differently coloured pens, which are cycled automatically by taking the pen to the rightmost position and then back. The pens have been used sparingly during testing as a large quantity of replacement pens cannot be guaranteed to exist.



Unfortunately, our 5 minutes are up. We hope you have enjoyed this oldskool demo and thank you for watching.

Auf jeden Fall genial gemacht!

Flattr this!

Powered by WordPress