Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Пн окт 23, 2017 6:00 pm

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 82 сообщения ]  На страницу Пред. 1 2 3 4 5 6 След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Сб апр 15, 2006 6:25 pm 
Не в сети

Зарегистрирован: Пт мар 03, 2006 1:53 pm
Сообщения: 42
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 эмулятором не поддерживается.
Я задумал сам определить функцию аллокирования.
Оказалось что нет доступа к памяти эмулятора из приложения.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Сб апр 15, 2006 6:43 pm 
Не в сети

Зарегистрирован: Пт мар 03, 2006 1:53 pm
Сообщения: 42
Я здесь не объявил о http://forth.spb.su:8888/KolSPForth.4.rar


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Вс апр 16, 2006 2:49 pm 
Mihail
Не закачивается.


Вернуться к началу
   
 Заголовок сообщения:
СообщениеДобавлено: Вс апр 16, 2006 5:44 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Чт май 19, 2005 4:43 pm
Сообщения: 896
Я непонял каким образом можно отккрывать фортовские файлы.

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


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Пн апр 17, 2006 10:48 am 
Не в сети

Зарегистрирован: Пт мар 03, 2006 1:53 pm
Сообщения: 42
Открывать в смысле редактировать?

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

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


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Пн апр 17, 2006 11:03 am 
Не в сети

Зарегистрирован: Пт мар 03, 2006 1:53 pm
Сообщения: 42
http://fpauk.narod.ru/kolspforth.5.rar почти тоже что http://forth.spb.su:8888/KolSPForth.4.rar

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


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Пн апр 17, 2006 6:36 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пн ноя 28, 2005 8:00 pm
Сообщения: 1601
Функция 68? При чем тут она? Динамическое распределение памяти - функция 64 (и ее все три эмулятора поддерживают)

_________________
Ушёл к умным, знающим и культурным людям.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Пн апр 17, 2006 6:42 pm 
Не в сети

Зарегистрирован: Пт ноя 12, 2004 3:20 pm
Сообщения: 90
68ая функция предназначена для выделения физической памяти. Это нужно для драйверов пользовательского режима, например, для AC97 плеера.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Пн апр 17, 2006 7:00 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пн ноя 28, 2005 8:00 pm
Сообщения: 1601
Поэтому для целей, указанных выше, в форте должна использоваться именно 64-я функция...

_________________
Ушёл к умным, знающим и культурным людям.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Вт апр 18, 2006 8:25 pm 
Не в сети

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


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Пт июл 06, 2007 2:01 pm 
Не в сети

Зарегистрирован: Пт мар 03, 2006 1:53 pm
Сообщения: 42
Новая версия 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


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Вс июл 08, 2007 1:41 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пт май 18, 2007 11:11 pm
Сообщения: 125
:?:
Может ли 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.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Пн июл 09, 2007 1:50 pm 
Не в сети

Зарегистрирован: Пт мар 03, 2006 1:53 pm
Сообщения: 42
Alver писал(а):
Может ли forth создавать полнофункциональные приложения или работает исключительно в режиме текстовых скриптов?


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

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



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

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

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

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


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

Цитата:

Скачал дискету - нифига не вьехал.
Примера для запуска не нашел. Запустил '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/
Примерами могут служить также, исходные тексты самой системы. Форт на форте представляет собой набор тех-же
определений, которые можно заново переопределить в рантайме системы.
Однако, для переопределения примитивов потребуется предворительно загрузить форт-ассемблер.

Цитата:
пишу S" /rd/1/example.f" INCLUDED


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

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


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


Последний раз редактировалось Mihail Сб авг 18, 2007 5:20 pm, всего редактировалось 1 раз.

Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Сб авг 18, 2007 5:16 pm 
Не в сети

Зарегистрирован: Пт мар 03, 2006 1:53 pm
Сообщения: 42
http://fpauk.narod.ru/kolspforth11.rar - образ загрузочного диска с примерами для Форта

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

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


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Сб авг 18, 2007 7:05 pm 
Не в сети

Зарегистрирован: Пн май 01, 2006 10:12 pm
Сообщения: 349
первую ссылку я так понимаю не ту дал :)
http://fpauk.narod.ru/kolforimg.rar


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

Часовой пояс: UTC+03:00


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

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


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

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB