Plasma64 by optimus
[nfo]
|
||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
||||||||||||||
|
popularity : 62% |
|||||||||||||
alltime top: #4992 |
|
|||||||||||||
|
||||||||||||||
added on the 2004-03-01 13:59:18 by Optimus |
popularity helper
comments
Quite cool for such a tiny prod.
This 64b looks actually better than some bad 256b.
great 64b
cool!
hehe nice, altho you could've done some xor-texture-plasma-like thingy with some optimizing ("mov [es:si],al","inc si" <- stosb if you put DI as your vscr, etc.)
good :-)
umm.... I thought plasma was a different effect. This just looks like an oscillating sinusoid to me.
Nice!
░‼═►h É▼1 ¥ï☺ê-☺±©( ¸Ú)ÍGu‗h á•Æ1÷│╚╣@☺è•ë¤☻♣☺Î☻♣ &ê♦FÔ¯■╦uþBÙÓ
I've seen a lot worse stuff in 64b
yeah
std::plasma. thumb for the size
Unbelievable!
Still rulez.
Coll stuff for 64 bytes, like the fact that it changes palette to add some extra variety.
Btw. anyone know the theory behind the Baze pseudo-sine-generator? It's damn compact atleast!
Btw. anyone know the theory behind the Baze pseudo-sine-generator? It's damn compact atleast!
Only is the lack of escape, but that's explained here.
Blob, blob, blob... it's nice!
The program can be optimized by 2 bytes if you swap di and si. Then you can use stosb instead of mov [es:si],al inc si. Code:
Code:
A problem: For the original plasma64.asm, TASM produces a much larger code than 64b. Why?org 100h
mov al,13h
int 10h
push word 09000h
pop ds
xor si,si
mov di,395
Singen:
mov [si],ch
add cx,di
mov ax,40
imul cx
sub di,dx
inc si
jnz Singen
push word 0A000h
pop es
xchg ax,dx
aloop:
xor di,di
mov bl,200
yloop:
mov cx,320
xloop:
mov al,[bx]
mov si,cx
add al,[si]
add si,dx
add al,[si]
and al,dh
stosb
loop xloop
dec bl
jnz yloop
inc dx
jmp aloop
The answer is in http://www.pouet.net/topic.php?which=5933.
dig it
ok one
Pretty.
Very good plasma!
You can save here 3 bytes if you change the second half with something like
You can save here 3 bytes if you change the second half with something like
Code:
xchg ax, bx
L: mov si, 320
mov ax, di
xor dx, dx
div si
mov si, ax
mov al, [si]
mov si, dx
add al, [si]
add si, bx
add al, [si]
and al, bh
stosb
loop L
inc bx
jmp L
Damn, overlooked obvious shrink by another 2 bytes:
from
to
from
Code:
add si, bx
add al, [si]
to
Code:
add al, [si+bx]
that's what i wanted to do... but mine is 4 times the size :(
looks nice (=
unattractive
lists containing this prod
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 !
You can watch plasma movements and stare at 256 diferrent color patterns ;)
I wanted to have a vsync too but no space left, fortunatelly it doesn't get much much much insanely faster in newschool machines, so it showed quite ok at the compo.