The above video goes away if you are a member and logged in, so log in now!
Freeze when USB drive inserted, and GUI is in "waiting for media..." state
Freeze when USB drive inserted, and GUI is in "waiting for media..." state –
I got freeze every time USB drive inserted, and GUI is in "waiting for media..." state.
If I have other media inserted like cd or dvd, then MASS files list are loaded ok.
If I already inserted the USB drive, before I started SMS, then again MASS files list are loaded ok.
I have also tried to debug using GUI_Status (I Don't know if GUI_Status actually writes immediately to screen, or just send data packet which contains drawing commands for GS to be displayed later), but anyhow I used this code:
lFD = fileXioDopen ( g_CWD );
and noticed that when I get freezes, it happens when fileXioDopen
is used to open MASS:\
As a result I only get to see debug print "doscan", but not "fileXioDopen".
1. Which SMS version?
- if it works with 1.6 (Rev.5 or earlier) and it doesn't with 1.6 (Rev.6) then
the problem lies in free USBD.IRX intergrated into 1.6 (Rev.6). Otherwise
check point 2 below;
2. Format type of your USB device?
- only FAT(32) format(s) is(are) supported;
1. It is an old problem that happend on older & current versions -
SMS 1.5 & SMS 1.6.
2. I am using FAT32.
please note as I already wrote in my first post here, that the problem
occur only when GUI is in "waiting for media..." state.
(If I have other media inserted like cd or dvd, then MASS files list are loaded ok.
If I already inserted the USB drive, before I started SMS, then again MASS files list are loaded ok.)
Can I use GUI_Status for debug as I did?
@rami1: ...yes, you can. The better way is to disable IOP reset (#if 1 by #if 0) inside SMS_IOP.c and use printf/ps2link/ps2client/inLink stuff. And I will check your situation (though there won't be any SMS updates untill I'll rewrite video decoder core in assembler (that will take indefinite amount of time))...
Thanks for the fast respond!
I do not use ps2link/ps2client, as my ps2 is not connected to a PC.
I only bought my ps2 to play some games and watch dvd movies with my friends, and I never thought someday I will use it to run homebrew stuff, let alone debug code with it....
Anyhow when you do check it, check first fileXioDopen
(when it used to open MASS:\ in doScan: in SMS_FileDir.c).
Is there a function that reset and initlize usb drive? maybe it will help me.
I tired using SMS_IOPStartUSB () before doscan, but ended up with empty filelist.
Thanks again Rami.
@rami1: ...no probs, my PC is almost always on (it's my "home entertainment center" ). Just quick checked SMS - everything works here (various scenarios like "disable all devices", load USB manually/automatic, with or without disk in tray etc.)...
Have You succeeded to go from "waiting for media...", to USB drive files list being showed? (using load USB automaticlly)
Btw, your code is very good & very efficient, why do You want rewrite video decoder core in assembly?
@rami1: ...yes, as soon as I plug my USB stick into PS2 I've got directory listing of it (device is selected automatically as there was no media before).
About code efficiency: it's not 100% efficient as many parts of it doesn't use full power of CPU (=multimedia instructions). I expect to get some 5-10+% performance (depending on encoding parameters) for "usual" movies. For QPel'ed ones I still have no idea yet, but it's quite interesting to try to get everything out of that black (silver) box ...