Самоучка
13
подписчиков
Планирую выкладывать материал, где я буду стараться делать что нибудь интересное (на мой взгляд), и собственно делиться об этом с людьми.…
Простая анимация на компьютере Спринтер
И снова здравствуйте. Давно ничего не публиковал, пришло время исправляться. На этот раз речь пойдёт про анимацию всё тех же BMP файлов. Точнее разберём GIF файл на BMP файлы и соберём уже в свой файл, со своим форматом и попробуем воспроизвести. Выбираем сохранить изображение, после чего в том же яндексе ищем какой нибудь онлайн конвертер из gif to bmp и собственно конвертируем анимацию в кучу bmp файлов. Полученный результат скачиваем и распаковываем в отдельную папку. После чего нужно загрузить...
А как вывести на экран что то более чем прямоугольник?
В познавательных целях выводить прямоугольник в цвете на экран, это конечно замечательно. Но пора двигаться дальше и отобразить какую нибудь загруженную картинку. А если ещё и на полный экран... Но вот досада. Полноэкранное изображение занимает 81 920 байт памяти, в то время как из доступной у нас всего ничего, 65 536 байт и то часть уже занята под DOS и даже моим кодом... В общем, в данной статье постараюсь объединить усвоенные ранее знания. Что в итоге требуется? Выделить необходимый объем памяти, загрузить в него файл, вывести содержимое файла на экран...
Продолжаю разбираться с графикой компьютера Спринтер
Для того, что бы не валить весь код в одну кучу, я решил часть данных касающихся портов и некоторых функций вынести в отдельные файлы. Первый файл назвал sysport.h, куда поместил порты работающие с окнами процессора, куда должна подключаться расширенная память компьютера. Затем Y_PORT, что бы иметь возможность переключать строки при работе с графикой. Ну и ещё пара портов, о которых расскажу в последствии. Также я создал новый файл graph.h, в котором буду описывать функции связанные с графикой и пока набросал в данный файл пару функций, так сказать для пробы пера...
Пробую разобраться с графикой Спринтера
Графические возможности компьютера Спринтер позволяют выводить довольно таки качественную картинку с богатой палитрой цветов, не смотря на то, что машина всё таки восьмибитная. Как я писал ранее, объем доступной видеопамяти равен 256 килобайтам, что позволяет выводить изображение размером 320*256 точек при 256 цветах из палитры в 16 миллионов цветов, поскольку разрядность ЦАП 24 бита, по восемь бит на канал (RGB). Либо 640*256 точек при 16 цветах, всё из той же палитры в 16 миллионов цветов. Но здесь уже нюансы...
Продолжаем программирование на Ассемблере _ 2_
Работа с памятью и загрузка файлов. Что же, выводить на экран текст занятие увлекательное, но пора бы двигаться дальше. Пожалуй (подумал я) попробую загрузить файл с диска... К счастью, мне не придется разбираться с устройством дисковых накопителей, поскольку на этом боюсь мои попытки начать программировать на ассемблере и закончатся, так как придется разбираться в самих этих накопителях и в том, как их нужно программировать, попутно изучив строение файловой системы... Возможно я к этому приду когда нибудь, но точно не сегодня...
Продолжаем программирование на Ассемблере _ 1
Из предыдущей статьи видно, чтобы вывести текст на экран, мне пришлось воспользоваться функцией DOS, которая умеет это делать. Мне же предстоит ещё научиться работать с экраном компьютера. Но об этом позже. Для себя я уяснил, что чтобы вызвать функцию DOS, нужно код этой функции прописать в регистре процессора С, после чего вызвать эту функцию командой процессора RST #10. Если функция имеет дополнительные параметры, то они так же передаются с помощью регистров процессора. По окончании работы функции...
Учусь программировать на Ассемблере
Вступление. Всем Привет! Меня зовут Константин. Добро пожаловать в мой блог, надеюсь найдешь для себя что ни будь полезное. Данной публикацией хочется начать цикл статей, где я буду самообучаться программированию. Но что бы жизнь сахаром не казалась, задачу нужно несколько усложнить. Для чего откатиться лет на двадцать - тридцать назад и для изучения данной дисциплины начать с языка ассемблера для процессора Z80. Но сразу же оговорюсь, что обучать я никого не буду, так как сам не умею программировать...