[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MiNT] Atari 030 patch for mmu030.S in current CVS



> I've found why FreeMiNT 1.16.x won't work on my TT, and below is a patch
> to fix it.
>
> It seems that a pop from the stack had crept into the mmu030.S file.

This fix does not seem completely perfect at first glance. You rather have
to restore the pop you deleted, and move the push to the very begin of the
routine. Note that there are two branches to the label "normal_set", and
both have to be inside the scope of the push/pop operation.

In other words, these lines in mmu030.S:

set_mmu:
        tst.l   _offset_tt_ram
        beq.s   normal_set
        movem.l d0-d2/a0-a2,-(sp)

should look like this:

set_mmu:
        movem.l d0-d2/a0-a2,-(sp)
        tst.l   _offset_tt_ram
        beq.s   normal_set

And this - and not deleting the pop - seems to fix the real bug we have in
this procedure.

-- 
Konrad M.Kokoszkiewicz
mail: draco@atari.org
http://draco.atari.org

** Ea natura multitudinis est,
** aut servit humiliter, aut superbe dominatur (Liv. XXIV,25)
*************************************************************
** Taka to juz natura pospolstwa, ze albo sluzy ono unizenie,
** albo bezczelnie sie panoszy.