Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
msx:nestor_basic:nestor_basic [2023-07-09 14:26] GreyWolf [Приложение 1] |
msx:nestor_basic:nestor_basic [2023-07-18 22:38] (текущий) ATroubleshooter Признательность. |
||
---|---|---|---|
Строка 13: | Строка 13: | ||
Перевод документации выполнил: **ATroubleshooter**, 2021–2023 | Перевод документации выполнил: **ATroubleshooter**, 2021–2023 | ||
\\ [[github>/ATroubleshooter/MSX/blob/Russian-translation/SRC/NBASIC/nbas111r.txt|Перевод документации NestorBASIC version 1.11 на русский]] | \\ [[github>/ATroubleshooter/MSX/blob/Russian-translation/SRC/NBASIC/nbas111r.txt|Перевод документации NestorBASIC version 1.11 на русский]] | ||
+ | |||
+ | Оформление и корректура: **Алексей Сысоев** aka GreyWolf. | ||
/* | /* | ||
Строка 701: | Строка 703: | ||
{{anchor:n101}} | {{anchor:n101}} | ||
===== 10.1. Общее описание ===== | ===== 10.1. Общее описание ===== | ||
- | FIXME | ||
Функции, которые составляют NestorBASIC, обозначаются числом, которое задаётся в качестве операнда команды ''USR''. Таким образом, чтобы использовать функцию номер F, Вам нужно просто выполнить ''USR(F)'', имея в виду, что если F — это переменная, то она должна быть целочисленного типа. Параметры для функций должны быть установлены в массиве P (и, в некоторых случаях, в массиве F$) перед вызовом функции. После выполнения, результаты функции записываются в те же массивы, P и/или F. | Функции, которые составляют NestorBASIC, обозначаются числом, которое задаётся в качестве операнда команды ''USR''. Таким образом, чтобы использовать функцию номер F, Вам нужно просто выполнить ''USR(F)'', имея в виду, что если F — это переменная, то она должна быть целочисленного типа. Параметры для функций должны быть установлены в массиве P (и, в некоторых случаях, в массиве F$) перед вызовом функции. После выполнения, результаты функции записываются в те же массивы, P и/или F. | ||
Строка 715: | Строка 716: | ||
{{anchor:n102}} | {{anchor:n102}} | ||
===== 10.2. Общие функции ===== | ===== 10.2. Общие функции ===== | ||
- | FIXME | + | |
{{anchor:f0}} | {{anchor:f0}} | ||
Строка 742: | Строка 743: | ||
|<100% 5% 5% 90%>| | |<100% 5% 5% 90%>| | ||
- | ^Вход|P(0)|Номер исследуемого сегмента| | + | ^ Вход | P(0) | Номер исследуемого сегмента | |
- | | ||| | + | | ||| |
- | ^Выход|P(0)|Число доступных сегментов ОЗУ| | + | ^ Выход | P(0) | Число доступных сегментов ОЗУ | |
- | ^:::|P(1)|мажорная версия NestorBASIC| | + | | ::: | P(1) | мажорная версия NestorBASIC | |
- | ^:::|P(2)|минорная версия NestorBASIC, в формате BCD (должна показываться в шестнадцатеричном формате)| | + | | ::: | P(2) | минорная версия NestorBASIC, в формате BCD (должна показываться в шестнадцатеричном формате) | |
- | ^:::|P(3)|Мажорная версия [[msx:dos:|]]| | + | | ::: | P(3) | Мажорная версия [[msx:dos:|]] | |
- | ^:::|P(4)|Минорная версия [[msx:dos:|]], в формате BCD (должна показываться в шестнадцатеричном формате)| | + | | ::: | P(4) | Минорная версия [[msx:dos:|]], в формате BCD (должна показываться в шестнадцатеричном формате) | |
- | ^:::|P(5)|Размер области памяти в основном ОЗУ [[msx:basic:|]], занятой обработчиком USR-вызовов NestorBASIC| | + | | ::: | P(5) | Размер области памяти в основном ОЗУ [[msx:basic:|]], занятой обработчиком USR-вызовов NestorBASIC | |
- | ^:::|P(6)|Объем VRAM в кБ (64 или 128)| | + | | ::: | P(6) | Объем VRAM в кБ (64 или 128) | |
- | ^:::|P(7)|Адрес начала свободной области в сегменте 0 FIXME(&H3DA8 как максимум)| | + | | ::: | P(7) | Адрес начала свободной области в сегменте 0 (&H3DA8 как максимум) | |
- | ^:::|P(8)|Номер последней вызванной функции| | + | | ::: | P(8) | Номер последней вызванной функции | |
- | ^:::|P(9)|Число открытых файлов| | + | | ::: | P(9) | Число открытых файлов | |
- | ^:::|P(10)|Максимальное количество одновременно открытых файлов (действительно только под [[msx:dos:|]])| | + | | ::: | P(10) | Максимальное количество одновременно открытых файлов (действительно только под [[msx:dos:|]]) | |
- | ^:::|P(11)|Слот, которому принадлежит логический сегмент, указанный в P(0) (255, если сегмент не существует, или является сегментом VRAM)| | + | | ::: | P(11) | Слот, которому принадлежит логический сегмент, указанный в P(0) (255, если сегмент не существует, или является сегментом VRAM) | |
- | ^:::|P(12)|Номер физического сегмента, соответствующего логическому сегменту, указанному в P(0)| | + | | ::: | P(12) | Номер физического сегмента, соответствующего логическому сегменту, указанному в P(0) | |
- | ^:::|F$(0)|Полный путь к файлу NBASIC.BIN| | + | | ::: | F$(0) | Полный путь к файлу NBASIC.BIN | |
Под DOS 2, максимальное количество одновременно открытых файлов зависит от состояния внутренней памяти [[msx:dos:|DOS]], но не может превышать 63. | Под DOS 2, максимальное количество одновременно открытых файлов зависит от состояния внутренней памяти [[msx:dos:|DOS]], но не может превышать 63. | ||
Строка 772: | Строка 773: | ||
Адрес, возвращаемый в P(7) зависит от версии NestorBASIC, но всегда будет | Адрес, возвращаемый в P(7) зависит от версии NestorBASIC, но всегда будет | ||
- | меньше или равен FIXME &H3DA8; то есть, как минимум 600 байт в конце сегмента NestorBASIC всегда будет доступно. Эта область может быть использована, например, как буфер для данных TCP или UDP-датаграмм при использовании [[msx:internestor_suite:|]] с NestorBASIC. | + | меньше или равен &H3DA8; то есть, как минимум 600 байт в конце сегмента NestorBASIC всегда будет доступно. Эта область может быть использована, например, как буфер для данных TCP или UDP-датаграмм при использовании [[msx:internestor_suite:|]] с NestorBASIC. |
<WRAP center round important 60%> | <WRAP center round important 60%> | ||
Строка 1821: | Строка 1822: | ||
{{anchor:f61}} | {{anchor:f61}} | ||
==== Функция 61 ==== | ==== Функция 61 ==== | ||
- | FIXME | ||
- | |||
Сохранить строку в сегмент | Сохранить строку в сегмент | ||
Строка 1834: | Строка 1833: | ||
Эта функция копирует строку F$(0) по заданному адресу указанного сегмента. | Эта функция копирует строку F$(0) по заданному адресу указанного сегмента. | ||
- | Строка хранится с символом 0 в конце, поэтому будет занимать LEN(F$(0))+1 байт. | + | Строка хранится с символом 0 в конце, поэтому будет занимать ''LEN(F$(0))''+1 байт. |
- | Максимальная длина строки - 80 символов; если F$(0) длиннее, только первые 80 символов будут скопированы. Строка не должна содержать 0, потому что этот символ будет интерпретирован как конец строки. | + | Максимальная длина строки — 80 символов; если F$(0) длиннее, только первые 80 символов будут скопированы. Строка не должна содержать 0, потому что этот символ будет интерпретирован как конец строки. |
Эта функция вернет ошибку -1, если в P(0) будет указан несуществующий сегмент. | Эта функция вернет ошибку -1, если в P(0) будет указан несуществующий сегмент. | ||
Строка 1860: | Строка 1859: | ||
{{anchor:f63}} | {{anchor:f63}} | ||
- | Функция 63: Инициализация режима мигания в SCREEN 0 | + | ==== Функция 63 ==== |
+ | Инициализация режима мигания в SCREEN 0 | ||
|<50% 10% 20% 70%>| | |<50% 10% 20% 70%>| | ||
^Вход|P(0)|Цвет "мигнувшего" текста| | ^Вход|P(0)|Цвет "мигнувшего" текста| | ||
Строка 2030: | Строка 2031: | ||
{{anchor:f71}} | {{anchor:f71}} | ||
- | Функция 71: Загрузка и инициализация, или выгрузка Moonblaster-плеера (S4) | + | ==== Функция 71 ==== |
+ | Загрузка и инициализация, или выгрузка Moonblaster-плеера (S4) | ||
|<50% 10% 20% 70%>| | |<50% 10% 20% 70%>| | ||
Строка 2380: | Строка 2382: | ||
{{anchor:a1}} | {{anchor:a1}} | ||
====== Приложение 1 ====== | ====== Приложение 1 ====== | ||
- | FIXME | + | |
Функции, которые используют 4-й сегмент, имеют метку "(S4)" после их названий. | Функции, которые используют 4-й сегмент, имеют метку "(S4)" после их названий. | ||
Строка 2446: | Строка 2448: | ||
|[[#f53|Функция 53]]|Сжатие графических данных| | |[[#f53|Функция 53]]|Сжатие графических данных| | ||
|[[#f54|Функция 54]]|Распаковка графических данных| | |[[#f54|Функция 54]]|Распаковка графических данных| | ||
- | ^[[n96|Функции для запуска программ на BASIC]]^^ | + | ^[[#n96|Функции для запуска программ на BASIC]]^^ |
|[[#f55|Функция 55]]|Запуск программы на BASIC, находящейся в сегменте (S4)| | |[[#f55|Функция 55]]|Запуск программы на BASIC, находящейся в сегменте (S4)| | ||
|[[#f56|Функция 56]]|Актуализация программы на BASIC, находящейся в сегменте (S4)| | |[[#f56|Функция 56]]|Актуализация программы на BASIC, находящейся в сегменте (S4)| | ||
|[[#f57|Функция 57]]|Сохранить программу на BASIC со специальным заголовком (S4)| | |[[#f57|Функция 57]]|Сохранить программу на BASIC со специальным заголовком (S4)| | ||
+ | ^[[#n107|Другие различные функции]]^^ | ||
+ | |[[#f58|Функция 58]]|Выполнение подпрограммы в машинном коде| | ||
+ | |[[#f59|Функция 59]]|Выполнение подпрограммы пользователя| | ||
+ | |[[#f60|Функция 60]]|Вывести строку на дисплей в графическом режиме| | ||
+ | |[[#f61|Функция 61]]|Сохранить строку в сегмент| | ||
+ | |[[#f62|Функция 62]]|Прочитать строку из сегмента| | ||
+ | |[[#f63|Функция 63]]|Инициализация режима мигания в SCREEN 0| | ||
+ | |[[#f64|Функция 64]]|Создать или удалить мигающий блок символов| | ||
+ | |[[#f65|Функция 65]]|Получить информацию о прерываниях| | ||
+ | |[[#f66|Функция 66]]|Задать или приостановить прерывание, определяемое пользователем| | ||
+ | ^[[#n108|Звуковые эффекты PSG]]^^ | ||
+ | |[[#f67|Функция 67]]|Получить информацию о звуковых эффектах PSG| | ||
+ | |[[#f68|Функция 68]]|Инициализация набора звуковых эффектов PSG| | ||
+ | |[[#f69|Функция 69]]|Воспроизвести звуковой эффект PSG| | ||
+ | |[[#f70|Функция 70]]|Остановить воспроизведение звукового эффекта PSG| | ||
+ | ^[[#n109|Функции для воспроизведения музыки в формате MoonBlaster]]^^ | ||
+ | |[[#f71|Функция 71]]|Загрузка и инициализация, или выгрузка Moonblaster-плеера (S4)| | ||
+ | |[[#f72|Функция 72]]|Получить информацию о проигрываемой музыке| | ||
+ | |[[#f73|Функция 73]]|Активация и деактивация звуковых устройств| | ||
+ | |[[#f74|Функция 74]]|Старт воспроизведения Moonblaster–музыки| | ||
+ | |[[#f75|Функция 75]]|Останов воспроизведения музыки| | ||
+ | |[[#f76|Функция 76]]|Постановка на паузу и продолжение воспроизведения музыки| | ||
+ | |[[#f77|Функция 77]]|Постепенное затухание музыки| | ||
+ | |[[#f78|Функция 78]]|Загрузка samplekit-а для Phillips NMS 1205 Music Module (S4)| | ||
+ | |[[#f79|Функция 79]]|Загрузить wavekit для Moonsound(S4)| | ||
+ | ^[[#n1010|Функции назначения количества сегментов ОЗУ для использования NestorBasic]]^^ | ||
+ | |[[#f80|Функция 80]]|Узнать или задать количество сегментов выделенных для NestorBASIC| | ||
+ | ^[[#n1011|Функции для взаимодействия с NestorMan и InterNestor Suite/Lite]]^^ | ||
+ | |[[#f81|Функция 81]]|Проверка присутствия NestorMan и InterNestor Suite в ОЗУ| | ||
+ | |[[#f82|Функция 82]]|Выполнить функцию NestorMan| | ||
+ | |[[#f83|Функция 83]]|Передача блока данных из сегмента NestorMan в сегмент NestorBASIC| | ||
+ | |[[#f84|Функция 84]]|Передача блока данных из сегмента NestorBASIC в сегмент NestorMan| | ||
+ | |[[#f85|Функция 85]]|Вызов процедуры InterNestor Suite| | ||
+ | |[[#f86|Функция 86]]|Вызов процедуры InterNestor Lite| | ||
{{anchor:a2}} | {{anchor:a2}} | ||
Строка 2457: | Строка 2492: | ||
**Доступные пользователю внутренние процедуры и переменные NestorBASIC** | **Доступные пользователю внутренние процедуры и переменные NestorBASIC** | ||
- | FIXME | ||
Когда выполняются подпрограммы пользователя в кодах или пользовательские прерывания, сегмент NestorBASIC остается подключенным в страницу 1. В его начале есть таблица, содержащая переходы на некоторые внутренние процедуры NestorBASIC, а также его внутренние переменные, которые могут быть полезны для подпрограмм пользователя. В этом разделе описывается расположение и назначение этих подпрограмм и переменных. | Когда выполняются подпрограммы пользователя в кодах или пользовательские прерывания, сегмент NestorBASIC остается подключенным в страницу 1. В его начале есть таблица, содержащая переходы на некоторые внутренние процедуры NestorBASIC, а также его внутренние переменные, которые могут быть полезны для подпрограмм пользователя. В этом разделе описывается расположение и назначение этих подпрограмм и переменных. |