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

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


msx:msx2_programming_technique:msx2_programming_technique

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
msx:msx2_programming_technique:msx2_programming_technique [2023-02-04 23:11]
GreyWolf [BCD - aрифметика]
msx:msx2_programming_technique:msx2_programming_technique [2023-02-04 23:28] (текущий)
GreyWolf [Видеопроцессор (VDP) MSX-VIDEO]
Строка 2058: Строка 2058:
  
 ====== BIOS ====== ====== BIOS ======
-<​code>​ 
-     В каждый без исключения компьютер MSX2 встроено большое 
-количество подпрограмм со стандартными правилами вызова,​ за- 
-готовленных практически на любой случай жизни: 
-     - опрос мануальных устройств (клавиатуры,​ мыши, трекбо- 
-ла, джойстика,​ светового пера, тач-панели и пр.); 
-     - работа с графикой (смена режимов экрана,​ точечно-век- 
-торная и растровая графика,​ регулировка палитры,​ прямой дос- 
-туп к VDP, спрайты,​ скоростные пересылки фрагментов,​ гашение 
-дисплея и пр.); 
-     - ввод и вывод строк, управление координатами и  стилем 
-курсора;​ 
-     - музыкально-шумовые эффекты,​ битовый ввод-вывод звука, 
-прямой доступ к AUDIO; 
-     - математический пакет (разбор выражений,​ арифметика ​ с 
-плавающей точкой,​ тригонометрия);​ 
-     - обслуживание слотов,​ принтера,​ видеотайзера,​ таймера;​ 
  
-     ​Этот набор носит сокращенное название BIOS и размещает- +В каждый ​без исключения компьютер MSX2 встроено большое количество подпрограмм со стандартными правилами вызова, заготовленных ​практически на любой случай жизни:​ 
-ся в двух ROM, именуемых MAIN-ROM (есть и у MSX, и у MSX2) и +  * опрос мануальных устройств (клавиатурымыши, трекбола, джойстика, ​светового пера, тач-панели и пр.); 
-SUB-ROM (только у MSX2). Каждая ROM имеет ​стандартный список +  * работа ​с графикой (смена режимов экрана, ​точечно-векторная и растровая графика, регулировка палитры, ​прямой доступ к VDP, спрайты, ​скоростные ​пересылки фрагментов,​ гашение 
-входных точек, к которым и производится обращение. +  * дисплея ​и пр.); 
-     BIOS составляет основу всей "​философии MSX": ​если  Ваша +  * ввод и вывод ​строк, управление координатами и стилем курсора; 
-программа все ​свои операции проводит строго через BIOS она +  * музыкально-шумовые эффектыбитовый ввод–вывод звукапрямой доступ к AUDIO; 
-полностью застрахована от коллизий, связанных с переходом на +  * математический пакет (разбор выражений, ​арифметика ​с плавающей точкой, тригонометрия); 
-другую модель компьютера или непредвиденным ​ изменением  его +  * обслуживание слотов, ​принтера, видеотайзера, таймера;
-конфигурации.+
  
