Forth на рк-86

Советский компьютер Радио-86РК (1986) и его клоны

Moderator: Shaos

Pyk
Maniac
Posts: 252
Joined: 21 Jan 2003 04:08

Re: Язык FORTH

Post by Pyk »

Нашел в своих архивах, считанных когда-то с кассет, версии Форт-ЛГУ для РК86, Микроши и Партнера. В моих архивах из интернета вроде бы нет этих версий. Не очень следил за обсуждением, это актуальный софт, выложить куда-нибудь? Или это уже и так доступно где-то?
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Язык FORTH

Post by Shaos »

Ну выкладывай конечно :)
Можно прям сюда прицепить
Я тут за главного - если что шлите мыло на me собака shaos точка net
Pyk
Maniac
Posts: 252
Joined: 21 Jan 2003 04:08

Re: Язык FORTH

Post by Pyk »

Файлы датированы 99 годом, когда были прочитаны с кассет. Почему-то я в свое время не выложил их на сайт вместе с остальным считанным софтом.

P.S. если ошибся веткой, можно переместить в более подходящее место...
You do not have the required permissions to view the files attached to this post.
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Язык FORTH

Post by Lavr »

Pyk wrote:Нашел в своих архивах, считанных когда-то с кассет, версии Форт-ЛГУ для РК86, Микроши и Партнера. В моих архивах из интернета вроде бы нет этих версий. Не очень следил за обсуждением, это актуальный софт, выложить куда-нибудь? Или это уже и так доступно где-то?
Когда мне понадобились Форт-ы, я у тебя их всех и скачал...
Они в твоих архивах все есть!
iLavr
Pyk
Maniac
Posts: 252
Joined: 21 Jan 2003 04:08

Re: Язык FORTH

Post by Pyk »

Lavr wrote:Когда мне понадобились Форт-ы, я у тебя их всех и скачал...
Они в твоих архивах все есть!
Специально посмотрел сейчас все 4 архива с системными программами. Может быть, я тебе что-то присылал в индивидуальном порядке, но в архивах на сайте их нет!
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Язык FORTH

Post by Lavr »

Pyk wrote:
Lavr wrote:Когда мне понадобились Форт-ы, я у тебя их всех и скачал...
Они в твоих архивах все есть!
Специально посмотрел сейчас все 4 архива с системными программами. Может быть, я тебе что-то присылал в индивидуальном порядке, но в архивах на сайте их нет!
Странно... я просто скачивал у тебя архивы программ к разным компам и перебирал их...
Вот посмотри - это Форты из твоих архивов: viewtopic.php?p=154442#p154442
В нынешнее время просто не разбежишься где-то ещё найти эти старые Форты.
А пишу я "со своего диска" потому что скачал я тогда почти все архивы "Микроши", "РК-86", "Специалиста" и т.п.,
и вынул из них файлы с текстовым описанием, чтобы легче что-то искать было.

В старых программах порой бывают забавные вещи: к примеру игра "Cross-Fire" - там интересный
генератор шума был - он в качестве "шума" использовал код самой программы... :wink:

P.S. Вряд ли я взял Форты с такими вот расширениями в каком-то другом месте: :ebiggrin:
Lavr wrote:FORTH.RKS ~ 12 КБайт, FORTH.RKI ~ 16 КБайт, FORTH.RKR ~ 17 КБайт
iLavr
Pyk
Maniac
Posts: 252
Joined: 21 Jan 2003 04:08

Re: Язык FORTH

Post by Pyk »

Lavr wrote: Вот посмотри - это Форты из твоих архивов
Ну да, ты только подтверждаешь мои слова - именно этих версий там нет. Форт-ЛГУ был только для Специалиста, а для РК была версия ЛС-Форт.
А выше я выложил Форт-ЛГУ для РК. причем это другая версия, чуть боле ранняя, чем версия для Специалиста.

Другое дело, что ЛС-Форт вроде бы тоже на версии ЛГУ основан, но тут я уже не помню подробности... Даже не помню, какой версией сам пользовался, когда писал на форте (давно же это было...)

А фичу с рандомом в Cross-Fire помню. Кстати, версий Cross-Fire было как минимум 2, причем это была перекомпиляция, а не правка бинарника, так как код был смещен в памяти. Визуально вроде бы ничем не отличались, может быть какие-то баги были пофиксены...

Кстати, что за расширение - RKI? У меня такого точно не было...
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Язык FORTH

Post by Lavr »

Pyk wrote:
Lavr wrote:Вот посмотри - это Форты из твоих архивов
Ну да, ты только подтверждаешь мои слова - именно этих версий там нет. Форт-ЛГУ был только для Специалиста, а для РК была версия ЛС-Форт.
К сожалению сейчас не смогу поднять эти архивы - вся эта эпопея с Фортом 2 года назад была на старом ноутбуке... :(
Сейчас на новом ноуте у меня даже эмулятор Шевцова не работает, а жаль... :-?
Pyk wrote:Кстати, что за расширение - RKI? У меня такого точно не было...
Когда я писал предыдущий пост, я подумал - "Ириша"... нет? :roll:
iLavr
Pyk
Maniac
Posts: 252
Joined: 21 Jan 2003 04:08

Re: Язык FORTH

Post by Pyk »

Кто ж знает, может и Ириша... Она у меня все еще в планах, ее поддержки никогда в emu80 не было, и файл, следовательно, тоже не из моего архива.

А в чем проблема с запуском эмуляторов на новом ноутбуке? Если x64, должен выручить DoxBox, я уж не говорю о том, что есть новая java-версия эмулятора Шевцова, да и лругие эмуляторы Специалиста-MX, работающие на современном железе ;)
Last edited by Pyk on 17 Feb 2023 14:50, edited 1 time in total.
kozzdo
Novelist
Posts: 34
Joined: 03 Aug 2020 20:18

Re: Язык FORTH

Post by kozzdo »

Привет! есть тут кто живой?
Я позавчера обнаружил себя дизассемблирующим 86рк форт, тот который от ЛС, видимо весеннее обострение.
Вспомнил, что где-то год или полтора назад портировал е-форт для рк-86 и захотелось опять поковыряться с этой темой.

До сих пор я так и не разобрался с работой внешнего интерпретатора для форта, может быть сейчас добью эту тему.
Смотрю, тут выложили файлы для рк, в которых форт от ЛГУ, тоже хочется посмотреть, что там внутри. Но у меня такое подозрение, что это какая-то поделка стандарта 83 года, т.к. в том же ЛС форте куски дизассемблированного кода точно совпадают с листингом форта для 8080, который можно найти в гитхабе.

Изучение внутренностей ЛС форта, равно как и версии Шихова, до сих пор представляют для меня некоторый академический интерес.
b2m
Devil
Posts: 905
Joined: 26 May 2003 06:57

Re: Язык FORTH

Post by b2m »

kozzdo wrote:Привет! есть тут кто живой?
Ну есть. И?
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
kozzdo
Novelist
Posts: 34
Joined: 03 Aug 2020 20:18

Re: Forth на рк-86

Post by kozzdo »

Ковыряюсь гидрой в шихов-форте, а если конкретнее - в реализации слов QUERY и INTERPRET. Одновременно черпаю некоторые идеи из книжки по е-форту.
kozzdo
Novelist
Posts: 34
Joined: 03 Aug 2020 20:18

Re: Forth на рк-86

Post by kozzdo »

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

Для начала хотелось бы отметить организацию параметрического стека в шихов-форте. Под сам стек отведены ячейки в памяти по адресам 1058Н-107ВН, и на эти ячейки указывает пара регистров HL процессора. Верхний же элемент стека находится в регистре BC. Сделано это, по словам автора, с целью ускорения доступа к вершине стека. При этом, естественно, сам HL указывает на предыдущий элемент.

Все это легко увидеть на примере кода слова DUP:

Code: Select all

DCX HL
MOV (HL), B
DCX HL
MOV (HL), C
RET
Таким образом, мы заполняем ячейку памяти значением из BС в направлении уменьшения адресов, а на вершине стека в BC остается то же самое значение. Как побочный эффект, мы вроде как не можем непосредственно получить значения указателя на параметрический стек с помощью слов из словаря, надо подумать, как это делается (возможно, что-то есть в упражнениях, приложенных к статье из журнала Радио)

Интересно решена задача передачи управления на исполняемый код, указав адрес этого кода через стек (слово EXECUT):

Code: Select all

PUSH BC
CALL DROP
RET
То есть, перед вызовом слова EXECUT мы имеем адрес перехода на наш код в регистре BC, а затем мы помещаем это значение в стек возврата командой PUSH BC, затем подчищаем вершину стека с помощью DROP и, наконец, RET перебрасывает выполнение кода по адресу со стека возврата. Элегантно, чё. И, кстати, таких плюшек в коде Шихова довольно много. Хотя не знаю, может быть это обычная практика программирования на ассемблере...

Небольшая ремарка: шихов-форт использует подпрограммную реализацию внутреннего интерпретатора, поэтому объекты в цепочке токенов вызываются через CALL, а переход к следующему токену происходит через RET.
b2m
Devil
Posts: 905
Joined: 26 May 2003 06:57

Re: Forth на рк-86

Post by b2m »

Форт Шихова мы обсуждали в этой теме: viewtopic.php?f=81&t=9038
Было бы неплохо в отдельную тему выделить.
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
kozzdo
Novelist
Posts: 34
Joined: 03 Aug 2020 20:18

Re: Forth на рк-86

Post by kozzdo »

Ну вот, опять нашла коса на камень )))

Мне хотелось бы разобрать шихов-форт по частям, чтобы не осталось с ним никаких непонятных моментов. Я вижу в нем хороший потенциал... Одна из задумок - перенести его в старшие адреса памяти РК и с помощью него же поковырять форт от лейди-софт.

Да и кроме того, тут еще и форт 83 года корячится в его двух ипостасях от ЛГУ и от туфли, плюс е-форт тоже... может пусть уже тут и будет все до кучи?