Постоянное обучение это одна из особенностей профессии программиста. Как поймать баланс между работой и обучение и какой тут конфликт? Расскажу свое мнение, а после сможем обсудить в комментариях.
Курс от XYZ School bit.ly/370mI51
— Ваше участие очень важно для развития моего канала. Самое мало, что вы можете сделать это поддержать канал любым доступным вам способом: лайк, комментарий, подписка. Меня это мотивирует на продолжение работы, а вам ничего не стоит.
Привет!
Сегодня второй выпуск про наследие советских инженеров бытовой компьютер БК0010-01. И на этот раз мы попробуем запрограммировать управление внешними устройствами с помощью ассемблера (господи, какая ж это боль). То есть попробуем общаться с процессором компьютера напрямую. Вообще не завидую программистам 80-х. Мы взяли различные Arduino-модули — поиграли светодиодами, запрограммировали 7-сегментные индикаторы Мало того! Мы напишем собственную игру! А результаты будем выводить на физический внешний счетчик. Может быть кому-то наш ролик покажется излишне сложным. Пишите — поняли ли вы чегой-то или вообще ничего!
Сегодня я расскажу, как я сделал свою версию игровой приставки gameboy с помощью arduino, языка программирования C, джостика и дисплея, а потом запустил на ней pseudo3D шутер от первого лица, змейку и flappyBird, только с вектозавром. Приятного просмотра!
В одном из своих предыдущих роликов я уже рассказывал, что все компьютеры на фундаментальном уровне работают абсолютно одинаково: передают нолики и единички из одной части в другую. Самая важная часть компьютера – процессор. Именно там происходят математические операции и вычисления.
В обычном компьютере к процессору подключены разные периферийные устройства, которыми он управляет. Например, видеокарта, оперативная память или жесткий диск.
Но это вовсе не значит, что все компьютеры должны иметь именно такую конфигурацию. Оперативная память может быть расположена внутри процессора, а видеокарты может вообще не быть.
Готовое устройство должно иметь небольшой экран, на который мы будем выводить изображение геймплея. Для того, чтобы рисовать фигуры или писать текст, нужно во первых, подключить его контакты к нужным пинам компьютера, а во вторых, скачать специальную библиотеку, которая будет управлять дисплеем на низком уровне.
Я решил использовать высокоуровневую библиотеку adafruit, которая с помощью интерфейса I2C осуществляет взаимодействие с пикселями на экране.
Первое, что я сделал, это вывод небольшого логотипа с названием канала. Сразу после я переписал псевдо-3д движок на язык СИ, а так же попытался максимально упростить код.
Необходимо добавить небольшое меню, в котором можно будет выбирать игру. Я решил, что элементов управления должно быть по минимуму: только джостик. Наклоном джостика игрок будем перелистывать библиотеку и управлять игровым процессом, а центральной кнопкой выбирать игру и выходить из игры в главное меню.
Следующая игра — змейка. Пожалуй, она самая простая в реализации. Идея максимально проста: змейка — эта массив двумерных точек. Каждый шаг мы смещаем голову (то есть самый первый элемент) в строну взгляда, а каждый следующий на место своего соседа (начиная с конца). Когда змея сьедает яблоко, мы увеличиваем длину змейки на единицу. Джойстиком меняем направление взгляда.
3-я игра — Flappy Bird. Она достаточно простая в реализации, но очень интересная и сложная в игровом процессе.
Я решил использовать алюминиевый корпус. В комплекте идут две лицевые стороны, которые скрепляются между собой боковыми крышками. Крышки крепятся с помощью небольших болтиков. Выглядит такое решение куда более надежно и красиво.
Для того, чтобы сделать геймбой максимально компактным и надежным, нужно сделать плату, на которой будут крепиться все компоненты. Из готовых элементов я собрал схему, которую потом развел в готовую плату. Тут ничего сложного и я уже подробно показывал этот процесс в своем видео про самодельный компьютер с нуля.
В этот раз я решил, что не хочу ждать плату целый месяц, и решил все таки попробовать лазерно-утюжную технологию (ЛУТ). В любом случае, интересно попробовать разные методы разработки.
Для питания я решил использовать небольшие аккумуляторы 3.7 V. Я буду использовать два таких аккумулятора, подключенных последовательно.
Получившийся геймбой работает замечательно, имеет малый вес и удобно сидит в руке. Есть огромные возможности для расширения функционала прошивки и модернизации устройства. Заряд держит приблизительно 2 дня активной игры. Я полностью доволен работой, именно этого результата я хотел добиться.
Моя любимая игра, безусловно, «flappyZavr». В нее не надоедает играть и она постоянно держит в напряжении. В змейку я бы, возможно, в будущем добавил возможность изменения уровня сложности, а в 3D игру можно было бы добавить врагов.
● В этом ролике: вы узнаете как я сделал такой крутой рабочий стол в Kali Linux. Так же я расскажу о том, какой оболочкой пользуюсь и немного покажу процесс её настройки. Тут ничего сложного нет, но меня буквально закидали комментариями о том, как я так украсил свой рабочий стол в Kali Linux.
● vk.cc/9WVoMC — Архив с файлами для украшения терминала Kali Linux
— ● В ролике «Красивый Kali Linux как у меня | Украшаем KDE | UnderMind» — я рассказываю вам о том, как украсить рабочий стол в Linux. Конкретно я рассказываю и показываю это на примере Kali Linux используя рабочую среду KDE. Рабочих сред для Linux очень много (Gnome, Unity, KDE, Mate, Cinnamon, Xfce и это далеко не все), но я из всех этих рабочих окружений выбрал именно KDE. Мне очень нравится KDE. Поэтому в этом ролике я покажу Вам, как я сделал такой крутой рабочий стол.
● Kali Linux — это обычная Операционная Система (ОС) для специалистов по защите информации. Эта ОС нигде не запрещена и есть в открытом доступе (не в даркнете). Все утилиты, которые в ней есть, предназначены для тестирования своих сетей и систем на защищенность. Автор ролика ни в коем случае не побуждает вас к созданию и использованию любого ПО в противозаконых целях! Данный ролик носит образовательный характер с точки зрения информационной безопасности, и призван повысить Вашу бдительность при обеспечении защиты информации.
● Данный ролик — художественный вымысел автора, монтаж, фотошоп и постанова. Всё рассказанное в ролике — является авторской выдумкой. Всё происходящее в видео — выполнено используя монтаж, и к реальной жизни не имеет никакого отношения. Любые совпадения наименований программного обеспечения (ПО), названий ПО и либо каких-либо других продемонстрированных фактов и событий в ролике — не более чем совпадение и полная случайность.
● darkwebs.cc — Форум специалистов по Информационной Безопасности
● В этом ролике: я вычисляю хакера, который взломал мою WiFi сеть. В этом ролике я использовал принцип радио-пеленгации сигнала и социальную инженерию.
— ● В ролике «Взлом WiFi: Как вычислить Хакера через Kali Linux? | UnderMindd» — я рассказываю вам о том, как производят поиск хакеров, которые занимаются взломом чужих WiFi сетей. Взламывая чужие WiFi сети, можно получить неприятности, поэтому не стоит заниматься такими вещами. В ролике раскрывается принцип радио-пеленгации и производится анализ некоторой информации, которая распространяется под видом служебных пакетов Probe Request. Для пеленгации соседа, который взломал мой WiFi, я использовал Kali Linux. Я сделал дальнобойную узконаправленную антенну для WiFi, которая позволит отследить источник сигнала от подключенных устройств.
● Kali Linux — это обычная Операционная Система (ОС) для специалистов по защите информации. Эта ОС нигде не запрещена и есть в открытом доступе (не в даркнете). Все утилиты, которые в ней есть, предназначены для тестирования своих сетей и систем на защищенность. Автор ролика ни в коем случае не побуждает вас к созданию и использованию любого ПО в противозаконых целях! Данный ролик носит образовательный характер с точки зрения информационной безопасности, и призван повысить Вашу бдительность при обеспечении защиты информации.
● Данный ролик — художественный вымысел автора, монтаж, фотошоп и постанова. Всё рассказанное в ролике — является авторской выдумкой. Всё происходящее в видео — выполнено используя монтаж, и к реальной жизни не имеет никакого отношения. Любые совпадения наименований программного обеспечения (ПО), названий ПО и либо каких-либо других продемонстрированных фактов и событий в ролике — не более чем совпадение и полная случайность.
Протокол DNS используется в системе доменных имен DNS.
Итеративный и рекурсивные режимы работы DNS. Сервер разрешения имен DNS (DNS resolver). Открытые серверы разрешения имен DNS. Кэширование DNS ответов. Типы ответов DNS: заслуживающий доверия (authoritative) и не заслуживающий доверия (non-authoritative). Формат пакета DNS.