PDA

Просмотр полной версии : нужна помощь в написании umd дампера


indeec-evafan
01.01.2012, 14:08
Собственно в целях самообразования решил написать дампер умд. Сами диски прекрасно грабятся, но никак не могу организовать вывод процента на экран. Сам процесс снятия образа идеит в отдельном цикле, так что до его завершения экран не обновляется, а если писать внутри этого цикла - сбрасывается все что было на экране до этого и вывод идет построчечно (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, 15:59
Чем готовые исходники (http://psp.dashhacks.com/downloads/umd-dump-prx-source-code-131) от Такки не угодили? Там есть всё.


И еще вопрос - как можно программно включить режим "без засыпания" при запуске программы и вернуть все как было при выходе?
Мне больше нравится вариант отсылать системе тики, дабы она не засыпала.
scePowerTick(PSP_POWER_TICK_SUSPEND);
До кучи можно отключить power рычаг =)

indeec-evafan
01.01.2012, 16:34
Спасибо! С выводом тоже разобрался. Сейчас тики прикручу и все. За идею с рычагом тоже спасибо!
Исходники эти смотрел чтоб понять как именно читать. Но там плагин, а я хотел отдельную прогу.
З.Ы.
Извиняюсь, код забыл поставить.