Fermer2
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