|
From: Steve A. <ste...@us...> - 2009-05-01 11:25:15
|
Update of /cvsroot/stella/stella/src/emucore In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv24349/src/emucore Modified Files: Cart0840.cxx Cart3E.cxx Cart3F.cxx CartDPC.cxx CartE0.cxx CartE7.cxx CartEF.cxx CartEFSC.cxx CartF4.cxx CartF4SC.cxx CartF6.cxx CartF6SC.cxx CartF8.cxx CartF8SC.cxx CartFASC.cxx CartMB.cxx CartMC.cxx CartUA.cxx Log Message: Fixed bug in F4SC bankswitching; writes to the BS addresses weren't actually performing a bankswitch. (Hopefully) improved Pitfall2 sound generation. At least it sounds more authentic to me. Updates for the 2.7.7 release. Index: Cart0840.cxx =================================================================== RCS file: /cvsroot/stella/stella/src/emucore/Cart0840.cxx,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** Cart0840.cxx 1 Jan 2009 18:13:35 -0000 1.6 --- Cart0840.cxx 1 May 2009 11:25:07 -0000 1.7 *************** *** 82,86 **** uInt8 Cartridge0840::peek(uInt16 address) { ! address = address & 0x1840; // Switch banks if necessary --- 82,86 ---- uInt8 Cartridge0840::peek(uInt16 address) { ! address &= 0x1840; // Switch banks if necessary *************** *** 115,119 **** void Cartridge0840::poke(uInt16 address, uInt8 value) { ! address = address & 0x1840; // Switch banks if necessary --- 115,119 ---- void Cartridge0840::poke(uInt16 address, uInt8 value) { ! address &= 0x1840; // Switch banks if necessary Index: Cart3E.cxx =================================================================== RCS file: /cvsroot/stella/stella/src/emucore/Cart3E.cxx,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** Cart3E.cxx 1 Jan 2009 18:13:35 -0000 1.18 --- Cart3E.cxx 1 May 2009 11:25:07 -0000 1.19 *************** *** 92,96 **** uInt8 Cartridge3E::peek(uInt16 address) { ! address = address & 0x0FFF; if(address < 0x0800) --- 92,96 ---- uInt8 Cartridge3E::peek(uInt16 address) { ! address &= 0x0FFF; if(address < 0x0800) *************** *** 110,114 **** void Cartridge3E::poke(uInt16 address, uInt8 value) { ! address = address & 0x0FFF; // Switch banks if necessary. Armin (Kroko) says there are no mirrored --- 110,114 ---- void Cartridge3E::poke(uInt16 address, uInt8 value) { ! address &= 0x0FFF; // Switch banks if necessary. Armin (Kroko) says there are no mirrored Index: Cart3F.cxx =================================================================== RCS file: /cvsroot/stella/stella/src/emucore/Cart3F.cxx,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** Cart3F.cxx 1 Jan 2009 18:13:35 -0000 1.19 --- Cart3F.cxx 1 May 2009 11:25:07 -0000 1.20 *************** *** 89,93 **** uInt8 Cartridge3F::peek(uInt16 address) { ! address = address & 0x0FFF; if(address < 0x0800) --- 89,93 ---- uInt8 Cartridge3F::peek(uInt16 address) { ! address &= 0x0FFF; if(address < 0x0800) *************** *** 104,108 **** void Cartridge3F::poke(uInt16 address, uInt8 value) { ! address = address & 0x0FFF; // Switch banks if necessary --- 104,108 ---- void Cartridge3F::poke(uInt16 address, uInt8 value) { ! address &= 0x0FFF; // Switch banks if necessary Index: CartDPC.cxx =================================================================== RCS file: /cvsroot/stella/stella/src/emucore/CartDPC.cxx,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** CartDPC.cxx 1 Jan 2009 18:13:35 -0000 1.22 --- CartDPC.cxx 1 May 2009 11:25:07 -0000 1.23 *************** *** 147,151 **** // Calculate the number of DPC OSC clocks since the last update ! double clocks = ((15750.0 * cycles) / 1193191.66666667) + myFractionalClocks; Int32 wholeClocks = (Int32)clocks; myFractionalClocks = clocks - (double)wholeClocks; --- 147,151 ---- // Calculate the number of DPC OSC clocks since the last update ! double clocks = ((20000.0 * cycles) / 1193191.66666667) + myFractionalClocks; Int32 wholeClocks = (Int32)clocks; myFractionalClocks = clocks - (double)wholeClocks; *************** *** 196,200 **** uInt8 CartridgeDPC::peek(uInt16 address) { ! address = address & 0x0FFF; // Clock the random number generator. This should be done for every --- 196,200 ---- uInt8 CartridgeDPC::peek(uInt16 address) { ! address &= 0x0FFF; // Clock the random number generator. This should be done for every *************** *** 319,323 **** void CartridgeDPC::poke(uInt16 address, uInt8 value) { ! address = address & 0x0FFF; // Clock the random number generator. This should be done for every --- 319,323 ---- void CartridgeDPC::poke(uInt16 address, uInt8 value) { ! address &= 0x0FFF; // Clock the random number generator. This should be done for every Index: CartE0.cxx =================================================================== RCS file: /cvsroot/stella/stella/src/emucore/CartE0.cxx,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** CartE0.cxx 1 Jan 2009 18:13:35 -0000 1.17 --- CartE0.cxx 1 May 2009 11:25:07 -0000 1.18 *************** *** 86,90 **** uInt8 CartridgeE0::peek(uInt16 address) { ! address = address & 0x0FFF; // Switch banks if necessary --- 86,90 ---- uInt8 CartridgeE0::peek(uInt16 address) { ! address &= 0x0FFF; // Switch banks if necessary *************** *** 108,112 **** void CartridgeE0::poke(uInt16 address, uInt8) { ! address = address & 0x0FFF; // Switch banks if necessary --- 108,112 ---- void CartridgeE0::poke(uInt16 address, uInt8) { ! address &= 0x0FFF; // Switch banks if necessary Index: CartE7.cxx =================================================================== RCS file: /cvsroot/stella/stella/src/emucore/CartE7.cxx,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** CartE7.cxx 1 Jan 2009 18:13:35 -0000 1.22 --- CartE7.cxx 1 May 2009 11:25:07 -0000 1.23 *************** *** 88,92 **** uInt8 CartridgeE7::peek(uInt16 address) { ! address = address & 0x0FFF; // Switch banks if necessary --- 88,92 ---- uInt8 CartridgeE7::peek(uInt16 address) { ! address &= 0x0FFF; // Switch banks if necessary *************** *** 109,113 **** void CartridgeE7::poke(uInt16 address, uInt8) { ! address = address & 0x0FFF; // Switch banks if necessary --- 109,113 ---- void CartridgeE7::poke(uInt16 address, uInt8) { ! address &= 0x0FFF; // Switch banks if necessary Index: CartEF.cxx =================================================================== RCS file: /cvsroot/stella/stella/src/emucore/CartEF.cxx,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** CartEF.cxx 11 Apr 2009 19:48:25 -0000 1.3 --- CartEF.cxx 1 May 2009 11:25:07 -0000 1.4 *************** *** 69,73 **** uInt8 CartridgeEF::peek(uInt16 address) { ! address = address & 0x0FFF; // Switch banks if necessary --- 69,73 ---- uInt8 CartridgeEF::peek(uInt16 address) { ! address &= 0x0FFF; // Switch banks if necessary *************** *** 81,85 **** void CartridgeEF::poke(uInt16 address, uInt8) { ! address = address & 0x0FFF; // Switch banks if necessary --- 81,85 ---- void CartridgeEF::poke(uInt16 address, uInt8) { ! address &= 0x0FFF; // Switch banks if necessary Index: CartEFSC.cxx =================================================================== RCS file: /cvsroot/stella/stella/src/emucore/CartEFSC.cxx,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** CartEFSC.cxx 5 Apr 2009 20:18:41 -0000 1.1 --- CartEFSC.cxx 1 May 2009 11:25:07 -0000 1.2 *************** *** 93,97 **** uInt8 CartridgeEFSC::peek(uInt16 address) { ! address = address & 0x0FFF; // Switch banks if necessary --- 93,97 ---- uInt8 CartridgeEFSC::peek(uInt16 address) { ! address &= 0x0FFF; // Switch banks if necessary *************** *** 108,112 **** void CartridgeEFSC::poke(uInt16 address, uInt8) { ! address = address & 0x0FFF; // Switch banks if necessary --- 108,112 ---- void CartridgeEFSC::poke(uInt16 address, uInt8) { ! address &= 0x0FFF; // Switch banks if necessary Index: CartF4.cxx =================================================================== RCS file: /cvsroot/stella/stella/src/emucore/CartF4.cxx,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** CartF4.cxx 1 Jan 2009 18:13:35 -0000 1.15 --- CartF4.cxx 1 May 2009 11:25:07 -0000 1.16 *************** *** 72,76 **** uInt8 CartridgeF4::peek(uInt16 address) { ! address = address & 0x0FFF; // Switch banks if necessary --- 72,76 ---- uInt8 CartridgeF4::peek(uInt16 address) { ! address &= 0x0FFF; // Switch banks if necessary *************** *** 86,90 **** void CartridgeF4::poke(uInt16 address, uInt8) { ! address = address & 0x0FFF; // Switch banks if necessary --- 86,90 ---- void CartridgeF4::poke(uInt16 address, uInt8) { ! address &= 0x0FFF; // Switch banks if necessary Index: CartF4SC.cxx =================================================================== RCS file: /cvsroot/stella/stella/src/emucore/CartF4SC.cxx,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** CartF4SC.cxx 1 Jan 2009 18:13:35 -0000 1.20 --- CartF4SC.cxx 1 May 2009 11:25:07 -0000 1.21 *************** *** 93,97 **** uInt8 CartridgeF4SC::peek(uInt16 address) { ! address = address & 0x0FFF; // Switch banks if necessary --- 93,97 ---- uInt8 CartridgeF4SC::peek(uInt16 address) { ! address &= 0x0FFF; // Switch banks if necessary *************** *** 110,113 **** --- 110,115 ---- void CartridgeF4SC::poke(uInt16 address, uInt8) { + address &= 0x0FFF; + // Switch banks if necessary if((address >= 0x0FF4) && (address <= 0x0FFB)) Index: CartF6.cxx =================================================================== RCS file: /cvsroot/stella/stella/src/emucore/CartF6.cxx,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** CartF6.cxx 1 Jan 2009 18:13:35 -0000 1.17 --- CartF6.cxx 1 May 2009 11:25:07 -0000 1.18 *************** *** 73,77 **** uInt8 CartridgeF6::peek(uInt16 address) { ! address = address & 0x0FFF; // Switch banks if necessary --- 73,77 ---- uInt8 CartridgeF6::peek(uInt16 address) { ! address &= 0x0FFF; // Switch banks if necessary *************** *** 108,112 **** void CartridgeF6::poke(uInt16 address, uInt8) { ! address = address & 0x0FFF; // Switch banks if necessary --- 108,112 ---- void CartridgeF6::poke(uInt16 address, uInt8) { ! address &= 0x0FFF; // Switch banks if necessary Index: CartF6SC.cxx =================================================================== RCS file: /cvsroot/stella/stella/src/emucore/CartF6SC.cxx,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** CartF6SC.cxx 1 Jan 2009 18:13:35 -0000 1.19 --- CartF6SC.cxx 1 May 2009 11:25:07 -0000 1.20 *************** *** 93,97 **** uInt8 CartridgeF6SC::peek(uInt16 address) { ! address = address & 0x0FFF; // Switch banks if necessary --- 93,97 ---- uInt8 CartridgeF6SC::peek(uInt16 address) { ! address &= 0x0FFF; // Switch banks if necessary *************** *** 131,135 **** void CartridgeF6SC::poke(uInt16 address, uInt8) { ! address = address & 0x0FFF; // Switch banks if necessary --- 131,135 ---- void CartridgeF6SC::poke(uInt16 address, uInt8) { ! address &= 0x0FFF; // Switch banks if necessary Index: CartF8.cxx =================================================================== RCS file: /cvsroot/stella/stella/src/emucore/CartF8.cxx,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** CartF8.cxx 1 Jan 2009 18:13:35 -0000 1.20 --- CartF8.cxx 1 May 2009 11:25:07 -0000 1.21 *************** *** 73,77 **** uInt8 CartridgeF8::peek(uInt16 address) { ! address = address & 0x0FFF; // Switch banks if necessary --- 73,77 ---- uInt8 CartridgeF8::peek(uInt16 address) { ! address &= 0x0FFF; // Switch banks if necessary *************** *** 98,102 **** void CartridgeF8::poke(uInt16 address, uInt8) { ! address = address & 0x0FFF; // Switch banks if necessary --- 98,102 ---- void CartridgeF8::poke(uInt16 address, uInt8) { ! address &= 0x0FFF; // Switch banks if necessary Index: CartF8SC.cxx =================================================================== RCS file: /cvsroot/stella/stella/src/emucore/CartF8SC.cxx,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** CartF8SC.cxx 1 Jan 2009 18:13:35 -0000 1.19 --- CartF8SC.cxx 1 May 2009 11:25:07 -0000 1.20 *************** *** 93,97 **** uInt8 CartridgeF8SC::peek(uInt16 address) { ! address = address & 0x0FFF; // Switch banks if necessary --- 93,97 ---- uInt8 CartridgeF8SC::peek(uInt16 address) { ! address &= 0x0FFF; // Switch banks if necessary *************** *** 121,125 **** void CartridgeF8SC::poke(uInt16 address, uInt8) { ! address = address & 0x0FFF; // Switch banks if necessary --- 121,125 ---- void CartridgeF8SC::poke(uInt16 address, uInt8) { ! address &= 0x0FFF; // Switch banks if necessary Index: CartFASC.cxx =================================================================== RCS file: /cvsroot/stella/stella/src/emucore/CartFASC.cxx,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** CartFASC.cxx 1 Jan 2009 18:13:35 -0000 1.19 --- CartFASC.cxx 1 May 2009 11:25:07 -0000 1.20 *************** *** 93,97 **** uInt8 CartridgeFASC::peek(uInt16 address) { ! address = address & 0x0FFF; // Switch banks if necessary --- 93,97 ---- uInt8 CartridgeFASC::peek(uInt16 address) { ! address &= 0x0FFF; // Switch banks if necessary *************** *** 132,136 **** void CartridgeFASC::poke(uInt16 address, uInt8) { ! address = address & 0x0FFF; // Switch banks if necessary --- 132,136 ---- void CartridgeFASC::poke(uInt16 address, uInt8) { ! address &= 0x0FFF; // Switch banks if necessary Index: CartMB.cxx =================================================================== RCS file: /cvsroot/stella/stella/src/emucore/CartMB.cxx,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** CartMB.cxx 1 Jan 2009 18:13:35 -0000 1.15 --- CartMB.cxx 1 May 2009 11:25:07 -0000 1.16 *************** *** 73,77 **** uInt8 CartridgeMB::peek(uInt16 address) { ! address = address & 0x0FFF; // Switch to next bank --- 73,77 ---- uInt8 CartridgeMB::peek(uInt16 address) { ! address &= 0x0FFF; // Switch to next bank *************** *** 84,88 **** void CartridgeMB::poke(uInt16 address, uInt8) { ! address = address & 0x0FFF; // Switch to next bank --- 84,88 ---- void CartridgeMB::poke(uInt16 address, uInt8) { ! address &= 0x0FFF; // Switch to next bank Index: CartMC.cxx =================================================================== RCS file: /cvsroot/stella/stella/src/emucore/CartMC.cxx,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** CartMC.cxx 1 Jan 2009 18:13:35 -0000 1.17 --- CartMC.cxx 1 May 2009 11:25:07 -0000 1.18 *************** *** 92,96 **** uInt8 CartridgeMC::peek(uInt16 address) { ! address = address & 0x1FFF; // Accessing the RESET vector so lets handle the powerup special case --- 92,96 ---- uInt8 CartridgeMC::peek(uInt16 address) { ! address &= 0x1FFF; // Accessing the RESET vector so lets handle the powerup special case *************** *** 152,156 **** void CartridgeMC::poke(uInt16 address, uInt8 value) { ! address = address & 0x1FFF; // Accessing the RESET vector so lets handle the powerup special case --- 152,156 ---- void CartridgeMC::poke(uInt16 address, uInt8 value) { ! address &= 0x1FFF; // Accessing the RESET vector so lets handle the powerup special case Index: CartUA.cxx =================================================================== RCS file: /cvsroot/stella/stella/src/emucore/CartUA.cxx,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** CartUA.cxx 1 Jan 2009 18:13:35 -0000 1.14 --- CartUA.cxx 1 May 2009 11:25:07 -0000 1.15 *************** *** 73,77 **** uInt8 CartridgeUA::peek(uInt16 address) { ! address = address & 0x1FFF; // Switch banks if necessary --- 73,77 ---- uInt8 CartridgeUA::peek(uInt16 address) { ! address &= 0x1FFF; // Switch banks if necessary *************** *** 105,109 **** void CartridgeUA::poke(uInt16 address, uInt8 value) { ! address = address & 0x1FFF; // Switch banks if necessary --- 105,109 ---- void CartridgeUA::poke(uInt16 address, uInt8 value) { ! address &= 0x1FFF; // Switch banks if necessary |