Giter VIP home page Giter VIP logo

Comments (5)

sanni avatar sanni commented on August 30, 2024 1

The internal rom name of "Yuyu no Quiz de GO!GO!" is one character too long so it overwrites the byte that the Cart Reader uses to identify lorom or hirom with "!". "!" is 0x21 in hex which is used for hirom games so that's why the OSCR thinks it's a hirom game and dumps incorrectly.

Something similar has happened with Krusty's Super Fun House (U) 1.0 & Contra 3 (U): https://github.com/sanni/cartreader/blob/master/Cart_Reader/SNES.ino#L1003

A special case needs to be added for "Yuyu no Quiz de GO!GO!" something like this:

else if (strcmp("3BB0", checksumStr) == 0) { // Detect invalid romType byte due to too long ROM name (22 chars)
romType = LO; // Yuyu no Quiz de GO!GO!
}

from cartreader.

PsychoFox11 avatar PsychoFox11 commented on August 30, 2024

If you choose Force Cart Type from the same menu as Read ROM, and choose LoRom, does that not work?

from cartreader.

jrz1333 avatar jrz1333 commented on August 30, 2024

It does not, it reports back something different. What it reports back is as follows:

Checksum.... EEC0!= 3BB0
Invalid Checksum
CRC32...93A8BC26 -> Not Found

from cartreader.

jrz1333 avatar jrz1333 commented on August 30, 2024

That’s good to know, thanks for the insight @sanni ! I’ll test it when I get home from work later this evening and let you know how it goes. Taking a look at the code, I have no doubt that it’ll work.

My next curious question is, is there a way to simplify this so that instead of there being multiple instances of “special cases” that this becomes a case of “if over 21 characters, shorten”? Or (and this may be a huge but messy suggestion) is there a way to possibly read the cartridges in the sense of reading it and/or changing the data to show the cartridge label, for example SHVC-YY?

from cartreader.

jrz1333 avatar jrz1333 commented on August 30, 2024

Following up on this, I added the lines as follows:

romType = snesHeader[0xFFD5 - headerStart];
if ((romType >> 5) != 1) { // Detect invalid romType byte due to too long ROM name (22 chars)
} else if (strcmp("3BB0", checksumStr) == 0) {
romType = LO; // LoROM // Krusty's Super Fun House (U) 1.0, Contra 3 (U), Yuyu no Quiz de GO!GO!
} else if (romType == 0x35) {
romType = EX; // Check if ExHiROM
} else if (romType == 0x3A) {
romType = HI; // Check if SPC7110
} else {
romType &= 1; // Must be LoROM or HiROM
}

Added the line as intended above the "romType = LO" and just changed the descriptor for the LoROM line to include Yuyu. Just to decrease any added clutter.

The game backed up just fine and loads in emulators no problem. Thanks for the help, Sanni! I'm not sure if my suggestion earlier made sense or not, it was more of a "driving to work" thought than anything. Maybe it makes sense or is too complicated.

from cartreader.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.