Nintendo 64 (stylizováno jako NINTENDO64, zkráceně N64) je herní konzole páté generace vyvinutá firmou Nintendo. Herní konzole byla poprvé uvedena na trh 23. června 1996 v Japonsku. Na západě se poprvé oficiálně objevila až 29. září 1996 v Severní Americe a 1. března 1997 v Evropě.[2] Konzole měla fungovat jako nástupce SNES (Super Nintendo Entertainment System). Celosvětově se prodalo 32,93 milionů kusů (ke 30. září 2024), což z ní dělá 3. nejméně prodávanou konzoli z hlavní linie od Nintenda.[3]

Hardware

  • Procesor64bitový NEC VR4300 založený na MIPS R4300i o rychlosti 93,75 MHz, 32bitová systémová sběrnice
  • Paměť RAM – 4 MB RAMBUS RDRAM, rozšiřitelná na 8 MB
  • Grafika – koprocesor SGI Reality 62,5 MHz, rozlišení 320×240 (většina her) až 640×480
  • Zvuk – 16bitové stereo, CD kvalita
  • Média pro hry – cartridge 4 MiB až 64 MiB

Procesor

Nintendo si za procesor do konzole vybralo mírně upravený NEC VR4300 (tj. VR4300). MIPS Technlogies, Inc. v roce 1993 přišlo s jeho předchůdcem R4200 a později v roce 1995 jej použili jako předlohu pro vylepšený model R4300i (nyní známý jako VR4300 nebo také NEC VR4300).[4]

Mezi jeho funkce patří:

  • Rychlost 93,75 MHz
  • 2 hlavní módy operace
    • 64bitový mód – Nativní režim procesoru. Je kompatibilní s 32bitovými programy
    • 32bitový mód
  • 5stupňový pipelining – Zpracovávání až 5 procesů naráz, které jsou rozděleny do 5 stupňů/kroků. To umožňuje využít všechny nevyužité zdroje procesoru a zvýšit tak počet procesů provedených za jednotku času.[5]
  • 24KB mezipaměť
  • Interní 64bitový bus napojený na externí 32bitový data bus
    • Procesor musí vynaložit více cyklů na přesun 64bitových dat
    • Výkon se ale nesnižuje při interních procesech
    • Byl to jeden z největší nedostatků VR4300 v té době
  • Integrovaný matematický koprocesor (FPU), který zrychluje 64bitové a 32bitové číselné operace s pohyblivou řádovou čárkou (tj. Floating-point numbers) [6][7]

Reality Display Processor

Nintendo 64 má vlastní grafický procesor (Reality Co-Processor, tj. RCP), který v té době dal konzoli výhodu nad ostatními konkurenty. To uvolnilo hlavní procesor od počítání grafických operací. RCP je rozděleno do 2 částí, na Reality Signal Processor (RSP) a Reality Display Processor (RDP). Zatímco RSP se zaměřuje na geometrické transformace, tak RDP řeší rastrování polygonů na pixely, které vidíme na obrazovkách.[8]

Mezi další funkce RDP také patří:

  • Antialiasování
  • Mapování textur
  • Texturování perspektiv
  • Trojrozměrné zobrazování
  • Z-buffering[8]

Vykreslování snímků

RDP (Reality Display Processor) vykresluje snímky z polygonových dat. Grafická a také i audio data jsou v konzoli zpracovávány jedním jádrem koprocesoru označeným jako RSP (tj. Reality Signal Processor). Toto jádro uvolňuje zbytek procesoru od grafických výpočtu a může odvádět větší část svého výpočetního výkonu na např. herní logiku. RSP také vypočítává data pro osvětlení, stínování, redukce úrovní detailů a dekóduje audio kodeky.[9]

Po dokončení výpočtů polygonových dat, RSP pošle RSP procesoru příkazy na rasterizaci vektorů/míchání barev nebo mapování textur na polygony. Příkazy jsou hlavně posílány přes sběrnici zvanou XBUS a nebo také přes systémovou paměť (RAM).[6]

RDP má určitý systém procesů na vykreslování 3D objektů („rasterisation pipeline“). Do této pipeliny patří:[6]

  • Rasterizér – Převádí vektorové informace (hlavně tvary a struktury) na rastrovaný obrázek z pixelů. Hodnoty vektorů (např. barva, textura a osvětlení) jsou interpolovány z celé struktury. [10]
  • Texturovací jednotka – Zpracovává textury pomocí dedikované 4KB paměti TMEM (Transcedent memory), která umožňuje zpracovávat až 8 texturových dlaždic naráz. Tato paměť také zvládá:
    • Mapování 2D textur na 3D tvar. Mapovaná textura je následně vyhlazována aby se zabránilo pixelaci. Pixelace je způsobena např. nadměrným vzorkováním dat.
    • Mip-Mapping – Vybírání verze s textury s nižším rozlišením podle hodnoty LOD („level of detail“). Tento proces spoří výpočetní výkon a zabraňuje aliasování textur, které bychom viděli v dálce.
    • Korekci perspektivy
  • Míchač barev – Míchá a interpoluje vícero vrstev barev (více vrstev je potřeba ke stínování).
  • Blender – Tento prvek kombinuje pixely s frame bufferem pro aplikování průhlednosti, vyhlazování hran a ditheringu.
    • Frame buffer je vyhrazená část RAM, která uchovává snímky dat, které jsou odesílána na obrazovku. Obsahuje informace o velikosti a umístění každého pixelu zobrazeného snímku.[11]
  • Dedikovaná paměť na čtení a zapisování aktuálního frame bufferu v RAM nebo k vykonání procesů realizovaných TMEM. RDP má 4 režimy, které různě kombinují tyto procesy pro lepší optimalizaci konkrétních operací.[6]

