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 / 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 / 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 / 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 / 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 / joyloop.asm
Last active May 9, 2020 08:39
another joystick test, bitwise, looped, with comments too (c64)
; minimal joystick test #3, 21 bytes 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 / joymin.asm
Last active August 29, 2015 13:56
c64 / MOS 6510: lazy joystick test (port #2)
; lazy joystick test
* = $7c ; auto start in VICE
;
LDA $DC00 ; get port byte
STA $05F4 ; mid-screen
BVC *-6 ; 8 bytes total
0 b$="19243342":fori=1to8:poke54296,val(mid$(b$,i,1)):pokes,.:forj=.to99:nextj,i:goto.
10 rem analogue mouse test tool
12 rem - movement detection by polling SID registers s+25/26
14 rem - left/right buttons detection by polling control port #1
16 s=54272: js=56321
18 print"{reverse on}{down}analogue mouse test{reverse off}{down*4}"
20 y$="{light gray}yes{light blue}":n$="{gray}no {light blue}"
22 h$=n$: v$=n$: lmb$=n$: rmb$=n$
24 ho=peek(s+25):vo=peek(s+26)
26 fori=.to39:next
28 if ho<>peek(s+25) then h$=y$
@tomaes
tomaes / basic chr$(32) adventure (c64)
Last active December 14, 2015 07:08
mini game. space shooter without space. and shooting.
10 print"{clear}{down*8}{14}{red}dodge!{light blue}{return}{reverse on}{162*21}";:s=54296
20 sc=1024:py=0:lv=3:w=40:t=10:ti$="000000":js=56320:poke53280,6:cl=646:zz=198
30 j=peek(js)and3:if(j<>3)thenpy=py-(j=1)+(j=2):py=pyand7
40 sp=sc+(t+py)*w+t:pokesp,62:pokesc+(t+int(rnd(.)*8))*w+19,w:pokes,2:pokes,.
50 print"{home}{down*9}":fori=.to7:print" {delete} ":next:print
60 ifpeek(sp)<>32thenlv=lv-1:pokecl,2:pokes,9:pokes,.
70 print"{up}{reverse on}>"str$(lv)"{space*12}"ti$"{light blue}":iflv>.thengoto30
80 print"{up}{reverse on}game over,score:":pokezz,.:waitzz,1:run