Просмотр полной версии : UMD Version Checker - версия прошивки UMD-дисковода
ErikPshat
16.01.2010, 14:27
Вам интересно узнать версию прошивки, установленной в UMD-дисководе на заводе?
Тогда эта программа для вас!
UMD Version Checker Final
2960
Основана на исходных кодах и документации SilverSpring.
Фактически от исходников осталось ~5% кода.
Пример того, что выводилось изначально и только в файл umd-drive.txt:Ђ 2\ SCEI UMD ROM DRIVE 1.150AAug30 ,2005
Весь основной код по выводу на экран и в файл написан stillllll (http://www.pspx.ru/forum/member.php?u=255901). Так что все благодарности ему.
Моё только оформление и распределение кода.
Как обычно, копируем папку с программой в ms0:/PSP/GAME/
Запускаем из меню Игра -> Memory Stick™
Забираем из корня карты памяти текстовик umd-drive.txt и смотрим версию прошивки
Прошивка моего дисковода - 1.150А от 30 Августа 2005 года.
Просто интересно, какие версии существуют. Выкладывайте свои показания...
Источник (http://my.malloc.us/silverspring/2008/04/umd-firmware-version-checker/) SilverSpring ©
Во вложении программа с исходниками.
PSP-2004,SCEI UMD ROM DRIVE 1.240ANov10 ,2006
PSP1004
Ђ 2\ SCEI UMD ROM DRIVE 1.090 Oct18 ,2004
PSP-2004 SCEI UMD ROM DRIVE 1.240ANov10 ,2006 o_O
Выходит, что сони не стала делать новых приводов для слима, и оставили от фатки?
psp 2008 Ђ 2\ SCEI UMD ROM DRIVE 1.240ANov10 ,2006
ErikPshat
17.01.2010, 02:23
Выходит, что сони не стала делать новых приводов для слима, и оставили от фатки?Да не, судя по уже выложенным результатам, как раз у всех пока Слимок привод с прошивкой:
1.240A - Nov10 ,2006
stillllll
17.01.2010, 02:56
3008 - Ђ 2\ SCEI UMD ROM DRIVE 1.240ANov10 ,2006
Не нужно выводить содержимое файла. Нужно добавить описание стурктуры ATAPI_INQUIRY (первое, что нашел в гугле http://www.singlix.com/trdos/atapinq.html), но можно нагуглить и нормальный какой-нибудь atapi.h от какого-нибудь линукса и т.д.
typedef struct
{
char peripheral_device_type;
char removable;
char standard_ver;
char atapi_response;
int additional;
char vendor_id[8];
char product_id[16];
char product_rev[14];
}ATAPI_INQURIY;
И затем третьим параметром для _sceUmdExecInquiryCmd передавать указатель на эту нашу структуру (туда где сейчас buf).
После этого можно будет все красиво выводить по полям структуры на экран с помощью pspdebugscreenprintf =)
PSP 2008 SCEI UMD ROM DRIVE 1.240ANov10 ,2006
ErikPshat
17.01.2010, 10:59
Там ведь по окончанию программы данные записываются в текстовой файл umd.txt.
Ведь можно же просто после сохранения взять текст из файла типа так:
printf("ms0:/umd.txt", pspDebugScreenOut);
Или после этой строчки, когда 0х38 байт уже скопировалось в буфер:
u8 buf[0x38];
u8 param[4] = {0, 0, 0x38, 0};
вывести из буфера на экран типа так:
printf(pspDebugScreenOut, &buf);
stillllll
17.01.2010, 18:49
Ну вот как-то так: http://narod.ru/disk/16993026000/umd.zip.html
Проще придумать что-то вряд-ли возможно.
ErikPshat
17.01.2010, 19:57
stillllll, О_о, спасибо за урок! =)
Круто получилось. Все характеристики вывел!
А эти значения хоть что означают? Может их лучше в десятичном формате вывести. А то эти цифры ни о чём не говорят.
И ещё, весия прошивки всё-таки склеивается с месяцем. Видимо так оно в самой прошивке записано. Но видно, что съезжает влево от запятой.
Может можно как-то разделить прошивку от месяца, например взять первые 5 символов, потом сделать пробел, потом следующие 3 символа (месяц), опять пробел, потом два символа на число и 4 символа на год =)
stillllll
17.01.2010, 20:22
Там по ссылке, котрую ты давал на SilverSpring немного расписано что эти поля означают.
- the drive reports to the host as a “CDROM Device” (0×5 in the Device Type field).
- that the medium is removable (RMB bit set to 1).
- is not standard in either ANSI/ECMA/ISO (all set to 0)
- Response Data Format (2)
- ATAPI Transport Version (3)
- Vendor ID is “SCEI”
- Product ID is “UMD ROM DRIVE”
- a blank Product Revision Level
- Vendor Specific info “1.240 Nov10 ,2006″
ErikPshat
17.01.2010, 20:30
stillllll, понял.
Спасибо! Добавил в шапку.
ErikPshat
20.01.2010, 19:25
stillllll, и всё-таки, почему в текстовик не выводит то, что показывает на экране?
Вопрос поменялся. Раньше спрашивал, как из текстовика вывести на экран. Теперь, как с экрана вывести в текстовик ))).
Вероятно всё-таки нужно воспользоваться более гибко функцией sceUmdExecInquiryCmd
stillllll
20.01.2010, 22:37
Для того чтобы сохранить в файл выводимый текст, можно воспользоваться следующей строкой кода, которую я добавлял в первый вариант просто для "отладки", когда pspDebugScreenPrintf выводила мне крякозябры.
writeFile("ms0:/umd2.txt", outtxt, strlen(outtxt)); // хотя в файл выводится нормально
ErikPshat
21.01.2010, 10:04
stillllll, отлично! Всё работает.
Продолжим =)
char sony_spec[0x14]; //Выводим информацию о прошивке
strncpy(buftxt, ai.sony_spec, 0x14); // Копируем данные из буфера на экран и в файл
Получаем: 1.240ANov10 ,2006
Как здесь можно отсечь первые 6 байт (1.240A), чтобы они не выводились на экран?
Чтобы вывести только это: Nov10 ,2006
stillllll
21.01.2010, 18:04
Примерно как-то так:
strncpy(buftxt, &ai.sony_spec[6], 14);
Вторым параметром мы передаем указатель на 7 символ строки и уменьшаем число копируемых символов на 6 (третий параметр).
Но этот способ годится, только если дата будет начинаться с 7 символа.
Можно отделить версию и дату пробелом:
strncpy(buftxt, ai.sony_spec, 6);
strcat(buftxt, " ");
strncpy(buftxt, &ai.sony_spec[6], 14);
ErikPshat
23.01.2010, 02:27
stillllll, огромное тебе спасибо! Этот урок я выучил.
Ну тогда финальная версия с исходниками в шапке =)
В принципе от исходных исходников там ничего не осталось.
По моему неплохо получилось.
а какой в этом всём практический смысл, если не секрет?
stillllll
04.02.2010, 12:42
а какой в этом всём практический смысл, если не секрет?
Никакого. Все 4fun =)
myhouse_1991
04.02.2010, 18:37
Запустил на 3 PSP:
1) Мой PSP-2008 с платой ta-088v2
2) Другой PSP-2008 с платой ta-085v1
3) Другой PSP-3008 с платой ta-090v2
Выдались одни и те же результаты:
http://s002.radikal.ru/i198/1002/60/cf198873094b.png
Ну ещё есть пару мелких косяков у тебя с английским переводом:
Characteristics UMD Drive - по-русски звучало бы как характеристики UMD привод. Нужно указать принадлежность, используя фразу of
Characteristics of UMD Drive - по-русски звучало бы как характеристики UMD привода.
Based on the source code SilverSpring - а где любимая фраза by? )))
ErikPshat
04.02.2010, 20:10
myhouse_1991, ну так Гугль перевёл ))). Да и сам SilverSpring в исходниках не применяет by.
Ну, в общем исправил.
Это на Фатках старые версии прошивки.
Например у alex90 - 1.090 от 18 Октября 2004 года.
А у меня посвежее - 1.150А от 30 Августа 2005 года.
На Слимках и Брайтах - 1.240A от 10 Ноября 2006 года.
Ещё бы узнать, как обновить версию прошивки :)
Ещё бы узнать, как обновить версию прошивки :)
да нафиг..))
Astra1111
11.02.2010, 18:12
да нафиг..))
Возможно это увеличит скорость чтения и уменьшит вероятность ошибок при чтении. Я так думаю)))
Rasiel-sama
18.07.2010, 13:02
Вот с моей PSP-1000, самой первой японки с платой ta79
http://s14.radikal.ru/i187/1007/64/f56dedfdf349.jpg
vBulletin® v3.8.7, Copyright ©2000-2025, vBulletin Solutions, Inc. Перевод: zCarot