Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - DH

Страницы: [1] 2 3 4 5 6 Далее
1
Цитата
Вот только не надо мне рассказывать зачем я туда полез, и про то что я там что-то могу не так менять.
нефиг выделываться, я нормально спросил, мог бы и нормально ответить  ;)

Цитата
Лучше поделись ссылкой на сорцы где CRC считается, а я как нибудь уже сам разберусь, каким раком его там считают.
конструктор, я уже сцыль кидал, разбирайся ;)

Цитата
md5 уже отменили или как?
одна строка vs отдельная либа... да, md5 отменили

Цитата
Сначала напишем, потом подумаем, вот теперь понимаешь почему эмуль до ума довести не могут. Там забыли, там забили, а потом уже и поезд ушел.  :lol:
crc работает как надо, в чём проблема?

2
Dyons, значит что-то не то ты меняешь, а вообще нафиг ты туда полез? :crazy:
EdHell, почему? это самый простой способ посчитать уникальную сумму для небольших файлов, xor, кстати, юзают почти во всех методах шифрования. хотя, в некотором смысле, согласен, тут бы по программам crc считать... было бы быстрее и со смыслом, а то фиг знает что в той 1/4... там, скорее всего, хейдеры секций/программ и огрызок загрузочной программы... но, явно, переделывать уже никто не будет, слишком поздно
Добавлено позже:
Dyons, а вообще да, это я тупанул, там же по 4 байта читается... в общем, там crc для всего elf (если размер кратен 4)

3
Dyons, это crc32 из zlib :lol: crc считается как и раньше, XOR 1/4 ELF  ;)
https://code.google.com/searchframe#hf1xdo8MpNs/trunk/pcsx2/Elfheader.cpp&l=285

4
ух ты, очередная волна экспертов :wow:

то что в PS3 нужно обсчитывать на SPE-ядрах в других системах уже лет 10 как обсчитывается на GPU.
в spu 128 регистров по 128 бит, я бы не сказал что это совсем уж обрезок :D по сути, это полноценные процессоры, могут выполнять почти всё, что может ppu (исключение ppu сисколлы), в том числе отрисовку\построение фрейма. + эвенты с mb для общения с ppu, то есть в ppu можно отхендлить любое действие spu (к примеру, printf с хендлом в ppu). такое возможно на gpu? ;)

5
калькулятором

512х0.75 = 43c00000
416*9/10 = 43bb3333

Значения в float, обычным калькулятором не так уж и просто посчитать  ;)


Оно из ELF'а берется, но не CRC файла, я уже писал, что скорее всего загрузочного блока/секции
Да, XOR 1/4 ELF:

u32 crc = 0;
u32* elf = ...;
u32 elf_size = ...;

for(u32 i=elf_size/4; i; --i, ++crc) crc ^= *elf;

6
Ясное дело, что не то, но так есть. Причины совершенно непонятны.
Вчера решил затестить... CRC не работают только если игра с мультилоадером, потому что подсчёт по основному elf. Ни один биос, что у меня есть, не мешал определять и отправлять граф плагину его. Можно пример такого биоса?

7
я обнаружил пять биосов, с которыми CRC фиксы не срабатывают никогда. В любом режиме запуска.
что-то тут не то... crc считается самим эмулятором и биос тут не участвует (http://code.google.com/p/pcsx2/source/browse/trunk/pcsx2/Elfheader.cpp#285)

8
Ты же не хочешь сказать что вот это столько лет нет aspect ratio только потому что тебе не хотелось добавить функцию для пересчёта и вот её то MetalliC назвал скучной и не интересной, такую что не хочется дописывать 0_0
Скучно и не интересно это делать интерфейс с кнопками, прокрутки и прочую GUI ерунду, ну различать нажатия клавиатуры ещё, но не ЭТО же.

ты забыл чё помимо этой функции надо в gui зафигачить кнопочку? да и в ini собсна тоже...

~Scorpion-, это и тебя касается...

лан, чёт разговорился я тут :D

9
ничего такого, просто с точки зрения разработчика делать эту фичу - скучный, нудный, рутинный процесс, не интересно вобщем, а рутины и в РЛ или на работе хватает...

10
Stripe, эта ошибка вылезает только если размер elf > 2 гб или 0, образ у тебя хреновый...

11
MTVU - слишком громко сказано, там 2 опкода VU1 (я выше говорил что они делают). Это поток для опкода, а не VU. Эти два опкода долго выполняются, поэтому решили их выполнение засунуть в новый поток, но если основной поток будет натыкатся на опкод, который юзает регистр тех двух опкодов, то основной поток ждет завершения дополнительного, поэтому это и работает (правда не всегда :D).
А тот поток создается при прорисовке граф окна драйвером. VU не может создавать его, ибо он не использует ничего, кроме CPU. Он просто меняет значения в граф регистрах, которые потом используются в граф плагине для рисования)

