Создать ответ 
 
Рейтинг темы:
  • Голосов: 1 - Средняя оценка: 5
  • 1
  • 2
  • 3
  • 4
  • 5
VMU Hack
Автор Сообщение
SWAT Не на форуме
Администратор
*******

Сообщений: 7138
Зарегистрирован: 04.01.2005
Рейтинг: 30
Сказал спасибо: 139
Поблагодарили 1177 раз(а) в 733 сообщ.
Сообщение: #17
RE: VMU Hack
При инициализации шины, сначала выделяется общий для всех устройств буфер (16 кб), потом инициализируется maple dma, устанавливаются хэндлеры на прерывание maple dma и производится запуск шины. После этого шина работает сама по себе, когда срабатывает прерывание (пришли данные), CPU только парсит (делит на как ты выразился "буферки" Smile ) и дергает коллбэки. DMA не работает отдельно для каждого устройства, все фреймы для всех устройств, пересылаются одним буфером разом, как в сторону шины, так и обратно! А "в последней команде взводится битик" - это метка для шины, чтобы она дальше не парсила все присланные 16 кб, если это не требуется.
Есть еще хэндлер на vblank, на нем висит мониторинг на случай появления новых устройств или удаления старых, а так же здесь происходит проверка данных нуждающихся для отправки и если таковые имеются, то инициируется передача по DMA.
Если уж совсем придраться к словам, то да, ты прав, отправку инициирует CPU как не крути. Но отправка нас не интересует в этой теме вообще, а вот прием данных происходит автоматически по прерыванию со стороны шины. И это главное, ибо это означает что можно отправить данные в заведомо определенный участок RAM (его можно узнать) без каких либо проблем.
А вот дальше уже начинаются проблемы Smile Здесь нужна удача и много тестов. Есть шанс что при переполнении какого то буфера (к примеру той же текстуры), он залезет на ссылку до функции (такое легко может быть, если они в одной структуре), в которой получится подменить адрес на функцию в нашем фрейме и вуаля, мы вызовем свой код.

[Изображение: barbers.png]
(Последний раз сообщение было отредактировано 15.08.2013 в 14:38, отредактировал пользователь SWAT.)
15.08.2013 14:04
Вебсайт Найти все сообщения Цитировать это сообщение
Создать ответ 


Сообщения в этой теме
VMU Hack - SWAT - 05.08.2013, 15:59
RE: VMU Hack - cybdyn - 05.08.2013, 17:20
RE: VMU Hack - SWAT - 06.08.2013, 08:04
RE: VMU Hack - cybdyn - 06.08.2013, 11:23
RE: VMU Hack - SWAT - 06.08.2013, 12:13
RE: VMU Hack - alex - 12.08.2013, 18:10
RE: VMU Hack - SWAT - 13.08.2013, 15:25
RE: VMU Hack - MetalliC - 13.08.2013, 19:37
RE: VMU Hack - SI{AY - 13.08.2013, 17:55
RE: VMU Hack - SWAT - 14.08.2013, 07:11
RE: VMU Hack - SI{AY - 14.08.2013, 14:19
RE: VMU Hack - SWAT - 14.08.2013, 14:52
RE: VMU Hack - SI{AY - 14.08.2013, 15:17
RE: VMU Hack - MetalliC - 14.08.2013, 19:25
RE: VMU Hack - SWAT - 15.08.2013, 07:51
RE: VMU Hack - MetalliC - 15.08.2013, 12:04
RE: VMU Hack - SWAT - 15.08.2013 14:04
RE: VMU Hack - MetalliC - 15.08.2013, 20:19
RE: VMU Hack - alex - 15.08.2013, 19:26
RE: VMU Hack - SWAT - 16.08.2013, 07:55
RE: VMU Hack - MetalliC - 16.08.2013, 20:45
RE: VMU Hack - SWAT - 16.08.2013, 08:36
RE: VMU Hack - shadow - 16.08.2013, 09:26
RE: VMU Hack - LEUMAS - 16.08.2013, 10:55
RE: VMU Hack - SWAT - 16.08.2013, 12:20
RE: VMU Hack - LEUMAS - 16.08.2013, 12:34
RE: VMU Hack - SWAT - 16.08.2013, 13:30
RE: VMU Hack - LEUMAS - 16.08.2013, 13:56
RE: VMU Hack - MetalliC - 16.08.2013, 22:49
RE: VMU Hack - SWAT - 19.08.2013, 07:36
RE: VMU Hack - MetalliC - 19.08.2013, 23:26
RE: VMU Hack - SWAT - 20.08.2013, 13:04
RE: VMU Hack - MetalliC - 20.08.2013, 20:56
RE: VMU Hack - SWAT - 21.08.2013, 10:48
RE: VMU Hack - Rio - 03.09.2013, 16:51
RE: VMU Hack - SWAT - 04.09.2013, 12:44
RE: VMU Hack - MetalliC - 07.09.2013, 15:04
RE: VMU Hack - Rio - 07.09.2013, 16:16

Переход:


Пользователи просматривают эту тему: 1 Гость(ей)