Pull to refresh
154
0
Вадим Марков @BubaVV

User

Send message

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

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

image
Источник

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

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

Reading time 4 min
Views 5.8K

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


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


image
Источник


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

Читать дальше →
Total votes 11: ↑11 and ↓0 +11
Comments 0

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

Reading time 5 min
Views 7.9K

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


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


image
Источник


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

Читать дальше →
Total votes 8: ↑8 and ↓0 +8
Comments 1

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

Reading time 7 min
Views 8.1K

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


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


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


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


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

Total votes 19: ↑19 and ↓0 +19
Comments 4

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

Reading time 7 min
Views 7.5K

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


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


image


Источник


Прокрутка


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

Читать дальше →
Total votes 13: ↑13 and ↓0 +13
Comments 0

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

Reading time 7 min
Views 7.9K

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


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


image
Источник


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


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

Читать дальше →
Total votes 20: ↑20 and ↓0 +20
Comments 0

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

Reading time 7 min
Views 17K

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

image
Источник


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


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


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

Читать дальше →
Total votes 43: ↑43 and ↓0 +43
Comments 2

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

Reading time 8 min
Views 39K

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


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


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

Читать дальше →
Total votes 52: ↑52 and ↓0 +52
Comments 6

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

Reading time 4 min
Views 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 для загрузки.
Читать дальше →
Total votes 33: ↑31 and ↓2 +29
Comments 43

Assembler в 30 строк на Excel

Reading time 2 min
Views 78K
В заголовке порядок слов не перепутан.



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

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

Reading time 1 min
Views 109K
Пользователь 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
Total votes 89: ↑34 and ↓55 -21
Comments 27

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

Reading time 1 min
Views 38K
image

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

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

Reading time 1 min
Views 47K
image

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

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

Reading time 1 min
Views 14K
image

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

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

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

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

image

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

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

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

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

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

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


Самые базовые вещи.
Читать дальше →
Total votes 88: ↑78 and ↓10 +68
Comments 45

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

Reading time 7 min
Views 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
Читать дальше →
Total votes 87: ↑77 and ↓10 +67
Comments 20

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

Reading time 1 min
Views 25K
image

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

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

Reading time 12 min
Views 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 с этой ролью не справились. Впереди было много попыток создать новую конкурентноспособную ОС.
Читать дальше →
Total votes 80: ↑73 and ↓7 +66
Comments 27

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

Reading time 11 min
Views 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.
Читать дальше →
Total votes 152: ↑141 and ↓11 +130
Comments 27
1

Information

Rating
Does not participate
Location
Харьков, Харьковская обл., Украина
Registered
Activity