Mikrodema w poniedziałki: Cały ten szszszuuum…

Każda subkultura podąża za modnymi trendami, czy tego chce, czy nie chce. Demoscena również przetwarza na swój sposób modne, popkulturowe trendy. Jednak czasami, falowo przewijają się przez demoscenowe ekrany (te stare – beczkowate, i te nowe, całkiem płaskie) produkcje będące obrazem tymczasowej mody, nieinspirowane zewnętrznymi źródłami.

Zdarzyło się np., że Commodore’owa grupa Camelot, w grudniu zeszłego roku zaczęła masowo produkować na C64 256-bajtowe intra, które po uruchomieniu wyświetlały na ekranie płynnie przewijany tekst składający się z:

Głupota na miarę rekordów Guinnessa!

Znacznie bardziej widowiskowa okazało się jednak zeszłoroczna, listopadowa moda na udawanie śnieżenia na ekranie. Co można pokazać no, w 32 bajtach w MS-DOS, albo też nakręcić 888-megabajtowy film o śnieżeniu na ekranie (którego pierwszą, i ostatnią, minutę można obejrzeć dzięki uprzejmości YouTube).

Dość rzec, że telewizyjny szum sportowano na:

Szum, wersja z tłumikiem
Szum, wersja z tłumikiem

Skoro osiągnęliśmy już poziom absurdu, czas zająć się analizą zjawiska, które można określić mianem cyfrowego szumu. Moda na cyfrowy szum (o nazwie kodowej Wallflower) zakwitła na Pouecie w maju tego roku.

Do tej pory mogliśmy obejrzeć Wallflowera na Commodore 64 w wykonaniu grupy Ate Bit http://www.pouet.net/prod.php?which=56935, który zmieścił się w 23 bajtach kodu procesora MOS 6510 (7C 00 05 A2 29 3F A8 E5 A1 45 A2 05 A2 29 7F 99 00 D4 99 D7 CF 50 EB), co można przetłumaczyć jako:

* = $7c
ora $a2
and #$3f 
tay
sbc $a1
eor $a2
ora $a2
and #$7f
sta $d400,y
sta $cfd7,y
bvc $7c

a wygląda tak:

Na Atari 800XL/65XE/130XE Wallflower XL http://www.pouet.net/prod.php?which=56951 (napisany przez wspomnianego wcześniej JAC!-a) również zajmuje 23 bajty i działa na bliźniaczym procesorze MOS 6502C.

Wygląda z jednej strony tak:

* = $2000

.opt ill
sei
loop lax 20
ora 19
tay
sta $d200,y
eor $d40b
sta $d000,y
bvc loop

a po uruchomieniu, w ten sposób:

Dodajmy, że w archiwum z hm… intrem znajduje się również 16-bajtowa odmiana Wallflowera na Atari XL/XE.

Stawkę podbili jednak użytkownicy brytyjskiego ZX Spectrum, na którym monochromatycznego Wallflowera ZX udało się wykonać w 15 bajtach kodu procesora Z80:

 org #afc8

jp2 ld h,#57
jp1 ld a,r
xor (hl)
ld (hl),a
dec hl
out (254),a
bit 6,h
jr nz,jp1
jr jp2
len equ $-jp2

Natomiast kolorowy, cyfrowy szum na ZX Spectrum zajmuje zaledwie 12 bajtów:

org #af57

jp2 ld h,c
jp1 ld a,r
xor (hl)
ld (hl),a
dec hl out (254),a
set 6,h
jr jp1
len equ $-jp2

I tym oto sposobem, 12 bajtów tajemniczego kodu Z80 wystarczy, by obsłużyć niejedną imprezę techno (o ile DJ zastosuje odpowiednie efekty i sampler). Za to 888-megabajtowa, krótkometrażowa, 1-minutowa etiuda filmowa o telewizyjnym szumie wciąż się ściąga… Eh, cały ten (informacyjny) szum…