суббота, 15 июня 2013 г.

Open PS2 Loader (rev.650)

Вышла очередная сборка OPL. Из изменений можно отметить следующие:
  • OPL модифицирован для использования последних версий LibPNG
  • обновлены все DEV9 и ATAD модули
  • добавлен какой то "power-off processing code" и говорится, что игры которые это использовали не должны уходить в тупик
После всех этих обновлений OPL перестал компилироваться - ругается на то что есть расхождения в файлах
  • ps2sdk/iop/include/atad.h
  • open-ps2-loader/modules/iopcore/cdvdman/atad.c
Типа то, что объявлено в первом файле - не соответствует тому, что написано во втором файле. Решить проблему помогает простая замена функций второго файла на их объявление в первом (ata_io_start и ata_device_dma_transfer).
Т.е. надо взять строчку №40 из файла atad.h

int ata_io_start(void *buf, u32 blkcount, u16 feature, u16 nsector, u16 sector, u16 lcyl, u16 hcyl, u16 select, u16 command);


и заменить ею строчку №245 в файле atad.c

int ata_io_start(void *buf, unsigned int blkcount, unsigned short int feature, unsigned short int nsector, unsigned short int sector, unsigned short int lcyl, unsigned short int hcyl, unsigned short int select, unsigned short int command);



Затем взять строчку №49 из файла atad.h

int ata_device_dma_transfer(int device, void *buf, u32 lba, u32 nsectors, int dir);

и заменить ею строчку №530 в файле atad.c

int ata_device_dma_transfer(int device, void *buf, unsigned int lba, unsigned int nsectors, int dir);


Скачать

2 комментария:

Анонимный комментирует...

Скажите пожалуйста, а ДВД9 диски теперь работают, или опять только первый слой?

Oleg Lyash комментирует...

К сожалению проверить не могу, т.к. занимаюсь только компиляцией OPL.