Добавлено позже:
MTVU - слишком громко сказано, там 2 опкода VU1 (я выше говорил что они делают). Это поток для опкода, а не VU. Эти два опкода долго выполняются, поэтому решили их выполнение засунуть в новый поток, но если основной поток будет натыкатся на опкод, который юзает регистр тех двух опкодов, то основной поток ждет завершения дополнительного, поэтому это и работает (правда не всегда :D).
А тот поток создается при прорисовке граф окна драйвером. VU не может создавать его, ибо он не использует ничего, кроме CPU.

Добавлено позже:

12
Softer, для VU не может создаватся поток, ни автоматом, ни вручную. Его туда просто некуда впихнть, для эмуляции, VU - просто раздел в EE опкодах и эмулировать их отдельно от EE невозможно. А новый поток создается драйвером, приложению не нужно ждать ответа видеокарты до повторного обращения...

13
И где вы в vu 2 потока нашли? o_0 mtgs (отправка пакетов граф плагину), gui (лог), mtvu (архивация/распаковка регистров), ну и основной поток, больше вродь не придумали :)

14
да, я уже переписал... это была заглушка, я не знал какие значения использует консоль (а есть инструкция, которая переносит в GPR значение XER). теперь код выглядит так:

enum
{
XER_SO = 0x80000000,
XER_OV = 0x40000000,
XER_CA = 0x20000000,
};

...

s32 XER;

...

inline void UpdateXER_CA(const bool set)
{
   if(set)
   {
       XER |= XER_CA;
   }
   else
   {
       XER &= ~XER_CA;
   }
}

inline void UpdateXER_OV(const bool set)
{
   if(set)
   {
       XER |= XER_OV;
   }
   else
   {
       XER &= ~XER_OV;
   }
}

inline void UpdateXER_SO_OV(const bool set)
{
   UpdateXER_OV(set);
   if(set) XER |= XER_SO;
}

15
все хоумбрю зашифрованы, надо искать исходники и компилировать их, или написать на ассемблере свой хоумбрю (в эмуляторе присутствует компилятор)

вот пример простейшего хоумбрю для теста записи в файл:
li r3,"t0"
li r4,0x000001
li r5,0644
li r6,0x0
li r8,0x0
li r11,801
sc 2
li r3,"t1"
sc 2
li r11,803
li r3,0x0
li r4,"ok"
li r5,2
sc 2
li r3,0x0
li r4,"! "
li r5,2
sc 2
li r3,0x0
li r4,"id"
li r5,2
sc 2
li r3,0x0
li r4,":0"
li r5,2
sc 2
li r3,0x1
li r4,"ok"
li r5,2
sc 2
li r3,0x1
li r4,"! "
li r5,2
sc 2
li r3,0x1
li r4,"id"
li r5,2
sc 2
li r3,0x1
li r4,":1"
li r5,2
sc 2
li r11,804
li r3,0x0
sc 2
li r11,804
li r3,0x1
sc 2

16
Cyb3rM4n, в смысле активно развивается, как он развился например?
умеет запускать простые хоумбрю и обладает компилятором ELF начиная с r20 (написаны лишь основы, но способен компилировать очень простой ELF). пока это программа для разработчиков и будет таковой, к сожалению, долгое время (не возможно сэмулировать cell на скорости, хотя бы, 1 фпс при текущих конфигурациях, да ещё и на интерпретаторе)

причём изменения крайне незначительные.
Поправьте меня, если я не прав...
не прав :) изменений много и почти с каждой ревой переписываем/исправляем/пишем эмуляцию чего-либо.

17
Aiwa50_0 ошибка пишет чё игра использует инструкцию, которая не сэмулирована... можешь рассказать подробней, чё за игра, в каком моменте сие происходит и желательно скинуть сейв?)

18
Smiley, как я понял, у тебя дх9 рендер? если да, то в нём есть ограничитель, и некоторые текстуры не могут "влезть" в буфер дх9... дх10 лишен сего недостатка, так что попробуй использовать его...

19
mc1death, терь просто portable.ini :)

20
теперь PCSX2 будет срать в реестр всяким говном.
0_0 бум спасать родину... надо идти на митинг! :)

21
З.Ы. Неужели  gabest11 такой крутой, что никто кроме него не может справиться с этим директовским плагином?!
Он автор плагина, ток он и разбирается в своём коде (и то видать не всегда :)), он код пишет непонятно, одной буквой всё по называет, а потом разбирай, дополнительной инфы 0... эт надо с 0 переписывать рендеры чёб все могли фиксить, а с видео норм почти никто не дружит (все в zzogl, том переписывать с 0 ненадо :))... :(

ZZ Ogl - плохо, содержит тонну хаков для игр))
Это фиксы, в GSdx они тоже есть, ток они включаются только при совпадении crc, без возможности ручного включения ;)

22
Его позволяется изменять только при первом запуске, а потом нужно лезть в INI и там выставлять в ручную

заходи приблизительно в эту папку D:\Emuls\EmuCR-Pcsx2-r3795\inis (короче заходи в папку inis в корне эмулятора) там открывай GSdx.ini и меняй разрешение  ;)
А чё через панель GS Window не пашет? :)

Добавлено позже:
у меня этого файла почемуто нет GSdx.ini
Ты случайно настройки не в документах держишь? o_0

23
iddqd, эт нужен отдельный компил, иль в консоле Sources->Enable All нажать, эт хоть и не дебаг, но в некоторых случаях вполне может его заменить :)

24
Charlie..., смотря для какой игры... в некоторых 5% спид ап, а в некоторых и 5% слоу даун... фикс в BUSDIR ещё оч сыр :(

25
strjaz, DMA дешифрируется как Direct Memory Access (прямой доступ к памяти), обычно довольно просто реализуемый... Но на PS2 он не просто перемещает данные с места на место, но и поддерживает несколько режимов работы и имеет свои особенности (в основном для работы с многоядерным EE) + более тесно связан с шиной памяти... Вот для того чёб всё это работало и нужен DMA контроллер (DMA controller) который обозвали как DMAC... :)


Вот Джек Стайн и переписывает эмуляцию сего контроллера... сие сложно и долго, но после переписи должны запустится новые игры и возрасти скорость... говорит чё уже 20 - 40% спид ап, но т.к. ни одна игра не бутится сие трудно проверить... :)

26
Charlie..., ща основная ветвь довольно стабильная  (ток zzogl резво развивается :)), прост последнюю качай...

Добавлено позже:
ток newdmac не качай, нифига не бутет (dmac долго переписываться ещё будет)

27
когда поставил эмуль и запустил игрушку на CDVD плагине cdvd Gigaherz (r3429) 0.8.0 игра вылетела c ошибкой
Если эмуль скачал с emucr, то он некорректно работает с некоторыми приводами (походу баг компила) o_0 попробуй бутануть через CDVDolio

Попробуй так:поменяй плагин DVD на CDCnull Driver.Потом заходишь во вкладку СDVD и выбираешь iso(это чтобы образы читались без использования CD рома).Далее Iso selector>browse>место хранения файла.ну и затем запускаешь как обычно)
Он и так бутил через Linuz Iso (встроенный и есть Linuz Iso, правда немного лучше работает со вторым слоем и содержит баг из-за которого не бутятся некоторые игры :))... ;)

28
Может подскажете, в чём причина, что можно сделать?
Когда-то давно пофиксии killzone, вот после сего и случается эта "мистика"... :)

29
а как мышь вообще включать в эмуляторе??объясните..
В LilyPad пробей Mouse API->Raw input или Mouse API->DirectInput (тут потесть с каким лучше) ну и настраивай... :)

30
тут без впс... (древняя рева, если хотиш могу на любую реву прикрутить...)


Страницы: [1] 2 3 4 5 6 Далее