Re: [hatari-devel] add support for TT ram ?

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


Le 10/12/2014 18:27, Nicolas Pomarède a écrit :
Le 10/12/2014 00:59, Nicolas Pomarède a écrit :

By the way, I wonder if TOS 4.04 will detect this extra RAM.

Under TT, extra RAM is at 0x01000000, but as the falcon was designed to
have only 24 bits of address, I don't know if TOS 4.04 includes the
necessary code from TT's TOS to check this RAM.

Did someone already test this ? Maybe a patch will be needed for TOS
4.04.

I had a look at boot sequence for tos 3.06 (TT) and 4.04 (Falcon).

On TT, detection code will read/write values at address $1020000 and
more, until it reaches a bus error. In that case, last address without a
bus error will mark the end of the TT ram space.
Start address is always set to $1000000.

This means that if there's no TT RAM, addresses at $1000000 - $1400000
should give bus errors.

End address for TT ram will be written to $5A4, else 0.l is written if
no TT ram at all.
$1357bd13 is written at $5A8 to validate the value in $5A4.


Hi

I just committed support for extra TT RAM when the selected machine is set to "TT".
This was tested with TOS 3.06 and EmuTOS 0.9.3.
This works by simulating the bus errors that the TOS will encounter when scanning the possible extra RAM starting at address $10000000.

As such, the following parameters are needed in Hatari :

- 24 bit addressing should not be used, else there's no way to see more RAM if upper 8 bits of an address can't be used

- "patch TOS for faster boot" should not be used, because it would bypass the TOS' detection for TT RAM, and no RAM would be added. As a side note, it's not advised to set this setting, as it can lower the compatibility with some games that expect the whole TOS boot sequence to be made (so, I will change it to default to false for new users)

- if using EmuTOS, there's a bug in version 0.9.3 (and lower) where EmuTOS will crash when 32 bit addressing is used and a cartdridge is detected at address $FA0000. This means TT RAM and HD emulation can't be used at the same time for the moment. You should either use TOS 3.06, or wait for EmuTOS 0.9.4 that fixes this issue.


Such extra RAM won't be available at the moment for Falcon, because TOS 4 doesn't scan $1000000 for extra RAM (due to its 24 bit addressing limitation). EmuTOS doesn't scan it either, as Falcon are not supposed to have such RAM anyway.

Next steps :

 - add support for TT RAM in Falcon mode, by patching TOS variables

- add support for TT RAM in TT/Falcon mode when using "patch TOS for faster boot"


Nicolas





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