Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
msx:network_basic [2021-02-06 23:27] GreyWolf [Ссылки] |
msx:network_basic [2023-06-05 19:36] (текущий) GreyWolf [CALL MESSAGE] |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
====== MSX Network BASIC ====== | ====== MSX Network BASIC ====== | ||
- | Используется в решении [[msx:yamaha_local_network:yamaha_local_network]]. | + | |
+ | Используется в решении [[msx:yamaha_local_network:yamaha_local_network-3|]]. | ||
+ | |||
~~TOC wide~~ | ~~TOC wide~~ | ||
Строка 8: | Строка 11: | ||
Назначение сети. | Назначение сети. | ||
- | Данная локальная сеть разработана для связи компьютеров в учебном классе. Она позволяет соединять преподавателя и 15 учеников, давая при этом возможность обмена программами, данными и сообщениями, как между преподавателем и учеником, так и между двумя учениками. Сеть работает не только в [[msx:basic:]], но и в [[msx:disk_basic]], [[msx:dos]] и [[msx:cp_m:cp_m]]. | + | Данная локальная сеть разработана для связи компьютеров в учебном классе. Она позволяет соединять преподавателя и 15 учеников, давая при этом возможность обмена программами, данными и сообщениями, как между преподавателем и учеником, так и между двумя учениками. Сеть работает не только в [[msx:basic:]], но и в [[msx:disk_basic]], [[msx:dos:]] и [[msx:cp_m:]]. |
Примечания: | Примечания: | ||
- Ниже, для простоты записи, вместо "компьютер преподавателя" и "компьютер ученика" будет употребляться "преподаватель" и "ученик". | - Ниже, для простоты записи, вместо "компьютер преподавателя" и "компьютер ученика" будет употребляться "преподаватель" и "ученик". | ||
- | - Как и в предыдущих версиях сети, в Версии 3.0 при обращении ученика к дисководу, команды сети [[msx:basic:]] временно отключаются. | + | - Как и в предыдущих версиях сети, в версии 3.0 при обращении ученика к дисководу, команды сети [[msx:basic:]] временно отключаются. |
- Для работы сети используется специальное ОЗУ (2 кбайт) в сетевом блоке, обычное ОЗУ при работе с сетью не используется. Для обращения к сетевому ОЗУ, используйте карту памяти. | - Для работы сети используется специальное ОЗУ (2 кбайт) в сетевом блоке, обычное ОЗУ при работе с сетью не используется. Для обращения к сетевому ОЗУ, используйте карту памяти. | ||
- | - Вызов сетевой BIOS (системы базовых функций ввода–вывода) из [[msx:dos]] или [[msx:cp_m:cp_m]] ссылается на рабочую область из 8 байт в основном ОЗУ. | + | - Вызов сетевой BIOS (системы базовых функций ввода–вывода) из [[msx:dos:]] или [[msx:cp_m:cp_m]] ссылается на рабочую область из 8 байт в основном ОЗУ. |
- Если при работающей сети невозможно запустить некоторые прикладные программы (например [[msx:yamaha_painter:yamaha_painter|]]), воспользуйтесь командой ''[[#CALL NЕТEND]]'', а после неё повторите вызов Вашей программы. | - Если при работающей сети невозможно запустить некоторые прикладные программы (например [[msx:yamaha_painter:yamaha_painter|]]), воспользуйтесь командой ''[[#CALL NЕТEND]]'', а после неё повторите вызов Вашей программы. | ||
Строка 48: | Строка 51: | ||
|[[#CALL DISCOM]]|запрещение передачи учеником| ✔ | — | | |[[#CALL DISCOM]]|запрещение передачи учеником| ✔ | — | | ||
- | Все команды серии ''[[msx:basic:call|CALL]]'' можно сократить до 3–4 букв, а само слово ''CALL'' можно заменить символом "_" (подчёркивание) после которого не требуется пробелов, например, ''CALL NETEND'' можно заменить на ''_NETE'' | + | Все команды серии ''[[msx:basic_dialogue_programming_language:007#call|CALL]]'' можно сократить до 3–4 букв, а само слово ''CALL'' можно заменить символом "_" (подчёркивание) после которого не требуется пробелов, например, ''CALL NETEND'' можно заменить на ''_NETE'' |
====== CALL HELP ====== | ====== CALL HELP ====== | ||
Строка 107: | Строка 110: | ||
CALL BSEND ("DATA.BIN",12,&H8000) | CALL BSEND ("DATA.BIN",12,&H8000) | ||
</code> | </code> | ||
- | Эта команда переедает программу в машинных кодах или данные, записанные из [[msx:basic:|]] командой ''[[msx:basic_programming_guide:09#bsave|BSAVE]]'' или ''[[#CALL BRECEIVE]]'', по начальному адресу в память ученика, определённого номером. В этом примере файл "DATA.BIN" пересылается в память ученика номер 12 с начального адреса &Н8000. Если номер ученика не указан начальный адрес, программа или данные пересылаются с того адреса, с которого они были записаны. | + | Эта команда переедает программу в машинных кодах или данные, записанные из [[msx:basic:|]] командой ''[[msx:basic_dialogue_programming_language:009#bsave|BSAVE]]'' или ''[[#CALL BRECEIVE]]'', по начальному адресу в память ученика, определённого номером. В этом примере файл "DATA.BIN" пересылается в память ученика номер 12 с начального адреса &Н8000. Если номер ученика не указан начальный адрес, программа или данные пересылаются с того адреса, с которого они были записаны. |
__//Пример 2//__ | __//Пример 2//__ | ||
Строка 125: | Строка 128: | ||
</code> | </code> | ||
- | Эта команда передаёт данные с экрана (из видеопамяти), записанные с помощью команд [[msx:basic:|]] ''[[msx:basic_programming_guide:09#bsave|BSAVE]]'' или ''[[#CALL BRECEIVE]]'' с использованием <S>, в область с начального по конечный адреса в видеопамять указанного ученика. Когда данные в видеопамять пересылаются из файла, режим видеопрцессора автоматически не устанавливается, т.е. он должен быть установлен до использования команды ''[[#CALL BSEND]]''. В этом примере данные из файла "DATA.BIN" передаются по адресам с &Н0100 по &Н200 в видеопамять ученика с номером 12 . Если номер ученика не указан данные передаются всем ученикам. Если не указан начальный адрес данные будут пересылаться начиная с того адреса, с которого они были записаны. Если этот адрес больше чем конечный, то используется именно он, а конечный игнорируется. А если меньше, то данные будут посланы лишь до конечного адреса, указанного в команде ''[[#CALL BSEND]]''. | + | Эта команда передаёт данные с экрана (из видеопамяти), записанные с помощью команд [[msx:basic:|]] ''[[msx:basic_dialogue_programming_language:009#bsave|BSAVE]]'' или ''[[#CALL BRECEIVE]]'' с использованием <S>, в область с начального по конечный адреса в видеопамять указанного ученика. Когда данные в видеопамять пересылаются из файла, режим видеопрцессора автоматически не устанавливается, т.е. он должен быть установлен до использования команды ''[[#CALL BSEND]]''. В этом примере данные из файла "DATA.BIN" передаются по адресам с &Н0100 по &Н200 в видеопамять ученика с номером 12 . Если номер ученика не указан данные передаются всем ученикам. Если не указан начальный адрес данные будут пересылаться начиная с того адреса, с которого они были записаны. Если этот адрес больше чем конечный, то используется именно он, а конечный игнорируется. А если меньше, то данные будут посланы лишь до конечного адреса, указанного в команде ''[[#CALL BSEND]]''. |
====== CALL BRECEIVE ====== | ====== CALL BRECEIVE ====== | ||
Строка 141: | Строка 144: | ||
CALL BREC ("DATA.BIN",10,&HA000,&HB000) | CALL BREC ("DATA.BIN",10,&HA000,&HB000) | ||
</code> | </code> | ||
- | Эта команда записывает программу в машинных кодах данные из памяти, с начального адреса по конечный, в файл на диск. Формат для записи такой же, как и в команде [[msx:basic:|]] ''[[msx:basic_programming_guide:09#bsave|BSAVE]]'', только стартовым адресом всегда является начальный. В этом примере содержимое памяти ученика номер 10, с адреса &НА000 по &НВ000, записывается в файл "DATA.BIN". | + | Эта команда записывает программу в машинных кодах данные из памяти, с начального адреса по конечный, в файл на диск. Формат для записи такой же, как и в команде [[msx:basic:|]] ''[[msx:basic_dialogue_programming_language:009#bsave|BSAVE]]'', только стартовым адресом всегда является начальный. В этом примере содержимое памяти ученика номер 10, с адреса &НА000 по &НВ000, записывается в файл "DATA.BIN". |
__//Пример 2//__ | __//Пример 2//__ | ||
Строка 153: | Строка 156: | ||
CALL BREC ("DATA.BIN",12,&H0100,&H2000,S) | CALL BREC ("DATA.BIN",12,&H0100,&H2000,S) | ||
</code> | </code> | ||
- | Содержимое экрана (видеопамяти) ученика принимается и записывается на диск. Формат для записи такой же, как и в команде [[msx:basic:|]] ''[[msx:basic_programming_guide:09#bsave|BSAVE]]'' при использовании <S>. Так как записываемый файл (содержимое видеопамяти) не содержит информацию о режиме видеопоцессора, необходимо при использовании такого файла предварительно установить соответствующий режим. В этом примере данные с экрана (из видеопамяти) ученика номер 12 с адреса &0100 по &Н2000 записывается на диск, в файле с названием "DATA.BIN". При использовании <S>, если Вы не указываете начальный адрес, используется — &Н0000, а вместо конечного — &НFFFF. | + | Содержимое экрана (видеопамяти) ученика принимается и записывается на диск. Формат для записи такой же, как и в команде [[msx:basic:|]] ''[[msx:basic_dialogue_programming_language:009#bsave|BSAVE]]'' при использовании <S>. Так как записываемый файл (содержимое видеопамяти) не содержит информацию о режиме видеопоцессора, необходимо при использовании такого файла предварительно установить соответствующий режим. В этом примере данные с экрана (из видеопамяти) ученика номер 12 с адреса &0100 по &Н2000 записывается на диск, в файле с названием "DATA.BIN". При использовании <S>, если Вы не указываете начальный адрес, используется — &Н0000, а вместо конечного — &НFFFF. |
Строка 306: | Строка 309: | ||
<code> | <code> | ||
CALL MESSAGE (<сообщение>,[<номер ученика>]) | CALL MESSAGE (<сообщение>,[<номер ученика>]) | ||
- | <code> | + | </code> |
Передача сообщения преподавателем. | Передача сообщения преподавателем. | ||
Строка 316: | Строка 319: | ||
Эта команда передаёт сообщение преподавателя одному или нескольким ученикам. Сообщение имеет максимальную длину 56 символов, но, когда оно высвечивается в 24 строке на экране ученика, его длина зависит от того, в каком режиме сейчас ученик. Если в момент передачи ученик находится в графическом режиме, то сообщение будет выведено к нему на экран, как только он выйдет в текстовой режим. Если параметр <номер ученика> пропущен, сообщение передаётся всем ученикам. Этот пример высвечивает сообщение "Hello !!" в 24 строке на экран у 10 ученика. Чтобы сообщение исчезло — нажмите пробел. | Эта команда передаёт сообщение преподавателя одному или нескольким ученикам. Сообщение имеет максимальную длину 56 символов, но, когда оно высвечивается в 24 строке на экране ученика, его длина зависит от того, в каком режиме сейчас ученик. Если в момент передачи ученик находится в графическом режиме, то сообщение будет выведено к нему на экран, как только он выйдет в текстовой режим. Если параметр <номер ученика> пропущен, сообщение передаётся всем ученикам. Этот пример высвечивает сообщение "Hello !!" в 24 строке на экран у 10 ученика. Чтобы сообщение исчезло — нажмите пробел. | ||
- | Примечание: \\ Если у ученика выключена индикация функциональных клавиш (по команде ''[[msx:basic_programming_guide:05#keyoff|KEY OFF]]''), то сообщение будет двигаться вверх по мере заполнения экрана, т.е. будет рассматриваться как обычной текст. | + | Примечание: \\ Если у ученика выключена индикация функциональных клавиш (по команде ''[[msx:basic_dialogue_programming_language:005#keyoff|KEY OFF]]''), то сообщение будет двигаться вверх по мере заполнения экрана, т.е. будет рассматриваться как обычной текст. |
====== CALL TALK ====== | ====== CALL TALK ====== | ||
Строка 398: | Строка 401: | ||
CALL RECE ("B:TEST.BAS",14) | CALL RECE ("B:TEST.BAS",14) | ||
</code> | </code> | ||
- | Эта команда принимает программу на [[msx:basic:|]] от указанного ученика и записывает её на диск в заданный файл. Команда не стирает содержимое памяти преподавателя и может быть использована в программном режиме. Формат, в котором записывается файл такой же, как и в команде ''[[msx:basic_programming_guide:09#save|SAVE]]'' [[msx:basic:|]]. | + | Эта команда принимает программу на [[msx:basic:|]] от указанного ученика и записывает её на диск в заданный файл. Команда не стирает содержимое памяти преподавателя и может быть использована в программном режиме. Формат, в котором записывается файл такой же, как и в команде ''[[msx:basic_dialogue_programming_language:009#save|SAVE]]'' [[msx:basic:|]]. |
В этом примере программа ученика номер 14 записывается в файл "TEST.BAS". Если файл с таким именем уже есть на диске, старый будет стёрт и в замен него будет записана программа ученика. Если программа ученика в момент подачи команды работала, она будет остановлена и высветится "Wait" (ждите), а после окончания приёма её преподавателем — "Ok". | В этом примере программа ученика номер 14 записывается в файл "TEST.BAS". Если файл с таким именем уже есть на диске, старый будет стёрт и в замен него будет записана программа ученика. Если программа ученика в момент подачи команды работала, она будет остановлена и высветится "Wait" (ждите), а после окончания приёма её преподавателем — "Ok". | ||
Строка 480: | Строка 483: | ||
40 CALL SNDC (A$+B$+C$) | 40 CALL SNDC (A$+B$+C$) | ||
</code> | </code> | ||
- | Можно посылать несколько команд одновременно. В этом примере у всех учеников выполняется команда ''color 15,4,7'', a затем — команда ''[[msx:basic_programming_guide:05#cls|CLS]]''. При этом между отдельными командами надо вставлять код перевода каретки (CR). | + | Можно посылать несколько команд одновременно. В этом примере у всех учеников выполняется команда ''color 15,4,7'', a затем — команда ''[[msx:basic_dialogue_programming_language:005#cls|CLS]]''. При этом между отдельными командами надо вставлять код перевода каретки (CR). |
====== CALL RUN ====== | ====== CALL RUN ====== | ||
Строка 582: | Строка 585: | ||
CALL OFFLINE | CALL OFFLINE | ||
</code> | </code> | ||
- | Эта команда отключает ученика от сети. Когда компьютер отключён от сети, он не может принять команду от преподавателя. Таким образом, эта команда используется, когда ученик хочет работать сам, без каких–либо прерываний от преподавателя. Чтобы снова включится в сеть, ученик должен использовать команду ''[[#CALL ONLINE]]''. | + | Эта команда отключает ученика от сети. Когда компьютер отключён от сети, он не может принять команду от преподавателя. Таким образом, эта команда используется, когда ученик хочет работать сам, без каких–либо прерываний от преподавателя. Чтобы снова включиться в сеть, ученик должен использовать команду ''[[#CALL ONLINE]]''. |
====== Ссылки ====== | ====== Ссылки ====== | ||
Строка 595: | Строка 598: | ||
- | {{tag>MSX BASIC}} | + | {{tag>MSX BASIC Network}} |