С командами, в которых нет циклов записи все легко и просто - добавляется один такт на каждое чтение из памяти. Команды, которые пишут в память, зависят от циклов видеоконтроллера, что для SCR1/2 не привело к проблемам при подсчете. Для SCR0/недокументированного надо еще подумать над отдельными командами (поэтому обновленный комплект PST с результатами и исходниками пока не выкладываю). Пока выкладываю предварительный вариант растактовок, в котором команды, требующие дополнительных размышлений (или дополнительной проверки) выделены курсивом.
Несмотря на незначительные неясности с деталями SCR0/недокументированного очевидно, что максимальное быстродействие будет при выполнении команд из внешнего ОЗУ как раз в режимах SCR0/недокументированном. При выполнении из внешнего ОЗУ в режимах SCR1/2 команды с циклами записи будут чуть медленнее, но ощутимо быстрее, чем при выполнении из внутреннего ОЗУ. Поэтому можно, например, ускорить игрушки, дополнив их "настройщиком", который определяет наличие внешнего ОЗУ и, если оно есть, переписывает игрушку туда (своего рода "кэш"). Плюс нужно пропатчить в игре 1-3 байта, касающиеся out 80h, чтобы она сама не рулила конфигурацией памяти. Также можно представить примерно аналогичный мини-настройщик для бейсика.




). Плюс нужно пропатчить в игре 1-3 байта, касающиеся out 80h, чтобы она сама не рулила конфигурацией памяти. Также можно представить примерно аналогичный мини-настройщик для бейсика.
Ответить с цитированием