Main Page: Difference between revisions

From N64brew Wiki
Jump to navigation Jump to search
Content added Content deleted
m (→‎SDKs: Hierarchy was wrong)
(Changed layout and added boxes to better organize the page)
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__
{{Colored box
== Welcome to {{SITENAME}} Homebrew Documentation! ==
|background-title-color= #CCCCCC
N64 Homebrew Game development is getting better and this documentation is a key part of that.
|title= Welcome to the {{SITENAME}} Homebrew Wiki!
|content=
This wiki is a collaboration among the homebrew community. All are welcome to [[Help:Editing|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.
}}


{{ContentGrid
== Introduction ==
|content =
All of the individual parts are described in detail below and on their linked pages, but first let's describe what we can expect.
<!--
nowiki markers are added so the first bullet in the list are rendered correctly!
please don't remove those markers, thank you
-->


{{Colored box
This is a great console if you want to do a 3D game with some constraints to challenge yourself.
|background-title-color= #BBFFBB

|title= [[:Category:Motherboard|Motherboard]]
* The main CPU (R4300) runs at 93 MHz (not GHz)
|content=
* The graphic processor (RSP) runs at 62 MHz
<nowiki></nowiki>
* The system has 4-8 MB of RAM
====[[MIPS R4300|Main CPU MIPS R4300]]====
* The maximum commercial game cartridge is 64 MB, most games were 32MB or less
*Maximum resolution 640x480 but most games were only 320x240
*30-60 Frames Per Second

[[Detailed Overview]]

== Hardware ==

====[[Main CPU MIPS R4300]]====
Is a MIPS R4300 64-bit Processor with a Floating Point Co-Processor
Is a MIPS R4300 64-bit Processor with a Floating Point Co-Processor


====[[RSP - Reality Signal Processor]]====
====[[Reality Signal Processor|RSP - Reality Signal Processor]]====
Is a MIPS R4000 32-bit Processor with an SIMD (Single Instruction Multiple Data) Co-Processor
Is a MIPS R4000 32-bit Processor with an SIMD (Single Instruction Multiple Data) Co-Processor


====[[RDP - Reality Display Processor]]====
====[[Reality Display Processor|RDP - Reality Display Processor]]====
Is a dedicated hardware drawing process with a hard coded command set
Is a dedicated hardware drawing process with a hard coded command set


====[[Video Interface]]====
====Video Interface====
Is the configuration of resolution and color depth and a few effects that are applied to the image before being displayed.
Is the configuration of resolution and color depth and a few effects that are applied to the image before being displayed.


====[[Audio Interface]]====
====Audio Interface====
This configures the Audio DAC (Digital Analog Converter)
This configures the [[Digital Analog Converter|Audio DAC]].


====[[Peripheral/Cartridge Interface]]====
====[[Peripheral Interface|PIF - Peripheral Interface]]====
Handles reading/writing to/from the cartridge and interacts with the 4 controller ports using the [[Joybus Protocol]]
This is the memory area to read data/code from the cartridge
}}

====[[Serial Interface]]====
This is how the console interacts with the 4 controller ports and EEPROM save type.

====[[Boot Process - Including the PIF]]====

== Software ==

=== SDKs ===


{{Colored box
|background-title-color= #CCCCFF
|title= [[:Category:Software Development Kits|SDK's]]
|content=
<nowiki></nowiki>
==== [[pseultra]] ====
==== [[pseultra]] ====
A homebrew N64 SDK. Still a work-in-progress but very feature-rich already;
A homebrew N64 SDK. Still a work-in-progress but very feature-rich already;
Line 63: Line 61:
* Audio
* Audio
* Controllers
* Controllers
}}
}}


{{ContentGrid
=== Compilers ===
|content =

<!--
=== Build Tools ===
nowiki markers are added so the first bullet in the list are rendered correctly!

please don't remove those markers, thank you
== 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>


{{Colored box
=== Additional Support ===
|background-title-color= #CCCCCC
|title= [[:Category:Compilers|Compilers]]
|content=
<nowiki></nowiki>
}}


{{Colored box
* <span class="plainlinks">[https://meta.miraheze.org/wiki/Help_center On our own Miraheze wiki]</span>
|background-title-color= #CCCCCC
* On IRC in #miraheze on irc.freenode.net ([irc://irc.freenode.net/#miraheze direct link]; [http://webchat.freenode.net?channels=%23miraheze webchat])
|title= [[:Category:Accessories|Accessories]]
|content=
<nowiki></nowiki>
* [[Controller]]
* [[64DD]]
* [[Mouse]]
===[[:Category:PAKs|PAKs]]===
* [[Controller PAK]]
* [[Jumper PAK]]
* [[Expansion PAK]]
* [[Rumble PAK]]
* [[Transfer PAK]]
}}
}}

Revision as of 17:15, 2 August 2020


Welcome to the N64brew Wiki Homebrew Wiki!
This wiki is a collaboration among the homebrew community. All are 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.

Main CPU MIPS R4300

Is a MIPS R4300 64-bit Processor with a Floating Point Co-Processor

RSP - Reality Signal Processor

Is a MIPS R4000 32-bit Processor with an SIMD (Single Instruction Multiple Data) Co-Processor

RDP - Reality Display Processor

Is a dedicated hardware drawing process with a hard coded command set

Video Interface

Is the configuration of resolution and color depth and a few effects that are applied to the image before being displayed.

Audio Interface

This configures the Audio DAC.

PIF - Peripheral Interface

Handles reading/writing to/from the cartridge and interacts with the 4 controller ports using the Joybus Protocol

pseultra

A homebrew N64 SDK. Still a work-in-progress but very feature-rich already;

  • BSD 3 Clause License
  • 3D Graphics
  • 2D Graphics
  • NO Audio
  • Controllers

libdragon

A homebrew N64 SDK for developing N64 games

  • Public Domain
  • NO 3D Graphics
  • 2D Graphics
  • Audio
  • Controllers