Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - forthuser

Страницы: [1]
1
Проект Retro-40 - фантазийного Форт ретро-компьютера (программа) 256x192, 16цветов, звук с некоторым количеством игр и демо.
Сделан на базисе 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

2
На местном сайте не упомянут
https://github.com/wpmed92/MedNES

P.S. Возможно интересный проект.

Страницы: [1]