63Fermer65
ericde45Le 28/01/2022 à 23:28
et tu crois que c'est viable sur Jaguar de viser des algos + complexes comme l'interpolation ?
je m'interroge aussi sur la viabilité de conversion de Klang de l'Amiga au temps réels sur Jaguar
les instruments sont générés en RAM avant replay sur Amiga
la Jaguar serait elle capable de générer les instruments en live...

un exemple d'instrument Klang, moyennement complexe :

;----------------------------------------------------------------------------
; Instrument 2 - Virgill_PM_Chord1
;----------------------------------------------------------------------------

moveq #1,d0
bsr AK_ResetVars
moveq #0,d7
ifne AK_USE_PROGRESS
ifeq AK_FINE_PROGRESS
addq.b #1,(a3)
endif
endif
.Inst2Loop
; v1 = chordgen(0, 0, 2, 3, 12, 110)
move.l AK_SmpAddr+0(a5),a4
move.b (a4,d7.l),d6
ext.w d6
add.w #110,a4
moveq #0,d4
move.w AK_OpInstance+AK_CHORD1+0(a5),d4
move.b (a4,d4.l),d5
ext.w d5
add.w d5,d6
add.l #73472,AK_OpInstance+AK_CHORD1+0(a5)
move.w AK_OpInstance+AK_CHORD2+0(a5),d4
move.b (a4,d4.l),d5
ext.w d5
add.w d5,d6
add.l #77824,AK_OpInstance+AK_CHORD2+0(a5)
move.w AK_OpInstance+AK_CHORD3+0(a5),d4
move.b (a4,d4.l),d5
ext.w d5
add.w d5,d6
add.l #131072,AK_OpInstance+AK_CHORD3+0(a5)
asl.w #7,d6
bvc.s .NoClampChord_2_1
spl d6
ext.w d6
eor.w #$7fff,d6
.NoClampChord_2_1
move.w d6,d0

; v2 = osc_sine(1, 335, 42)
add.w #335,AK_OpInstance+12(a5)
move.w AK_OpInstance+12(a5),d1
sub.w #16384,d1
move.w d1,d5
bge.s .SineNoAbs_2_2
neg.w d5
.SineNoAbs_2_2
move.w #32767,d6
sub.w d5,d6
muls d6,d1
swap d1
asl.w #3,d1
muls #42,d1
asr.l #7,d1

; v1 = add(v1, v2)
add.w d1,d0
bvc.s .AddNoClamp_2_3
spl d0
ext.w d0
eor.w #$7fff,d0
.AddNoClamp_2_3

asr.w #8,d0
move.b d0,(a0)+
ifne AK_USE_PROGRESS
ifne AK_FINE_PROGRESS
addq.l #1,(a3)
endif
endif
addq.l #1,d7
cmp.l AK_SmpLen+4(a5),d7
blt .Inst2Loop