Nintendo 64
#1
Опубликовано 05 Март 2005 - 21:01
#2
Опубликовано 05 Март 2005 - 21:57
...23 Августа 1993 года Silicon Graphics и Nintendo заключили партнерский контракт с целью разработать самую мощную игровую систему в мире, то есть констукторами N64 являются инженеры легендарной Silicon Graphics(SGI). SGI известна своими непревзойденными графическими станциями и суперкомпьютерами. Nintendo хорошо известна по ировым консолям Nintendo Entertainment System (NES), Super-NES (SNES) и карманным консолям GameBoy.(0) Этот амбициозный проект Nintendo и SGI получил громкое имя - Project Reality. Основатель и CEO компании Silicon Graphics, Jim Clark обещал "мощность сотен PC меньше чем за $250". В то время основными конкурентом Nintendo являлась 3DO и SEGA. Sony выпустит свою PlayStation позже (по слухам, катализатором выхода PSX являлась именно Nintendo). Основной идеей было завоевание рынка 3D игровых консолей с помощью производительной мультимедиа-системы.
Silicon Graphics подключила к работе самых лучших инженеров. Одним из них был знаменитый Dr. Wei Yen. Через несколько лет, в составе ArtX, он спроектирует чип и для GameCube. Выпуск чипов для консоли был налажен на заводах NEC по новой в то время 0.35-микронной технологии. Nintendo собирались выпустить консоль к рождеству 1995, пику распродаж. В европе рождество 25 декабря, т.е. перед новым годом. Однако, по техническим причинам выпуск был отложен и продажи консоли начались только весной 1996 года...
Существует предположение, что основным препятствием выхода была задержка с выходом программного обеспечения. К сожалению, Nintendo несколько опоздали с выпуском 3D игровой консоли, Sony успела выпустить более простой Playstation (1994 год в японии и рождество 1995 года - в США). Кстати, обьемы продаж PSX в США были изрядным сюрпризом для Sony. К тому же, возможно что некоторую конкуренцию N64 составляла SEGA со своей Sega Saturn, которая впоследствии проиграет конкурентам (немалую роль в этом составит ее сложность - 7 микропроцессоров). Поэтому Nintendo ДОЛЖНА была представить на рынок не просто консоль, но и подготовить для нее шокирующую игру. (мое личное мнение - Mario64 действительно очень приятна по геймплею, но использует далеко не все возможности железа N64). Вероятно, в задержке продаж не последнюю очередь сыграли монстроидальность и странная политика Nintendo(1) . Приставка вышла по цене $199.99, и первой игрой для нее стала Super Mario64, которая готовилась именно как "пробивная" для Nintendo64, но стоила совсем не бесплатно (2), а именно - $60.
Совсем небесплатны были и дополнительные аксессуары - джойстик $30 и даже TV-HookUp (модулятор радиосигнала встроеный в некоторые консоли) - $30. Некоторые элементы истории разработки N64 можно найти на сайте MIPS.
В будущем, консоль прослужит Nintendo целых пять лет, вплоть до осени 2001 года и выхода Game Cube. Silicon Graphics поработали действительно хорошо. На тот момент технические характеристики N64 опережали графические акселераторы PC на годы и годы вперед. N64 превосходила и все консоли конкурентов. Консоль позволяла запускать полигональные 3D игры с очень плавной анимацией, равной частоте кадровой развертки (50 Hz для PAL и 60 Hz для американского NTSC). На мой взгляд, то что сделали SGI для Nintendo, является ни чем иным, как переработкой их ранней графической станции Crimson. Возможно, меньше памяти, возможно что-то еще усечено, но несомненно то что возможности графической части N64 практически идентичны с графичискими возможностями Crimson. Графические станции Silicon Graphics изначально базируются на микропроцессорах MIPS.
#3
Опубликовано 05 Март 2005 - 23:09
Размеры и вес 1.1Kg, 260мм (ширина) x 73мм (высота) x 190mm (глубина). Корпус N64 скручен специальными очень хитрыми винтами с внутренними мелкими гранями. Без специального инструмента открыть его не повредив насечку винтов почти невозможно. Защита от детей или попытка скрыть устройство консоли? Комплект специальных отверток заказом из японии стоит $50...
Энергопотребление 15 Ватт.
4 аналоговых контроллера, в каждом есть дискретный Joypad, кнопки дополнительного управления камерой и RumblePack - устройство для "встряски, вибрации" - во время игры джойстик "потряхивает", добавляя иллюзии.
Разьем расширения.
Обьем картриджа до 32Mb (мегабайта, не мегабита!), но бывают картриджи обьемом в 64 Mb (Resident Evil - II). Типичный обьем игр меньше, 8-16 Mb.
Оперативня память 4Mb типа RAMBUS (на годы раньше чем на PC). На борту N64 реально находится 4.5Mb памяти в виде двух чипов по 9 бит. Дополнительный бит вовсе не бит четности, а специальный бит для работы механизма анти-алиасинга и Z-buffer, задействованый только аппаратно и програмисту никак недоступен. Программно доступно лишь 4Mb. Пиковая пропускная способность памяти 500 Mb/Sec так как при тактовой частоте 250Mhz - передача данных происходит по обеим фронтам сигнала.
Между прочим, Sony Playstation-II также имеет память типа RAMBUS, но вот в Nintendo GameCube уже отказались от нее. Причина в том, что RAMBUS медлительна и неэффективна в особых случаях, когда микропроцессор модифицирует память маленькими случайными кусочками по случайным адресам. А именно такой характер модификаций характерен для игровых алгоритмов. Для N64 выпускается Expansion Pack, расширяющий память системы еще на 4,5 Mb, суммарно до 9Mb. Но какого-либо распространения он не получил. Очевидно, что разработчики игр старались чтобы игру купило как можно больше людей, а не только те у которых есть Expansion pack. Дополнительная энергонезависимая память для отгрузок состояния игр.
#4
Опубликовано 06 Март 2005 - 00:23
Центральным процессором N64 является RISC процессор R4300i разработки MIPS. Тактовая частота 93,75 MHz.
MIPS была первой, кто выпустил на рынок 64-bit процессоры. 64 регистра микропроцессора R4300 полностью 64-битные.
R4300 содержит 16Kb кэша инструкций и 8kb кэша данных. Кэш работает по алгоритму WriteBack, то есть записывает данные в память лишь тогда когда в этом есть необходимость. Все команды микропроцессора имеет ширину 32 бита. Микропроцессор R4300 также как и все RISC-процессоры, оперирует над регистровым файлом, то есть в его распоряжении находятся 32 integer -регистра по 64 бита и 32 floating-point регистра по 64 бита. Это дает компиляторам значительное преимущество - большинство данных над которыми манипулирует R4300 находятся в регистрах и это дает очень большой прирост производительности за счет эффективного кода. Несмотря на то что R4300i не обладает суперскалярной архитектурой как Pentium, то есть не может выполнять по две команды за такт и его FPU не работает параллельно CPU, но тем не менее, по производительности на равных тактовых частотах он примерно равен ему. Одни и те же Си-алгоритмы работают на R4300 быстрее чем на Pentium, и вот почему:
Компиляторы для микропроцессоров архитектуры x86, очень интенсивно используют память и стек, большинство команд это команды загрузки-выгрузки регистров. Это "засоряет" код лишними командами пересылки данных. В архитектуре Intel регистров мало - это основные EAX,EBX,ECX,EDX, EBP и указатели ESI и EDI. Причем, регистр EBP используется компиляторами только как указатель на данные в кадре стека, а не для вычислений. Итого - практически 4 регистра по 32 бита против 32 регистров по 64 бита!
Доступ к floating-point регистрам R4300 свободный, а не в виде стека из 8 регистров как у микропроцессоров Pentium, но FPU является довольно простым- умеет вычислять лишь квадратный корень и арифметические действия, в то время как FPU Intel вычисляет sin/cos/tg/arctg/ln и проч. Обратите внимание, на полной тактовой частоте, с полной загрузкой микропроцессор потр######ет всего лишь каких-то...1,8 ватта! При этом он еще может находится в sleep и power-down mode!
R4300 является также самым первым микропроцессором к 1995 году с ценой меньше $1 за SPECint. То есть это наиболее дешевый процессор обеспечивающий наибольшую производительность (что относится и к остальным процессорам MIPS, да и вообще, к большинству RISC микропроцессоров/микроконтроллеров.)
MIPS является разработчиком архитектуры и дизайна кристаллов. Производством самих кристаллов/чипов занимаются другие фирмы, лицензирующие у MIPS ее технологию (например NEC). В мире существует очень много кустомизированых версий архитектуры MIPS от самых разных фирм, даже русских. (интересны архитектурные решения Altera Excalibur на базе MIPS).
Системы SonyPlaystation также построены тоже на микропроцессорах от MIPS, Sony Playstation на более раннем и более слабом 32х битном R3000 и Playstation-II построена на очень мощном уже супер-скалярном custom-чипе R5900 архитектуры MIPS.
Недавно у меня появилась информация, что SGI приобрела MIPS, но в дальнейшем произвела откат. Как видно из пресс-релиза, SGI на тот момент владеет 85% капитала MIPS.
Архитектура RISC микропроцессоров MIPS (так называемой серии R) такова, что допускает 4 сопроцессора (COP, Co-Processor). Один из них, неотемлемый COP0 - встроеный блок управления/трансляции адресов, сопроцессор программных исключений и ошибок. FPU является сопроцессором COP1. Остальные сопроцессоры являются сопроцессорами расширения. Это дает легкую возможность изготавливать специализированые версии чипов и распараллеливать микропроцессоры, что и сделано в Sony Playstation-II. Кроме того, Sony производят графическую подстанцию GScube, своеобразный графический сопроцессор с 16-ю параллельно работающими процессорами R5900, собираясь и в будущем наращивать возможности путем распараллеливания. Это действительно, дается архитектурно и программно легко. Оба сопроцессора PSX-II являются COP1 и COP2.
Видно что MIPS весьма популярна у производителей графических систем и легко проектируетна заказ мощные кустом-версии своих чипов. Рекомендую сходить на сайт MIPS и ознакомиться с последними разработками в этой области. В отличии от привычной рекламой шумихи Intel или AMD, сопровождающей каждую следущую модель микропроцессора, MIPS молчалива. Но возможности ее микропроцессоров очень высоки при ничтожном энергопотреблении. Обязательно обратите внимание - эта мощность дается не высокими тактовыми частотами/обьемом кэша, а архитектурно..
Пост соединен(post merge)
Видеопроцессор.
Видеопроцессор N64 -Reality Immersion Engine или сокращенно, Reality Co-Processor, RCP.
Тактовая частота 62,5 Mhz, что является в точности 2/3 от частоты CPU. Внутренние шины RCP скорее всего ,256 битные. Шина RCP <-> CPU 64 бита.
RCP архитектурно является, скорее, не вспомогательным, а основным чипом N64. Через него выполняется доступ к памяти и ко всем остальным устройствам.
Экранное разрешение N64 включает в себя разнообразные видеорежимы, но реально игры используют разрешение... 320x240 пикселей.
Глубина цвета каждого компонента RGB видеовыхода - 21 бит(интерполяция). Глубина цвета текстур до 8 бит на компоненту.
Гамма-коррекция цвета.
Полноэкранный hardware antialiasing.
Texture Mapping
Компрессия текстур за счет уникальных форматов, включая формат YUV (MPEG/JPEG Luminance-chrominance).
Мультитекстурирование (обращаю внимание!)
Очень и очень хороший краевой антиалиасинг полигонов (кстати, этого нет практически ни на одной PC карте).
Трилинейная Mipmap фильтрация текстур полигонов, т.е. интерполяция цвета происходит не только в самой текстуре, но и между mipmap-уровнями текстур.
Z-Buffering
Depth Cueing (цветной fog, mist, haze, murky water, etc. - делается полигонально, т.е. не через Zbuffer)
Gouraud Shading
8 цветных источников света, причем Spot, Directional, PointLights.
Alpha effects (полу-прозрачность как полигонов так и текстур, реализована очень развито!).
Соответственно наличествуют все эффекты которые выдаются за самостоятельные, но являются всего лишь комбинацией текстурирования/освещения - это bump mapping, Environment mapping, цветные блики (specular lighting) итп.
Пост соединен(post merge)
Звук
N64 содержит в своем составе также и полноценный 16Bit, 44,1Khz программный wavetable синтезатор. Количество каналов может быть вплоть до 64 со специальными эффектами reverberation, echo, chorus итп. Однако, большое количество каналов с эффектами не прозрачно, это требует повышеных вычислительных ресурсов. Поэтому програмисты выбирают золотую середину между производительностью/количеством эффектов. Смешивание/формирование каналов выполняется программно, с помощью RSP, который подготавливает буфер в RAM и передает его с помощью DMA в цифро-аналоговые преобразователи. Многие звуки по-настоящему синтезируются. В играх N64 звук довольно выразительный - он перемещается вместе с героями, большие помещения дают эхо итп. Музыка N64 это, как правило MIDI-композиции с 44,1 kHz wavetable иструментами. В крупных и технологичных играх наподобие Zelda, RE-II звук, к тому же, запакован в формате MP3 и распаковывается в память по мере игрового процесса.
#5
Опубликовано 06 Март 2005 - 00:58
N64 содержит операционноую систему с вытесняющей мультизадачностью. Она не находится где-либо в ROM, а слинковывается при компиляции вместе с игрой. N64 . N64 OS обеспечивает выполнение и взаимодействие разноприоритетных потоков команд CPU. Потоки общаются с помощью посылки сообщений, так же как и в больших системах (BeOS, Windows). Игра выполняет роль клиента операционной системы, та предоставляет ей сообщения о контроллерах, состоянии RCP и проч. Также есть и файловая система - отгрузки игры упорядочены в энергонезависимой памяти в виде файлов.
С програмированием N64 тесно связано понятие Display List, списков команд с помощью которых общаются ее программное обеспечение центрального процессора и программное обеспечение RSP(микрокод). Программирование Display List сильно напоминает программирование OpenGL! В этом нет ничего удивительного, так как архитектура N64 это, практически, модификация ранней графической станции Silicon Graphics, а OpenGL разработан именно ими и именно для этого.
Пост соединен(post merge)
#6 blane
Опубликовано 06 Март 2005 - 01:39
советую поинтересоваться играми под эту консоль.... процентов 80 из них идут нормально
топ пять выглядит так
Super Mario 64 - очень красивая полностью трехмерная и очень интересная игра
1080 Teen Snowboarding - классная вещь... очень динамична и красива....
Mario Cart - ну драйва не занимать хотя графика сдает
Castlevania 64 - а то вещь по умолчанию
Legend of Zelda 64 - еслть даже перевод на русском первой части
#7
Опубликовано 06 Март 2005 - 02:08
#8
Опубликовано 06 Март 2005 - 18:42
#9 jBILL
Опубликовано 07 Март 2005 - 00:18
А там написано, что RE2 временно не качается .
#10 blane
Опубликовано 07 Март 2005 - 01:24
а для затравки вот пара ссылок там тоже много интересного
http://nintendo64.narod.ru/
http://n64dev.narod.ru/
#11 jBILL
Опубликовано 07 Март 2005 - 01:57
а для затравки вот пара ссылок там тоже много интересного
http://nintendo64.narod.ru/
http://n64dev.narod.ru/
Первый из линков - жутко тормознутый, к тому же там полно битых линков, а второй больше по программированию...
RE2 так и не нашел...
#12 blane
Опубликовано 07 Март 2005 - 02:49
вотhttp://n64roms.narod.ru/url=http://n64roms.narod.ru/]http://n64roms.narod.ru/[/url]
http://games.westcn....n64roms/re2.zip прямая ссылка на резик... не проверял но написано он.....
#13
Опубликовано 07 Март 2005 - 09:11
#14
Опубликовано 07 Март 2005 - 12:32
#15
Опубликовано 08 Июнь 2005 - 03:59