Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
msx:bdos [2022-04-05 09:41] GreyWolf [MSX BDOS] |
msx:bdos [2022-08-05 21:53] (текущий) GreyWolf |
||
---|---|---|---|
Строка 4: | Строка 4: | ||
~~TOC 1-3 wide~~ | ~~TOC 1-3 wide~~ | ||
- | %%BDOS%% — Basic Disk Operating System (базовая дисковая операционная система) | + | %%BDOS%% — Basic Disk Operating System (Базовая Дисковая Операционная Система) |
''MSXDOS.SYS'' это интерфейс между программой пользователя и дисковыми функциями ROM. Кроме дисковых функций он включает в себя и некоторые базовые функции ввода/вывода для работы с другими устройствами, в частности, с консолью. Часть этих функций выполняется при помощи обращений к [[msx:bios|ROM MSX BIOS]], а часть выполняется непосредственно программами %%MSX-DOS Kernel%%, которые находятся в памяти постоянно. Этими же функциями пользуется и ''COMMAND.COM''. | ''MSXDOS.SYS'' это интерфейс между программой пользователя и дисковыми функциями ROM. Кроме дисковых функций он включает в себя и некоторые базовые функции ввода/вывода для работы с другими устройствами, в частности, с консолью. Часть этих функций выполняется при помощи обращений к [[msx:bios|ROM MSX BIOS]], а часть выполняется непосредственно программами %%MSX-DOS Kernel%%, которые находятся в памяти постоянно. Этими же функциями пользуется и ''COMMAND.COM''. | ||
- | По большей части, вектор встроенных вызовов ''MSXDOS.SYS'' совместим с [[cp_m:|]], что позволяет запускать в [[msx:dos|]] программы, написанные для [[cp_m:|]] без изменений, но, кроме этого, ''MSXDOS.SYS'' включает в себя и некоторые дополнительные функции, которых в [[cp_m:|]] нет. В частности, работу с датами и временем. | + | По большей части, вектор встроенных вызовов ''MSXDOS.SYS'' совместим с [[cp_m:|]], что позволяет запускать в [[msx:dos:|]] программы, написанные для [[cp_m:|]] без изменений, но, кроме этого, ''MSXDOS.SYS'' включает в себя и некоторые дополнительные функции, которых в [[cp_m:|]] нет. В частности, работу с датами и временем. |
Вектор обращений к функциям ''MSXDOS.SYS'' занимает в оперативной памяти адреса 0x0000–0x0100 и совпадает с [[cp_m:|]], а сами исполняемые программы находятся в верхней области памяти. | Вектор обращений к функциям ''MSXDOS.SYS'' занимает в оперативной памяти адреса 0x0000–0x0100 и совпадает с [[cp_m:|]], а сами исполняемые программы находятся в верхней области памяти. | ||
- | Адреса ОЗУ между 0x0100 и верхней [[msx:bios#work_area|рабочей областью]] ''MSXDOS.SYS'' называются "транзитной областью" (TPA — transient program area) и предоставляются программам пользователя. | + | Адреса ОЗУ между 0x0100 и верхней [[msx:bios#work_area|рабочей областью]] ''MSXDOS.SYS'' называются "транзитной областью" (TPA — transient program area) и предоставляются программам пользователя. Подробнее от TPA написано [[msx:dos:#tpa|здесь]]. |
Вектор переходов в [[msx:bios#work_area|рабочую область]], находящуюся на 3–й странице оперативной памяти (0x0С00–0xFFFF), удобен также и тем, что эта страница остаётся в RAM при межслотовых обращениях к [[msx:bios|BIOS]], [[msx:bios#sub-rom|SUB-ROM]] и [[msx:bios#disk-rom|DISK-ROM]], которые обычно находятся в нулевых страницах памяти других слотов. | Вектор переходов в [[msx:bios#work_area|рабочую область]], находящуюся на 3–й странице оперативной памяти (0x0С00–0xFFFF), удобен также и тем, что эта страница остаётся в RAM при межслотовых обращениях к [[msx:bios|BIOS]], [[msx:bios#sub-rom|SUB-ROM]] и [[msx:bios#disk-rom|DISK-ROM]], которые обычно находятся в нулевых страницах памяти других слотов. | ||
Строка 31: | Строка 31: | ||
Пример вызова: | Пример вызова: | ||
- | |Из [[msx:dos|]]: <code> | + | |Из [[msx:dos:|]]: <code> |
LD C,#** | LD C,#** | ||
CALL #0005 | CALL #0005 | ||
Строка 45: | Строка 45: | ||
|<100% 5% 95%>| | |<100% 5% 95%>| | ||
^00|SYSTEM RESET| | ^00|SYSTEM RESET| | ||
- | |Если [[msx:dos|]], то переход по адресу 0000; иначе, осуществляется "тёплый" старт [[msx:disk_basic|]].|| | + | |Если [[msx:dos:|]], то переход по адресу 0000; иначе, осуществляется "тёплый" старт [[msx:disk_basic|]].|| |
|Вход |Нет| | |Вход |Нет| | ||
|Выход|Нет| | |Выход|Нет| | ||
Строка 241: | Строка 241: | ||
===== Системные вызовы только для MSX DOS ===== | ===== Системные вызовы только для MSX DOS ===== | ||
- | Системные вызовы только для [[msx:dos|]] | + | Системные вызовы только для [[msx:dos:|]] |
|<100% 5% 95%>| | |<100% 5% 95%>| | ||
^29|NO FUNCTION| | ^29|NO FUNCTION| |