User Tag List

Страница 28 из 32 ПерваяПервая ... 242526272829303132 ПоследняяПоследняя
Показано с 271 по 280 из 311

Тема: РАДИО-86РК на Z80

  1. #271

    Регистрация
    05.10.2016
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,080
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vldimir_S
    Завтра... начну паять упрощенный РК. Без цвета, без порта D14 и только на Z80. Цель - подружить Z80 (со стандартной архитектурой РК86) с RK-DOS Е.Седова
    Отличная идея. Для безпроблемности с RK-DOS при Z80, да и для личного комфорта пользователя при пользовании ДОС, надо предусмотреть возможность иметь в системе (для нужд RK-DOS и не только) ПЗУ большее, чем 4 кб. Т.к никто не хочет понять, что в РК86 полезно расширение ПЗУ, попробую понятно объяснить почему это необходимо.

    Так как 4 кб, это слишком мало для ДОС, на чём Е.Седов и "погорел". Он вынужден был извращаться по страшной силе, чтобы уместить в 4 кб хотя бы ядро системы и минимальное CCP с командами загрузки и запуска. А все остальные, очень необходимые при работе пользователя команды, ему пришлось делать внешними SYS-файлами, что неудобно и заставляет загромождать все диски SYS-файлами (тогда как юзеров, чтобы их там спрятать тоже нет). Из-за этих же ужасных ограничений объёма ПЗУ даже обработку BAT-файлов пришлось вынести в отдельный внешний файл COMMAND.COM. Хотя, очевидно изначально COMMAND.COM должен был играть роль обычного CCP оформленного в виде внешнего файла, как и сделано в развитых ДОС (CP/M, MSX, MSDOS). Поэтому из-за предельной "уплющенности" кода и немыслимо расширять или даже как-то минимально изменять RK-DOS V2.95, в частности для Z80.

    А при Z80 приходится избавляться от извращений, возможных только при КР580 (а также эмуляции READY из сигнала INDEX, т.к дисководы 3.5" и HD-5.25" не имеют сигнала READY), отчего объём кода разбухает на килобайт и уже не влезает в 4 кб. А из функционала из кода RK-DOS можно выкинуть только вывод на принтер (~15 байтов) и команду TYPE (~20 байтов). Даже, если изуродовать ДОС и выкинуть обработку BAT-файлов и стартового AUTOEXEC это позволяет выиграть всего лишь ~50 байтов.

    Поэтому при Z80 бессмысленно связываться с RK-DOS не предусмотрев расширение ПЗУ, хотя-бы на 2 кб. Это можно сделать кучей способов.

    Во-первых можно, оставив ПЗУ 4 кб на плате РК-КНГМД, где-то, как-то установить на основной плате РК86 еще 2 кб. Например, напаяв на ПЗУ РФ2 с ROM-BIOS-ом вторую РФ2, включаемую каким-либо битом порта С D14 (порт C в ППА позволяет побитовое управление, поэтому наиболее подходит для управления конфигурацией). Так что D14 вообще-то убирать нежелательно, т.к это не даст выигрыша. Если понаставить кучу регистров для управления режимами, то это потребует, во-первых, организации дополнительных чип-селектов на запись, а во-вторых, куча сильно-токовых входов регистров 155-той серии сильно перегрузит шину (что уже не потянут CPU, ОЗУ и ППА). А D14 даёт 24 управляющих железом сигнала. Например, один из её разрядов при Z80 можно отдать на звук, (т.к делать громоздкую ловушку на команды DI/EI не смешно).

    Впрочем, если наплевать на пользователей с клавиатурой MS-7007, то можно звук выводить на свободных разрядах порта C клавиатуры. Хотя ещё лучше звук выводить через D-триггер, т.к это сокращает код и избавляет от необходимости добиваться правильного меандра (скважности 2), что нужен для получения синусоиды путём установки на выходе звука НЧ фильтра (цепочка RC или LC).

    В таком варианте расширения ПЗУ (когда 2 страницы ПЗУ в окне F800...FFFF) во вторую страницу разумно, как и принято во всех ROM-BIOS прошить три подпрограммы - чтение/запись сектора и формат трека. А в RK-DOS в соответствующих местах оставить только CALL на ROM-BIOS. Тогда код дискетных подпрограмм можно произвольно менять, настраивая на конкретное железо (флоп, винт, micro-SD или эл.диск из излишнего ОЗУ), не изменяя сам код RK-DOS, находящийся в ПЗУ на плате РК-КНГМД. Это грамотный вариант.

    Во-втором варианте расширения ПЗУ под нужды RK-DOS, можно пользуясь очень расточительным расходованием области памяти 8000...FFFF на порты (по 8К на порт), организовать "дыры" в этом адресном пространстве размером в 2...6 кб и "воткнуть" там дополнительное ПЗУ, которое можно использовать, как для расширения ROM-BIOS (для вставки туда дискетных подпрограмм), так и для размещения там части кода RK-DOS, что не влезает в 4 кб ПЗУ на плате РК-КНГМД. Такой вариант технически "некрасив", но сработает. В таком варианте сделать RK-DOS одним массивом (D800...EFFF) не получится, т.к у МИКРОШИ на D800 стоит ВИ53.

    В-третьем варианте расширения ПЗУ под нужды RK-DOS вводится страничность в той же области E000...EFFF, что уже истрачена на RK-DOS. Тогда каким-либо образом в этом окне прокачиваются две (или более) страниц ПЗУ размером в 4 кб каждая. Конструктивно и аппаратно это делается так. Из платки РК-КНГМД от МИКРОШИ удаляются две ПЗУ РФ2 напаянные в 2 этажа. А на основной плате РК86, около разъёма ГРПМ-61, там где есть некое подобие слепыша из 3-х рядов дырок, монтируют панельку на 28 ног, куда втыкают ПЗУ 27256. Эта ПЗУ выбирается чип-селектом E000, а на адреса A12, A13, A14 заводятся выходы доп.ППА D14 (например разряды PA0, PA1, PA2), что и обеспечивает работу многостраничного ПЗУ в стандартном окне RK-DOS и проще всего по объёму трудозатрат. Этот вариант наиболее предпочтителен, т.к даёт больше всего возможностей по хранению резидентного ПО и одновременно не меняет базовой архитектуры. Если расширить ПЗУ до 8К на плате РК-КНГМД, то ПЗУ теряется при удалении РК-КНГМД, а ПЗУ на основной плате остаётся даже если нет РК-КНГМД.

    Поясню почему надо расширять RK-DOS.

    Во-первых, RK-DOS сделана для работы с одним жёстко фиксированным дискетным форматом, а именно 5 секторов на трек при 160-ти треках. Тогда как есть дисководы на 35 треков, есть на 40 треков, а на винчестере и micro-SD для увеличения диска удобно организовывать 255 треков (максимально возможный размер диска RK-DOS достигается при 8 секторах и 255 треках, всего 1020 кб). Кроме того, даже обычный отечественный НГМД типа 5311 лучше работает в формате 7 секторов на трек при 166 треках, что даёт 581 кб на диск вместо 400 кб. Так как в начале первого сектора каталога специально зарезервировано 7 байтов, то сюда можно записывать БПД диска, сохранив совместимость по дискетам (если эти 7 байт нули, как на старых дискетах, значит это базовый формат 400К).

    Во всех грамотных ДОС используется автоматическая настройка на формат диска. Для этого БПД считывается в процедуре настройки на формат (что входит в функцию SEL DSK). Считав БПД, ДОС автоматически, незаметно для пользователя, перенастраивается на работу с конкретным форматом дискеты. Таким образом можно, не меняя код самой ДОС, работать с дисками любого формата. Также это необходимо, когда в системе несколько приводов разного типа, флоп и эл.диск или винт и флоп. Для работы с каждым из них ДОС должна перенастраиваться. Чтобы ввести всеядность по форматам приводов, требуются дополнительное место в ПЗУ размером в 300-500 байт.

    Большое нудобство в RK-DOS это отсутствие подкаталогов или хотя-бы юзеров. С подкаталогами туго, а вот юзеры ввести несложно, но для этого надо иметь в ПЗУ лишние 500 байт.

    Ещё одним недостатком RK-DOS является извращённый программный интерфейс, где не только надо извращаться со стеком, но и работать напрямую с ячейками ОЗУ. Можно, при сохранении совместимости, ввести в RK-DOS нормальный программный интерфейс, например, набор функций как в CP/M, что не только позволит легкую переделку CP/M-программ, но главное облегчит работу программиста и существенно расширит ДОС. Сейчас фактически проще работать с диском подпрограммами низкого уровня (чтение/запись сектора), чем пользоваться функциями RK-DOS. Для такой доработки надо ещё 2-3 кб, отчего общий объём достигнет 10-11 кб. Такую доработку я не планирую, но это вполне возможно сделать.

    Далее, чтобы избавиться от дурацких SYS-файлов, надо все внешние команды встроить в код ДОС. Тогда не надо будет на всех дисках хранить SYS-файлы, а все функции сохранятся. Я уже встроил несколько SYS-команд в код RK-DOS (в варианте для эл.диска, что умещается в 4К). Я встраивал код для работы в ПЗУ, т.е не сам извращённый код SYS-файлов. Но для простоты достаточно и тупого встраивания в ПЗУ кода самих SYS-файлов без модификаций. Тогда по вызову команды, код SYS-файла кидается в ОЗУ и стартует, что равнозначно старту SYS-файла с дискеты. Такая доработка RK-DOS занимает 20 минут и доступна любому пионеру лишь вчера узнавшему мнемонки КР580.

    Сложность переноса SYS-файлов в ПЗУ в том, что там используется извращённый метод программирования, позволяющий даже при КР580 иметь перемещаемый код (переходы через стек). Но чтобы разобраться в такой программе и получить нормальный код, работоспособный в ПЗУ, надо долго и упорно считать числа байтов команд и вычислять адреса переходов. Поэтому проще написать свой эквивалент, чем разбираться в извращённом программировании. Поэтому DEL и REN я переписал, а остальные SYS-команды включил в код ДОС в оригинальном виде. От того объём кода разбух до полных 8-ми килобайт.
    Последний раз редактировалось barsik; 02.06.2017 в 02:38.

  2. #271
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #272

    Регистрация
    12.12.2011
    Адрес
    г. Иркутск
    Сообщений
    2,509
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    22
    Поблагодарили
    20 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от barsik Посмотреть сообщение
    Т.к никто не хочет понять, что в РК86 полезно расширение ПЗУ
    Странное утверждение, если учесть, что сам вчера критиковал конфигурацию в РЕ3, которая существенно расширяет область ПЗУ.

  4. #273

    Регистрация
    14.05.2013
    Адрес
    г. Москва
    Сообщений
    264
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    14
    Поблагодарили
    5 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Подобные "проблемы" ДОС решаются увеличением не ПЗУ, а ОЗУ. В той же Микроше для этого уже все готово. Даже отдельный модуль ОЗУ был. Объединить два модуля в один и всех делов то. С РК сложнее, хотя есть вариант на 60Кб, но у людей другие цели.

  5. #274

    Регистрация
    05.10.2016
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,080
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vladimir_S
    критиковал констукцию с использованием РЕ3, которая существенно расширяет область ПЗУ
    Речь же о базовом РК86, а не об единичных образцах с использованием РЕ3 и размещением кусочков доп.ОЗУ и доп.ПЗУ в неиспользованных "дырках" памяти базовой архитектуры. Т.е именно о таком расширении ПЗУ, что каждый владелец РК86 может сделать просто и быстро с минимальными трудозатратами и расходом деталей всего-лишь в одно ПЗУ 27256 и панельку для него. А возня с прошивкой РЕ3 не является приемлемой минимальной доработкой. Конечно RK-DOS несложно перетранслировать для любого варианта, лишь бы само ПЗУ было физически.

    Мыслим даже такой хитроумный вариант. Оставляем для RK-DOS только его базовые 4 кб на плате РК-КНГМД. А из доп.ПЗУ в окне A000...AFFF на основной плате организуем привод, например размером в 32 кб. На этом ROM-приводе RK-DOS размещаем все известные SYS-файлы, а также часто используемые программы (Нортон, диск-доктор, редактор, ассемблер, загрузчик с проводной линии из IBM PC). А CCP дорабатываем так, как будто в системе задана PATH, т.е если при получении команды на текущем диске нет файла с таким именем, то ищется файл на резидентном ROM-приводе RK-DOS.

    Такой вариант кажется очень выгодным, если нет внешнего массового привода, а есть только небольшой эл.диск из излишнего ОЗУ, который гибнет при выключении питания. Очень заманчивая и очень простая в реализации концепция. А если довести эту идею до предела и сделать резидентный ROM-привод RK-DOS размером в 512К или даже 1020 кб, то туда можно прошить все программы РК86, которые представляют хоть какой-то интерес. Вариант с гигантским ROM-приводом удобнее, т.к тогда каждый пользователь может сам выбирать состав файлов. Только не надо это сравнивать с стандартным ROM-диском РК86, это совсем другое. Тем более, что в отличие от ОРИОНА, у РК86 нет даже ДОС для поддержки файлов в таком внешнем ROM-диске, читаемом через ППА и нет единого стандарта прошивки файлов в ROM-диск, если не считать статью об этом в РАДИО за 1990.

    Цитата Сообщение от uart
    Подобные "проблемы" ДОС решаются увеличением не ПЗУ, а ОЗУ
    Ну и как же расширение ОЗУ поможет улучшить РК-DOS ? В четырех килобайтах ПЗУ на плате РК-КНГМД от этого не прибавится места, необходимого при переделке RK-DOS на Z80.

    Если имеется ввиду использование RK-DOS загружаемой в добавленное доп.ОЗУ (где-то в области выше 8000), то несмешно всякий раз при включении ЭВМ по полчаса грузить ДОС с магнитофона (даже если он цифровой). А если разместить ДОС работающую из ОЗУ в каком-либо ПЗУ (например в ROM-диске), то чем это лучше, только трудов больше (введение доп.ОЗУ и доп.ПЗУ) и болтающийся на косе внешний ROM-диск постоянно будет падать и коротить всё на основной плате.
    Последний раз редактировалось barsik; 01.06.2017 в 23:40.

  6. #275

    Регистрация
    14.05.2013
    Адрес
    г. Москва
    Сообщений
    264
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    14
    Поблагодарили
    5 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от barsik Посмотреть сообщение
    несмешно всякий раз при включении ЭВМ по полчаса грузить ДОС с магнитофона (даже если он цифровой). А если разместить ДОС работающую из ОЗУ в каком-либо ПЗУ (например в ROM-диске), то чем это лучше, только трудов больше (введение доп.ОЗУ и доп.ПЗУ) и болтающийся на косе внешний ROM-диск постоянно будет падать и коротить всё на основной плате.
    Вообще я имел в виду, что ДОС должна загружаться диска загрузка, как и CP/M.

  7. #276

    Регистрация
    05.10.2016
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,080
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от uart
    Вообще я имел в виду, что ДОС должна загружаться с дискеты холодным загрузчиком, как CP/M и MSDOS
    Понятно, но речь-то не о CP/M, а о RK-DOS. Во-первых, в RK-DOS не предосмотрено системных треков. Во-вторых, RK-DOS жёстко привязана как к адресам самого кода в ПЗУ (вход в BDOS E001), так и к управляющим ячейкам в области 7600. Поэтому для неё расширение ОЗУ ничего не даёт, а разместив код РК-ДОС в ОЗУ в адресах E000...EFFF, Вы всё-равно имеете те же самые лишь 4 килобайта, т.к за F000 расшириться нельзя, т.к на F000 стоит РК-КНГМД. Потому для RK-DOS разумной альтернативы двухстраничному ПЗУ 8К в области E000...EFFF просто нет. Ведь введение двух страниц ОЗУ в области E000...EFFF это куча лишних корпусов и море проблем. Кроме того, не надо забывать, что не у всех владельцев РК86 ОЗУ выполнено на РУ5, а есть владельцы собравшие РК86 из наборов Электроника-01-04, где ОЗУ выполнено на 565РУ6 и его не расширить кусочком проволоки.

    Кроме того, мне интересен как раз вариант, где нет дисковода, а есть эл.диск из ОЗУ и программа трансфера из IBM PC для его загрузки. А вариант с загрузкой кода ДОС с дискеты я применял в 1994, но для CP/M, т.к она слишком здоровая, чтобы её хранить в ПЗУ. Я сначала имел CP/M 28К, затем переделал в CP/M 56К. Первый вариант бессмысленен в силу мизерности размера TPA, даже из игр РК можно хранить на дисках CP/M только самые маленькие, а все программы CP/M вообще не работают. А при втором варианте мы зараз теряем вообще всё программное обеспечение РК86. Так что в итоге, с удручённым видом пришлось вернуться к базовой архитектуре и RK-DOS.
    Вложения Вложения
    Последний раз редактировалось barsik; 01.06.2017 в 23:33.

  8. #277

    Регистрация
    13.12.2007
    Адрес
    Архангельск
    Сообщений
    2,189
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    13
    Поблагодарили
    13 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    barsik, если человек знал, как работает 86РК, то к концу твоего поста , я уверен, уже забыл или так "если мы не знали откуда пришли, то теперь не знаем,куда мы идем" (c)
    Ты слыхал как грузится Flyshark ?! нет, совсем не тот, что на дискете...а Flyshark, тот самый блин Flyshark...тот ,что был когда то на кассете...
    zx spectrum 48 issuse 6a, Ленинград-1, zx spectum 128 +2 grey,Пентагон-128, ZXM-Phoenix 5.02 ( assembly)

  9. #278

    Регистрация
    05.10.2016
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,080
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Totem
    теперь не знаем, куда мы идем
    Извиняюсь, и прошу без обид, но Ваш пост совершенно лишён смысла. Информации ноль. Написали бы просто "Я ничего не понял, т.к и не старался понять, потому что сама тема меня не интересует".

    Я всегда ясно и чётко излагаю свои мысли и это понятно любому, кто в теме и кого это интересует. А тем, кого это не интересует, не надо читать, чтобы после жаловаться "Слишком много букаф". А о том, как работает РК86 никто точно не знает, да и зачем? И лучше идти хоть куда-то, чем никуда.

    Я понимаю, что фанаты ZX-Spectrum просто завидуют фанатам РК86. Ведь в то время как для ZX-Spectrum никакие простейшие доработки малокомпетентными аппаратчиками невозможны и не нужны, предельное несовершенство РК86 даёт простор для творчества, как для любого даже малоопытного аппаратчика, так и для программиста-любителя. Недостатки РК86 это его достоинства.
    Последний раз редактировалось barsik; 02.06.2017 в 00:34.

  10. #279

    Регистрация
    13.12.2007
    Адрес
    Архангельск
    Сообщений
    2,189
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    13
    Поблагодарили
    13 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от barsik Посмотреть сообщение
    Извиняюсь, и прошу без обид, но Ваш пост совершенно лишён смысла. Информации ноль. Написали бы просто "Я ничего не понял, т.к и не старался понять, потому что сама тема меня не интересует".

    Я всегда ясно и чётко излагаю свои мысли и это понятно любому, кто в теме и кого это интересует. А тем, кого это не интересует, не надо читать, чтобы после жаловаться "Слишком много букаф". А о том, как работает РК86 никто точно не знает, да и зачем? И лучше идти хоть куда-то, чем никуда.
    Пытаюсь добиться, хоть одной осмысленной схемы, которую можно воплотить в железо, а не тысячу вариантов. Удачи.
    Ты слыхал как грузится Flyshark ?! нет, совсем не тот, что на дискете...а Flyshark, тот самый блин Flyshark...тот ,что был когда то на кассете...
    zx spectrum 48 issuse 6a, Ленинград-1, zx spectum 128 +2 grey,Пентагон-128, ZXM-Phoenix 5.02 ( assembly)

  11. #280

    Регистрация
    14.05.2013
    Адрес
    г. Москва
    Сообщений
    264
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    14
    Поблагодарили
    5 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от barsik Посмотреть сообщение
    RK-DOS жёстко привязана как к адресам самого кода в ПЗУ (вход в BDOS E001), так и к управляющим ячейкам в области 7600
    Жестко это как? Под нее сотни дискет софта? Или все же можно за пару дней, даже без использования дизассемблера, поменять адреса во всех существующих утилитах?

    мы зараз теряем вообще всё программное обеспечение РК86
    По такой логике надо было на машинках с 16К оставаться, для совместимости. Проблема надумана.

Страница 28 из 32 ПерваяПервая ... 242526272829303132 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Радио-86РК: Видеовыход
    от m.d. в разделе Радио-86РК
    Ответов: 13
    Последнее: 21.05.2015, 08:19
  2. Радио-86РК: По страницам журнала "Радио"
    от Viktor2312 в разделе Радио-86РК
    Ответов: 79
    Последнее: 13.02.2014, 08:34
  3. эмулятор радио-86рк
    от sergey2b в разделе Эмуляторы отечественных компьютеров
    Ответов: 4
    Последнее: 09.06.2011, 15:59
  4. Радио 86РК
    от Shnurkov в разделе Барахолка (архив)
    Ответов: 1
    Последнее: 02.01.2009, 12:52

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •