From: Pokemonhacker <pok...@us...> - 2006-01-13 17:32:17
|
Update of /cvsroot/vba/VisualBoyAdvance/src/gb In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22051 Modified Files: GB.cpp gbGfx.cpp Log Message: - Made some final tweaks & bug corrections. - Changed the initialisation of Wram, so it's closer to what happens on the real hardware. Index: gbGfx.cpp =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/gb/gbGfx.cpp,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** gbGfx.cpp 4 Jan 2006 13:38:47 -0000 1.7 --- gbGfx.cpp 13 Jan 2006 17:32:02 -0000 1.8 *************** *** 128,132 **** sx = gbSCXLine[x]; - sy = gbSCYLine[x+(gbSpeed ? 15 : 7)]; --- 128,131 ---- *************** *** 175,179 **** c = c + (attrs & 7)*4; } else { ! c = (gbBgpLine[x+3]>>(c<<1)) &3; if(gbSgbMode && !gbCgbMode) { int dx = x >> 3; --- 174,178 ---- c = c + (attrs & 7)*4; } else { ! c = (gbBgpLine[x+7]>>(c<<1)) &3; if(gbSgbMode && !gbCgbMode) { int dx = x >> 3; *************** *** 316,321 **** c = c + (attrs & 7) * 4; } else { ! c = (gbBgpLine[x+3]>>(c<<1)) &3; ! if(gbSgbMode && ! gbCgbMode) { int dx = x >> 3; int dy = y >> 3; --- 315,320 ---- c = c + (attrs & 7) * 4; } else { ! c = (gbBgpLine[x+7]>>(c<<1)) &3; ! if(gbSgbMode && !gbCgbMode) { int dx = x >> 3; int dy = y >> 3; *************** *** 535,541 **** // sprite limit reached! if(count >= 10) - { break; ! } } } --- 534,539 ---- // sprite limit reached! if(count >= 10) break; ! } } Index: GB.cpp =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/gb/GB.cpp,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** GB.cpp 11 Jan 2006 12:09:22 -0000 1.22 --- GB.cpp 13 Jan 2006 17:32:02 -0000 1.23 *************** *** 131,136 **** // interrupt int gbInt48Signal = 0; ! int gbInterruptWait = 0; ! int gbInterruptLatency = 0; bool gbRegister_IFDelay = false; bool gbRegister_STATDelay = false; --- 131,135 ---- // interrupt int gbInt48Signal = 0; ! int gbInterruptWait = 0; // (not used anymore) [...1906 lines suppressed...] + else if (((IFF & 0x81) == 0x80) && (gbHardware & 0x0A)) ! gbDmaTicks = 1; else if ((IFF & 0x81) == 0x81) ! gbDmaTicks = (gbHardware & 0x0A) ? 5 : 4; *************** *** 3871,3875 **** } ! IFF =0;//&= ~0x81; } --- 3871,3875 ---- } ! IFF = 0; } |