| Разработка и ромхакинг > Ромхакинг и программирование |
| [SMD] Хак Zero Tolerance |
| << < (91/99) > >> |
| perfect_genius:
Пример не сложно будет предоставить? |
| megavolt85:
--- Цитата: perfect_genius от 14 Октябрь 2020, 21:16:23 ---заметил, что значения нажатых кнопок и вообще все порты находятся прямо в адресном пространстве Z80 - отдельном процессоре, отвечающем за звук. --- Конец цитаты --- с чего бы это? Z80: A00000-A0FFFF IO: A10000-A10020 --- Цитата: perfect_genius от 14 Октябрь 2020, 21:16:23 ---Всё стало ясно теперь, почему только эти кнопки и доступны в памяти при первом обращении и почему надо опрашивать остальные у геймпада через дополнительный бит. --- Конец цитаты --- вывод притянут за уши |
| Ti_:
--- Цитата: perfect_genius от 14 Октябрь 2020, 01:19:57 ---Если на NES и SNES достаточно посмотреть на биты нажатых кнопок в определённых байтах в памяти, то на Сеге в байте надо долбить один бит, выпрашивая у геймпада нажатые кнопки через соседние биты. --- Конец цитаты --- Плохо смотрел. NES - 8 раз (для каждой кнопки) по 1 биту с порта $4016. (1 джойстик). На MD 3 кн. - одно чтение выдает сразу 6 бит (UDLRBC), другое чтение выдает 4 бита (UDAS). Порт $A10003. Что касается 6 кн., то выдается 4 бита (XYZM), но перед этим несколько команд, отсылается, а не одна, на получение этих кнопок. Касаемо Z80, почти все игры, на время опроса джойстика, блокируют его, так как возможны какие-то проблемы, если этого не делать. Но на NES (и Famicom), игры, использующие dpcm семплы, опрашивают порты джойстиков несколько раз (минимум 2 раза), так как они повреждают данные с портов. Проблема исправлена в европейском NES. |
| perfect_genius:
--- Цитата ---все порты находятся прямо в адресном пространстве Z80 - отдельном процессоре, отвечающем за звук. --- Конец цитаты --- --- Цитата: megavolt85 от 16 Октябрь 2020, 03:00:31 ---с чего бы это? --- Конец цитаты --- Действительно, второпях не так прочитал этот момент: --- Цитата ---Системные порты ввода/вывода в Mega Drive находятся в сегменте $A00000, вместе с областью памяти сопроцессора Z80. --- Конец цитаты --- --- Цитата: Ti_ от 17 Октябрь 2020, 10:05:43 ---NES - 8 раз (для каждой кнопки) по 1 биту --- Конец цитаты --- Спасибо большое :thumbup: Оказывается, я всё время пропускал в коде, что это цикл, а не один проход. Это ж полный фейл, получается, по производительности o_0 Интересно, что мешало как раз 8 кнопок аппаратно вмомент уложить в 8 бит-1 байт. Неужели и в SNES происходит такой же циклический проход? |
| Segaman:
perfect_genius, если мне память неотказывает, то снес достаточно близка по архитектуре к нес. более того нинтендами задумывалась обратная совместимость с 8 биткой, но к релизу не поспели, так что исключили. (обидно кстати) снеска умеет в восьмибитный графен, так что вполне вероятно, что и геймпады обратно совместимы в некотором роде. :) |
| perfect_genius:
--- Цитата ---The SNES pad works exactly the same as the NES controller, except it has two 4021s inside, and there are sixteen pulses on the CLK line, and sixteen bits of data come out the Data line.As a matter of fact, a SNES pad can be connected to a NES by simply swapping the connector on the end. --- Конец цитаты --- Ага, но интересовала программная часть - т.е. тоже надо циклом проходить по каждой кнопке? Если играют 4 игрока, то это 48 циклов опроса всех геймпадов, получается :ohmy: Но это уже оффтоп пошёл, а мне надо разбираться с UMK3 (она первым делом проверяет вставлена ли в порт Сеги мышь, похоже o_0). Мультиплеер Zero Tolerance долго ждали, ещё немного несложно будет подождать ^_^ |
| JPEG:
Ребят, как бы спрайты солдат из ЗТ вытащить? Пробовал через Enimator - там сетка мешает |
| cptPauer:
--- Цитата: JPEG от 13 Ноябрь 2020, 05:09:30 ---Ребят, как бы спрайты солдат из ЗТ вытащить? Пробовал через Enimator - там сетка мешает --- Конец цитаты --- Какие спрайты солдат? Эти? Вот полный |
| Temkins:
НУ что там есть чЁ нового?))) :blush: |
| Segaman:
--- Цитата: Temkins от 13 Декабрь 2020, 00:53:31 ---НУ что там есть чЁ нового?))) :blush: --- Конец цитаты --- есть. начинаем финальные тесты сиквела. релиз пока ХЗ когда :) протокол Link-Cable всё ещё не садился разбирать. заказов много на хаки :cool: зато я написал штуку, которая на моей глюченной японской MD VA0 восстанавливает состояние игры и игра никогда не крашится :cool: |
| perfect_genius:
--- Цитата: Segaman от 13 Декабрь 2020, 11:48:43 ---начинаем финальные тесты сиквела --- Конец цитаты --- Т.е. Beyond Zero Tolerance починили и выпустите в Стиме как и первый? А чего здесь не отписался про выход первого? Чуть не пропустили. Где-то в другом месте выкладываешь новости что ли? И хак с фреймскипом тоже здесь не показывал два года назад, вроде... Можешь его выложить или назвать адреса в роме что надо подправить? Всё гадаю что сделали разрабы при тормозах в коопе - либо у второго игрока тоже тормозит (в памяти игры видел счётчики кадров - они и сверяются, наверно, и при несовпадении торопящийся ждёт опаздывающего), либо включается пропуск кадров, что ты и хакнул. |
| Segaman:
Нет. Щас тестим отмененную версию сиквела, которая планировалась для небезызвестной Sega CD. Её демонстрировали на выставке CES. :) А та часть что Beyond будет позже, пока неясно когда. :neznayu: Касаемо фреймскипа - я его сам написал. :cool: Неотписался, потому что так загружен был, что забыл. :) Быстрее всего на стримах у меня спрашивать о продвижении разработки, так как на форум я раз в неделю где-то заглядываю. |
| OFFSPRINGER3:
--- Цитата: Segaman от 14 Декабрь 2020, 00:14:57 ---Нет. Щас тестим отмененную версию сиквела, которая планировалась для небезызвестной Sega CD. Её демонстрировали на выставке CES. :) --- Конец цитаты --- А где о ней инфу посмотреть, первый раз про такую слышу, может хоть подскажешь в каком году эта выставка была? |
| Lucas [32]:
--- Цитата: Segaman от 14 Декабрь 2020, 00:14:57 ---Нет. Щас тестим отмененную версию сиквела, которая планировалась для небезызвестной Sega CD. Её демонстрировали на выставке CES. :) --- Конец цитаты --- Кинешь скрин, или запретили? Расскажи хоть что там. |
| Segaman:
Lucas [32], я на стримах светил началом игры :) ну да ладно. так то мне нельзя делиться, но старыми скринами думаю можно :) |
| perfect_genius:
Segaman, банально новые карты и... всё? 0_0 О, 6 кнопок! А правильно ли я понимаю, как работает фреймскип? Упрощённо - игра опрашивает ввод игрока, управляет врагами и окружением, и т.д. И его 50/60 раз в секунду прерывает видеосистема, чтобы игра проверяла есть ли уже нарисованный кадр с этим обновлённым миром. Если кадр в процессе отрисовки, значит обрабатывать было много чего и игра отрисовать его не успела. В итоге запускается обновление мира, после чего продолжает дорисовка уже неактуального кадра, который будет показан при следующем прерывании. Таким образом в памяти игра работает стабильно, но вот кадры приходят запоздавшие, так? А тормозить и в памяти начинает, когда и обрабатывать уже не успевает, не то что начать рисовать кадр. Ещё забавно - ром долгое время лежал на официальном сайте, а теперь он продаётся в Стиме и с сайта удалили, но при этом надпись "ROM image royalty-free for distribution" осталась. |
| Segaman:
perfect_genius, не. я там считаю прерывания, а каждый кадр счетчик обнуляется, но если кадр слишком долго рисовался, то я просчитываю дополнительно несколько раз геймплей. идеально фреймскип конечно можно реализовать, но разрабы такой возможности не предоставили ввиду большого количества говнокода :) можно запариться, но там надо дофига кода рендера переписывать. что кстати повысит число кадров, но оно того не стоит - игра и без этого вполне полноценна ;) |
| Yoti:
--- Цитата: perfect_genius от 15 Декабрь 2020, 23:06:58 ---Ещё забавно - ром долгое время лежал на официальном сайте, а теперь он продаётся в Стиме и с сайта удалили, но при этом надпись "ROM image royalty-free for distribution" осталась. --- Конец цитаты --- Интернет всё помнит: https://web.archive.org/web/20071007001616/http://www.technopop.net/ |
| SPOT:
А в сега СД версии работает линк кабель? |
| Segaman:
SPOT, естественно :lol: |
| Навигация |
| Главная страница сообщений |
| Следующая страница |
| Предыдущая страница |