Re: [hatari-devel] Blitting from TT RAM seems to work on Falcon? |
[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]
Le 08/10/2023 à 20:25, Miro Kropáček a écrit :
Hi,I have a game which displays mayhem on CT60 (even with caches off) but works perfectly fine in Hatari. After ruling out the usual suspects (video base pointing to TT RAM, slow DSP, ...) the only thing which remained is the Blitter which *is* used by the game.Looking at the code it seems to be even explicitly allowed? void Blitter_SourceAddr_WriteLong(void) { if ( Blitter_CheckAccess_Byte() ) return; /* Ignore access */ if ( ConfigureParams.System.bAddressSpace24 == true )BlitterRegs.src_addr = IoMem_ReadLong(REG_SRC_ADDR) & 0x00FFFFFE; /* Normal STF/STE */elseBlitterRegs.src_addr = IoMem_ReadLong(REG_SRC_ADDR) & 0xFFFFFFFE; /* Falcon with extra TT RAM */ <---- Huh?}
Hii found a reference for this change in commit a02aedff2711b80379081abb82832c92aa0637f0 in dec 2014.
There were a lot of changes at this period regarding TT RAM and 32 bit addresses, but I really don't remember where this specific change came from. Didn't the afterburner of ct boards allow to blit from "TT RAM" too instead of just plain RAM ? Maybe the error comes from this and I mixed things with a normal falcon.
When changing "0xFFFFFFFE" to "0x00FFFFFE" and running the game again (with TT RAM enabled) ... the game still works ok. :-) Maybe I'm looking at wrong place?
This needs to be changed in Blitter_DestAddr_WriteLong and Blitter_SourceAddr_WriteLong, is that what you did ?
Nicolas
Mail converted by MHonArc 2.6.19+ | http://listengine.tuxfamily.org/ |