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

User Tag List

Страница 24 из 32 ПерваяПервая ... 202122232425262728 ... ПоследняяПоследняя
Показано с 231 по 240 из 311

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

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

    По умолчанию

    Мужики, прошу помощи. С Z80 контроллер FDD вообще не реагирует при запуске, что и понятно. Я родил схемку альтернативной дешифрации портов под Z80. Сейчас контроллер стартует, голова бегает и вроде как что то читает. Но пишет IN/OUT ERROR. Вот чувствую что дело не в схемотехнике, а в софте. Может копал кто и находил нестыковку софта с Z80?
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	ADR.jpg 
Просмотров:	137 
Размер:	19.5 Кб 
ID:	59534  

  2. #232
    Activist
    Регистрация
    14.05.2013
    Адрес
    г. Москва
    Сообщений
    254
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    6
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Vladimir_S, а прошивка РКДОС адаптирована под Z80?

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

    По умолчанию

    Цитата Сообщение от uart Посмотреть сообщение
    а прошивка РКДОС адаптирована под Z80?
    У меня на РКшке два процессора и мне нужно прошивку изменить так, что бы она работала и с Z80 и с ВМ85. Пока прошивка оригинальная.

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

    По умолчанию

    Цитата Сообщение от Vladimir_S
    Вот схема ADR.JPG
    Посмотрел схему ADR.JPG. Сначала увидел /IORQ и решил, что Вы эксклюзивно включили РК-КНГМД в область В/У, т.е с ним можно работать ТОЛЬКО командами IN/OUT? Но RK-DOS и программы для неё работают командами LD, т.к в реальности РК-КНГМД включён в области памяти, а не в области В/У. Если так сделать, то придётся корректировать все программы, в том числе и RK-DOS. Причём эта коррекция очень сложна. Как заменить конструкцию вида LD A,(HL), где HL меняется по INC или ещё как-то. Сделать так, было бы "самовредительством". Т.к команды OUT Е.Седов применил лишь в тех местах, где идёт прямая адресация. Но в основном RK-DOS работает с РК-КНМД с помощью команда LD A,(HL) и LD (HL),A. К тому же Е.Седов использует некорректную команду INC (HL), когда HL указывает в ППА. Это единственная в мире попытка инкрементировать порт. ППА для этого не предназначен. Он нуждается в паузе между двумя командами записи в него (порядка 1 МКСЕК), оттого этот трюк работает только на скорости 1.77 МГЦ.

    Однако в итоге, заметил, что выходы дешифратора портов объединяются на ЛИ1 с какими то сигналами. Предположительно, выборками портов в памяти. Такая конструкция должна работать.

    Vladimir_S и Pyk. Вот пожалуйста. Самая близкая к оригиналу версия RK-DOS для Z80. Содержит полностью идентичный оригиналу код, за исключением того, что команды IN/OUT заменены на LD. Эта версия просто обязана работать. Если работает версия для КР580, то точно будет работать и эта версия.

    NB: Если у Вас порт доп.ППА (D14) стоит не на F100, то Вам надо корректировать адрес порта на реальный. Иначе, если дешифратора нет, то адрес F100 эквивалентен адресу F000, где стоит ППА платы РК-КНГМД. А так как при старте ДОС эти порты программируются по разному, то в этом случае порт РК-КНГМД окажется запрограммированным, как порт принтера, и естественно RK-DOS работать не будет. В этой версии, я на всякий случай изменил адрес доп.ППА на оригинальный A000 и тем самым при работе RK-DOS ОЗУ по этому адресу будет портиться (поэтому не транслируйте RKDOS в этот адрес). Это справедливо для моих версий RK-DOS, версия Е.Седова вообще не инициализирует порт принтера (считая, что он уже инициализирован при старте монитора).

    Здесь, чтобы выиграть 25 байтов, мне пришлось забить вывод на принтер. Теперь при печати на принтер вывод пойдёт на экран. Эта версия будет работать и при Z80 и при КР580.

    Но! Сигнал READY здесь, как и в оригинале должен быть аппаратным. В крайнем случае закоротите READY на землю. Если будут сбои из-за медленной раскрутки, то и сигнал START закоротите на землю. Тогда колесо будет всегда вращаться, поэтому на сигнал START лучше поставить тумблер и отключать вращение колеса при ненадобности. Такая проблема возможна на старом DD-дисководе 5.25". Дисководы 3.5" и HD-5.25" (включённые перемычками в режим DD, чтобы скорость колеса была 300 об/мин) разгоняются быстро и т.к делается 10 попыток чтения перед признанием сектора дохлым, то на них всё работает.

    Цитата Сообщение от Pyk
    почему-то при выводе списка файлов не происходит возврат каретки и перевод строки
    Относительно версий RK-DOS для Z80 полученных из версий ОРИОНА и выложенных 3 дня назад, в которых у Вас не работала команда DIR. Я визуально просмотрел текст команды DIR и глюков не обнаружил. Зато обнаружил, что в исходнике файла с именем RKDOS сохранён оригинальный код DIR, выводящий в одну колонку. Чтобы получить версию с "родным" DIR, достаточно откомментировать оригинальный DIR и закомментировать DIR, что выводит файлы в 3 колонки. Чтобы проверить процедуру DIR я взял и целиком подставил её в версию RK-DOS работающую в моём эмуляторе РК86 на ОРИОНЕ. Там процедура чтения/записи сектора работает не с РК-КНГМД, а с ОЗУ ОРИОНА, но для DIR это без разницы. И всё работало. Так что в команде DIR ошибок нет.

    При выводе DIR имена файлов выводятся на консоль, а возврат каретки выводится подпрограммой OUT_13, которая выводит код 13 в канал (т.е вызывается подпрограмма, адрес которой в векторе канала на вывод). Вывод кода 13 (что собственно перевод строки) в РК86 автоматически как бы дополняется кодом 10 (что и есть перевод строки), т.е производится переход на другую строку. Это идиотское свойство, которого нет в других компьютерах (для перехода в начало следующей строки там надо выводить на консоль и код ВК и код ПС). Чтобы проверить, что неверно инициализирован канал вывода, замените 'CALL OUT_13' на 'LD C,13 : CALL 0F809H' (только в процедуре DIR ) и посмотрите не будет ли выводиться возврат каретки в команде DIR. Впрочем, я это тоже сделал для Вас.

    Прилагаю те же самые версии RK-DOS, но в них введена условная трансляция по ключу
    DIRORG. Если этот флаг не нулевой, то транслируется полностью оригинальный DIR, иначе
    DIR с выводом в 3 колонки.

    Ключ NO_KAN заменяет в командах DIR вывод кода 13 в канал вывода - на вывод кода 13 на MCOUT (F809).
    Вложения Вложения
    Последний раз редактировалось barsik; 28.01.2017 в 04:10.

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

    По умолчанию

    barsik, Завтра попробую.

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

    Хотя теперь со схемой дешифрации портов IN/OUT в формате Z80 работает.

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

    Цитата Сообщение от barsik Посмотреть сообщение
    Но! Сигнал READY здесь, как и в оригинале должен быть аппаратным.
    У меня несколько 3.5 дисководов с полноценным сигналом READY.

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

    Цитата Сообщение от barsik Посмотреть сообщение
    Вы что же включили РК-КНГМД в область В/У, т.е с ним можно работать ТОЛЬКО командами IN/OUT?
    По схеме ведь видно, что по команде IN/OUT сигналом IORQ подключаются порты С(х), Е(х), и F(х). В остальное время через элементы 2И дешифрация стандартная. Т.е. например к ВГ75 можно обратится и OUT С8 и по адресу С008. И кстати, если бы обращение было ТОЛЬКО по IN/OUT, то комп бы вообще не работал в мониторе.

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

    barsik, не работает и с Z80 и ВМ85.
    Последний раз редактировалось Vladimir_S; 25.01.2017 в 18:03.

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

    По умолчанию

    Цитата Сообщение от Vladimir_S
    RK-DOS, где лишь только команды OUT заменены на LD не работает ни с Z80 ни с с 8085.
    Печально и удивительно.

    Но очень плохо, что Вы не даёте подробной информации, о том, что и как. Какое поведение? Что-то же должно работать. Ну хотябы-бы колесо-то стартует? Готовка отползает на 32-тый трек (где каталог)? Я почти уверен, что не посадил ляпов при замене OUT на LD. Хотя про тот листинг, что был взят за исходник, ничего сказать не могу. Он "пришёл" из глубины веков... из 1993-94. Да и при хранении на древних носителях могло что-то произойти (после крушения винта в 2000, мне пришлось все файлы переносить на PC заново с древних носителей, и естественно, я уже не помнил как какие-то файлы получены, потому переносил, всё подряд, оттого так много дублирующих файлов). Оттого в моём архиве полно версий RK-DOS и в некоторых даже написано "Полный оригинал".

    Замена кодов OUT отнимает 5 минут (перестановкой строк из версии, где это уже сделано). Так что я сейчас повторю замену кодов OUT с другим исходником RK-DOS и выложу, через час. Но чтобы уже и "комар не подкопался", то предварительно проверю исходный текст на полную идентичность с оригиналом. Точнее, нет. Я просто в эту версию введу условную трансляцию с ключом W_OUT (with OUT), т.е смогу реверсировать замену команд OUT, и получить, якобы, оригинал и полученный объектный код сверю с оригиналом Е.Седова.

    А вообще-то в таких случаях надо писать специальный тест, где работоспособнать проверяется по пунктам. Тогда можно точно выяснить, что конкретно не работает. Это тоже несложно, если все подпрограммы работающие с железом есть по отдельности. А у меня как-ра это есть, т.к пришлось это сделать, когда делал CP/M на безе РК-КНГМД для ОРИОНА. Тогда тест не понадобился, т.к железо было отлажено ещё на РК86, а CP/M заработала сразу.

    Но на написание теста надо уже потратить пару часов. Надеюсь обойдется без этого, т.к написать новую программу без возможности её проверки, чревато ошибками.

    В какое ОЗУ Вы транслировали этот исходник. Я там поставил 6000, исходя из того, что Вы не будете использовать AUTOEXEC, т.к при открытии каждого файла уровень RAMTOP снижается, кажется, на 512+160 байтов. Попробуйте странслировать в другие адреса - на 5000, на 9000.
    Последний раз редактировалось barsik; 21.02.2017 в 11:18.

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

    По умолчанию

    Цитата Сообщение от barsik Посмотреть сообщение
    Но очень плохо, что Вы не даёте подробной информации, о том, что и как.
    Оригинальная прошивка DOS с процессором ВМ85 уже не первый год работает без единого сбоя. С Z80 вроде как стартует, головка перемещается, движок крутит и светодиод загорается. Потом все останавливается и пишет I/O ERROR и выводится промт А> и на любую (даже безсмысленную) команду все повторяется как при старте. В прошивке с замененными IN/OUT то же самое уже с любым процессором.

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

    По умолчанию

    Сделал реверсирование выложенного ранее исходника, т.е включил условную трансляцию с ключом W_OUT (with OUT). Теперь, если этот ключ поставить не 0, то транслируется версия с командами IN/OUT, т.е, якобы, полный оригинал.

    И странслировал чтобы получить оригинал и сравнил с дампом полного оригинала, полученного в 1993 из МП "Лианозово". Оказалось, есть небольшие несовпадения в 3-х местах. Поэтому пришлось с этим разбираться, отчего и ушло больше времени, чем 1 час. Оказалось, что это всё-же по работе полный оригинал, а точнее оригинал с исправленными ошибками и глупостями.

    Во-первых исправлена ошибка Е.Седова по адресу E778. Это явная ошибка (что ясно, если рассмотреть алгоритм), - у числа случайно стёрся суффикс H. Эта ошибка не сказывается при формате 5 секторов, но фатальна при другом формате.

    Во-вторых в двух местах две команды переставлены местами. А именно там регистр B перед возвратом по RET загружается кодом ошибки. В этих двух местах загрузка B сделана раньше, а именно, перед CALL на подпрограмму (которая B не изменяет). Логично параметр загружать перед его использованием, что делает исходник понятным. Причём и у самого Е.Седова в остальных случаях так и сделано, но в этих двух местах логика нарушена и потому была исправлена (а в тексте оставлена строка "Полный оригинал", что и ввело меня спустя 20 лет в лишние хлопоты).

    Так что Вы получили всё-же оригинал по работе. Но чтобы убрать все сомнения я опять переставил эти две команды и получился на самом деле полный оригинал. И если Вы утверждаете, что оригинал RK-DOS у Вас много лет успешно работал, то странслируйте эту версию с ключом W_OUT=1 (или не 0) и получите полный оригинал той RK-DOS, что 20 лет работала на моём РК86 на КР580. Она, предположительно должна работать и на 8085.

    Про 8085 ничего не знаю. Что 8085 дублирует адреса порта при командах IN/OUT на старших адресах, также как КР580?

    Сообщите, что Вы конкретно транслируете (куда), т.е как Вы проверяете исходник. И интересно как Вы пересылаете файлы из PC в РК86. У меня эта задача не была решена (эта задача не ставилась, т.к РК я практически с 1995 не пользовался, а диски РК86 прекрасно читал ОРИОН, у которого был обмен с PC и по проводной линии и через дискеты в форматах 800К ОРИОНА и 360К и 720К в формате MSDOS)

    Скиньте мне пожалуйста код вашей версии RK-DOS, которая много лет работает на 8085, а также коды и других версий RK-DOS (имели хождение много версий RK-DOS, хотя 2.95, кажется, последняя от Е.Седова, но после него этим занимались авторы РК-МАКСИ и доработали её).

    PS: Сейчас ключ W_OUT стоит равным 1, т.е транслируется полный оригинал, не для Z80. Для трансляции для Z80 поставьте этот ключ равным 0.

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

    Ради интереса стал искать на сайте код RK-DOS. С трудом нашёл дистрибутив RK-DOS выложенный Cyb в теме "Подключение НГМД". И оказалось, что этот код один в один совпал с моим оригиналом из 1993 года.

    Вчера я перепутал и выложил не ту версию монитора для КР580. Архив с именем 'ROM-BIOS КР580' это незаконченная версия, в которой подпрограммы F836/39 есть, но входов в них в таблице входов нет (т.е нет самих JMP-ов в начале ПЗУ - JMP RRAM и JMP WRAM на адресах F836 и F839). Вот та же самая версия, отличающаяся лишь тем, что эти входы теперь есть, а в остальном код идентичен, можете сравнить.
    Вложения Вложения
    Последний раз редактировалось barsik; 28.01.2017 в 04:12.

  9. #239
    Veteran Аватар для Pyk
    Регистрация
    05.04.2013
    Адрес
    с. Починки, Нижегородская обл.
    Сообщений
    1,180
    Спасибо Благодарностей отдано 
    263
    Спасибо Благодарностей получено 
    456
    Поблагодарили
    182 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    barsik, не смогу, к сожалению, сегодня проверить Постараюсь отписаться завтра вечером.

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

    По умолчанию

    Цитата Сообщение от barsik Посмотреть сообщение
    интересно как Вы пересылаете файлы из PC в РК86.
    Пересылаю через утилиту WRKWIN32. Причем на РКшке я не распаивал компаратор - прямо со звуковухи через 0.1Мкф на С4 ППА клавиатуры со 100% результатом. Но вот чем мне не нравятся средства разработки на РС - результат трансляции приходится считывать НЕХ редактором, копировать, потом создавать новый файл, писать туда скпированное с адреса 4, по адресу 0 вносить начало файла, по адресу 2 конец файла. Потом чтать его эмулятором (который естественно показывает ошибку без КС), потом директивой О под этим же именем делать запись уже готового к записи на РК файла. Меня очень раздражают все эти танцы с бубном. Если создаешь большой софт, то от этого не куда не денешься, но если не большой, то я предпочитаю тот же МИКРОН. Кстати в редакторе МИКРОНА я переделал директивы работы с магнитофоном на работу с FDD. По примеру как это сделано для работы с ОРДОС на Орионе.

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

    REGW EQU DOPPPA+2 ; регистр который управляет окном 8400...BFFF - и это в 21 веке! Зачем для области памяти регистры управления? Память должна выбираться выставлением адреса процессором.
    Последний раз редактировалось Vladimir_S; 27.01.2017 в 03:47.

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

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

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

Эту тему просматривают: 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

Ваши права

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