Project

General

Profile

Actions

Emulator Issues #7035

closed

Missing IPL USA version 1.2

Added by greyrogue about 10 years ago. Updated over 8 years ago.

Status:
Fixed
Priority:
Normal
Assignee:
-
% Done:

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

Description

Game Name?
N/A

Game ID?
N/A

What's the problem? Describe what went wrong in few words.
I dumped my IPL with swiss-gc and it looks like it's missing from the list in Boot.cpp. My dump appears to be correct, as I can load games with it. I opened the file with a hex editor, and the copyright ends with "NTSC Revision 1.2". I noticed that Boot.cpp has USA and USA_v1_1, but not USA_v1_2.
A few more details, the file is 0x200000 bytes long, and offset 0x1FF474 has data in it. After this, there are just 0's through the end. I wasn't sure if this was normal, as it looks like the Descrambler only uses up 0x820 + 0x1AFE00 (and it only unscrambles through 0x1AFE00 + 0x100) if I'm reading this code correctly:
CEXIIPL::Descrambler((u8*)data.data()+0x100, 0x1AFE00);

Memory::WriteBigEData((const u8*)data.data() + 0x100, 0x81200000, 0x700);
Memory::WriteBigEData((const u8*)data.data() + 0x820, 0x81300000, 0x1AFE00);

What did you expect to happen instead?
IPL recognized

What steps will reproduce the problem?

  1. Run with Skip BIOS unchecked

Dolphin 3.5 and 3.5-367 are old versions of Dolphin that have
known issues and bugs, so don't report issues about them and test the
latest Dolphin version first.
Which versions of Dolphin did you test on?
4.0-328

Does using an older version of Dolphin solve your issue? If yes, which
versions of Dolphin used to work?
No

What are your PC specifications? (including, but not limited to: Operating
System, CPU and GPU)
N/A

Are you using the 32 or the 64 bit version of Dolphin?
64

Is there any other relevant information? (e.g. logs, screenshots,
configuration files)
Code snippet with modification to include the IPL:

const u32 USA = 0x1FCE3FD6;
const u32 USA_v1_1 = 0x4D5935D1;
const u32 USA_v1_2 = 0xdf6cf65b;
const u32 JAP = 0x87424396;
const u32 PAL = 0xA0EA7341;
//const u32 PanasonicQJ = 0xAEA8265C;
//const u32 PanasonicQU = 0x94015753;

// Load the whole ROM dump
std::string data;
if (!File::ReadFileToString(false, _rBootROMFilename.c_str(), data))
    return false;

u32 ipl_hash = HashAdler32((const u8*)data.data(), data.size());
std::string ipl_region;
switch (ipl_hash)
{
case USA:
case USA_v1_1:
case USA_v1_2:
    ipl_region = USA_DIR;
    break;

Related issues 1 (0 open1 closed)

Related to Emulator - Emulator Issues #8936: Unknown hash on IPL.binFixed

Actions
Actions #1

Updated by greyrogue about 10 years ago

A little more information. The data starting at 0x1AFF00 begins with 0x59617930 ("Yay0") which I think is expected for font info, which means the dump is likely good.

Actions #2

Updated by Sonicadvance1 about 10 years ago

  • Status changed from New to Accepted

Nice information, It's true that we haven't updated the source to support any newer IPL versions.
I'll set this to accepted for now.

Actions #3

Updated by BhaaL over 8 years ago

Actions #4

Updated by JMC4789 over 8 years ago

  • Status changed from Accepted to Fixed
Actions

Also available in: Atom PDF