From f8adf5c31463c4f694e000d5783b6f5adf0eba70 Mon Sep 17 00:00:00 2001 From: stephena Date: Sun, 25 Apr 2010 23:33:49 +0000 Subject: [PATCH] Final changes for the 3.1.1 release. git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2027 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba --- Changes.txt | 2 ++ docs/graphics/debugger_main.png | Bin 30013 -> 29961 bytes docs/graphics/debugger_rom.png | Bin 8487 -> 8461 bytes docs/graphics/debugger_romcmenu.png | Bin 4719 -> 4664 bytes src/common/Version.hxx | 2 +- src/emucore/CartDPCPlus.cxx | 35 ++++++++++++++-------------- src/emucore/CartDPCPlus.hxx | 8 +++---- 7 files changed, 25 insertions(+), 22 deletions(-) diff --git a/Changes.txt b/Changes.txt index cdaa03ca5..bc2330384 100644 --- a/Changes.txt +++ b/Changes.txt @@ -17,6 +17,8 @@ * Fixed program crash when using RIOT addresses and labels in the debugger console prompt. + * Updated DPC+ bankswitch scheme to latest specifications. + -Have fun! diff --git a/docs/graphics/debugger_main.png b/docs/graphics/debugger_main.png index 5e12baafeebb0c8ed0c3730899fd7aa31420d80a..4bec4ae2615d0536ade6ebb99f4b900cf5a33d88 100644 GIT binary patch delta 27025 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 b-R8ZB9{hHX54x2P`gif1o@So9Rp9>tsf$AT delta 27141 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
KJyTcITh>zpEjpsrCR6!A#=o!A8s-P#A|_x8Pob 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 JR@ddp{{WSrnz#S} literal 8487 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 diff --git a/docs/graphics/debugger_romcmenu.png b/docs/graphics/debugger_romcmenu.png index 30c91c02e1c3fe7bbb54b27024b54b502f48d857..c742ef92af083bc5a4a033f951ffb25323710bb8 100644 GIT binary patch delta 4638 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 Qmj`5IV1B#qCM5QM01cL7W&i*H diff --git a/src/common/Version.hxx b/src/common/Version.hxx index 016652e50..b55bc6ce3 100644 --- a/src/common/Version.hxx +++ b/src/common/Version.hxx @@ -22,7 +22,7 @@ #include -#define STELLA_VERSION "3.1.1_test1" +#define STELLA_VERSION "3.1.1" #define STELLA_BUILD atoi("$Rev$"+6) #endif diff --git a/src/emucore/CartDPCPlus.cxx b/src/emucore/CartDPCPlus.cxx index b15e4c85d..034cc0944 100644 --- a/src/emucore/CartDPCPlus.cxx +++ b/src/emucore/CartDPCPlus.cxx @@ -27,7 +27,7 @@ CartridgeDPCPlus::CartridgeDPCPlus(const uInt8* image, uInt32 size) : myFastFetch(false), myLDAimmediate(false), - mySelectByte(0), + myParameter(0), mySystemCycles(0), myFractionalClocks(0.0) { @@ -54,7 +54,7 @@ CartridgeDPCPlus::CartridgeDPCPlus(const uInt8* image, uInt32 size) // Initialize the DPC's random number generator register (must be non-zero) myRandomNumber = 0x2B435044; // "DPC+" - // Remember startup bank + // DPC+ always starts in bank 5 myStartBank = 5; } @@ -146,15 +146,20 @@ inline void CartridgeDPCPlus::updateMusicModeDataFetchers() } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -inline void CartridgeDPCPlus::writeByte(uInt8 value) +inline void CartridgeDPCPlus::callFunction(uInt8 value) { - switch (mySelectByte & 0x7F) + // myParameter + switch (value) { + //case 0: template for future special functions + // CallSpecialFunctionO(myParameter); + // break; + case 255: // Call user writen ARM code (most likely be C compiled for ARM). + // ARM code not supported by Stella at this time. + break; // reserved } - if (mySelectByte & 0x80) - mySelectByte++; } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -398,12 +403,12 @@ bool CartridgeDPCPlus::poke(uInt16 address, uInt8 value) myFastFetch = (value == 0); break; - case 0x01: // SELECTBYTE - set byte to update in writeByte() - mySelectByte = value; + case 0x01: // PARAMETER - set parameter used by CALLFUNCTION (not all functions use the parameter) + myParameter = value; break; - case 0x02: // WRITEBYTE - writeByte(value); + case 0x02: // CALLFUNCTION + callFunction(value); break; case 0x03: // reserved @@ -413,11 +418,7 @@ bool CartridgeDPCPlus::poke(uInt16 address, uInt8 value) case 0x05: // WAVEFORM0 case 0x06: // WAVEFORM1 case 0x07: // WAVEFORM2 - // make sure index isn't beyond the 29K cartridge space - // not sure how the Harmony handles it (most likely uses the ARM code), - // but we want to make sure an invalid memory access doesn't crash Stella. - if (value >=159) value = 0; - myMusicWaveforms[index - 5] = value; + myMusicWaveforms[index - 5] = value & 0x7f; break; } break; @@ -632,7 +633,7 @@ bool CartridgeDPCPlus::save(Serializer& out) const out.putBool(myLDAimmediate); // Control Byte to update - out.putByte((char) mySelectByte); + out.putByte((char) myParameter); // The music counters out.putInt(3); @@ -714,7 +715,7 @@ bool CartridgeDPCPlus::load(Serializer& in) myLDAimmediate = in.getBool(); // Control Byte to update - mySelectByte = (uInt8) in.getByte(); + myParameter = (uInt8) in.getByte(); // The music mode counters for the data fetchers limit = (uInt32) in.getInt(); diff --git a/src/emucore/CartDPCPlus.hxx b/src/emucore/CartDPCPlus.hxx index 399adc3df..668480756 100644 --- a/src/emucore/CartDPCPlus.hxx +++ b/src/emucore/CartDPCPlus.hxx @@ -161,9 +161,9 @@ class CartridgeDPCPlus : public Cartridge inline void updateMusicModeDataFetchers(); /** - Writes a control byte + Call Special Functions */ - inline void writeByte(uInt8 value); + inline void callFunction(uInt8 value); private: // Indicates which bank is currently active @@ -205,8 +205,8 @@ class CartridgeDPCPlus : public Cartridge // Flags that last byte peeked was A9 (LDA #) bool myLDAimmediate; - // Control Byte to update - uInt8 mySelectByte; + // Parameter for special functions + uInt8 myParameter; // The music mode counters uInt32 myMusicCounters[3];