risorse | zx spectrum | speclight
Il programma crea degli effetti psichedelici sullo schermo a tempo di musica. Collegando il registratore alla presa EAR dello Spectrum, e regolando opportunamente il volume mentre viene riprodotto un nastro musicale, sullo schermo verranno generate sequenze di immagini colorate sincronizzate con il brano in ascolto.
L'idea alla base è banale: il programma, durante una scansione del quarto di schermo in alto a sinistra, campiona regolarmente 4 bit dalla presa EAR, i quali determinano il colore e la luminosità della posizione del carattere corrente; al termine della scansione, l'area viene riprodotta specularmente sul quarto di schermo in alto a destra. La porzione di schermo superiore viene quindi specularmente riprodotta su quella inferiore.
Scarica il nastro virtuale speclight.tzx (2KB).
10 BORDER 0: PAPER 0: INK 7 20 CLEAR 39999 30 LOAD ""CODE 40000 40 CLS : RANDOMIZE USR 40000
Graph | ld b,$07 | 06 07 |
ld hl,($5c7b) | 2A 7B 5C | |
ld a,$80 | 3E 80 | |
Udg | ld (hl),a | 77 |
inc hl | 23 | |
djnz Udg | 10 FC | |
ld a,$ff | 3E FF | |
ld (hl),a | 77 | |
ld a,$02 | 3E 02 | |
call $1601 | CD 01 16 | |
ld bc,$02c0 | 01 C0 02 | |
ld a,$90 | 3E 90 | |
rst $10 | D7 | |
dec bc | 0B | |
ld a,b | 78 | |
or c | B1 | |
jr nz,Print | 20 F8 | |
Break | ld a,($5c08) | 3A 08 5C |
cp $5a | FE 5A | |
ret z | C8 | |
ld hl,$580f | 21 0F 58 | |
ld b,$0b | 06 0B | |
Line | push bc | C5 |
ld d,h | 54 | |
ld e,l | 5D | |
inc de | 13 | |
ld b,$10 | 06 10 | |
Attr | xor a | AF |
ld c,a | 4F | |
push bc | C5 | |
ld b,$04 | 06 04 | |
Bit | in a,($fe) | DB FE |
bit 6,a | CB 77 | |
jr z,Noset | 28 02 | |
set 2,c | CB D1 | |
Noset | rlc c | CB 01 |
djnz Bit | 10 F4 | |
ld a,c | 79 | |
cp $78 | FE 78 | |
jr nz,Mem | 20 04 | |
ld a,r | ED 5F | |
and $78 | E6 78 | |
Mem | ld (hl),a | 77 |
ld (de),a | 12 | |
dec hl | 2B | |
inc de | 13 | |
pop bc | C1 | |
djnz Attr | 10 DF | |
ld a,$30 | 3E 30 | |
Nextline | inc hl | 23 |
dec a | 3D | |
jr nz,Nextline | 20 FC | |
pop bc | C1 | |
djnz Line | 10 D0 | |
ld bc,$0160 | 01 60 01 | |
ld hl,$5800 | 21 00 58 | |
ld de,$5abf | 11 BF 5A | |
Lowvideo | ld a,(hl) | 7E |
ld (de),a | 12 | |
dec de | 1B | |
inc hl | 23 | |
dec bc | 0B | |
ld a,b | 78 | |
or c | B1 | |
jr nz,Lowvideo | 20 F7 | |
jr Break | 18 B1 |
Pagina modificata l'8/11/2011