Skip to content

Instantly share code, notes, and snippets.

💭
Programming is for AIs. Let's go shopping.

tomaes

  • Germany
View GitHub Profile
@tomaes
tomaes / joymin.asm
Last active Aug 29, 2015
c64 / MOS 6510: lazy joystick test (port #2)
View joymin.asm
; lazy joystick test
* = $7c ; auto start in VICE
;
LDA $DC00 ; get port byte
STA $05F4 ; mid-screen
BVC *-6 ; 8 bytes total
@tomaes
tomaes / joyloop.asm
Last active Aug 29, 2015
another joystick test, bitwise, looped, with comments too (c64)
View joyloop.asm
; minimal joystick test #3, 21 byte loop version; @ = not set, A = set
* = $1000
INIT LDY #8 ; init loop for checking all joystick port bits
LDA $DC00 ; load joystick port byte
LOOP PHA ; make a copy and put it on the stack
AND #1 ; least significant bit set?
@tomaes
tomaes / glitch101
Last active Aug 29, 2015
toggle bit 5 'til you pass out. (c64)
View glitch101
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 Mar 5, 2014
an attempt to do a credits scroll routine in glorious Commodore Basic v2 (c64); works, but sucks. ;)
View vscroll
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 Aug 29, 2015
rhythmic audio / video glitching in 11 bytes (c64)
View glitch rumba
;
; 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 Mar 8, 2014
19 bytes text noise effect (c64)
View text noise
;
; 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 Mar 15, 2014
shortest maze generator on the 64? (and most other Commodore machines)
View mini maze
0 ?spc(rnd(.)+.5)"#";:run
@tomaes
tomaes / glitchshifer_code_review
Created Mar 15, 2014
glitchshifter by 4mat explained
View glitchshifer_code_review
; 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 Mar 17, 2014
Nicely colored and evolving maze-like patterns.
View bella maze
0 poke646,2+(peek(143)and3):printchr$(206.5+rnd(1)-(peek(161)/2and31));:run
@tomaes
tomaes / hrhr
Created Mar 19, 2014
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.)
View hrhr
0 GO TO INFINITY
You can’t perform that action at this time.