pouët.net

Snowflake by RMDA [web]
screenshot added by hedning on 2020-06-07 10:29:59
platform :
type :
release date : june 2020
release party : Forndata 2020
compo : oldskool demo
ranked : 2nd
  • 15
  • 0
  • 1
popularity : 51%
 51%
  • 0.88
alltime top: #14494
added on the 2020-06-07 10:29:59 by hedning hedning

popularity helper

increase the popularity of this prod by spreading this URL:

or via: facebook twitter pinterest tumblr

comments

Nice Snowflakes on ZX Speccy in 256b
rulez added on the 2020-06-07 10:46:52 by Queen_Luna Queen_Luna
https://www.youtube.com/watch?v=ht23qdQlp64

YouTube 4K@50fps

...
rulez added on the 2020-06-07 10:51:43 by ded^RMDA ded^RMDA
nice
rulez added on the 2020-06-07 11:14:03 by g0blinish g0blinish
source code:

Code: device zxspectrum48 table equ #63 attr equ #5800 cycle equ 16 org #6214 ; decrease if add code (use cls ? #6214 : #6222) begin_file: ; self-documenting code start: push iy ; for returning to basic ld c, 3 loop5: ld b, cycle loop4: ld ix, fractal push bc call main ld a, c rra call nc, main ld a, (split+1) add 128 ; left or right fractal ld (split+1), a ld a, (grain+1) dec a small dec a ld (grain+1), a ld ixl, 4 call main ld a, c rra call c, main pop bc djnz loop4 xor a ld (small), a ld (flash), a ; disable blinking after first iteration dec c jr nz, loop5 pop iy ret ; end main: ld a,cycle loop_i: dec a ld iyl, a ld b,cycle loop_j: and %00010000 ; disable beeper - %00000000 out (#fe),a ld a, b dec a ld iyh, a flash rra jr nc, grain ld hl,attr ; ld hl,attr+#c3 ld de,attr + 1 ; ld de,attr+#c3 + 1 ld bc,768 - 1 ; ld bc,442 - 1 and %00000110 add %01000001 ; bright -> true ld (hl),a ldir grain: ld a, 15 and %00001111 out (#fe),a inc a ld b, a loop_k: push bc dec b ld a, b add ixl ld l, a ld h, table call coords ; (hl) -> de ld bc, de ; b = ky, c = kx ld a,iyh ; ld l, a ; call coords ; (hl) -> de ld a, d ; rla ; rla ; ld h, a ; ld a, e ; rla ; rla ; ld l, a ; add hl, bc ; ld bc, hl ; 4 * j + k ld a, iyl ; add ixl ; ld l, a ; ld h, table ; call coords ; (hl) -> de ld a, d ; rla ; rla ; rla ; rla ; add b ; ld d, a ; y -> b = 16 * i + 4 * j + k ld a, e ; rla ; rla ; rla ; rla ; add c ; split: add 246 ; ld e, a ; x -> c = 16 * i + 4 * j + k call point ; D - y, E - x pop bc djnz loop_k ld a, iyh inc a ld b, a djnz loop_j ld a, iyl cp 0 jr nz, loop_i ret point: LD A,#AF ; fast point: D - y, E - x SUB D LD D,A AND A RRA SCF RRA AND A RRA XOR D AND #F8 XOR D LD H,A LD A,E RLCA RLCA RLCA XOR D AND #C7 XOR D RLCA RLCA LD L,A LD A,E AND #07 LD B,A INC B LD A,#FE LOOP RRCA DJNZ LOOP LD B,#FF XOR B LD B,A LD A,(HL) XOR B LD (HL),A RET coords: ld a, (hl) and %00001111 ld d, a ld a, (hl) and %11110000 rra rra rra rra ld e, a ret org table * #100 ; table must start at #00 fractal db #22, #52, #55, #25 fracta2 db #31, #63, #46, #14 db #32, #53, #45, #24 db #33, #43, #44, #34 db #12, #26, #51, #65 end_file: len_file equ end_file-begin_file
added on the 2020-06-07 12:01:49 by ded^RMDA ded^RMDA
dope prod !
rulez added on the 2020-06-07 12:42:10 by superogue superogue
really good, love the sound of it as well
rulez added on the 2020-06-07 13:40:02 by randomi randomi
Spasibo DED`y za POBEDU!
rulez added on the 2020-06-07 14:12:29 by dpro dpro
why you use:
Code: point: LD A,#AF ; fast point: D - y, E - x SUB D LD D,A

?
added on the 2020-06-07 17:39:40 by g0blinish g0blinish
now that is sick!
rulez added on the 2020-06-07 19:33:08 by sq sq
nice intro :) ...some quick hack for 183 bytes, hope it helps somebody to dive into z80 sizecoding, havn't time dig it more, sorry ;)

Code: device zxspectrum48 attr equ #5800 cycle equ 16 org #805d ; decrease if add code (use cls ? #6214 : #6222) begin_file: ; self-documenting code start: ; push iy ; for returning to basic ld c, 3 loop5: ld b, cycle loop4: ; ld ix, fractal push bc ld ixl,#ff call main ; ld a, c ; rra call nc, main ; ld a, (split+1) ld hl,split+1 ld a,(hl) add 128 ; left or right fractal ld (hl),a ; ld (split+1), a ; ld a, (grain+1) ; ld hl,grain+1 ld l,0+(grain+1)%256 dec (hl) ;a small dec (hl) ;a ;-------changing command ; ld (grain+1), a ; ld ixl, 4 ld ixl,#03 call main ; ld a, c ; rra call c, main pop bc djnz loop4 xor a ld (small), a ld (flash), a ; disable blinking after first iteration dec c jr nz, loop5 ; pop iy ; ret ; end coords: ex de,hl ld l,a ld h,table ld a, (hl) and %00001111 ; ld d, a ; xor (hl) ; ld a, (hl) ; and %11110000 ld l,(hl) ld h,a xor l rra rra rra rra ; ld e, a ; ex de,hl ld l,a ret main: ; ld a,cycle exx ld c,cycle loop_i: ; dec a ld b,cycle ; ld iyl, a ; ld b,cycle loop_j: and %00010000 ; disable beeper - %00000000 out (#fe),a ; ld a, b ; dec a dec b ld a,b exx ; ld iyh, a flash rra ;-------changing command jr nc, grain ld hl,attr ; ld hl,attr+#c3 ld de,attr + 1 ; ld de,attr+#c3 + 1 ; ld bc,768 - 1 ; ld bc,442 - 1 ld b,#03 ;but be care with printer buffer 23296/#5b00 and %00000110 add %01000001 ; bright -> true ld (hl),a ldir ;can do -2b, but maybe some slow: ; ld h,#5b ; ld (hl),a ; ld c,l ;c=0 after exit ; dec hl ; bit 3,h ; jr nz,$-5 ;c=0 grain: ld a, 15 ;-------changing value and %00001111 out (#fe),a inc a ld b, a loop_k: push bc ; dec b ld a, b add ixl ; ld l, a ; ld h, table call coords ; (hl) -> de ; ld bc, de ; b = ky, c = kx ; ld a,iyh ; exx ld a,b exx ; ld l, a ; call coords ; (hl) -> de ; ld a, d ; ; rla ; ; rla ; ; ld h, a ; ; ld a, e ; ; rla ; ; rla ; ; ld l, a ; ; add hl, bc ; add hl,hl add hl,hl add hl,de ; ld bc, hl ; 4 * j + k ; ld a, iyl ; ; add ixl ; exx ld a,c exx add a,ixl ; ld l, a ; ; ld h, table ; call coords ; (hl) -> de ; ld a, d ; ; rla ; ; rla ; ; rla ; ; rla ; ; add b ; ; ld d, a ; y -> b = 16 * i + 4 * j + k ; ld a, e ; ; rla ; ; rla ; ; rla ; ; rla ; ; add c ; add hl,hl add hl,hl add hl,hl add hl,hl add hl,de ; ld d,h ld a,l split: add 246 ;-------changing value ; ld e, a ; x -> c = 16 * i + 4 * j + k ld c,a ; call point ; D - y, E - x ;point: LD A,#AF ; fast point: D - y, E - x ; SUB D sub h ; ld a,h ;if want Y-mirror and save 2 bytes, del [ld a,#af:sub h] call #22b0 ; LD D,A ; AND A ; RRA ; SCF ; RRA ; AND A ; RRA ; XOR D ; AND #F8 ; XOR D ; LD H,A ; LD A,E ; RLCA ; RLCA ; RLCA ; XOR D ; AND #C7 ; XOR D ; RLCA ; RLCA ; LD L,A ; LD A,E ; AND #07 LD B,A INC B ; LD A,#FE ;LOOP RRCA ; DJNZ LOOP ; LD B,#FF ; XOR B ; LD B,A ; LD A,(HL) ; XOR B ld a,#01 rrca djnz $-1 xor (hl) LD (HL),A ; RET pop bc djnz loop_k ; ld a, iyh ; inc a ; ld b, a exx inc b djnz loop_j ; ld a, iyl ; cp 0 dec c jr nz, loop_i exx ld a,c rra ret if $/256*256<$ __LOST equ $/256*256+256-$ ds __LOST display "__LOST: ",/d,__LOST display "NEED ORG: ",/h,begin_file+__LOST endif table equ $/256 ; org table * #100 ; table must start at #00 fractal db #22, #52, #55, #25 fracta2 db #31, #63, #46, #14 db #32, #53, #45, #24 db #33, #43, #44, #34 db #12, #26, #51, #65 end_file: len_file equ end_file-begin_file display "filesize: ",/d,len_file SAVESNA "snowfl.sna",start SAVEBIN "snowfl.bin",begin_file,len_file
rulez added on the 2020-06-07 23:06:23 by SerzhSoft SerzhSoft
Quote:
nice intro :) ...some quick hack for 183 bytes, hope it helps somebody to dive into z80 sizecoding, havn't time dig it more, sorry ;)


yep.
and i know this.

but also remember that @dpro code for the first time on Z80 for last 20 years :-)
added on the 2020-06-08 00:58:35 by ded^RMDA ded^RMDA
Very nice 256 intro!
rulez added on the 2020-06-08 12:20:34 by Tygrys Tygrys
kool
rulez added on the 2020-06-08 18:27:29 by fyrex fyrex
It's nice.
rulez added on the 2020-06-08 20:29:17 by ham ham
Roxx!!
rulez added on the 2020-06-17 22:18:57 by Dalthon Dalthon
Nice! Good work!
sucks added on the 2020-06-23 18:01:04 by klk klk
Indeed!
rulez added on the 2020-06-23 18:09:58 by HellMood HellMood
thats quite interesting
rulez added on the 2020-08-10 08:53:52 by Flashira Flashira
Quote:
Nice! Good work!
why dislike?🤷
added on the 2021-01-17 13:13:08 by dpro dpro
cool
rulez added on the 2021-12-04 10:58:12 by Blast! Blast!

submit changes

if this prod is a fake, some info is false or the download link is broken,

do not post about it in the comments, it will get lost.

instead, click here !

[previous edits]

add a comment