Main Page: Difference between revisions

libdragon has 3D support now
(Reorganized boxes into two main sections, and changed some grammar to remove redundant points.)
(libdragon has 3D support now)
 
(29 intermediate revisions by 3 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= #FAFAAA
|- style="background: #F5FAFF;"
|title= Welcome to the {{SITENAME}}!
| {{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>
{{Center|This wiki is a collaboration among the homebrew community, proving accurate documentation of the Nintendo 64, its peripherals, and related software.<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]].}}
'''Everyone is [[Help:Editing|welcome to contribute]]!'''}}
}|}
 
{| 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;"
{{Colored box
! style="font-size: 102.15%;" | Physical Components
|background-title-color= #BBFFBB
! style="font-size: 102.15%;" | I/O Interfaces
|title= [[Motherboard|Hardware]]
|- style="background: #F5FAFF; vertical-align: top;"
|content=
|
<nowiki></nowiki>
====* [[MIPS R4300VR4300|MainVR4300 CPU MIPS R4300]]====
** [[COP1|FPU - CP1]]
A MIPS R4300 64-bit Processor with a Floating Point Co-Processor
** [[SysAD Interface]]
 
====* [[:Category:Reality CoProcessorCoprocessor|Reality CoProcessorCoprocessor - RCP]]====
The RCP contains the** [[Reality Signal Processor|RSP - Reality Signal Processor]] which is a MIPS R4000-type 32-bit Processor with an SIMD Co-Processor and the [[Reality Display Processor|RDP - Reality Display ProcessorRSP]] a dedicated hardware drawing processor.
** [[Reality Display Processor|Reality Display Processor - RDP]]
 
* [[RDRAM]]
====[[Peripheral Interface|PIF - Peripheral Interface]]====
*: Rambus DRAM shared by the console
Acts as both a BIOS and authentication validator for the console also manages the reset button and interacts with the 4 controller ports using the [[Joybus Protocol]]
* [[PIF-NUS]]
 
*: A 4-bit microcomputer used to communicate with the controllers and EEPROM
====[[Audio Interface]] and [[Video Interface]]====
* [[Audio DAC]]
Responsible for converting digital signals from the RCP to digital audio and video to be sent to the TV.
* [[Video DAC]]
 
|
 
* [[Memory map]]
{{Colored box
* [[MIPS Interface|MI - MIPS Interface]]
|background-title-color= #CCCCCC
* [[Video Interface|VI - Video Interface]]
|title= [[:Category:Accessories|Accessories]]
* [[Audio Interface|AI - Audio Interface]]
|content=
* [[Peripheral Interface|PI - Peripheral Interface]]
<nowiki></nowiki>
* [[RDRAM Interface|RI - RDRAM Interface]]
* [[Controller]]
* [[Serial Interface|SI - Serial Interface]]
* [[64DD]]
** [[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]]
===[[:Category:Paks|Paks]]===
* [[Fishing Rod]]
* [[Game Pak|Game Pak (Cartridge)]]
|
* [[Jumper Pak]]
* [[ExpansionGame Pak]] (Cartridge)
* [[Controller Pak]] (Memory Pak)
* [[Rumble Pak]]
* [[Transfer Pak]]
* [[Expansion Pak]]
===[[:Category:Flash_Carts|Flash Carts]]===
* [[Jumper Pak]]
<nowiki></nowiki>
|
}}
* [[64DD]] (64 Disk Drive)
* [[Doctor V64]]
* [[Homebrew Projects#Hardware|Flashcarts]]
|}
 
|
}}
{| cellpadding="2px" cellspacing="2px" style="width: 100%; table-layout: fixed;"
 
|- style="background: #E0ECF7;"
{{Colored box
! style="font-size: 102.15%;" | Programming Tools / SDK's
|background-title-color= #FFCCCC
! style="font-size: 102.15%;" | Game Development
|title= [[:Category:Software Development Kits|Software]]
|- style="background: #F5FAFF; vertical-align: top;"
|content=
|
<nowiki></nowiki>
* [[Libdragon|libdragon]]
 
*: Homebrew SDK, Public Domain, 2D & 3D, Audio and Controller support, OpenGL 1.1 (unstable)
==== [[pseultra]] ====
* [[Pseultra|pseultra]]
A homebrew N64 SDK. Still a work-in-progress but very feature-rich already.
*: Homebrew SDK, BSD 3 Clause License, 2D & 3D, Controller support but no audio
 
* [[Libultra|libultra]]
* BSD 3 Clause License
*: Nintendo's Official SDK, Partial source available
* 2D and 3D Graphics
* No[[iQue AudioSDK]]
*: Development library for the iQue Player
* Controllers
 
====[[libdragon]]====
A homebrew N64 SDK for developing N64 games.
 
* Public Domain
* 2D Graphics only
* Audio
* Controllers
 
====[[libultra]]====
Nintendo's official SDK library.
* Partial Source-Available
* [[SGI Audio Tools]]
* [[N64 IRIX|SGI Workstations using IRIX]]
 
* [[Partner N64]]
====[[Development Troubleshooting]]====
|
Tips for troubleshooting errors during homebrew game development.
* [[:Category:Game Jams|Game Jams]]
 
*: List of homebrew game development events
 
* [[Development Troubleshooting]]
{{Colored box
* [[Memory Allocation]]
|background-title-color= #CCCCCC
* [[MIPS III instructions|Instruction Cheatsheet]]
|title= [[:Category:Compilers|Compilers]]
*: Includes CPU and FPU instructions and opcodes
|content=
* [[Building GCC]]
<nowiki></nowiki>
*: Guide to build a GCC cross-compiler for N64 development
==== [[N64 IRIX]] SDK ====
* [[MIPS Assembly]]
Only for use on SGI workstations running IRIX 5.3 or higher with an R4K or higher processor
*: Notes about MIPS assembly programming
 
|}
==== [[Partner-N64 SDK]] ====
|}
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
}}
 
}}
 
}}