Эмулятор Радио-86РК на Javascript



    Когда деревья были большими, а проблемы просто громадными, существовал такой компьютер — Радио-86РК. Многие программисты на территории бывшего СССР начали свой путь с этой машины.

    Но время шло, и РК плавно ушел в небытие. Но для особых фанатов существуют эмуляторы. А в современном мире Web 2.0 вообще модно, чтобы все работало прямо в браузере. А так как правильные браузеры типа Google Chrome предоставляют все возрастающую скорость JavaScript, то подобная мода весьма оправдана. А как результат, даже эмуляторы процессоров теперь можно запускать прямо в браузере (недавно на Хабре была тема про эмулятор Спектрума).

    Я так вдохновился тем Спектрумовским эмулятором, что за пару дней перенес свой старый эмулятор РК на платформу JavaScript.

    Итак, запустить старенький Радио-86РК можно прямо сейчас, не отходя от браузера — запустить эмулятор Радио-86РК

    Кликнув на ссылку, сохраните файл «radio86.html» локально и затем откройте его браузером. На данный момент поддерживается только Google Chrome (тестировалось на версии 4.0211.7 и выше).

    Эмулятор вместе с играми содержится в одном единственном файле, который вы скачали. Там нет ни апплетов, ни ActiveX — только чистый JavaScript, но с использованием возможностей HTML5, а именно тэга «canvas». Эмуляция происходит на уровне команд процессора Intel 8080.

    Проект бы вдохновлен аналогичным проектом эмулятора Спектрума на JavaScript'е — JSSpeccy.

    Исходники проекта лежат на Google Code — http://code.google.com/p/radio86/

    Пост в моем блоге про данный проект.

    Скриншот из классической игры Volcano, сделанный в этом эмуляторе.



    Можно проиграться с масштабированием экрана РК и скоростью эмуляции. Также в эмулятор включена подборочка игр, которые можно запустить через селектор снизу.

    Ностальгия по РК теперь доступна прямо в онлайне.

    Update: Обновлена ссылка на эмулятор, так что теперь она открывается прямо в браузере без необходимости сохранять файл локально.

    Update2: Эмулятор обновлен до версии 0.2. Изменения незначительные: в список программ для запуска добавлены некоторые системные программы (языки программирования, редакторы, отладчики и т.д.) и немного улучшен селектор для их запуска — теперь запуск происходит при нажатии кнопки «Run».

    Update3: Эмулятор обновлен до версии 0.3. Теперь отрисовка экрана работает значительно быстрее и не так сильно загружает процессор.

    Обновление от 14.10.2012

    Онлайновый каталог игр и прочих программ для Радио-86РК. Можно сразу запускать в эмуляторе.
    Метки:
    Поделиться публикацией
    Похожие публикации
    Реклама помогает поддерживать и развивать наши сервисы

    Подробнее
    Реклама
    Комментарии 51
    • +4
      Умилительно =)
      • +1
        Да, теперь можно утереть скупую программескую слезу не ожидая пять минут, пока игра загрузится с ленты ;-)
      • 0
        Я прям прослезился :).
        • +8
          О господи!!! Первый мой комп. Отец паял черт знает сколько времени.
          • +4
            Вообще, забавно. История моего эмулятора имеет три ступени:
            1. Версия под ДОС, лет 10 назад (Pentium, Borland С++ 3.1 + ассемблер). Я думал, ну вот нифига себе, целый i8080 эмулируется по командам. Скорости уже хватало. Это был самый продвинутый эмулятор по сравнению с версиями 2 и 3 в плане встроенного отладчика, дизассемблера, взлома игр и т.д.
            2. Версия под Windows (gcc/mingw + SDL). Работала сносно, но уже была без отладчика, хотя переносилась между Windows и Linux весьма просто (на сайте проекта можно сказать бинарь и игры).
            3. И тут я уже думал переписать все на Java в виде апплета, чтобы в браузере работало, когда увидел Спектрумовский эмулятор на Javascript. Судьба новой платформы для РК была решена. ;-)
            • 0
              Тоже мой первый. Только был аналог. «Специалист» назывался, работал в графическом режиме. :)
              • 0
                Да, от РК было много клонов и улучшеных реализаций.
            • +1
              Плачу.
              • +3
                эгм. для тех, кто впервые Радио-86РК видит, можно поподробнее, как там запустить хоть что-нибудь? =)
                • +2
                  Открываете страничу, и кликом на черный экран передаете туда фокус. Далее можно вводить команды Монитора. Например, «D0,1FF[ENTER]» (без кавычек) или «M7E00[ENTER]» и т.д. Но это все не очень интересно. Интереснее просто запустить игру. Для этого ее надо выбрать селектором внизу (например, PITON или RESCUE (как на скриншоте)), кликнуть на выбранное имя, и игра запустится сама. Далее по смыслу. Обычно игра идет стрелочками, а стрельба — пробелом.

                  Можно перезапускать эмулятор кнопкой Reset, если что-то подвисло.

                  В текущей реализации может не работать ввод русских букв, но для большинства игры этого не требуется — стрелочек и английских букв достаточно.

                  Если будут глюки — сообщайте, пожалуйста.
                • +1
                  Как давно это было, мой первый комп!
                  • 0
                    Хочу эмулятор МК-52, МК-56 :'(
                  • 0
                    С примерно одинаковыми «косяками» работает в Opera 10.0 и Firefox 3.5.4pre. Наблюдаются пунктирные линии под каждой строкой знакомест.
                    pic.ipicture.ru/uploads/091001/XqqGhIyUf5.png — в Firefox
                    pic.ipicture.ru/uploads/091001/cN6VprWqh3.png — в Opera
                    • 0
                      У меня аналогично. Плюс к этому тормозит жестко.
                      • 0
                        Да, может полностью загружать процессор, особенно если он всего один. А в FF или в Опере может сильно тормозить просто из-за реализации javascript'а в них.
                        • 0
                          Хм, а почему тогда спектрумовский эмулятор на FF допустим, так жестко не тормозит?
                          • 0
                            Согласен, тут на чем поработать.
                      • 0
                        Если честно, ни в FF ни в Opera не проверял, и думаю, что работать может с глюками и тормозить комп. У меня даже Chrome полностью занимает один CPU, хотя скорость эмуляции в самый раз.
                        • 0
                          У меня почему-то под Ubuntu скорость эмуляции заметно выше и в Opera, и в Firefox, чем под Windows 7 RC. Но всё равно довольно медленно и при жутко высокой загрузке ЦП.
                          • 0
                            Медленно в каком смысле — на скорость самого РК похоже? Или еще медленее?
                            • 0
                              Медленнее оригинала. Проверил ещё раз — Opera под Ubuntu всё же притормаживает, а Firefox эмулирует по скорости близко к оригиналу.
                            • 0
                              Я бы так сказал — загрузка процессора должна быть. Это ожидаемое поведение. Но скорость эмуляции самого РК должна быть похожа на оригинальную.
                              • 0
                                Под Ubuntu загрузка процессора Opera доходит до 50% (фактически занимая под себя одно из ядер), при этом приложение становится крайне неотзывчивым.
                          • 0
                            За скрины — спасибо. Потестирую.
                          • 0
                            напомнило пост
                            Тоже эмулятор правда троичной Сетуни
                          • +1
                            Не зря я вчера в Песочницу залез :) Вот и новенький на главной :) Поздравляю!
                            • +1
                              Спасибо ;-).
                              • +1
                                Приветствую вас!
                                Отличный блоггер вы (изи кодинг ваш читаю), успехов!
                            • 0
                              У меня постоянно фокус на селект выбора игр переходит и глюки. Кроме того, игра загружается по смобытию onChange — и первую игру (BOMBER) непонятно как выбрать.
                              • 0
                                С onChange понятно. Надо будет исправить. Побороться с этим можно так: выбрать что-то другое, когда оно запустится, нажать Reset и затем уже выбрать BOMBER.

                                У вас Chrome какой версии?
                                • 0
                                  4.0.201.1

                                  В любом случае спасибо за эмулятор, сам в детстве читал статьи про это компьютер, а теперь и глазами посмотрел :)
                                  • 0
                                    Ну глюки будем лечить. Для этого и выкладывается на публику. Сразу многое вылезает. ;-)
                              • 0
                                Офигеть, мне иногда кажется что я до сих пор помню коды ассемблера. Ксоникс и питон чтобы поиграть каждый раз вводили руками :)
                                • +1
                                  О да! Когда я писал первую версию эмулятора, я вбивал из журнала Радио коды Монитора и Знакогенератора, и вспоминал, как это было раньше, когда вбивалось все подряд, а потом надо было ждать следующего номера Радио, чтобы узнать, где опечатки. ;-)
                                  • 0
                                    Вообще это веха, переломный момент, на котором часть радиолюбителей превратились в программистов.
                                • 0
                                  И у меня такой был! Спектр-001 (совместимый с Радио-86РК). Пытался на нем учить ассемблер :) Бейсик пошел легче
                                  • 0
                                    Спасибо за бальзам на душу…
                                    Не хватает только ввода программ вручную, кодами… Такое счастье было…
                                    Эх, ну классная же жизнь была… Никаких заморочек — сиди себе за клавой у телика и шмякай с журнала коды по клавишам…
                                    • 0
                                      Почему не хватает ручного ввода? Команда Монитора «M» и вперед. ;-)

                                      Я так всякие тестовые программки и делаю, прямо в кодах. Ибо после программирования команд процессора почти все коды в голове сидят и не надо подглядывать даже. ;-)
                                    • 0
                                      В Firefox 3.5.2 открытая вкладка с эмулятором гребёт 50+ % процессорного времени. Попробую обновить лисицу…
                                      • 0
                                        Ничего удивительного. Процессорное время есть будет, и тут обновление FF не спасет. Пока, увы, так работает. Это нормально.
                                      • 0
                                        Помнится оно же было в варианте «Микроша»? Или я что-то путаю?
                                        • 0
                                          Микроша — это параллельный клон РК. Многое похоже, но есть ньюансы. Некоторые игры требовали адаптации при переносе.
                                        • 0
                                          Мой первый компьютер. Отец спаял, весь класс ходил ко мне играть на нем :)
                                          • 0
                                            Это мой первый комп!
                                            Мне дедушка подарил!
                                            • 0
                                              Да да, как и у многих здесь и мой первый комп тоже :)
                                              Он и до сих пор у меня где-то в шкафу лежит, правда кассеты уже давно потерялись.
                                              Эх… были времена ;)
                                              • 0
                                                Обновил эмулятор до версии 0.3 (см. сам топик). Теперь работает значительно быстрее и не так сильно грузит процессор.
                                                • 0
                                                  Эмулятор получил новое ядро I8080, максимально точно реализующее логику Intel 8080: сам эмулятор — demin.ws/rk и описание.
                                                  • 0
                                                    В тело поста добавил ссылку на онлайновый каталог игр и прочих программ для РК. Можно одним кликом запускать в эмуляторе.

                                                    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.