Oh No! More Noise [28b] (Hires remix) by Rudi
[nfo]
|
||||||||
---|---|---|---|---|---|---|---|---|
|
||||||||
|
popularity : 52% |
|||||||
alltime top: #31412 |
|
|||||||
|
||||||||
added on the 2017-02-08 10:27:00 by rudi |
popularity helper
comments
stop! noisetime!
added on the 2017-02-08 10:31:53 by wysiwtf
too bad it is not b/w. but hey, noisetastic!
Noice =) i might remix this one
Here is what i have so far :
( 31 bytes, black white noise in 16 colors @ 640x480, audio noise )
Works in DosBox only (or on a real system with the exact
card DosBox is emulating). That saves all the BX handling,
the only real save is the shared int 10h usage (-2 bytes)
The pseudorandom generator is pretty elegant already, hard
to replace by any of my fractal inventions without either being
slow, not filling the screen or not having a high resolution.
Mapping to gray shades is already a pain, because the carry
flag has to be kept ( +2 bytes). Outside the DosBox, a black
white TV noise in 640x400 VESA is exactly 32 bytes in size,
but hasn't sound either. There are two colored or monochrome
version in 30 bytes, but they don't look like the real thing ;)
( 31 bytes, black white noise in 16 colors @ 640x480, audio noise )
Code:
les bp,[bx] ;load es=videomem
mov al,0x69
S int 10h
P xchg si,ax ;pseudo random generator
sbb ax,si
pushf
and al,15
add al,15
stosb
popf
loop P ;loop the fuck
out 61h,al
out 42h,al
inc dx ;bank-index
and dl,byte 7
mov ax,0x4f05 ;video control
jmp short S
Works in DosBox only (or on a real system with the exact
card DosBox is emulating). That saves all the BX handling,
the only real save is the shared int 10h usage (-2 bytes)
The pseudorandom generator is pretty elegant already, hard
to replace by any of my fractal inventions without either being
slow, not filling the screen or not having a high resolution.
Mapping to gray shades is already a pain, because the carry
flag has to be kept ( +2 bytes). Outside the DosBox, a black
white TV noise in 640x400 VESA is exactly 32 bytes in size,
but hasn't sound either. There are two colored or monochrome
version in 30 bytes, but they don't look like the real thing ;)
Forgot: To my knowledge, linear access to the framebuffer is
only possible in protected mode (32bit), and there is no real
short way to switch banks without interrupts. There might be
a way to tinker a fractal screen filling thingie for mode 0x12,
like the dragon fractal, which would occupy 16 + x bytes, but
that would use the int 10h pixel set sub routines and therefore
be really slow.
only possible in protected mode (32bit), and there is no real
short way to switch banks without interrupts. There might be
a way to tinker a fractal screen filling thingie for mode 0x12,
like the dragon fractal, which would occupy 16 + x bytes, but
that would use the int 10h pixel set sub routines and therefore
be really slow.
Welp, I managed 60 bytes in QBasic with no sound. I'm sure there are further optimizations to be made. :P
SCREEN 9:DO:PSET(INT(RND*640),INT(RND*480)),INT(RND*16):LOOP
SCREEN 9:DO:PSET(INT(RND*640),INT(RND*480)),INT(RND*16):LOOP
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 !