Autore Topic: Effetto Tv Noise  (Letto 3429 volte)

albman

  • Utente
  • **
  • Post: 125
  • Gioco Preferito: Wonder Boy / Bubble Bobble
Effetto Tv Noise
« il: 20 Agosto 2006, 23:11:27 »
 In molte demo capita di vedere un effetto grafico che simula l'aspetto di un TV non sintonizzato, l'effetto "nebbia".

Ho provato a realizzarlo, limitandomi per il momento al solo schermo... comunque con tecnica analoga l'effetto si puo' applicare a degli sprites, e posizionando questi sui bordi, ottenere un effetto nebbia a tutto schermo... ma la cosa non è al momento alla mia completa portata.

In sintesi:
bordo nero, schermo bianco
Colore nero su tutta la videomatrix
Riempio la videomatrix con ripetizioni della sequenza dei primi 32 caratteri del charset
Dirotto il VIC a leggere i caratteri da decimale 8192
Plotto ciclicamente sui primi 32 caratteri del charset in 8192 un numero casuale prelevato dal registro SID $D41B, dopo averlo opportunamente abilitato

Ho usato solo i primi 32 caratteri cosi' da poterli plottare random con un unico ciclo di incremento del registro X (256/8=32); questo conferisce all'effetto un lieve aspetto " a bande" orizzontali (a causa della identica ripetizione della sequenza) , che comunque non guasta



Codice: [Seleziona]
;------------------------------------------------------------
;TV noise effect - albman in 2006
;------------------------------------------------------------
       *= $C000
  
  LDA #$00
  STA $D020; bordo nero
  LDA #$01
  STA $D021;schermo bianco
;------------------------------------------------------------
  LDX #$00
  LDA #$00
colore_videomatrix
  STA $D800,X; imposta colore nero su tutta la matrice video
  STA $D8FA,X
  STA $D9F4,X
  STA $DAEE,X
  INX
  CPX #$FA
  BNE colore_videomatrix
;------------------------------------------------------------
  LDY #$00
  LDX #$00
riempi_schermo
  CPY #$20; stampa solo i primi 32 caratteri
  BNE blocchi
  LDY #00; riparte da carattere 0
blocchi  
  TYA
  STA $400,X
  STA $4FA,X
  STA $5F4,X
  STA $6EE,X
  INX
  INY
  CPX #$FA
  BNE riempi_schermo
;------------------------------------------------------------
  LDA #$18
  STA $D018; punta caratteri a decimale 8192
;------------------------------------------------------------
  LDA #$81; implementa registro SID per n casuali
  STA $D412
  STA $D40F
;------------------------------------------------------------
  LDX #$00
noise  
  LDA $D41B; numero casuale
  STA $2000,X; scarica il casuale nel charset
  INX
  JMP noise
"If you want to become the old figure, use the power of your friendship, and fight me"

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
Effetto Tv Noise
« Risposta #1 il: 20 Agosto 2006, 23:17:57 »
 Aggiungiamo il "sonoro" :)
Codice: [Seleziona]
noise  
  LDA $D41B; numero casuale
  STA $2000,X; scarica il casuale nel charset
  STA $D418
  INX
  JMP noise
:continua cosi':
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -

albman

  • Utente
  • **
  • Post: 125
  • Gioco Preferito: Wonder Boy / Bubble Bobble
Effetto Tv Noise
« Risposta #2 il: 21 Agosto 2006, 08:15:32 »
Sfrutto la nuova funzione di upload del forum (grazie Rob) per fornire il programma già assemblato, comprensivo del simpatico effetto "fruscio di fondo" aggiunto da iAN.

Ora, bordo a parte, sembra davvero un vecchio TV con l'antenna staccata! :)
« Ultima modifica: 21 Gennaio 2015, 22:28:04 da eregil »
"If you want to become the old figure, use the power of your friendship, and fight me"

Envil

  • Neo-iscritto
  • *
  • Post: 11
  • Gioco Preferito: Turrican II
Effetto Tv Noise
« Risposta #3 il: 25 Agosto 2006, 10:20:01 »
Citazione da: "iAN CooG/HF"
Aggiungiamo il "sonoro" :)
Codice: [Seleziona]
noise  
  LDA $D41B; numero casuale
  STA $2000,X; scarica il casuale nel charset
  STA $D418
  INX
  JMP noise
:continua cosi':
Eccezionale Ian!
                          ...Defending Metal Faith...

Alberto

  • Utente
  • **
  • Post: 589
  • Gioco Preferito: Grand Prix Circuit
Effetto Tv Noise
« Risposta #4 il: 25 Agosto 2006, 22:07:24 »
 Bellissimo effetto :lol:  

Cbm

  • Utente
  • **
  • Post: 423
  • Gioco Preferito: Wonderboy
Effetto Tv Noise
« Risposta #5 il: 02 Settembre 2006, 23:51:52 »
Citazione da: "albman"
Ora, bordo a parte, sembra davvero un vecchio TV con l'antenna staccata! :)
Volevo solo aggiungere che facendolo girare su emulatore, si può ovviare al bordo abbassando la risoluzione dello schermo a 320X200.
 
