Ready64 Forum
Commodore 64 => Programmazione, Grafica e Musica => Topic aperto da: iAN CooG - 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:
;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 (http://iancoog.altervista.org/hid/noise.prg)
-
Era di un "Boulder Dash" la routine che stavi esaminando?Lo ricorda troppo... :D
-
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 ;)