]> git.sesse.net Git - pistorm/blob - a314/a314device/int_server.asm
2a7b866ef3b92e956c7fd92b82444e9c987f3c8a
[pistorm] / a314 / a314device / int_server.asm
1         XDEF    _IntServer
2         CODE
3
4 COM_AREA        equ     $e90000
5
6 SIGB_INT        equ     14
7 SIGF_INT        equ     (1 << SIGB_INT)
8
9                 ; a1 points to driver task
10 _IntServer:     lea.l   COM_AREA,a5
11
12                 move.b  0(a5),d0        ; A_EVENTS
13                 and.b   1(a5),d0        ; A_ENABLE
14                 beq.s   should_not_signal
15
16                 move.b  #0,1(a5)
17
18                 move.l  $4.w,a6
19                 move.l  #SIGF_INT,d0
20                 ; a1 = pointer to driver task
21                 jsr     -324(a6)        ; Signal()
22
23 should_not_signal:
24                 moveq   #0,d0
25                 rts