Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Чт май 19, 2022 12:18

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 69 ]  На страницу Пред.  1, 2, 3, 4, 5
Автор Сообщение
 Заголовок сообщения: Re: ef \ esoteric forth \
СообщениеДобавлено: Пн июл 26, 2021 12:19 
Не в сети
Аватара пользователя

Зарегистрирован: Ср июл 03, 2019 11:10
Сообщения: 253
Откуда: Москва
Благодарил (а): 44 раз.
Поблагодарили: 7 раз.
KPG писал(а):

Идея, безусловно, интересная, но пока проект больше похож на декларацию о намерениях... :D


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: ef \ esoteric forth \
СообщениеДобавлено: Пн янв 10, 2022 13:48 
Не в сети
Аватара пользователя

Зарегистрирован: Ср июл 03, 2019 11:10
Сообщения: 253
Откуда: Москва
Благодарил (а): 44 раз.
Поблагодарили: 7 раз.
Капелька эзотерики... :D

Набросал небольшую форт-систему, которая работает в текстовом режиме под win32 или в dosbox под win64/linux и из коробки умеет только
Код:
drop dup swap pick - + * / & ^ | = < > ! @ key create , if else then while repeat do loop variable array : ; putpixel
А затем портировал под нее http://totalvacuum.ru/sky3d.htm Пришлось отказаться от float, а вместо тригонометрии пользоваться кусочно-линейными функциями, но тем не менее все зашевелилось, хотя 3D-бродилка в текстовом режиме выглядит достаточно забавно. Управление клавишами awd (лево/прямо/право), выход по esc.
Лежит тут: http://totalvacuum.ru/tiny3d.zip
Запускать так:
Код:
tf.com wolf3d.tf
Сейчас форт-система вместе с коробкой весит 1.3K, но при желании можно сильно утрамбовать...

На очереди версия под dendy? :D Или даже - чем черт не шутит - под chip8? :D

Когда-то давно обещал выложить ядро brainfuck:
http://totalvacuum.ru/bfcore.zip
Скомпилированное ядро bfcore.com весит 69 байт. Чтобы "скомпилировать" hello.b, можно скопировать bfcore.com в hello.com, а затем выполнить команду
Код:
copy hello.com+hello.b
т.е. "компиляция без компилятора" :D


Последний раз редактировалось Total Vacuum Пн янв 10, 2022 14:40, всего редактировалось 1 раз.

Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: ef \ esoteric forth \
СообщениеДобавлено: Пн янв 10, 2022 14:39 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 1661
Благодарил (а): 6 раз.
Поблагодарили: 62 раз.
Total Vacuum писал(а):
3D-бродилка в текстовом режиме выглядит достаточно забавно

:)
Да, забавно, а можно добавить текстуры из текста по примеру как в текстовом режиме выводят Мандельброт (и бывает с цветом символов на терминал)

P.S. CubicDoom, a ray-casting game in 512 bytes of x86 machine code (boot sector)

ZX nano-Tetris (256b)


Последний раз редактировалось KPG Пн янв 10, 2022 14:58, всего редактировалось 1 раз.

Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: ef \ esoteric forth \
СообщениеДобавлено: Пн янв 10, 2022 14:51 
Не в сети
Аватара пользователя

Зарегистрирован: Ср июл 03, 2019 11:10
Сообщения: 253
Откуда: Москва
Благодарил (а): 44 раз.
Поблагодарили: 7 раз.
Да, cubicDoom конечно же видел, но там чистый asm, так что ничего удивительного... :) А интерпретатор Форт, увы, обязан хранить имена слов в своем щуплом тельце, из-за чего выглядит сильно жирным... :) Я здесь, кстати, немного сэкономил, сделал значащими 4 первых символа имени... :)

Вместо текстовых текстур (отличный каламбурчик) можно использовать зеленые буквы, будет как в Матрице... :D

upd. Добавил в архив 2 файла texture.tf (примитивная текстура+имитация затемнения дальних объектов) и matrix.tf (зеленые буквы, выглядит так себе, блондинка в красном пока не получается, вместо нее какой-то жирдяй в трениках :)) )


Последний раз редактировалось Total Vacuum Пн янв 10, 2022 18:02, всего редактировалось 1 раз.

Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: ef \ esoteric forth \
СообщениеДобавлено: Пн янв 10, 2022 15:02 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 1661
Благодарил (а): 6 раз.
Поблагодарили: 62 раз.
Total Vacuum писал(а):
Вместо текстовых текстур (отличный каламбурчик) можно использовать зеленые буквы, будет как в Матрице... :D

Да, будет совсем лампово. :)

Total Vacuum писал(а):
Скомпилированное ядро bfcore.com весит 69 байт.

Ядро Befunge поболее будет.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: ef \ esoteric forth \
СообщениеДобавлено: Вт янв 11, 2022 03:35 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 1661
Благодарил (а): 6 раз.
Поблагодарили: 62 раз.
Total Vacuum писал(а):
На очереди версия под dendy? :D Или даже - чем черт не шутит - под chip8? :D

Может, как вариант, сделать порт 3D бродилки для TTL компьютера Gigatron или для Retro-40?
На Retro-40 есть в демках подобная бродилка названная raycast.

Гигатрон — самодельный микрокомпьютер без процессора
Ассемблер (система команд процессора) в нём настолько минималистична, что даже разработчики посчитали необходимым сделать более высокоуровневый язык ассемблерa GCL на этой архитектуре для «абстрактного» vCPU

