From: Pokemonhacker <pok...@us...> - 2005-06-25 06:26:43
|
Update of /cvsroot/vba/VisualBoyAdvance/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13408 Modified Files: GBA.cpp GBA.h GBAinline.h Globals.cpp Globals.h Log Message: - Cleaned the gba.cpp code a bit (too much changed to list them). - Changed all the clockticks management. Internal emulation speed should be more accurate now (fixes some games that crashed, like Advance Wars 2 or Tennis no Oojisama 2003), some other should have less slowdown/flickering (Breath of Fire 3's underwater level, Mario & Luigi Saga's intro). Added pseudo-support for bus prefetch (still need to check how it works for all the cases). - Added a 3 lines delay between the time a BG is enabled and the time it is displayed on screen (Lady Sia 2's blue lines on water level bug). - Put the supposed correct settings in DISPSTAT and lcdTicks on bootup when no bios are used (or when bios animation is skipped). (Earthworm Jim 2 now boots up). - Added a rom mirroring option in the 'Game Override' menu. Enabling it for the 'Mini'/'Classic' series makes the controls respond properly. - Bit 15 of WAITCNT is now read-only (Donkey Kong King of Swing doesn't crash on some levels anymore). - Bit 11 and 15 of SGCNT (FIFO Reset bits) are now cleared. - Corrected a bug introduced in VBA 1.8.0 which would prevent a game from accessing the 0x10000+ area of VRAM (Duke Nukem & Need for Speed 2's flickering is gone). - Added a 'pseudo-support' for GFX modes 6&7 (but no games should use them). - Soft Reset is now working properly (it was broken when the prefetch emulation was added). Index: GBA.cpp =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/GBA.cpp,v retrieving revision 1.61 retrieving revision 1.62 diff -C2 -d -r1.61 -r1.62 *** GBA.cpp 11 Jun 2005 03:17:02 -0000 1.61 --- GBA.cpp 25 Jun 2005 06:26:33 -0000 1.62 *************** *** 1,5 **** // VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator. // Copyright (C) 1999-2003 Forgotten ! // Copyright (C) 2004 Forgotten and the VBA development team // This program is free software; you can redistribute it and/or modify --- 1,5 ---- // VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator. // Copyright (C) 1999-2003 Forgotten ! // Copyright (C) 2005 Forgotten and the VBA development team [...1314 lines suppressed...] + } + if(timer3On && !(TM3CNT & 4) && (timer3Ticks < clockTicks)) { + UPDATE_REG(0x10C, TM3D+totalTicks); + } + } } } *************** *** 4007,4011 **** // emuReadState CPUReadState, ! // emuWriteState CPUWriteState, // emuReadMemState --- 4212,4216 ---- // emuReadState CPUReadState, ! // emuWriteState CPUWriteState, // emuReadMemState Index: GBA.h =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/GBA.h,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** GBA.h 18 Dec 2004 23:09:56 -0000 1.20 --- GBA.h 25 Jun 2005 06:26:33 -0000 1.21 *************** *** 2,6 **** // VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator. // Copyright (C) 1999-2003 Forgotten ! // Copyright (C) 2004 Forgotten and the VBA development team // This program is free software; you can redistribute it and/or modify --- 2,6 ---- // VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator. // Copyright (C) 1999-2003 Forgotten ! // Copyright (C) 2005 Forgotten and the VBA development team // This program is free software; you can redistribute it and/or modify *************** *** 101,104 **** --- 101,105 ---- extern bool CPUWriteState(const char *); extern int CPULoadRom(const char *); + extern void doMirroring(bool); extern void CPUUpdateRegister(u32, u16); extern void CPUWriteHalfWord(u32, u16); *************** *** 107,111 **** extern void CPUReset(); extern void CPULoop(int); ! extern bool CPUCheckDMA(int,int); extern bool CPUIsGBAImage(const char *); extern bool CPUIsZipFile(const char *); --- 108,112 ---- extern void CPUReset(); extern void CPULoop(int); ! extern void CPUCheckDMA(int,int); extern bool CPUIsGBAImage(const char *); extern bool CPUIsZipFile(const char *); Index: GBAinline.h =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/GBAinline.h,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** GBAinline.h 18 Dec 2004 23:09:56 -0000 1.11 --- GBAinline.h 25 Jun 2005 06:26:33 -0000 1.12 *************** *** 2,6 **** // VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator. // Copyright (C) 1999-2003 Forgotten ! // Copyright (C) 2004 Forgotten and the VBA development team // This program is free software; you can redistribute it and/or modify --- 2,6 ---- // VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator. // Copyright (C) 1999-2003 Forgotten ! // Copyright (C) 2005 Forgotten and the VBA development team // This program is free software; you can redistribute it and/or modify *************** *** 30,34 **** extern bool cpuEEPROMSensorEnabled; extern bool cpuDmaHack; - extern bool cpuDmaHack2; extern u32 cpuDmaLast; --- 30,33 ---- *************** *** 121,125 **** #endif ! if(cpuDmaHack || cpuDmaHack2) { value = cpuDmaLast; } else { --- 120,124 ---- #endif ! if(cpuDmaHack) { value = cpuDmaLast; } else { *************** *** 235,239 **** } #endif ! if(cpuDmaHack2 || cpuDmaHack) { value = cpuDmaLast & 0xFFFF; } else { --- 234,238 ---- } #endif ! if(cpuDmaHack) { value = cpuDmaLast & 0xFFFF; } else { *************** *** 326,330 **** } #endif ! if(cpuDmaHack || cpuDmaHack2) { return cpuDmaLast & 0xFF; } else { --- 325,329 ---- } #endif ! if(cpuDmaHack) { return cpuDmaLast & 0xFF; } else { Index: Globals.cpp =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/Globals.cpp,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** Globals.cpp 13 May 2004 15:06:44 -0000 1.8 --- Globals.cpp 25 Jun 2005 06:26:33 -0000 1.9 *************** *** 1,5 **** // VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator. // Copyright (C) 1999-2003 Forgotten ! // Copyright (C) 2004 Forgotten and the VBA development team // This program is free software; you can redistribute it and/or modify --- 1,5 ---- // VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator. // Copyright (C) 1999-2003 Forgotten ! // Copyright (C) 2005 Forgotten and the VBA development team // This program is free software; you can redistribute it and/or modify *************** *** 46,49 **** --- 46,50 ---- bool cpuEnhancedDetection = true; bool cheatsEnabled = true; + bool mirroringEnable = false; u8 *bios = NULL; Index: Globals.h =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/Globals.h,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** Globals.h 13 May 2004 15:06:44 -0000 1.7 --- Globals.h 25 Jun 2005 06:26:33 -0000 1.8 *************** *** 2,6 **** // VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator. // Copyright (C) 1999-2003 Forgotten ! // Copyright (C) 2004 Forgotten and the VBA development team // This program is free software; you can redistribute it and/or modify --- 2,6 ---- // VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator. // Copyright (C) 1999-2003 Forgotten ! // Copyright (C) 2005 Forgotten and the VBA development team // This program is free software; you can redistribute it and/or modify *************** *** 58,61 **** --- 58,62 ---- extern bool cpuEnhancedDetection; extern bool cheatsEnabled; + extern bool mirroringEnable; extern u8 *bios; |