Важная информация

User Tag List

Страница 10 из 14 ПерваяПервая ... 67891011121314 ПоследняяПоследняя
Показано с 91 по 100 из 135

Тема: RK-КНГМД для "Специалиста"

  1. #91
    zx_
    Гость

    По умолчанию

    Pyk, о ! по поводу записи на диск А вовремя поправка ваша , сегодня
    barsik этим был встревожен, дескать эмуль не работает на запись.

    формат опробую завтра

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

  3. #92
    Veteran Аватар для Pyk
    Регистрация
    05.04.2013
    Адрес
    с. Починки, Нижегородская обл.
    Сообщений
    1,165
    Спасибо Благодарностей отдано 
    254
    Спасибо Благодарностей получено 
    428
    Поблагодарили
    175 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zx_ Посмотреть сообщение
    создал пустой файл fsutil file createnew c:\500.rkdisk
    А размер? Вот так должно быть:
    fsutil file createnew c:\500.rkdisk 500000

  4. #93
    Moderator Аватар для fifan
    Регистрация
    30.05.2007
    Адрес
    г. Лянтор, Сургутского р-на, ХМАО
    Сообщений
    4,164
    Спасибо Благодарностей отдано 
    106
    Спасибо Благодарностей получено 
    124
    Поблагодарили
    70 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    По просьбе CodeMaster'а почистил немного тему.

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

    По умолчанию RK-DOS без команд OUT

    Во вложении исходники и коды RK-DOS для СПЕЦИАЛИСТА и РК86 вместе с исходниками и основных внешних команд (т.е SYS-файлов), программы COPY и обработчика BAT-файлов (он почему-то называется COMMAND.COM). Из SYS файлов недостаёт лишь утилит работы с магнитофоном TAPE.SYS и TAPE2.SYS (я их не дизассемблировал в прошлом веке потому, что были не нужны, а сейчас лениво). Если надо, сами дизассемблируйте, это несложно (займёт у опытного полчаса, а у новичка пару часов).

    Все утилиты - это один к одному оригинал (только в начало вставлена проверка на DOS). А сама RK-DOS не оригинал, а чуть-чуть доработанная. Изменения минимальны.

    Оригинал RK-DOS использует команды IN и OUT для доступа к портам. Хотя портов как устройств ввода/вывода (I/O устройств) в РК86 нет как класса, т.к вообще отсутствует системный контроллер ВК28. Используется таинственно свойство КР580 попадать в ОЗУ при использовании команд IN/OUT.

    Этот наглый трюк работает только, если для адресации каждого порта выделена область не менее 400H (1024 дес) ячеек, что не проблема в РК86, где на порты сдуру вообще выделяют по 8 кб. Также этот трюк не работает на процессоре Z80 у которого команды IN/OUT работают иначе. Таким образом с'экономив на командах OUT всего 21 байт, Е.Седов создал проблемы при переносе RK-DOS на более приличные компьютеры, чем РК86.

    На СПЕЦИАЛИСТЕ и ОРИОНЕ принято тратить на порты по 256 байт или менее. Из-за этого оригинал RK-DOS может работать на СПЕЦИАЛИСТЕ только, если выделить для адресации РК-КНГМД целых 2 кб - F000...F7FF.

    Потому, чтобы адресовать РК-КНГМД участком всего в 256 байт, RK-DOS пришлось несложно доработать. Т.к RK-DOS ужата до предела и мне с трудом удалось её уплющить всего на полтора десятка байтов, то пришлось забить драйвер принтера, что позволило выиграть ещё менее 20-ти байтов. Этого выигрыша мне хватило на то, чтобы исправить команду DIR (вывод в 3 столбца) и избавиться, наконец, от мерзких команд OUT.

    Данная, уже неоригинальная, версия RK-DOS теперь может работать как с Z80, так и в компьютерах, где для порта выделено меньше, чем 400H адресов. В реале не проверялась, а версия для РК86 не проверялась даже в эмуляторе, хотя изменения столь незначительны, что вряд ли я занёс ошибку.

    К сожалению, в объёме 4 кб ничего добавить уже нельзя. В 4 кб не хватает всего-лишь сотни свободных байтов, чтобы сделать версию, которая работает без сигнала READY. А это важно, т.к сейчас все используют не флопы 5.25"-DD, где сигнал READY есть, а HD-флопы 3.5" и 5.25", где такой сигнал отсутствует. Но для платы ЭКСПРЕСС есть выход, - загрузка RK-DOS в верхнее ОЗУ.

    Если кому понадобится версия RK-DOS работающая без READY, а также RK-DOS на формат 560 кб на диск, вместо 400, дайте знать. Версия на 560 кб получается заменой нескольких байтов в коде и переделкой форматёра. Но не проверялось даже в эмуляторе, пока нет его версии с настраиваемой частотой кварца.

    Для тех у кого есть дополнительные банки ОЗУ, перенёс с ОРИОНА также версию RK-DOS, в которой диск A: это VDISK, объёмом 62 кб (это при 2-х банках) и кратно больший, если доп.банок больше одной. А диск B: при этом дисковод на 560 кб. Позднее будет и версия RK-DOS для винчестера.

    Обратите внимание, что RKS-файлы будут вводиться с ошибкой контрольной суммы. Это потому, что ассемблер не умеет считать КС странслированного блока. КС надо считать вручную и подставлять в исходник (там написано где). Но т.к файлы в МГ-формате нужны лишь единоразово, чтобы считать их с ленты и затем записать на диск командой SAVE, то нет смысла тратить на это время. Если будет желание, сами подсчитайте контрольные суммы директивой К, подставьте в исходник и странслируйте. Тогда МГ-файлы будут грузиться без ошибки КС. Адреса блока видны из дампа (это первые 4 байта в формате RKS).

    Как ни странно, эмуляторы не поддерживают основной МГ-формат СПЕЦИАЛИСТА с именем, т.е используют формат не орловского, а волковского монитора (RKS надо грузить по R, а файлы с именем грузятся по I). И даже похоже в природе нет виртуального МГ-формата СПЕЦИАЛИСТА с именем, т.е не придумали даже букв для расширений файлов такого формата. Из-за этого, видимо, виденные мной дистирибутивы все в формате RKS.

    Изменив ключ трансляции можно получить 3 версии RK-DOS - для РК86, и две для СПЕЦИАЛИСТА. Одна (на выбор) частично или полностью совместимая с RK-DOS РК86, т.е размещение E000...EFFF, а ячейки управляющие DOS на 7500 (что довольно глупо, т.к на СПЕЦИАЛИСТЕ это посередине ОЗУ). Эта версия позволяет использовать форматёр, ассемблер и тест скорости колеса из дистрибутива RK-DOS для РК86, но даёт TPA всего в 27 кб. Другие дисковые программы от РК86 просто не годятся т.к нагло лезут в экран.

    Потому вообще нет смысла стремиться к совместимости с РК86 по адресам BDOS. Кроме того, за счёт того что в плате ЭКСПРЕСС по адресу E000 включается ОЗУ, то требование, чтобы DOS размещалась именно на E000 перестаёт играть роль. Для получения совместимости достаточно в ОЗУ по адресу E001 поставить JMP на любой адрес, где реально находится RK-DOS. С другой стороны, чтобы не возникло путаницы с программами разумно адрес RK-DOS перенести. Тогда путаницы не будет, т.к все дисковые программы при старте проверяют версию RK-DOS считывая байт AF в начале RK-DOS (в эти SYS-файлы я это уже добавил).

    Т.к загрузчик и монитор занимают C000...CFFF, то нет альтернатив прошивке RK-DOS в адреса D000...DFFF. Если базовая RK-DOS прошита в ПЗУ, то CP/M и другие DOS, а также версии более развитой RK-DOS в 6 кб, могут использовать п/п-ммы чтения/записи сектора в ПЗУ, что сократит объём их кода.

    Итого есть две версии RK-DOS - совместимая с TPA 27 кб и с "высоким" TPA в 35.5 кб. Совместимая версия (т.е полный оригинал), имела смысл только для тех, кто не в состоянии перетранслировать RK-DOS на другие адреса и потому вынужден был использовать оригинал от РК86. Но т.к для программирующих любителей перетрансляция на более выгодные адреса не проблема, то совместимая версия не нужна, тем более, что совместимость, как упомянуто выше, простейшим трюком эмулируется.

    В каталогах есть TSR-компилятор для MSDOS, поэтому на Win XP или в MSDOS достаточно запустить BAT-файлы, а вот в Windows, которые не умеют запускать программы MSDOS, это надо делать через DosBox. На случай, если запуск программ MSDOS проблема, то приложил уже странслированне коды.
    Вложения Вложения
    Последний раз редактировалось barsik; 20.12.2017 в 23:31.

  6. #95
    Guru Аватар для Vladimir_S
    Регистрация
    12.12.2011
    Адрес
    г. Иркутск
    Сообщений
    2,507
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    19 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от barsik Посмотреть сообщение
    А это важно, т.к сейчас все используют не флопы 5.25"-DD, где сигнал READY есть, а HD-флопы 3.5" и 5.25", где такой сигнал отсутствует.
    На SAMSUNG SFD-321B хоть он и 3.5" есть полновесный READY. И этот дисковод не очень редкий. Я их только в своем отделе наснимал 8 штук.
    Цитата Сообщение от barsik Посмотреть сообщение
    Также этот трюк не работает на процессоре Z80 у которого команды IN/OUT работают иначе.
    На РКшке я попробовал твой переделанный ДОС без IN/OUT. нормально работает с Z80. Но я ведь вредный и доработал малость схему (я тебе ее показывал). У меня с Z80 прекрасно работает оригинальный ДОС. И на IN/OUT не тратится ни одной ячейки памяти.

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

    По умолчанию

    Цитата Сообщение от Vladimir_S
    И на IN/OUT не тратится ни одной ячейки памяти
    В системах, где есть реальные I/O устройства, т.е есть системный контроллер при КР580 или стоит CPU Z80 или 8085, можно работать и командами IN/OUT используя оригинал RK-DOS и тратить всего 5 адресов на адресацию РК-КНГМД. Но в данном случае задача минимизировать, а точнее вообще исключить доп.аппаратные доработки за счёт программного решения. Программное решение всегда выгоднее и проще.

    Но я вообще не вижу смысла цепляться за оригинал. Хотя бы потому, что дисковод 3.5" прекрасно даёт с РК-КНГМД 640 кб на диск вместо 400. Дисковод и РК-КНГМД могут и больше, но сама RK-DOS не может (всего 8 битов в байте, что даёт максимум 8 секторов на трек). Это ограничения сделал Е.Седов, в оригинале Apple-DOS формат допускает 32 сектора на трек. Потому мне пришлось писать свою реализацию Apple-DOS (понятно не конверсия, а написано с нуля), где нет таких ограничений. Хотел сделать подкаталоги, но не стал. Для флопа это не так уж необходимо. А вот для винта это уже желательно. С подкаталогами не буду связываться (это сложнее), а вот юзеры как в CP/M и даты у файлов вводятся в RK-DOS буквально за 10 минут труда. Сделаю это позднее.

    RK-DOS в силу малого размера идеально подходит для базового СПЕЦИАЛИСТА. В то время как CP/M почти бессмысленна из-за нехватки ОЗУ, т.к фирменные программы, в т.числе и компиляторы из-за этого не работают. Т.е на СПЕЦИАЛИСТЕ без доп.ОЗУ от CP/M используется лишь файловая система, причём и TPA меньшее, чем у RK-DOS. Потому без расширения ОЗУ RK-DOS несмотря на все её недостатки и дурной интерфейс программиста, имеет смысл для СПЕЦИАЛИСТА.

    Vladimir_S, сделайте эксперимент. Замените кварц в РК-КНГМД с 8-ми МГЦ на 10, затем на 12, 14 МГЦ и т.д. И с каждым кварцем форматируйте дискету. Делаете так. Загружаёте форматёр с дискеты (понятно с родным кварцем в 8 МГЦ). Затем меняете кварц на другой, вставляете чистую дискету и нажимаете на пробел, чтобы начался формат. Узнайте с каким кварцем начнутся появления дохлых секторов. На хорошем дисководе это случается при кварце более 18 МГЦ, хотя для этого надо иметь такт Z80 повыше. Но для кварца 16.5 МГЦ клока Z80 в 2.5 МГЦ хватает. А скорости 2-х мегагерцового СПЕЦИАЛИСТА хватит на формат 640 кб на диск.
    Последний раз редактировалось barsik; 20.12.2017 в 14:14.

  8. #97
    Guru Аватар для Vladimir_S
    Регистрация
    12.12.2011
    Адрес
    г. Иркутск
    Сообщений
    2,507
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    19 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  9. #98
    zx_
    Гость

    По умолчанию

    Цитата Сообщение от barsik Посмотреть сообщение
    Это ограничения сделал Е.Седов, в оригинале Apple-DOS формат допускает 32 сектора на трек. Потому мне пришлось писать свою реализацию Apple-DOS (понятно не конверсия, а написано с нуля), где нет таких ограничений.
    Пора переименовать RK-DOS в SP DOS II
    к примеру

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

    По умолчанию

    SP-DOS это зарегистрированная (в ж.РАДИО 12.1992) торговая марка makbar-а. Для начала надо добиться работы RK-DOS. Пока она и CP/M это единственные DOS пригодные для КР580.

    - - - Добавлено - - -

    ... для СПЕЦИАЛИСТА на КР580, а не вообще в мире. Имеются ввиду DOS, что реально доступны для использования, т.е такие, чьи исходники или хотя бы коды имеются в наличии.
    Последний раз редактировалось barsik; 21.12.2017 в 23:52.

  11. #100
    Member Аватар для makbar
    Регистрация
    04.06.2016
    Адрес
    г. Ярославль
    Сообщений
    100
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от barsik Посмотреть сообщение
    SP-DOS это зарегистрированная (в ж.РАДИО 12.1992) торговая марка makbar-а. Для начала надо добиться работы RK-DOS. Пока она и CP/M это единственные DOS пригодные для КР580.
    ))
    Разработчик КНГМД для Специалиста и Ориона128, автор SPDOS (журнал "Радио" 12/1992, 1-2/1993). Манускрипт, датированный 1993-94гг: Отладка контроллера SPDOS SPDOS v4.3

Страница 10 из 14 ПерваяПервая ... 67891011121314 ПоследняяПоследняя

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

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

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

Похожие темы

  1. PS/2 адаптер клавиатуры для Специалиста
    от fifan в разделе Специалист
    Ответов: 230
    Последнее: 27.07.2023, 10:03
  2. Ответов: 153
    Последнее: 16.12.2021, 19:07
  3. OriNET для Специалиста ?
    от SYR-ALEX в разделе Специалист
    Ответов: 22
    Последнее: 21.07.2017, 07:40
  4. Есть 3 кассеты для Специалиста...
    от Bolt в разделе Специалист
    Ответов: 60
    Последнее: 27.10.2013, 14:24
  5. Изучается спрос на плату для Специалиста
    от Павел Рябцов в разделе Барахолка (архив)
    Ответов: 109
    Последнее: 30.11.2010, 10:16

Ваши права

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