нужна помощь в написании umd дампера
Собственно в целях самообразования решил написать дампер умд. Сами диски прекрасно грабятся, но никак не могу организовать вывод процента на экран. Сам процесс снятия образа идеит в отдельном цикле, так что до его завершения экран не обновляется, а если писать внутри этого цикла - сбрасывается все что было на экране до этого и вывод идет построчечно (pspDebugScreenSetXY не срабатывает второй раз). Как уже понятно все идет через отладочный вывод. И еще вопрос - как можно программно включить режим "без засыпания" при запуске программы и вернуть все как было при выходе?
Сам грабеж идет примерно так:
if (ready==1)
{
fd_i = sceIoOpen("umd:", PSP_O_RDONLY, 0777);
fd_o = sceIoOpen(op, PSP_O_WRONLY | PSP_O_CREAT | PSP_O_TRUNC, 0777);
now_sector = 0;
read_sec = sceIoRead(fd_i, buf, max_buf);
while (read_sec>0)
{
sceIoWrite(fd_o, buf, read_sec * 0x800);
now_sector += read_sec;
read_sec = sceIoRead(fd_i, buf, max_buf);
prc = now_sector * 100 /umd_sector;
}
sceIoClose(fd_i);
sceIoClose(fd_o);
ready=0;
}
в prc собственно процент копирования
Последний раз редактировалось Yoti; 01.01.2012 в 16:18.
Причина: не забываем про бб-код
|