lightshow by Sinnfrei [web]
[nfo]
|
||||||||
---|---|---|---|---|---|---|---|---|
|
||||||||
|
popularity : 58% |
|||||||
alltime top: #51739 |
|
|||||||
added on the 2004-05-19 20:16:13 by sinnfrei |
popularity helper
comments
this isn't a proper screenshot. if anyone can tell me how to make good screenshots of DOS programms mail to: sinnfrei_@freenet.de
added on the 2004-05-19 20:17:51 by sinnfrei
why add wrong screenshot ? :[
Use DOSBox Can help you to take screenshots of Dos based stuff.
Below i list 2 shorter versions for you. 1st is the same as yours but is now only 23b, the other is 37b but checks for ESC keypress, and then cleanly exits. The clean exit is can be removed if needed taking it down to 27b.
This listing is also in FASM format, to get it to compile with whatever compiler you use, you may need to change the "byte [si]" to [byte ptr [si]".
You'll also notice that the top pixel of the lines is sometimes the previous frames colour, you can get around that by keeping some of your original code, and get it to around 61 bytes(from what i remember)
I only started fiddling as there was plenty of room in there for checking for an ESC keypress :) but noticed a lot of the code wasn't even called, so just stripped it out.
And, i assume this is your 1st asm prod, so hopefully the exit codes and checking for keypress is of use to you. Keep on going and look forward to more of your attemps.
Btw, check out www.256b.com also which is a site dedicated to 256b and under productions. There you can download about 400 256b and under prods, a lot which in clude the source code so you can learn from them.
Below i list 2 shorter versions for you. 1st is the same as yours but is now only 23b, the other is 37b but checks for ESC keypress, and then cleanly exits. The clean exit is can be removed if needed taking it down to 27b.
This listing is also in FASM format, to get it to compile with whatever compiler you use, you may need to change the "byte [si]" to [byte ptr [si]".
You'll also notice that the top pixel of the lines is sometimes the previous frames colour, you can get around that by keeping some of your original code, and get it to around 61 bytes(from what i remember)
I only started fiddling as there was plenty of room in there for checking for an ESC keypress :) but noticed a lot of the code wasn't even called, so just stripped it out.
Code:
lightshow.asm
org 100h
start:
mov ax, 13h
int 10h
push 0A000h
pop ds
dec byte [si]
drawloop:
inc si
inc si
inc byte [si]
inc byte [si]
inc si
inc si
inc byte [si]
jmp drawloop
Code:
lightshow-cleanexit.asm
org 100h
start:
mov ax, 13h
int 10h
push 0A000h
pop ds
dec byte [si]
drawloop:
inc si
inc si
inc byte [si]
inc byte [si]
inc si
inc si
inc byte [si]
in al, 60h ; was ESC pressed?
dec al ; |
jnz drawloop ; If no then repeat
endprog:
mov ax, 0003h
int 10h
mov ax, 4C00h
int 21h
And, i assume this is your 1st asm prod, so hopefully the exit codes and checking for keypress is of use to you. Keep on going and look forward to more of your attemps.
Btw, check out www.256b.com also which is a site dedicated to 256b and under productions. There you can download about 400 256b and under prods, a lot which in clude the source code so you can learn from them.
Oh, and you'll noticed things like the push/pop bit of code in there. That will save you 1 byte :)
And, in your original code, you had a lot of move [reg], 0 s. You can save another byte on those by doing "xor [reg], [reg]" which give the same results.
And, in your original code, you had a lot of move [reg], 0 s. You can save another byte on those by doing "xor [reg], [reg]" which give the same results.
thanks for the tips, Intrinsic, and you're right that's my first prod. About DOSBox, I had already tried it but it didn't work. The prod wasn't starting. i've uploaded the new version.
Also, you can change
to shave off an extra byte.
But i should also mention this does make assumptions about AH being 0 (which it should do anyways, but could break in future :)
Also:
to shave off another byte.
Code:
mov ax, 13h
to
mov al, 13h
to shave off an extra byte.
But i should also mention this does make assumptions about AH being 0 (which it should do anyways, but could break in future :)
Also:
Code:
inc byte [si]
inc byte [si]
to
add byte [si], 2
to shave off another byte.
Now I got it working on DOSBox. The file name was too long.
Yep ! Another new dude on the scene ! So I'm not the only newbie here !
Btw use retn for exit (if stack is balanced, in other case e.g. push ax)
P.S. Feel free to ask me whatever you want man, as soon I'm not a DADY on the scene, I'll answer...
Btw use retn for exit (if stack is balanced, in other case e.g. push ax)
P.S. Feel free to ask me whatever you want man, as soon I'm not a DADY on the scene, I'll answer...
not very interesting.
Proper Screenshot:
It's bad.
But it is his 1st attempt so he gets a pat on the back for that.
Everyone seems to forget they all started from the same position, they didn't just leap into making great prods.
Just like experienced drivers bitching about learner drivers, they were once in the same position.
Everyone seems to forget they all started from the same position, they didn't just leap into making great prods.
Just like experienced drivers bitching about learner drivers, they were once in the same position.
everyone has to start somewhere... but it shows a lack of respect to the others if every little try gets posted to pouet.
Well,. it's ok for me if someone wants to post anything, however I just thumbed it down regardless if it's his first, because it wasn't even displaying anything that looks like an effect, just some blinking lines.
horrorshow
meh
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 !