«РАДИО-86РК» - 512 Кб / 16 Мб

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

Moderator: Shaos

aviator
Maniac
Posts: 298
Joined: 10 Dec 2008 08:39
Location: Стокгольм, Швеция

Re: «РАДИО-86РК» - 512 Кб / 16 Мб

Post by aviator »

imsushka wrote:надо сделать свой рк!!!
на 7400 :twisted:
С блекджеком и ш..! Ой! Это другое!... :rotate:

Просто, если делать "продвинутый РК-86", то получится что? Правильно - Специалист или Орион.
С уважением, Сергей.
User avatar
Shaos
Admin
Posts: 24083
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: «РАДИО-86РК» - 512 Кб / 16 Мб

Post by Shaos »

Неправильно - Специалист это несколько иной компьютер у которого на этом форуме есть свой раздел!
В свою очередь Орион - это попытка облагородить Специалист приделав цвета и натянув на него Радио-монитор
И по нему тоже имеется отдельный раздел :roll:
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
fifan
Devil
Posts: 912
Joined: 06 Oct 2006 03:17
Location: г.Лянтор,Сургутского р-на,ХМАО

Re: «РАДИО-86РК» - 512 Кб / 16 Мб

Post by fifan »

Shaos wrote:Орион - это попытка облагородить Специалист приделав цвета и натянув на него Радио-монитор
Shaos, как ты чётко сказал!
User avatar
Shaos
Admin
Posts: 24083
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: «РАДИО-86РК» - 512 Кб / 16 Мб

Post by Shaos »

fifan wrote:
Shaos wrote:Орион - это попытка облагородить Специалист приделав цвета и натянув на него Радио-монитор
Shaos, как ты чётко сказал!
Слежу за трендами :roll:
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Alikberov
Doomed
Posts: 355
Joined: 14 Oct 2019 18:10
Location: Tashkent

«РАДИО-86РК»: Режимы 32 Кб / 64 Кб / 512 Кб

Post by Alikberov »

Написал небольшую утилиту для отображения дампа в двух режимах:
  • «G,<конечный_адрес>,<начальный_адрес>» - вывод дампа в режиме 64 Кб
  • «G1,<конечный_адрес>,<начальный_адрес>» - вывод дампа в режиме РК
(Внимание! Именно в таком порядке указания адресов!)

Например:
  • «G,817F,8000» - вывод дампа ОЗУ режима 64 Кб
  • «G1,817F,8000» - вывод дампа ППА ВВ55
  • «G,C17F,C000» - вывод дампа ОЗУ режима 64 Кб
  • «G1,C17F,C000» - вывод дампа ВГ75
  • «G,F97F,F800» - вывод дампа ОЗУ режима 64 Кб
  • «G1,F97F,F800» - вывод дампа ПЗУ
В отлиии от РЛК «Орион», где в ПЗУ Монитора имеются подпрограммы F836 и F839 для доступа к произвольным страницам памяти, в Мониторе РАДИО-86РК, естественно, ничего подобного нет…
Приходится вертеться как уж на сковородке, чтобы добраться к ВВ55/ВТ57/ВГ75, которые, как я уже многократно говорил, в режиме 64 Кб пользователю просто не видны.
Вообще-то, если серьёзно браться за тему «РАДИО-64КБ», нужно писать Монитор и предусмотреть в нём доступ к УВВ…

Вот здесь я уже описал, как обойти этот экран («ограничениями» это назвать не могу, так как 65536 байтов ОЗУ моментального доступа - никак ограничениями не назовёшь!)…

P.S.: Работает пока только в рамках экспериментальной эмуляции для личных целей.
P.P.S.: Ввёл некоторые исправления:
  • Исправил скрипт расширения и заблокировал реакцию индикатора ИПВ, что существенно снижало всю производительность в циклах сканирования клавиатуры (оригинальный Ксоникс теперь летает);
  • Исправил код вывода дампа (при указании адреса выше 7FFF портились ячейки верхних 32 Кб при восстановлении точки останова от директивы G);
  • Дополнил код вывода дампа отображением режима «32 / 64» в углу экрана.
You do not have the required permissions to view the files attached to this post.
User avatar
Alikberov
Doomed
Posts: 355
Joined: 14 Oct 2019 18:10
Location: Tashkent

«РАДИО-86РК» - 64 Кб

