|
nedoPC.orgElectronics hobbyists community established in 2002 |
|
«РАДИО-86РК» - 512 Кб / 16 Мб
Author |
Message |
aviator
Senior
Joined: 10 Dec 2008 08:39 Posts: 155 Location: Стокгольм, Швеция
|
С блекджеком и ш..! Ой! Это другое!... Просто, если делать "продвинутый РК-86", то получится что? Правильно - Специалист или Орион.
_________________ С уважением, Сергей.
|
26 Feb 2024 14:01 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22608 Location: Silicon Valley
|
Неправильно - Специалист это несколько иной компьютер у которого на этом форуме есть свой раздел! В свою очередь Орион - это попытка облагородить Специалист приделав цвета и натянув на него Радио-монитор И по нему тоже имеется отдельный раздел
|
26 Feb 2024 23:10 |
|
|
fifan
Devil
Joined: 06 Oct 2006 03:17 Posts: 859 Location: г.Лянтор,Сургутского р-на,ХМАО
|
Shaos, как ты чётко сказал!
|
27 Feb 2024 09:48 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22608 Location: Silicon Valley
|
Слежу за трендами
|
27 Feb 2024 10:01 |
|
|
Alikberov
Maniac
Joined: 14 Oct 2019 18:10 Posts: 324 Location: Tashkent
|
Написал небольшую утилиту для отображения дампа в двух режимах: - «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» в углу экрана.
|
28 Feb 2024 07:00 |
|
|
Alikberov
Maniac
Joined: 14 Oct 2019 18:10 Posts: 324 Location: Tashkent
|
Вообще-то, идея сделать подобную адресацию появилась не вчера, а ещё раньше даже того описания. Как минимум, шесть лет занимаюсь в этом направлении. Вычурные выкрутасы требуются в режиме 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).
|
29 Feb 2024 03:00 |
|
|
Alikberov
Maniac
Joined: 14 Oct 2019 18:10 Posts: 324 Location: Tashkent
|
Повторюсь, идее 64 Кб ОЗУ - шесть лет как минимум! (Учитывая, что форум - не дневник и мысли должны были дозревать ещё какое-то время до публикации…) Оказывается, мало просто прикрутить все 65536 байтов ОЗУ пользователю. Важно хорошо понимать, как ими распорядиться! Допустим, возьмём «Бейсик-Микрон» и попытаемся поправить… - Грузим сам Бейсик-Микрон
- В ячейках 0026/0027 исправляем байты с «01 22» на «01 80»
- В ячейках 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)» и получаем весёлое сообщение: «Мало ОЗУ!» Получается, мало заполучить полное адресное пространство. Нужно ещё понимать все тонкости имеющегося программного обеспечения и разбираться в рабочих ячейках интерпретаторов. Я уже не говорю про пакет «Редактор/Ассемблер Микрон» и компиляторы! Интересно было бы получить хоть какую-то консультацию от специалистов в области устройства интерпретаторов и трансляторов. Спасибо! P.S.:¹- в режиме 64 Кб с адреса 8000 вместо ППА размещается ОЗУ. ²- в режиме 64 Кб по адрес FFFF вместо ПЗУ - только сплошное ОЗУ.
|
01 Mar 2024 14:00 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22608 Location: Silicon Valley
|
А я пошёл другим путём: - прикручиваем много памяти со страничным доступом (на сегодняшний день это 128К с четырьмя страницами по 32К)
- пишем свой компилирующий бейсик, который сможет этими страницами пользоваться
|
01 Mar 2024 22:05 |
|
|
Alikberov
Maniac
Joined: 14 Oct 2019 18:10 Posts: 324 Location: Tashkent
|
Из набросков памяти темы можно видеть, что переключения целых регионов по 32 Кб тоже страницами предусматривалось в четырёх режимах доступа (инструкции, стек, запись и чтение). Только это получается уже не РАДИО-86РК, а что-то иное новое, требующее разработки узла управления страницами и с поддержкой MOV-префиксов.
|
02 Mar 2024 03:23 |
|
|
imsushka
Senior
Joined: 01 Jan 2022 04:34 Posts: 173 Location: USSR, Tashkent
|
это как рк с цветом. или как рк с другим адресным дешифратором. рк - это то что напечатали в журнале радио в 86 году
|
02 Mar 2024 10:21 |
|
|
Alikberov
Maniac
Joined: 14 Oct 2019 18:10 Posts: 324 Location: Tashkent
|
Кое-как начал делать наброски Монитора с поддержкой памяти в 64 Кб. Можно заметить, значительно расширился набор пользовательских подпрограмм: - F836 - Чтение байта из памяти в режиме БСВВ (аналогично как в Орионе)
- F839 - Запись байта в память в режиме БСВВ (аналогично как в Орионе)
- F83C - резерв (в Орионе - устанавливает позицию курсора)
- F83F - резерв (в Орионе - выдаёт звуковой сигнал)
- F842 - резерв (в Орионе - хранит версию Монитора)
- F845 - Установка точки входа в обработчик ловушки (ошибка ввода/вывода, Escape-код и т.д.)
Идей по опредению назначения трёх резервных точек пока нет. Надо подумать.
|
02 Mar 2024 13:00 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22608 Location: Silicon Valley
|
А сразу можно озвучить подробности того, как будет "аналогично как в Орионе"? Чтобы два раза не вставать, как говориться
|
02 Mar 2024 13:11 |
|
|
Alikberov
Maniac
Joined: 14 Oct 2019 18:10 Posts: 324 Location: Tashkent
|
Пока не знаю. Если в Орионе описываются: - F836 - Чтение ячейки по HL из страницы с индексом в A регистра C
- F839 - Запись в ячейку по HL страницы с индексом в A регистра C
То у меня на данном этапе всё кипит лишь вокруг 64 Кб ОЗУ. Так как с позиции приложения область 8000-FFFF видится как ОЗУ, чтобы перепрограммировать ВИ53/ВТ57/ВГ75, нужно уже вызывать подпрограммы (оболочка ROM-Диска уже тоже не работает и к ППА D14 требуется обращаться только через F836/F839), что вызывает некоторые неудобства. P.S.: Потому здесь понятие аналогичности довольно размытое, так как на практике я всё это прощупываю на началах первопроходца, пытаясь хоть как-то сориентироваться.
|
02 Mar 2024 13:30 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22608 Location: Silicon Valley
|
Мне для доступа к памяти теневых страниц надо будет сделать аналогично
|
02 Mar 2024 13:50 |
|
|
Alikberov
Maniac
Joined: 14 Oct 2019 18:10 Posts: 324 Location: Tashkent
|
У меня чуть проще. Там просто команды «MOV A,M» и «MOV M,A» поставить надо... Т.е. прямо сейчас дамп можно и так сделать: Тогда, после переделки, определённые программы заработают как прежде.
|
02 Mar 2024 13:58 |
|
|
Who is online |
Users browsing this forum: Bing [Bot], Hammer, Majestic-12 [Bot] and 62 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
|
|