Каллисто 0.8б

Каллисто 0.8б:
http://the-hacker.ru/2016/Callisto-0.8b.zip

Это настолько важный релиз, что я перешёл с линейки 0.7 сразу на 0.8. Каллисто преодолела очередной психологический рубеж и теперь стала не просто стабильной, а удобной и даже привлекательной. За счёт оптимизации и нескольких волевых решений мне удалось реализовать практически все слова, которые хотелось бы видеть в Каллисто 1.0

  • Новые слова DEFER FREE K FONT! _FONT DARK LIGHT НОП THRU — теперь Каллисто работает с разными шрифтами и атрибутами вывода
  • Восстановлены слова ? ' R@ ATR — вроде бы мелочь, а работать стало удобней
  • Переименовано RDROP — подготовка к использованию стека возвратов в Каллисто 2.0, как целочисленного
  • Продуманная графическая подсистема, основанная на Форте, colorForth и регистрах функций ЭКВМ: AT DOT! BAR +BOX +FRAME
  • Убраны ;CODE DRAW PLOT
  • Убраны заголовки у слов (FOR) (NEXT)
  • Из слова U@ убраны лишние проверки и оно стало работать быстрее, много другой мелкой оптимизации
  • Свободная лицензия вынесена из исходного текста в файл PRAVA.TXT

Версия 0.8б мне настолько понравилась, что я записал видеообзор про новые возможности Каллисто. Потребуется некоторое время, чтобы отразить эти произошедшие изменения на Вики. Альфа-версии Каллисто убраны из публичного доступа.

Метки публикаций: 
Undefined

Комментарии

Надо переносить в свою прошивку. Скорость работы сейчас за гранью любой практики

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

Прошивка — самый очевидный способ. Но есть ещё несколько ресурсов и методов, которые хочется попробовать в Каллисто 2.0 и которые должны повысить быстродействие.

Скорость компиляции действительно низкая. Один экран может компилироваться 15-20 минут, как на старых больших ЭВМ. Но скорость работы уже откомпилированного кода вполне сносная.

Итого если помощь ограничена, лучше направить её на оптимизацию слова (FIND) в Callisto.mkl — это увеличит скорость компиляции в релизе Каллисто 1.0

При таком быстродействии компиляция не нужна. Будет уместен построчный (или точнее для Форта, пофразный) интерпретатор. Заодно и куча памяти освободится.

Не очень понял комментарий.

Форт — относительно жёсткая вещь. В Каллисто используются два классических интерпретатора, внешний (текстовый) и внутренний (адресный).

При этом внешний интерпретатор (которому передаётся введённая строка текста) работает в двух режимах — интерпретации (сразу выполняет введённые команды) или компиляции (компилирует их в шитый код, чтобы потом отдать на исполнение адресному интерпретатору).

Если избавляться от компиляции, то как писать программы? В одном из вариантов введения иерархии типов в Каллисто избавляются наоборот, от интерпретации. В таком случае исполнение введённой строки будет выполняться всегда через адресный интерпретатор.

Сильная сторона Форта в том, что он может быть выполнен и как интерпретатор и как компилятор (или как комбинация обоих в твоем случае). Если взять за основу принцип реализации первых Бейсик-интерпретаторов, шустро работавших на менее мощном железе, чем в МК161, то, возможно, что-то удастся выжать. Я, правда вообще не вижу смысла что-то делать под закрытую систему, коей являются изделия Семико, но это лишь мое скромное мнение.

Принцип работы Каллисто действительно напоминает Бейсик-интерпретаторы — она будет работать также шустро, как только перепишем под машинный код, в котором эти Бейсики и исполнялись. Разница лишь в том, что вместо байт-кода MSX/GW/IBM Бейсика для хранения программы применяется шитый код.

На мой вкус Каллисто лучше тех первых Бейсиков, как язык. Нет номеров строк и можно определять собственные слова, что сильно экономит последующие нажатия клавиш.

Кстати, как только будет сделана наша прошивка, «изделия Семико» перестанут быть закрытыми — за исключением схем, почему-то убранных производителем с официального сайта. Для начала нам нужно сейчас сделать тестовую прошивку, которая считывает что-нибудь с клавиатуры и выводит на индикатор ЭКВМ.

Кстати, есть какой-то прогресс в выводе точек на дисплей мк161 из своей прошивки?

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

У меня прогресс с прошивкой небольшой. Последний сишный код белорусского 3ГГ0Г'а был очень полезным. Я начал было инсталлировать среду для компиляции под 8052 и переводить его на наш ассемблер — но потом обнаружил, что эта интересная задача сильно отвлекает от доведения Каллисто до релиза.

И так как довести Каллисто до релиза это моя обязанность, собственные эксперименты с прошивкой я решил на некоторое время отложить. С прошивкой W77LE516P нужна помощь. Если кто-нибудь предложит бинарники (65536 байт) — я их, конечно, проверю и запущу через программатор на своей МК-152.

Также уже набралась куча идей, как можно ускорить/улучшить Каллисто даже без ассемблера — в брутальных новосибирских рамках языка МК. Но всё так и останется в вечной бете, если я сейчас не уделю своё основное внимание изданию завершённого и стабильного кода.