Цитата Сообщение от Barmaley_m Посмотреть сообщение
Вот, кстати, да. На Спеке тоже есть хороший пример - точка входа TR-DOS #3D13. Де-факто стала стандартным API TR-DOS. В конце 90х - начале 2000х начали появляться разные IDE- и SD-Card-интерфейсы. И программы, использовавшие точку #3D13, без изменений продолжали работать.

Но в середине 90х никто не думал о том, что когда-нибудь появится другое железо, которое будет доступно через #3D13. В среде спектрумистов было престижно лезть в порты контроллера дисковода напрямую. Это давало доступ к некоторым функциям контроллера: форматирование, чтение и анализ дорожек. С прямым доступом можно было читать/писать диски в формате MS-DOS и других нестандартных форматах на 800К против стандартных 640К. Прямой доступ давал улучшение производительности диска, более точный контроль над ошибками. Всякие программы форматирования и восстановления дисков (DCU, ADS, тысячи их), IS-DOS, лезли в порты напрямую. Я тоже в своих проектах так делал. Так делал и ASC в своем ASC Sound Master и других проектах. Так делали знаменитые создатели Demo - группа Code Busters, белорусские Dream Makers, Rush и др.
Точка входа TR-DOS #3D13 не содержала всех тех функций "форматирование, чтение и анализ дорожек" и прочих. То есть налицо недостаток функционала API.
Если бы всё это было - то особо никто бы и не лазил "напрямую в регистры".
Тем более, что никакого выигрыша в скорости в данном случае это не даёт. Просто обход недостатков стандатного ПЗУ.

Собственно, любой программист - хоть игрушек, хоть системного ПО - так или иначе создаёт набор библиотек с нужным ему API.
Все эти "игровые движки" - тоже по сути готовые модули со своим API.

Сейчас создателям ПО и в голову не придёт "лезть напрямую в регистры" видяхи или звуковухи. За исключением драйверописателей.

У спектрума видеопамять была "константой". Потому в неё безбоязненно лазили напрямую. Плюс скорость. В вот если был десяток видюшек, да разных... То фиг бы там куда лазали помимо API.