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

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


Сообщения - Ti_

Страницы: Назад 1 2 3 4 5 [6] 7 8 9 10 ... 111 Далее
151
А как их искать? :) Тинитун довольно общинный пласт в видео-играх.
Для sega (не все на 4, это игры с поддержкой разветвителей, викинги например на 3-их только):
https://segaretro.org/4_Way_Play
https://segaretro.org/Team_Player
https://segaretro.org/Mega_Drive_cartridges#J-Cart

Хаки: 
rock n' roll racing v16  (3 players co-op,  4 /5 /6 players - pvp).
sonic classic heroes (3 players)
batte city beta12 :  1-8 players

Также хаки для NES/Famicom/Dendy:
BTDDx3  (3 players)
battle city 4p (3/4 players)
BTDDx4 ( 4 players) ; chip and dale 2 (4 players).

152
Доброго времени суток! Заранее извиняюсь, может быть тут уже проскакивал подобный вопрос, но задам: скажите пожалуйста, были ли у кого-нибудь проблемы с данным хаком на оригинальном железе? Играл с флеш картириджа на клоне с SM801-A и всё было хорошо, пока не купил себе японский первый мегадрайв, где игра при старте первой трассы выдаёт графические артефакты и намертво виснет. :( Куда можно копать?
Привет. Попробуй эту версию: https://disk.yandex.ru/d/uR_Cd1WipomZ5g

153
Если боты всё время будут так играть, то зачем нужны все эти +-1,2,3,4,5 к скорости?
Они всё время так играют на сложности мастер, кроме 1+1 + cars:6.

Так что первый вариант это играть на этой сложности, тогда никакого динамического 'кетчупа' не будет, а будет постоянно сложно. То есть всегда проходят наискось, независимо от их места и места игрока.

Второй вариант - если MASTER слишком сложно, то выбрать сложность ROOKIE, с cars:5 или cars:6.  В этом случае боты будут всегда проходить повороты под 90 градусов. То есть будет постоянно легко.

Если первый вариант слишком сложный, а второй слишком лёгкий. Набрать на титульном экране HARDMODE cheat.  И выбрать  ROOKIE или VETERAN. Этот код включает постоянные 'улучшенный ИИ поворотов' для ботов во всех режимах. Но на rookie/veteran у ботов меньше top speed, armor и некоторые другие моменты, чем на mastere.  То есть будет нечто среднее по сложности.

Добавлено позже:
Но по-прежнему считаю, что логичнее, естественнее и интереснее соответственно, когда уровень сложности растёт вместе с увеличением количества машин, а не наоборот
По задумке уровень сложности должен зависеть только от сложности.  И не зависеть от количества машин.  То есть в 2x2 ИИ должен брать качеством, а в 2x4 - количеством.

По факту:
В 1 player FFA уровень сложности таки растёт от кол-ва машин. Проблема в том комбинация cars:4 + сложность rookie, включает динамическую сложность для ИИ, которая есть на veteran и warrior, независимо от кол-ва машин. Вот это ты и видишь.

В 2 players (1+1) - самое сложное это cars:5, потом идёт cars:4, и самое лёгкое cars:6.  Дело в том, что в этом режиме игра ведётся нечестно,  то есть 2 игрока против 4 ботов. На что обращают внимание игроки, поэтому ИИ в этом режиме ослаблен по сравнению с cars:4, даже на сложности master.

154
ПРЕДВАРИТЕЛЬНЫЙ вывод: признаки жёсткого кетчупа присутствуют
только при выборе 4-х машин.
Это не кетчуп. Он всегда одинаковый и не зависит от режимов. Кетчуп - это просто бонус к скорости: при cars:4 как и в оригинале: едущий первым -2 к скорости, третий +1, четвертый +2.

Вот почему так:
ИИ играют вполную силу при cars:4.  То есть всегда проходят повороты наискось. А также используют новые апгрейды. Плюс ещё разные тонкости. Также сильно ИИ играют на сложности мастер, кроме 6 машин 1+1, и ИИ-союзники в мультиплеере.
В остальных режимах ИИ играют слабее. Они или всегда проходят повороты под углом 90 градусов, как в оригинале, или начинают проходить наискось, когда отстают. Вот это ты и видишь. Тут разница да, очень существенная, по сравнению с 'кетчупом' от скорости. Даже видео где-то выкладывали со сравнением.
То есть чтобы это отключить, надо выбрать режим, где ИИ или всегда едут наискось, или всегда прямоугольно, а не меняют поведение (что и вызывает жёсткий кетчуп).


Добавлено позже:
Очень было интересно сыграть с 6-ю машинами вместо 4-ёх (жаль только, что чем больше машин, тем проще играть, а не наоборот:( )
Есть секретный код, чтобы ИИ играли вполную силу независимо от кол-ва машин. Узнать его можно если пройти игру на сложности мастер. Если ввести такой код на сложности мастер в  режиме cars:6 и 1+1AI (или 2player), будет практически непроходимо.


Добавлено позже:
3) Для этого и существуют уровни сложности.
Имелся ввиду максимальный уровень сложности/сетевая игра. Как я уже сказал кетчуп (прибавка/убавка к скорости) не зависит ни от чего - это применяется ко всем(игрокам и ИИ) и на любой сложности. Так как без неё нельзя догнать игрока или ИИ, играющего на максимальной сложности, или игрока с бонусом к скорости.

Добавлено позже:
Если я правильно понял из всего выше прочитанного в этой ветке это FFA (не знаю как расшифровывается).
FFA только в 1 player.
В 2 player или 1+1 AI -  2vs2, 2vs3 или 2vs4.
В 3 player /2+1/1+2 -  3vs3 или 3vs2.

155
У ботов нет никакого особенного читерного 'кетчупа', он такой же как и у игрока, и
такой же как в режиме игрок против игрока, и примерно такой же как в оригинале.

В оригинале есть баг, при использовании нитро 'кетчуп' игнорируется.
Из-за этого нитро фактически прибавляет едущему первым - +7 к скорости, а едущему 4-ым - +3.
Это не нормально и в хаке исправлено всем даётся +5 (как и едущему 2-ым).
Вторая и основная причина - это режим 1 player FFA. В нём впринципе плохо работает тактика 'вырваться на старте с нитро'.
Так как лидер трассы становится целью для всех.
Можно попробовать режим 1+1 АИ или 1+2 АИ. В 1+1+cars:6 интересующая тебя тактика работает, как и в v15.
В v17(если такая будет), доступен режим 1 player 3x3.


"А в чём проблема догнать вырвавшегося вперёд хитрожопого игрока":
если бы не было кетчупа:
1) В RRR ты просто так не догонишь игрока, если у вас одинаковая скорость. Это не F1 с кучей кругов. А ещё всякие мины.
2) Если у кого-то персонаж с +1 ТС, скорее он обгонит тебя на круг, чем ты догонишь его.
3) Ботов в хаке ты бы не догнал никогда. Они едут почти без ошибок. Их и так то догнать не все могут (в сетевой).
4) Всё бы сводилось к одной тактике.

"Без него никто не тестил что ли?"
Тестили, ANDRE вроде и ещё кто-то. Быстро перевернулись обратно.

NFS(первый по-крайней мере) и GT это симуляторы. RRR это аркада со стрельбой.

Добавлено позже:
А коды к этой версии есть или полностью ремувнули из игры?
Некоторые коды (и что они дают) можно узнать в титрах после прохождения, другие в группе ВК и дискорд. Но кодов на читинг вроде бесконечных патронов или брони нет.

156
Ромхакинг и программирование / SGDK
« : 25 Декабрь 2021, 09:56:41 »
можно ли приостанавливать уже начатую передачу DMA, когда Z80 нужны новые данные (обращения к M68k RAM) ? А потом продолжить ДМА.
Нет, нельзя.
Касаемо размера буффера, так и в GEMS всего 256 байт. Да, и раз ты не слышишь ухудшения звука, то вероятно в этом движке работает буффер так, чтобы пополняться только вне vblanka (флаг 'dma' тут не используется, в gems - есть). По сути буффер для этого и нужен. Без него будет дисторшен звуков независимо от того, захватываешь ли ты шину или нет.
Тут может быть проблема что это сделано только для семплов, а для остальных данных трека (fm,psg) это не делается и/или не учитывается когда можно обращаться к рому.

157
Ромхакинг и программирование / SGDK
« : 24 Декабрь 2021, 18:01:27 »
На каком железе? Есть ли разница в том как будет работать софт, если вместо оригинального Мегадрайв-1, я возьму китайский нонейм на одной микросхеме-капле? "Сюрпризы" будут?  Предполагаю, что в последних "сегах" на "каплях" упрощена схемотехника и что-то может работать через одно место.
Некоторые модели md2, также мб md1 va0, и некоторые клоны.
В этой же теме обсуждалось:
http://www.emu-land.net/forum/index.php/topic,70308.msg1448141.html#msg1448141

Добавлено позже:
Вот ещё:
http://gendev.spritesmind.net/forum/viewtopic.php?f=8&t=2478&p=30259&hilit=xgm+freeze#p30259

158
Ромхакинг и программирование / SGDK
« : 23 Декабрь 2021, 19:19:33 »
Но странно вот что: при попытке отловить захват шины Z80 перед SPR_update() - всегда возвращается, что шина свободна!

Тем не менее, при DMA транзакциях по дефолту Стеф всегда тормозит Z80, даже не проверяя перед этим - а захвачена ли шина действительно?  Я это убрал.

Никто и не проверяет, захвачена ли шина, в этой проверке отдельно смысла нет, если ты сам не делаешь захвата шины.

Как я уже же сказал так, во всех играх где драйвер читает из рома.

Везде последовательность примерно  такая:

  move.w #$100,$A11100    ; делаем захват
@wait
   btst #0,$A11100   ; ждём что шина стала свободна (вот это как раз во многих эмуляторах всегда свободна).
   bne.s @wait

   move.w   (sp)+,$C00004   ; DMA  (или другие операции с доступом к ОЗУ z80).

   move.w #0,$A11100  ; возвращаем


Добавлено позже:
Также проверял на реальной приставкe (MegaDrive 1) - тоже всё ОК.
Ну может он сумел это сделать (подгрузку семпла в ОЗУ), но где-то это не доделано или неидеально. И поэтому по дефолту был оставлен захват z80 при dma. На этот драйвер вроде часто жаловались что на железе 'виснет'.

159
Ромхакинг и программирование / SGDK
« : 22 Декабрь 2021, 19:55:00 »
Из памяти M68k   в VRAM VDP Из памяти M68k   в VRAM VDP перекидывал так:

 while(n--)VDP_DATA_32=*src++;
}
}
Без понятия что там сгенерится, но скорее всего
@loop:
   move.l (a0)+(a1)
    dbf d0,@loop
или
@loop:
   move.l (a0)+(a1)
   move.l (a0)+(a1)
    dbf d0,@loop
что недостаточно для большой скорости.

Должно быть примерно такое :
lea vdpSpriteCache,a0
lea $C00000,a1 ; vdp_data
move.l #$74000003,4(a1) ; vram: $F400

move.w highestVDPSpriteIndex,d1 ; количество спрайтов 1-80?
bne.s @have_spr
moveq #1,d1 ; (минимум 1 спрайт для обновления если нет спрайтов).
@have_spr
add.w d1,d1 ; *2
add.w d1,d1 ; *4 = 320
move.w #320,d0
sub.w d1,d0
jmp copy_to_vram(pc,d0.w)
copy_to_vram
dcb.w 160,$2298 ;  то есть move.l (a0)+,(a1) повторить 160 раз. (160*4 = 640)
rts
Это медленнее чем с DMA, но вполне неплохо. Тем более для 640 байтов. Звук семплов это улучшит.

С тайлами сложнее, там много уже не передать без DMA, но могут быть варианты:
а) Тайлы обновляются не всё время.
б) Пал режим, тут гораздо больше времени вбланка. (Проверять если VDP в ПАЛ - не использовать DMA).
Также можно с CPU только в момент когда семпл играет, а в остальных случаях с DMA.

Примерный код для тайлов - передаём в цикле по 64 байта (2 тайла), максимум 2560 байт.
lea tiles,a0 ; тайлы
move.w tiles_cnt,d1 ; количество тайлов от 1 до примерно 80, при превышении - DMA.
cmpi.w #80,d1
BCC.S too_many_tiles

        subq.w #1,d1
lsr.w #1,d1
bcc.s @odd
@copy
move.l (a0)+,(a1) ; 1тайл = 32байта.
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.l (a0)+,(a1)
@odd
move.l (a0)+,(a1) ; 2-ой тайл
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.l (a0)+,(a1)
dbf d1,@copy
rts

too_many_tiles:
        тут код с dma.

Также кроме тайлов и спрайтов, можно переделать обновление палитры и hscroll если они есть.

Добавлено позже:
Вот этот вариант:

Вот этот вариант более интересен.

Можно ли заставить XGM движок играть семпл из памяти  Z80, предварительно скопировав его из ROM ?
Ну это сложная система. Поэтому врядли.  Из движков GEMS это умеет.

Добавлено позже:
И тут я более понял, что нужно посмотреть dma.c что там делается. И не зря.  Там творится полный ужас - останавливается Z80 когда идёт транзакция DMA:
Ну как бы это также есть и в почти всех играх на SEGA.
Z80 в любом случае останавливается, при попытке доступа к РОМУ, если в этот момент используется DMA.
Но в играх это делается принудительно, что при любом обращении к памяти z80, так как по рекомендациям в мануале, сказано что так надо. Иначе могут быть проблемы, то ли в зависимости от ревизий Сеги, или от скорости памяти точно не скажу.  А вот в некоторых эмуляторах z80 не останавливается сам.


Добавлено позже:
Всё отлично работает!  DMA успевает пролететь раньше - сразу же после освобождения шины Z80,  до того как Z80 снова её займёт.

Я рад!  Сопли в звуке прошли - все семплы  чётко и  ровно звучат, и спрайты не артефачат.  :)
Такое врядли может быть:
При 14 кгц звуке если он читается напрямую из ROM, полностью дисторшен никак не может пропасть. Это по 233 байта за кадр. То есть в среднем почти каждую строку по байту. За vblank-dma это байтов 20 или больше.
Если только у тебя dma не разбито на много маленьких кусков, и то сомнительною

То есть тут либо xgm всё же умеет 'кешировать' семпл.  Либо эмулятор такой, если на нём проверял.

160
Ромхакинг и программирование / SGDK
« : 19 Декабрь 2021, 17:38:28 »
Загрузил чистый синус.  Таже самая фигня.

Складывается впечатление, что данные подгружаются - из-за этого вывод звука подтормаживается.   Есть ли способ убрать эту противную задержку?  Или это издержки обращения Z80 к памяти M68K ?

(Ссылка на вложение)

Добавлено позже:
Найден виновник:

