Skip to content

Instantly share code, notes, and snippets.

View tomaes's full-sized avatar
💭
Programming is for AIs. Let's go shopping.

tomaes

💭
Programming is for AIs. Let's go shopping.
View GitHub Profile
@tomaes
tomaes / glitch101
Last active August 29, 2015 13:57
toggle bit 5 'til you pass out. (c64)
0 s=53265:a=32:b=223:c=53280:pokec,.:pokec+1,.
1 pokes,peek(s)ora:pokes,peek(s)andb:::::::::::goto1
@tomaes
tomaes / vscroll
Created March 5, 2014 15:16
an attempt to do a credits scroll routine in glorious Commodore Basic v2 (c64); works, but sucks. ;)
1 rem roll dem credits
2 s=53265:k=240:a$(.)="yo!":a$(1)="let's scroll":a$(2)="upwards":a$(3)="smoothly"
3 printa$(i):i=(i+1)and3:forn=7to.step-1:pokes,peek(s)andkorn:forx=.to49:nextx,n:goto3
@tomaes
tomaes / glitch rumba
Last active August 29, 2015 13:57
rhythmic audio / video glitching in 11 bytes (c64)
;
; glitch f-art
;
* = $1000
;
loop EOR $A2
NOP ; makes everything look much saner ;)
; AND $C5 (fake interactivity :P)
STA $D011
STA $D418
@tomaes
tomaes / text noise
Created March 8, 2014 18:27
19 bytes text noise effect (c64)
;
; fill screen with 'text noise' (19 bytes with SEI)
;
* = $1000
SEI
loop EOR $D012
STA $0400,y
STA $0400+256,y
@tomaes
tomaes / mini maze
Created March 15, 2014 15:39
shortest maze generator on the 64? (and most other Commodore machines)
0 ?spc(rnd(.)+.5)"#";:run
@tomaes
tomaes / glitchshifer_code_review
Created March 15, 2014 19:15
glitchshifter by 4mat explained
; glitchshifter by 4mat explained
;
* = $7c ; starts in Zeropage. Overwrites some BASIC interpreter parts;
; faux autostart in VICE due to RUN (+return! just that would
; suffice)
SBC $a1 ; Accu minus (slowly updated) system timer byte ($A1)
SEI ; stop interrupts to halt timer temporarily and add some speed-up,
; inner loop starts
ORA $a2 ; bitwise OR'ed Accu with fresh timer data from fast sys timer ($A2)
; (but: the Accu rarely changes in this very fast inner loop)
@tomaes
tomaes / bella maze
Created March 17, 2014 11:31
Nicely colored and evolving maze-like patterns.
0 poke646,2+(peek(143)and3):printchr$(206.5+rnd(1)-(peek(161)/2and31));:run
@tomaes
tomaes / hrhr
Created March 19, 2014 16:45
An unlikely, but perfectly valid Commodore Basic program. :) (this works, because any non-literal (or even emptiness) after "go to" = 0 and "go to" is an alternative version of "goto", that no one ever used.)
0 GO TO INFINITY
@tomaes
tomaes / raster-fari
Created March 22, 2014 18:11
16 bytes for a fairly nice looking (and flicker free) static raster effect (c64)
* = $7c ; zeropage boot-up (for VICE)
sei ; no interupts, no flickering
sty $d011 ; background frame is now everywhere
cpy $d012 ; wait for next raster line
bne *-3 ;
sty $d020 ; set fullscreen color
iny ; wait 2 lines (looks best)
iny ;
bvc *-10 ; loop quickly
@tomaes
tomaes / snaaakes
Created May 7, 2014 19:57
long-winded obstacle things coming your way (c64)
* = $7c
loop tax
sta $0774,x
jsr $e965 ;\n
jmp loop