PSPx форум

PSPx форум (https://www.pspx.ru/forum/index.php)
-   PSP хакинг и девелопмент (https://www.pspx.ru/forum/forumdisplay.php?f=195)
-   -   UMD Version Checker - версия прошивки UMD-дисковода (https://www.pspx.ru/forum/showthread.php?t=85928)

ErikPshat 16.01.2010 14:27

UMD Version Checker - версия прошивки UMD-дисковода
 
Вложений: 2
Вам интересно узнать версию прошивки, установленной в UMD-дисководе на заводе?

Тогда эта программа для вас!

UMD Version Checker Final

Вложение 2960
  • Основана на исходных кодах и документации SilverSpring.
  • Фактически от исходников осталось ~5% кода.
  • Пример того, что выводилось изначально и только в файл umd-drive.txt:
    Код:

    Ђ 2\ SCEI UMD ROM DRIVE 1.150AAug30 ,2005
  • Весь основной код по выводу на экран и в файл написан stillllll. Так что все благодарности ему.
  • Моё только оформление и распределение кода.
  1. Как обычно, копируем папку с программой в ms0:/PSP/GAME/
  2. Запускаем из меню Игра -> Memory Stick™
  3. Забираем из корня карты памяти текстовик umd-drive.txt и смотрим версию прошивки
Прошивка моего дисковода - 1.150А от 30 Августа 2005 года.
Просто интересно, какие версии существуют. Выкладывайте свои показания...

Источник SilverSpring ©

Во вложении программа с исходниками.

AEROS 16.01.2010 16:28

PSP-2004,SCEI UMD ROM DRIVE 1.240ANov10 ,2006

alex90 16.01.2010 20:14

PSP1004
Код:

Ђ 2\  SCEI    UMD ROM DRIVE      1.090 Oct18 ,2004

DenDav 16.01.2010 20:21

PSP-2004 SCEI UMD ROM DRIVE 1.240ANov10 ,2006 o_O
Выходит, что сони не стала делать новых приводов для слима, и оставили от фатки?

goldpxx 16.01.2010 21:14

psp 2008 Ђ 2\ SCEI UMD ROM DRIVE 1.240ANov10 ,2006

ErikPshat 17.01.2010 02:23

Цитата:

Сообщение от DenDav (Сообщение 860824)
Выходит, что сони не стала делать новых приводов для слима, и оставили от фатки?

Да не, судя по уже выложенным результатам, как раз у всех пока Слимок привод с прошивкой:
  • 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 =)

Coby 17.01.2010 07:49

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, огромное тебе спасибо! Этот урок я выучил.

Ну тогда финальная версия с исходниками в шапке =)
В принципе от исходных исходников там ничего не осталось.

По моему неплохо получилось.

lupus 04.02.2010 10:19

а какой в этом всём практический смысл, если не секрет?

stillllll 04.02.2010 12:42

Цитата:

Сообщение от lps (Сообщение 864779)
а какой в этом всём практический смысл, если не секрет?

Никакого. Все 4fun =)


Текущее время: 06:07. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.