 |
nedoPC.orgElectronics hobbyists community established in 2002 |
 |
Author |
Message |
shoorick
Doomed
Joined: 05 Nov 2007 05:08 Posts: 487 Location: Украина
|
В далеком 2001 году написал русифицированный форт для дос
Недавно решил его "реанимировать". Переписывать, конечно, не собираюсь  Портировал на фасм и добавил внутрь русификацию.
http://shoorick.ho.ua/forth/
Интересует - будет ли работать эта русификация на буржуйских системах? проверять, естественно, нужно не в оконном режиме, а полноэкранном, + прерывание 10х не перехватывается и не отслеживается, т.е. после смены видеорежима возможна потеря кириллицы, которая восстанавливается словом RUS.
|
14 Nov 2008 05:24 |
|
 |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Я тут в очередной раз "свалился в FORTH"...  совсем не нарошно... Мне что-то вспомнился Бейсик "Вильнус" и "шитый код", и я набрал это в поисковике... Бейсик "Вильнус" была лишь пара ссылок, все остальное про "шитый код" вело в FORTH. Я подумал - видимо, судьба - всё прочитал и скачал рекомендуемые книжки. Скачал RFORTH Шурика, его недоFORTH для "Специалиста" и неожиданно я обнаружил у себя на диске FORTH для "Специалиста". Надеюсь, что описание FORTH для "РК-86" подойдёт... У меня просьба, если кто писал на FORTH для "РК-86" или для 580ВМ80: выложите здесь пару-тройку вменяемых программ НЕ ТИПА "ХЭЛЛОУ ВОРД", а чтобы было обращение к УВВ, к примеру, к портам... Я не первый раз пытаюсь постигнуть FORTH, и оказалось помню, что написано в книжках, но хотелось бы живого неабстрактного примера - как это делается...
_________________ iLavr
|
29 Apr 2020 12:13 |
|
 |
shoorick
Doomed
Joined: 05 Nov 2007 05:08 Posts: 487 Location: Украина
|
для реализации IN и OUT в своем недописанном форте для 8080 я формировал микропроцедуру в стеке и ее потом вызывал, т.к. у 8080 нет косвенной адресации портов, а хотелось размещать тело в пзу... хотя можно было и без этого - все равно где-то в озу размещались служебные ячейки (регистров не хватало) - можно было и эту пару команд туда вынести...
|
29 Apr 2020 13:41 |
|
 |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
FORTH для "Специалиста" у меня оказался вот такой: А словарный запас у него следующий:
_________________ iLavr
|
29 Apr 2020 13:47 |
|
 |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
FORTH для "Радио-86РК" это, похоже, вот этот ФОРТ, что на скриншотах выше, но порезаный неким Н. ШИХОВым, из странного г. Козьмодемьянск, Республики Марий-Эл. Собственно говоря, вновь поковыряться с FORTH-ом меня сподвигла прочитанная где-то фраза, что ФОРТ со всем своим "блэкджеком и плюшками" может занимать ВСЕГО 1 КБайт. Вижу что это не так: FORTH.RKS ~ 12 КБайт, FORTH.RKI ~ 16 КБайт, FORTH.RKR ~ 17 КБайт. И лишь у г-на Н. ШИХОВа FORTH обструган до 4 КБайт, причем текстовый буфер на привычном месте - 1100Н. P.S. Видимо, г-н Н. ШИХОВ имел в виду вот этот ФОРТ для "Радио-86РК" (FORTH.RKR ~ 17 КБайт)
_________________ iLavr
|
29 Apr 2020 17:06 |
|
 |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Джентльмены, а ни у кого не завалялось вот этого короткого Форта из Радио 7, 1995? Язык ФОРТ для Радио-86РКА то я вчера и гуглил... и яндексил... - нигде не нашел... А набирать таблицу так неохота... 
_________________ iLavr
|
30 Apr 2020 06:22 |
|
 |
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 21581 Location: Silicon Valley
|
Распознавалкой распознай  Кунеформ какой-нить, которым в 90х такое распознавалось на ура
|
30 Apr 2020 07:39 |
|
 |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Кокой ти умный... Файнридером вчера пробовал - плохо берётся... Всё равно придётся построчно сличать КС. Поэтому и обратился тут к людям, чтобы не мучаться лишний раз... " Да и ОСОАВИАХИМА больше нет, Глеб Егорыч..." (с) Не 90-е на дворе... 
_________________ iLavr
|
30 Apr 2020 08:08 |
|
 |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|

