+396.52
Рейтинг
1101.32
Сила

Лайфхаки по программированию от Алана Тьюринга (Mark I/II)

В процессе обсуждения в комментариях соседней темы я набрёл на замечательное руководство от 1951 года по программированию серии одних из первых британских ЭВМ — Manchester/Ferranti Mark I/II за авторством самого Алана Тьюринга: curation.cs.manchester.ac.uk/computer50/www.computer50.org/kgill/mark1/RobertTau/turing.pdf
И там на странице 55 есть замечательная секция «Programming Hints» — «Приёмы и трюки программирования».
Конечно я не мог не ознакомится с тем чем и как дышала передовая программерская мысль в 1951 году.

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

8/16-битный компьютер мечты (процессор Simpleton)

Американский видеоблоггер 8-bit-guy давненько уже поднял и периодически ворошит такую тему как «какой мог бы быть 8-битный компьютер моей мечты» — со своим видением вопроса. Эти его видео напомнили мне что сама эта идея «а как бы я хотел чтобы было устроено нутро компьютера» сопровождает меня и, я верю, что и вас с самого детства. И так как мы тут рассуждаем в рамках ретро, то вопрос стоит именно как в заголовке.
Тему эту в вялотекущем режиме я уже обсуждал тут: gamedev.ru/flame/forum/?id=242499 (читать совсем необязательно) и раз уж здесь у нас возникло какое то летнее затишье, то решил немного перенести оттуда сюда уже в виде некоторых выжимок для «просто поболтать».

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

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



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

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

Краткий обзор архитектуры Atari Jaguar



Atari Jaguar — консоль пятого поколения, вышла в 1993 году почти одновременно с 3DO Interactive Multiplayer, но как и последняя проиграла гонку вооружений Playstation 1, которая появится годом позже.

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

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

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

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

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

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

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

Теоретический вопрос по железной начинке ZX Spectrum

На фоне обсуждений последних двух дней у меня родился вот какой вопрос:
Возможно ли было в чипах ULA спектрума сделать дёшево и сердито вот какую концепцию:
а) запись в некие два порта вывода X и Y координаты пикселя генерировали бы на входе трёх других портов ввода:
б) верхний байт адреса полоски пикселей в массиве пикселей видеопамяти
в) нижний байт адреса полоски пикселей в массиве пикселей видеопамяти
г) верхний байт адреса атрибута этой полоски пикселей
(нижний байт адреса атрибута тут не нужен, т.к. мы уже знаем, что он совпадает с (в) после предыдущих тем)
На уровне проводов это просто разброска линий и их перемешивание, что мы видели в предыдущих темах.
Так не было ли бы это возможным сделать без весомых затрат на самом старте?
(сразу обозначу — это чисто теоретический вопрос и статью я по нему писать не собираюсь. просто очень интересно.)

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

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




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