Разработка для Atari 2600 в браузере

Крайне интересный сайт для тех, кто хотел бы освоить программирование для Atari 2600. Содержит реализованную на HTML5 связку из эмулятора и интегрированного с ним ассемблера с хорошими отладочными возможностями, а также 36 примеров прекрасно документированного кода — начиная от простейшего, типа hello world, продолжая постепенным ростом сложности и освоением аппаратных средств платформы, и заканчивая довольно сложными этюдами, такими как классические трюки с выводом текста и 6-значных десятичных чисел (на 2600 очень трудно отображать текст) и отображением дороги в перспективной проекции, как в гоночных играх. Не обойдён вниманием и звук, поддержка которого также присутствует. В общем, всё, что нужно, чтобы начать писать собственные игры или демо.

Среди интересных возможностей — ассемблер умеет показывать время выполнения команд в тактах, что очень актуально для 2600, где вся работа с графикой напоминает по своей сути мультиколор или бордюрные эффекты на ZX Spectrum.

Напоминаю, что несмотря на близкую к предельной древность (1977 год) и крайнюю ограниченность технических средств (например, всего 128 байт ОЗУ и штатно максимум 4096 байт ПЗУ для программы), на платформе существует довольно активная сцена, создающая немало интересных продов. Прекрасный выбор для поклонников минимализма в поисках самых крупных и самых остроугольных пикселей.

Посетить незамедлительно!

10 комментариев

avatar
Напоминаю, что несмотря на близкую к предельной древность (1977 год) и крайнюю ограниченность технических средств (например, всего 128 байт ОЗУ и штатно максимум 4096 байт ПЗУ для программы),

не изучал Atari 2600, но для меня это новость)
avatar
Очень круто. Интересно, сложно будет такое под другие платформы запедалить?
avatar
Тут скорее вопрос не в сложности, а в огромном объёме труда. Оно ведь не выглядит как proof of concept, всё сделано очень капитально, качественно, аккуратно, даже с хорошим дизайном. Даже одни только эти примеры кода без сайта были бы уже очень ценны, явно делались не на скорую руку.

А вообще, судя по названию сайта, и тому, что первой же директивой идёт выбор процессора, у автора есть какие-то планы.
avatar
И это очень круто
avatar
Господа, если там 4 Кб максимум, то откуда на Pouet'e демки 32 Кб?
  • hddn
  • +2
avatar
Я специально выделил этот момент, чтобы не перегружать пост лишней детальной информацией. 'Штатно' ПЗУ в картридже может быть максимум 4 килобайта. На слот картриджа выходят только линии A0-A12 (других у процессора просто нет, в середине 1970-х решили, что 8192 адресов должно быть достаточно для каждого), причём A12 выбирает ПЗУ, иначе работают порты TIA и RIOT. С помощью переключателя банков ПЗУ (маппера) на плате картриджа можно сделать больше. Но это не так просто, как, скажем, на NES, потому что на слот не выведен сигнал записи, из картриджа можно только читать, а в нижней половине адресного пространства свободных адресов просто нет. Мапперы делают полную дешифрацию узкого диапазона адресов в самом конце области ПЗУ (типа $1ff4..$1ffb), при чтении оттуда по младшим битам адреса выбирается нужный банк. Это применялось редко, так как полная дешифрация требует много логики (обычно на PAL/GAL). Были мапперы на 8, 12, 16, 32 и 64 килобайта. Самый популярный сейчас на 32К.
avatar
вообще я не любитель веб-сервисов. Такты — вещь полезная, но значения выучишь наизусть — на atariage есть посты о таймингах. в Stella такты отображаются, хотя при разработке это вряд ли поможет.
avatar
Вот бы кто под спек запилил такое all in one :)
avatar
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.