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
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
This website does not set any cookie