Autore Topic: Noise Generator  (Letto 2946 volte)

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
Noise Generator
« il: 19 Maggio 2006, 00:04:50 »
 Stavo esaminando una routine sonora in un gioco e mi sono reso conto che di SID non ne capisco praticamente un acca.
Ho provato a fare un generatore di rumori "videogiocosi" e quasi buttando valori a caso ho ottenuto questo:
Codice: [Seleziona]
;noise generator 1
;ian coog 18/05/06

      * = $0801
      word eop
      word 7102
      byte $9e
      byte [eop]d
      byte 0
eop
      LDA #$00
      STA $D407
      STA $D408
      STA $D40C
      LDA #$A0
      STA $D40D
      LDA #$08
      STA $D40B
      LDA #$11
      STA $D40B
      LDA #$0F
      STA $D418 ; volume al max
lp
      LDA $D012 ; pos raster attuale
      STA $D408 ; frequenza (hi) voce2

      jsr $ffe4
      cmp #"+"
      beq incr
      cmp #"-"
      beq decr
def
      ldx #$0f
lp2
      jsr $eeb3; attesa di 1ms
      dex
      bne lp2
      JMP lp
incr
      inc def+1
      jmp def
decr
      dec def+1
      jmp def


La frequenza cambia con la pos attuale del raster, ma il ritardo consente di prendere valori non del sempre consecutivi. Con i tasti +/- si cambia il ritardo.

Prg compilato
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -

Alberto

  • Utente
  • **
  • Post: 589
  • Gioco Preferito: Grand Prix Circuit
Noise Generator
« Risposta #1 il: 19 Maggio 2006, 11:35:54 »
 Era di un "Boulder Dash" la routine che stavi esaminando?Lo ricorda troppo... :D  

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
Noise Generator
« Risposta #2 il: 19 Maggio 2006, 21:29:56 »
Citazione da: "Alberto"
Era di un "Boulder Dash" la routine che stavi esaminando?Lo ricorda troppo... :D
Per la verita' sono partito vedendo il loader di ACE, che blippa mentre carica, alla fine sono arrivato a questo risultato. A me ricorda piu' il Get Ready di Wizball ;)
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -