Но не в сеговских?
Почему же тогда эта функция нужна?
Т.е. приставка считывает в каком месте находится луч телевизора в данный момент? Я не очень разбираюсь в этой части.
Если бы в этой игре рандом был связан на "точке кадра", то не приходилось бы использовать в эмуляторе случайные данные в памяти при включении.
Да с любого значения равномерно не получить, скорее всего, поэтому эти лишь зерно/семя для дальнейших вычислений.
Вопрос теперь в том, почему у Darkwing Duck такой сложный рандом, если можно было просто крутить предметы в цикле. Скорее всего, этот механизм перекочевал вместе с движком от мегаменов.
1) В сеговских да, там по нулям при повер-оне. И в бластеме тоже, но там в конфиг файле можно сделать не нулевой.
В default.cfg
#set this to random to debug initialization bugs
ram_init zero
изменить на ram_init random
2) Нужна для проверки багов, и вот они:
https://www.nesdev.org/wiki/Game_bugs#Reliance_on_RAM_values3) Да, Hcounter это точка луча по горизонатали, а Vcounter -по вертикали. Эти значения можно считывать на Sega MD.
4) Там в памяти остаётся предыдущее значение, и когда выключаешь память разряжается и постепенно значение меняется на FF или 00, по крайней мере у меня так было на сега-сд.
5) Простенький генератор случайных чисел есть практически в каждой игре. Они занимают байт 10-20. Никто не делает чтобы подряд выпадало одно и тоже в определённом порядке, это просто нелепо по гейм дизайну. Плюс можно даже без генератора, в зависимости от счетчика кадров делать (так тоже делают). Ну иногда ещё смешивают с нажатиями кнопок.
Добавлено позже:Если бы в этой игре рандом был связан на "точке кадра", то не приходилось бы использовать в эмуляторе случайные данные в памяти при включении.
В моём конфиге ram_init zero (дефолтный конфиг - то есть в памяти нули при включении). При запуске эмулятора персонаж всегда один и тот же. При софт резете персонаж рандомный. Но софт резет не сбрасывает память и в других эмуляторах, так как и не должен. То есть с ram это не связано. Ну и вот даже тут написано, что это каунтеры:
https://gendev.spritesmind.net/forum/viewtopic.php?f=2&t=1006&p=14949&hilit=x+men#p14949