-     Доступ к входным точкам MAIN-ROM ​и SUB-ROM ​открывается, +Этот набор носит сокращенное название BIOS и размещается в двух ROM, именуемых [[msx:​bios#​main|MAIN-ROM]] (есть и у MSXи у MSX2) и [[msx:​bios#​sub|SUB-ROM]] (только у MSX2). Каждая ROM имеет стандартный ​список ​входных точек, к которым ​и производится обращение.
-благодаря межслотовым процедурам. Требуемый номер слота ​ для +
-MAIN-ROM содержится по адресу FCC1hдля ​SUB-ROM ​- по адресу +
-FAF8h, поэтому корректный вызов ​точки ​BIOS выглядит ​так:+
  
 +BIOS составляет основу всей "​философии MSX": если Ваша программа все свои операции проводит строго через BIOS, она полностью застрахована от коллизий,​ связанных с переходом на
 +другую модель компьютера или непредвиденным изменением его конфигурации.
 +
 +Доступ к входным точкам [[msx:​bios#​main|MAIN-ROM]] и [[msx:​bios#​sub|SUB-ROM]] открывается,​благодаря межслотовым процедурам. Требуемый номер слота для [[msx:​bios#​main|MAIN-ROM]] содержится по адресу FCC1h, для [[msx:​bios#​sub|SUB-ROM]] — по адресу
 +FAF8h, поэтому корректный вызов точки BIOS выглядит так:
 +<​code>​
 ; вызов подпрограммы из MAIN-ROM ; вызов подпрограммы из MAIN-ROM
  
Строка 2102: Строка 2087:
  ld iy,​(0FAF7h)  ld iy,​(0FAF7h)
  call 001Ch  call 001Ch
- 
-     ​Кстати,​ машины MSX не имеют SUB-ROM, поэтому в их ячей- 
-ке FAF8h содержится 0, что позволяет отличать их от MSX2. 
- 
-     ​Важно отчетливо осознавать,​ что ​ стандартом ​ закреплены 
-только адреса входных точек, правила их вызова и выполняемые 
-ими действия,​ в то время как расположение и содержание самих 
-подпрограмм имеет право изменяться от машины к машине:​ в том 
-и заключается миссия BIOS, чтобы ​ компенсировать ​ аппаратные 
-различия компьютеров программным путем. 
-     ​Попутно заметим,​ что интерпретатор языка BASIC не явля- 
-ется частью BIOS (как и любая другая программа,​ содержащаяся 
-во внешнем или резидентном катридже),​ поэтому любые адреса и 
-процедуры в теле BASIC-ROM имеют право радикально изменяться 
-вместе с моделью компьютера. 
 </​code>​ </​code>​
 +Кстати,​ машины MSX не имеют SUB-ROM, поэтому в их ячейке FAF8h содержится 0, что позволяет отличать их от MSX2.
  
 +Важно отчетливо осознавать,​ что стандартом закреплены только адреса входных точек, правила их вызова и выполняемые ими действия,​ в то время как расположение и содержание самих
 +подпрограмм имеет право изменяться от машины к машине:​ в том и заключается миссия BIOS, чтобы компенсировать аппаратные различия компьютеров программным путем.
 +
 +Попутно заметим,​ что интерпретатор языка [[msx:​basic:​|]] не является частью BIOS (как и любая другая программа,​ содержащаяся во внешнем или резидентном катридже),​ поэтому любые адреса и процедуры в теле BASIC-ROM имеют право радикально изменяться вместе с моделью компьютера.
  
 ====== Видеопроцессор (VDP) MSX-VIDEO ====== ====== Видеопроцессор (VDP) MSX-VIDEO ======
-<​code>​ + 
-     ​Рассуждая о графических возможностях машин MSX2, трудно +Рассуждая о графических возможностях машин MSX2, трудно воздержаться от восхищенных эпитетов в адрес видеопроцессора (VDP) [[msx:​yamaha_v9938:​yamaha_v9938|V9938]] MSX-VIDEO, благодаря которому компьютеры MSX2 не уступили в мультипликационной графике мощным 16/​32-разрядным
-воздержаться от восхищенных эпитетов в адрес видеопроцессора +
-(VDP) V9938 MSX-VIDEO, благодаря которому компьютеры MSX2 не +
-уступили в мультипликационной графике мощным 16/​32-разрядным+
 персональным машинам. персональным машинам.
-     ​MSX-VIDEO - это не просто графический ​ адаптер, ​ задача 
-которого сводится только лишь к отображению памяти на экран. 
-Это независимый процессор,​ самостоятельно выполняющий ​ массу 
-специфических операций,​ для обстоятельного изучения ​ которых 
-нужен отдельный разговор. Попытаемся хотя бы перечислить их. 
  
-     MSX-VIDEO ​синтезирует экранное  изображение  ​на ​ основе +MSX-VIDEO ​— это не просто графический адаптер, ​задача которого сводится только ​лишь к отображению памяти на экран
-данных,​ находящихся в отдельной видеопамяти (VRAM), ​ выдавая +Это независимый ​процессорсамостоятельно выполняющий ​массу специфических операций, для обстоятельного изучения которых нужен отдельный разговор. Попытаемся хотя бы перечислить их.
-на разъемы сигнал RGB и композитный телесигнал ​ в  стандарте +
-PAL или NTSC. Он имеет 2 текстовых и 8 графических  режимов,​ +
-близких по характеристикам к адаптерам CGAEGA и  VGA.  Его +
-цветовая палитра содержит 512 градаций, причем на экране мо+
-гут сосуществовать 256 цветов. Благодаря ​ режиму ​ interlace,​ +
-максимальная дискретность ​достигает 512 x 424. +
-     ​MSX-VIDEO умеет самостоятельно рисовать точки, отрезки+
-прямоугольники и переносить фрагменты изображений,  выполняя +
-разнообразные операции над цветами. Исключительно компактная +
-знакоместная графика позволяет упаковать в RAM  ​изображение, +
-превосходящее площадь экрана в сотни раза в  сочетании  со +
-спрайтами ​обеспечивает высокоскоростную мультипликацию. +
-     ​VDP ​может изменять цвет рамки экрана,​ гасить и включать +
-экран, плавно скроллировать его в вертикальном  направлении+
-генерировать ​прерывания в заданной строке развертки, мерцать +
-символами, автоматически переключать страницы VRAM,  смещать +
-изображение относительно экранных границ, регистрировать на- +
-ложение спрайтов, переходить в монохромный ​ режим,  изменять +
-частоту развертки, оцифровывать внешний сигнал, смешивать  с +
-ним свой сигнал и многое другое.+
  
-     Поскольку VDP имеет 39 внутренних управляющих регистров +MSX-VIDEO синтезирует экранное изображение на основе данных,​ находящихся в отдельной видеопамяти (VRAM), выдавая на разъемы сигнал RGB и композитный телесигнал в стандарте 
-(со сложным битовым форматом),​ целесообразно оставить заботу +PAL или NTSC. Он имеет 2 текстовых и 8 графических режимов,​ близких по характеристикам к адаптерам CGA, EGA и VGA. Его цветовая палитра содержит 512 градаций,​ причем на экране мо- 
-обо всех тонкостях управления VDP процедурам BIOS и заняться+гут сосуществовать 256 цветов. Благодаря режиму interlace, максимальная дискретность достигает 512×424. 
 + 
 +MSX-VIDEO умеет самостоятельно рисовать точки, отрезки,​ прямоугольники и переносить фрагменты изображений,​ выполняя разнообразные операции над цветами. Исключительно компактная 
 +знакоместная графика позволяет упаковать в RAM изображение,​ превосходящее площадь экрана в сотни раз, а в сочетании со спрайтами обеспечивает высокоскоростную мультипликацию. 
 + 
 +VDP может изменять цвет рамки экрана,​ гасить и включать экран, плавно скроллировать его в вертикальном направлении,​ генерировать прерывания в заданной строке развертки,​ мерцать символами,​ автоматически переключать страницы VRAM, смещать изображение относительно экранных границ,​ регистрировать наложение спрайтов,​ переходить в монохромный режим, изменять частоту развертки,​ оцифровывать внешний сигнал,​ смешивать с ним свой сигнал и многое другое. 
 + 
 +Поскольку VDP имеет 39 внутренних управляющих регистров (со сложным битовым форматом),​ целесообразно оставить заботу обо всех тонкостях управления VDP процедурам BIOS и заняться
 более общими принципами графики MSX2. более общими принципами графики MSX2.
-</​code>​ 
  
 ====== Структура видеопамяти (VRAM) ====== ====== Структура видеопамяти (VRAM) ======
msx/msx2_programming_technique/msx2_programming_technique.1675541506.txt.gz · Последние изменения: 2023-02-04 23:11 — GreyWolf