[hatari-devel] Memory, Falcon and TT (24 vs 32 bits computers)
Nicolas Pomarède
npomarede at corp.free.fr
Wed Jan 19 12:22:48 CET 2011
Le 19/01/2011 11:33, LAURENT SALLAFRANQUE a écrit :
> Hi,
>
> While trying to let run hatari's new core, I see that for 68020 and upper CPUs the memory it taken into account in 32 bits and not 24 bits.
>
> A quick look at iomem, ioMemTabFalcon, ioMemTabTT, and probably some other parts of the code shows me that all addresses are coded in 24 bits ($FF8000 instead of $FFFF8000).
>
> There's also a variable for taking this into account in WinUae CPU : currprefs.address_space_24.
>
> There's also a mask : regs.address_space_mask = 0xffffffff (32 bits) or regs.address_space_mask = 0x00ffffff (24 bits)
>
>
> I think we'll need to adapt the actual uae-cpu code to take this into account if we want to be able to keep the 2 CPU's in the same branch.
>
> At least, changing all the IOmemTab... addresses to have all of them in 32 bits (also for the ST ?) and apply the memory mask for each memory call ?
>
>
> Any advise ?
>
Hello,
I don't think that will be a problem, as far as I know the Falcon is
limited to 14 MB (which is below 24 bits), so for all atari Machine a 24
bits mask is enough (ROM is at E00000 and hardware regs at F00000, so
this leaves "only" everything below E00000, which is just 14 MB.
If needed, we should use regs.address_space_mask = 0x00ffffff and there
should be nothign to change in IOmemTab.
regards
Nicolas
More information about the hatari-devel
mailing list