Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dump runs forever on SCHP-30001 to USB drive #24

Open
eschnack0 opened this issue Oct 7, 2024 · 4 comments
Open

Dump runs forever on SCHP-30001 to USB drive #24

eschnack0 opened this issue Oct 7, 2024 · 4 comments

Comments

@eschnack0
Copy link

Hi F0bes,

I picked up a used PS2 and tried to dump the BIOS. I used a FMCB card and launched the elf file from my USB thumbdrive. But since the directions said it was slow I let it run for hours. After about 2 hours I assumed it was hung. No new files were written either.

I have done some C programming so I added extra menu_status() calls to find the problem. The first problem was in getting the model name in your function int modelname_read(char *name) on this line "if ((result = sceCdAltRM(name, &stat)) == 1)".
Tracing into this function, I think it's this call to the sdk library that doesn't return.
result1 = sceCdApplySCmd(0x17, sdata, 1, rdata);

I was unable to get all of the prereqs to build the sdk. It ran for about 6 hours anyway and it had several errors/warning that somethings would not work. I believe that this is the core problem in the sdk.

As a workaround, I hardcoded to my model and it dumped rom0, rom1, rom2. But again in the NVM dump it froze again. So, I disabled NVM dump and start it again. And it froze again dumping MEC. I looked quickly and again it looks like it freezes up at the point that you call the sdk function.

I was trying to run PCSX2 so I got the files I needed. PCSX2 prompted me for the settings that were in NVM so I'm good.

It might help to set expectation that it shouldn't run more than 10 minutes and if you have a thumbdrive with an activity light. It should be blink every 'few' minutes.

Definitely a cool program! Thanks for your effort.

Regards,

Eric

@eschnack0
Copy link
Author

Correction your original call was:
result1 = sceCdApplySCmd(0x17, &sdata, 1, rdata);

In trying to see what's wrong I tried making sdata a 17 byte array and increased to size of rdata to 17 bytes similar to some samples from the SDK. I was thinking you may have had a buffer overflow. But, it made no difference.

@F0bes
Copy link
Owner

F0bes commented Oct 10, 2024

Very interesting. Unfortunately I have no idea what to do if that call hangs.
Just curious, is the DVD drive in your console fully working? I'm fairly confident that a disconnected / broken DVD drive would result in this (SCmds are all handled by that peripheral iirc).

@eschnack0
Copy link
Author

eschnack0 commented Oct 10, 2024 via email

@F0bes
Copy link
Owner

F0bes commented Oct 10, 2024

Hmm, the fact that any game works kind of kills my theory that the disk drive is dead.
To answer your question, yes you need to have a specific drive for the PS2. Thankfully I doubt your drive is dead so I suspect you wont have to find a replacement. It would probably be easier just purchasing a new PS2 at that point.

Regarding my blogs, most of them specialize in specific low level parts of the PS2. I'm unsure of your experience but they try to be easy to understand but they aren't what I'd consider beginner friendly.

I know these streams are good and start out from the complete basics. https://www.youtube.com/watch?v=kX_JpzxR2Qg&list=PLFZsvEE0TWOsFhZr-9KwLED3Rzlwra_Rm

I don't know of a good text based resource for people starting out. You can always come into the PCSX2 discord or add my discord (_fobes). I can invite you to a server that is based around PS2 development so if you have any question myself and others will be able to help :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants