Инструменты пользователя

Инструменты сайта


msx:maestro:maestro

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
msx:maestro:maestro [2022-03-29 11:39]
GreyWolf [Функции для поддержки 4-х цветов и мерцания в режиме TEXT2 для MSX2]
msx:maestro:maestro [2024-03-07 11:13] (текущий)
GreyWolf
Строка 9: Строка 9:
 С помощью ПС «Маэстро» автор создал [[msx:​maestro:​pac:​|]] и [[msx:​ar_games:​ar_games|эти игры]]. С помощью ПС «Маэстро» автор создал [[msx:​maestro:​pac:​|]] и [[msx:​ar_games:​ar_games|эти игры]].
  
 +/*
 Страница на официальном сайте автора:​ [[http://​rodionov.info/​software.shtml#​MAESTRO_Intro|Программное средство «МАЭСТРО» — аннотация]] Страница на официальном сайте автора:​ [[http://​rodionov.info/​software.shtml#​MAESTRO_Intro|Программное средство «МАЭСТРО» — аннотация]]
 +
  
 [[http://​forum.rodionov.info:​8080/​forums/​msx.36/​|Форум на сайте автора]] [[http://​forum.rodionov.info:​8080/​forums/​msx.36/​|Форум на сайте автора]]
 +*/
  
 Основные главы: Основные главы:
Строка 23: Строка 26:
 ~~TOC_HERE~~ ~~TOC_HERE~~
 ~~TOC 1-3 wide~~ ~~TOC 1-3 wide~~
 +
  
 {{anchor:​grplib}} {{anchor:​grplib}}
Строка 28: Строка 32:
 FIXME FIXME
  
-Графическая Библиотека MSX для BDS C версия 3.02 +{{anchor:​grplib_disk}} 
-\\ MSX Graphic Library for BDS C v3.02+Графическая Библиотека MSX для BDS C версия 3.05 
 +\\ MSX Graphic Library for BDS C v3.05 
 + 
 +{{:​msx:​maestro:​devdisk_-_msx_graphic_lib_3.05.dsk|Образ диска с версией 3.05}}
  
 (C) МЭВЦ 1988 (C) МЭВЦ 1988
Строка 104: Строка 111:
 В частности,​ раздел библиотеки [[#​GRPLIB2]] содержит функции ТОЛЬКО для [[msx:​msx_2|MSX2]] и НЕ ДОЛЖЕН использоваться при написании программ для [[msx:​msx_1|MSX1]],​ а раздел [[#​GRPLIB5]] и заголовок ''​GRPMSX1.H''​ ДОЛЖНЫ быть подключены к программе,​ если она рассчитана на компьютер MSX с 16 кбайт видеопамяти и без [[msx:​bios#​subrom|SubROM]] (дополнительного 16-кбайтного расширения ПЗУ, обеспечивающего большинство функций [[msx:​msx_2|MSX2]] со 128 кбайт видеопамяти и энергонезависимой памятью для календаря,​ часов, пароля и т.п.). В частности,​ раздел библиотеки [[#​GRPLIB2]] содержит функции ТОЛЬКО для [[msx:​msx_2|MSX2]] и НЕ ДОЛЖЕН использоваться при написании программ для [[msx:​msx_1|MSX1]],​ а раздел [[#​GRPLIB5]] и заголовок ''​GRPMSX1.H''​ ДОЛЖНЫ быть подключены к программе,​ если она рассчитана на компьютер MSX с 16 кбайт видеопамяти и без [[msx:​bios#​subrom|SubROM]] (дополнительного 16-кбайтного расширения ПЗУ, обеспечивающего большинство функций [[msx:​msx_2|MSX2]] со 128 кбайт видеопамяти и энергонезависимой памятью для календаря,​ часов, пароля и т.п.).
  
-Абсолютно необходимым условием успешного применения функций библиотеки является знание программистом архитектуры и особенностей компьютеров [[msx:​msx_1|MSX1]] и [[msx:​msx_2|MSX2]],​ операционной системы [[msx:​dos|]] и основных принципов работы со знакоместной и битмэп-графикой. Кроме этого, совершенно необходимо знание языка Си и особенностей его конкретной реализации в системе [[bds_c:bds_c|]] (смотри {{:​bds_c:​bds_c_v1.50a_users_guide_addenda_jul83.pdf|C Compiler v1.5 Users Guide, Copyright (c) 1982 by Leor Zolman BD Software}}).+Абсолютно необходимым условием успешного применения функций библиотеки является знание программистом архитектуры и особенностей компьютеров [[msx:​msx_1|MSX1]] и [[msx:​msx_2|MSX2]],​ операционной системы [[msx:dos:|]] и основных принципов работы со знакоместной и битмэп-графикой. Кроме этого, совершенно необходимо знание языка Си и особенностей его конкретной реализации в системе [[bds_c:|]] (смотри {{:​bds_c:​bds_c_v1.50a_users_guide_addenda_jul83.pdf|C Compiler v1.5 Users Guide, Copyright (c) 1982 by Leor Zolman BD Software}}).
  
 Для нормальной работы большинства функций Библиотеки требуется выделение и инициализация специальной системной рабочей области памяти. Эта рабочая область выделяется автоматически при ОБЯЗАТЕЛЬНОМ включении в создаваемую программу одного из двух Для нормальной работы большинства функций Библиотеки требуется выделение и инициализация специальной системной рабочей области памяти. Эта рабочая область выделяется автоматически при ОБЯЗАТЕЛЬНОМ включении в создаваемую программу одного из двух
Строка 176: Строка 183:
 </​code>​ </​code>​
 Примечания:​ Примечания:​
-  * точка «.» может быть использована в [[msx:​dos|]] вместо ''​REM'';​+  * точка «.» может быть использована в [[msx:dos:|]] вместо ''​REM'';​
   * если в файле ''​GRO.CRL''​ (результат работы компилятора [[bds_c:​bds_c|]]) появляются функции с именами,​ такими же как и в файлах Библиотеки ''​GRPLIB4.CRL''​ … ''​GRPLIB1.CRL''​ — они заменяют соответствующие функции Библиотеки,​ так как находятся в командной строке ''​clink''​ ДО переключателя ''​-f''​ (см. [[bds_c:​bds_c|]] ''​clink''​) (этот приём используется для подключения функций пользователя вместо стандартных системных заглушек,​ находящихся в библиотеке (''​[[#​process1() … process9()]]'',​ ''​[[#​tickexit()]]''​ — ), а также для исключения нежелательных библиотечных функций,​ которые подключаются автоматически (путём написания заглушек пользователем));​   * если в файле ''​GRO.CRL''​ (результат работы компилятора [[bds_c:​bds_c|]]) появляются функции с именами,​ такими же как и в файлах Библиотеки ''​GRPLIB4.CRL''​ … ''​GRPLIB1.CRL''​ — они заменяют соответствующие функции Библиотеки,​ так как находятся в командной строке ''​clink''​ ДО переключателя ''​-f''​ (см. [[bds_c:​bds_c|]] ''​clink''​) (этот приём используется для подключения функций пользователя вместо стандартных системных заглушек,​ находящихся в библиотеке (''​[[#​process1() … process9()]]'',​ ''​[[#​tickexit()]]''​ — ), а также для исключения нежелательных библиотечных функций,​ которые подключаются автоматически (путём написания заглушек пользователем));​
   * порядок следования библиотечных файлов по убыванию их номеров <​code>​… -f grplib5 grplib4 grplib3 grplib2 grplib1 grpliba …</​code>​ является существенным для ''​clink'',​ так как в противном случае ''​clink''​ не найдёт функции,​ на которые появятся отсылки «назад» (см. [[bds_c:​bds_c|]] ''​clink''​).   * порядок следования библиотечных файлов по убыванию их номеров <​code>​… -f grplib5 grplib4 grplib3 grplib2 grplib1 grpliba …</​code>​ является существенным для ''​clink'',​ так как в противном случае ''​clink''​ не найдёт функции,​ на которые появятся отсылки «назад» (см. [[bds_c:​bds_c|]] ''​clink''​).
Строка 206: Строка 213:
 char mode, *msg1, *msg2; char mode, *msg1, *msg2;
 </​code>​ </​code>​
-Аварийный выход из программы в [[msx:​dos|]] с установкой (без установки) ''​Screen 0''​ и выдачей сообщения (сообщений).+Аварийный выход из программы в [[msx:dos:|]] с установкой (без установки) ''​Screen 0''​ и выдачей сообщения (сообщений).
  
 Значения ''​mode''​ Значения ''​mode''​
Строка 402: Строка 409:
 char mode; char mode;
 </​code>​ </​code>​
-Отладочная функция,​ которая обычно стандартно подключается к каждой программе и вызывается диспетчером параллельных процессов с параметром 0 (''​showpage(0)''​). В этом режиме функция проверяет нажатие клавиш <​key>​STOP</​key>​ и <​key>​SELECT</​key>​ и, если они нажаты,​ захватывает управление. После этого, нажатие функциональных клавиш <​key>​F1</​key>​...<​key>​F4</​key>​ даёт возможность визуально проверить состояние всех страниц VRAM с плавным просмотром каждой страницы при помощи клавиш курсора,​ <​key>​F5</​key>​ возвращает управление в прерванную программу,​ <​key>​STOP</​key>​ и <​key>​F5</​key>​ — возвращает управление [[msx:​dos|]] с выдачей статистики использования процессов и состояний почтовых ящиков.+Отладочная функция,​ которая обычно стандартно подключается к каждой программе и вызывается диспетчером параллельных процессов с параметром 0 (''​showpage(0)''​). В этом режиме функция проверяет нажатие клавиш <​key>​STOP</​key>​ и <​key>​SELECT</​key>​ и, если они нажаты,​ захватывает управление. После этого, нажатие функциональных клавиш <​key>​F1</​key>​...<​key>​F4</​key>​ даёт возможность визуально проверить состояние всех страниц VRAM с плавным просмотром каждой страницы при помощи клавиш курсора,​ <​key>​F5</​key>​ возвращает управление в прерванную программу,​ <​key>​STOP</​key>​ и <​key>​F5</​key>​ — возвращает управление [[msx:dos:|]] с выдачей статистики использования процессов и состояний почтовых ящиков.
  
 ВНИМАНИЕ! Для сокращения объёма уже отлаженной программы можно исключить эту функцию на этапе компоновки,​ написав в тексте вашей программы заглушку с тем же именем:​ ВНИМАНИЕ! Для сокращения объёма уже отлаженной программы можно исключить эту функцию на этапе компоновки,​ написав в тексте вашей программы заглушку с тем же именем:​
Строка 1496: Строка 1503:
 ''​diskdir()''​ возвращает количество точек входа, помещённых в ''​buf1700'',​ и релевантных ''​dirmask''​ ''​diskdir()''​ возвращает количество точек входа, помещённых в ''​buf1700'',​ и релевантных ''​dirmask''​
  
-''​dirmask''​ является символической строкой (оканчивающейся двоичным нулём) в стандартной нотации [[msx:​dos|]]:​+''​dirmask''​ является символической строкой (оканчивающейся двоичным нулём) в стандартной нотации [[msx:​dos:|]]:
 <​code>​ <​code>​
 [drive:​]filename[.suffix]\0 [drive:​]filename[.suffix]\0
Строка 1657: Строка 1664:
 char count; char count;
 </​code>​ </​code>​
-Вывести на принтер ''​count''​ байт начиная с адреса ''​adr''​ непосредственно через [[msx:​dos|]] (не используя ''​lprintf()''​ [[bds_c:​bds_c|]]). Эту функцию,​ в том числе, удобно использовать для посылки кодов управления принтером.+Вывести на принтер ''​count''​ байт начиная с адреса ''​adr''​ непосредственно через [[msx:dos:|]] (не используя ''​lprintf()''​ [[bds_c:​bds_c|]]). Эту функцию,​ в том числе, удобно использовать для посылки кодов управления принтером.
  
 === lprint2() === === lprint2() ===
Строка 1694: Строка 1701:
 Функция ''​alloc()''​ [[bds_c:​bds_c|]] (в отличие от ''​sbrk()''​) не может выделять память блоками более 32 кбайт — это связано с тем, что одна из переменных в ''​alloc()''​ описана как int вместо unsigned. Функция ''​alloc()''​ [[bds_c:​bds_c|]] (в отличие от ''​sbrk()''​) не может выделять память блоками более 32 кбайт — это связано с тем, что одна из переменных в ''​alloc()''​ описана как int вместо unsigned.
  
-Это ЕДИНСТВЕННАЯ ошибка(?​),​ которую автор Библиотеки обнаружил в [[bds_c:​bds_c|]] v1.50a ​ за более чем три года интенсивной эксплуатации этой системы. Здесь же отметим,​ что ошибочная ситуация со стеком при автоматическом вызове ''​cc2.com''​ из ''​cc.com''​ порождена отличием [[msx:dos#v1x|MSX-DOS]] 1.03 от [[msx:cp_m:cp_m|CP/M]], а не ошибкой [[bds_c:bds_c|]].+Это ЕДИНСТВЕННАЯ ошибка(?​),​ которую автор Библиотеки обнаружил в [[bds_c:​bds_c|]] v1.50a ​ за более чем три года интенсивной эксплуатации этой системы. Здесь же отметим,​ что ошибочная ситуация со стеком при автоматическом вызове ''​cc2.com''​ из ''​cc.com''​ порождена отличием [[msx:dos:|]] 1.03 от [[msx:​cp_m:​|]],​ а не ошибкой [[bds_c:​|]].
 Это отличие компенсировано автором Библиотеки небольшим изменением кода ''​cc.com''​ (вместе с добавлением обнуления счётчиков времени для утилиты [[#​DURATION.COM]]). Изменённую версию ''​cc.com''​ можно идентифицировать по номеру версии,​ выводимому на экран во время выполнения ''​cc.com''​ (v1.50aR вместо v1.50a). Это отличие компенсировано автором Библиотеки небольшим изменением кода ''​cc.com''​ (вместе с добавлением обнуления счётчиков времени для утилиты [[#​DURATION.COM]]). Изменённую версию ''​cc.com''​ можно идентифицировать по номеру версии,​ выводимому на экран во время выполнения ''​cc.com''​ (v1.50aR вместо v1.50a).
  
Строка 2240: Строка 2247:
 /* macro */ /* macro */
 </​code>​ </​code>​
-FIXME Выход в [[msx:​dos|]] с восстановлением Screen 0 и параметров цвета экрана из энергонезависимой памяти MSX2 или GRPMSX1.H MSX1+FIXME Выход в [[msx:dos:|]] с восстановлением Screen 0 и параметров цвета экрана из энергонезависимой памяти MSX2 или GRPMSX1.H MSX1
  
 === PAUSE() === === PAUSE() ===
Строка 2448: Строка 2455:
 Ставит музыкальный фрагмент с адресом ''​qad''​ в музыкальную очередь. Ставит музыкальный фрагмент с адресом ''​qad''​ в музыкальную очередь.
  
-Eсли cycle=0, элемент играется один раз; в противном случае ''​[[mutick()]]'',​ встретив байт 0xFF, не переписывает его в системную очередь,​ а начинает с места данной входной очереди,​ указанного в ''​Vptr''​.+Eсли cycle=0, элемент играется один раз; в противном случае ''​[[#mutick()]]'',​ встретив байт 0xFF, не переписывает его в системную очередь,​ а начинает с места данной входной очереди,​ указанного в ''​Vptr''​.
  
 Если в нотной строке не было операторов ':',​ указатель содержит 0; если встретилось несколько операторов ':',​ указатель соответствует последнему из них. Если в нотной строке не было операторов ':',​ указатель содержит 0; если встретилось несколько операторов ':',​ указатель соответствует последнему из них.
Строка 2454: Строка 2461:
 Вызывает ''​[[#​lf4init()]]'',​ включает шум. Вызывает ''​[[#​lf4init()]]'',​ включает шум.
  
 +/*
 <code c> <code c>
 play(cycle,​qad) play(cycle,​qad)
Строка 2460: Строка 2468:
 </​code>​ </​code>​
 То же, что play(), исключая вызов ''​[[#​lfo4init()]]''​ То же, что play(), исключая вызов ''​[[#​lfo4init()]]''​
 +*/
 === mutick() === === mutick() ===
 <code с> <code с>
Строка 2628: Строка 2636:
 Если оn и off равны 0, мерцания нет, все выводится в основных цветах. Если on=15, а off=0, мерцания также нет, но позиции,​ помеченные в Color Table, выводятся альтернативными цветами,​ т.е. появляется возможность работать в режиме TEXT2 с четырьмя цветами. Если оn и off равны 0, мерцания нет, все выводится в основных цветах. Если on=15, а off=0, мерцания также нет, но позиции,​ помеченные в Color Table, выводятся альтернативными цветами,​ т.е. появляется возможность работать в режиме TEXT2 с четырьмя цветами.
  
-<​code>​+ 
 +=== rstblnk() === 
 +<​code ​c>
 rstblnk() rstblnk()
-  - устанавливает период мерцаний равным 0, т.е. выключает ​ +</​code>​ 
-    ​мерцание на всем экране,​ не изменяя Color Table.+Устанавливает период мерцаний равным 0, т.е. выключает мерцание на всем экране,​ не изменяя Color Table.
  
 +=== clrblnk() ===
 +<code c>
 clrblnk() clrblnk()
-  - обнуляет Color Table, т.е выключает мерцание для каждой ​ +</​code>​ 
-    ​позиции экрана.+Обнуляет Color Table, т.е выключает мерцание для каждой позиции экрана.
  
 +=== blink() ===
 +<code c>
 blink(x,​y,​len) blink(x,​y,​len)
 int x,y,len; int x,y,len;
-  - включает мерцание для len позиций экрана,​ начиная с  +</​code>​ 
-    ​позиции с координатами (x,y).+Включает мерцание для ​''​len'' ​позиций экрана,​ начиная с позиции с координатами (''​x,y''​).
  
 +=== xblink() ===
 +<code c>
 xblink(x,​y,​len) xblink(x,​y,​len)
 int x,y,len; int x,y,len;
-  - переключает мерцание для len позиций экрана,​ начиная с  +</​code>​ 
-    ​позиции с координатами (x,y) (т.е. включает для выключенных,​ +Переключает мерцание для ​''​len'' ​позиций экрана,​ начиная с позиции с координатами (''​x,y''​) (т.е. включает для выключенных,​ выключает для включённых).
-    ​выключает для включенных).+
  
 +=== dblink() ===
 +<code c>
 dblink(x,​y,​len) dblink(x,​y,​len)
 int x,y,len; int x,y,len;
-  - выключает мерцание для len позиций экрана,​ начиная с позиции с координатами (x,y).+</​code>​ 
 +Выключает мерцание для ​''​len'' ​позиций экрана,​ начиная с позиции с координатами (''​x,y''​). 
 + 
 +===== Ограничения =====
  
 Ограничения,​ накладываемые звукогенератором и механизмом прерываний:​ Ограничения,​ накладываемые звукогенератором и механизмом прерываний:​
- ​1. ​Длительность звучания ноты измеряется в тиках ​1/60 сек ​ +  - Длительность звучания ноты измеряется в тиках ​— 1/60 сек(на некоторых машинах ​— 1/​50). ​ Она определяется по формуле: ​\\ d=14400/​(t*l) ​     (на 50гц машинах ​— 12000), минимальная длительность равна двум тикам, максимальная - 4095. \\ Систематическая погрешность округления при нецелом частном может приводить к рассинхронизации голосов,​ которую приходится устранять вручную,​ вставляя дополнительные ​ ноты и контролируя длительности ​ голосов в поле ​"Ticks" ​на [[msx:​maestro:​med:​med|экране музыкального редактора]]
-( на некоторых машинах ​1/​50). ​ Она определяется по формуле: ​   +  ​- ​В моменты обращения к диску системный обработчик прерываний получает управление с задержкой, ​ что ​ приводит ​ к  искажению длительностей нот, загруженных в это время в звукогенератор. 
-                   d=14400/​(t*l) ​     (на 50-гц машинах ​12000), +  ​- ​Если ​''​[[#​tickexit()]]'' ​в программе пользователя ​ слишком ​ долго не получает управления (например,​ при неправильно организованном ожидании ввода с клавиатуры;​ при использовании отладочной функции ​''​[[#​dump()]]'' ​с большим объёмом выдачи и т.п.), и успевают доиграть все  
-минимальная длительность равна двум тикам, максимальная - 4095. +пакеты,​ поставленные mutick() в системную очередь,​ может произойти отключение или рассинхронизация голосов. Поэтому надо ​ внимательно отслеживать возможные источники задержек,​ обязательно вставлять ​''​[[#​totick()]]'' ​в продолжительные или зависящие от внешних событий циклы и функции,​ осторожно пользоваться ​''​[[#​DIS_INTERRUPT]]''​''​[[#​TICKOFF]]'' ​и ''​[[#​TICKSTOP]]''​
-Систематическая погрешность округления при нецелом частном может +Если специфика программы такова,​ что гарантировать регулярное выполнение tickexit() невозможно,​ остаётся воспользоваться функцией ​''​[[#​autoplay()]]''​.
-приводить к рассинхронизации голосов,​ которую приходится устранять ​ +
-вручную,​ вставляя дополнительные ​ ноты и контролируя длительности ​ +
-голосов в поле ​'Ticks' ​на экране музыкального редактора. +
- 2. В моменты обращения к диску системный обработчик прерываний ​ +
-получает управление с задержкой, ​ что ​ приводит ​ к  искажению ​ +
-длительностей нот, загруженных в это время в звукогенератор. +
- 3. Если tickexit() в программе пользователя ​ слишком ​ долго ​ +
-не получает управления (например,​ при неправильно организованном ​ +
-ожидании ввода с клавиатуры;​ при использовании отладочной функции ​ +
-dump() с большим объемом выдачи и т.п.), и успевают доиграть все  +
-пакеты,​ поставленные mutick() в системную очередь,​ может произойти ​ +
-отключение или рассинхронизация голосов. Поэтому надо ​ внимательно ​  +
-отслеживать возможные источники задержек,​ обязательно вставлять ​ +
-totick() в продолжительные или зависящие от внешних событий циклы и  +
-функции,​ осторожно пользоваться DIS_INTERRUPT,​ TICKOFF и TICKSTOP. +
-Если специфика программы такова,​ что гарантировать регулярное ​ +
-выполнение tickexit() невозможно,​ остается воспользоваться ​ +
-функцией autoplay().+
   ​   ​
-Примечание: ​  ​grpini(), tickexit(), totick(), dump(), DIS_INTERRUPT, ​ +__//Примечание//__ 
-             TICKOFF, TICKSTOP ​функции,​ входящие в ПС "​МАЭСТРО"​.  +  * ''​[[#​grpini()]]''​''​[[#​tickexit()]]''​''​[[#​totick()]]''​''​[[#​dump()]]''​''​[[#​DIS_INTERRUPT]]''​''​[[#​TICKOFF]]''​''​[[#​TICKSTOP]]''​ — функции,​ входящие в ПС "​МАЭСТРО"​.  
-              swapin() ​функция BDS C. +  * ''​[[#​swapin()]]''​ — функция BDS C. 
-</​code>​+
  
 ====== Утилиты ====== ====== Утилиты ======
Строка 2713: Строка 2715:
 ===== Условия применения утилит ===== ===== Условия применения утилит =====
  
-Для работы утилит требуется MSX компьютер с 64 кбайт оперативной памяти и как минимум одним дисководом. Большинство утилит может выполняться как на [[msx:​msx_1|MSX]] так и на [[msx:​msx_2|MSX2]]. Случаи использования [[msx:​msx_2|MSX2]] оговариваются особо. Операционная система:​ [[msx:dos#v1x|MSX-DOS 1]] версии 1.03 (''​COMMAND.COM''​ 1.11).+Для работы утилит требуется MSX компьютер с 64 кбайт оперативной памяти и как минимум одним дисководом. Большинство утилит может выполняться как на [[msx:​msx_1|MSX]] так и на [[msx:​msx_2|MSX2]]. Случаи использования [[msx:​msx_2|MSX2]] оговариваются особо. Операционная система:​ [[msx:dos:|]] версии 1.03 (''​COMMAND.COM''​ 1.11).
  
 Внимание! Для нестандартных модификаций операционной системы и консольного процессора нормальная работа утилит не гарантируется. Внимание! Для нестандартных модификаций операционной системы и консольного процессора нормальная работа утилит не гарантируется.
Строка 2740: Строка 2742:
 ^Формат командной строки|<​code>​blade [<​fileset>​]</​code>​| ^Формат командной строки|<​code>​blade [<​fileset>​]</​code>​|
 ^Параметры|<​WRAP>​ ^Параметры|<​WRAP>​
-  * ''<​fileset>''​ — любая стандартная маска набора файлов [[msx:​dos|]] с расширением «!» — [and] not. Если не указан — ''​*.*''​+  * ''<​fileset>''​ — любая стандартная маска набора файлов [[msx:dos:|]] с расширением «!» — [and] not. Если не указан — ''​*.*''​
 </​WRAP>​| </​WRAP>​|
 ^Особенности|Файлы,​ релевантные маске, сортируются по алфавиту и проверяются на наличие FE в первом байте файла. В случае присутствия FE на экран выводится имя файла и три шестнадцатеричных слова: адрес загрузки,​ адрес конца и адрес передачи управления.| ^Особенности|Файлы,​ релевантные маске, сортируются по алфавиту и проверяются на наличие FE в первом байте файла. В случае присутствия FE на экран выводится имя файла и три шестнадцатеричных слова: адрес загрузки,​ адрес конца и адрес передачи управления.|
Строка 2768: Строка 2770:
 ^Параметры|<​WRAP>​ ^Параметры|<​WRAP>​
   * ''/​p''​ — вывод копии экрана на принтер.   * ''/​p''​ — вывод копии экрана на принтер.
-  * ''<​fileset>''​ — любая стандартная маска набора файлов [[msx:​dos|]] с расширением «!» — [and] not. Если не указан — *.*+  * ''<​fileset>''​ — любая стандартная маска набора файлов [[msx:dos:|]] с расширением «!» — [and] not. Если не указан — *.*
 </​WRAP>​| </​WRAP>​|
 ^Особенности|Файлы,​ релевантные маске, выводятся на экран в отсортированном по алфавиту суффиксов,​ а внутри них — по именам файлов виде.| ^Особенности|Файлы,​ релевантные маске, выводятся на экран в отсортированном по алфавиту суффиксов,​ а внутри них — по именам файлов виде.|
Строка 2834: Строка 2836:
 </​WRAP>​| </​WRAP>​|
 ^Особенности|<​WRAP>​ ^Особенности|<​WRAP>​
-  - Нажатие любой клавиши останавливает/​продолжает дамп. Нажатие клавиши <​key>​STOP</​key>​ приводит к выходу в [[msx:​dos|]].+  - Нажатие любой клавиши останавливает/​продолжает дамп. Нажатие клавиши <​key>​STOP</​key>​ приводит к выходу в [[msx:dos:|]].
   - При помощи утилиты DUMP можно объединить несколько разных фрагментов разных источников в один файл — разделителем источников в командной строке является символ '&'​ (см. пример).   - При помощи утилиты DUMP можно объединить несколько разных фрагментов разных источников в один файл — разделителем источников в командной строке является символ '&'​ (см. пример).
   - В качестве отдельных источников в командной строке могут использоваться специальные параметры (без пробелов)   - В качестве отдельных источников в командной строке могут использоваться специальные параметры (без пробелов)
Строка 3206: Строка 3208:
 {{:​msx:​maestro:​maestro_glall-305.txt|}} {{:​msx:​maestro:​maestro_glall-305.txt|}}
  
 +{{anchor:​microprocessor_means_and_systems_1988_06}}
 <hidden Реклама в журнале "​Микропроцессорные средства и системы"​ №6, 1988> <hidden Реклама в журнале "​Микропроцессорные средства и системы"​ №6, 1988>
 {{msx_maestro.jpg?​1000|}} \\ [[https://​i.postimg.cc/​vmMr7cyF/​image.jpg|оригинал]] \\ {{msx_maestro.jpg?​1000|}} \\ [[https://​i.postimg.cc/​vmMr7cyF/​image.jpg|оригинал]] \\
 {{msx_maestro_02.jpg?​1000|}} \\ [[https://​pic.maxiol.com/​images2/​1613586053.1054456127.72j.jpg|оригинал]]\\ {{msx_maestro_02.jpg?​1000|}} \\ [[https://​pic.maxiol.com/​images2/​1613586053.1054456127.72j.jpg|оригинал]]\\
 Реклама в журнале "​Микропроцессорные средства и системы"​ №6, 1988 Реклама в журнале "​Микропроцессорные средства и системы"​ №6, 1988
 +</​hidden>​
 +
 +{{anchor:​mpc0398}}
 +<hidden Реклама в журнале "​Мир ПК №3, 1989">​
 +Файл предоставил **Артем Читайло**
 +
 +{{:​msx:​maestro:​mpc0398_maestro.jpg|}}
 </​hidden>​ </​hidden>​
  
Строка 3219: Строка 3229:
  
 {{tag>​MSX Programming Rodionov_A_B}} {{tag>​MSX Programming Rodionov_A_B}}
- 
-<​PRELOAD>​ 
-<!-- Yandex.Metrika counter --> 
-<script type="​text/​javascript"​ > 
-   ​(function(m,​e,​t,​r,​i,​k,​a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};​ 
-   ​m[i].l=1*new Date();​k=e.createElement(t),​a=e.getElementsByTagName(t)[0],​k.async=1,​k.src=r,​a.parentNode.insertBefore(k,​a)}) 
-   ​(window,​ document, "​script",​ "​https://​mc.yandex.ru/​metrika/​tag.js",​ "​ym"​);​ 
- 
-   ​ym(86679439,​ "​init",​ { 
-        clickmap:​true,​ 
-        trackLinks:​true,​ 
-        accurateTrackBounce:​true 
-   }); 
-</​script>​ 
-<​noscript><​div><​img src="​https://​mc.yandex.ru/​watch/​86679439"​ style="​position:​absolute;​ left:​-9999px;"​ alt=""​ /></​div></​noscript>​ 
-<!-- /​Yandex.Metrika counter --> 
-</​PRELOAD>​ 
msx/maestro/maestro.1648543187.txt.gz · Последние изменения: 2022-03-29 11:39 — GreyWolf