Re: [hatari-devel] add support for TT ram -> problem with HD emulation and DTA

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


Le 17/12/2014 13:58, Nicolas Pomarède a écrit :
Le 17/12/2014 00:53, Nicolas Pomarède a écrit :

Some updates, I found an issue between TT ram and HD gemdos emulation.

If you boot TOS 3.06 with HD gemdos emulation, you will get some messages :


....

But STMemory_ReadLong only handles RAM, so this reads at $0000000e
instead of 0100000e, and everything goes wrong after that :(

I will update the STMemory_Read/_Write functions to work with any kind
of memory, and hopefully this sould fix this issue.

There's also another problem when saving/restoring snapshot :

                 Addr = ((Uint8 *)pDTA - STRam);
                 MemorySnapShot_Store(&Addr,sizeof(Addr));

This also assumes pDTA is in RAM, which is not the case when TT RAM is
enabled.
To fix this, instead of using pDTA which points to the host's memory
where DTA is, I will store the DTA value (in Atari's memory) and
dereference it only when needed with STMemory_STAddrToPointer()


So, only solution for now to have extra TT RAM and HD is to use a direct
HD image, not the HD gemdos emulation.


Hi

I rewrote the functions that do direct access to memory in stMemory.c ; they should be more modular and easier to follow. 24 bit / 32 bit mode is now handled, and all memory regions can be accessed, not just RAM or ROM.

This fixes the gemdos HD emulation where DTA was in TT RAM (I still need to fix the save/restore part)

I also made some changes to the debugger to remove 24 bit masking and allow memdump/disasm in the TT RAM for example.


Nicolas



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