Не закончил. Странслировал лишь первую версию (ещё сто раз изменю). Из-за нехватки ОЗУ это не для практического использования, т.к не имея доп.ОЗУ можно грузить программы размером только до 24 кб. Но этого достаточно для проверки разных КНГМД. Увы, для СПЕЦИАЛИСТА без доп.ОЗУ RK-DOS в силу мизерности её объёма оказывается лучше.Сообщение от zx_
Под какой контроллер не важно. Если есть заведомо рабочие подпрограммы чтения и записи сектора для разных версий КНГМД, то замена одних подпрограмм на другие это работа на несколько минут. Имея исходники, немного знаний и подпрограммы чтения/записи сектора, сделать версию стандартной CP/M для данного железа - совсем просто.
Проверенные подпрограммы чтения/записи сектора есть только для РК-КНГМД. Есть п/п-ммы и для контроллера на ВГ93 от ОРИОНА, но это требует такт 2.5 МГЦ. Так что для СПЕЦИАЛИСТА пока выбора нет, - только для РК-КНГМД. Закончив с CP/M для РК-КНГМД займусь экспериментами с КНГМД на ВГ93 с подпрограммами от Л.Афанасьева и М.Короткина и надеюсь смогу сделать формат 720 кб с секторами по 512 байт.
Перетранслировал для СПЕЦИАЛИСТА не стандартную CP/M, т.к в ней нет толка, а какую-то версию CP/M для ОРИОНА. С электронным диском из ОЗУ, с обработкой при старте AUTOEXEC.SUB и с подкачкой BDOS не с системных треков, а из ОЗУ. Электронный диск облегчает. С него запускается форматёр дискеты. Привод A: - эл.диск из ОЗУ, а привод B: на базе РК-КНГМД стоящего по адресу FB00. И в основном эта работа заключалась в очистке от Z80-команд.
Для СПЕЦИАЛИСТА с банками доп.ОЗУ получается CP/M с TPA в 35.5 кб и ей можно пользоваться для хранения и запуска программ. Но вот если доп.ОЗУ нет, то получается TPA всего-лишь 24 кб, а эл.диск имеет размер всего 8 или 10 кб, куда практически ни одна нужная программа не влезает. А ведь ещё надо куда-то грузить драйвер VT52 размером не менее 6 кб, для этого вообще нет места.
При этом BDOS получилась на 6100, что даёт равно 24 кб для загрузки программ. BDOS хранится и подкачивается из 7700...8DFF, дисковый буфер для секторов в 512 байт на 8C00...8EFF (при секторах в 1 кб TPA упадёт ещё ниже). А под электронный диск используется открытое "верхнее ОЗУ" в области D000...F7FF, что и даёт крошечный эл.диск в 9 кб (1 кб каталог). Даже крошечный эл.диск лучше, чем никакого, т.к CP/M плюётся на диск A: временными файлами. Пользоваться такой CP/M можно и без дисковода, т.к диск A: это эл.диск из ОЗУ, но тут проблема в размере эл.диска.
Сейчас ~30 CP/M программ для КР580 вручную сделал RKS-файлами. По SAVE их записать на дискету нельзя (SAVE можно записать только файл с кратностью в 256 байт, отчего размер файлов, что имеет нечётное число лог.секторов увеличится), а POWER-ом не воспользоваться из-за нехватки ОЗУ. Потому надо написать программу, которая грузит с ленты файлы в формате с именем и по окончании ввода автоматичеки записывает файл с точными размерами на диск.
Подобную программу (не для МГ, для линии) я имел когда-то и с её помощью переслал CP/M-программы на дискеты РК86. Кстати и форматёр от RK-DOS не годится. И не только потому, что заполняет дискету кодами 0, а надо E5, а потому-что в RK-DOS нумерация секторов с 0, а в CP/M нумерация секторов с 1.




Ответить с цитированием
Размещение рекламы на форуме способствует его дальнейшему развитию 

