Board.KolibriOS.org

Official KolibriOS board
It is currently Wed May 22, 2019 4:02 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 83 posts ]  Go to page Previous 1 2 3 4 5 6 Next
Author Message
 Post subject:
PostPosted: Sat Apr 15, 2006 6:25 pm 
Offline

Joined: Fri Mar 03, 2006 1:53 pm
Posts: 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 эмулятором не поддерживается.
Я задумал сам определить функцию аллокирования.
Оказалось что нет доступа к памяти эмулятора из приложения.


Top
   
 Post subject:
PostPosted: Sat Apr 15, 2006 6:43 pm 
Offline

Joined: Fri Mar 03, 2006 1:53 pm
Posts: 42
Я здесь не объявил о http://forth.spb.su:8888/KolSPForth.4.rar


Top
   
 Post subject:
PostPosted: Sun Apr 16, 2006 2:49 pm 
Mihail
Не закачивается.


Top
   
 Post subject:
PostPosted: Sun Apr 16, 2006 5:44 pm 
Offline
User avatar

Joined: Thu May 19, 2005 4:43 pm
Posts: 896
Я непонял каким образом можно отккрывать фортовские файлы.

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


Top
   
 Post subject:
PostPosted: Mon Apr 17, 2006 10:48 am 
Offline

Joined: Fri Mar 03, 2006 1:53 pm
Posts: 42
Открывать в смысле редактировать?

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

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


Top
   
 Post subject:
PostPosted: Mon Apr 17, 2006 11:03 am 
Offline

Joined: Fri Mar 03, 2006 1:53 pm
Posts: 42
http://fpauk.narod.ru/kolspforth.5.rar почти тоже что http://forth.spb.su:8888/KolSPForth.4.rar

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


Top
   
 Post subject:
PostPosted: Mon Apr 17, 2006 6:36 pm 
Offline
Kernel Developer
User avatar

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

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


Top
   
 Post subject:
PostPosted: Mon Apr 17, 2006 6:42 pm 
Offline

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


Top
   
 Post subject:
PostPosted: Mon Apr 17, 2006 7:00 pm 
Offline
Kernel Developer
User avatar

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

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


Top
   
 Post subject:
PostPosted: Tue Apr 18, 2006 8:25 pm 
Offline

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


Top
   
 Post subject:
PostPosted: Fri Jul 06, 2007 2:01 pm 
Offline

Joined: Fri Mar 03, 2006 1:53 pm
Posts: 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


Top
   
 Post subject:
PostPosted: Sun Jul 08, 2007 1:41 pm 
Offline
User avatar

Joined: Fri May 18, 2007 11:11 pm
Posts: 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.


Top
   
 Post subject:
PostPosted: Mon Jul 09, 2007 1:50 pm 
Offline

Joined: Fri Mar 03, 2006 1:53 pm
Posts: 42
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.


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


Last edited by Mihail on Sat Aug 18, 2007 5:20 pm, edited 1 time in total.

Top
   
 Post subject:
PostPosted: Sat Aug 18, 2007 5:16 pm 
Offline

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

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

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


Top
   
 Post subject:
PostPosted: Sat Aug 18, 2007 7:05 pm 
Offline

Joined: Mon May 01, 2006 10:12 pm
Posts: 349
первую ссылку я так понимаю не ту дал :)
http://fpauk.narod.ru/kolforimg.rar


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 83 posts ]  Go to page Previous 1 2 3 4 5 6 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited