Как стать автором
Обновить
154
0
Вадим Марков @BubaVV

Пользователь

Отправить сообщение

Разработка игр под NES на C. Глава 24. Приложение 2 — работа с банками памяти

Время на прочтение5 мин
Количество просмотров5.9K
Завершающая часть цикла. В этой главе рассмотрим работу с маппером MMC3 на примерах
<<< предыдущая

image
Источник

Раньше мы не использовали переключение банков памяти, но теперь настало время освоить маппер MMC3. Без маппера можно использовать 32 килобайта PRG ROM для кода и 8 килобайт CHR ROM для графики. Маппер позволяет обойти этот барьер.
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии2

Разработка игр под NES на C. Главы 22-23. Приложение 1 — мапперы и цифровой звук

Время на прочтение4 мин
Количество просмотров5.9K

Здесь будет информация, не вошедшая в основной цикл, но слишком ценная, чтобы ее игнорировать.


<<< предыдущая следующая >>>


image
Источник


Из нашего обсуждения почти полностью выпала тема мапперов — сопроцессоров в картридже. Если надо сделать игру размером больше 0x8000 байт, то стандартных возможностей консоли для этого не хватит. Маппер позволяет переключать банки памяти в игре, и cc65 умеет с этим работать. Самый популярный маппер — MMC3. Кроме переключения банков памяти, он имеет счетчик строк.

Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии0

Разработка игр под NES на C. Главы 17-21. Своя игра

Время на прочтение5 мин
Количество просмотров7.9K

В этой части соберем все вместе и сделаем простую скроллерную стрелялку на космическую тему: корабль летит и лазерами отстреливает врагов


<<< предыдущая следующая >>>


image
Источник


Планирование

Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии1

Разработка игр под NES на C. Главы 14-16. Работа со звуком

Время на прочтение7 мин
Количество просмотров8.2K

В этой части базовая информация о работе со звуком. Звуковая подсистема NES весьма низкоуровневая, ее описание весьма запутано и использует специфическую терминологию, так что описание местами может быть не очень внятное.
<<< предыдущая следующая >>>
image
Источник


Начало работы со звуком


Обзор инструментов, которые представляет нам платформа NES. Впрочем, дальше мы уйдем на более высокий уровень и будем использовать библиотеку Famitracker.


Проще всего пощупать звуковые возможности консоли можно с помощью демки Sound Test, разработанной SnoBrow. Она совместима не со всеми эмуляторами, но FCEUX поддерживается.


Кнопка Селект переключает звуковые каналы, Старт включает их. Доступны 4 канала:
1 — меандр 1
2 — меандр 2
3 — треугольный сигнал
4 — шум

Всего голосов 19: ↑19 и ↓0+19
Комментарии4

Разработка игр под NES на C. Главы 11-13. Пишем и отлаживаем простой платформер

Время на прочтение7 мин
Количество просмотров7.5K

В этой части появляется первая играбельная демка в стиле Марио. Для этого надо разобраться с прокруткой и способами отладки.


<<< предыдущая следующая >>>


image


Источник


Прокрутка


Регистр $2005 управляет прокруткой фона. Первая запись туда выставляет положение горизонтальной прокрутки, а вторая — вертикальной. Если неизвестно, какая прокрутка была выставлена, можно сбросить на горизонтальную чтением из регистра $2002.

Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии0

Разработка игр под NES на C. Главы 7-10. Работа с джойстиком. Коллизии спрайтов

Время на прочтение7 мин
Количество просмотров7.9K

Плавно движемся к написанию игры. В этой части описана работа с джойстиками и коллизиями спрайтов.


<<< предыдущая следующая >>>


image
Источник


Пользовательский ввод


Работа с джойстиками довольно простая. Нажатия кнопок первого джойстика читаются по адресу $4016, а второго — $4017. Достаточно считывать один раз за кадр, сразу после обновления PPU и установки прокрутки.

Читать дальше →
Всего голосов 20: ↑20 и ↓0+20
Комментарии0

Разработка игр под NES на C. Главы 4-6. Рисуем персонажа

Время на прочтение7 мин
Количество просмотров17K

В этой части рассмотрим работу с графикой: фон и спрайты персонажей.
<<< предыдущая следующая >>>

image
Источник


Что такое V-blank?


PPU — графический процессор — может или отправлять сигнал в телевизор, или получать информацию от процессора, но не одновременно. Так что единственное время для пересылки это V-blank, период кадрового гасящего импульса.


90% времени PPU отправляет пиксели в видеовыход, строка за строкой слева направо и сверху вниз. Внизу экрана делается пауза, и все повторяется снова. Это происходит 60 раз в секунду. Пауза после отрисовки кадра и есть V-blank. Это весьма короткий промежуток времени. В него реально вложить обновление 2-4 столбцов фоновых тайлов и обновление спрайтов. Обновление фона особенно критично для игр с прокруткой.

Читать дальше →
Всего голосов 43: ↑43 и ↓0+43
Комментарии2

Разработка игр под NES на C. Главы 1-3. От введения до Hello World

Время на прочтение8 мин
Количество просмотров40K

Впервые я задумался о том, как разрабатывают игры под приставки где-то через 20 минут после того, как в самый первый раз увидел Turbo Pascal. На глаза иногда попадался Subor с клавиатурой, и появилась мысль: "Наверное можно набрать какую-то программу, а потом в нее поиграть". Но интерес быстро затух, потому что абсолютно никакой информации по этой теме тогда не было доступно. Следующий раз эта же идея всплыла, когда увидел вполне играбельные эмуляторы старых консолей. Тогда стало ясно, что вбивать листинг в саму консоль и необязательно. Где-то очень потом появился Хабр с благожелательной аудиторией для таких вещей. В какой-то момент даже начал собирать разрозненную инфу чтобы написать мануал самому, и вот сегодня наткнулся на готовый учебник, который явно надо перевести.


Разработка под старые консоли документирована вдоль и поперек, но именно по NES 99% информации относятся к разработке на Ассемблере. Меня почему-то зарубило, что надо освоить именно работу с С.


следующая >>>
image

Читать дальше →
Всего голосов 52: ↑52 и ↓0+52
Комментарии6

Android на x86 ноутбуке

Время на прочтение4 мин
Количество просмотров51K
image
image

Попался в руки старый нетбук Acer Aspire One, самый первый из них, с 8 Гб тормознутой флешки вместо диска. За время активной жизни на нем были WinXP (очень медленно) и Arch Linux (едва приемлемо). Я уже собирался вернуть на него обратно Arch и потом в меру сил придумывать, зачем же он нужен, но тут наткнулся на проект Android х86. Он более-менее развивается и направлен на запуск Андроида на ноутбуках, планшетах и иногда настольных компьютерах с архитектурой х86. Началось все с порта на Asus Eee PC в районе версии 1.6, но постепенно поддержка разнообразного настольного железа расширилась. Сейчас доступна для скачивания версия 4.4-r3, 5.0 в работе. Соответствие между ветками для х86 и теми, что устанавливаются на телефоны для меня крайне призрачны, потому что сталкиваться с потрохами системы не приходилось. Есть еще аналогичный проект Android-IA, курируемый Intel, но там поддерживается меньше железа и обязательно требуется UEFI для загрузки.
Читать дальше →
Всего голосов 33: ↑31 и ↓2+29
Комментарии43

Assembler в 30 строк на Excel

Время на прочтение2 мин
Количество просмотров78K
В заголовке порядок слов не перепутан.



Живет в Венгрии юный программист Адам Кишш. Он участвует в чем-то типа онлайн-олимпиады KöMaL. Для решения заданий по информатике предлагается использовать несколько обычных языков программирования: С, С++, Python и некоторые другие. В одном из заданий требовалось написать Сапер и бота для игры в него. Такая задача очень легко решается средствами табличного процессора — того же Excel, например, и пачки макросов. Однако же, макросы использовать нельзя. Адам выкрутился необычным способом: реализовал в книге Excel простенький виртуальный компьютер, который программируется на Ассемблере — Excembler.
Читать дальше →
Всего голосов 74: ↑70 и ↓4+66
Комментарии29

Язык программирования Petooh

Время на прочтение1 мин
Количество просмотров110K
Пользователь Github с ником Ky6uk после трех лет разработки наконец-то опубликовал фундаментально новый (дословно) язык программирования Petooh. Это диалект Brainfuck, в котором непонятные и неудобные символы заменены на человекочитаемые слова. Для исполнения кода используются скрипты на Haskell и Perl, на выбор пользователя. Из прочих примеров творчества автора можно упомянуть разве что табурет, написанный на Javascript

Пример кода:
Скрытый текст
KoKoKoKoKoKoKoKoKoKo Kud-Kudah
KoKoKoKoKoKoKoKo kudah kO kud-Kudah Kukarek kudah
KoKoKo Kud-Kudah
kOkOkOkO kudah kO kud-Kudah Ko Kukarek kudah
KoKoKoKo Kud-Kudah KoKoKoKo kudah kO kud-Kudah kO Kukarek
kOkOkOkOkO Kukarek Kukarek kOkOkOkOkOkOkO
Kukarek
Всего голосов 89: ↑34 и ↓55-21
Комментарии27

Штраф за полет квадрокоптера

Время на прочтение1 мин
Количество просмотров38K
image

Если вкратце: транспортная прокуратура выписала штраф за запуск коптера в жилом районе. Статья — ч.2 ст.11.4 КоАП РФ «Нарушение правил использования воздушного пространства». Пишут, что на такой полет надо запрашивать разрешение на использование воздушного пространства и вообще создавало угрозу безопасности движения воздушных судов.
Читать дальше →
Всего голосов 42: ↑41 и ↓1+40
Комментарии50

Роспотребнадзор собирается регламентировать физические параметры электроники

Время на прочтение1 мин
Количество просмотров47K
image

По скудной и не особо подтвержденной информации, Роспотребнадзор собирается регламентировать требования к гаджетам. Основная идея: дети не выпускают из рук планшеты-телефоны-читалки, и к школе у них уже испорчено зрение. В предварительном списке регламентируемых параметров шрифт, яркость и частота мерцания экрана. При этом до сих пор действуют советские нормы на 30 минут компьютера в неделю и не раньше, чем в пять лет. Безусловно, законодательство не помешало бы обновить. Современные экраны явно менее вредны, чем Электроника МС6105 с разверткой 50 Гц. Но дальше продолжать не буду, все и так всё знают и понимают.
Читать дальше →
Всего голосов 45: ↑35 и ↓10+25
Комментарии64

Бот для ведения ленты новостей вышел на работу

Время на прочтение1 мин
Количество просмотров14K
image

Пару дней назад по многим новостным сайтам прошла информация о применении агентством Associated Press робота для публикации новостей. Подробностей нашлось не много, но тема достаточно любопытная.
Читать дальше →
Всего голосов 30: ↑22 и ↓8+14
Комментарии14

Как мы со школьником писали научную работу

Время на прочтение6 мин
Количество просмотров67K
Резюме: как выбрать интересную тему, написать и подготовить к защите хорошую работу МАН по химии и зачем все это надо школьнику.

Началось все где-то год назад, когда я прочитал вот этот пост «Импульсный электролиз на Google Science Fair» за авторством уважаемого Kidar и поставил зарубку в памяти. Дело в том, что у меня уже было плотное желание подготовить школьника к выступлению на конкурсе научных работ Малой академии наук по секции химии. А тут такая шикарная идея. В этом сезоне кажется все получилось. Работа написана в Харькове, на базе химического факультета Харьковского национального университета им. В.Н. Каразина.

image

Про всякие научные соревнования школьников в Украине

Основная часть читателей все-таки из России, но эти дела у нас устроены примерно одинаково. Говорить буду про химию, потому что больше в теме. По прочим предметам все примерно одинаково, программисты, насколько я знаю, обделены темой турниров. Есть три основных вида соревнований, которые проходят по этапам вида школа-район-область-страна. Успешное выступление на последних двух этапах дает бонус к результату ЗНО (экзамен по типу ЕГЭ). Хотя обычно школьник, победивший на республиканском этапе, пишет его левой ногой на 195 из 200.
Читать дальше →
Всего голосов 57: ↑54 и ↓3+51
Комментарии39

Про применимость Novec©®™ 1230©®™ для погруженного в жидкость компьютера

Время на прочтение7 мин
Количество просмотров57K
По мотивам статьи про фреон для пожаротушения: habrahabr.ru/company/3mrussia/blog/200840

В комментариях появилась куча желающих использовать эту жидкость для создания компьютера, погруженного в жидкость. Попытаюсь обосновать, почему это плохая идея. Жидкость буду называть фреоном, потому что так короче и в целом это и есть фреон. Для полного восприятия желательно помнить химию и физику в объеме чуть меньше школьной программы, ну или уметь быстро загуглить. Заодно проверю свое давнее подозрение о том, что образованный и умеющий пользоваться мозгом человек может базово освоить абсолютно постороннюю область знаний за очень короткое время. Вещи, описанные в посте, для меня очевидны, поэтому где-то мог упустить ключевые для понимания моменты. Пишите в комментариях, буду исправлять. И подскажите, как вставлять ТеХовские формулы в пост — переделаю нынешний ужас.

Про летучесть, образование паров и прочие фазовые переходы


Самые базовые вещи.
Читать дальше →
Всего голосов 88: ↑78 и ↓10+68
Комментарии45

История операционных систем Apple. Часть 4. Новое время

Время на прочтение7 мин
Количество просмотров68K
Первая часть: habrahabr.ru/post/194696
Вторая часть: habrahabr.ru/post/196276
Третья часть: habrahabr.ru/post/197160
Сегодня завершаю этот цикл переводов. В четвертой части будет про поздние версии Mac OS Classic, начало Mac OS X и чуть-чуть про некомпьютерные продукты Apple.

Зрелые годы Mac OS


Следующий после покупки NeXT релиз получил номер 7.6. Mac OS 8.0 сначала хотели выпустить как 7.7, но потом передумали и сделали как есть.

Mac OS 8

image
Читать дальше →
Всего голосов 87: ↑77 и ↓10+67
Комментарии20

Проект open source GPU на Kickstarter

Время на прочтение1 мин
Количество просмотров25K
image

На Kickstarter несколько дней назад стартовал любопытный проект. Его цель — создать открытый [тут всякий бред маркетологов] и современный графический процессор. Под современностью автор подразумевает совместимость с OpenGL и D3D. Упоминается реализация всего этого на языке Verilog, т.е. подразумевается, что готовая плата будет выполнена на основе FPGA. С одной стороны, это позволит быстро взлететь и в перспективе перейти на заказные чипы, с другой — до этого перехода соотношение цена/качество может быть не на высоте. Хотя душу владельца такой карты будет греть открытость исходников.
Читать дальше →
Всего голосов 69: ↑57 и ↓12+45
Комментарии58

История операционных систем Apple. Часть 3. Поколение NeXT

Время на прочтение12 мин
Количество просмотров85K
Первая часть: habrahabr.ru/post/194696
Вторая часть: habrahabr.ru/post/196276
Сегодня будет много текста и мало скриншотов, потому что речь пойдет в основном о не взлетевших проектах и глубоких потрохах ОС

Новая надежда


Windows NT 3.1

Microsoft Windows ветки 3.x быстро получили большое распространение, сразу после выхода в 1990 году. Система нового поколения под кодовым названием “Chicago” планировалась к 1993 году, но вышла под именем Windows 95 понятно когда. Одновременно с этим в 1993 году вышла Windows NT — продвинутая ОС для клиент-серверных применений. Из особенностей можно отметить API Win32, вытесняющую многозадачность с планировщиком, поддержку сети, подсистемы совместимости с OS/2 и POSIX, виртуальные машины для DOS и старых 16-битных приложений Windows, новую файловую систему NTFS и поддержку мультипроцессорности.
image
От Apple явно ожидался ответ, особенно в преддверии выхода Windows 95.
Проекты Pink и Red с этой ролью не справились. Впереди было много попыток создать новую конкурентноспособную ОС.
Читать дальше →
Всего голосов 80: ↑73 и ↓7+66
Комментарии27

История операционных систем Apple. Часть 2. Взлет Macintosh

Время на прочтение11 мин
Количество просмотров135K
Продолжаем знакомиться с историей операционных систем Apple. Сегодня Lisa, Macintosh вплоть до System 7 и ранние попытки использовать Unix.
Первая часть: habrahabr.ru/post/194696

Приход графики


image
Apple представил компьютер Lisa в январе 1983 года, за год до Макинтоша. Стартовая цена составляла $9995. Сердцем новинки был 32-битный процессор Motorola 68000. При создании разработчики явно вдохновлялись Xerox PARC, см. habrahabr.ru/post/194696. Этому способствовала договоренность между Xerox и Apple — акции в обмен на технологию. Следует заметить, что проект Lisa начали еще до причащения к PARC. В целом непонятно, какие именно идеи позаимствовали у Xerox, а какие изобрели своими силами.

Lisa OS

Lisa Office System (OS), операционная система этого компьютера, имела полностью графический интерфейс. Был файловый менеджер с иконками, при клике запускалось соответствующее приложение. В комплекте также был табличный процессор LisaCalc, программа для рисования диаграмм LisaGraph, продвинутый редактор списков LisaList, менеджер проектов LisaProject, рисовалка LisaDraw, эмулятор ANSI терминала LisaTerminal и т. д. Кроме того, на Lisa поддерживалась работа SCO Xenix.
Читать дальше →
Всего голосов 152: ↑141 и ↓11+130
Комментарии27
1

Информация

В рейтинге
Не участвует
Откуда
Харьков, Харьковская обл., Украина
Зарегистрирован
Активность