smurk-too / wii-softchip

Automatically exported from code.google.com/p/wii-softchip
0 stars 0 forks source link

Multi-Partition Support #47

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Please fill out the following information:

Problem Disc:yes
--------------------------------------------------
Disc Region:pal
Wii Region:pal
cIOS Version: 249

Which SoftChip revision are you using?
77

Please describe the issue you're having

to select another partition, I get error I have seen in the src read
another partition that needs to change from primary to secondary harcodes
fix it and so are hardcoded?

Please provide any additional information below.

You could add a switch partitions

so get an iso multigame

I tried but I find myself with the c # cpp not step

Original issue reported on code.google.com by hidr...@gmail.com on 13 Jan 2009 at 8:43

GoogleCodeExporter commented 8 years ago
sorry my bad english 

Original comment by hidr...@gmail.com on 13 Jan 2009 at 8:45

GoogleCodeExporter commented 8 years ago
Support for additional partition types (secondary, tertiary, quaternary) | Fix
hardcoded values

Original comment by hidr...@gmail.com on 13 Jan 2009 at 8:48

GoogleCodeExporter commented 8 years ago
 Offset = Descriptor.Tertiary_Offset << 2;
        Out->Print("Partition Info is at: 0x%x\n", Offset);

        // TODO: Support for additional partition types (secondary, tertiary,
quaternary) | Fix hardcoded values
        dword BufferLen = (Descriptor.Tertiary_Count / 4 + 1) * 0x20;
        byte *PartBuffer = (byte*)memalign(0x20, BufferLen);

        memset(PartBuffer, 0, BufferLen);
        DI->Read_Unencrypted(PartBuffer, BufferLen, Offset);

        Wii_Disc::Partition_Info *Partitions = (Wii_Disc::Partition_Info*)PartBuffer;

        for (dword i = 0; i < Descriptor.Tertiary_Count; i++)

I'm doing wrong?

Original comment by hidr...@gmail.com on 13 Jan 2009 at 8:58

GoogleCodeExporter commented 8 years ago
We'll implement that soon.

Original comment by luccax@gmail.com on 13 Jan 2009 at 10:14

GoogleCodeExporter commented 8 years ago
In this loop is selected which partition is loaded:

        for (dword i = 0; i < Descriptor.Primary_Count; i++)
        {
            Out->Print("Found Partition (Type %u): 0x%x\n", Partitions[i].Type,
Partitions[i].Offset << 2);

            if (Partitions[i].Type == 0)
            {
                memcpy(&Partition_Info, &Partitions[i], sizeof(Wii_Disc::Partition_Info));
                break;
            }
        }

Now it loads the first partition which has .Type = 0

Original comment by nintendo...@kaffeeschluerfer.com on 13 Jan 2009 at 10:18

GoogleCodeExporter commented 8 years ago
Sorry, i had a closer look at this now. It's more complicated than i thought. I 
don't
understand this, so what i write here are only suggestions.

dword BufferLen = (Descriptor.Primary_Count / 4 + 1) * 0x20;
needs to be changed, that all partitions are read, so you need .Primary_Count,
.Secondary_Count, .Tertiary_Count and .Quaternary_Count. But i don't know how 
exactly
this has to be done

for (dword i = 0; i < Descriptor.Primary_Count; i++)
i guess this needs to be changed to:
for (dword i = 0; i <
(Descriptor.Primary_Count+Descriptor.Secondary_Count+Descriptor.Tertiary_Count+D
escriptor.Quaternary_Count;
i++)

And you would need to change the loop, in order that you can select the 
partition to load

Original comment by nintendo...@kaffeeschluerfer.com on 13 Jan 2009 at 10:32

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
is more difficult than I thought

thanks

Original comment by hidr...@gmail.com on 14 Jan 2009 at 11:41

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
'In' was not declared in this scope

In variable like?

Original comment by hidr...@gmail.com on 14 Jan 2009 at 6:33

GoogleCodeExporter commented 8 years ago
Please, we will work on that, if you have suggestions come to the IRC 
(#SoftChip on
freenode), don't post them here.

Original comment by luccax@gmail.com on 14 Jan 2009 at 9:19

GoogleCodeExporter commented 8 years ago
Forgiver ok

Original comment by hidr...@gmail.com on 14 Jan 2009 at 9:50

GoogleCodeExporter commented 8 years ago
r78 can load multi-partition games, I think that's what you need, and not the
secondary, tertiary things. I'm working on a way to choose what partition to 
load now.

Original comment by luccax@gmail.com on 17 Jan 2009 at 2:33

GoogleCodeExporter commented 8 years ago
I have proven it and loads first partition I believe that the structured disc 
this
bad one, the partitions leaves to me united in hexadecimal I could be that the 
disc
this evil

Original comment by hidr...@gmail.com on 17 Jan 2009 at 4:15

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
I play dead hourse 2 and 3 ,but not yet play dead hours2 with R78

Original comment by kavidwf@gmail.com on 18 Jan 2009 at 1:07

GoogleCodeExporter commented 8 years ago
That's a cIOS problem, I'll implement the possibility to choose the Boot 
Partition,
but for now, this issue is solved.

Original comment by luccax@gmail.com on 19 Jan 2009 at 2:53