Re: [hatari-devel] "Fantasia" & "Odd stuff" demos crash at start?

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


Hi,

On sunnuntai 18 toukokuu 2014, Nicolas Pomarède wrote:
> Le 16/05/2014 10:31, Nicolas Pomarède a écrit :
> > Le 16/05/2014 09:54, Thomas Reiss a écrit :
> >>> yes they crash for me too, but they work on my other branch with
> >>> improved FDC emulation, so I think it's an FDC problem and both demos
> >>> use the same loading routines.
> >> 
> >> Yes, these two demos share the same loader.
> > 
> > I need to have a closer look, but this may be due to the "force int on
> > index" command $D4, which was not supported fully before.
> 
> The error in OddStuff, Fantasia and Oxygene sprite record is indeed
> coming from a change in rev #4733 to improve the "force int on index"
> 
> This was already fixed sometimes ago in my current branch, but if you
> want, you can apply this patch to your sources and it will fix the bug :
> 
> --- a/src/fdc.c Sun May 11 22:48:56 2014 +0200
> +++ b/src/fdc.c Sun May 18 21:05:00 2014 +0200
> @@ -3242,6 +3242,9 @@
>          else
>   /* Type IV - Force Interrupt */
>                  FdcCycles = FDC_ExecuteTypeIVCommands();
> 
> +               if ( Type != 4 )
> +                                       FDC.InterruptCond &=
> FDC_INTERRUPT_COND_IMMEDIATE;      /* Clear bits 0,1,2 and keep bit 3 */
> +

The patch has weird indenting in relation to "else".

It fixes Oxygene sprite record, and crash in the OddStuff & Fantasia start,
but latter two don't still work fully.

Fantasia stops when showing "Dune" name.
Odd stuff when showing "Odd Stuff" logo.

In both cases music still plays fine, and demos are almost completely
doing just this:

$00aa40 : 4a38 0303                            tst.b     $0303.w
$00aa44 : 6efa                                 bgt.s     $aa40


	- Eero



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