Ну вот. 32кб это очень большой кусок. Допустим для Ориона это не подходит. У Ориона можно щелкать только 16кб с 0 до 3FFFH.imsushka wrote: 15 Jun 2026 10:00 именно что не много. товарищч уже проделал колосальную работу по выпиливанию слотовых вызовов.
32к одним куском. это чистая дос.
Но не в этом состоит основная сложность. MSX-DOS2 резервирует место в нескольких 16кб сегментах озу для своей работы. И потом начинается постоянная "пляска" этих сегментов при работе. Это в вкратце о предстоящих сложностях. Поэтому я и не решился сразу лезть в MSX-DOS2.
Теперь о MSX-DOS1. Вот допустим банальный вызов, который надо решить. Как считать сектор с диска в TPA 0…3FFFH? Никак, потому что в этой области работает DOS. И все же это решаемо. Временно переносим часть драйвера диска (часть драйвера должна быть написана, как перемещаемая) в буфер сектора (512байт за приделами TPA). Отключаем DOS. Копируем сектор диска в TPA 0…3FFFH. Включаем DOS. Завершаем работу в DOS. Отключаем DOS, возвращаемся к выполняемой программе в TPA.
И таких там задачек далеко не одна.
P.S. Насколько мне известно модернизированная MSX-DOS2 не может полноценно работать с FAT16, только умеет читать. Впрочем, это все решаемо со временем FAT16, каталоги и т.п. Основной вызов - это универсальная и простая работа с озу выше 64кб, как это было сделано в CP/М 3.
