Main Page: Difference between revisions

libdragon has 3D support now
mNo edit summary
(libdragon has 3D support now)
 
(30 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= #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;"
{{Colored box
! style="font-size: 102.15%;" | Physical Components
|background-title-color= #BBFFBB
! style="font-size: 102.15%;" | I/O Interfaces
|title= [[:Category:Motherboard|Motherboard]]
|- 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]]
 
|
====[[Motherboard]] components====
* [[Memory map]]
Additional hardware components on the motherboard.
* [[MIPS Interface|MI - MIPS Interface]]
}}
* [[Video Interface|VI - Video Interface]]
 
* [[Audio Interface|AI - Audio Interface]]
{{Colored box
* [[Peripheral Interface|PI - Peripheral Interface]]
|background-title-color= #CCCCFF
* [[RDRAM Interface|RI - RDRAM Interface]]
|title= [[:Category:Software Development Kits|SDK's]]
* [[Serial Interface|SI - Serial Interface]]
|content=
** [[Joybus Protocol]]
<nowiki></nowiki>
**: Communication protocol between the PIF, game cartridge, and connected controllers
==== [[pseultra]] ====
|}
A homebrew N64 SDK. Still a work-in-progress but very feature-rich already.
{| cellpadding="2px" cellspacing="2px" style="width: 100%; margin: 1em 0; margin-top: 0px; table-layout: fixed;"
 
|- style="background: #E0ECF7;"
* BSD 3 Clause License
! style="width: 38%; font-size: 102.15%;" | Controllers
* 3D Graphics
! style="font-size: 102.15%;" | Paks
* 2D Graphics
! style="font-size: 102.15%;" | Addons / Miscellaneous
* NO Audio
|- style="background: #F5FAFF; vertical-align: top;"
* Controllers
|
 
* [[Controller|Tri-Wing Controller]]
====[[libdragon]]====
* [[Train Controller]]
A homebrew N64 SDK for developing N64 games.
*: Used exclusively for Densha de Go
 
* [[Mouse]]
* Public Domain
* [[Randnet Keyboard]]
* NO 3D Graphics
* 2D Graphics
* Audio
* Controllers
 
====[[libultra]]====
Nintendo's official SDK library.
* Partially Source-Available
* [[SGI Audio Tools]]
====[[Development Troubleshooting]]====
Tips for troubleshooting errors during game development
 
}}
}}
 
{{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>
==== [[N64 IRIX]] SDK ====
Only for use on SGI workstations running IRIX 5.3 or higher with an R4K or higher processor
 
==== [[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
}}
 
{{Colored box
|background-title-color= #CCCCCC
|title= [[:Category:Accessories|Accessories]]
|content=
<nowiki></nowiki>
* [[Controller]]
* [[64DD]]
* [[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;"
! style="font-size: 102.15%;" | Programming Tools / SDK's
! style="font-size: 102.15%;" | Game Development
|- style="background: #F5FAFF; vertical-align: top;"
|
* [[Libdragon|libdragon]]
*: Homebrew SDK, Public Domain, 2D & 3D, Audio and Controller support, OpenGL 1.1 (unstable)
* [[Pseultra|pseultra]]
*: Homebrew SDK, BSD 3 Clause License, 2D & 3D, Controller support but no audio
* [[Libultra|libultra]]
*: Nintendo's Official SDK, Partial source available
* [[iQue SDK]]
*: Development library for the iQue Player
* [[SGI Audio Tools]]
* [[N64 IRIX|SGI Workstations using IRIX]]
* [[Partner N64]]
|
* [[:Category:Game Jams|Game Jams]]
*: List of homebrew game development events
* [[Development Troubleshooting]]
* [[Memory Allocation]]
* [[MIPS III instructions|Instruction Cheatsheet]]
*: Includes CPU and FPU instructions and opcodes
* [[Building GCC]]
*: Guide to build a GCC cross-compiler for N64 development
* [[MIPS Assembly]]
*: Notes about MIPS assembly programming
|}
|}