0]']>S}Wup8d0)6o;]AsVl4 (\-[E" z yhb1_C{ 8BTvͫyfE#!Tv̪W41ezF#yppwwwwwwwwwwwwwwwwwwwwwww'ww23ww2ww'Cww2DwwCDw"DD2#DD3#DD"33#DDDDDDDDDDDDDDDDDDDDDDDDDDDD#DsD$wwD4#"DD33DD33DD33"3#3333333wpww2pwpwwwww"2'23333""wwww'"333333333"wwwwww333#33333333www"wwwwwwwwww"rww33"w333r"33#wwwwwww'ww'2w'23w23"2#rwrwwwwwww'2332333333"#"wwwwwwwwwwwwwwwwww3#DD3"CDwwBDww7DwwwCwww'wwwwwwwwDDDDDDDDDDDDDDDDDDDD3DD3w""wwwwwDD2rD42wD$"wDsrw#wwwrwwwwwwwwwwwwww"wwwwwwwwwwwwwwwwwwwwwwwwr # "wprwwpwwwwwwp23 3#r3rwwrwwwwwwwwwwwwwwwwwww"wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww2w'23ww'#ww'#ww2rw'#w'3rw2rww"wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwpwwpwpwwwwwwwwwwwwwwwwp"wwwppw'2"""rw"wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwpwwwpwwwpwwwpw""pww'pwwwwwwwwwwwwwwwwwwwwwwwrwww"233ww'"wwwwwwwwwwwwwwwwwwwwwww33s"wwwwwwwwwwwwwwwwwwwwwwppwpwwwpwwpwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwpwpwwpwwwwwwpwpwwwwwwwwwwwwwwwwwwwwwwwwwwwwwݎ"=<2-#32ݍ݉͝3#ݝ#ݎݝ3#ss݂--=s3"ݎ.-=<= 322333="====33="<=̀233"#L3#3#323ݎ>2===33"333(=="2===3#22#=s3#(==<2""-s͂݀(33",<"<3#2#s3"==="===32 8$-<-2(#,,#."##-=#=(-3=3,"-3-"-"ݎݍ-23#--=---3"2.-=я-݀̀23"CL=-<#3,,M 33"3܎==p3#݂݀݀33,==3#݀-===p=03#-|ss3",sss3"-====32 #݁݀(33======3#B"=3#"=3<3s3#-"--"ݎݍ-݉ݝ3"#∎"2!,"-==--= s===-#߈.====- #<(-3=-==#=s݁݀(33ww-<<<<<3#pB2=3#--,#<= 32!33--==#2-==<< =23#݁݀(33=====3#̀(323s-,#< #|sss"2=-=#3#Dݎ== 3#(-3=$<<#<!!--=3=2#"""#3""tsM>03>0303s#s݀݀̀<33"-==3#"=<<332w73#w#>#3p>3<pw##33"3p43"3# 陙陙陙陙ޙ̙̙͙陙陙陙陙陙陙陙ޙޙޙޙޙޙޙ陙陙陙陙陙陙陙̙̙鞙̙陙̙̙̙̙̙̙̜̜̜̜̝̜̝͜͜͜ݝ̜̜ɜ̜̙̜̝ٝݜ̜̜ @` ?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PPPPPPPPPPPPPPPPPPPPPPPPPPPPPP``````````````````````````````pppppppppppppppppppppppppppppp@QbsdT t`t@  @@@ @O@@@@@@@@@@@@@@@@@@@@@@@@@@@@BDEGHIJLLNOO@@@@@@@@@@@@@ z5Xu0````````````````````````dpP0 bbbb``bb`bb`bTttTTtt TTt TTTTTTTTTTTTA4PRrqSPqs QRq RQPQRPQPQPRSA3     :@P44T4T4tT4Tt4TT4 4 T T t T 4 t T 4 t T 4 T TW@4 R44T4T4tT4Tt4TT4 4 T T t T 4 t T 4 t T 4 T TW@4'''''''''''''''''''''''bbbb``bb`bbbb``bb`w,՗wgWG7'`@  0P44T4T4tT4Tt4TT4 4 T T t T 4 t TfQHc,b(b(0=? 233pw'CDDD4pwww2DDDDD4pwwww'CDDDDDDrwwwwwww7DDDDDDD3""wwwwww'BDDDDDDD4333"pwwwwww"3BDDDDDDD43333#pwwwww'333BDDDDDDD433333pwwwww"3333BDDDDDDD$#www'"pwwwww"3333#2DDDDDDD#swwwwwpwwwww"333#rw'DDDDDDD"rwwwwwwwwwwwpwwwww"33"rwwwwCDDDDD4'wwwwwwwww"233333""www'3#rwwwwww7DDDD4rwwwwwwpww'"3333333333#r'3"wwwwwwwww2CD4#wwwwwwwww"33333#2333333#'wwwwwwwwwwww'"rwwwwwwwp'33#"rwwwwww'"233rwwwwwwwwwwwwwwwwwwwwww'3#rwwwwwwwwwwww"3swwwwwwwwwwwwwwwwwwwwww23"wwwwwwwwwwwwwww2rwwwwwwwwwwwwwwwwwwwww2#wwwwwwwwwwwwwwwww2rwwwwwwwwwwwwwwwwwwwww2"wwwwwwwwwwwwwwwww'#wwwwwwwwwwwwwwwwwwwwww"rwwwwwwwwwwwwwwwwww2rwwwwwwwwwwwwwwwwwwwww'wwwwwwwwwwwwwwwwwww2#wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww'#wwwwwwwwwwwwwwwwwwwwwwpwwwwwwwwwwwwwwwww'#rwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww"#rwwwwwwwwwwwwwwwwwwwwwwwwwWDDTUUDDpw'""wwwwwwwwwwwwwwwwwwwwwwwwUUE'""DTUUUUD'"rwwwwwwwwwwwwwwwwwwwwwwwwUUU%""BUUUUUUUpwwwwwwwwwwwwwwwwwwwwwwwwwPUUU""BUUUUUUUUEpwwwwwwwwwwwwwwwwwwwwwwwwUU3UUEUUUUUUUUUEpwwwwwwwwwwwwwwwwwwwwwwwwPU3UUUUUUUUUUUUUUwwwwwwwwwwwwwwwwwwwwwww RUUUUUUUUUU533UUUwwwwwwwwwwwwwwwwwwwwww RUUUUUUUUUU53333UUpwwwwwwwwwwwwwwwwwww"UUUUUUUUUU5333333UEwwwwwwwwwwwwwwwwww RUUUUUUUUUU3333333SEwwwwwwwwwwwwwwww UUUUUUUUUUU3333333SEwwwwwwwwwwwwwRUUUUUUUUUU533333333Ew'""wwwwwwDUUUUUUUUUU533333333Dwww""33333@DUUUUUUUUUU333333333wwwwww""rDDUUUUUUUUUU333333333pwwwwwwwwwPUEDDUU%RUUUUUU333333333pwwwwwwww DDDU4DDDRU%RUUUUUU333333333wwwwwwwwwBDDDD3D""RU%"UUUUUU333333333swwwwwwww DDDD43$"""U%"RUUUUU233333333wwwwwwwwwBDDDD33""""R%""UUUU%23333333swwwwwwww@4CDDD43#"""""R"""UU%""3333333wwwwwwwwD3CDDD4#""""""""""""""2333333wwwwwwwww@DDCDDD4"""""""""""""""U53333wwwwwwwwwDDDDDDD$""""""""""""""R%"233wwwwwwwww"3CDDDTUDD"""""""""""""""""""0wwwwwwwww 233DDDUUED""""""""B"""""U"""wwwwwwww"333C4SUUUD""""""""DTUUUU%""pwwwwww"333C3UUUU%"""""""BDRUUUUpwwww3#E33333UUUU%"""""""D$"RUU"www033D43333UUU3#"""""""""""""033D$3333SU533""""""033DTUU333U333#%"""C3CDUUU53333333R330DDDTUUUU3333333"""PDPU0EDDSUUUU4343333""U%PUD4SUUUUDD4333S" ED23UUUEDD33330R23"2#23SUUC33333U5C$4#"333333P4D@ ""UU03 @D"RUU"E@U PU@D.ݎ"-ݍ#="-##ݎ=-ݎ3,-.3"-B,-, ݉ݍ܎2#<=s-ݝݎ==<s=33,=3# 32s=s="##>M=3" 32=∎2= 33"p3#== =-==3" 32 --= -݂32333==ݎ=, 33#2=ݝ==<-3݀==<#ݍ#=333#-ݎ-"=332<2323"-3,w=""#=#>s<(333#<=2=3͂"=== ݀==<=#=32333(333#2L2333#(333#o-- title: Illegal Instruction -- author: Dave Borghuis/zeno4ever -- author: Music by Enfys -- desc: Amiga "emulator" in TIC80 -- site: daveborghuis.nl -- license: MIT License (change this to your license of choice) -- version: 0.1 -- script: lua trace("'Illigal instruction' by zeno4ever",11) trace("Demo inspired by 38C3 congress theme") t=0 rand=math.random bordermode=0 txt=" " txt=txt.."WELCOME TO FIRST TIC AMIGA 'EMULATOR'. THIS IS A DEMO MADE ON CENTERHACK EVENT IN NETHERLANDS. MUSIC BY ENFYS. CODE BY ZENO4EVER." txt=txt.."GREETING TO FREADY GASMAN HAVOC OKKIE POO-BRAIN RHOTRP SUPEROGUE. " txt=txt.."HI ZENO4EVER HERE. GREW UP WITH THE AMIGA AND AFTER SEEING THE THEME OF THIS YEAR CCC CONGRESS GOT INSPIRED TO MAKE THIS DEMO JUST FOR FUN. HAVE A NICE CONGRESS. IF YOU WANT TO TALK WITH ME I WILL HAVE A YELLOW HACKERSPACE TKKRLAB HOODY AND PROBALY AT THE HSNL 'DUTCH HACKERSPACES' ASSEMBLY. " txt=txt.." " music1=flase music2=flase -- copper bars cbar={} cbar[1]={y=40,r=255,g=0,b=0,d=-1} cbar[2]={y=60,r=0,g=255,b=0,d=1} cbar[3]={y=80,r=0,g=0,b=255,d=-1} smoke={} function BOOT() for i=1,200 do local live=rand(200) smoke[i]={ s=rand(10), c=rand(2,5), x=live*-1.5+rand(5), y=live*0.6+rand(5) } end end function TIC() -- guru meditiaion if t<300 then guru() end -- amiga insert disk if t>300 and t<700 then loading() end -- decrunch if t>700 and t<900 then cls(0) bordermode=2 music(-1) end -- the main demo if t>900 then demo(900) end t=t+1 end function scroller(toffset) for i=1,#txt do local c = string.byte(string.upper(txt:sub(i,i)))-65 -- char space if c==-33 then c=31 end -- char . if c==-19 then c=26 end -- char ? if c==-2 then c=27 end -- char - if c==-20 then c=28 end -- char ' if c==-26 then c=30 end -- char 4 if c==-13 then c=29 end spr(c//8*32+c%8*2+128,(i*16)-(t-toffset)%(#txt*16),110+math.sin(i*.5+t/40)*10,1,1,0,0,2,2) end end function guru() cls(0) if t%30==0 then blink=not(blink) end if blink then rect(0,0,240,40,3) rect(2,2,236,36,0) end print("Illegal instruction. Press left mouse button to continue.",7,10,3,0,1,1) print("Guru Meditation #000004.000CAFE",52,20,3,0,1,1) end function loading() cls(12) bordermode=1 if not(music1) then music(0) music1=true end spr(256,50,10,1,1,0,0,16,16) end function demo(toffset) cls(0) if not(music2) then music(1) music2=true end bordermode=3 --smoke of rocket local rocketoffset=20+math.sin(t/30)*10 for i=1,#smoke do circ(80+smoke[i].x,rocketoffset+27+smoke[i].y,smoke[i].s,smoke[i].c) smoke[i].x = smoke[i].x-1.5 smoke[i].y = smoke[i].y+0.6 smoke[i].s = smoke[i].s-0.17 if smoke[i].s<1 then smoke[i]={s=10,c=rand(2,5),x=rand(10),y=rand(10)} end end -- ccc rocket spr(0,37,rocketoffset,0,1,0,0,16,8) scroller(toffset) --update copper bars for local_cbar=1,#cbar do cbar[local_cbar].y = cbar[local_cbar].y+1*cbar[local_cbar].d if cbar[local_cbar].y>80 then cbar[local_cbar].d = cbar[local_cbar].d*-1 end if cbar[local_cbar].y<20 then cbar[local_cbar].d = cbar[local_cbar].d*-1 end end end function BDR(l) -- bordermode -- reset poke(0x3fc0,0) poke(0x3fc1,0) poke(0x3fc2,0) -- 1) insert disk / hand if bordermode==1 then poke(0x3fc0,255) poke(0x3fc0+1,255) poke(0x3fc0+2,255) end -- 2) decrunch if bordermode==2 then poke(0x3fc0,rand(256)) poke(0x3fc0+1,rand(256)) poke(0x3fc0+2,rand(256)) end -- 3) main demo if bordermode==3 then local local_bar,fade for local_bar=1,#cbar do if l>cbar[local_bar].y-10 and l