Вообще, забавно. История моего эмулятора имеет три ступени:
1. Версия под ДОС, лет 10 назад (Pentium, Borland С++ 3.1 + ассемблер). Я думал, ну вот нифига себе, целый i8080 эмулируется по командам. Скорости уже хватало. Это был самый продвинутый эмулятор по сравнению с версиями 2 и 3 в плане встроенного отладчика, дизассемблера, взлома игр и т.д.
2. Версия под Windows (gcc/mingw + SDL). Работала сносно, но уже была без отладчика, хотя переносилась между Windows и Linux весьма просто (на сайте проекта можно сказать бинарь и игры).
3. И тут я уже думал переписать все на Java в виде апплета, чтобы в браузере работало, когда увидел Спектрумовский эмулятор на Javascript. Судьба новой платформы для РК была решена. ;-)
Открываете страничу, и кликом на черный экран передаете туда фокус. Далее можно вводить команды Монитора. Например, «D0,1FF[ENTER]» (без кавычек) или «M7E00[ENTER]» и т.д. Но это все не очень интересно. Интереснее просто запустить игру. Для этого ее надо выбрать селектором внизу (например, PITON или RESCUE (как на скриншоте)), кликнуть на выбранное имя, и игра запустится сама. Далее по смыслу. Обычно игра идет стрелочками, а стрельба — пробелом.
Можно перезапускать эмулятор кнопкой Reset, если что-то подвисло.
В текущей реализации может не работать ввод русских букв, но для большинства игры этого не требуется — стрелочек и английских букв достаточно.
Да, может полностью загружать процессор, особенно если он всего один. А в FF или в Опере может сильно тормозить просто из-за реализации javascript'а в них.
Если честно, ни в FF ни в Opera не проверял, и думаю, что работать может с глюками и тормозить комп. У меня даже Chrome полностью занимает один CPU, хотя скорость эмуляции в самый раз.
У меня почему-то под Ubuntu скорость эмуляции заметно выше и в Opera, и в Firefox, чем под Windows 7 RC. Но всё равно довольно медленно и при жутко высокой загрузке ЦП.
У меня постоянно фокус на селект выбора игр переходит и глюки. Кроме того, игра загружается по смобытию onChange — и первую игру (BOMBER) непонятно как выбрать.
С onChange понятно. Надо будет исправить. Побороться с этим можно так: выбрать что-то другое, когда оно запустится, нажать Reset и затем уже выбрать BOMBER.
О да! Когда я писал первую версию эмулятора, я вбивал из журнала Радио коды Монитора и Знакогенератора, и вспоминал, как это было раньше, когда вбивалось все подряд, а потом надо было ждать следующего номера Радио, чтобы узнать, где опечатки. ;-)
Спасибо за бальзам на душу…
Не хватает только ввода программ вручную, кодами… Такое счастье было…
Эх, ну классная же жизнь была… Никаких заморочек — сиди себе за клавой у телика и шмякай с журнала коды по клавишам…
Почему не хватает ручного ввода? Команда Монитора «M» и вперед. ;-)
Я так всякие тестовые программки и делаю, прямо в кодах. Ибо после программирования команд процессора почти все коды в голове сидят и не надо подглядывать даже. ;-)
Да да, как и у многих здесь и мой первый комп тоже :)
Он и до сих пор у меня где-то в шкафу лежит, правда кассеты уже давно потерялись.
Эх… были времена ;)
Эмулятор Радио-86РК на Javascript