Go to bottom
Oh No! More Noise [28b] (Hires remix) by Rudi
screenshot added by rudi on 2017-02-08 10:27:00
platform :
type :
release date : february 2017
  • 3
  • 2
  • 0
popularity : 49%
  • 0.60
alltime top: #25326
added on the 2017-02-08 10:27:00 by rudi rudi

popularity helper

increase the popularity of this prod by spreading this URL:

or via: facebook twitter pinterest tumblr


stop! noisetime!
added on the 2017-02-08 10:31:53 by wysiwtf wysiwtf
too bad it is not b/w. but hey, noisetastic!
rulez added on the 2017-02-08 15:36:30 by sensenstahl sensenstahl
As far as I know, this is the first noise in hires for DOS. It uses 640x400 256 color VESA mode. I did this in one night, so it's unoptimized (that is I haven't explored anything further). The trick is to switch banks by incrementing the DX-register and calling Int 10h. AX must be set because the PRNG and STOSB-plot uses AX.

"It set bank by interrupt, so it writes 65536 bytes of noise to one bank, changes to the next bank and writes noise again and so on. There is a total of 4 banks in this mode."

I wish there was one big framebuffer in memory to write to, but I dont know if Vesa has this option. If this is not available, Im wondering if it is possible to switch banks without using the interrupt?
added on the 2017-02-08 21:11:59 by rudi rudi
sensenstahl: that has nothing to do with 32b and noise.
added on the 2017-02-08 21:55:40 by rudi rudi
Noice =) i might remix this one
rulez added on the 2017-02-09 08:56:16 by HellMood HellMood
Here is what i have so far :

( 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

BB Image

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 ;)
added on the 2017-02-09 23:15:21 by HellMood HellMood
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.
added on the 2017-02-09 23:21:51 by HellMood HellMood
Welp, I managed 60 bytes in QBasic with no sound. I'm sure there are further optimizations to be made. :P

rulez added on the 2017-02-11 03:29:48 by jmph jmph
jmph: seems like you can strip of the INT and get 45 bytes:

added on the 2019-06-23 17:00:48 by rudi rudi

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

Go to top