Исправление пунктуации (#126)

* Исправление пунктуации

---------

Co-authored-by: Andrei Solodovnikov <VoultBoy@yandex.ru>
This commit is contained in:
nadezhkinaa
2025-06-18 18:00:04 +03:00
committed by GitHub
parent 11ba6823ff
commit 2a5cc96df3
17 changed files with 41 additions and 41 deletions

View File

@@ -647,7 +647,7 @@ _Таблица 7. Адресное пространство передатчи
### Видеоадаптер
Видеоадаптер позволяет выводить информацию на экран через интерфейс **VGA**. Предоставляемый в данной лабораторной работе vga-модуль способен выводить `80х30` символов (разрешение символа `8x16`). Таким образом, итоговое разрешение экрана, поддерживаемого vga-модулем будет `80*8 x 30*16 = 640x480`. VGA-модуль поддерживает управление цветовой схемой для каждого поля символа в сетке `80х30`. Это значит, что каждый символ (и фон символа) может быть отрисован отдельным цветом из диапазона 16-ти цветов.
Видеоадаптер позволяет выводить информацию на экран через интерфейс **VGA**. Предоставляемый в данной лабораторной работе vga-модуль способен выводить `80×30` символов (разрешение символа `8×16`). Таким образом, итоговое разрешение экрана, поддерживаемого vga-модулем будет `80*8 × 30*16 = 640×480`. VGA-модуль поддерживает управление цветовой схемой для каждого поля символа в сетке `80×30`. Это значит, что каждый символ (и фон символа) может быть отрисован отдельным цветом из диапазона 16-ти цветов.
![https://upload.wikimedia.org/wikipedia/commons/c/cf/RebelstarII.png](https://upload.wikimedia.org/wikipedia/commons/c/cf/RebelstarII.png)
@@ -659,7 +659,7 @@ _Рисунок 2. Пример игры с использованием сим
_Таблица 8. Адресное пространство контроллера VGA._
Для того, чтобы вывести символ на экран, необходимо использовать адрес этого символа на сетке `80x30` (диапазон адресов `char_map`). К примеру, мы хотим вывести символ в верхнем левом углу (т.е. нулевой символ нулевой строки). Эта позиция расположена по адресу "0" в диапазоне адресов `char_map`. Поскольку данный диапазон начинается с адреса `0x0000_0000`, запись по этому адресу приведёт к отображению символа, соответствующего [ASCII-коду](https://www.asciitable.com/), пришедшему на `write_data_i`.
Для того, чтобы вывести символ на экран, необходимо использовать адрес этого символа на сетке `80×30` (диапазон адресов `char_map`). К примеру, мы хотим вывести символ в верхнем левом углу (т.е. нулевой символ нулевой строки). Эта позиция расположена по адресу "0" в диапазоне адресов `char_map`. Поскольку данный диапазон начинается с адреса `0x0000_0000`, запись по этому адресу приведёт к отображению символа, соответствующего [ASCII-коду](https://www.asciitable.com/), пришедшему на `write_data_i`.
Если мы хотим вывести нулевой (левый) символ в первой строке (счёт ведётся с нуля), то необходимо произвести запись по адресу `1*80+0=80=0x0000_0050`.
@@ -687,7 +687,7 @@ _Рисунок 3. Цветовая палитра vga-модуля._
К примеру, мы хотим установить черный фоновый цвет и белый цвет в качестве цвета символа для верхней левой позиции. В этом случае, мы должны записать значение `f0` (f(15) — код белого цвета, 0 — код черного цвета) по адресу `0x0000_1000` (нулевой адрес в диапазоне `color_map`).
Для отрисовки символов, мы условно поделили экран на сетку `80х30`, и для каждой позиции в этой сетке определили фоновый и активный цвет. Чтобы модуль мог отрисовать символ на очередной позиции (которая занимает `16х8` пикселей), ему необходимо знать какой пиксель в этой позиции для заданного ASCII-кода является пикселем фона, а какой — пикселем символа. Для этого используется память шрифтов.
Для отрисовки символов мы условно поделили экран на сетку `80×30`, и для каждой позиции в этой сетке определили фоновый и активный цвет. Чтобы модуль мог отрисовать символ на очередной позиции (которая занимает `16×8` пикселей), ему необходимо знать какой пиксель в этой позиции для заданного ASCII-кода является пикселем фона, а какой — пикселем символа. Для этого используется память шрифтов.
Допустим, нам необходимо отрисовать символ `F` (ascii-код `0x46`).
@@ -699,7 +699,7 @@ _Рисунок 4. Отрисовка символа `F` в разрешении
Данный модуль поддерживает 256 символов. Следовательно, для хранения шрифта под каждый из 256 символов требуется 16 * 256 = 4&nbsp;KiB памяти.
Для хранения шрифтов в модуле отведён диапазон адресов `0x00002000-0x00002FFF`. В отличие от предыдущих диапазонов адресов, где каждый адрес был закреплён за соответствующей позицией символа в сетке `80x30`, адреса данного диапазона распределены следующим образом:
Для хранения шрифтов в модуле отведён диапазон адресов `0x00002000-0x00002FFF`. В отличие от предыдущих диапазонов адресов, где каждый адрес был закреплён за соответствующей позицией символа в сетке `80×30`, адреса данного диапазона распределены следующим образом:
- 0-ой байт — нулевая (верхняя) строчка символа с кодом 0;
- 1-ый байт — первая строчка символа с кодом 0;