SPR_update();
Без неё звучание чистое, но нет спрайтов (((

Добавлено позже:
Расковырял SPR_update().   Основной тормоз в DMA_allocateAndQueueDma()

Что делать?  Как быть?
Во время dma, у z80 нет доступа к ROM. Некоторые драйвера это обходят подгружая из rom в ram z80, и уже оттуда играют. xgm скорее всего это не делает, как и большинство драйверов. Ну можешь попробовать где-то без DMA сделать, если скорости хватит.

161
Ромхакинг и программирование / SGDK
« : 15 Декабрь 2021, 18:31:31 »
Что за дока?
В офф. доке страница 53,  X = от 1 до 1FF,   Y от 0 до 1FF.   Только в interlace mode2 до 3FF и только для Y.  Плюс на следующей странице пометка о случае с X=0.

162
Ромхакинг и программирование / SGDK
« : 11 Декабрь 2021, 17:07:04 »
Так к примеру, с этим можно сделать эффект персонажа (спрайта) ходящего за стеклом
Почему нет? Как раз стекло, за которым яркость падает. В месте 'стелка' у обоих фонов должно быть приоритет лоу. А во всех остальных местах у скролла А - хайх. Или что имеется ввиду?

163
Прочие эмуляторы / KingStation 0.1a (форк RetroArch)
« : 25 Ноябрь 2021, 20:13:08 »
Лучше бы сделали нормальный интерфейс для виндуз, для ретроарча был retroarch-phoenix, но там 2,5 настройки. Вот для меднафена есть нормальный mednaffe же.

164
в некоторых эмуляторах можно выбирать регион Dendy, в меднафен я так понял такого нету, только PAL или NTSC, возникает вопрос: регион Dendy сколько герц и можно ли его настроить в меднафен
Всё там есть. В gui mednaffe это так и называется "режим Dendy (Famiclone)".
Если ещё и разгон нужен , то "количество фиктивных линий PPU".
В конфиге mednafen-09x.cfg :
;Dendy and other Fami clones
nes.hybrid_mode

165

Это последний вариант хака на данный момент ? Хотел попробовать.
Есть demo10 ещё.

166
Ромхакинг и программирование / SGDK
« : 03 Ноябрь 2021, 08:40:54 »
Несколько раз прогнать - это как?  Результат загонять в качестве исходного?

Было бы неплохо понять смысл параметров:  уровень дизеринга, размер фильтра и режим GEN.
нет, исходный один:
gen - от названия sega genesis. то есть адаптация под её палитру. 
дизеринг это просто его величина, чем больше, тем сильнее. 0 не ставится.
по фильтру не знаю.


167
Ромхакинг и программирование / SGDK
« : 02 Ноябрь 2021, 19:34:49 »
Да, стало лучше:  более выделены груди, немного стали различимы детали лица.
scolor_gen.exe in.png 16 out.png 0.1 3 3
но есть нюанс -  там каждый раз разные результаты выдаёт, поэтому все спрайты надо разом конвертить.  несколько раз прогнать и выбрать лучший вариант. как-то так.
Ссылки тут:
http://gendev.spritesmind.net/forum/viewtopic.php?p=20105#p2010

168
Ромхакинг и программирование / SGDK
« : 01 Ноябрь 2021, 20:34:08 »
Исходный фрагмент атласа (RGB 8:8:8):

169
scorpionalfa, тему почитать слабо ? на самом популярном сейчас эмуляторе - GenesisPlusGX (в составе Retroarch) играется без проблем
Не самый популярный, а один из самых точных, и не эмулятор, а ядро, для которого нету нормального эмулятора.  :lol:
Потому всякие кеги-генс до сих пор более популярны.

170
Ромхакинг и программирование / SGDK
« : 31 Октябрь 2021, 14:00:45 »
Цитата: rep-stosw link=topic=70308.msg1511669#msg1511669
А должно быть:
32,64,0  и  32,96,0
Уже неправильно. Цвета должны быть: 0,36,72, .. с шагом в 36. Такие выдаёт большая часть эмуляторов.
А если под железо делать там тем более другие цвета, из эмулей их выдаёт например blastem.

Добавлено позже:
Есть ли скипт- или способ сделать круче? 
Можешь попробовать RetroGraphicsToolkit, там есть на выбор несколько алгоритмов дизеринга и уменьшения цветов. Только сама программа крайне неудобная, сложно разобраться.

Добавлено позже:
Есть ли скипт- или способ сделать круче?   Например - как дизеринг  на этой картинке :
Что сделать? Ты выложи для начала исходную картинку и что у тебя получилось.

171
Faust, Спасибо, заработало. Правда игра, по сути, та же тройка, только с хорошим звуком...
От '3-ки' там только графика мотоциклов.
Трассы из 1-ой части, кроме города, и их всего 5. Видов оружия всего два как во 2-ой. Графика панели из 2-ой. И т.д.


Добавлено позже:
По ощущению, ФПС в игре даже ниже чем в тройке, а так же отсутствует режим на двоих с разделённым экраном (сплит скрин).
ФПС ужасный да, но разогнать можно. Думдей делал ядро ретроарча, в котором суб-цпу разогнан тоже, но там ещё и патч нужен на сам образ, так как фпс ещё и ограничен в самом коде.

172
А зачем с пс1 с нуля перерисовывать, если на снес есть?
не интересно, но титульник во:

173
Этому хаку пять баллов как минимум за идею!
На соника вагон хаков как на увеличение, так и на уменьшение, на разные части и поверх других хаков.

174
Сырцы на ассемблере очень хорошо разобраны
Есть IDB на первого соника? Только не тот шлак что от drx.

175
Хак SNES версии Rock N' Roll Racing - "Mega Drive".
1) добавляет 36 трасс из МД версии для дивизионов А.
2) нет долгих загрузок меню из-за медленного процессора - архивы расжаты.
https://disk.yandex.ru/d/dgHXEEzU1E422w

176
Моё мнение - только оригинальные исходники есть исходники.

Всё остальное стали называть так от безграмотности. Пример: один увидел какой-нить DASM, применил его к рому, второй выложил на свой сайт с названием source code, третий скачал и где-то написал мол опубликованы исходники такой то игры. Такого мусора навалом.
Обратный пример - тот же Соник в котором разобрали чуть ли не каждую строчку кода и все ресурсы всё равно назвали Disassembly.

177
Ромхакинг и программирование / [NES] Alien3 Fix
« : 04 Сентябрь 2021, 09:17:18 »
Через замену цвета фона во время отрисовки экрана?
тут же уже писали  - через emphasis

178
Ну почему обязательно должно быть всё похоже? Ты только вещи из-под копирки можешь с оригиналом сравнивать?
Так это ты в своём ролике и тут так говоришь. Что не возьмешь - так и видишь очевидное копирование.  А я вот что не сравню - так у меня всё разное получается.  :lol:  Предлагаю закрыть тему сходства/различия.

Многие так говорят.
Я то здесь причем?


Да про этот РРР на Западе даже не вспоминают. https://www.digitaltrends.com/gaming/best-snes-games/

Набрал ради проверки "best snes racing games":
1. Super Mario Kart
2. F-Zero
3. Top Gear
4. Rock n' Roll Racing
5. Top Gear 2
https://www.ranker.com/list/best-super-nintendo-racing-games/ranker-games

А "best nes racing games":
1. R.C. Pro-Am
2. Excitebike
3. Rad Racer
4. R.C. Pro-Am II
5. Micro Machines
...

32. Spy Hunter
33. Bump 'n' Jump
34. Galaxy 5000 
https://www.ranker.com/list/best-nintendo-entertainment-system-racing-games/ranker-games

179
Ромхакинг и программирование / Re: [NES] Alien3 Fix
« : 03 Сентябрь 2021, 22:21:12 »
А можно сделать так, чтобы свет исходил от игрока только в одну сторону?
Думаю нет.

180
Ромхакинг и программирование / [NES] Alien3 Fix
« : 03 Сентябрь 2021, 20:49:01 »
Реализовать луч света на NES почти невозможно: менять палитру во время игры не получится, как и менять colour-emphasis биты в правильное время (есть старое демо Firefly https://archive.org/details/pouet_76518, на точных эмуляторах будет освещение вокруг букашки).
Но в виде горизонтальной полосы несложно сделать. То есть будет светить только влево и вправо и одновременно.

Страницы: Назад 1 2 3 4 5 [6] 7 8 9 10 ... 111 Далее