;Sierpinski Triangle ;By: Dan Englender ; -------- Includes ---------- #include "sos.inc" #include "squish.inc" ; ---------------------------- ; -------- Defines ----------- #define random vector2 #define getpix vectorc #define fastcpy vector1 ; --------------------------- ; -------- Header ----------- .org 9327h ccf jr z,init .dw libs-$9327 .dw desc ; --------------------------- init: ld de,30*256+30 mloop: ld b,3 call random dec a jr z,dispp ld l,60 dec a jr nz,mc3 mc2: ld a,e add a,l ; (e+60)/2 ld e,a ; (d+30)/2 ld l,30 mc3: ld a,d ; (d+60)/2 add a,l ; e/2 ld d,a dispp: sra d sra e push de push hl ld a,e sub 62 cpl ld e,a ld a,d add a,17 call getpix or (hl) ld (hl),a pop hl dec h call z,fastcpy ; fastcpy will set a new value for h pop de ld a,0fdh out (1),a in a,(1) cp 191 jr nz,mloop ret ; ----------- Text ----------- desc: .db "Sierpinski Triangle - TCPA",0 ; ---------------------------- ; ---------- Libs ---------- libs: .db "ZGFXL",0,0,0,lib2,vec1 .db "ZLIB",0,0,0,0,libC,vecc .db "ZLIB",0,0,0,0,lib2,vec2,$FF ; -------------------------- .end