imsushka wrote: 11 Jul 2026 05:03
дос всегда на 4000 - пзушка
мсхдос.сис гдето на верху Фхххх
говоришь прочитать что то в 4000 - мсхдос - включает на 4000х пзу. озу которое было на 4000 переключается на 8000, читается, переключается все в зад. адрес дма меняет сама дос
Да все так. И это один из десятка способов как организовать обмен данным между теневыми страницами ОЗУ в MSX-DOS. Реализация теневого копирования возлагается на драйвер диска, разрабатываемого третьей стороной.
Только вот проблем с этим у функции 20 нет. Функция 20 прекрасно читает данные с диска и подкладывает их под ПЗУ DOS в ОЗУ.
Проблема у функции 20 начинается в тот момент, когда функция пытается добить запись до 128 байт, записывая нули прямо в ОЗУ там, где ОЗУ нет. Вот так.
P.S. И да MSX-DOS не использует эту функцию у себя, поэтому проблема чтения данных с диска не проявляется. И я далеко не сразу это обнаружил.
Проблема возникнет в старом CP/M софте при попытке прочитать что либо с диска, записанного ранее на PC-совместимом компьютере.