Сделал в своем эмуляторе EmuStudio поддержку компьютера Специалист (ч/б, 4 или 8 цветов) и клона Eureka (ч/б и 4 цвета).
Делалось чисто для себя, поиграться в игры из детства, поностальиговать.
Но может кому-то тоже будет интересно.
Инструкция по использованию - запустить эмулятор, и кидать в него образы игр с расширением .rk и .rke для режима Eureka, и .rks и остальные для режима Специалиста.
В зависимости от расширения файла эмулятор будет переключаться в режимы Специалиста или Eureka автоматически.
Также можно загружать программы из бейсика и прочих редакторов. Для примера с бейсиком делаем так - кидаем в эмулятор интерпретатор бейсика, затем программу для бейсика (она автодетектится по трем байтам $D3 в начале файла). Если же формат бейсик-файла отличается, или же вы хотите загрузить что-то другое, то необходимо кидать файл в окно с нажатой клавишей LCtrl.
После того, как кинули в окно интерпретатор бейсика и бейсик-программу, можно загрузить ее директивами MLOAD (для стандартного бейсика) и CLOAD"" (для бейсика Микрон). А далее просто запускаем программу по RUN. Проще не придумаешь.
Можно даже кидать бейсик программу в окно после того, как вы написали MLOAD/CLOAD. А можно сперва кинуть бейсик программу, а потом сам интерпретатор.
Запись программы в образ кассеты в режиме Специалиста происходит автоматически. Файл с образом будет называться SaveFile.rks. Например, из стандартного бейсика можно записать программу директивой MSAVE.
Клавиатура: максимально подогнанная для тех, кто привык к PC-клавиатуре.
Из особенностей:Код:~ - HOME
NumLock - ПВ (повтор)
CapsLock - НРф (РУС/ЛАТ)
Delete - смена масштаба экрана x2 / x3
Insert - смена палитры (для тех, кто любит разные ламповые цвета)
Home - смена цветового режима (ч/б, 4 цвета, 8 цветов)
End - смена режима сканлиний (включить/выключить)
Esc - АР2
LCtrl + RCtrl - Сброс
LWin + F - полноэкранный режим
Shift + PrintScr - сделать скриншот
- Звука нет
- Порт клавиатуры ВВ55 эмулируется в эскпериментальном аналоговом виде
- Загружать программы можно только Drag'n'Drop'ом
Об особенностях под спойлером:
Скрытый текст
Клавиатура:
Как и в моделях других компьютеров для EmuStudio, клавиатура эмулируется так, чтобы полностью совпадать с привычной раскладкой клавиатуры на PC.
Например, если на PC, чтобы получить символ '@' нужно нажать Shift + '2', то не смотря на то, что на Специалисте есть совершенно отдельная клавиша '@', для которой Shift нажимать ненужно, вы нажмете Shift + '2', и будет нажата имено '@'.
Однако, в силу особенностей опроса клавиатуры Специалиста, выяснилось 2 особенности:
1. Если передать Специалисту матрицу клавиатуры, где нажат одновременно Shift и что-то еще, то в некоторых случаях Shift будет пропущен.
2. Если отпустить какую-либо клавишу, а потом нажать другую ранее, чем через определенный промежуток времени, то другая клавиша не нажмется.
Отсюда возникло две особенности эмуляции для гарантированного срабатывания в вышеописанных случаях.
1. Если вы нажали любую клавишу, либо комбинацию клавиш, где для Специалиста передается Shift, то это нажатие задержится на 1 кадр, т.к. сперва передается Shift, а уже в следующем кадре сама клавиша.
2. Если вы нажали комбинацию клавиш с Shift'ом, для которой у Специалиста есть клавиша без Shift'а (например все тот же Shift + '2' -> '@'), то сперва Специалисту будет передано отпускание Shift'а (хотя вы его и держите), затем только через 6 кадров, когда Специалист поймет, что Shift отпущен, будет передан символ '@'. Поэтому задержка для нажатия таких комбинаций - 6 кадров. И это следующие символы '@', '^', '_', ':'.
Весь этот огород сделан исключительно для того, чтобы пользователь не знакомый с раскладкой Специалиста, или же просто привыкший к единой раскладке клавиатуры PC, мог легко печатать все, что ему заблагорассудится и сразу же.
Клавиатуру можно проверить в Basic'е, который есть в архиве с эмулятором.
Да, клавиши 'F', 'HELP', 'NEW', 'SAVE', 'LOAD', 'RUN', 'STOP', 'CONT', 'EDIT', 'СФ', 'ТФ', 'НФ' находятся на F1-F12.
Параллельный порт ВВ55:
По скольку ВВ55 является универсальным портом, отдельные выводы которого можно программно настраивать самым разнообразным двунаправленным образом, то при подключении к порту клавиатурной матрицы, реальное цифровое состояние входных защелок уже очень сложно вычислить, если не рассматривать клавиатурную матрицу, подтягивающие резисторы и внешние ключи порта, как аналоговую схему.
Что я и попробовал сделать в данном эмуляторе. В первом приближении, разумеется, пока что без тестов сравнения с реалом.
[свернуть]
Скриншоты (большие, теплые и ламповые):
Скрытый текст
ZOO:
http://a.radikal.ru/a42/1802/fa/61f3f1e48476.png
Пещера:
http://b.radikal.ru/b07/1802/01/c159263b1e5d.png
Клад:
http://d.radikal.ru/d40/1802/de/1ce2bb0dc5f2.png
Ралли:
http://a.radikal.ru/a11/1802/d9/3e874a8cfa12.png
Тетрис:
http://d.radikal.ru/d08/1802/5c/46ed329fd521.png
Цветные линии:
http://c.radikal.ru/c40/1803/46/4836ba4ba9a7.png
Canball:
http://b.radikal.ru/b40/1803/aa/d714b59c0362.png
[свернуть]
В комплекте прилагается несколько игрушек.

