Re: [hatari-devel] It seems I encounter a bug into hatari |
[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]
Giving a closer look at how hatari
manages these registers, I see something that may be interresting
:
In IOmemtabST : { 0xff8240, SIZE_WORD, Video_Color0_ReadWord, Video_Color0_WriteWord }, /* COLOR 0 */ { 0xff8242, SIZE_WORD, Video_Color1_ReadWord, Video_Color1_WriteWord }, /* COLOR 1 */ { 0xff8244, SIZE_WORD, Video_Color2_ReadWord, Video_Color2_WriteWord }, /* COLOR 2 */ { 0xff8246, SIZE_WORD, Video_Color3_ReadWord, Video_Color3_WriteWord }, /* COLOR 3 */ { 0xff8248, SIZE_WORD, Video_Color4_ReadWord, Video_Color4_WriteWord }, /* COLOR 4 */ { 0xff824a, SIZE_WORD, Video_Color5_ReadWord, Video_Color5_WriteWord }, /* COLOR 5 */ ... In IOmemtabFalcon : { 0xff8240, 32 , IoMem_ReadWithoutInterception, VIDEL_StColorRegsWrite }, /* ST color regs */ And in video.c, I can read : /* * [NP] TODO : due to how .L accesses are handled in ioMem.c, we can't call directly * Video_ColorReg_WriteWord from ioMemTabST.c / ioMemTabSTE.c, we must use an intermediate * function, else .L accesses will not change 2 .W color regs, but only one. * This should be changed in ioMem.c to do 2 separate .W accesses, as would do a real 68000 */ void Video_Color0_WriteWord(void) { Video_ColorReg_WriteWord(); } void Video_Color1_WriteWord(void) { Video_ColorReg_WriteWord(); } ... Can this difference in code explain my problem ? Regards Laurent Le 26/03/2014 20:15, Laurent Sallafranque a écrit :
|
Mail converted by MHonArc 2.6.19+ | http://listengine.tuxfamily.org/ |