В общем, если кому, также как мне, приспичит маленький FORTH для " Радио-86РК" (580ВМ80А), то вот он: (Расширение bin запрещено администратором.) На всякий случай, приведу поблочные контрольные суммы, вдруг FORTH "зацепил коронавирус", пока летел на форум: Поскольку описания на этот FORTH нет, а автор утверждает, что фактически стандарт FORTH 83, то вот ссылка на автора: Язык Форт для "Радио-86РК". Н.Шихов, г.Козьмодемьянск, Республика Марий-ЭлЕсли все обратили внимание, г.Козьмодемьянск приводит меня в эйфорию! Что я хочу от этого Форта: я хочу посмотреть, насколько эффективный "шитый код" он генерирует, как он его генерирует, и механизм я тоже посмотреть хочу - думаю, я эти 4 КБайт декомпилирую в исходник. Всё это для того, чтобы сравнить с тем, что делает компилятор С (к примеру, Бест_С), который я тут некоторое время назад декомпилировал до исходника и не остался в восторге от генерируемого им кода. Кстати, пока я тут просеивал просторы Интернета на слово "FORTH" в разных сочетаниях, попался мне весьма хороший материал от нашего коллеги Дёмина (aka begoon): Реализация простого ядра ForthЯ не удивился уже, но Дёмин также не в восторге от того, что создаёт компилятор С для i8080: И у меня возник вопрос ко всем нашим Гуру FORTH-а, вопрос следующего характера... Когда я что-то ищу по Интернету, я читаю все источники, что попадаются по пути, прочитал в этот раз и такой неавторитетный источник, как: https://m.lurkmore.to/Forth и он меня заставил просто неподецки смеяться: Я, видимо, даже не "начинающий фортер"... но как раз по пути думал, что можно ведь сделать редактор для Форта, в котором писать всё "по-человечески, как у людей", а для FORTH-а делать синтаксическую предкомпиляцию в его формат обратной польской записи. Так вот вопрос: такого никогда не делали или всё же были попытки?
_________________ iLavr
|
01 May 2020 06:35 |
|
 |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Оказалось, что FORTH от г-на Н. ШИХОВа к искомому мной идеалу ВСЕГО 1 КБайт весьма близок! 4 КБайт - это он вместе с редактором "Микрон" (0000-0FFFH) занимает, а сам FORTH - ровно в половину меньше: всего-то 2 КБайт ( 0800-0FFFH). И при этом встроенный редактор у него есть, хотя "Микрон" и удобнее... Никаких длинных сказок он о себе при старте не сказал, а сразу вывел свой словарь: Даже WORDS печатать не пришлось... Да, словарный запас не так велик, как у экземпляра FORTH от "Специалиста", но словарный запас-то расширяемый у FORTH-а... Попробую запустить под эмулятором "Специалиста_МХ", системные вызовы стандартные - должно получиться... Под emu80 работать неудобно - то в текст, то в графику окна перекидывает. Посмотрю, на что способен этот FORTH. P.S. Да, под RAMFOS этот FORTH нормально запускается, поскольку системные вызовы стандартны.Естественно, в Редактор "Микрон" он не выйдет, потому как его там нет... Надо, видимо, декомпильнуть этот FORTH сначала, чтобы не заниматься патчами.
_________________ iLavr
|
01 May 2020 14:30 |
|
 |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Декомпильнул в черновом варианте, причесываю пока, чтобы правильно собрался. Неудобно, что слова разбросаны по коду, но, видимо, это и есть связанный список FORTH.
_________________ iLavr
|
02 May 2020 04:49 |
|
 |
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 21581 Location: Silicon Valley
|
А он самописный или цельнотянутый у буржуинов?
|
02 May 2020 11:22 |
|
 |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|

Трудно сказать однозначно... идею он наверняка читал в книжках переводных от буржуинов. Код у него оригинальный, никаких лишних чужих меток нет. В этом плане - он самописный. И как он сам пишет - алгоритм у него несколько не такой, как в стандартных FORTH-ах. Ну это подробнее лучше прочитать по ссылке выше, хотя там очень небрежный OCR... Насчет кода: исходный код хорошо причесанный мной - вот он: Компилируется без ошибок с совпадением всех контрольных сумм. Работает под RAMFOS также, как оригинал. Собственно, там в коде лишь один момент я не причесал, а оставил как есть. По коду часто встречается что-то типа: Но это точно не оно, на RST 7 этот Форт точно не обращается... Я хотел заменить это на 2 DB ... , но оставил пока как есть - посмотрю внимательнее, что это может быть... Пока я причесывал код - очень идеями FORTH-а проникся! В нем для простоты всё взвалили на пользователя... Разбор строки со стеками - не нужен, всё и так в обратной польской записи! Но идея подкупает - она в коде очень хорошо видна: связанный список, который можно дополнять. Я выше несколько ошибся: 1100Н - это как раз начало списка пользователя у этого Форта. А текстовый буфер у него: 2100Н - это, вероятно, стандарт редактора "Микрон". В общем в книге Шурика писали правду:" Форт может написать даже ребёнок", только вот ребенку надо правильно объяснить основную идею... В общем идеями я проникся, они мне понравились, и слежение за стеком уже не кажется таким омерзительным, как раньше... Думаю, титула " начинающий фортер" я уже заслуживаю, ибо у меня уже родились крамольные мысли, что там в коде почекрыжить и сделать иначе. 
_________________ iLavr
|
02 May 2020 21:02 |
|
 |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Это некий аналог функции 0F818H co стоп-байтом 0FFH, который и декомпилируется как RST 7. Если кардинальные переделки не вносить, то можно и не трогать эти байты - они не повлияют, привязки к адресам там нет. Эта функция вывода строки на экран L0A06 выводит то, что сразу за её вызовом дальше по коду: Вот " СТЕК ПУСТ" - это единственная русская фраза в тексте в КОИ-7. Я её не трогал, чтобы контрольные суммы сошлись. Но теперь трогать можно! 
_________________ iLavr
|
02 May 2020 23:43 |
|
 |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
А знаешь, что интересно, может быть, он с "Сетуни-70" цельнотянутый ... У Брусенцова там же был стековый язык отчень форто-подобный, хотя... это скорее уж Форт тогда "подобный"... И везде пишут, что даже ассемблера не было для "Сетуни-70" - в кодах легко писалось. Вот я тоже тут думаю - почему в Форте слова токенами не заменяют...
_________________ iLavr
|
03 May 2020 00:02 |
|
|
Who is online |
Users browsing this forum: No registered users and 4 guests |
|
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
|
|