1
Прочие эмуляторы / Эмулятор фантазийного компьютера Retro-40.
« : 16 Август 2022, 23:08:30 »
Проект Retro-40 - фантазийного Форт ретро-компьютера (программа) 256x192, 16цветов, звук с некоторым количеством игр и демо.
Сделан на базисе Ficl Форта (c SDL2) . Вдохновлённый Lambda/8, Jupiter ACE.
Собрался и запустился в Linux, команды ввода слов Форта работают
При запуске собранного проекта под 32 Linux для правильного отображения вводимых символов с клавиатуры
необходимо подправить файл font.fs в следующих строчках (т.к. изначально font таблица хранения данных расчитана под 64-бит ячейку памяти при сборке под Linux64, если не изменять в этом моменте Си код api,c)
Snake игра изначально загружается,
а к примеру загрузить Форт Tetris программу и запустить
Звуки в Тетрис игре довольно брутально воспринимаются.
P.S. В представленных играх и демо проекта, есть и рейтрейсинг по типу игры Вольфeнштейн и какая то стрелялка и бродилка по типу Марио и ещё некоторые демо и программы.
Шрифт 6x4 конечно это хардкорный выбор в этом проекте.
но этому есть и логическое объяснение. Раньше в Форт широко использовалось хранение программы в виде блоков (размером 1024 байт) в непрерывном пространстве памяти и сбрасываемых или загружаемых с диска
(т.е. это и был вариант хранения данных без файловой системы). По номеру блока можно было считывать как отдельный блок так и их последовательность. Для поддержки блоковой памяти даже был слой определённых слов и оставшийся отчасти и с принятием стандарта Forth94 ( где добавили работу с файлами в обычном их "Си" понимании). Так вот 1024 = 64 * 16 где 64 - это допустимое количество символов строки для размещения,
а 16 - соответственно строк в блоке данных.
т.е. выбрав шрифт 6х4 автор проекта, возможно, предполагал, что 256/4 = 64, а 192/6= 32 что по "ширине" как раз соответствует размеру блока, а 32 - в два раза больше его "высоты" (т.е. возможность для отображения сразу двух 1024-х байт стандартных Форт блоков)
В некоторых Форт системах до сих пор можно встретить файлы с .scr расширением как бы обозначающих, что в них то как раз и хранится программа в формате 1024-х байт кратности блоков.
И соответственно есть простые утилиты на Форт для конвертации их в текст и обратно по тексту в блоки.
Фонт вероятно может быть выбран и другой для вывода текста т.к. само окно программы большого размера при запуске, т.е. к примеру уложить символ шрифта в 8x8 матрицу.
Проект, вероятно, собирается и под Windows, но это не проверял.
Сохранение образа созданной игры - по идее должнa быть стандартная возможность для сохранения и запуска их как автономного приложения т.к. используется полноценная Форт система.
Сам Ficl достаточно зрелая Форт система и с включением, в частности, какой то объектной системы и применялся в загрузчиках ОС FreeBSD.
коммиты в проект в диапазоне 2018 - 2019 годов.
P.P.S. Сообщение с другого форума по реализации 3D бродилки для Retro-40
Сделан на базисе Ficl Форта (c SDL2) . Вдохновлённый Lambda/8, Jupiter ACE.
Собрался и запустился в Linux, команды ввода слов Форта работают
При запуске собранного проекта под 32 Linux для правильного отображения вводимых символов с клавиатуры
необходимо подправить файл font.fs в следующих строчках (т.к. изначально font таблица хранения данных расчитана под 64-бит ячейку памяти при сборке под Linux64, если не изменять в этом моменте Си код api,c)
Код: [Выделить]
: @font ( c -- u ) CELLS 2 * font + @ ;
: !font ( udg c -- ) CELLS 2 * font + ! ;
Snake игра изначально загружается,
а к примеру загрузить Форт Tetris программу и запустить
Код: [Выделить]
include tetris.fs
tetris
Звуки в Тетрис игре довольно брутально воспринимаются.
P.S. В представленных играх и демо проекта, есть и рейтрейсинг по типу игры Вольфeнштейн и какая то стрелялка и бродилка по типу Марио и ещё некоторые демо и программы.
Шрифт 6x4 конечно это хардкорный выбор в этом проекте.
но этому есть и логическое объяснение. Раньше в Форт широко использовалось хранение программы в виде блоков (размером 1024 байт) в непрерывном пространстве памяти и сбрасываемых или загружаемых с диска
(т.е. это и был вариант хранения данных без файловой системы). По номеру блока можно было считывать как отдельный блок так и их последовательность. Для поддержки блоковой памяти даже был слой определённых слов и оставшийся отчасти и с принятием стандарта Forth94 ( где добавили работу с файлами в обычном их "Си" понимании). Так вот 1024 = 64 * 16 где 64 - это допустимое количество символов строки для размещения,
а 16 - соответственно строк в блоке данных.
т.е. выбрав шрифт 6х4 автор проекта, возможно, предполагал, что 256/4 = 64, а 192/6= 32 что по "ширине" как раз соответствует размеру блока, а 32 - в два раза больше его "высоты" (т.е. возможность для отображения сразу двух 1024-х байт стандартных Форт блоков)
В некоторых Форт системах до сих пор можно встретить файлы с .scr расширением как бы обозначающих, что в них то как раз и хранится программа в формате 1024-х байт кратности блоков.
И соответственно есть простые утилиты на Форт для конвертации их в текст и обратно по тексту в блоки.
Фонт вероятно может быть выбран и другой для вывода текста т.к. само окно программы большого размера при запуске, т.е. к примеру уложить символ шрифта в 8x8 матрицу.
Проект, вероятно, собирается и под Windows, но это не проверял.
Сохранение образа созданной игры - по идее должнa быть стандартная возможность для сохранения и запуска их как автономного приложения т.к. используется полноценная Форт система.
Сам Ficl достаточно зрелая Форт система и с включением, в частности, какой то объектной системы и применялся в загрузчиках ОС FreeBSD.
коммиты в проект в диапазоне 2018 - 2019 годов.
P.P.S. Сообщение с другого форума по реализации 3D бродилки для Retro-40