Я ни разу в жизни не встречал драйвера или API, который был бы настолько совершенным, что подошел бы для всех вообразимых нужд.
Любой драйвер предоставляет меньше возможностей, чем то, на что способно железо. Хотя бы потому, что некоторые трюки с этим железом могли быть неизвестны на момент создания драйвера. Типа как использование AY-огибающей. Изначально она предназначалась для медленного управления громкостью, и только потом ее научились использовать для создания особых тембров.
Авторы TR-DOS тронулись бы умом, если бы их заставили написать универсальное API для форматирования дисков произвольным образом или создавать/проверять защиты от копирования. Разработка заняла бы столько времени, что какая-то другая фирма выпустила бы подходящий для запуска игр контроллер дисковода раньше. И был бы у нас не Beta-Disk, а Theta-Disk. С не менее, а то и более улылым софтом, чем TR-DOS.
И даже если мега-универсальное API создать - то оно не подойдет тем, у кого мало места в памяти. ПЗУ или ОЗУ - оно денег немалых стоило.
Конкретно в случае TR-DOS - даёт. Программы, использующие самописные процедуры чтения секторов, читают с диска раза в полтора быстрее, чем те, которые используют API.
Это потому, что зоопарк железа большой. К тому же, железо долго не живет, постоянно новое появляется. Если бы железо было константным, как во времена Спека - то лезли бы в регистры, как миленькие. Потому, что это давало бы конкурентные преимущества.
Вот в мире CP/M был большой зоопарк железа, и там почти все работали через API, каким бы убогим и тормозным оно ни было. По тем же причинам на этих системах не было красивой графики и динамичной анимации.





Ответить с цитированием