BBC Micro с открытым исходным кодом на JavaScript


BBC Micro был революционным компьютером, оказавшим всемирное влияние. Теперь вы можете опробовать его на JavaScript в своем браузере.

То, что можно сделать с помощью JavaScript сегодня, впечатляет, но эмуляция 32K BBC Micro указывает на то, насколько мощным является JavaScript, или это показатель того, насколько слабыми были домашние компьютеры?

BBC Micro — особый компьютер, потому что он представил в Великобритании поколение программирования и привел к созданию процессора ARM, который практически универсален в мобильных устройствах. Это также послужило источником вдохновения для удивительно успешной Raspberry Pi, у которой есть модели A и B, такие же, как у BBC Micro, чтобы показать свои корни.

Мэтт Годболт только что создал с открытым исходным кодом эмуляцию 32-килобайтной модели B BBC Micro, jsbeeb, используя только стандартный JavaScript, и что действительно примечательно, так это то, что он начал описывать, как все это работает.

Пока что у нас есть только отчет о том, как был эмулирован ЦП. Существует несколько эмуляторов 6502, в том числе на JavaScript. Если вы думаете, что эмуляция ЦП — большая проблема — это так, но вы должны иметь в виду, что процессоры, такие как 6502, имеют только однобайтовый операционный код. В результате получается 256 возможных кодов операций, и на практике большинство из них не используются. Итак, что вам нужно, так это большой выбор для отправки каждого кода операции в процедуру, которая его обрабатывает. На практике из соображений эффективности лучше использовать таблицу диспетчеризации из 256 ссылок на функции, реализующие каждую из операций.

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

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

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

Вы можете попробовать эмуляцию на jsbeeb, и как только она будет запущена, вы можете использовать все команды BBC Micro, и вам нужно знать, что F0 — это F10, клавиша Break — F12, а клавиша «звездочка» находится на клавише 2 или @ ключ. Есть образ диска, поставляемый с одной из самых известных игр на BBC Micro — Elite. Для его запуска введите * Elite3 и следуйте инструкциям.

Конечно, вы всегда можете скачать код с GitHub и установить его на свой сервер.


Добавить комментарий