Forth
http://www.fforum.winglion.ru/

ef \ esoteric forth \
http://www.fforum.winglion.ru/viewtopic.php?f=40&t=3244
Страница 5 из 15

Автор:  Total Vacuum [ Пн июл 26, 2021 12:19 ]
Заголовок сообщения:  Re: ef \ esoteric forth \

KPG писал(а):

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

Автор:  Total Vacuum [ Пн янв 10, 2022 13:48 ]
Заголовок сообщения:  Re: ef \ esoteric forth \

Капелька эзотерики... :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

Автор:  KPG [ Пн янв 10, 2022 14:39 ]
Заголовок сообщения:  Re: ef \ esoteric forth \

Total Vacuum писал(а):
3D-бродилка в текстовом режиме выглядит достаточно забавно

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

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

ZX nano-Tetris (256b)

Автор:  Total Vacuum [ Пн янв 10, 2022 14:51 ]
Заголовок сообщения:  Re: ef \ esoteric forth \

Да, cubicDoom конечно же видел, но там чистый asm, так что ничего удивительного... :) А интерпретатор Форт, увы, обязан хранить имена слов в своем щуплом тельце, из-за чего выглядит сильно жирным... :) Я здесь, кстати, немного сэкономил, сделал значащими 4 первых символа имени... :)

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

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

Автор:  KPG [ Пн янв 10, 2022 15:02 ]
Заголовок сообщения:  Re: ef \ esoteric forth \

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

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

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

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

Автор:  KPG [ Вт янв 11, 2022 03:35 ]
Заголовок сообщения:  Re: ef \ esoteric forth \

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.

Автор:  Total Vacuum [ Чт янв 13, 2022 10:36 ]
Заголовок сообщения:  Re: ef \ esoteric forth \

KPG писал(а):
Gigatron или Retro-40?

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

Автор:  KPG [ Чт янв 13, 2022 14:16 ]
Заголовок сообщения:  Re: ef \ esoteric forth \

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 ИИ.

Автор:  Total Vacuum [ Чт янв 13, 2022 17:06 ]
Заголовок сообщения:  Re: ef \ esoteric forth \

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-ов, но пусть так останется...

Автор:  Total Vacuum [ Чт май 26, 2022 10:43 ]
Заголовок сообщения:  Re: ef \ esoteric forth \

Ну что все притихли-то? :D

Автор:  KPG [ Сб май 28, 2022 15:05 ]
Заголовок сообщения:  Re: ef \ esoteric forth \

Total Vacuum писал(а):
Ну что все притихли-то? :D

Лето на носу? :)

P.S. "Еврофортёры" обновляют материалы по Zoom тусовкам
FORTH2020 Zoom Meetings Presentations

Автор:  Hishnik [ Сб май 28, 2022 18:06 ]
Заголовок сообщения:  Re: ef \ esoteric forth \

KPG писал(а):
"Еврофортёры" обновляют материалы по Zoom тусовкам

Санкции, кстати, они уже наложили. Русофобия часто идет рука об руку с тупость и непрофессионализмом.

Автор:  vikt [ Сб май 28, 2022 21:31 ]
Заголовок сообщения:  Re: ef \ esoteric forth \

Цитата:
Санкции, кстати, они уже наложили

Хдеее?? :mrgreen: :^) :)) :dmad;

Автор:  Hishnik [ Сб май 28, 2022 22:47 ]
Заголовок сообщения:  Re: ef \ esoteric forth \

vikt писал(а):
Хдеее??

А меня уведомили, что в связи с действиями России мне нельзя подключаться к Zoom-конференциям. Так сказать, свобода слова и неполитизированность технического сообщества в полный рост. Обещали потом разрешить.... ххе :)

Автор:  vikt [ Сб май 28, 2022 23:25 ]
Заголовок сообщения:  Re: ef \ esoteric forth \

Цитата:
Обещали потом разрешить.... ххе


Цитата:
Handling interupts in Forth on ZXSpectrum


А оно ваабщето нада?

Они уже композитору Чайковскому санкции назначили. :))

Страница 5 из 15 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/