Post by Alikberov »

Вообще-то, идея сделать подобную адресацию появилась не вчера, а ещё раньше даже того описания.
Как минимум, шесть лет занимаюсь в этом направлении.

Вычурные выкрутасы требуются в режиме 64 Кб потому, что:
  • Во-первых, в отличии от Монитора РЛК Орион-128, отсутствуют подпрограммы F836 и F839
  • Во-вторых, указатель стека не может быть выше 7FFF при обращениях к подпрограммам Монитора
То есть, в любом случае, нужно переписывать код ПЗУ Монитора, если хочется этот режим в 64 Кб поддержать.

Как минимум, директивы C/D/F/L/M/S/T должны поддерживать работу с верхними 32 Кб.

А как максимум:
  • Буфер экрана должен быть в адресах F6D0…F6FF
  • Предусмотреть максимальный режим 80x64 - 5120 символов (весь буфер - EC00…FFFF)
  • Рабочие ячейки Монитора должны быть в адресах EB00…EBFF
Реализовать это можно, но на данном этапе - слишком сложно по известным причинам (код Монитора не видит 8000…FFFF как стек и ОЗУ: Все обращения к верхним 32 Кб нужно производить так же, как и работает директива G - JMP 7626).
User avatar
Alikberov
Doomed
Posts: 355
Joined: 14 Oct 2019 18:10
Location: Tashkent

«РАДИО-86РК» - 64 Кб

Post by Alikberov »

Повторюсь, идее 64 Кб ОЗУ - шесть лет как минимум!
(Учитывая, что форум - не дневник и мысли должны были дозревать ещё какое-то время до публикации…)

Оказывается, мало просто прикрутить все 65536 байтов ОЗУ пользователю.
Важно хорошо понимать, как ими распорядиться!

Допустим, возьмём «Бейсик-Микрон» и попытаемся поправить…
  1. Грузим сам Бейсик-Микрон
  2. В ячейках 0026/0027 исправляем байты с «01 22» на «01 80»
  3. В ячейках 1606/1607/1608 заменяем команду «2A 01 00» на «21 FF FF»
По плану, текст листинга должен начинаться теперь с адреса 8001¹, а верхний предел - FFFF².
Однако, после запуска экран просто сносит!
Продолжаем править:
  • Ячейки 160D/160E/160F/1610 c байтами «11 CE FF 19» меняем на «21 FF 74 00»
Запускаем…
Вводим «PRINT FRE(1)» и получаем весёлое сообщение: «Мало ОЗУ!» :mrgreen:

Получается, мало заполучить полное адресное пространство.
Нужно ещё понимать все тонкости имеющегося программного обеспечения и разбираться в рабочих ячейках интерпретаторов. :roll:

Я уже не говорю про пакет «Редактор/Ассемблер Микрон» и компиляторы! :esurprised:

Интересно было бы получить хоть какую-то консультацию от специалистов в области устройства интерпретаторов и трансляторов.

Спасибо!

P.S.:
¹- в режиме 64 Кб с адреса 8000 вместо ППА размещается ОЗУ.
²- в режиме 64 Кб по адрес FFFF вместо ПЗУ - только сплошное ОЗУ.
User avatar
Shaos
Admin
Posts: 24083
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: «РАДИО-86РК» - 512 Кб / 16 Мб

Post by Shaos »

А я пошёл другим путём:
  • прикручиваем много памяти со страничным доступом (на сегодняшний день это 128К с четырьмя страницами по 32К)
  • пишем свой компилирующий бейсик, который сможет этими страницами пользоваться :lol:
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Alikberov
Doomed
Posts: 355
Joined: 14 Oct 2019 18:10
Location: Tashkent

«РАДИО-86РК» - 512 Кб / 16 Мб

Post by Alikberov »

Shaos wrote:А я пошёл другим путём:
  • прикручиваем много памяти со страничным доступом (на сегодняшний день это 128К с четырьмя страницами по 32К)
  • пишем свой компилирующий бейсик, который сможет этими страницами пользоваться :lol:
Из набросков памяти темы можно видеть, что переключения целых регионов по 32 Кб тоже страницами предусматривалось в четырёх режимах доступа (инструкции, стек, запись и чтение).
Только это получается уже не РАДИО-86РК, а что-то иное новое, требующее разработки узла управления страницами и с поддержкой MOV-префиксов.
imsushka
Maniac
Posts: 237
Joined: 01 Jan 2022 04:34
Location: USSR, Tashkent

