Ну, собственно, теперь можно играть двумя руками как на фортепиано, второй игрок на кнопках IJKL.
http://totalvacuum.ru/SIMPX/drm.zip
Скомпилировано с инлайнами (drmario.asx) и без (drmario.asm). С инлайнами ассемблерный выхлоп худеет килобайт на 12, но по скорости разница не особо заметна.
За компанию Dhrystone, стало 0.11DMIPS/MHz вместо предыдущих 0.10:
http://totalvacuum.ru/SIMPX/dhry.zip
Немного Бейсика тебе, чтобы было совсем лампово. :)
http://totalvacuum.ru/SIMPX/basic.zip
ссылка на изображение
ссылка на изображение
За основу взята грамматика отсюда https://en.wikipedia.org/wiki/Tiny_BASIC, но не один в один. Бейсик понимает операторы
print expr
if expr relop expr stmt
goto label
let var = expr
gosub label
return
end
Кроме того, добавлены операторы
print "string"
at x y
poke addr val
delay ms
и функция
peek addr
Редактор понимает только букво-цифро-символы, а также backspace для удаления последнего символа и enter для завершения ввода строки кода или команды. Для очистки/листинга/запуска есть команды clear/list/run. Кроме того, добавлены команды load/save для чтения/записи "на кассету". "На кассете" (ее имитирует массив tape) есть место только под одну запись, после старта там записан дефолтный простенький тест, который можно подгрузить через load и выполнить через run. Вместо этого теста можно сделать дефолтным калькуляторный тест с ферзями отсюда https://www.hpmuseum.org/cgi-bin/articles.cgi?read=700, если после строки char tape [1024] = в файле basic.c закомментировать одну строку и раскомментировать другую. На глаз примерно секунд за 30 выполняется. Ну или на какой-то свой тест заменить. Пересобирается по традиции через rebuild.bat
Токены в коде надо разделять пробелами или переводами строки. Допускается несколько операторов в строке и напротив опкод и операнды могут быть на разных строках. Все нераспознанное считается меткой.
Братишка, я тебе покушать принес :D
Пока лишь пруф оф концепты, но при наличии желания/времени можно допилить.
Шахматы и Pac-Man
Шахматы честно сворованы с UzeBox, а Pac-Man с CH32V003 Game Console
В шахматах оставил только режим Demo: компьютер рубится сам с собой. Пока там какие-то кривые цвета. И генератор случайных чисел странный: инициализирован нулем, поэтому всегда возвращает 0.
А в Pac-Man можно даже сыграть (wasd) на скорости пару кадров в секунду. Тут традиционно графика оригинала не заточена под твою платформу от слова совсем: отрисовывается по 8 монохромных вертикальных пикселов за раз, а не по 4 цветных горизонтальных, как у тебя. У меня на Форт-процессоре даже с такой графикой на частоте в пару мегагерц летает, так что и у тебя должно, если до ума довести.
ссылка на изображение
Оригиналы и в онлайн-эмуляторах где-то можно пощупать, но с наскока не нашел ссылки. Пакмэн выглядит примерно так: http://totalvacuum.ru/BATTLE/pacman.htm
Total Vacuum
Давно замотало на работах, редко к хоббям возвращают.
Но звучит супер! :)
На выходных надо бы выкроить времени пощупать.
Понятно, конечно, что путпикселы вертикальные это гроб. Я ведь еще и спрайтовый модуль хотел делать чтобы это было больше на SMD похоже, но потом решил что это слишком жирно и наметил такую цель - что игры должны просто использовать возможности сроллинга чтобы не перерисовывать весь экран, а только спрайты. Когда перерисовываются только спрайты - это всегда быстро было. Спектрум не даст соврать.
Новые онлайн-казино Хотите новые казино с бонусами? Узнайте про новые онлайн-казино и начните игру. newcasino2025.space | Тут Захватывающие слоты ждут тут с бонусными предложениями. casino2025.space | На сайте Узнайте о лучших казино года на сайте с актуальными рейтингами. thebestcasino2025.space |