Audio

Nintendo 64 nemá svůj dedikovaný zvukový čip. Místo toho je zvuk zpracováván procesorem. To znamenalo, že CPU muselo soutěžit o prostředky s ostatními procesy. Úlohy se tedy musely dělit mezi tyto 2 komponenty:[6]

  • CPU – To přenášelo audio data z ROM (Read-only memory) do systémové paměti, které pak jsou následně zpracovány RSP.
  • RSP (Reality Signal Procesor) – To interpretuje seznamy audio dat z RAM a následně provádí 2 různé operace: Sekvencování a mixování MIDI (Music Instrumental Digital Interface) dat za použití uložených zvukových bank a dekompresi ADPCM vzorků.[6][12]
    • ADPCM (Adaptive Differential Pulse Code Modulation) je ztrátový formát komprese pro PCM formát používaný nejčastěji ve videohrách nebo v médiích, kde se opakují zvukové efekty. [13]

Data o zvukových vlnách jsou následně poslána přes AI (Audio Interface) do Digital-to-Analog konvertoru. Výsledkem celého procesu je stereo audio s 16bitovou hloubkou.

Další vlastnosti systému:

  • Počet audio kanálů není omezený. Záleží kolik jich je RSP schopno smíchat. (16 až 24 kanálů při zpracování ADPCM, kolem 100 kanálů při PCM).
  • Vysoké vzorkovací frekvence jsou náročné na procesor. I frekvence 44,1 kHz si zabírá spousty cyklů, které se mohou využít na jiné procesy.
  • Zatímco konkurence spoléhala na jiná média (např. CD-ROM), herní kazety pro Nintendo 64 pojmou mnohem méně dat a musí sdílet paměť s ostatními komponenty.[6]
  • Tento systém na za důsledek své charakteristické audio. Nintendo 64 je známé horší audio kvalitou, která je způsobena silnou komprimací. Ta se poté musela maskovat dozvukem.[14]

Operační systém

Systém konzole běží na real-time preemptivním jádru. V konzoli je dodn jako sada funkcí běhové knihovny (Run-time library). To zajišťuje, že do běhového obrazu hry jsou zařazeny pouze ty části, které se skutečně použijí. [15]

Jádro je rozvrstvené na základní fukce a systémové služby vyšší úrovně takto:

  • Zprávy, události, vstupní a výstupní operace
    • Tyto funkce tvoří jádro operačního systému konzole. Na nich jsou postaveny další služby, které usnadňují přístup k samotnému hardwaru.
  • Debug
  • PAK Souborový systém – PAK soubory jsou často využívány ve videohrách k archivaci herních dat
  • Rozhraní herního ovladače
  • Časovač
  • Boot – Spuštění nebo restart konzole. Operační systém se zavádí ve vícestupňových úkonech do paměti. Mezi takové úkony patří
    • Diagnostika hardwaru
    • Kontrola paměti
    • Inicializace BIOSu hardwaru (Tento úkon probíhá v jiných zařízeních; ne v Nintendu 64. Konzole sama nemá žádné BIOS rutiny.)[6][15][16]

Reference

  1. Dostupné online. [cit. 2022-05-10].
  2. Nintendo History. Nintendo of Europe AG [online]. [cit. 2024-11-08]. Dostupné online. (anglicky)
  3. IR Information : Sales Data - Dedicated Video Game Sales Units. Nintendo Co., Ltd. [online]. [cit. 2024-11-08]. Dostupné online. (anglicky)
  4. VR4300. N64brew Wiki [online]. 2024-10-07 [cit. 2024-11-08]. Dostupné online. (anglicky)
  5. Florida State University. LECTURE 7 Pipelining [online]. [cit. 2024-11-08]. Dostupné online.
  6. 1 2 3 4 5 6 7 8 Nintendo 64 Architecture | A Practical Analysis. The Copetti site [online]. 2019-09-12 [cit. 2024-11-08]. Dostupné online. (anglicky)
  7. NEC Corporation, 1996, 1998; MIPS Technologies, Inc. 1994. User’s Manual VR4300, VR4305, VR4310 [online]. [cit. 2024-11-08]. Dostupné online.
  8. 1 2 RetroReversing - The Home of Reverse Engineering Enthusiasts. www.retroreversing.com [online]. [cit. 2024-11-08]. Dostupné online. (anglicky)
  9. N64 RSP - Reality Signal Processor. www.retroreversing.com [online]. [cit. 2025-01-15]. Dostupné online. (anglicky)
  10. STEVEWHIMS. Rasterizer Stage - Win32 apps. learn.microsoft.com [online]. 2020-11-04 [cit. 2025-01-15]. Dostupné online. (anglicky)
  11. Definition of frame buffer. PCMAG [online]. [cit. 2025-01-15]. Dostupné online. (anglicky)
  12. N64 Introductory Manual. ultra64.ca [online]. [cit. 2025-01-21]. Dostupné online.
  13. DREWBATGIT. ADPCM Overview - Win32 apps. learn.microsoft.com [online]. 2021-01-07 [cit. 2025-01-21]. Dostupné online. (anglicky)
  14. The N64's distinct sound. NeoGAF [online]. 2016-05-29 [cit. 2025-01-21]. Dostupné online. (anglicky)
  15. 1 2 N64 Programming Manual. ultra64.ca [online]. [cit. 2025-01-21]. Dostupné online.
  16. Co je to Boot? - Správa.sítě.eu. www.sprava-site.eu [online]. [cit. 2025-01-21]. Dostupné online.

Externí odkazy