Mercurial > repos > blastem
comparison zruntime.S @ 375:134ffb72d7a1
Clear IFF1 and IFF2 when an interrupt is taken on the Z80
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Sun, 02 Jun 2013 21:38:18 -0700 |
parents | fa7ea48be9a9 |
children | 561fe3ea3fc8 |
comparison
equal
deleted
inserted
replaced
374:d42a8a3e4894 | 375:134ffb72d7a1 |
---|---|
36 .global z80_handle_cycle_limit_int | 36 .global z80_handle_cycle_limit_int |
37 z80_handle_cycle_limit_int: | 37 z80_handle_cycle_limit_int: |
38 cmp 116(%rsi), %ebp | 38 cmp 116(%rsi), %ebp |
39 jb zskip_int | 39 jb zskip_int |
40 mov 112(%rsi), %ebp /* set cycle limit to sync cycle */ | 40 mov 112(%rsi), %ebp /* set cycle limit to sync cycle */ |
41 /* not sure this is really necessary now that IFF1 and IFF2 are geting cleared */ | |
41 movl $0xFFFFFFFF, 116(%rsi) /* make sure the interrupt doesn't fire more than once */ | 42 movl $0xFFFFFFFF, 116(%rsi) /* make sure the interrupt doesn't fire more than once */ |
43 /* disable interrupts */ | |
44 movb $0, 96(%rsi) | |
45 movb $0, 97(%rsi) | |
42 add $7, %ebp | 46 add $7, %ebp |
43 sub $2, %r9w | 47 sub $2, %r9w |
44 mov %r9w, %r14w | 48 mov %r9w, %r14w |
45 call z_inccycles | 49 call z_inccycles |
46 push %r13 | 50 push %r13 |