C= - Dal 1985! Lunga vita e prosperità.

MultiM@n

  • Utente
  • **
  • Post: 104
  • Gioco Preferito: Doctor Who and the mines of terror
Effetto Tv Noise
« Risposta #6 il: 08 Settembre 2006, 18:45:17 »
 Scusatemi.... non riesco a scaricare il file tvnoise.... cliccandolo mi si apre una finestra con una scritta strana anzichè scaricare il file.... e poi un'altra cosa... forse un po' OT... premetto che di programmazione non capisco un granchè... ma il listato è scritto in assembler, giusto? Io ero abituato a programmare il  :c64: col basic... come si fa a programmarlo in assembler?
*** Winners don't use drugs ***

Roberto

  • Administrator
  • Utente
  • *****
  • Post: 2430
    • https://ready64.org
  • Gioco Preferito: Impossible Mission
Effetto Tv Noise
« Risposta #7 il: 08 Settembre 2006, 19:10:58 »
Citazione da: "MultiM@n"
Scusatemi.... non riesco a scaricare il file tvnoise
E' un bug non meglio definito ma molto fastidioso che si verifica con i browser piu' "seri". Chi utilizza IE viceversa, non riscontra problemi.
Soluzione temporanea: rinomina il file "index.php" in "file.zip", dovrebbe risolvere.
Per collaborare, segnalare un errore (o qualsiasi altra comunicazione importante) utilizzare la pagina dei contatti:
https://ready64.org/informazioni/contatti.php

RedPanda

  • Utente
  • **
  • Post: 125
  • Gioco Preferito: Montezuma's Revenge, Terry's Big Adventure
Effetto Tv Noise
« Risposta #8 il: 08 Settembre 2006, 20:47:14 »
 Oppure tasto destro del mouse + salva.

djwiper

  • Utente
  • **
  • Post: 197
  • Gioco Preferito: Sim City
Effetto Tv Noise
« Risposta #9 il: 09 Settembre 2006, 09:05:37 »
Citazione da: "RedPanda"
Oppure tasto destro del mouse + salva.
Con Firefox e Opera devi comunque rinominare in file.zip.

Per la precisione FF scarica un non definito index.php mentre opera scarica index.html
Ho capito di odiare le firme...

Roberto

  • Administrator
  • Utente
  • *****
  • Post: 2430
    • https://ready64.org
  • Gioco Preferito: Impossible Mission
Effetto Tv Noise
« Risposta #10 il: 09 Settembre 2006, 14:29:26 »
Citazione da: "RedPanda"
Oppure tasto destro del mouse + salva.
Ahem... chiariamo, in base a quello che sono riuscito a capire.

Il bug riguarda con tutta probabilita' il riconoscimento del Mime-type da parte di browser quali Firefox e Opera (di altri non sono a conoscenza) ed e' relativo ad una non meglio precisata compatibilita' tra il server Altervista e il codice del forum.

Internet Explorer non risente del "bug" in virtu' del suo scarso controllo sul mime-type (paradossalmente in questo caso una manchevolezza del browser si traduce un vantaggio).

L'operazione "tasto destro"+"Salva con nome" non risolve in alcun modo il problema.
Per collaborare, segnalare un errore (o qualsiasi altra comunicazione importante) utilizzare la pagina dei contatti:
https://ready64.org/informazioni/contatti.php

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
Effetto Tv Noise
« Risposta #11 il: 09 Settembre 2006, 16:15:47 »
 Tutto cio' e' deprimente.  :sonno:
Albman ha mostrato come basti davvero poco per iniziare a far qualcosa di carino ma gli unici commenti riguardano la feature del download difettato...
Ma e' mai possibile che non ci siano mai commenti o domande riguardo i programmi proposti?
Torniamo a parlare di programmazione, volete?
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
Effetto Tv Noise
« Risposta #12 il: 09 Settembre 2006, 16:28:09 »
 
Citazione
ma il listato è scritto in assembler, giusto?
Assembly e' la definizione corretta, assembler e' il compilatore dei sorgenti in assembly.
Citazione
Io ero abituato a programmare il  :c64: col basic... come si fa a programmarlo in assembler?
Domanda frequente, se cerchi tra i vecchi messaggi vedrai che ci sono diversi programmi chiamati appunto Assembler, ma anche da un Monitor LM e' possibile, se pur con qualche limitazione.
C64asm, Dasm, TurboAsm/Tass, merlin64, PAL assember,(...etc...) sono tutti programmi esterni da caricare a parte, alcuni sono addirittura dei programmi per PC/amiga che interpretano file di testo contenenti i sorgenti e generano prg gia' in formato nativo per C64.
Per fare delle brevi routine di prova e' sufficiente un monitor LM, ce ne sono parecchi per c64; CCS e Vice ne hanno uno incorporato, basta premere alt-m.
I monitor sono indispensabili per tracciare il disassemblato dei programmi per capirne il flusso e scovare i bachi.
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -