Эмуляция развёртки и тормозной памяти 48к и 128к на Pentevo Baseconf
Новогодние каникулы -- самое время сделать что-нибудь полезное. Вот я и сделал. Теперь на пентеве эмулируются развёртки 48к и 128к. Ну и само собой, тормозная память тоже.
Видео прилагается:
http://www.youtube.com/watch?v=XOayIyZPAvk
Данная фича добавлена в расово православный конфиг пентевы Baseconf. При этом ни одна другая фича не пострадала (ULAplus осталась, например). Пользователи других дендиконфигов плачут от зависти :-D
Релиз произошёл на зимнем Дихальте http://dihalt.org.ru/
Видеозапись этого релиза прилагается (видео снято Пашей Flast'ом)
Благодарности:
savelij за поддержку фичи в Evo Reset Service и убийства выявленных багов
alone за бетатестинг
Gasman за подсказки, наводку на софты с мультиколорами
Mike & Evills from ZeroTeam за код эффекта из "we are alive", и тоже за наводку на софты с мультиколорами
bolek: за наводку на софты с мультиколорами
Автор клона спектрума Harlequin -- за описание своих мучений и крутой insight в тему задержек.
(если кого забыл, пинайте, добавлю)
Некоторые подробности:
1. Все вейты реализованы по доке на WOSе, т.е. они включают в себя задержки при определённых адресах на ША в любой момент и специфические задержки, когда известно, что уже идёт обращение в порты или в память и т.д. (см. WOS)
2. Растры сделаны с точностью до такта, но тактовая ровно 3.5 МГц, потому что 3.54 взять неоткуда.
3. Порт ФФ пока не сделан, потому что пока я не видел вменяемой доки о том, что и когда из него читается. Если у вас есть такая дока -- кладите в комменты ссылку.
4. Прикручен костыль для порта 7ффц, в остальном дешифрация такая же (полная).
Ссылки (пока в svn, не в виде официального релиза на сайте nedopc.com):
Firmware: zxevo_fw.bin
ROM: zxevo.rom
Небольшая инструкция: теперь скролл лок работает без шифтов, переключая режимы в цикле из 8 (при этом 1 нажатие -- переключение VGA<>TV, чётное число нажатий -- переключение растров pentagon->60hz->48k->128k).
Для того, чтоб работало contended memory, надо выбрать растр 48k или 128k и частоту процессора 3.5 MHz
Теперь автостарт tap можно отключить в " Setup". Это сделано для того, чтобы выбрав tap в File Browser'е, можно было запускаться с ориг. ПЗУ от 48к или 128к (Service->Basic).