Well, everything started with the needing of making a rhythm in 79 chars of basic code to partecipate at Transmission 64.
With unconscious enthusiasm I wrote something that sounds:
0s=54272:dA24,9,19,9,15,9,18,33,18,32:fOi=1to5:rEk,v:pOs+k,v:?i,k,v:nE:reS:gO
run
(Paste it on Vice with Alt+Ins)
There was no time to end the word "hard reset" that the line ended.
So, I've realized that I can't write data in the code but found it 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.
0s=54290:fOi=0to4:a=pE(41474+i)-77:pOs+a,9:nE:pOs,32:pOs,33:pOs-3,pE(162):gO
run
Good, it is worse than Fort Apocalypse intro of the '82.
The rest of the story is me coding a program that generates regexes to find register sequences like this:
U[\\s\\S]{0,2}L[\\s\\S]{0,2}T[\\s\\S]{0,2}O[\\s\\S]{0,2}O[\\s\\S]{0,2}P[\\s\\S]{0,2}
And other regexes to fill to those registers like this:
0[\\s\\S][\\s\\S][\\s\\S]\xfd[\\s\\S]\x86[\\s\\S][\\s\\S][\\s\\S][\\s\\S]\x1f
But you can't understand my surprise when it starts writing BEFORE 54272 which is the VIC registers area :)
That's all folks!
MAT64 |