|
Atari coding BBS
Re: Is there a way to contact TAT |
Posted by: sqward
|
Jul,17.2011-21:52
|
I'm guessing that interrupt processing is broken in the emulator.
--------------
From the DSP manual:
Execution of a fast interrupt routine always conforms to the following rules:
1. A JSR to the starting address of the interrupt service routine is not located at
one of the two interrupt vector addresses.
2. The processor status is not saved.
3. The fast interrupt routine may (but should not) modify the status of the normal
instruction stream.
4. The fast interrupt routine may contain any single two-word instruction or any
two one-word instructions except SWI, STOP, and WAIT.
5. The PC, which contains the address of the next instruction to be executed in
normal processing remains unchanged during a fast interrupt routine.
6. The fast interrupt returns without an RTI.
7. Normal instruction fetching resumes using the PC following the completion of
the fast interrupt routine.
8. A fast interrupt is not interruptable.
9. A JSR instruction within the fast interrupt routine forms a long interrupt routine.
10.The primary application is to move data between memory and I/O devices.
Execution of a long interrupt routine always adheres to the following rules:
1. A JSR to the starting address of the interrupt service routine is located at one
of the two interrupt vector addresses.
2. During execution of the JSR instruction, the PC and SR are stacked. The interrupt
mask bits of the SR are updated to mask interrupts of the same or lower
priority. The loop flag, trace bit, and scaling mode bits are reset.
3. The first instruction word of the next interrupt service (of higher IPL) will reach
the decoder only after the decoding of at least four instructions following the
decoding of the first instruction of the previous interrupt.
4. The interrupt service routine can be interrupted — i.e., nested interrupts are
supported.
5. The long interrupt routine, which can be any length, should be terminated by
an RTI, which restores the PC and SR from the stack.
------------------------
It says that jsr from a fast interrupt pushes sr and pc onto the stack.
I'd guess that jmp from within fast interrupt would only store SR on the stack (but is not documented). I can try to check that on real hardware this week.
Regards,
Sqward.
|
[All messages in this thread] [Start new thread]
Topic
|
Posted by
|
Date
|
Is there a way to contact TAT
|
Sallafranque
|
Jul,12.2011-23:38
|
Re: Is there a way to contact TAT
|
sqward
|
Jul,13.2011-01:51
|
Re: Is there a way to contact TAT
|
Sallafranque
|
Jul,14.2011-09:39
|
Re: Is there a way to contact TAT
|
Sallafranque
|
Jul,17.2011-19:07
|
Re: Is there a way to contact TAT
|
sqward
|
Jul,17.2011-21:52
|
Re: Is there a way to contact TAT
|
calimero
|
Jul,18.2011-04:14
|
Re: Is there a way to contact TAT
|
Shazz
|
Jul,18.2011-17:54
|
Re: Is there a way to contact TAT
|
Sallafranque
|
Jul,19.2011-23:26
|
Re: Is there a way to contact TAT
|
Sallafranque
|
Jul,19.2011-23:57
|
Re: Is there a way to contact TAT
|
Sallafranque
|
Jul,20.2011-00:02
|
Re: Is there a way to contact TAT
|
calimero
|
Jul,20.2011-10:29
|
Re: Is there a way to contact TAT
|
blind io
|
Jul,25.2011-13:20
|
What's the anti-troll code? That's your personal code to be able to add comments and messages on the dhs.nu site.
Don't have a code or forgot it? Fix it here.
|