ericde45Le 16/10/2022 à 09:39
hello
je fais des tests pour comprendre comment générer des interruptions entre le DSP et le 68000
du 68000, j'arrive sans problème à génerer une interruption sur le DSP :
coté DSP j'autorise l'interrution CPU :
movei #D_FLAGS,r28
movei #D_CPUENA|REGPAGE,R29 ; CPU only
store r29,(r28)
puis coté 68000 je force une interruption du DSP:
lea D_CTRL,a0
move.l (a0),d0
or.l #DSPINT0,d0
move.l d0,(a0)
et le DSP saute en $F1B000
par contre coté DSP pour interrompre le 68000:
je prépare le 68000:
le vecteur d'interruption:
move.l #interrupt_68000,LEVEL0
j'autorise dans le SR:
and.w #%1111100011111111,sr
et coté DSP:
movei #D_CTRL,R10
load (R10),R0
bset #1,R0 ; CPUINT
store R0,(R10)
et ça ne génére pas d'interruption
j'ai l'impression qu'il me manque l'equivalent de INT1 qui sert pour la VBL