+344.48
Рейтинг
1080.83
Сила

Alex

  • avatar Shiru
  • 6
Позитивно-креативная. И как в детстве-юности, когда казалось, что если кто-то спектрумист (разделяет твоё увлечение) — то несомненно отличный парень.
  • avatar Shiru
  • 5
Вообще, существует мнение, что GB изначально делался под 6502. Остальное железо очень сильно похоже на NES. Кто-то из железячников где-то говорил, что внешняя шина у процессора GB по устройству близка или совпадает с 6502, а не 8080/Z80. Но в какой-то момент разработки процессор предположительно был заменён, по неизвестным соображениям. Возможно, у Sharp для была лицензия на 8080/Z80, но не было на 6502, или они решили применить свой уже существующий промышленный контроллер, который проще интегрировался с драйвером LCD.

Не знаю, исходя из опыта написания кода для 8080/Z80 и 6502/65816/SPC700, я ничего особенно интересного в системе команд не заметил, никакой особенной парадигмы. Может она и есть, но мне кажется, что итоговый дизайн скорее следствие спешки, чем продуманных решений.
  • avatar Shiru
  • 6
Лично мне показалось это спорным, но весьма занимательным решением (было столько аналогичных фантазий, а тут реально сделано), поэтому и запостил сюда. Судя по активной реакции на пост в самом непопулярном разделе сайта, не зря.
  • avatar Shiru
  • 2
Z80 всё же всегда работает как Z80 соответствующей версии, а не по-другому.

Есть расхожее заблуждение, что процессор GB — урезанная версия Z80 или полноценный Z80; также местной аудитории легче ориентироваться относительно Z80; в формате новости лишний абзац с пояснением, что же там за процессор, не очень уместен. Поэтому вот так.
  • avatar Shiru
  • 2
Да нечего там особо переосмысливать — это немного расширенный 8080 с аппаратными глюками. Там даже банальный инкремент регистровых пар надо использовать с осторожностью, т.к. он может приводить к порче списка спрайтов при определённых условиях. А 8080 по любому менее гибкий, чем Z80 — мало регистров, нет индексных.
  • avatar Shiru
  • 3
Это относительно известный хак. Проблема одновременного доступа к тайлам решается в лоб — использованием двухпортовой памяти, т.е. памяти, которая даёт два полноценных канала для доступа к её содержимому, не мешающих друг другу. В староглиняные времена это было непозволительной роскошью, а сейчас вполне доступно.
  • avatar Shiru
  • 3
Статья про Frogger от frog'а — отлично.
  • avatar Shiru
  • 2
К вопросу 'как народ...': shiru.untergrund.net/files/src/magic_tokens_src.zip
  • avatar Shiru
  • 2
Всего один набор тайлов, он никогда не переключается. Чанки в нём 4x8, т.е. верхняя и нижняя половины всегда одинаковы. Две nametable, в одной номера тайлов для чётных чанковых строк, в другой для нечётных. Каждые 4 строки пикселей переключаем отображаемую nametable. Да, по сути получаем тайлы 8x4. Это не может, это точно сработает, подобное уже делали.
  • avatar Shiru
  • 2
Недопояснил, сплит в данном варианте должен переключать не банки графики, а текущую тайловую карту. Штатно их всего две, в одной можно хранить нечётные строки чанков, в другой чётные. Каждую половину тайла по вертикали переключать отображаемую карту тайлов. Таким образом будет отображено 60 полутайлов в высоту, вместо 30 целых тайлов.
  • avatar Shiru
  • 2
Касательно NES, да вроде не надо аж 10000 комбинаций. Хотя и это в принципе возможно, если взять MMC5, он поддерживает 16384 тайла на экране одновременно. А в стандартной конфигурации — даже без выкидывания повторов все комбинации двух соседних по горизонтали чанков 4x4 с 10 штриховками дают 100 тайлов, меньше половины одного набора. Раз уж речь шла о двух банках, значит предполагался сплит, но принципиально ничто не мешает делать этот сплит каждые 4 строки пикселей. Т.е. не нужны комбинации всех четырёх чанков в тайле, только двух — левого и правого.
  • avatar Shiru
  • 2
Я использовал этот компилятор и писал под GB. Не знал, что в нём есть прямая поддержка Z80. Коммент выше к тому, что если компилятор заточен чисто под процессор GB, он не подойдёт. Несмотря на все упоминания о схожести с Z80, там нет почти ничего общего, кроме мнемоник и команд с префиксом #CB — ни альтернативных регистров, ни IX/IX, ни даже любых IN/OUT.
  • avatar Shiru
  • 0
На GB не Z80, нет смысла смотреть на компиляторы для него. z88dk и SDCC работают более-менее нормально. z88dk теоретически менее эффективный, но на практике в SDCC куча проблем от иногда нерабочего кода до совершенного неприличного времени компиляции.
  • avatar Shiru
  • 2
Так это PC, издатель 1С и все дела. Такие вещи на удачу не делают, значит были получены права.
  • avatar Shiru
  • 3
NFS — Need For Speed. NES Sound Format — NSF.
  • avatar Shiru
  • 1
Сейчас же развелось полным-полно сервисов печати чего угодно на майках и фуфайках, поштучно, с доставкой, и всё такое.
  • avatar Shiru
  • 2
И снова отличная статья.

Очень интересная система, весьма своеобразная, с довольно оригинальными играми, включая весьма прикольный эксклюзив Killer Bees. Пожалуй, мой личный фаворит среди консолей второго поколения, не за выдающиеся технические возможности, но за самобытность.
  • avatar Shiru
  • 0
Напомню, что у 6809 команды по тактам вдвое короче, чем у Z80. И можно нередко слышать мнение, что в принципе его архитектура лучшая среди 8-битных процессоров того времени. Так что в общем случае он в этой системе не (сильно) медленнее, чем Z80 на ZX Spectrum.
  • avatar Shiru
  • 1
Ещё и со звука — пррруууууууу. Как-то даже меняет контекст.
  • avatar Shiru
  • 14
Вот это — статья так статья. Просто отличная.

Хочу заметить, что заслуга Texas Instruments не только и не столько в разработке этого довольно чудного, редкого и экзотического компьютера, сколько в разработке и последующей свободной продаже графического и звукового чипов для него (только процессор более нигде не прижился) — то, что вскользь упомянуто в словах 'также используемый в'. Дело в том, что тогда эти чипы стали одним из немногих доступных готовых решений на рынке для разработки 8-битных платформ, и их, в связке с вместе с относительно недорогим Z80, стали использовать многие производители компьютеров и приставок того периода.

За словами 'в MSX1', если кто не в курсе, кроется не один компьютер, а целый стандарт, которому следовала сотня производителей в разных странах, были выпущены сотни моделей компьютеров. Некоторые даже поставлялись в СССР, и вдохновляли уже наших разработчиков. Например, ПК8000 ещё в 1987 году пытался повторять MSX1 на советской элементной базе, и в том числе имеет сходные с TMS9918 видеорежимы (но без спрайтов), а на основе этого компьютера был сделан игровой автомат Питон, в который многие из нас играли в детстве.

Помимо MSX1, была ещё кучка других одиночных компьютеров, применявших видео, звук, или то и другое от TI-99/4, а помимо Colecovision — которая в своё время стала next gen'ом в сравнении с Atari 2600, обеспечив домашним игрокам близкое к аркадному качество тогдашних видеоигр — было ещё несколько приставок. В частности, самая первая приставка компании Sega, SG-1000. Следы совместимости с ней, а значит и разработок TI, распространились на все их последующие приставки, вплоть до Mega Drive, в котором есть полноценный аналог всё того же звукового чипа из TI-99/4. Собственно, упомянутый трекер MOD2PSG2, был разработан именно для одной из 8-битных приставок Sega (Game Gear), он просто подходит для TI/99a и других систем по причине этой наследственности.

Также существует неизвестно откуда пошедшее, но довольно расхожее мнение (может быть и миф), что разработчики видеосистемы Famicom/NES (Денди) вдохновлялись TMS9918 (и Colecovision) в качестве образца удачного решения. И если совсем уж притягивать за уши, графическое разрешение 256x192 с двумя цветами на блок 8x8 или 8x1, с внутренней разбивкой экрана на трети, появилось в TMS9918 за несколько лет до ZX Spectrum.