Re: «РАДИО-86РК» - 512 Кб / 16 Мб

Post by imsushka »

Alikberov wrote:
Shaos wrote:А я пошёл другим путём:
  • прикручиваем много памяти со страничным доступом (на сегодняшний день это 128К с четырьмя страницами по 32К)
  • пишем свой компилирующий бейсик, который сможет этими страницами пользоваться :lol:
Из набросков памяти темы можно видеть, что переключения целых регионов по 32 Кб тоже страницами предусматривалось в четырёх режимах доступа (инструкции, стек, запись и чтение).
Только это получается уже не РАДИО-86РК, а что-то иное новое, требующее разработки узла управления страницами и с поддержкой MOV-префиксов.
это как рк с цветом. или как рк с другим адресным дешифратором.
рк - это то что напечатали в журнале радио в 86 году
User avatar
Alikberov
Doomed
Posts: 355
Joined: 14 Oct 2019 18:10
Location: Tashkent

«РАДИО-86РК»: Разработка Монитора под режим 64 Кб

Post by Alikberov »

Кое-как начал делать наброски Монитора с поддержкой памяти в 64 Кб.
Можно заметить, значительно расширился набор пользовательских подпрограмм:
  • F836 - Чтение байта из памяти в режиме БСВВ (аналогично как в Орионе)
  • F839 - Запись байта в память в режиме БСВВ (аналогично как в Орионе)
  • F83C - резерв (в Орионе - устанавливает позицию курсора)
  • F83F - резерв (в Орионе - выдаёт звуковой сигнал)
  • F842 - резерв (в Орионе - хранит версию Монитора)
  • F845 - Установка точки входа в обработчик ловушки (ошибка ввода/вывода, Escape-код и т.д.)
Идей по опредению назначения трёх резервных точек пока нет. Надо подумать.
You do not have the required permissions to view the files attached to this post.
User avatar
Shaos
Admin
Posts: 24083
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: «РАДИО-86РК» - 512 Кб / 16 Мб

Post by Shaos »

А сразу можно озвучить подробности того, как будет "аналогично как в Орионе"?
Чтобы два раза не вставать, как говориться :oops:
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Alikberov
Doomed
Posts: 355
Joined: 14 Oct 2019 18:10
Location: Tashkent

«РАДИО-86РК» - 64 Кб

Post by Alikberov »

Shaos wrote:А сразу можно озвучить подробности того, как будет "аналогично как в Орионе"?
Чтобы два раза не вставать, как говориться :oops:
Пока не знаю. Если в Орионе описываются:
  • F836 - Чтение ячейки по HL из страницы с индексом в A регистра C
  • F839 - Запись в ячейку по HL страницы с индексом в A регистра C
То у меня на данном этапе всё кипит лишь вокруг 64 Кб ОЗУ.
Так как с позиции приложения область 8000-FFFF видится как ОЗУ, чтобы перепрограммировать ВИ53/ВТ57/ВГ75, нужно уже вызывать подпрограммы (оболочка ROM-Диска уже тоже не работает и к ППА D14 требуется обращаться только через F836/F839), что вызывает некоторые неудобства.

P.S.: Потому здесь понятие аналогичности довольно размытое, так как на практике я всё это прощупываю на началах первопроходца, пытаясь хоть как-то сориентироваться.
User avatar
Shaos
Admin
Posts: 24083
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: «РАДИО-86РК» - 512 Кб / 16 Мб

Post by Shaos »

Мне для доступа к памяти теневых страниц надо будет сделать аналогично
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Alikberov
Doomed
Posts: 355
Joined: 14 Oct 2019 18:10
Location: Tashkent

Re: «РАДИО-86РК» - 512 Кб / 16 Мб

Post by Alikberov »

Shaos wrote:Мне для доступа к памяти теневых страниц надо будет сделать аналогично
У меня чуть проще. Там просто команды «MOV A,M» и «MOV M,A» поставить надо... Т.е. прямо сейчас дамп можно и так сделать:

Code: Select all

     .0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
F830 2A 31 76 C3 56 FF 7E C9 ?? 77 C9 ?? C3 ?? ?? C3
Тогда, после переделки, определённые программы заработают как прежде. :roll: