Main Page: Difference between revisions
Fraser.mips (talk | contribs) m (→Boot Process: Added libdragon details) |
Fraser.mips (talk | contribs) m (→SDKs: Made some links for editing more pages) |
||
Line 8: | Line 8: | ||
This is a great console if you want to do a 3D game with some constraints to challenge yourself. |
This is a great console if you want to do a 3D game with some constraints to challenge yourself. |
||
* The main CPU runs at 93 MHz (not GHz) |
* The main CPU (R4300) runs at 93 MHz (not GHz) |
||
* The graphic processor (RSP) runs at 62 MHz |
* The graphic processor (RSP) runs at 62 MHz |
||
* The system has 4-8 MB of RAM |
* The system has 4-8 MB of RAM |
||
* The maximum commercial game cartridge is 64 MB |
* 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 == |
== 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]]==== |
||
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]]==== |
||
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]]==== |
||
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]]==== |
||
This configures the Audio DAC (Digital Analog Converter) |
This configures the Audio DAC (Digital Analog Converter) |
||
==== |
====[[Peripheral/Cartridge Interface]]==== |
||
This is the memory area to read data/code from the cartridge |
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. |
This is how the console interacts with the 4 controller ports and EEPROM save type. |
||
==== |
====[[Boot Process - Including the PIF]]==== |
||
==== |
==== Software ==== |
||
=== SDKs === |
|||
==== |
==== [[pseultra]] ==== |
||
A homebrew N64 SDK. Still a work-in-progress but very feature-rich already; |
|||
===== PIF ===== |
|||
== Software == |
|||
=== SDKs === |
|||
[[pseultra]] - an open-source alternative to the official N64 SDK. Still a work-in-progress but very feature-rich already; the only important feature that is missing (at this time of writing) is audio output. |
|||
* BSD 3 Clause License |
|||
==== libdragon ==== |
|||
* 3D Graphics |
|||
* 2D Graphics |
|||
* NO Audio |
|||
* Controllers |
|||
==== |
====[[libdragon]]==== |
||
A homebrew N64 SDK for developing N64 games |
|||
* Public Domain |
|||
===== Documentation: https://dragonminded.com/n64dev/libdragon/ ===== |
|||
* NO 3D Graphics |
|||
<br /> |
|||
* 2D Graphics |
|||
=== Game Development Libraries === |
|||
* Audio |
|||
* Controllers |
|||
=== Compilers === |
=== Compilers === |
Revision as of 06:13, 2 August 2020
Welcome to N64brew Wiki Homebrew Documentation!
N64 Homebrew Game development is getting better and this documentation is a key part of that.
Introduction
All of the individual parts are described in detail below and on their linked pages, but first let's describe what we can expect.
This is a great console if you want to do a 3D game with some constraints to challenge yourself.
- The main CPU (R4300) runs at 93 MHz (not GHz)
- The graphic processor (RSP) runs at 62 MHz
- The system has 4-8 MB of RAM
- 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
Hardware
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 (Digital Analog Converter)
Peripheral/Cartridge Interface
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
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
Compilers
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:
- MediaWiki guide (e.g. navigation, editing, deleting pages, blocking users)
- Miraheze FAQ
- Request settings changes on your wiki. (Extensions and Logo/Favicon changes should be done through Special:ManageWiki on your wiki.
Additional Support
- On our own Miraheze wiki
- On IRC in #miraheze on irc.freenode.net (direct link; webchat)