Краткое описание видеорежимов ZX Spectrum Next

Давно уже занесло меня на сайт ZX Spectrum Next и там заинтересовали количество и состав видеорежимов этой машины. Сам ZX Spectrum в этом плане был скуп и имел только один видеорежим — 256*192 монохрома раскрашенного по два цвета в знакоместах 8x8 которые начинаются по адресу $4000 (16384) и занимают 6144 байта на монохромный битмап и 32*24=768 байт на атрибуты знакомест сразу после битмапа.

Можно сказать что этот видеорежим составляет изначальный «слой ULA». Небольшой ликбез: Uncommited Logic Array (ULA) вообще означает особый процесс создания микросхем, но в спектруме в такую «кастомную» микросхему было заложена вся его особенность, включая видеоконтроллер и поэтому аббревиатура ULA плотно ассоциируется в мире спектрума со всеми такими вещами.

И раз на Hype появилась статья про программирование слоя спрайтов, то я решил эту свою статью вкратце описывающую видеорежимы Next на русском перевыложить и тут (ранее считал что она слабовата технически, но в общем то почему нет?). Сразу дисклеймер: так как я вчитывался в первый и единственный раз, то возможно что-то пропустил или даже исказил — буду рад любым поправкам, если заметите ошибки.

Читать дальше →

Обзор архитектуры Game Boy (+Color)



Восьмибитная портативная консоль от Nintendo — Game Boy вышла в 1989 году — через 6 лет после выхода домашней стационарной Famicom/NES (известной у нас под брендом Денди) и очень сильно опередила всех своих конкурентов. Фактор портативности довольно сильно урезал возможности аппарата и чёрно–белые игры на нём выглядели бледными копиями аналогов на старшем брате, но популярности это нисколько не помешало. А в 1998 году вышла обновлённая версия консоли — Game Boy Color, которая сильно раздвинула и цветовые и другие возможности при этом сохранив обратную совместимость. Сегодня мы обзорно рассмотрим эти две консоли изнутри с точки зрения программиста.

Читать дальше →

Переключение банков видеопамяти в Famicom/NES/Денди на примере игры Contra Force

Как я писал в статье про графическую архитектуру Famicom/NES/Денди возможности видеочипа консоли были ограничены сразу с нескольких сторон. Всё изображение обязательно состояло из четырёхцветных тайлов 8x8 пикселей и было всего два банка по 256 уникальных таких тайлов которые могли одновременно быть выведены на экран (при этом бОльшая часть изображения состояла из повторяющихся тайлов). Для игр первого поколения подобных Lode Runner или Bomberman двух этих банков видеоданных хватало на всю игру. Но с усложнением игр 512 уникальных тайлов на кадр резко перестало хватать и были изобретены мапперы переключающие банки на лету чтобы значительно увеличить разнообразие выводимого изображения.
Сегодня мы рассмотрим как переключались эти банки тайлов в первом уровне игры Contra Force чтобы увидеть как все эти технические ограничения с одной стороны обходились, а с другой влияли и в некоторых случаях даже формировали геймплей игр.

Читать дальше →

Скроллинг на Commodore 64

Commodore 64 не был распространён в наших широтах, но в Северной Америке он сыграл наверное такую же роль, как ZX Spectrum в Европе. Вот только он был примерно в два раза дороже и наверное примерно в два раза лучше по усреднённому количеству возможностей своих компонент. Так, например, его видеочип (VIC-II) умел несколько разных видеорежимов, причём как текстовых так и графических, поддерживал аппаратные спрайты и в целом был гораздо более заточен под игровые применения, нежели спектрум.

Читать дальше →

Почему у ZX Spectrum нелинейная раскладка видеопамяти

Если у вас был ZX Spectrum, то даже без навыков программирования графики в ассемблере вы постоянно должны были замечать странную вещь при загрузке игр с магнитофона — линейная заливка видеопамяти данными визуально выглядела нелинейно:




Читать дальше →

Обзор графической архитектуры SNES (+сравнение с Sega Mega Drive)

У нас битву 16–битных консолей выиграла спираченная Sega Mega Drive, в то время как в Северной Америке и Европе перевес оказался у Super Nintendo Entertaiment System (SNES), продолжателя дела Famicom известной у нас как Dendy. При этом, если в европах конкуренция была жаркой, то в пост-СССР SNES присутствовал на рынке очень слабо (в силу лицензионности), поэтому особо жарки споры о том какая из двух консолей круче всё–таки на западе, но у нас они тоже нередко встречаются.

Сразу хотел бы заметить, что с точки зрения программирования консоль от Сеги просто в разы проще и из-за этого она выигрывает приз моих программистских симпатий. Её процессор Motorola 68k по архитектуре был 32–битным, 16–битным в нём было только арифметико–логическое устройство (прозрачно для программиста). Он был проще и гибче в программировании нежели истинно 16–битный Ricoh 5A22, наследник 8–битного MOS 6502, используемый в SNES. Видеочип архитектурно тоже был простым и понятным, однако это означало и меньшие его возможности. Подробно о видеочипе Sega Mega Drive я писал тут.

Теперь же опишу видеочип SNES.

Читать дальше →

Графические трюки на Sega Mega Drive на примере игры Adventures of Batman and Robin

После предыдущей статьи о графической архитектуре Sega Mega Drive было бы интересно рассмотреть некоторые приёмы и трюки которые можно реализовать на этом железе. Игра Adventures of Batman and Robin примечательна обилием таких трюков, поэтому возьмём её для препарирования.

Читать дальше →

Обзор графической архитектуры Famicom/NES/Денди

Про Famicom/NES/Денди уже написано и рассказано очень много, включая те сведения, что я напишу ниже, включая на этом же самом сайте. Но раз уж у меня получился цикл статей про графику в разных консолях, то обойти вниманием денди из детства не представляю возможным. Так что повторим еще раз как устроена с точки зрения программиста денди…


Читать дальше →