Forth

...
  • red.kaktus.37 wrote:полез сорсы ядра курить и обдумывать, да там же и поник... не совсем понятно ещё пока, это ведь не просто программка под контроллер восьмибитный...
    Для интерактивного изучения (опробования) ядра и управления функциональностью колибри с уровня терминала может быть
    полезным использования версии ядра со встроенной Форт системой в нём. Правда последней актуальной сборки ещё (пока, уже ...) нет.

    P.S. Если слово Форт (Forth) вам достаточно знакомо: и что-то значит для Вас:)
    Кстати Форт систему SP-Forth (для windows) запускали под "раcширенной" версией DOS системы (загрука консольных приложений PE с необходимым
    минимальным сервисом ввода/вывода) на 486 процессоре.
  • XVilka wrote:Слово Forth совсем ничего нам не говорит, и даже поиск по форуму его не может найти: viewtopic.php?f=45&t=395
    Икать ещё можно по слову Форт и да Форт не представили разработчикам Колибри "на блюдечке" и тема не получила продолжение.
    Была такая тема Форт в ядре колибри (4-е года назад, но что значит время при проектировании ОС:)
    P.S. Хотя сборку ядра можно найти (у меня точно осталась) и возможно будет желание поддержать и продолжить авторские изыскания (Михаила) в данном направлении:)
    Тем по Форту на местном форуме немного (наверное его идея не была понята и оказалась не интересной)
    Last edited by Kopa on Thu Feb 21, 2013 3:33 pm, edited 2 times in total.
  • OpenBIOS (OpenFirmware) использует Forth для написания переносимой прошивки http://www.openfirmware.info/Forth/FCode
  • XVilka wrote:OpenBIOS (OpenFirmware) использует Forth для написания переносимой прошивки http://www.openfirmware.info/Forth/FCode
    Форт "достаточно полно" представлен в промышленных изделиях, кроме OpenBiosа. (или это только мой субъективный взгляд широко открытыми глазами)
    Last edited by Kopa on Thu Feb 21, 2013 3:35 pm, edited 2 times in total.
  • из однокоренных слов только фортран, но это не в ту сторону. так же напомню, что владение ассемблером на х86 равно 0.001%, есть конечно правое и левое полушария, но работают поочерёдно и не всегда в нужном направлении, и вот ответьте мне Уважаемый, какие шансы понять сию ассемблерную птичку, пользуясь абсолютно непонятным интерпретатором? :)
    тут у меня может и танковый подход, но как мне кажется наиправильнейший - не городить огороды из непонятного с изучаемым, а как молодой джедай - прочел, проверил, покурил, видоизменил, подумал, понял.
  • red.kaktus.37 wrote:из однокоренных слов только фортран, но это не в ту сторону. так же напомню, что владение ассемблером на х86 равно 0.001%,
    Для меня ассемблер х86 и для контроллеров не пустой звук, а вполне достойная практическая область для изучения и возможного применения.
    Фортран? Вы не оригинальны в этом ответе: :wink:
    red.kaktus.37 wrote: есть конечно правое и левое полушария, но работают поочерёдно и не всегда в нужном направлении, и вот ответьте мне Уважаемый, какие шансы понять сию ассемблерную птичку, пользуясь абсолютно непонятным интерпретатором? :)
    Следуя ниже означенной мысли
    red.kaktus.37 wrote: тут у меня может и танковый подход, но как мне кажется наиправильнейший - не городить огороды из непонятного с изучаемым, а как молодой джедай - прочел, проверил, покурил, видоизменил, подумал, понял.

    P.S. Попробуйте понять что такое Форт и возможно это облегчит Ваш путь джедая. Ассемблер в нём, штатное средство применения, хотя и может отличаться
    от Фасм ассемблера.
  • Kopa wrote: Для меня ассемблер х86 и для контроллеров не пустой звук, а вполне достойная практическая область для изучения
    для меня тоже, под контроллеры я уже давно пишу разные мелочи, но там и уровень... 130 команд и 32 РОНа простор конечно, но по сравнению с иа-32 - это как Куба с Россией...
    так что разбегать мысли на форты и прочие ему подобные, когда уже выбран боевой друг и товарищ... со временем конечно можно обрасти и масмом с пасмом и фортом но это не сейчас.
  • red.kaktus.37 wrote: для меня тоже, под контроллеры я уже давно пишу разные мелочи, но там и уровень... 130 команд и 32 РОНа простор конечно, но по сравнению с иа-32 - это как Куба с Россией...
    Не такие уж и разные, в общей точке понимания. Для контроллеров, в частности для AVR и процессора PDP-11, решал на Форте со "слоем" на асме х86 задачу эмуляции
    ядра и периферии контроллера, эдак лет 10 назад . Сложилось мнение, что ассемблер может иметь "достаточно высокий" уровень абстрагирования с приближением по дизайну к языкам условно называемых высокоуровневыми.
    red.kaktus.37 wrote: так что разбегать мысли на форты и прочие ему подобные, когда уже выбран боевой друг и товарищ... со временем конечно можно обрасти и масмом с пасмом и фортом но это не сейчас.
    Изучение ассемблера на примере ядра операционной системы не лучший возможный вариант ИХМО. Ассемблер, при всех его достоинствах, всё же средство решения
    определённого класса задач, а в варианте Фасм он не так уж и достаточно "гибок". Есть, например, и ассемблер HLA в котором улучшен общий дизайн использования.
    (но возможно имеет и свои "слабые" стороны.)

    P.S. Есть ли какие моменты требующие разъяснения по теме обсуждения?
    При заинтересованности в дальнейшем развитии тематики топика, по возможности, продолжу разяснение и развитие Форта для Колибри и смежных вопросов.
    Last edited by Kopa on Thu Feb 21, 2013 5:29 pm, edited 3 times in total.
  • Kopa wrote: Это Она из базиса 11-ой подправленная мной на некоторые ошибки и собранная более поздней версией SPF4.
    Она рабочая. Проверил сегодня ещё раз. Проходит тест ANSI за некоторыми замеченными "фефектами" :D
    В тетрисе она и есть упакованная kpack
    (сборка Форта для Kolibri из исходников Kolspforth11 немного капризное действие т.к. SPF4 исходники довольно хитро самосабираются
    и какие то "неувязки" приводящие к неработоспособности Форта может вносить макрооптимизатор задействованный при компиляции.
    - этим можно управлять включая/отключая его не особо проникаясь сначала в различия результирующего "псевдо" кода результирующего FASM образа). Макрооптимизатор взят из последних версий. База исходников SPF4 не последней оф. версии.

    P.S. 12-ю Сборку для Linux подправил Mak44 на предмет некоторых текстовых различий для сборки под Linux. 12-ю можно разместить в топике KolSpforth.
    Какие ещё вопросы?
    Собрал http://fforum.winglion.ru/download/file.php?id=98, запускаю ошибка
    Attachments
    Screenshot_2.png
    Screenshot_2.png (8.02 KiB)
    Viewed 9112 times
    Из хаоса в космос
  • Leency wrote: Собрал http://fforum.winglion.ru/download/file.php?id=98, запускаю ошибка
    У меня тоже сейчас запустил и ошибка (правда err=5) но симптомы теже не нахождения подключаемого файла (запуск Kolibri на железе)
    errr=2003 не нашла слово (расшифровка ошибок есть в оригинальном SPF4)

    P.S. Пока не понятно откуда "грабли" выросли. Что то подобное наблюдал при запуске Форта в рамках Fasm (в Win7 и XP) c использованием консольного API и что интересно в Win7 исполняемый код корректно работал, а в XP вываливалось подобное сообщение.
    (указывающее на непонятную разницу в этом моменте - разобраться сразу не удалось).

    А бинарно cобранный Kolspf совпадает с Форт в CTetris если его распаковать?
    В архиве ещё находятся и ранее собранные meForth.bin и meForth.asm как с ними?
    От версии Kolibri "по идее" ничего не должно было измениться. И в какой ОС cобирался Форт.
  • Вот шайтан!!!1 Всё дело в либах!
    Слева либа с форума о форте, справа своя тила из тетриса.
    Attachments
    8Aos4So.png
    8Aos4So.png (33.84 KiB)
    Viewed 9081 times
    Из хаоса в космос
  • Kopa
    Я залил Форт на SVN.
    Изменения: пофиксил заголовок и уменьшил перерисовку в 2 раза.
    Что нужно сделать:

    1. Всё равно перерисовка очень сильно видна. Причина в том, что сначала заливается фон через функцию erase_screen, потом выводится поверх текст - это неправильно. А правильно:
    - простой вариант: рисовать чёрную полосу, потом выводить на неё текст и так с каждой линией текста
    - правильный вариант: рисовать всё в буфер и выводить в экран картинку с буфером, при нынешней реализации функции 4 - это проще простого

    2.
    Файл img.asm, строка 25258:

    Code: Select all

    DB '/sys/INIT.F',0
    ему сюда нужно подсунуть переменную params и вуа-ля мы сможем запускать любой файл Форта откуда угодно.

    Ты сможешь пофиксить 1 и 2?
    Из хаоса в космос
  • Leency wrote: Ты сможешь пофиксить 1 и 2?
    Хорошо, только я с SVN "не дружу" поэтому выложу в данной теме. :)

    P.S. Какие ещё идеи?
  • Если пофиксишь 1 и 2, то будем думать дальше. Тогда можно будет даже в сборку KolibriN Форт и Тетрис добавить.
    Из хаоса в космос
  • Who is online

    Users browsing this forum: No registered users and 1 guest