Зачем обязательно использовать тот же самый код, что и в RK-DOS для РК86 или МИКРОШИ? Исходник есть, перетранслируйте для адресов удобных для АПОГЕЯ.Сообщение от VladimirS
Надо найти 5 адресов В/У в области памяти для РК-КНГМД. Лучше конечно бы отдать под РК-КНГМД 400H байтов, тогда не придётся переделывать ДОС (заменять команды OUT на LD). Как видите, если у Вас нет 400H ячеек для РК-КНГМД, то из-за идиотического использования команд IN/OUT даже с КР580 придётся трахаться. Поэтому всегда лучше делать ПО без извратов.
Конкретный адрес РК-КНГМД не важен, т.к в порт РК-КНГМД лезет только сама ДОС, форматёр и два диск-доктора. О диск-докторах, нортонах и других программах, что лезут в экранное ОЗУ забудьте, хотя благодаря общности организации экрана их переделать гораздо проще, чем для графической ЭВМ. Форматёр перетранслировать не проблема. А адрес размещение самой RK-DOS тоже не важен. Лишь бы были доступны 4 ячейки E000...E003. Там размещаются два входа в RK-DOS - это E000 (Cold Start) и E001 (вход в BDOS). Все программы RK-DOS лезут только туда. Поэтому, если Вы поставите на адрес E001 JMP на начало кода RK-DOS в ОЗУ (например, D001), то совместимость с корректными программами RK-DOS и SYS-файлами сохранится.
Однако даже за это нет смысла цепляться. Потому, что в базовой RK-DOS управление ею осуществляется ячейками в области 7500. И таким образом, хотя для Вашей RK-DOS TPA будет до D000, т.е 52 кб, но посередине этого свободного ОЗУ будут "торчать" рабочие ячейки ДОС. Т.к исходники SYS-файлов есть, то лучше и рабочие ячейки ДОС перенести в область E000, а SYS-файлы просто перетранслировать.
Дисковый бейсик, редактор и дисковый ассемблер МИКРОН, если они Вам нужны, придётся дизассемблировать и перетранслировать. Или же самому сделать их "одисковоживание" из МГ-оригиналов. Кроме того, т.к речь об ОЗУ, то нет проблем странслировать и совместимую версию, где ячейки остались в области 7500, чтобы использовать непеределанные дисковый бейсик-Плюс и дисковый ассемблер МИКРОН. Если бейсик с загрузкой с дискеты имеет смысл, чтобы удобно смотреть игры на бейсике, то редактор и ассемблер вообще бесполезны (т.к удобнее ассемблировать на PC).
Вряд-ли дело во флагах, т.к в эмуляторе EMU80 работает, а думаю, что мало кто сомневается, что в нём ошибок нет. Попробуйте Ваш вариант RK-DOS в этом эмуляторе, может быть что-то прояснится. По крайней мере там доступен отладчик.Сообщение от VladimirS
Если в программах всё в порядке, то можно подумать о том, чтобы изменить такт ПДП. Может быть из-за отличающихся времянок КР580 и Z80, считывание байта из РК-КНГМД не успевает в "люк" между двумя захватами шины. Попробуйте читать с отключенным ПДП, - у Вас это не приведёт к гибели данных в динамическом ОЗУ, т.к его у Вас нет.