Main Page: Difference between revisions

From N64brew Wiki
Jump to navigation Jump to search
Content added Content deleted
m (Adding some descriptions)
(libdragon has 3D support now)
 
(67 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{DISPLAYTITLE:<span style="position: absolute; clip: rect(1px 1px 1px 1px); clip: rect(1px, 1px, 1px, 1px);">{{FULLPAGENAME}}</span>}}__NOTOC__
__NOTOC__
{| cellpadding="2px" cellspacing="4px" style="width: 100%; margin: 1em 0; table-layout: fixed; font-size: 100%;"
== Welcome to {{SITENAME}} Homebrew Documentation! ==
|- style="background: #CEE0F2;"
! Welcome to the N64brew Wiki!
|- style="background: #F5FAFF;"
| {{Center|This wiki is a collaboration among the homebrew community, proving accurate documentation of the Nintendo 64, its peripherals, and related software.<br>
'''Everyone is [[Help:Editing|welcome to contribute]]!'''<br>
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%;"
== Hardware ==
|- style="background: #CEE0F2;"
! style="width: 53%; font-size: 102.15%;" | '''Hardware'''
! style="font-size: 102.15%;" | '''Software'''
|- style="vertical-align: top;"
|
{| 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]]
|}


|
==== Main CPU MIPS R4300 ====
{| cellpadding="2px" cellspacing="2px" style="width: 100%; table-layout: fixed;"
Is a MIPS R4300 64-bit Processor with a Floating Point Co-Processor
|- style="background: #E0ECF7;"

! style="font-size: 102.15%;" | Programming Tools / SDK's
==== RSP - Reality Signal Processor ====
! style="font-size: 102.15%;" | Game Development
Is a MIPS R4000 32-bit Processor with an SIMD (Single Instruction Multiple Data) Co-Processor
|- style="background: #F5FAFF; vertical-align: top;"

|
==== RDP - Reality Display Processor ====
* [[Libdragon|libdragon]]
Is a dedicated hardware drawing process with a hard coded command set
*: Homebrew SDK, Public Domain, 2D & 3D, Audio and Controller support, OpenGL 1.1 (unstable)

* [[Pseultra|pseultra]]
==== Video Interface ====
*: Homebrew SDK, BSD 3 Clause License, 2D & 3D, Controller support but no audio
Is the configuration of resolution and color depth and a few effects that are applied to the image before being displayed.
* [[Libultra|libultra]]

*: Nintendo's Official SDK, Partial source available
==== Audio Interface ====
* [[iQue SDK]]

*: Development library for the iQue Player
==== Peripheral/Cartridge Interface ====
* [[SGI Audio Tools]]

* [[N64 IRIX|SGI Workstations using IRIX]]
==== Serial Interface ====
* [[Partner N64]]

|
==== Boot Process ====
* [[:Category:Game Jams|Game Jams]]

*: List of homebrew game development events
===== PIF =====
* [[Development Troubleshooting]]

* [[Memory Allocation]]
== Software ==
* [[MIPS III instructions|Instruction Cheatsheet]]

*: Includes CPU and FPU instructions and opcodes
=== Game Development Libraries ===
* [[Building GCC]]

*: Guide to build a GCC cross-compiler for N64 development
=== Compilers ===
* [[MIPS Assembly]]

*: Notes about MIPS assembly programming
=== Build Tools ===
|}

|}
== For assistance with editing this Wiki - Hosted by Miraheze ==
Need help? No problem! We will help you with your wiki as needed. To make a start we have added a few links about working with MediaWiki:

* <span class="plainlinks">[https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents MediaWiki guide (e.g. navigation, editing, deleting pages, blocking users)]</span>
* <span class="plainlinks">[https://meta.miraheze.org/wiki/FAQ Miraheze FAQ]</span>
*<span class="plainlinks">[https://meta.miraheze.org/wiki/Request_features Request settings changes on your wiki. (Extensions and Logo/Favicon changes should be done through Special:ManageWiki on your wiki].</span>

=== Additional Support ===

* <span class="plainlinks">[https://meta.miraheze.org/wiki/Help_center On our own Miraheze wiki]</span>
* On IRC in #miraheze on irc.freenode.net ([irc://irc.freenode.net/#miraheze direct link]; [http://webchat.freenode.net?channels=%23miraheze webchat])

Latest revision as of 19:36, 25 October 2023

Welcome to the N64brew Wiki!
This wiki is a collaboration among the homebrew community, proving accurate documentation of the Nintendo 64, its peripherals, and related software.

Everyone is welcome to contribute!

Find us on Discord, and be sure to check out homebrew, hardware, and more from community members.
Also take a look at the Frequently Asked Questions.
Hardware Software
Physical Components I/O Interfaces
Controllers Paks Addons / Miscellaneous
Programming Tools / SDK's Game Development