From: Pokemonhacker <pok...@us...> - 2004-11-09 16:08:00
|
Update of /cvsroot/vba/VisualBoyAdvance/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv994 Modified Files: arm-new.h bios.cpp Log Message: - fix prefetch emulation when MSR changes T bit (not recommended by ARM docs) - fix BIOS HuffUnComp emulation fix (off by one byte) Index: bios.cpp =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/bios.cpp,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** bios.cpp 15 Sep 2004 22:12:52 -0000 1.13 --- bios.cpp 9 Nov 2004 16:07:51 -0000 1.14 *************** *** 549,553 **** u32 treeStart = source; ! source += (treeSize+1)<<1; int len = header >> 8; --- 549,553 ---- u32 treeStart = source; ! source += ((treeSize+1)<<1)-1; // minus because we already skipped one byte int len = header >> 8; Index: arm-new.h =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/arm-new.h,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** arm-new.h 15 Sep 2004 22:12:52 -0000 1.12 --- arm-new.h 9 Nov 2004 16:07:51 -0000 1.13 *************** *** 3232,3235 **** --- 3232,3239 ---- reg[16].I = newValue; CPUUpdateFlags(); + if(!armState) { // this should not be allowed, but it seems to work + THUMB_PREFETCH; + reg[15].I = armNextPC + 2; + } } break; *************** *** 3344,3347 **** --- 3348,3355 ---- reg[16].I = newValue; CPUUpdateFlags(); + if(!armState) { // this should not be allowed, but it seems to work + THUMB_PREFETCH; + reg[15].I = armNextPC + 2; + } } break; |