Вложений: 5
Игровая демонстрация «Чёрная Дыра»
Работает на этой версии.
Поддерживает управление клавиатурой и световым пером.
Вложений: 4
Скрипты-86РК / Апогей / Северная Пальмира
Подводя итоги уходящего месяца, представляю ниже архивы с демонстрациями.
На данный момент всё работает достаточно стабильно.
В архиве имеется несколько демонстрационных программ:
- «ПИТОН» - Практически идентичная адаптация оригинальной игровой программы
- «БОМБА» - Попытка ремейка оригинальной игровой программы ПЭВМ «Согдиана-2», с которой и началось моё знакомство с ЭВТ
- «Чёрная Дыра» - Моя собственная игровая фантазия в качестве тренировки и наработки навыков скриптинга
- «Version» - Простая крошечная демонстрация получения переменных среды для работы с вызовами API
Причём, «Бомба» и «ЧД» поддерживают управление как клавиатурой, так и световым пером - мышкой в эмуляторе.
Правда, имеются некоторые проблемы с цветом на Апогее в игре «БОМБА» из-за схематических отличий видеоузла.
Сначала грузите и запускаете файл самого скриптера - «SCRIPTER.RK?», в зависимости от платформы.
В редакторе, используя комбинацию клавиш «УС+O» загружаем любой файл - «VERSION.RK», «PITON.RK», «SCHWARZ.RK», «DER_BOMB.RK».
А затем комбинацией «УС+R» запускаем загруженный скрипт на исполнения.
P.S.: Текущая версия скриптера - 2507h, что соответствует 2025/07 и данная версия больше дорабатываться не будет.
Скрипты-86РК / Апогей / Северная Пальмира
Записал небольшое видео работы этого редактора и транслятора.
https://youtu.be/Q1MipiDqclM
Вложений: 1
Скрипты-86РК / Апогей / Северная Пальмира / КР-04
На данный момент ведётся адаптация под КР-04.
Сейчас занимаюсь самым вкусным элементом КР-04 - переключаемым знакогенератором.:v2_dizzy_roll:
Вложений: 4
Скрипты-86РК / Апогей / Северная Пальмира / КР-04
Спустя ровно месяц активной отладки и адаптации, представляю Вашему вниманию версию 2025v08 с поддержкой нескольких платформ:
- РАДИО-86РК
- Апогей БК-01
- Электроника КР-04
- Северная Пальмира
http://www.youtube.com/watch?v=PxvS6P700AI
Хотя на данный момент оболочка работает с файлами только на уровне вызовов подпрограмм обмена с магнитной лентой, при использовании эмулятора формат всех листингов представляется в обычных TXT-файлах с кодированием Кириллицы в UTF, что позволяет открывать и редактировать листинги обыкновенным Блокнотом.
Причём, при попытке загрузки этих TXT-файлов в «Микроше», «Партнёре-01.01» и «Радио-86РК» директивой I Монитора, на экране отобразится их заголовок с названием самого скрипта внутри.
Следует учитывать, что нельзя трогать заголовки файлов и иероглифы «情» в тексте, которыми кодируются ключевые синхробайты E6.
Чтобы загрузить TXT-файл в ОЗУ целиком, следует загрузить/запустить оболочку скриптера на целевой платформе и клавишами «УС+O» открыть любой файл листинга:
- «ANACONDA.TXT» - разновидность игры «ПИТОН»
- «DER_BOMB.TXT» - разновидность игры «ARKANOID» (в Emu80 можно управлять мышью)
- «ROBOTS.TXT» - набросок для игры «Взбесившиеся Роботы»
- «SCHWARZ.TXT» - моя авторская фантазия на тему «Излучения Хокинга» горизонтом событий Коллапсара (в Emu80 можно управлять мышью)
- «VERSION.TXT» - файл с выдачей всех переменных среды с описанием всех ключевых ресурсов платформы
Конкретно для «КР-04» имеется два отдельных файла:
- «FNTLDR.RK4» - подгружает восемь разных шрифтов перед запуском скриптера: Сперва просто загружается «SCRIPTER.RK4», затем загружается «FNTLDR.RK4» и запускается директивой «G3F00»
- «FONTEKST.TXT» загружается в скриптер клавишами «УС+O»
На экране просто отобразится набор шрифтов.
Файл «MAN.TXT» также загружается скриптером и открывается Блокнотом.
К сожалению, долгие циклы разработки парсера и его отладки заняли практически всё время, а на описание справки практически ничего не хватило.
Как можете заметить, синтаксис стал немного сложнее и гибче.
- Имеются блоки «(цикл)», «[then]», «[then $ else]», «<else>», «<else $ then>»
- Символ «$» может работать как «else», «break» или «continue», а также и как «include»
- Переменные среды описывают практически все ключевые подпрограммы Монитора и портов УВВ
Из-за узких рамок и пределов оптимизации, пришлось пожертвовать всеми механизмами защиты от ошибок.
При работе с текстом листинга нужно хорошо понимать, что и как делается.
P.S.: Фактически, это - первое практическое применение моего редактора «Победит» с адаптацией на разные платформы.
Скрипты-86РК / Апогей / Северная Пальмира / КР-04
После анонса августовской версии пришло не только расслабление, но и лень, так сказать.
Можно сказать, весь месяц, целый жаркий месяц, непрерывной жёсткой отладки основной части кода, сделали своё дело и хочется немного отвлечься.
Как подчёркивает нейросеть, мои разработки являются узкими нищевым продуктами для узкого круга специалистов - любителей байт-кода из секты поклонников наичестейщему машинному коду.
Для начала, кое-как, снял короткое видео с кратким введением в эту, так сказать, среду.
http://www.youtube.com/watch?v=PxvS6P700AI
Yandex-видео
https://rutube.ru/video/8b7fba185a987a18de2be17ac40a1ccf/
Если Вы качали файлы выше, могли заметить, что исполняемые файлы демонстрации RK4/RKA/RKL/RKR запускаются и в чистом виде.
Транслятор имеет все достаточные механизмы для генерации компактного кода.
Конечно, основная ответственность по оптимизации в конечном счёте лежит на программисте-кодере.
Изначально, как обладатель железного КР-03, весь код писался и отлаживался под РАДИО-86РК в первую очередь, с последующим переносом под Апогей и Пальмиру.
Однако, при попытке адаптации под КР-04 возникли существенные сложности и пришлось пересмотреть весь цикл разработки и отладки.
Так как в КР-04 доступ к УВВ реализован без проекции в пространство памяти, а через ВК28 и команды IN/OUT, оптимизация на командах LXI/DCX/INX/MOV оказалась просто нерабочей и пришлось раздувать код.
Соответственно, получилось проще разрабатывать и отлаживать под КР-04, так как там используется много таблиц и исходный текст среды забивает все 4 Кб под завязку, при переносе под остальные платформы надобность в таблицах и обслуживающих циклах - отпадает, освобождая пространство под резерв.
Основное назначение данной программы, прежде всего - использование под свои личные нужды и облегчения рутины изучения остальных платформ.
Если пользоваться классическим ассемблером, рутины цикла правки текста, трансляции, загрузки и запуска - жутко утомляет.
Тогда как сейчас - просто правится какой-то байтик и сразу же запускается на исполнение с немедленным результатом.
P.S.: Не увлекаюсь видеоблоггингом и видео получилось - уж каким получилось.
Учитывая, что всё это проворачивается на Raspberry Pi 4 под управлением TwisterOS.