Main Page: Difference between revisions

libdragon has 3D support now
(Link to RCP from Motherboard section)
(libdragon has 3D support now)
 
(47 intermediate revisions by 6 users not shown)
Line 1:
{{DISPLAYTITLE:<span style="position: absolute; clip: rect(1px 1px 1px 1px); clip: rect(1px, 1px, 1px, 1px);">{{FULLPAGENAME}}</span>}}__NOTOC__
{| cellpadding="2px" cellspacing="4px" style="width: 100%; margin: 1em 0; table-layout: fixed; font-size: 100%;"
__NOTOC__
|- style="background: #CEE0F2;"
{{Colored box
! Welcome to the N64brew Wiki!
|background-title-color= #CCCCCC
|- style="background: #F5FAFF;"
|title= Welcome to the {{SITENAME}} Homebrew Wiki!
| {{Center|This wiki is a collaboration among the homebrew community, proving accurate documentation of the Nintendo 64, its peripherals, and related software.<br>
|content=
'''Everyone is [[Help:Editing|welcome to contribute]]!'''<br>
This wiki is a collaboration among the homebrew community. Everyone is [[Help:Editing|welcome to contribute]]! Our goal is to provide accurate documentation of the entire N64 system, including peripherals and all related software. Please keep pages topic-based, and provide source references or evidence where necessary.
Find us on [https://discord.gg/WqFgNWf Discord], and be sure to check out [[Homebrew Projects|homebrew, hardware, and more]] from community members.<br>Also take a look at the [[FAQ|Frequently Asked Questions]].}}
}}
|}
 
{| cellpadding="2px" cellspacing="4px" style="width: 100%; margin: 1em 0; table-layout: fixed; font-size: 93%;"
{{ContentGrid
|- style="background: #CEE0F2;"
|content=
! style="width: 53%; font-size: 102.15%;" | '''Hardware'''
<!--
! style="font-size: 102.15%;" | '''Software'''
nowiki markers are added so the first bullet in the list are rendered correctly!
|- style="vertical-align: top;"
please don't remove those markers, thank you
|
-->
{| cellpadding="2px" cellspacing="2px" style="width: 100%; table-layout: fixed;"
|- style="background: #E0ECF7;"
! style="font-size: 102.15%;" | Physical Components
! style="font-size: 102.15%;" | I/O Interfaces
|- style="background: #F5FAFF; vertical-align: top;"
|
* [[VR4300|VR4300 CPU]]
** [[COP1|FPU - CP1]]
** [[SysAD Interface]]
* [[Reality Coprocessor|Reality Coprocessor - RCP]]
** [[Reality Signal Processor|Reality Signal Processor - RSP]]
** [[Reality Display Processor|Reality Display Processor - RDP]]
* [[RDRAM]]
*: Rambus DRAM shared by the console
* [[PIF-NUS]]
*: A 4-bit microcomputer used to communicate with the controllers and EEPROM
* [[Audio DAC]]
* [[Video DAC]]
|
* [[Memory map]]
* [[MIPS Interface|MI - MIPS Interface]]
* [[Video Interface|VI - Video Interface]]
* [[Audio Interface|AI - Audio Interface]]
* [[Peripheral Interface|PI - Peripheral Interface]]
* [[RDRAM Interface|RI - RDRAM Interface]]
* [[Serial Interface|SI - Serial Interface]]
** [[Joybus Protocol]]
**: Communication protocol between the PIF, game cartridge, and connected controllers
|}
{| cellpadding="2px" cellspacing="2px" style="width: 100%; margin: 1em 0; margin-top: 0px; table-layout: fixed;"
|- style="background: #E0ECF7;"
! style="width: 38%; font-size: 102.15%;" | Controllers
! style="font-size: 102.15%;" | Paks
! style="font-size: 102.15%;" | Addons / Miscellaneous
|- style="background: #F5FAFF; vertical-align: top;"
|
* [[Controller|Tri-Wing Controller]]
* [[Train Controller]]
*: Used exclusively for Densha de Go
* [[Mouse]]
* [[Randnet Keyboard]]
* [[Voice Recognition Unit]]
* [[Dance Pad]]
* [[Fishing Rod]]
|
* [[Game Pak]] (Cartridge)
* [[Controller Pak]] (Memory Pak)
* [[Rumble Pak]]
* [[Transfer Pak]]
* [[Expansion Pak]]
* [[Jumper Pak]]
|
* [[64DD]] (64 Disk Drive)
* [[Doctor V64]]
* [[Homebrew Projects#Hardware|Flashcarts]]
|}
 
|
{{Colored box
{| cellpadding="2px" cellspacing="2px" style="width: 100%; table-layout: fixed;"
|background-title-color= #BBFFBB
|- style="background: #E0ECF7;"
|title= [[:Category:Motherboard|Motherboard]]
! style="font-size: 102.15%;" | Programming Tools / SDK's
|content=
! style="font-size: 102.15%;" | Game Development
<nowiki></nowiki>
|- style="background: #F5FAFF; vertical-align: top;"
====[[MIPS R4300|Main CPU MIPS R4300]]====
|
A MIPS R4300 64-bit processor with a Floating Point Co-Processor
* [[Libdragon|libdragon]]
 
*: Homebrew SDK, Public Domain, 2D & 3D, Audio and Controller support, OpenGL 1.1 (unstable)
====[[RCP|RCP - Reality Coprocessor]]====
* [[Pseultra|pseultra]]
A dedicated coprocessor that handles graphics and audio tasks with its [[RSP]] and [[RDP]] components
*: Homebrew SDK, BSD 3 Clause License, 2D & 3D, Controller support but no audio
 
* [[Libultra|libultra]]
====[[Peripheral Interface|PIF - Peripheral Interface]]====
*: Nintendo's Official SDK, Partial source available
Handles reading/writing to/from the cartridge and interacts with the 4 controller ports using the [[Joybus protocol]]
* [[iQue SDK]]
 
*: Development library for the iQue Player
====[[Digital Analog Converter]]====
* [[SGI Audio Tools]]
Responsible for converting digital signals from the console to analog audio and video signals.
* [[N64 IRIX|SGI Workstations using IRIX]]
}}
* [[Partner N64]]
 
|
{{Colored box
* [[:Category:Game Jams|Game Jams]]
|background-title-color= #CCCCFF
*: List of homebrew game development events
|title= [[:Category:Software Development Kits|SDK's]]
* [[Development Troubleshooting]]
|content=
* [[Memory Allocation]]
<nowiki></nowiki>
* [[MIPS III instructions|Instruction Cheatsheet]]
==== [[pseultra]] ====
*: Includes CPU and FPU instructions and opcodes
A homebrew N64 SDK. Still a work-in-progress but very feature-rich already.
* [[Building GCC]]
 
*: Guide to build a GCC cross-compiler for N64 development
* BSD 3 Clause License
* [[MIPS Assembly]]
* 3D Graphics
*: Notes about MIPS assembly programming
* 2D Graphics
|}
* NO Audio
|}
* Controllers
 
====[[libdragon]]====
A homebrew N64 SDK for developing N64 games.
 
* Public Domain
* NO 3D Graphics
* 2D Graphics
* Audio
* Controllers
 
====[[libultra]]====
Nintendo's official SDK library.
 
}}
}}
 
{{ContentGrid
|content=
<!--
nowiki markers are added so the first bullet in the list are rendered correctly!
please don't remove those markers, thank you
-->
 
{{Colored box
|background-title-color= #CCCCCC
|title= [[:Category:Compilers|Compilers]]
|content=
<nowiki></nowiki>
==== Nintendo [[N64 IRIX]] Compiler and Tools ====
Only for use on SGI workstations running IRIX 5.3 or higher with an R4K or higher processor
 
==== Nintendo [[N64 Windows 16-bit]] Compiler and Tools ====
These tools are mostly 16-bit and will require a Windows OS of Win95, Win98, Win2K, WinXP
 
==== Nintendo [[iQue Linux 32-bit]] Compiler and Tools ====
If you are running a version of Linux that can support these programs this is probably the best solution
 
==== n64chain [[N64 Windows/Linux 64-bit]] Compiler and Tools ====
This is the most modern compiler and tools, but some parts of the ROM build process are not well supported
}}
 
{{Colored box
|background-title-color= #CCCCCC
|title= [[:Category:Accessories|Accessories]]
|content=
<nowiki></nowiki>
* [[Controller]]
* [[64DD]]
* [[Voice Recognition Unit]]
===[[:Category:PAKs|PAKs]]===
* [[Game PAK|Game PAK (Cartridge)]]
* [[Jumper PAK]]
* [[Expansion PAK]]
* [[Controller PAK]]
* [[Rumble PAK]]
* [[Transfer PAK]]
}}
}}