12Jan/15Off

Эмуляция развёртки и тормозной памяти 48к и 128к на Pentevo Baseconf

posted by ЭЛВЭДЭ


Новогодние каникулы -- самое время сделать что-нибудь полезное. Вот я и сделал. Теперь на пентеве эмулируются развёртки 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).