MAT64 - Dancing with the Basic

MAT64 - Dancing with the Basic
Dancing with the Basic

Beautiful strings live in ROM, I used some of them to feed the SID and the VIC and some crazy stuff comes out.

A Shot in the R.O.M.


Adventures in 79 tokens
...and how much I laughed doing them.

Well, everything started with the needing of making a rhythm in 79 chars of basic code to participate to the "BASIC oneliner competition" at Transmission 64 party.
With unconscious enthusiasm I wrote something that sounds:

(Paste it on Vice with Alt+Ins)

There was no time to end the word "hardrestart" that the line ended...

So, I've realized that I can't write any data in a line of code but look for existing data I can found somewhere in the ROM. As bonus, i can add a fixed offset to the values I read, so I don't need exact values but exact deltas.

Some regexes later...

You can't understand my surprise when the word 'SING' cames out from the regex. It was a part of the Basic Error Message Table, the full word was "MISSING FILE NAME".

So this 3 values subtracted by 77 gives me:

  • 24 - for the volume register
  • 14 - for frequency of a voice 3
  • 19 - for attack/decay of the voice 3

After some attempts, timeconsuming tasks, kicks, shakes and opts I finally got the sound of a musical scale.


Good, it's worse than Fort Apocalypse intro of the '82...

A Basic Groove


My submission to the C64 Basic Demo Competition at Transmission64 3rd Edition

download from CSDb

Allegretto con Fuoco alla Fermata


Notturno Pizzicato sul Ponticello




The rest of the story is me coding a program that generates regexes to find register sequences like this:


And other regexes to fill to those registers like this:


But you can't understand my surprise when it starts writing BEFORE 54272 which is the VIC registers area :)

Dancing with the Basic (2022)

Download the entire compilation for Commodore 64 and find for the hidden parts in the code :D

download from CSDb

Cookie policy

This website does not set any cookie