PS2 Как работает Dev2 чипов Modbo и Matrix?

Тема в разделе "PlayStation 5", создана пользователем Chippy, 27 фев 2007.

  1. Vic

    Vic L0neWarri0r

    Сообщения:
    2.168
    Симпатии:
    156
    Баллы:
    123
    >>>Надо сохранить первые 524288 (256 мег) секторов винта и записать на их место это<<<
    А чем это сделать?
     
  2. owieri

    owieri Well-Known Member

    Сообщения:
    238
    Симпатии:
    5
    Баллы:
    63
    hw32v423.exe
    Ctrl+D > Select: Physical Disks > выбрать требуемый винт.
    Если винт уже форматировался под PS2, то в нулевом секторе будут видны строки: APA, __mbr, Sony Computer Entertainment Inc.
    Для сохранения/восстановленния секторов: Disk > Save Sectors... , Disk > Restore Sectors...
    Осторожно! Внеся изменения не в тот винт можно нанести труднопоправимый/непоправимый ущерб системе.
     
  3. owieri

    owieri Well-Known Member

    Сообщения:
    238
    Симпатии:
    5
    Баллы:
    63
    Никто поучаствовать не желает? Нужно установить dev2 и сохранить первые 11 секторов.
    Можно попробовать даже если чип не матрикс/клон матрикса.
     
  4. ps2fan

    ps2fan Долбанутый консольщик

    Сообщения:
    2.346
    Симпатии:
    112
    Баллы:
    123
    owieri, я попробую, но только когда у меня время свободное будет. А так вообще все есть - и винт для экспериментов и чип с поддержкой DEV2 и руки вроде почти не из Ж растут :)
     
  5. owieri

    owieri Well-Known Member

    Сообщения:
    238
    Симпатии:
    5
    Баллы:
    63
    Нужен только винт, если инсталлер никак не проверяет что за чип, то должно сработать.
    Я не могу понять что он делает анализом инсталлера. ПОэтому можно опробовать статистический вариант.
     
  6. romka

    romka Очень главный

    Сообщения:
    4.450
    Симпатии:
    184
    Баллы:
    203
    С этим нет особых проблем, просто надо знать где искать:
    Код:
    #ifndef _APA_H_
    #define _APA_H_
    
    /* APA Partition Magic */
    #define APA_MAGIC                   0x00415041
    
    /* field sizes */
    #define APA_MAX_ID                  0x20
    #define APA_MAX_PASSWD              0x08
    #define APA_MAX_NAME                0x80
    
    #define APA_MAX_SUBPART             0x40
    
    /* Partition flags */
    #define APA_FLG_SUBPART             0x01
    
    typedef
    struct _MbrInfo {
     u_char      Magic[32];
     u_int       Version;
     u_int       Sectors;
     u_char      Date[8];
     u_int       OsdLba;
     u_int       OsdSectors;
    u_char       Reserved[200];
    } MbrInfo;
    
    typedef
    struct _SubpartInfo
    {
     u_int	      Lba;
     u_int	      Sectors;
    } SubpartInfo;
    
    
    typedef
    struct _ApaPartition
    {
     u_int        CheckSum;
     u_int        Magic;
     u_int        Next;
     u_int        Prev;
     u_char	      Id[APA_MAX_ID];
     u_char       RoPasswd[APA_MAX_PASSWD];
     u_char       RwPasswd[APA_MAX_PASSWD];
     u_int        Lba;
     u_int        Sectors;
     u_short      FsType;
     u_short      Flags;
     u_int        Subparts;
     u_char       date[8];
     u_int        MainLba;
     u_int        Index;
     u_int        ModVersion;
     u_int        Reserved[7];
     u_char       Name[APA_MAX_NAME];
     MbrInfo      Mbr;
     SubpartInfo  SubpInfo[APA_MAX_SUBPART];
    } ApaPartition;
    
    #endif
    
    Первая партиция (__mbr) находится на нулевом LBA, LBA следующей партиции находится в поле Next, то есть по сути получается перебор списка (только Magic надо проверять, а то иногда возникают ошибки в списке партиций из-за не своевременного выключения питания).
     
  7. owieri

    owieri Well-Known Member

    Сообщения:
    238
    Симпатии:
    5
    Баллы:
    63
    romka, да, это я уже нашёл.
    http://playstation2-linux.com/projects/apa/
    Не всё пока понятно правда. Про структуру файлов и дерикторий например.
     
  8. romka

    romka Очень главный

    Сообщения:
    4.450
    Симпатии:
    184
    Баллы:
    203
    Там смысл такой:
    APA - это aligned partition allocation - то есть система расположения партиций на диске. Что именно находится внутри партиций уже дело десятое, обычно используется PFS, хотя допускается использование CFS, EXT2, EXT2SWAP и REISER, а также HD loader использует собственный нестандартный тип файловой системы для партиций с играми. Партиции делятся на основные (primary) и дочерние (sub) и у каждой основной может быть до 64 дочерних партиций. При использовании файловой системы PFS и основная и все её дочерние партиции будут работать как единая файловая система.
    У каждой партиции есть свой заголовок - у основных партций под него выделено 4 мегабайта (8192 сектора), у дочерних партиций под заголовок выделяется всего 1 килобайт (2 сектора). То есть файловая система начинается после заголовка партиции и её структура может быть разной, хотя почти всегда и везде используется только PFS.