Author |
Message |
aviator
Maniac
Joined: 10 Dec 2008 08:39 Posts: 206 Location: Стокгольм, Швеция
|
С блекджеком и ш..! Ой! Это другое!... Просто, если делать "продвинутый РК-86", то получится что? Правильно - Специалист или Орион.
_________________ С уважением, Сергей.
|
26 Feb 2024 14:01 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 23357 Location: Silicon Valley
|
Неправильно - Специалист это несколько иной компьютер у которого на этом форуме есть свой раздел! В свою очередь Орион - это попытка облагородить Специалист приделав цвета и натянув на него Радио-монитор И по нему тоже имеется отдельный раздел
|
26 Feb 2024 23:10 |
|
|
fifan
Devil
Joined: 06 Oct 2006 03:17 Posts: 877 Location: г.Лянтор,Сургутского р-на,ХМАО
|
Shaos, как ты чётко сказал!
|
27 Feb 2024 09:48 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 23357 Location: Silicon Valley
|
Слежу за трендами
|
27 Feb 2024 10:01 |
|
|
Alikberov
Doomed
Joined: 14 Oct 2019 18:10 Posts: 345 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
Doomed
Joined: 14 Oct 2019 18:10 Posts: 345 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
Doomed
Joined: 14 Oct 2019 18:10 Posts: 345 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: 23357 Location: Silicon Valley
|
А я пошёл другим путём: - прикручиваем много памяти со страничным доступом (на сегодняшний день это 128К с четырьмя страницами по 32К)
- пишем свой компилирующий бейсик, который сможет этими страницами пользоваться
|
01 Mar 2024 22:05 |
|
|
Alikberov
Doomed
Joined: 14 Oct 2019 18:10 Posts: 345 Location: Tashkent
|
Из набросков памяти темы можно видеть, что переключения целых регионов по 32 Кб тоже страницами предусматривалось в четырёх режимах доступа (инструкции, стек, запись и чтение). Только это получается уже не РАДИО-86РК, а что-то иное новое, требующее разработки узла управления страницами и с поддержкой MOV-префиксов.
|
02 Mar 2024 03:23 |
|
|
imsushka
Senior
Joined: 01 Jan 2022 04:34 Posts: 198 Location: USSR, Tashkent
|
это как рк с цветом. или как рк с другим адресным дешифратором. рк - это то что напечатали в журнале радио в 86 году
|
02 Mar 2024 10:21 |
|
|
Alikberov
Doomed
Joined: 14 Oct 2019 18:10 Posts: 345 Location: Tashkent
|
Кое-как начал делать наброски Монитора с поддержкой памяти в 64 Кб. Можно заметить, значительно расширился набор пользовательских подпрограмм: - F836 - Чтение байта из памяти в режиме БСВВ (аналогично как в Орионе)
- F839 - Запись байта в память в режиме БСВВ (аналогично как в Орионе)
- F83C - резерв (в Орионе - устанавливает позицию курсора)
- F83F - резерв (в Орионе - выдаёт звуковой сигнал)
- F842 - резерв (в Орионе - хранит версию Монитора)
- F845 - Установка точки входа в обработчик ловушки (ошибка ввода/вывода, Escape-код и т.д.)
Идей по опредению назначения трёх резервных точек пока нет. Надо подумать.
|
02 Mar 2024 13:00 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 23357 Location: Silicon Valley
|
А сразу можно озвучить подробности того, как будет "аналогично как в Орионе"? Чтобы два раза не вставать, как говориться
|
02 Mar 2024 13:11 |
|
|
Alikberov
Doomed
Joined: 14 Oct 2019 18:10 Posts: 345 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: 23357 Location: Silicon Valley
|
Мне для доступа к памяти теневых страниц надо будет сделать аналогично
|
02 Mar 2024 13:50 |
|
|
Alikberov
Doomed
Joined: 14 Oct 2019 18:10 Posts: 345 Location: Tashkent
|
У меня чуть проще. Там просто команды «MOV A,M» и «MOV M,A» поставить надо... Т.е. прямо сейчас дамп можно и так сделать: Тогда, после переделки, определённые программы заработают как прежде.
|
02 Mar 2024 13:58 |
|
|