Re: [hatari-devel] Mega ST(E) |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/hatari-devel Archives
]
Am Thu, 16 Jun 2016 20:47:36 +0200
schrieb Nicolas Pomarède <npomarede@xxxxxxxxxxxx>:
> Le 13/06/2016 à 07:43, Thomas Huth a écrit :
> > On 12.06.2016 20:31, Nicolas Pomarède wrote:
> > ...
> >> On a side note, I see that in the code you added in ioMem.c for
> >> STF/MegaSTF, fix functions are called before filling the whole IO
> >> space. This results in these kinds of warning :
> >>
> >> IoMem_Init: Warning: $ff820a (R) already defined
> >> IoMem_Init: Warning: $ff820a (W) already defined
> >
> > Oh well, yet another stupid copy-n-paste error of mine... sorry! I
> > just committed a fix.
> >
> >> It's harmless, but maybe we could fill default IO space first, then
> >> apply fixes for each machine ?
> >
> > I'd like to keep the current order since that way you are informed
> > about bugs (like above) ;-)
> >
>
> Hi
>
> looking at the code when RTC is disabled for STF/STE, I see this in
> ioMem.c :
>
> for (addr = 0xfffc21; addr <= 0xfffc3f; addr++)
> {
> pInterceptReadTable[addr - 0xff8000] =
> IoMem_VoidRead; /* For 'read' */
> pInterceptWriteTable[addr - 0xff8000] =
> IoMem_VoidWrite; /* and 'write' */
> }
>
> But in the TOS detection code, there's :
>
> $00fc1f72 : 307c fc20 movea.w #$fc20,a0
> $00fc1f76 : 2429 0008 move.l 8(a1),d2
> $00fc1f7a : 244f movea.l sp,a2
> $00fc1f7c : 237c 00fc 1fb6 0008 move.l
> #$fc1fb6,8(a1) $00fc1f84 : 117c 0009 001b
> move.b #9,$1b(a0)
>
> So I think TOS expects a bus error when RTC is not present and we try
> to read fffc29, but here bus error won't happen. Or is there
> something else ?
According to tests/buserror/results/st_b.txt there is no bus error here
on a plain ST - that's why the handler are set to VoidRead/Write
instead.
Thomas