Out of all the demos I’ve written, there aren’t many that I’ve been totally happy with at the time of release, but Haiku is one.

It was my first attempt at a 4K intro, written for tUM*05 which was to my knowledge the first ever party to hold an intro compo open to multiple 8-bit platforms – although in the end it went uncontested in that category, and instead went into the demo competition, where it got first place.

There’s a mammoth article in issue 3 of ZX Shed covering the design work and coding tricks that went into its production. Here’s a (multimedia-enhanced) taster…

It’s harder than you’d think to write tinkly oriental music. My first few attempts on my trusty electric keyboard (set to Koto or Shamisen mode) sounded fairly authentic, but stripped back to the square waves of the AY sound chip, they quickly turned into bubblegum dance music.

Download haiku1.mp3

Download haiku2.mp3

Floundering in writer’s block, I put on a DVD of Hayao Miyazaki’s My Neighbour Totoro, a film so cutesy it makes Bubble Bobble look like The Exorcist. Lo and behold, after King Totoro had led the dance to make Mei and Satsuki’s acorns grow, a melody leapt out, unmistakeably eastern and yet instantly appealing to western tastes.
Download totoro.mp3
I analysed it every which way, pulled apart the plodding rhythm and the musical scale, and put together a melody of my own following the same style.
Download haiku3.mp3

5 Responses to “Haiku”

  1. Ryan says:

    I was just wondering, do you have the My Neighbour Totoro song on mp3? I’m a big fan of it!

  2. matt says:

    I’m afraid not, sorry – the clip here was recorded by the very low-tech method of plugging line out into line in and then playing back the DVD…

  3. roger says:

    how many characters can you draw?
    can you use a simple structure so that you can resize them but keep them drawn as the should be?
    i was trying to learn a bit from an elderly lady in hong kong – different to kenji no doubt but i kept starting in the wrong place
    have you seen sam coupe
    very simple basic blitz command can record a string of plot draw commands then redraw faster
    happy chrimbo newyear

  4. matt says:


    Each ‘stroke’ in the characters is a curve which is stored as three control points (the two end points and one more that defines the direction and ‘curviness’) so it should certainly be possible to resize them cleanly by multiplying those coordinates, yep. My plotting routine only handles coordinates up to 255, though!

  5. [...] a piano, and presumably has roots in oriental music (I previously rediscovered it while working on Haiku). To make it into something like a proper demo, rather than just a throwaway routine, I added a bit [...]

Leave a Reply