Вторник, 21.05.2024, 15:59

Каталог статей

Главная » Статьи » DCPU-16 » Туториалы

Первое слово миру - HelloWorld
ЦВЕТА

 СОДЕРЖАНИЕ:
 1. Введение
 2. Как цвет и символы хранятся в памяти.
 3. Цвета и символы
 4. Как настроить цвет

1. Введение

 Это туториал попробует довести до вас информацию о том, как цвета и текст работают на дисплее ascii dcpu.

 Если Вы хотите пропустить весь "действительно" интересный материал по видеопамяти и узнать только о том как заставить выводить текст в разных цветах, то вы можете пропустить все и сразу перейти к секции 3.


2. Как и где они хранятся(символы и их оформление)
 Каждый элемент на экране сохранен как единственное 16-разрядное слово в памяти dcpu.
 Видеопамять - это набор ячеек  0x8000 - 0x8200, общее кол-во которых составляет 512. Не пугайтесь - да, вы будете правы, если вы скажете, что их 200, но в языке используется 16-ная система исчисления! А для нас это все равно, что 512!
 Чтобы понять, что слово, я собираюсь рассказать вам о одном интересном объекте:

Биты, полубайты(nibble), байты и слова
 Вы должны знать, что компьютер работает в бинарном(двоичном режиме). То есть в его работе используется вид информации в виде 0 и 1!!!
 Бит имеет единственное значение - 1 или 0.
 Полубайт равен 4 бита
 Байт составляет 8 битов или 2 полубайта
 Слово (для dcpu) составляет 2 байта или 4 полубайта или 16 битов. (Следовательно система является 16-разрядной),

 Теперь я не собираюсь объяснять, как читать двоичную систему исчисления или шестнадцатеричную - ибо для этого и придумали Google. Но я думаю, что вам бы следовало бы узнать об них по подробнее!

 Слова могут быть более длинными и короткими, поскольку "слово" в нашем языке программирования - это просто термин, использованный для обозначения объема данных, который центральный процессор может обработать как 1 элемент.
 Но для DCPU - это 16 битов. Таким образом, каждый экземпляр "слова" с этого времени устанавливается как ряд из 16 битов.

 Есть 3 основных способа, которыми Вы могли бы увидеть слово.
 Таким образом, вот пример:

 В двоичном файле:
 1111 1111 1111 1111

 В десятичном числе (наш нормальный подсчет):
 65535

 В Шестнадцатеричном:
 FFFF

 См., как двоичный и шестнадцатеричный, кажется, совмещаются лучше чем десятичное число?
 1111 = F
 Так 4 набора 1111 = FFFF

 Теперь смотрим, как DCPU сможет использовать это, чтобы вывести на экран цвета и символы

 1111 1111 11111111
 F F FF

 Там я разделил слово на его составные части с целью отражения. Раз в двоичном файле и второй раз в шестнадцатеричном.

 Первый полубит (4 бита) обозначает Цвет переднего плана, а точнее цвет символа, который Вы будете видеть.
 Второе откусывание обозначает цвет фона символа.
 Последний байт (8 битов) обозначает, какой символ выводится на экран.

 Надеюсь вы все поняли - перейдём к шагу 3.


3. Цвета и Символы.
 Существует 16 цветов, которые вы можете выбрать
 Следовательно 1 цвет хранится как первый полубит(4 бита), у которого есть 16 значений(от 0 до 16) - 0 1 2 3 4 5 6 7 8 9 A B C D E F - и F как 16, то есть последнее

 Таким образом, вот цветная диаграмма.


 И символьная диаграмма.


 Отметьте, что этот список символов только идет в 7f

 Символы повторяют их сам еще раз полностью к FF Однако, они высветятся (я сделаю второе изображение для того набора позже),


4. Подбор символов и цветов

  Это код одного из самых простых примеров в практике любых языков. Он называется "Hello World" - приветствие новичков.
Код:
SET I, 0 ;используется для определения в какую ячейку видеопамяти будет записан символ
:loop ;циклическая конструкция с IFE
SET A, [hello_world + I] ;загружаем в А адрес I буквы
IFE A, 0 ;логическая конструкция if - если значения равны, то конструкция переводит
;цикл во внутреннюю программу

   SET PC, end ;сама программа
BOR A, 0xF100 ;побитовое "или" - используем так, чтобы добавить к символу оформление
SET [0x8000 + i] ,a ;запишем символ в видеопамять
ADD I, 1
SET PC, loop ;вернемся к началу

:end
SUB PC, 1

:hello_world DAT "Hello World!", 0 ;текст


 F устанавливает цвет символов белыми.
Число 1 делает фон символов синим.

Я думаю это послужит отличной основой для вас!
Перевод: Defend
Статья не полная!!!
Категория: Туториалы | Добавил: Defend (16.04.2012)
Просмотров: 456 | Теги: туториал, 0x10c, дкпу, Space, notch, dcpu-16, game, tutorial, assambler | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Defend Developing | 2024 | Нашёл баг?