mirror of https://github.com/bsnes-emu/bsnes.git
Update to v072r13 release.
byuu says: The DSP-1 and DSP-3 emulation appears to be great. However, there are bugs in the other two. DSP-2, Dungeon Master: the graphics in-game appear corrupt. It looks like the first two pixels have the right color, the next six have the wrong color, resulting in vertical stripes. DSP-4, Top Gear 3000: the car sprites appear to be showing 8x8 tiles instead of 16x16 files, resulting in 3/4ths of the cars being invisible, but only up close. Dr. Decapitator and Lord Nightmare are supremely confident that our dumps are 100% accurate, there was no bus wavering at all this time. We believe they are bugs in the uPD77C25 emulation. I desperately need help! I have spent the past several hours trying to ascertain what the problem is, to no avail. I've tried messing with just about every flag, every register, checking for use of OV1, S1, custom opcodes, etc ... I am having no luck. I'm going to keep trying with even more sophisticated cross-analysis. But Cydrak, if you would please rework that magic of yours, I'd be eternally grateful :D
This commit is contained in:
parent
a62aa94b65
commit
b27e0a719d
|
@ -408,7 +408,7 @@ SNESCartridge::SNESCartridge(const uint8_t *data, unsigned size) {
|
|||
}
|
||||
|
||||
if(has_dsp1) {
|
||||
xml << " <upd77c25 program='dsp1b.bin' sha256='d85ba8271a5b28a25e078d7f72722de1d6990a9f098a8d574c4338adcef883a6'>\n";
|
||||
xml << " <upd77c25 program='dsp1.bin' sha256='5f2e5ed06b362be023b978b5978813ecb9a07c76592454b45c2a1ed17a0de349'>\n";
|
||||
if(dsp1_mapper == DSP1LoROM1MB) {
|
||||
xml << " <dr>\n";
|
||||
xml << " <map address='20-3f:8000-bfff'/>\n";
|
||||
|
@ -441,7 +441,7 @@ SNESCartridge::SNESCartridge(const uint8_t *data, unsigned size) {
|
|||
}
|
||||
|
||||
if(has_dsp2) {
|
||||
xml << " <upd77c25 program='dsp2.bin'>\n";
|
||||
xml << " <upd77c25 program='dsp2.bin' sha256='5efbdf96ed0652790855225964f3e90e6a4d466cfa64df25b110933c6cf94ea1'>\n";
|
||||
xml << " <dr>\n";
|
||||
xml << " <map address='20-3f:8000-bfff'/>\n";
|
||||
xml << " <map address='a0-bf:8000-bfff'/>\n";
|
||||
|
@ -454,7 +454,7 @@ SNESCartridge::SNESCartridge(const uint8_t *data, unsigned size) {
|
|||
}
|
||||
|
||||
if(has_dsp3) {
|
||||
xml << " <upd77c25 program='dsp3.bin' sha256='7044784484a0f9a869e5b03f685fa2bb5324d52a03716b9632c096206d51985b'>\n";
|
||||
xml << " <upd77c25 program='dsp3.bin' sha256='2e635f72e4d4681148bc35429421c9b946e4f407590e74e31b93b8987b63ba90'>\n";
|
||||
xml << " <dr>\n";
|
||||
xml << " <map address='20-3f:8000-bfff'/>\n";
|
||||
xml << " <map address='a0-bf:8000-bfff'/>\n";
|
||||
|
@ -467,7 +467,7 @@ SNESCartridge::SNESCartridge(const uint8_t *data, unsigned size) {
|
|||
}
|
||||
|
||||
if(has_dsp4) {
|
||||
xml << " <upd77c25 program='dsp4.bin'>\n";
|
||||
xml << " <upd77c25 program='dsp4.bin' sha256='63ede17322541c191ed1fdf683872554a0a57306496afc43c59de7c01a6e764a'>\n";
|
||||
xml << " <dr>\n";
|
||||
xml << " <map address='30-3f:8000-bfff'/>\n";
|
||||
xml << " <map address='b0-bf:8000-bfff'/>\n";
|
||||
|
|
|
@ -236,11 +236,22 @@ void Cartridge::xml_parse_upd77c25(xml_element &root) {
|
|||
if(fp.open(string(dir(basename()), attr.content), file::mode::read)) {
|
||||
for(unsigned n = 0; n < 2048; n++) {
|
||||
upd77c25.programROM[n] = fp.readm(3);
|
||||
fp.read();
|
||||
}
|
||||
for(unsigned n = 0; n < 1024; n++) {
|
||||
upd77c25.dataROM[n] = fp.readm(2);
|
||||
}
|
||||
|
||||
fp.seek(0);
|
||||
uint8 data[8192];
|
||||
fp.read(data, 8192);
|
||||
fp.close();
|
||||
|
||||
sha256_ctx sha;
|
||||
uint8_t shahash[32];
|
||||
sha256_init(&sha);
|
||||
sha256_chunk(&sha, data, 8192);
|
||||
sha256_final(&sha);
|
||||
sha256_hash(&sha, shahash);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
namespace SNES {
|
||||
namespace Info {
|
||||
static const char Name[] = "bsnes";
|
||||
static const char Version[] = "072.12";
|
||||
static const char Version[] = "072.13";
|
||||
static const unsigned SerializerVersion = 14;
|
||||
}
|
||||
}
|
||||
|
@ -39,11 +39,12 @@ using namespace nall;
|
|||
#endif
|
||||
|
||||
namespace SNES {
|
||||
typedef int8_t int8;
|
||||
typedef int16_t int16;
|
||||
typedef int32_t int32;
|
||||
typedef int64_t int64;
|
||||
typedef uint8_t uint8;
|
||||
typedef int8_t int8;
|
||||
typedef int16_t int16;
|
||||
typedef int32_t int32;
|
||||
typedef int64_t int64;
|
||||
|
||||
typedef uint8_t uint8;
|
||||
typedef uint16_t uint16;
|
||||
typedef uint32_t uint32;
|
||||
typedef uint64_t uint64;
|
||||
|
|
Loading…
Reference in New Issue