Re: [hatari-devel] Falcon regressions

[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]


Hi David,


Ok, this time, it's crystal clear for me, your explanation is totally logical and clear.

Thanks for taking the time to explain

I'll adapt the interrupt code in the next days to take this into account.


Laurent



Le 29/06/2024 à 18:59, David Savinkoff a écrit :

Hi Laurent,

The dsp56000 documentation, on page 7-10, says:
4. The interrupt controller jams the two instructions into the instruction stream
and releases the PC, which is used for the next instruction fetch. The next
interrupt arbitration then begins.
If neither instruction is a change of program-flow instruction (i.e., a JSR), the state of the
machine is not saved on the stack, and a fast interrupt is executed.

In the code below the second instruction causes the Long Jump
because 2 instructions are jammed into the program flow to
initiate an interrupt:

p:000c jmp p:$02bb  ; First instruction is Not a JSR type
p:000e jmp p:$02bb
p:0010 jmp p:$02c4
p:0012 jmp p:$02c4

p:02bb jclr #3,x:$ffee,p:$02c0  ; Second instruction Is a JSR type
p:02bd movep x:$ffef,x:$0001
p:02bf rti
p:02c0 movep x:$ffef,x:$0002
p:02c2 bset #1,x:$0000
p:02c3 rti

p:02c4 jclr #2,x:$ffee,p:$02c9
p:02c6 movep x:$0003,x:$ffef
p:02c8 rti
p:02c9 movep x:$0004,x:$ffef
p:02cb rti

On Fri, Jun 28, 2024 at 11:59 AM Eero Tamminen <oak@xxxxxxxxxxxxxx> wrote:
Hi Laurent,

When testing whether fix for Voxx affected anything else, I noticed
regressions in things that worked (better) in Hatari 2.5 release.

* Moongame: freezes now right after pressing Joypad button in the game
main menu (instead of several steps later)

* Abstract: X-perience: freezes right at start, before intro screen

Maybe the recent DSP change impacted these?


        - Eero




Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/