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 писал(а): Идея, безусловно, интересная, но пока проект больше похож на декларацию о намерениях... |
Автор: | Total Vacuum [ Пн янв 10, 2022 13:48 ] |
Заголовок сообщения: | Re: ef \ esoteric forth \ |
Капелька эзотерики... Набросал небольшую форт-систему, которая работает в текстовом режиме под 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? Или даже - чем черт не шутит - под chip8? Когда-то давно обещал выложить ядро brainfuck: http://totalvacuum.ru/bfcore.zip Скомпилированное ядро bfcore.com весит 69 байт. Чтобы "скомпилировать" hello.b, можно скопировать bfcore.com в hello.com, а затем выполнить команду Код: copy hello.com+hello.b т.е. "компиляция без компилятора"
|
Автор: | 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 первых символа имени... Вместо текстовых текстур (отличный каламбурчик) можно использовать зеленые буквы, будет как в Матрице... upd. Добавил в архив 2 файла texture.tf (примитивная текстура+имитация затемнения дальних объектов) и matrix.tf (зеленые буквы, выглядит так себе, блондинка в красном пока не получается, вместо нее какой-то жирдяй в трениках ) |
Автор: | KPG [ Пн янв 10, 2022 15:02 ] |
Заголовок сообщения: | Re: ef \ esoteric forth \ |
Total Vacuum писал(а): Вместо текстовых текстур (отличный каламбурчик) можно использовать зеленые буквы, будет как в Матрице... Да, будет совсем лампово. Total Vacuum писал(а): Скомпилированное ядро bfcore.com весит 69 байт. Ядро Befunge поболее будет. |
Автор: | KPG [ Вт янв 11, 2022 03:35 ] |
Заголовок сообщения: | Re: ef \ esoteric forth \ |
Total Vacuum писал(а): На очереди версия под dendy? Или даже - чем черт не шутит - под chip8? Может, как вариант, сделать порт 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 Переделок было не очень много (в основном циклы и логические операции)... Попутно выяснилось, что pick в retro-40 - о, чудо! - работает неправильно, из-за этого конвертер из моего putpixel в штатный p! мне все нервы попортил... Безусловно, можно было бы сделать один rot вместо 2-х pick-ов и 2-х drop-ов, но пусть так останется...
wolf3d |
Автор: | Total Vacuum [ Чт май 26, 2022 10:43 ] |
Заголовок сообщения: | Re: ef \ esoteric forth \ |
Ну что все притихли-то? |
Автор: | KPG [ Сб май 28, 2022 15:05 ] |
Заголовок сообщения: | Re: ef \ esoteric forth \ |
Total Vacuum писал(а): Ну что все притихли-то? Лето на носу? 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 \ |
Цитата: Санкции, кстати, они уже наложили Хдеее?? |
Автор: | 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/ |