Здесь есть сводная табличка по группам команд процессора

Код:
(команда — 1 байт + считывание вместе с ней ещё одного байта — из ПЗУ шины D в терминологии поцессора, oper в этой таблице)
У процессора ещё две 8-ми битных шины: IN, OUT
кроме внутренних регистров A — аккумулятор, и X и Y могущих образовывать пару,
но в адресации её автоинкремента изменяется только регистр X.

т.к. процессор-компьютер сделан на логических микросхемах, то интересно, что часть выводов аккумулятора выведена на светодиоды и командой загрузки данных в него можно ими управлять.
также, вероятно, как то можно задействовать, к примеру, и счётчики в схеме процессора как элемент схемы управления чем то "сопряжённым".


Здесь в проекте процессора процессора Gigatron на Verilog есть emulator под Linux
(подправить только коды клавишей курсора в проекте для их правильного декодирования)

Здесь под Windows в этой теме с форума Gigatrona другой эмулятор

P.S. Интересно, а на какие типично частоты "разгоняется" Gigatron процессор при реализации в FPGA.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: ef \ esoteric forth \
СообщениеДобавлено: Чт янв 13, 2022 10:36 
Не в сети
Аватара пользователя

Зарегистрирован: Ср июл 03, 2019 11:10
Сообщения: 253
Откуда: Москва
Благодарил (а): 44 раз.
Поблагодарили: 7 раз.
KPG писал(а):
Gigatron или Retro-40?

Retro-40 после нескольких пинков завелся (пришлось вручную разномастные sdl2_xxx ставить), так что проблем не вижу, ведь там Форт животворящий на борту... :)
Про Gigatron читал пару-тройку лет назад (в модификации "рассыпуха на соплях")... :) А система команд там действительно минималистичная, даже chip8 на его фоне выглядит монстром... Надо подумать, с какой стороны к этому изделию подступиться... :)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: ef \ esoteric forth \
СообщениеДобавлено: Чт янв 13, 2022 14:16 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 1661
Благодарил (а): 6 раз.
Поблагодарили: 62 раз.
Total Vacuum писал(а):
Retro-40 после нескольких пинков завелся (пришлось вручную разномастные sdl2_xxx ставить),

А, заводился под Windows, скорее всего? (можно где то разместить и эту сборку проекта Retro-40 т.к. сам его заводил под Linux LiveCD)

Total Vacuum писал(а):
Про Gigatron читал пару-тройку лет назад (в модификации "рассыпуха на соплях")... :) А система команд там действительно минималистичная, даже chip8 на его фоне выглядит монстром... Надо подумать, с какой стороны к этому изделию подступиться... :)

Может с изучения опыта авторов проекта по раскрутке софта на нём?
Там и Бейсики добавили и эмулятор Apple компьютера с эквивалентом получившейся частоты 6502 процессора вроде где то ~160КГц и заход на Форт есть, от базового языка GCL с зачатками Форта и Лисп. :)

P.S. Может интересен в тематике Форт и такой встреченный проект ALGOLISP (как понял задача из примера Алгол кода получить Лисп код. с помощью использования Форт). Проект с Форт подобным языком собирается изначально на GCC, а далее ему на вход даётся boot.fs который дополнительно расширяет Форт и запускает куцый пример разбора примера с выводом числа 11 из числового выражения. Если заккоментировать последнюю строчку подключаемого файла Algol68l.fs или убрать bye слово, то можно остаться в терминале "Форт" но там нет words слова и create ... Does> какой то свой.
В истории коммитов проекта есть ещё какие то файлы не отображённые в репе проекта.

Ещё на Brad Nelson's SVFIG (and other) Talks
есть некоторая презентация сравнеия Форт с Лисп как языка курса известной книги SICP.
Forth thru a Lisp-y Lens - February 23, 2019
(все размещённые материалы по Форт можно загрузить через: wget -m url )

AlgoLisp слово на Github находится и в других "контекстах" его использования в области исследования алгоритмов c ИИ.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: ef \ esoteric forth \
СообщениеДобавлено: Чт янв 13, 2022 17:06 
Не в сети
Аватара пользователя

Зарегистрирован: Ср июл 03, 2019 11:10
Сообщения: 253
Откуда: Москва
Благодарил (а): 44 раз.
Поблагодарили: 7 раз.
KPG писал(а):
А, заводился под Windows, скорее всего? (можно где то разместить и эту сборку проекта Retro-40 т.к. сам его заводил под Linux LiveCD)
Нет, под ubuntu studio. Качал через git, потом делал make (на этом этапе ошибки повылезали)... Ну а собственно бродилка портировалась: http://totalvacuum.ru/wolf3d.fs
Ее надо скопировать в папку retro-40, запустить ./retro40 и ввести
Код:
include wolf3d.fs
wolf3d
Переделок было не очень много (в основном циклы и логические операции)... Попутно выяснилось, что pick в retro-40 - о, чудо! - работает неправильно, из-за этого конвертер из моего putpixel в штатный p! мне все нервы попортил... :) Безусловно, можно было бы сделать один rot вместо 2-х pick-ов и 2-х drop-ов, но пусть так останется...


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 69 ]  На страницу Пред.  1, 2, 3, 4, 5

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB