Achtung: Es kann nur WAV oder HSS/SFX genutzt werten, sonst kommen sich die PWM-Kanäle ins Gehege und das klingt grausig.8-o

Variabel A enthält Statusinformationen über den Erfolg der Routine.

Das ausschalten sollte vor dem einschalten stehen wenn die beiden Systeme getauscht werden.

ios.admsetsound(ios#SND_WAVOFF)                       'wav ausschalten
ios.admsetsound(ios#SND_HSSON)                        'hss einschalten

Miniprogramm für Regnatix

Abspielen von vordeffinierten SFX-sounds

OBJ
    ios: "reg-ios"

CON
    _CLKMODE     = XTAL1 + PLL16X
    _XINFREQ     = 5_000_000

PUB main | a
'ios initialisieren
    a := ios.start

'systemsounds abschalten
    ios.admsetsyssnd(0)

    ios.admsetsound(ios#SND_WAVOFF)                       'wav ausschalten
    ios.admsetsound(ios#SND_HSSON)                        'hss einschalten

    repeat
        ios.sfx_fire($f6,1)
        waitcnt(clkfreq*2 + cnt)

Abspielen von selbstdefinierten SFX-Sounds

CON ' Chip Config
    _CLKMODE     = XTAL1 + PLL16X
    _XINFREQ     = 5_000_000

OBJ
    ios: "reg-ios"

PUB main | a
'ios initialisieren
    a := ios.start
    
'systemsounds abschalten
    ios.admsetsyssnd(0)
                                       
    ios.admsetsound(ios#SND_WAVOFF)                       'wav ausschalten
    ios.admsetsound(ios#SND_HSSON)                        'hss einschalten

'sfx-slots setzen
    ios.sfx_setslot(@fx_paddel_links, 0)
    ios.sfx_setslot(@fx_paddel_techts, 1)

' endlosschleife
    repeat
        ios.sfx_fire(0,1)
        waitcnt(clkfreq*2 + cnt)
        ios.sfx_fire(1,1)
        waitcnt(clkfreq*2 + cnt)

DAT ' Spiel SFX Datenblock
fx_paddel_links         byte    $01, $01, $A0, $0F, $00, $00, $00, $00, $FF, $00, $00, $80
fx_paddel_techts        byte    $01, $01, $80, $0F, $00, $00, $00, $00, $FF, $00, $00, $80

{{sfx-struktur:
wav len freq vol      grundschwingung
lfo lfw fma ama       modulation
att dec sus rel       hüllkurve
seq                   (optional)
wav                   wellenform
 0   sinus (0..500hz)
 1   schneller sinus (0..1khz)
 2   dreieck (0..500hz)
 3   rechteck (0..1khz)
 4   schnelles rechteck (0..4khz)
 5   impulse (0..1,333hz)
 6   rauschen
len                   tonlänge $0..$fe, $ff endlos
freq                  frequenz $00..$ff
vol                   lautstärke $00..$0f
lfo                   low frequency oscillator $ff..$01
lfw                   low frequency waveform
 $00   sinus (0..8hz)
 $01   fast sine (0..16hz)
 $02   ramp up (0..8hz)
 $03   ramp down (0..8hz)
 $04   square (0..32hz)
 $05   random
 $ff   sequencer data
fma                    frequency modulation amount
 $00   no modulation
 $01..$ff
ama                    amplitude modulation amount
 $00   no modulation
 $01..$ff
att                    attack $00..$ff
dec                    decay $00..$ff
sus                    sustain $00..$ff
rel                    release $00..$ff
seq                    ?
}}
tut/regnatixsfx.txt · Zuletzt geändert: 05.11.2012 22:58 (Externe Bearbeitung)
 
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: GNU Free Documentation License 1.3
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki