Творческий экскремент на 512 байт

Когда-то компьютеры были игровыми консолями и игры имели прямой доступ к оборудованию.
Решил повторить фокус 40-летней давности и замутить простеньку игру для MBR.

LEnVKPb

«Игра» занимает всего 512 байт и запускается с вашего носителя при загрузке компьютера.
Летим снизу вверх, сбивая астероиды (точнее это они скроллятся на нас). Если врезаться в астероид, то теоретически получите звук из спикера.

Скачать

Сыграть в это убожество можно 2-мя способами:
- Установить BOCHS (эмулятор ПК) и открыть файл bochsrc.bxrc с настройками (запустится файл main.bin). Безопасный вариант.
- Открыть hex-редактором флешку / дискету / болванку и скопировать содержимое файла main_mbr.bin в первые 512 байт, сохранить. В биосе выбрать загрузку с этого девайса в первую очередь, вставить девайс в комп и перезагрузиться. Смотрите, не откройте по ошибке свой жесткий диск!

Файлы main.bin и main_mbr.bin отличаются временной задержкой между обновлениями игры, поскольку время в эмуляторе BOCHS течет в десятки раз медленнее, чем на реальном железе. Для уменьшения размера кода используются функции биоса, за исключением звуков.

При игре вторым способом данные на этом девайсе, наверняка, попортятся, так что неплохо бы с него сделать копию первых 512 байт. Кроме того, некоторые ОС любят записывать туда свое барахло, если при загрузке они там увидят что-то, что им не понравится.

Так что я не даю гарантии что вам потом не придется опять форматировать носитель и что ваш комп вообще не взорвется. Запускайте игру на железе на свой страх и риск.

При проверке на железе пока что 2 проблемы:

- странная прокрутка экрана (на 2 строчки вместо 1)
- отсутствие звуков (они и в эмуляторе слышны через раз)


a, d — перемещение
пробел — стрельба
q — выход (перезагрузка)

Также в архиве лежит исходник на FASM, так что вы можете исправить баги или попричитать «ну какой идиот так делает?».