Board.KolibriOS.org
http://board.kolibrios.org/

Forth
http://board.kolibrios.org/viewtopic.php?f=45&t=395
Page 4 of 6

Author:  Mihail [ Sat Apr 15, 2006 6:25 pm ]
Post subject: 

build.bat запускает:
spf4.exe src/gspf.f S" img.asm" TSAVE CR BYE
Это генератор img.asm
img.asm содержит ассемблерный код полученный в результате компиляци
исходных текстов на форте в каталоге src\ .
Форт на форте представляет собой набор форт-определений доступных для вызова в рантайме
форт-системы полученной в результате компиляции.

Т.е. в файл, на пример, KolSPForth.4\src\spf_last.f добавляем строку
: HI ." HILLO!" :
компилилуем систему.
запускаем
набираем spf <вк> для запуска моего форта.
там HI . <вк> - возврат каретки.

Я допустил ошибку
в файле KolSPForth.4\src\compiler\spf_translate.f

Фрагмент

: INCLUDED_ ( i*x c-addr u -- j*x ) \ 94 FILE
BLK @ 0=

Надо заменить на

: INCLUDED_ ( i*x c-addr u -- j*x ) \ 94 FILE
MEBLK @ 0=

К стати, полезно это определение сопоставить с

INCLUDED (c-addr, u -- )

в KolSPForth.4\meforth.asm

ЗЫ: Я хотел для инклюде аллокировать память под исполняемый файл
но системная функция 68 эмулятором не поддерживается.
Я задумал сам определить функцию аллокирования.
Оказалось что нет доступа к памяти эмулятора из приложения.

Author:  Mihail [ Sat Apr 15, 2006 6:43 pm ]
Post subject: 

Я здесь не объявил о http://forth.spb.su:8888/KolSPForth.4.rar

Author:  Mario79 [ Sun Apr 16, 2006 2:49 pm ]
Post subject: 

Mihail
Не закачивается.

Author:  andrew_programmer [ Sun Apr 16, 2006 5:44 pm ]
Post subject: 

Я непонял каким образом можно отккрывать фортовские файлы.

Лучшебы конечно делать это припомощи макросов из библиотеки ASCL - opendialog,savedialog.Может реализуете - это ведь недолго.

Author:  Mihail [ Mon Apr 17, 2006 10:48 am ]
Post subject: 

Открывать в смысле редактировать?

Можно редактировать с помощью другого приложения(на пример с помощью tinypad).
Вообще, среду разработки лучше представить в виде внешнего модуля.
В основном, форт-система должна содержать минимум для неограниченного расширения.

Вопрос: в Kolibri есть средства общения между приложениями?

Author:  Mihail [ Mon Apr 17, 2006 11:03 am ]
Post subject: 

http://fpauk.narod.ru/kolspforth.5.rar почти тоже что http://forth.spb.su:8888/KolSPForth.4.rar

в режиме spf, Esc - обратное действие забою.
В смысле, печать забитого символа (и восстановление предыдущей строки).

Author:  diamond [ Mon Apr 17, 2006 6:36 pm ]
Post subject: 

Функция 68? При чем тут она? Динамическое распределение памяти - функция 64 (и ее все три эмулятора поддерживают)

Author:  Иван Поддубный [ Mon Apr 17, 2006 6:42 pm ]
Post subject: 

68ая функция предназначена для выделения физической памяти. Это нужно для драйверов пользовательского режима, например, для AC97 плеера.

Author:  diamond [ Mon Apr 17, 2006 7:00 pm ]
Post subject: 

Поэтому для целей, указанных выше, в форте должна использоваться именно 64-я функция...

Author:  Mihail [ Tue Apr 18, 2006 8:25 pm ]
Post subject: 

Изменение размера памяти приложения, не заменяет выделения памяти.
В очередной версии http://fpauk.narod.ru/kolspforth.7.rar
Для для загрузки файлов с помощью INCUDED расположил буфер 64K
в конец приложения. Если памяти не хватает, увеличиваю размер всего
приложения с помощью 64-ой функции. Но мне может понадобится дополнительная
память для других задач.
Для примитивов теперь использую ассемблер из SMAL32. Он больше
похож на FASM.

Author:  Mihail [ Fri Jul 06, 2007 2:01 pm ]
Post subject: 

Новая версия http://fpauk.narod.ru/kolspforth.9.rar
Приведена в соответствие к Форту в виде драйвера http://fpauk.narod.ru/k_svn.566_src_f.rar

Для работы с файлами использовал 70-ю функцию (без нее было криво). Формат словаря тоже
сделал в соответствии с http://meos.sysbin.com/viewtopic.php?p=12736#12736

Образ дискеты: http://fpauk.narod.ru/k_svn.566_f.rar

Author:  Alver [ Sun Jul 08, 2007 1:41 pm ]
Post subject: 

:?:
Может ли forth создавать полнофункциональные приложения или работает исключительно в режиме текстовых скриптов?
Куда компилируются скрипты, в текущий процесс mefort или в памать драйвера?
Как запускать скрипты?

Скачал дискету - нифига не вьехал.
Примера для запуска не нашел. Запустил 'Mefort' выскреб из KolSPForth.7 примеры meforth_samples, закинул на RD (кстати что это за убогие версии Kfar и KFM при новом ядре:P), как запускать не понял :? , начал эксперименты: пишу exampl.f - выдает ошибку -2003, пишу S" /rd/1/example.f" INCLUDED - отвечает INCLUDEDERR=5 :roll: , лезу внутрь - в модуле menuet.f включается какой то файл '1st.4th' где взять непонятно.
Нужна хотябы минимальная инфа по основным командам.
И желательно бы сделать запуск fort-приложений по клику в kfar и kfm.

Author:  Mihail [ Mon Jul 09, 2007 1:50 pm ]
Post subject: 

Alver wrote:
Может ли forth создавать полнофункциональные приложения или работает исключительно в режиме текстовых скриптов?


Можно скомпилированный скрипт представить в ассемблерном виде. Так как я это сделал для создания
форт-систем для Колибри. Программа типа дизассемблера создает модуль img.asm, который подключается
к базовой ассемблерной программе-оболочке.

Quote:
Куда компилируются скрипты, в текущий процесс mefort или в памать драйвера?



Как и раньше, в конец программы отмеченной значением литерала CTOP . Смотри конец файла meforth.ASM .
У каждой форт-приложения должен быть свой кодофайл. Однако, я бы хотел, чтобы тело форт-драйвера
могло быть доступно из каждого приложения для чтения и передачи управления.

В драйвере под кодофайл отведен массив : в drivers\forth\amain.asm
CTOP DB 0x10000 DUP (?)

Думаю сделать полный доступ к форт-драйверу во время работы системы. Чтобы можно было интерактивно капаться
в ядре во время его работы (для суперпользователей).

Quote:
Как запускать скрипты?


В командной строке набираешь его имя. Вообще, изначально, Форт это просто тупой исполнитель последовательности
слов-команд разделенных пробелами.

Quote:

Скачал дискету - нифига не вьехал.
Примера для запуска не нашел. Запустил 'Mefort' выскреб из KolSPForth.7 примеры meforth_samples, закинул на RD


Это примеры от willow для его Форта в KolSPForth.7 были 2-а Форта в одном модуле. В http://fpauk.narod.ru/kolspforth.9.rar
от willow форта осталось только запуск и пользовательский интерфейс. У меня пока, до примеров руки не дошли.
Вообще, вызов системных функций производится командами SYS1 ... SYS6 фаил src\KOL\spf_kol_sys.f
В остальном должна быть совместимость с СПФ4 http://spf.sourceforge.net/
Примерами могут служить также, исходные тексты самой системы. Форт на форте представляет собой набор тех-же
определений, которые можно заново переопределить в рантайме системы.
Однако, для переопределения примитивов потребуется предворительно загрузить форт-ассемблер.

Quote:
пишу S" /rd/1/example.f" INCLUDED


Чтобы не набирать в командной строке, можно эту строку добавить в /sys/INIT.F
Комматда AUTOEXEC запускает этот файл при запуске форт-системы.
Я упустил один момент. Количество одновременно открытых файлов у меня
всего 2 и вложенность INCLUDED соответственно такая-же.
Нужно увеличить константу MAX_OPEN_FILES (файл src\KOL\spf_kol_io.f ) и пересобрать систему.

Quote:
И желательно бы сделать запуск fort-приложений по клику в kfar и kfm.


Думаю добавить к системному меню. Иконку тоже не помешало-бы.

Author:  Mihail [ Sat Aug 18, 2007 5:16 pm ]
Post subject: 

http://fpauk.narod.ru/kolspforth11.rar - образ загрузочного диска с примерами для Форта

С новыми версиями

http://fpauk.narod.ru/kolspforth11.rar - форт как приложение
http://fpauk.narod.ru/k_svn.605_src_f.rar - форт в виде драйвера

Author:  vectoroc [ Sat Aug 18, 2007 7:05 pm ]
Post subject: 

первую ссылку я так понимаю не ту дал :)
http://fpauk.narod.ru/kolforimg.rar

Page 4 of 6 All times are UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/