# Table of Contents - [Console Protocols](#console-protocols) - [Console Protocols - N64 Region Mods](#console-protocols-n64-region-mods) - [Console Protocols - Gamers](#console-protocols-gamers) - [Console Protocols - N64 Region Info](#console-protocols-n64-region-info) - [Console Protocols - N64 RGB Mod](#console-protocols-n64-rgb-mod) - [Console Protocols - Modders](#console-protocols-modders) - [Console Protocols - Max Mod N64](#console-protocols-max-mod-n64) - [Console Protocols - Homebrew](#console-protocols-homebrew) - [Console Protocols - N64 Assembly](#console-protocols-n64-assembly) - [Console Protocols - TechInfo](#console-protocols-techinfo) - [Console Protocols - Low Level Details](#console-protocols-low-level-details) - [Console Protocols - JoyBus Implementation Notes](#console-protocols-joybus-implementation-notes) - [Console Protocols - Contact](#console-protocols-contact) - [Console Protocols - About Console Protocols](#console-protocols-about-console-protocols) - [Console Protocols - SGI Emulation](#console-protocols-sgi-emulation) - [Console Protocols - N64 Misunderstood](#console-protocols-n64-misunderstood) - [Console Protocols](#console-protocols) - [Console Protocols](#console-protocols) --- # Console Protocols Search this site Embedded Files Skip to main content Skip to navigation Home ==== Updates: * July 13, 2020 Discovered and purchased an N64 Arcade Controller * Jan 3, 2020 I've now acquired all of the controllers mentioned below! * December 5, 2018 Controllers WTB (Updated January 23, 2019) * ~Purchased: N64 Arcade Joystick by MadKatz~ * ~Purchased Nuby Boomerang 64~ * ~Purchased Super Pad 64 Plus~ * July 8, 2018 - [Densha de Go! 64 controller](https://sites.google.com/site/consoleprotocols/home/nintendo-joy-bus-documentation/n64-specific/train-controller) * Site Structure & Theme update Eventually I do intend to get to the Gamecube, but for now the focus on the Nintendo 64 console. So many rabbit holes of information! Gamers take a look at the [N64 Region](https://sites.google.com/site/consoleprotocols/home/gamers/n64-region-info) hardware/game combinations! Updates to the [Max Mod N64](https://sites.google.com/site/consoleprotocols/home/n64-Mods/max-mod-n64) pages, still a WIP take a look! Using a [N64/Gamecube to USB](http://www.google.com/url?q=http%3A%2F%2Fwww.raphnet-tech.com%2Fproducts%2Fgcn64_usb_adapter_gen3%2Findex.php&sa=D&sntz=1&usg=AOvVaw28Yr9x1DbUQimXWY4CNTUz) [Raphnet](http://www.google.com/url?q=http%3A%2F%2Fwww.raphnet-tech.com&sa=D&sntz=1&usg=AOvVaw2PcuM6zC5oFrGUaniYAoJJ) adapter I completed validation testing of the [N64 RandNET Keyboard](https://sites.google.com/site/consoleprotocols/home/nintendo-joy-bus-documentation/n64-specific/randnet-keyboard) a big thank you to Raphael for adding support for the RandNET keyboard to his utility program. Take a look at N64 [Assembly Language Tutorial](https://sites.google.com/site/consoleprotocols/home/homebrew/n64-assembly-home) . The original scope of all controller protocols was a little ambitious so the focus has been narrowed down to the Nintendo Joybus. It has a fair amount of complexity because of the available accessories but is simple in that both the send and receive data are on a single wire. * [Nintendo Joy Bus Protocol](https://sites.google.com/site/consoleprotocols/home/nintendo-joy-bus-documentation) Report abuse --- # Console Protocols - N64 Region Mods Search this site Embedded Files Skip to main content Skip to navigation N64 Region Modification ======================= [](https://sites.google.com/site/consoleprotocols/home/gamers/n64-region-mods#h.p_ID_32) General ----------------------------------------------------------------------------------------------------- ### [](https://sites.google.com/site/consoleprotocols/home/gamers/n64-region-mods#h.p_ID_34) Some of the following directions may cause permanent damage to some or all of your console and games! ### [](https://sites.google.com/site/consoleprotocols/home/gamers/n64-region-mods#h.p_jf3Wv2giFWjJ) You have been warned! On the N64 the region locking is physical between North America and Japanese Console / Cartridge combinations. It's a notch in a specific position on the cartridge and a peg in the console. PAL systems and games have additional technical limitations imposed, mostly because of the different TV standard, but it's also enforced by the Nintendo CIC Lockout chip. ![](https://lh3.googleusercontent.com/sitesv/AA5AbUCbieBXcuYIFavj0BuO8fDwv9B7nVTgsiW7oIymHV0WxDu1xE2jghifo-ijNIRt25j9ty_kqZwehWZIEC1n-nudP4r1sEYoUpF4HkQRdzmwfT4xKVxdj6qsy5fysa4QY4hlxBUBs0Dlw_hcB9i2kt34E7b3WBSxcfUj8JmS6oQ1o8YDB7SJeUGrXwv4Uk6E7mHAUnEtgpH9=w1280) Pilotwings 64 - Japan Adapter Wonder - Any Region Lylat Wars - PAL Everdrive 64 - Any Region Hey You! Pikachu - North America When the cartridge and console notch and peg matches it looks like this: ![](https://lh3.googleusercontent.com/sitesv/AA5AbUCYM6W9Ge90y8aRwZBeEYOT-Ikk98xBpcPwWj6XBIHxZTkgzykMv09vwvuNa6geX8-l7mBv0iPRuapV7ZBhR3xNKbyP79UjiIiPsefFZe714GNEyVZl1ew-u-DGMLhOVLjltRrqOcp_GpwRksxcnSJe0FjoRo0BmnoRIa5GjsQ39vXlYCtgcgP5kXI0WAxf9x21mHWzKA=w1280) When they don't match it looks like this: ![](https://lh3.googleusercontent.com/sitesv/AA5AbUB9wvnUm4uV0doPg_Jw4TTzBojy4hz8ZQhOZpfQoeq97sWEltaet8kIbzvIOC-Ngywy8QvLkmnJdyuM7nSbCX6giy6licSp-LahIb33o8HwEGVSA5pDhvPCaHiWtbRn6tLZ9jfYnLfxRoKkEDgcZD3kwXKrkPeoPlfS5H9noPG4TGdZX0qzLCbcmBk1rrzGCy22y2JeL_6D=w1280) The following are the common modifications that can be made for playing N64 games from other regions. They all have advantages and disadvantages most are listed below. Most other options are combinations or slight variations on these. Note: the only one that allows PAL games to be played on an NTSC console is the N64 Passport, see below for details (not all good). [](https://sites.google.com/site/consoleprotocols/home/gamers/n64-region-mods#h.p_ID_155) Adapter Wonder ------------------------------------------------------------------------------------------------------------- ![](https://lh3.googleusercontent.com/sitesv/AA5AbUCHWPPoEhtzAAeseY6tRRxHUxPJ_H5unATH42fzjf41poTFU0_OQ2SOdugT42ZNWwsawixyQ03zufZwoMrQDHrk6I28PxKhWrpSQNGhJbdO0nfAN38_uX-TCVLlavek8jEucATsfcI6MeUJjU-UwHkYtmrDVlb_2Pe1IjNlXDlml4VZf_b2AfMQpIUZ0GUIqPE4ERNGKpDt=w1280) If you can find it this is probably one of the best solutions for most people. Not permanent, No tools, looks good, easy to use. Down sides: * Availability? Not made anymore so hard to say. * Price may fluctuate based on demand. [](https://sites.google.com/site/consoleprotocols/home/gamers/n64-region-mods#h.p_Td38pB4EcznZ) Cartridge: Swap Backs -------------------------------------------------------------------------------------------------------------------------- This technique is pretty easy can be done using a 3.8mm Security Bit which is easy to find on eBay, Amazon, etc for just a couple of bucks. The downsides are pretty minimal. * Need Donor cartridges for Console Region * To resell need to swap the back again. [](https://sites.google.com/site/consoleprotocols/home/gamers/n64-region-mods#h.p_uYjKCo48c61u) Cartridge: Grind off ------------------------------------------------------------------------------------------------------------------------- ![](https://lh3.googleusercontent.com/sitesv/AA5AbUC2GscJO-f9EhfWLY4Nr5BhmOZfkV9Z15riyPWttCeg54OnI0t2SxTb90ltG2Ee0jslTa9VOsDJ3nzwNc6mo4v90SmSgeB41vo0ezYlTScSsaf4P63WE4QbPVqUlzOZM8hHOUfBf-Xow1lzMtlN3OytznlkbWtZRY3bMkAZ-aWK-xeGFUzCBSC2v003xuLTMks5jljdsw=w1280) Please don't do this! I'm not a mint condition collector, I'm more of a player collector but this modification still brings a tear to my eye. This example was purchased at an independent game store for just a couple of bucks. * Limited resale value [](https://sites.google.com/site/consoleprotocols/home/gamers/n64-region-mods#h.p_ZYeEE08EdBvJ) Console: Remove Notched Part --------------------------------------------------------------------------------------------------------------------------------- Some people may like this compromise, since it's not permanent and solves the problem. I don't care for it because the dust block is either removed or just hangs down, which gives the console a broken look. * Dust cover is not functional and usually removed as well. * Lose a little of the alignment aid when inserting Cartridges * Storage of these parts * Recommend a 4.5mm Security Driver when opening consoles. A driver has a skinny shank to get into the deeper screw holes. [](https://sites.google.com/site/consoleprotocols/home/gamers/n64-region-mods#h.p_zO5JIYDCdJPJ) Console: Grind Notched Part -------------------------------------------------------------------------------------------------------------------------------- This is my preferred method, it's a little damaging but if done correctly can be subtle, also I would never do it to a console with any real collector status. For example Zelda Gold, Pikachu Yellow are a **no, no**. Even the Funtastic colors would not be good candidates. Stick with the Black and Grey console for this technique. * Permanent * Requires a steady hand for a good result. * Recommend a 4.5mm Security Driver when opening consoles. A driver has a skinny shank to get into the deeper screw holes. * Same style of modification is possible on a SNES to play SFC (Super Famicom) games! ![](https://lh3.googleusercontent.com/sitesv/AA5AbUBHfUrkY9JDBY8NYjg_IXNQ6hcSYh3QW77c-Skv76aOmb6pDRFyssnxLsHk8nbyaqlCSMcQM3FHYf1YAGrDe76N_7oGirlI49tt_xm8QapXCz-B2QR-DU5VPtaY5Su9xcSqXHuRHJhKgjpNGBKfhSTgV3kEE1ZytkVnySx0dK4mANlRIwodfBytd32hhDCus-1Rsct_jN98=w1280) **Before** ![](https://lh3.googleusercontent.com/sitesv/AA5AbUC-j7zyCK0YGHsORKqUdVVXbzQUE4YASa-V-BN7jT0-RNJxlha0mp2JE0lui-NwVCBdC0kiESueqnJSeXAJbcxCaoq-K0ssenptvcAz9WGtkEhBruYCcxjLKq3O4eOGAHp1_gB-mhzp14H5jHbdr2efQ9wfSznpAqz-S0xdfS7ZcNei7ZNggN1zNUAv218jQ8bDcjxYReVP=w1280) **After** [](https://sites.google.com/site/consoleprotocols/home/gamers/n64-region-mods#h.p_XlRZ9lPbdSMc) N64 Passport ----------------------------------------------------------------------------------------------------------------- This would seem to be the obvious choice for everything to "just work" **but** the quality is generally well behind the Gameshark. Not all games are supported and different firmware versions confuse the actual supported games list. Report abuse --- # Console Protocols - Gamers Search this site Embedded Files Skip to main content Skip to navigation Gamers ====== Take a look at my [Region info](https://sites.google.com/site/consoleprotocols/home/gamers/n64-region-info) on the left to learn which regional accessories can be used with different console regions. The [Region Mod](https://sites.google.com/site/consoleprotocols/home/gamers/n64-region-mods) for N64 (and SNES) is mechanical, so no soldering required. There is some great information that if you haven't found it on your own, is definitely worth checking out. I'd rather link to their content than try and maintain another copy of it. An N64 "News" site that is updated regularly with Gamer Art, reviews of Public Domain ROM's, official hardware and some development experiments. [https://n64squid.com](https://www.google.com/url?q=https%3A%2F%2Fn64squid.com&sa=D&sntz=1&usg=AOvVaw2nTKk4Vww8T73VxMzVOwl3) Great reference data for N64 games and more. [http://micro-64.com/database/1databaseindex.shtml](http://www.google.com/url?q=http%3A%2F%2Fmicro-64.com%2Fdatabase%2F1databaseindex.shtml&sa=D&sntz=1&usg=AOvVaw1K1DNyXYBd10u0jz-FfqpL) Great feature on Superman 64 Prototype (Spoiler: it could of been good) [http://micro-64.com/features/supermanbeta1.shtml](http://www.google.com/url?q=http%3A%2F%2Fmicro-64.com%2Ffeatures%2Fsupermanbeta1.shtml&sa=D&sntz=1&usg=AOvVaw3sde60sR78Q5-fLuUO7R__) Report abuse --- # Console Protocols - N64 Region Info Search this site Embedded Files Skip to main content Skip to navigation N64 Region Information ====================== The region specific information about the Nintendo 64 isn't very clearly published. Some of this information has simply been lost to the ages (i.e. dead or outdated websites), also the original console release was before what most people consider the "Internet Age". I will be very clear my information for US and Japan are both from research and hands on experience. My experience with Europe/Australia i.e. PAL is limited to research only. Everybody loves a chart so lets start there. Follow the links to sections below for more details. [](https://sites.google.com/site/consoleprotocols/home/gamers/n64-region-info#h.p_ID_59) Console & Cartridges ------------------------------------------------------------------------------------------------------------------ The US and Japan versions of the console are nearly interchangeable, the only "region" locking is a physical notch in the cartridge with a matching peg in the console. [Region Mod Technique list available here](https://sites.google.com/site/consoleprotocols/home/gamers/n64-region-mods) : **Do these at your own risk, none are supported by me or Nintendo.** [](https://sites.google.com/site/consoleprotocols/home/gamers/n64-region-info#h.p_ID_65) Game Cartridges ------------------------------------------------------------------------------------------------------------- US games in Japanese consoles and Japanese games in US Consoles should work just fine after either the console or cartridges are modified to fit. PAL Cartridges use the same notch position as the Japanese cartridges. When using a modified US/Japanese console with a PAL game cartridge may cause problems. These problems should not cause any permanent damage but possible side effects include. * PAL Game in US/Japanese console simply doesn't startup. (Most likely) * Copyright protection uses a CIC chip which is different between NTSC and PAL * Incorrect game play speed. Choppy or otherwise poor framerates. * PAL frame rates are lower for a given screen resolution [](https://sites.google.com/site/consoleprotocols/home/gamers/n64-region-info#h.p_ID_109) Memory Expansion PAK ------------------------------------------------------------------------------------------------------------------- This is the 4 MB (Megabyte) RAM Memory Expansion PAK that some games required and others may use if available. This is a highly recommended accessory for any N64 console! This item has _**no known region / language / technical limitations**_. It's either 1 or 2 Memory IC's there is no logic to restrict how it works. The connector and installation method are identical across all regions. [](https://sites.google.com/site/consoleprotocols/home/gamers/n64-region-info#h.p_ID_115) Standard Controller ------------------------------------------------------------------------------------------------------------------ The standard controller assumes either a Nintendo or 3rd party Tri-Wing controller. These controllers respond to the standard console request with the same response data. Nintendo branded controllers had some issues with the Joysticks wearing out to the point they would not "self center". While 3rd party controllers may use a different joystick that doesn't have that problem it could still be a poor quality or an inaccurate joystick. NOTE: Some 3rd Party controllers DON'T support the accessory port in the controller, to the point of completely blocking it! This applies especially to those intended for PC use with USB. [](https://sites.google.com/site/consoleprotocols/home/gamers/n64-region-info#h.p_ID_121) Rumble PAK --------------------------------------------------------------------------------------------------------- The Rumble PAK request and response data is not region specific. Nintendo branded Rumble PAK's always use 2 AAA batteries. The amount of power that is available to each controller is limited so this is a very safe approach. Third party Rumble PAK's may try to use the power available from the console. This might work for one player, but multiple players with these Rumble PAK's may cause problems for example console may hang or reset while playing. [](https://sites.google.com/site/consoleprotocols/home/gamers/n64-region-info#h.p_ID_127) Controller PAK (Memory PAK) -------------------------------------------------------------------------------------------------------------------------- Nintendo always referred to this accessory as the Controller PAK, most users recognize it for what it is and refer to it as the Memory PAK. The Controller PAK has some considerations for use across regions. This is easier to explain in steps: 1. Play a Japanese game and save to Controller PAK 2. Use US game Controller PAK management feature to view Saved Games 3. ISSUE: US game doesn't have a font that will show the proper name of the Japanese game This same issue would apply to any European games where the game name includes non-ASCII characters. These memory units are small with a maximum of 16 save games, I would recommend purchasing one or more Controller PAK's for each region. For example one for Japanese games, one for Europe, another for Australia, and one for North America. [](https://sites.google.com/site/consoleprotocols/home/gamers/n64-region-info#h.p_ID_143) Transfer PAK ----------------------------------------------------------------------------------------------------------- There is at least one site that states that the Transfer PAK is not region locked (i.e. Japan Transfer PAK can be used with a US game/console combination. I have tested the following combinations: Note: The GameBoy / GameBoy Color games were not region locked. Any N64 games that use the Transfer PAK to read Gameboy games could make their own determination of what Gameboy games they would support. For example a US N64 game developer could decide to support all regional versions of their Gameboy game and determine which features in their game would be enabled, maybe unlocking different characters for each regional version of the gameboy game. [](https://sites.google.com/site/consoleprotocols/home/gamers/n64-region-info#h.p_ID_201) Voice Recognition ---------------------------------------------------------------------------------------------------------------- The Voice Recognition unit is a language locked device, the US VRU only works with the English language and the Japanese VRS only works with Japanese. The simple answer here is that the console region doesn't matter. Cartridge and Voice Recognition unit must match. Good: Japan Game Cartridge, North American Console, Japanese VRS. Good: North American Cartridge, Japan Console, North American VRU. * Japanese VRS 1. "Hey you, Pikachu" - Pet / Life Simuation 2. "Densha de Go!" - Train Simulator * North America VRU * "Hey you, Pikachu" - Pet / Life Simuation I don't believe a Voice Recognition unit was released for Europe or Australia. [](https://sites.google.com/site/consoleprotocols/home/gamers/n64-region-info#h.p_ID_217) 64DD --------------------------------------------------------------------------------------------------- The 64DD had sales of 34,962\* (or higher) which is pretty limited for a Nintendo product, even the Virtual Boy sold approximately 500,000. There were only 11 games/programs released for the 64DD all in Japan. I have verified a 64DD with a North America Console works fully, although everything I've seen is in Japanese. I'm sure it would not work with a PAL console, but that would probably be a software and CIC compatibility issue. \*Reference: [64DD Serial Numbers "registry"](http://www.google.com/url?q=http%3A%2F%2Fs9.zetaboards.com%2FNintendo_64_Forever%2Ftopic%2F7438347%2F9%2F&sa=D&sntz=1&usg=AOvVaw21juM3gWN6qIsELzMjkfUz) . Expected behavior 64DD Attached to console (i.e. 64DD Troubleshooting) : Notes: * Disk Insert/Eject are mechanical and don't require power to the 64DD [](https://sites.google.com/site/consoleprotocols/home/gamers/n64-region-info#h.p_ID_253) Mouse ---------------------------------------------------------------------------------------------------- Not region locked, but has limited usage outside of it's primary market of Japan. The Mouse is probably one of the more interesting accessories. It was intended for use with the Mario Artist series that was only released on the 64DD in Japan and used to good effect in all (Paint, Talent, Communication, Polygon Studio) of those titles. It has been reported to work with several North America released games including Starcraft, Goldeneye and Perfect Dark. The gamers that have tried this usage don't claim it's good but the fact that it works is pretty cool. [](https://sites.google.com/site/consoleprotocols/home/gamers/n64-region-info#h.p_ID_259) Keyboard ------------------------------------------------------------------------------------------------------- Not region locked, but not very usable in any region. It supports the standard ASCII character set as well as Japanese characters. Only the Japan RandNET internet access 64DD cartridge supported it. [](https://sites.google.com/site/consoleprotocols/home/gamers/n64-region-info#h.p_ID_269) Train Controller --------------------------------------------------------------------------------------------------------------- Not region locked, but only usable with one Japanese game. This controller isn't usable as a normal controller, it's technically very different. [](https://sites.google.com/site/consoleprotocols/home/gamers/n64-region-info#h.p_ID_275) Something missing? ----------------------------------------------------------------------------------------------------------------- Please comment below or fill out the [Contact form](https://sites.google.com/site/consoleprotocols/contact) . Report abuse --- # Console Protocols - N64 RGB Mod Search this site Embedded Files Skip to main content Skip to navigation N64 RGB Mod =========== ### [](https://sites.google.com/site/consoleprotocols/home/n64-Mods/n64-rgb-mod#h.p_ID_32) The screen captures are amazing! ### [](https://sites.google.com/site/consoleprotocols/home/n64-Mods/n64-rgb-mod#h.p_ID_34) The price for parts is reasonable! ### [](https://sites.google.com/site/consoleprotocols/home/n64-Mods/n64-rgb-mod#h.p_ID_36) Installation services are available! ### [](https://sites.google.com/site/consoleprotocols/home/n64-Mods/n64-rgb-mod#h.p_ID_38) What could be wrong? [](https://sites.google.com/site/consoleprotocols/home/n64-Mods/n64-rgb-mod#h.p_ID_40) RGB Isn't Component! ---------------------------------------------------------------------------------------------------------------- ### [](https://sites.google.com/site/consoleprotocols/home/n64-Mods/n64-rgb-mod#h.p_ID_42) Huh? RGB output isn't the "RGB" that most North Americans think of, **it's not** the "Component" RGB connectors on the back of the TV. The RGB connections available on game consoles is part of the SCART standard used in Europe during the 80's and 90's. Since it was often included for European consoles, it's often easy to "enable" the feature on North American consoles. [](https://sites.google.com/site/consoleprotocols/home/n64-Mods/n64-rgb-mod#h.p_ID_46) What can I do with it? ------------------------------------------------------------------------------------------------------------------ ### [](https://sites.google.com/site/consoleprotocols/home/n64-Mods/n64-rgb-mod#h.p_ID_48) RGB can be displayed directly on an SCART TV. Negatives: * Europe doesn't use SCART anymore * SCART is common on Tube type TV's which are expensive to ship * SCART TV's are setup for European Electric outlets (220v, 50 Hz **vs** 110v, 60 Hz) ### [](https://sites.google.com/site/consoleprotocols/home/n64-Mods/n64-rgb-mod#h.p_ID_58) RGB can be displayed directly on a "Studio Monitor". Negatives: * Not common * Originally very expensive * Tube type TV's, heavy, bulky, etc. * BNC connectors [](https://sites.google.com/site/consoleprotocols/home/n64-Mods/n64-rgb-mod#h.p_ID_70) What do most North America gamers do with RGB? ------------------------------------------------------------------------------------------------------------------------------------------ ### [](https://sites.google.com/site/consoleprotocols/home/n64-Mods/n64-rgb-mod#h.p_ID_72) The 3 part plan (SCART TV, Studio Monitor) 1. Console Modification 2. Cable between Console and TV 3. TV that can display the signal The only other 3 part plan REALLY depends on your TV, NOT the quality or brand but on a per model basis. [See here](http://www.google.com/url?q=http%3A%2F%2Fwww.hdretrovision.com%2F240p%2F&sa=D&sntz=1&usg=AOvVaw0OVmbVVHusRmAy5tphGfFm) . The products to do this are: 1. THS7374 Mod board ($20-65) 2. HD Retrovision SNES YPbPr Component Cable ($53) 3. Compatible TV with "240p over component" ($$$-$$$$) [](https://sites.google.com/site/consoleprotocols/home/n64-Mods/n64-rgb-mod#h.p_ID_90) Plan, Plan, Plan ------------------------------------------------------------------------------------------------------------ ### [](https://sites.google.com/site/consoleprotocols/home/n64-Mods/n64-rgb-mod#h.p_ID_92) If you are considering an RGB Mod for N64 create a full plan of how you will use it. Without a plan it will be easy to end up with mismatched cables, daisy chained signal converters and the same blurry mess on your screen. Most Commonly RGB gets converted to another format through a box. Here is the more common 5 part solution 1. Console Modification 2. Cable between Console and Conversion box 3. Conversion box 4. Cable between Conversion box and TV 5. TV that can display the converted signal Lets plug in some real products into our 5 part plan. 1. THS7374 Mod board ($20-65) 2. N64 AV Cable to SCART ($10-40) 3. SCART to HDMI Upscaler ($10-200) 4. Standard HDMI - HDMI Cable ($5-10) 5. TV with HDMI Inputs ($$$-$$$$) The upscaler is the biggest variable in cost and performance. Read reviews and purchase carefully. It seems like there is always a new/similar model coming out so reviews become outdated. Newer models aren't always better sometimes they are different in a way that doesn't do what you want anymore. ### [](https://sites.google.com/site/consoleprotocols/home/n64-Mods/n64-rgb-mod#h.p_ID_122) My Shopping list * RGB Mod board [from Voultar](http://www.google.com/url?q=http%3A%2F%2Fvoultar.com%2Findex.php%3Froute%3Dproduct%2Fproduct%26product_id%3D50&sa=D&sntz=1&usg=AOvVaw3DL_fHKLIx4YK84VsVpeEO) (Installation Service is also available) - Ordered * N64 AV out cable to SCART [from Retro-Access](https://www.google.com/url?q=https%3A%2F%2Fretro-access.com%2Fproducts%2Fsuper-nintendo-stereo-rgb-scart-lead-snes-csync-full-shield-grounded-cable&sa=D&sntz=1&usg=AOvVaw3HcVAQS0F8KzqmlNvQp_SW) (Check inventory @ 7AM EST) - Ordered * SCART to HDMI Upscaler (Not going to post a link until I've used it) * Standard HDMI cable * Large Screen LCD TV (already own a 1k and 4k model) I'll probably be testing a couple of options and I'll report back once my testing is complete. [](https://sites.google.com/site/consoleprotocols/home/n64-Mods/n64-rgb-mod#h.p_ID_136) Shopping List: Done ---------------------------------------------------------------------------------------------------------------- [](https://sites.google.com/site/consoleprotocols/home/n64-Mods/n64-rgb-mod#h.p_rIIZsQr3oFcv) Why haven't I ordered it yet? -------------------------------------------------------------------------------------------------------------------------------- The hardest thing about the RGB Modification seems to be waiting for sellers to have stock. That applies to cable vendors and even RGB mod sellers. The market isn't huge and most sellers don't want to have even 100's in stock, it's expensive to sit on a years worth of inventory that won't be paid for until June and wont show a profit until July. Report abuse --- # Console Protocols - Modders Search this site Embedded Files Skip to main content Skip to navigation N64 Modders =========== I thought I would take "notes" and eventually end up with some good information. See References at the bottom of the page. tl;dr : The best N64 Motherboard for modification is: **NUS-CPU-04** **Approximate US** Serial Numbers NS135731008 to NS204554187 Why: * 2 qty RAM Footprints * Easy RGB Modification, need to add buffered csync (THS7374). * Overclocking of the CPU-NUS A is reported to be more stable * Other Modifications apply to all motherboards Possible Modifications: * Change Power LED Color * Video Output * Easy RGB : THS7314, THS7316 * NUS-CPU-01 to NUS-CPU-03 * Better RGB : THS7374 * NUS-CPU-01 to NUS-CPU-04 * Advanced RGB : [Tim Worthington: Altera MAXII based board](http://www.google.com/url?q=http%3A%2F%2Fetim.net.au%2Fshop%2Fshop.php%3Fcrn%3D209%26rn%3D548%26action%3Dshow_detail&sa=D&sntz=1&usg=AOvVaw190lCDYBWvLjDfMxB5TnuS) * NUS-CPU-01 to NUS-CPU-09-1 * HDMI [Retroactive.be](http://www.google.com/url?q=http%3A%2F%2Fultrahdmi.retroactive.be%2F&sa=D&sntz=1&usg=AOvVaw3ZixFgJ63OtGgaqhnniOoT) * Any N64 Motherboard * RAM Upgrade (up to 12 MB) * NUS-CPU-01 to NUS-CPU-05 * Over/Under Clocking * CPU-NUS A on motherboards NUS-CPU-04 to NUS-CPU-09-1 * Heat Sinks * Region Modification * Capacitor Replacement : [Guide](https://www.google.com/url?q=https%3A%2F%2Fmortoffgames.com%2Ffiles%2FNintendo_64_Power_Supply_Capacitor_Replacement_Kit.pdf%3F1543617607&sa=D&sntz=1&usg=AOvVaw2eyz86l_wuY7zzXOpKNG2H) * Miscellaneous [](https://sites.google.com/site/consoleprotocols/home/n64-Mods#h.p_ID_86) Mod Descriptions ------------------------------------------------------------------------------------------------ ### [](https://sites.google.com/site/consoleprotocols/home/n64-Mods#h.p_ID_88) Change Power LED Color ### [](https://sites.google.com/site/consoleprotocols/home/n64-Mods#h.p_ID_90) Video Output ### [](https://sites.google.com/site/consoleprotocols/home/n64-Mods#h.p_ID_92) RAM Upgrade This modification has 2 variants * 8 MB RDRAM on Motherboard (w/ Jumper PAK) * 12 MB RDRAM Total (w/ Expansion PAK) Facts 1. Early motherboards NUS-CPU-01 to NUS-CPU-05-1 have 2 RDRAM footprints on the PCB 2. Early motherboards have 2 qty 2 MB RDRAM chips 3. Later motherboards and Expansion PAK's have 4 MB RDRAM chips The Mod involves removing the 2 qty 2 MB RDRAM chips from an early motherboard and replacing them with 2 qty 4 MB RDRAM chips either from later Console revisions or Expansion PAK's. The remaining question is whether to use the Jumper PAK or another Expansion PAK, that determines if you have 8 MB or 12 MB. Honestly most games can't take advantage of anymore RAM and some may fail completely because of assumptions the programmers made about RAM size. ### [](https://sites.google.com/site/consoleprotocols/home/n64-Mods#h.p_ID_112) TO BE VERIFIED!! I've read that this RAM modification is just a solder fix, but I have not personally seen or performed this modification. ### [](https://sites.google.com/site/consoleprotocols/home/n64-Mods#h.p_ID_116) Under / Over Clocking [](https://sites.google.com/site/consoleprotocols/home/n64-Mods#h.p_ID_118) Console Background Information --------------------------------------------------------------------------------------------------------------- Cross Reference Console Serial Numbers: [http://nintendo64.wikia.com/wiki/Console\_Serial\_Number\_Guide](http://www.google.com/url?q=http%3A%2F%2Fnintendo64.wikia.com%2Fwiki%2FConsole_Serial_Number_Guide&sa=D&sntz=1&usg=AOvVaw0LzHPK3ScuSdd8aUUmWEfU) Serial Numbers notes: It really matters which Motherboard, not the Serial Number, but there isn't another external indicator of which Motherboard is inside the console. Opening the console up is the only 100% positive way to tell. Motherboard Revisions: NUS-CPU-01: * Only used in early Japanese Consoles * 2 qty RDRAM18 * VDC-NUS i.e. EASILY - RGB Moddable * Buffered cync output included * RGB Mod's available: THS7314, THS7316, THS7374 NUS-CPU-02: * 2 qty RDRAM18 * VDC-NUS i.e. EASILY - RGB Moddable * Buffered cync output * RGB Mod's available: THS7314, THS7316, THS7374 NUS-CPU-03: * 2 qty RDRAM18 * VDC-NUS i.e. EASILY - RGB Moddable * CPU-NUS OR CPU-NUS A * Buffered cync output * RGB Mod's available: THS7314, THS7316, THS7374 NUS-CPU-04: * 2 qty RDRAM18 * VDC-NUS i.e. EASILY - RGB Moddable * CPU-NUS A * Needs THS7374 mod to restore csync NUS-CPU-05: * 2 qty RDRAM18 * CPU-NUS A * RGB Mod - Tim Worthington: Altera MAXII based board NUS-CPU-05-1: * 2 qty RDRAM18 * CPU-NUS A * RGB Mod - Tim Worthington: Altera MAXII based board NUS-CPU-06: * 1 qty RDRAM36 * CPU-NUS A * RGB Mod - Tim Worthington: Altera MAXII based board NUS-CPU-07: * 1 qty RDRAM36 * CPU-NUS A * RGB Mod - Tim Worthington: Altera MAXII based board NUS-CPU-08: * 1 qty RDRAM36 * CPU-NUS A * RGB Mod - Tim Worthington: Altera MAXII based board NUS-CPU-08-1: * 1 qty RDRAM36 * CPU-NUS A * RGB Mod - Tim Worthington: Altera MAXII based board NUS-CPU-09: * 1 qty RDRAM36 * CPU-NUS A * RGB Mod - Tim Worthington: Altera MAXII based board NUS-CPU-09-1: * 1 qty RDRAM36 * CPU-NUS A * RGB Mod - Tim Worthington: Altera MAXII based board Some content and ideas are from a now archived site: [kyorune](https://www.google.com/url?q=https%3A%2F%2Fweb.archive.org%2Fweb%2F20150226010918%2Fhttp%3A%2F%2Fkyorune.com%2Fmodding%2Fshowcat.php%3Fcat%3Dn64_modding&sa=D&sntz=1&usg=AOvVaw1t09RilftV2dgEMiEXFMei) A lot of great, yet technical RGB information here: [http://www.retrorgb.com/n64.html](http://www.google.com/url?q=http%3A%2F%2Fretrorgb.com%2F&sa=D&sntz=1&usg=AOvVaw06i1KKNYc8UPIVzaoZXT9S) RAM Upgrade discussion: [assemblergames](https://www.google.com/url?q=https%3A%2F%2Fassemblergames.com%2Fthreads%2Fpossible-to-upgrade-n64-ram-internally.34414%2F&sa=D&sntz=1&usg=AOvVaw39L5FKqOggtN0dHjXxDXzv) RAM Upgrade How-To: [bitbuilt](https://www.google.com/url?q=https%3A%2F%2Fbitbuilt.net%2Fforums%2Findex.php%3Fthreads%2Ffull-ram-swapping-guide.59%2F&sa=D&sntz=1&usg=AOvVaw1wMb0-QaCyZniTw_D-ETfG) Schematic of [NUS-CPU-03/NUS-CPU-04](http://www.google.com/url?q=http%3A%2F%2Fwww.acidmods.com%2FRDC%2FNINTENDO%2FN64%2FN64%2520NUS-CPU-03-04.pdf&sa=D&sntz=1&usg=AOvVaw2PPs9HB81J38Myor5DKJdz) Jumper Pack replacement discussion: [benheck](http://www.google.com/url?q=http%3A%2F%2Fforums.benheck.com%2Fviewtopic.php%3Ff%3D58%26t%3D25379%26sid%3D7a0ff00f57c114b28be7173267b229f1%26start%3D15&sa=D&sntz=1&usg=AOvVaw2LOVqIJtvsC95Je83pCbnp) Heat sink discussion: [modretro](http://www.google.com/url?q=http%3A%2F%2Fforums.modretro.com%2Findex.php%3Fthreads%2Favg-n64-temps-or-how-much-heatsink-do-i-really-need.1395%2F&sa=D&sntz=1&usg=AOvVaw2FNXl-46YzAcMhdpdtnZDI) Portable discussion: [modretro](http://www.google.com/url?q=http%3A%2F%2Fforums.modretro.com%2Findex.php%3Fthreads%2Fn64-portable-worklog.918%2F&sa=D&sntz=1&usg=AOvVaw0siMjFT_E_sMp3E2dzZ-1d) Report abuse --- # Console Protocols - Max Mod N64 Search this site Embedded Files Skip to main content Skip to navigation Max Mod N64 =========== My process and things I learned doing the maximum number and types of mods on an N64 Console. **NOTE: The N64 was made when Lead solder was the standard for all manufactured electronics. Even if the new solder you add is ROHS, the original solder is not.** Mods and their planned order: 1. RGB MOD 2. Replace Capacitors in Power supply 3. RAM Upgrade 8 - 12 MB 1. Depending on Jumper/Expansion PAK 4. Heat Sinks (replace 'heat spreader') 5. Replace Capacitors on Motherboard 6. Gamecube Controller Port - Maybe 7. Power LED RGB Color 8. HDMI ?? 9. Overclocking 10. JTAG ?? Additional Mods (Non-console) 1. [Game PAK](https://sites.google.com/site/consoleprotocols/home/n64-Mods/max-mod-n64/controller-pak) mod (Battery Holder) 2. [Controller PAK](https://sites.google.com/site/consoleprotocols/home/n64-Mods/max-mod-n64/controller-pak) mods (Battery holder, FRAM) 3. [Rumble PAK](https://sites.google.com/site/consoleprotocols/home/n64-Mods/max-mod-n64/rumble-pak) mods (No Battery) 4. [Transfer Pak Mod](http://www.google.com/url?q=http%3A%2F%2Fkrikzz.com%2Fforum%2Findex.php%3Ftopic%3D1780.0&sa=D&sntz=1&usg=AOvVaw019v-Rr0G9wqEh7rBB3-dD) for Everdrive GB cart (External) 5. [Metal Joysticks](http://www.google.com/url?q=http%3A%2F%2Fsteelsticks64.com&sa=D&sntz=1&usg=AOvVaw0jmVPH6hOPaBPJEyUvtrTs) ? (External) 6. Gamecube Joystick (upgrade?) Some of this sequence choice is based on "building" the skills for the more advanced mods, also the state of the console is considered. For example advanced IC pin mods are later, also the Heat sink upgrade will leave a lot more space around the IC pins for later mods. Detail Steps: 1. Find a working Console with **Approximate US** Serial Numbers NS135731008 to NS204554187 . 1. Mine NS144804557 2. Unscrew the top and confirm the motherboard revision 1. Not NUS-CPU-04 ? 1. Go to the first step 2. Mine Verified NUS-CPU-04 3. Test the console :) 1. Not reliable? 1. Go to the first step 4. [**Recap the Power Supply**](https://sites.google.com/site/consoleprotocols/home/n64-Mods/max-mod-n64/recappowersupply) 1. Good skill building exercise (Through-hole) 2. Power supply is interchangeable 3. Power supply isn't 'collectible' 5. [**Install Heatsinks**](https://sites.google.com/site/consoleprotocols/home/n64-Mods/max-mod-n64/heatsink) 1. Use a quality Heatsink adhesive! 1. Not paste or other "hacks" that aren't thermally conductive or may fail later. 2. MIPS VR4300 3. Nintendo RCP 4. Re-test: Note keep the Aluminum block on the RAM chips for this test. 6. [**RAM chip swap 2x2 MB to 2x4 MB**](https://sites.google.com/site/consoleprotocols/home/n64-Mods/max-mod-n64/ramupgrade) 1. Tricky because it's SMD and lots of pins. 2. Install RAM Chips Heatsink with Heatsink Adhesive. 7. [**Recap motherboard**](https://sites.google.com/site/consoleprotocols/home/n64-Mods/max-mod-n64/recap-motherboard) 8. [RGB MOD](https://sites.google.com/site/consoleprotocols/home/n64-Mods/max-mod-n64/rgb-mod) 9. Overclock Switches ([External](https://www.google.com/url?q=https%3A%2F%2Fweb.archive.org%2Fweb%2F20150117085651%2Fhttp%3A%2F%2Fkyorune.com%3A80%2Fmodding%2Farticle.php%3Fid%3D70&sa=D&sntz=1&usg=AOvVaw1pgjTCMDnAbdIXAcOpjgF2) ) ### [](https://sites.google.com/site/consoleprotocols/home/n64-Mods/max-mod-n64#h.p_ID_208) Soldering Tips The following really makes it easier and improves the quality. * Adjustable Soldering Iron: * ex. Hakko 888-d Approx $100 * Knife shape tip * ex. T18-K $10-15 * Low melting point solder * Used for de-soldering * ChipQuik Solder Wire Sn42/Bi57/Ag1 Part: SMDSWLTLFP32 Approx $40 * Alternative Qualiteks Sn42/Bi58. * Standard electronics solder * Low melting point solder, isn't good for everything. ### [](https://sites.google.com/site/consoleprotocols/home/n64-Mods/max-mod-n64#h.p_ID_232) Costs Not including Tax or Shipping Console: $50 Power Supply Cap Kit: $3.95 Console Cap Kit: $9.95 4 MB Chip: $25 each Est. Controller PAK: $15 FRAM $1.25 Battery Holder Report abuse --- # Console Protocols - Homebrew Search this site Embedded Files Skip to main content Skip to navigation Homebrew ======== Creating homebrew programs for the Nintendo 64, is both easy and hard. It's easy to make a "Hello World" program, but to truly use the hardware available will take some real initiative. I had a bad experience getting a working N64 toolchain. I hope the following information can prove helpful and save other some frustration. I consider this current as of Sept 2018. Linux toolchain Options: * GCC cross compiler provided by Distro * Glankk script * [https://github.com/glankk/n64](https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fglankk%2Fn64&sa=D&sntz=1&usg=AOvVaw0kB9Lw6aWk_orAQhkaKGVN) Windows toolchain Options * n64Chain MacOS toolchain Options Development Libraries: * Official SDK: legally questionable, but complete coverage of all available features. * libdragon: fully legal, supports most features, missing 3D * [https://github.com/DragonMinded/libdragon](https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2FDragonMinded%2Flibdragon&sa=D&sntz=1&usg=AOvVaw1B91kLULEb4wxax81nupsw) * 64Chain: Minimal implementation at this point, includes multi-threading and text to screen. * [https://github.com/tj90241/n64chain](https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Ftj90241%2Fn64chain&sa=D&sntz=1&usg=AOvVaw04kYlw-G8R9677lJyEm-Z6) * pseultra: Actively developed includes a callback system instead of multi-threading, soon to include 3D triangles. * [https://github.com/pseudophpt/pseultra](https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fpseudophpt%2Fpseultra&sa=D&sntz=1&usg=AOvVaw12piIZr32H7b7GuFtttGhV) Report abuse --- # Console Protocols - N64 Assembly Search this site Embedded Files Skip to main content Skip to navigation N64 Assembly ============ [](https://sites.google.com/site/consoleprotocols/home/homebrew/n64-assembly-home#h.p_ID_32) Updated: N64 Assembly YouTube Series -------------------------------------------------------------------------------------------------------------------------------------- The same content updated with more explanation and showing how it's done. Twitch stream style. [https://www.youtube.com/playlist?list=PLjwOF\_LvxhqTXVUdWZJEVZxEUG5qt8fsA](https://www.youtube.com/playlist?list=PLjwOF_LvxhqTXVUdWZJEVZxEUG5qt8fsA) [](https://sites.google.com/site/consoleprotocols/home/homebrew/n64-assembly-home#h.v9xjor3e224a) Why? ----------------------------------------------------------------------------------------------------------- * MIPS Assembly is easy to learn * 3D games in Assembly language * Simple Development Tools I have wanted to learn an assembly language but felt like it was an overwhelming task and didn't have a good tutor/mentor to help me out. About a year ago I found [**Peter Lemon's Github**](https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2FPeterLemon%2FN64&sa=D&sntz=1&usg=AOvVaw1bNUjMj1rC3vQevMlL2XcP) and started to read everything there. When I found the really short ones and they had great comments it really felt approachable. How can you write a 3D game in assembly language? On other platforms it requires large libraries of code that could be called from Assembly. On the N64 3D is 'native' and can be done with just a few instructions. Complicated games with 3D models are still complicated but simple shapes and objects remain simple even in assembly language. I also struggled with the learning curve of setting up a Makefile and all of the other tools needed to develop C\\C++ for N64. * Old tools require old operating systems * 16-bit doesn't run on 64-bit * GCC Command line tools are tricky to setup on Windows and generally better if you know \*nix. * Most homebrew libraries haven't been updated in years The 'bass' assembler is robust in supporting multiple platforms so basic knowledge stays the same. Try NES, GB, GBC, SNES, GBA, and a couple of others! This tutorial would be considered a "Bottom -> Up" tutorial, it starts very simple with 5 instructions and even 5 lessons in we are only up to 10 instructions. What makes that interesting is the amount of work that can be done with 10 very simple instructions. The goal is that around lesson 10+ it's possible to make something very similar to Pong. Report abuse --- # Console Protocols - TechInfo Search this site Embedded Files Skip to main content Skip to navigation TechInfo ======== This site was started to document as many controller protocols as possible, it's pretty obvious it's become both **less** and **more** since then. I've decided to focus on Nintendo controllers, and the most interesting of those is the Joybus protocol. The Joybus protocol was introduced with the Nintendo 64 (N64) and then used on the Gamecube (GC) and the Gameboy Advance (GBA). Lots of great accessories, did both input and output of data for use in many different games. Take a look at the list of [commands](https://sites.google.com/site/consoleprotocols/home/nintendo-joy-bus-documentation/joybus-command-list) that were used. I've also started editing some of the technical content on this shoutwiki [http://en64.shoutwiki.com/wiki/Main\_Page](http://www.google.com/url?q=http%3A%2F%2Fen64.shoutwiki.com%2Fwiki%2FMain_Page&sa=D&sntz=1&usg=AOvVaw2T7ako-b5CGLtLdJMHZPPl) . Report abuse --- # Console Protocols - Low Level Details Search this site Embedded Files Skip to main content Skip to navigation Low Level Details ================= Report abuse --- # Console Protocols - JoyBus Implementation Notes Search this site Embedded Files Skip to main content Skip to navigation JoyBus Implementation Notes =========================== There are 3 main ways to Implement the JoyBus protocol 1. Create an Input Device (Hardware) 2. Host an Input Device (Hardware) 3. Game Library (N64 Software) N64 Game Library The simplest implementation is usually to support the standard controller which sends a single byte command and receives 4 bytes for N64 and 8 bytes for GameCube. In most situations the requirement is simply the controller button and joystick status which is just 32 / 64 bits (not kbits) and with protocol overhead this entire transaction is complete in 170 - 340 uS ( less than about 1/3 of a millisecond). What makes this even easier is that single transaction takes place every 16.66 ms (aka 60 times per second). These 4 pieces are put together in to 2 common commands (and several other device specific ones). Below are minimum commands implemented by every official device, please see the device specific pages for the complete implementation details. Report abuse --- # Console Protocols - Contact Search this site Embedded Files Skip to main content Skip to navigation Contact Me ========== [](https://docs.google.com/forms/d/1S3qQFObxCD34T56noOlKHljPGvw2iH42ceg5ex3R_BQ/viewform?embedded=true "Open Google Forms, Console Protocol Contact Form in new window") Report abuse --- # Console Protocols - About Console Protocols Search this site Embedded Files Skip to main content Skip to navigation About Console Protocols ======================= This site is dedicated to the accurate documentation of protocols used to communicate with and inside of game consoles. What is presented here is treated as a science experiment, with the goals of accuracy and reproduction of results. If anything is found to be in error please contact the site owners to get it deleted or corrected. We love game consoles of all types and if there is content here that a manufacturer is concerned about please also let us know so we can remedy the situation. To hopefully avoid or reduce the chance of this situation we will be focused on "Classic Consoles" : 1. The manufacturer is not directly profiting from the sale of consoles, games or accessories. 2. Not commonly for sale (If it's not available at a Gamestop store it's probably fine) 3. Requests or discussions about copyrighted ROM's are not acceptable. 4. Discussion about purchased consoles, games and accessories and how they can be legally reverse engineered is expected and encouraged. Report abuse --- # Console Protocols - SGI Emulation Search this site Embedded Files Skip to main content Skip to navigation SGI IRIX Emulation ================== [Recommendation: The Latest Release](https://sites.google.com/site/consoleprotocols/home/sgi/sgi-emulation#h.6om70azgfof8) [What Hardware to emulate?](https://sites.google.com/site/consoleprotocols/home/sgi/sgi-emulation#h.1scaqdwx4fph) [Recommendation: Indigo 2 OR Indy](https://sites.google.com/site/consoleprotocols/home/sgi/sgi-emulation#h.udw5jcjwdl1i) [Recommendation: xl24](https://sites.google.com/site/consoleprotocols/home/sgi/sgi-emulation#h.lgmho7iol706) [What version of IRIX to install?](https://sites.google.com/site/consoleprotocols/home/sgi/sgi-emulation#h.rsfehxtoebth) [Recommendation: IRIX 6.5.22](https://sites.google.com/site/consoleprotocols/home/sgi/sgi-emulation#h.e05bkeywmugc) [Alternate: IRIX 5.3](https://sites.google.com/site/consoleprotocols/home/sgi/sgi-emulation#h.xjofb9cnhsn0) [IRIX Installation CD Images](https://sites.google.com/site/consoleprotocols/home/sgi/sgi-emulation#h.41ftbu3gmohx) [9.1 GB for IRIX 5.3](https://sites.google.com/site/consoleprotocols/home/sgi/sgi-emulation#h.5hii5idk0okf) [36.7 GB for IRIX 6.5](https://sites.google.com/site/consoleprotocols/home/sgi/sgi-emulation#h.9vuh2mifc4qg) [CDROM](https://sites.google.com/site/consoleprotocols/home/sgi/sgi-emulation#h.j7zc43v1z0jp) [Installing IRIX (in MAME)](https://sites.google.com/site/consoleprotocols/home/sgi/sgi-emulation#h.p_qyTrqKiwQ4SW) [BEFORE First Boot (Indigo 2)](https://sites.google.com/site/consoleprotocols/home/sgi/sgi-emulation#h.z9g8bddx7njn) [Standard Boot Process (Indigo 2 & Indy)](https://sites.google.com/site/consoleprotocols/home/sgi/sgi-emulation#h.fqlpmvf19m90) [First Boot (Indy)](https://sites.google.com/site/consoleprotocols/home/sgi/sgi-emulation#h.kkq1m3ukitn2) [Standard Installation steps (Indigo 2 & Indy)](https://sites.google.com/site/consoleprotocols/home/sgi/sgi-emulation#h.nwh496fghfna) [Indigo 2](https://sites.google.com/site/consoleprotocols/home/sgi/sgi-emulation#h.pc5qo1z78p4l) [Indy](https://sites.google.com/site/consoleprotocols/home/sgi/sgi-emulation#h.87xckr3xtpbi) [Installation steps (Indigo 2 & Indy)](https://sites.google.com/site/consoleprotocols/home/sgi/sgi-emulation#h.y1fv49hmk1ni) [Troubleshooting](https://sites.google.com/site/consoleprotocols/home/sgi/sgi-emulation#h.av22mf3ngve) [MAME crashes when running the command ls dksc(0,6,8)](https://sites.google.com/site/consoleprotocols/home/sgi/sgi-emulation#h.a1qa8y42a88p) [IRIX Software](https://sites.google.com/site/consoleprotocols/home/sgi/sgi-emulation#h.76kv9iwn186p) [Tips](https://sites.google.com/site/consoleprotocols/home/sgi/sgi-emulation#h.p4ineavv13eq) [Performance](https://sites.google.com/site/consoleprotocols/home/sgi/sgi-emulation#h.p_vZwjfdA4w0Ut) MAME can emulate either **SGI Indy** or **Indigo 2** running the IRIX Operating System. [https://github.com/mamedev/mame/releases](https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fmamedev%2Fmame%2Freleases&sa=D&sntz=1&usg=AOvVaw07uFrbdOMhbr3UIo0EPKvQ) * 0.207 Initial Support (slow) * 0.213 has a graphics bug regression * 0.232 Networking works * 0.240 Non-Dynamic Recompiler * 0.241 Dynamic Recompiler was added (faster) * Current MAME version at the time of last update is 0.250 Emulation supports installing IRIX, some demo and other applications have been tested. If something doesn't work please [submit an issue](https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fmamedev%2Fmame%2Fissues&sa=D&sntz=1&usg=AOvVaw3bXn-KhChd2ihOM0LsjWFa) so it can be fixed. ### [](https://sites.google.com/site/consoleprotocols/home/sgi/sgi-emulation#h.6om70azgfof8) Recommendation: The Latest Release [](https://sites.google.com/site/consoleprotocols/home/sgi/sgi-emulation#h.1scaqdwx4fph) What Hardware to emulate? ----------------------------------------------------------------------------------------------------------------------- **First decide between Indy and Indigo 2** The biggest difference between these is the startup logo, in emulation neither has a performance or feature benefit over the other. ### [](https://sites.google.com/site/consoleprotocols/home/sgi/sgi-emulation#h.udw5jcjwdl1i) Recommendation: Indigo 2 **OR** Indy **Then decide on the graphics option: serial terminal, xl8 or xl24** The serial terminal is the default, if you don't specify one of the other options on the MAME command line (covered later) then you will only be able to connect to the emulated serial terminal. Between 8bit palette graphics and 24 bit frame buffer graphics I'm not sure if one emulates faster or not. So at this time I'll recommend xl24 which "intuitively" seems like it would be faster. ### [](https://sites.google.com/site/consoleprotocols/home/sgi/sgi-emulation#h.lgmho7iol706) Recommendation: xl24 BIOS ROM Download Location: [https://archive.org/download/mame-merged/mame-merged/](https://www.google.com/url?q=https%3A%2F%2Farchive.org%2Fdownload%2Fmame-merged%2Fmame-merged%2F&sa=D&sntz=1&usg=AOvVaw2rjm8BWMopPnUh_xigYQ3n) Do a Ctrl+F and search for **indigo2\_4415.zip** OR **indy\_4610.zip** Also get both of the following kb\_ms\_natural.zip **AND** ps2\_keybc.zip Download these files and place in the \\MAME\\ROMS folder There are other SGI BIOS files available but they are minimally usable in MAME at this time and NOT covered on this page * [https://github.com/mamedev/mame/tree/master/src/mame/sgi](https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fmamedev%2Fmame%2Ftree%2Fmaster%2Fsrc%2Fmame%2Fsgi&sa=D&sntz=1&usg=AOvVaw1grQ1UPGufdHJkq1-uPhDX) * Personal IRIS - 4D/20, 4D/25 - Bootable but some errors, Irix 4.0.5 working * Personal IRIS - 4D/30, 4D/35 - MACHINE\_IS\_SKELETON * IRIS 3130 68K - MACHINE\_IS\_SKELETON * Additional NOT Emulated PROM's: [**http://www.vdheijden-messerli.net/sgistuff/nekochan/prom/**](http://www.google.com/url?q=http%3A%2F%2Fwww.vdheijden-messerli.net%2Fsgistuff%2Fnekochan%2Fprom%2F&sa=D&sntz=1&usg=AOvVaw0ZTZo6HJCnZW0_2UeyGcj9) [](https://sites.google.com/site/consoleprotocols/home/sgi/sgi-emulation#h.rsfehxtoebth) What version of IRIX to install? ------------------------------------------------------------------------------------------------------------------------------ Overview The Indigo 2 was released before the Indy and could originally run IRIX 4.05. At this time IRIX 4.x is not known to complete the installation. IRIX 5.x is supported by the Indigo 2 and Indy but most versions until 5.3 are considered buggy and should be avoided. IRIX 5.3 may perform a little better, than the 6.x versions but some software may not work on 5.3. IRIX 6.0 was the first 64-bit release of IRIX, The last supported version for either Indigo 2 or Indy is 6.5.22. IRIX 6.5.x installation may use up to 5 CD's so keep an eye on your emulated hard drive size. Notes: * IRIX 6.3 is for the O2 only * IRIX 6.4 is Origin 200/0 and Onyx 2 and Octane only. * IRIX 6.5.23 and up are not supported on the Indigo 2 or Indy workstations. ### [](https://sites.google.com/site/consoleprotocols/home/sgi/sgi-emulation#h.e05bkeywmugc) Recommendation: IRIX 6.5.22 ### [](https://sites.google.com/site/consoleprotocols/home/sgi/sgi-emulation#h.xjofb9cnhsn0) Alternate: IRIX 5.3 [](https://sites.google.com/site/consoleprotocols/home/sgi/sgi-emulation#h.41ftbu3gmohx) IRIX Installation CD Images ------------------------------------------------------------------------------------------------------------------------- Other images can be found with a little searching but the more common choices are here. IRIX 5.3 for Indy [https://archive.org/details/sgi\_IRIX\_5.3\_for\_Indy\_R4400\_175MHz](https://www.google.com/url?q=https%3A%2F%2Farchive.org%2Fdetails%2Fsgi_IRIX_5.3_for_Indy_R4400_175MHz&sa=D&sntz=1&usg=AOvVaw2XcOlzTImpHumOFZb9B-Vh) IRIX 5.3 for Indigo 2 [https://archive.org/details/irix53xfs](https://www.google.com/url?q=https%3A%2F%2Farchive.org%2Fdetails%2Firix53xfs&sa=D&sntz=1&usg=AOvVaw2O4H8URJcX-5EbB3MKyWYx) IRIX 6.5 for Indigo 2 and Indy [https://archive.org/search.php?query=irix%206.5](https://www.google.com/url?q=https%3A%2F%2Farchive.org%2Fsearch.php%3Fquery%3Dirix%25206.5&sa=D&sntz=1&usg=AOvVaw3hYfxzgXWqlLGtALtbR-uG) * IRIX 6.5 Installation Tools * IRIX 6.5 Foundation 1 * IRIX 6.5 Foundation 2 * IRIX 6.5 Applications (Optional) * IRIX 6.5 Base Documentation (Optional) * IRIX 6.5 Development Foundation (Optional needed for GCC installations as well) * IRIX 6.5 Development Libraries (Optional needed for GCC installations as well) Alternate download location: [https://jrra.zone/sgi/](https://www.google.com/url?q=https%3A%2F%2Fjrra.zone%2Fsgi%2F&sa=D&sntz=1&usg=AOvVaw3RGsuH-CbYiWmwv-AdC9Qv) Use the chdman utility included with MAME to create a hard disk to install to. ### [](https://sites.google.com/site/consoleprotocols/home/sgi/sgi-emulation#h.5hii5idk0okf) 9.1 GB for IRIX 5.3 chdman createhd -ss 512 -s 11773255680 -o Indigo2\_IRIX53.chd [https://www.seagate.com/support/disc/manuals/scsi/29030c.pdf](https://www.google.com/url?q=https%3A%2F%2Fwww.seagate.com%2Fsupport%2Fdisc%2Fmanuals%2Fscsi%2F29030c.pdf&sa=D&sntz=1&usg=AOvVaw1x7SHb--vBXUPAVc93i2tt) ### [](https://sites.google.com/site/consoleprotocols/home/sgi/sgi-emulation#h.9vuh2mifc4qg) 36.7 GB for IRIX 6.5 chdman createhd -ss 512 -s 36771581952 -o Indigo2\_IRIX65.chd ### [](https://sites.google.com/site/consoleprotocols/home/sgi/sgi-emulation#h.j7zc43v1z0jp) CDROM cdrom drive is hardcoded to 0,6 (X,Y) Using the ISO files acquired above you are now ready to emulate an SGI workstation running IRIX. Use a shell or batch file to start your emulated system because the command line is a bit long otherwise. The base command line is (needs additional parameters, see below): mame64 -window -ui\_mouse -harddisk1 .\\roms\\Indigo2\_IRIX53.chd -cdrom .\\roms\\irix5.3\_indy\_r4400.iso This command will run MAME in a window which is usually more convenient, enables the mouse in the MAME UI, provides the path the harddrive and CD drives. Verify the path to the chd and iso file match their actual location, also make sure the keyboard and mouse BIOS files that were downloaded are still zipped and placed in the \\MAME\\roms folder. The workstation DRIVER is **indigo2\_4415** OR **indy\_4610** (without the .zip extension) Enable a Serial Console Terminal \-hpc3:ioc2:rs232b terminal To Select a Graphics card (Default is Serial Terminal Only) \-gio\_gfx xl8 **OR** \-gio\_gfx xl24 The final command line will look something like this: mame64 indigo2\_4415 -window -ui\_mouse -gio\_gfx xl24 -harddisk1 .\\roms\\Indy2g.chd -cdrom .\\roms\\irix5.3\_indy\_r4400.iso Some additional parameters to experiment with: Troubleshooting \-log -verbose MIPS Assembly language Debugging \-debug The following may (or may not) improve performance. \-autoframeskip Refence: [https://docs.mamedev.org/\_files/MAME.pdf](https://www.google.com/url?q=https%3A%2F%2Fdocs.mamedev.org%2F_files%2FMAME.pdf&sa=D&sntz=1&usg=AOvVaw0MiZz_CIUNJ9r9BTgzwvXH) The following references were used for the installation steps below: [**https://software.majix.org/irix/install-start.shtml**](https://www.google.com/url?q=https%3A%2F%2Fsoftware.majix.org%2Firix%2Finstall-start.shtml&sa=D&sntz=1&usg=AOvVaw3iEJgTJnMu-DAxK-xGORwj) [**https://software.majix.org/irix/install-bootcd.shtml**](https://www.google.com/url?q=https%3A%2F%2Fsoftware.majix.org%2Firix%2Finstall-bootcd.shtml&sa=D&sntz=1&usg=AOvVaw0ChtWj0TRnj6AA-MzIilu8) [**https://software.majix.org/irix/install-fx.shtml**](https://www.google.com/url?q=https%3A%2F%2Fsoftware.majix.org%2Firix%2Finstall-fx.shtml&sa=D&sntz=1&usg=AOvVaw3wlUrT6o5UW0hNHbY4JbsY) [**https://software.majix.org/irix/install-network.shtml**](https://www.google.com/url?q=https%3A%2F%2Fsoftware.majix.org%2Firix%2Finstall-network.shtml&sa=D&sntz=1&usg=AOvVaw0Oid40J66Q7k3a3eXWT4iV) If you get an error message telling you that no swap-space is available, you first need to initalize your harddrive via fx. [](https://sites.google.com/site/consoleprotocols/home/sgi/sgi-emulation#h.p_qyTrqKiwQ4SW) Installing IRIX (in MAME) ------------------------------------------------------------------------------------------------------------------------- ### [](https://sites.google.com/site/consoleprotocols/home/sgi/sgi-emulation#h.z9g8bddx7njn) BEFORE First Boot (**Indigo 2**) The following steps will set the MAC address of the network adapter. Create the folder \\MAME\\nvram\\indigo2\_4415 Download this 1KB file: [eeprom](https://drive.google.com/file/d/1Wvs5oJEuLNke0L40o2-X_K-EK2Sd28Et/view?usp=sharing) Place it in the folder \\MAME\\nvram\\indigo2\_4415 If you have already run MAME once the file and folder are probably already created so just overwrite the existing file. ### [](https://sites.google.com/site/consoleprotocols/home/sgi/sgi-emulation#h.fqlpmvf19m90) Standard Boot Process (**Indigo 2 & Indy**) When the system first boots you will probably see an error that there is no operating system installed. "Press any key to continue:" or click the continue button It will now load a graphical interface with a few buttons, Click the "Enter Command Monitor" button It will help to type slowly (for example fully depress and release each keyboard key) maybe 5 wpm. Not quite hunt and peck speed but more like you are on a really bad keyboard. There is a \`**help**\` command to show the list of available commands ### [](https://sites.google.com/site/consoleprotocols/home/sgi/sgi-emulation#h.kkq1m3ukitn2) First Boot (**Indy**) The following steps will set the MAC address of the network adapter. When you start the emulated Indy, you'll want to go into the command monitor and first thing, do: \>printenv The value eaddr defaults to ff:ff:ff:ff:ff:ff which could cause the installer to crash or hang, this can be fixed with the following command. \>setenv -f eaddr 08:00:69:12:34:56 The range 08:00:69 was assigned to SGI, the last 3 sections only matter for software licenses. ### [](https://sites.google.com/site/consoleprotocols/home/sgi/sgi-emulation#h.nwh496fghfna) Standard Installation steps (Indigo 2 & Indy) The steps here are really standard, I'm including them here for completeness and since it's a single implementation of the hardware I can be more specific in the steps. The 'hinv' command will describe the hardware that is being emulated. ### [](https://sites.google.com/site/consoleprotocols/home/sgi/sgi-emulation#h.pc5qo1z78p4l) **Indigo 2** \>> hinv System: IP22 Processor: 150 Mhz R4400, with FPU Primary I-cache size: 16 Kbytes Primary D-cache size: 16 Kbytes Memory size: 128 Mbytes Graphics: XL SCSI Disk: scsi(0)disk(1) SCSI CDROM: scsi(0)cdrom(6) Audio: Iris Audio Processor: version A2 revision 4.1.0 ### [](https://sites.google.com/site/consoleprotocols/home/sgi/sgi-emulation#h.87xckr3xtpbi) **Indy** \>> hinv System: IP22 Processor: 100 MHz R4600, with FPU Primary I-cache size: 16 Kbytes Primary D-cache size: 16 Kbytes Memory size: 128 Mbytes Graphics: Indy 24-bit SCSI Disk: scsi(0)disk(1) SCSI CDROM: scsi(0)cdrom(6) Audio: Iris Audio Processor: version A2 revision 4.1.0 ### [](https://sites.google.com/site/consoleprotocols/home/sgi/sgi-emulation#h.y1fv49hmk1ni) Installation steps (**Indigo 2 & Indy**) The CDROM is at 0,6 so type the following (Error? Troubleshooting below in Yellow) \>> ls dksc(**0,6**,8) The results should include a file 'sashARCS' so enter the following \>> boot -f dksc(**0,6**,8)sashARCS Now we are in a 'sash' prompt sash: ls dksc(0,6,7) Here we can see an object 'stand' which is a directory, it's not obvious but it is. sash: ls dksc(0,6,7)stand This shows the contents of the 'stand' directory, including fx.ARCS sash: boot -f dksc(0,6,7)stand/fx.ARCS The fx disk partitioning tool is actually really easy, review the defaults and hit **** It will then display a summary and available options, type '**exit**' **** then **** again when prompted to save the changes. When prompted for "device-name", ctrlr#, drive# just hit **** the value in parens is the default. boot -f dksc(0,6,7)stand/fx.ARCS --x boot -f dksc(**0,6**,7)stand/fx.ARCS --x When prompted with multiple menu options (exit, debug, label, auto, badblock, exercise, repartition, format) choose '**exit**' then **** When prompted for '_label info has changed for disk dksc(0,1,). write out changes? (yes)' type '__**yes**__' then_ _****_ _You will be returned to the main menu._ _Choose "Install Software"_ _Select "Local CD-ROM" and "Local SCSI CD-ROM drive 6", then click the "Install" button and click the "Continue" button._ _The initial copy progress takes just a couple of minutes._ _The command prompt returns and confirms you want to overwrite the disk contents._ Repeat twice (System and User partition) _**yes **_ _**y **_ _To install all of the default software:_ _**go **_ _After a while the installer will return to a prompt type_ _**'quit' **_ _It will then run a final process and prompt for restart type_ _**'y' **_ [](https://sites.google.com/site/consoleprotocols/home/sgi/sgi-emulation#h.av22mf3ngve) Troubleshooting ------------------------------------------------------------------------------------------------------------ ### [](https://sites.google.com/site/consoleprotocols/home/sgi/sgi-emulation#h.a1qa8y42a88p) MAME crashes when running the command ls dksc(**0,6**,8) 1. Check the path the ISO file is correct 2. Use the ISO extension instead of IMG, etc. MAME may interpret files by extension and think that an IMG is a hard drive image. [](https://sites.google.com/site/consoleprotocols/home/sgi/sgi-emulation#h.76kv9iwn186p) IRIX Software ----------------------------------------------------------------------------------------------------------- IRIX software may be available at the following sites. [**http://fr.irisware.net**](http://www.google.com/url?q=http%3A%2F%2Ffr.irisware.net&sa=D&sntz=1&usg=AOvVaw0oWs-dE5NGXdd9DsFfmbzZ) [**http://nekofiles.irix.cc**](http://www.google.com/url?q=http%3A%2F%2Fnekofiles.irix.cc%2F&sa=D&sntz=1&usg=AOvVaw0KJOn6XpC6Jd69APjAgyP-) [**http://sgifiles.irix.cc**](http://www.google.com/url?q=http%3A%2F%2Fsgifiles.irix.cc%2F&sa=D&sntz=1&usg=AOvVaw2CfM0WpOC_cnH53LE9MiMz) [**http://mirror.rqsall.com**](http://www.google.com/url?q=http%3A%2F%2Fmirror.rqsall.com%2F&sa=D&sntz=1&usg=AOvVaw03QZngK6qjFAt4uyaMQIK9) [**http://www.bitsavers.org/bits/SGI/mips/cd/**](http://www.google.com/url?q=http%3A%2F%2Fwww.bitsavers.org%2Fbits%2FSGI%2Fmips%2Fcd%2F&sa=D&sntz=1&usg=AOvVaw0I2lXVyERUZio1_URPU2_d) [**http://www.vdheijden-messerli.net/sgistuff/nekochan/**](http://www.google.com/url?q=http%3A%2F%2Fwww.vdheijden-messerli.net%2Fsgistuff%2Fnekochan%2F&sa=D&sntz=1&usg=AOvVaw1kaEq1aolHQo3rrQSWlE-q) [**http://jupiterrise.com/tgcware/tgcware.irix.html**](http://www.google.com/url?q=http%3A%2F%2Fjupiterrise.com%2Ftgcware%2Ftgcware.irix.html&sa=D&sntz=1&usg=AOvVaw1C0VGSm5MJPy4_rBGztA4x) [**https://mega.nz/folder/CZsmkCJI#kY61C\_1\_a\_kgPd7TFCA0VQ/folder/DA1V2SJR**](https://www.google.com/url?q=https%3A%2F%2Fmega.nz%2Ffolder%2FCZsmkCJI%23kY61C_1_a_kgPd7TFCA0VQ%2Ffolder%2FDA1V2SJR&sa=D&sntz=1&usg=AOvVaw0qqDo7TrulmTgtclnPuMDj) Software List Only: [**https://wiki.preterhuman.net/Catalog\_of\_Free\_and\_Commercially\_supported\_IRIX\_software**](https://www.google.com/url?q=https%3A%2F%2Fwiki.preterhuman.net%2FCatalog_of_Free_and_Commercially_supported_IRIX_software&sa=D&sntz=1&usg=AOvVaw2LyuFlA9K668skj4C6TNn4) [](https://sites.google.com/site/consoleprotocols/home/sgi/sgi-emulation#h.p4ineavv13eq) Tips -------------------------------------------------------------------------------------------------- Slowing down the emulation speed actually improves responsiveness because the keyboard is checked for input more often. * \[Scroll Lock\] Enable partial keyboard emulation * \[~\] Open MAME Menu * Cursor Up/Down to find maincpu * Cursor Left/Right to set speed * \[~\] Close MAME Menu * \[Scroll Lock\] Enable full keyboard emulation Change CD's * \[Scroll Lock\] Enable partial keyboard emulation * \[tab\] Open MAME Menu * Cursor Up/Down to 'File Manager' * Press\[Enter\] * Cursor Up/Down to 'cdrom (cdrm)' * Cursor \[ESC\], \[Up\], \[Down\] and \[Enter\] to find and select the desired ISO * \[tab\] Close MAME Menu * \[Scroll Lock\] Enable full keyboard emulation [](https://sites.google.com/site/consoleprotocols/home/sgi/sgi-emulation#h.p_vZwjfdA4w0Ut) Performance ----------------------------------------------------------------------------------------------------------- Most systems will not be able to emulate an R4400 Indy @ 133 MHz at full speed using the default interpreter. There is now a Dynamic ReCompiler which was implemented starting in MAME version 0.241 Example running on an AMD 3900X * No DRC emulation speed as high as 38% of a real SGI Indy * With DRC emulation speed as high as 90% of a real SGI Indy Emulating these systems does work, but don't expect high performance. Thanks: For many good questions and answers in the Silicon Graphics User Group and IRIX Network Discord Including: Lady Serena Kitty Additional References: [**https://docs.mamedev.org/commandline/commandline-all.html#mame-commandline-cheat**](https://www.google.com/url?q=https%3A%2F%2Fdocs.mamedev.org%2Fcommandline%2Fcommandline-all.html%23mame-commandline-cheat&sa=D&sntz=1&usg=AOvVaw392zyPVX4OJ4bllQhdKE_O) [**http://forum.arcadecontrols.com/index.php/topic,18170.msg152024.html?PHPSESSID=c0ohu2evfelsgql9nt7nneh196#msg152024**](http://www.google.com/url?q=http%3A%2F%2Fforum.arcadecontrols.com%2Findex.php%2Ftopic%2C18170.msg152024.html%3FPHPSESSID%3Dc0ohu2evfelsgql9nt7nneh196%23msg152024&sa=D&sntz=1&usg=AOvVaw38LOVJV2JDSAV6O7awwdSL) **Networking** [**https://forums.bannister.org/ubbthreads.php?ubb=showflat&Number=115314**](https://www.google.com/url?q=https%3A%2F%2Fforums.bannister.org%2Fubbthreads.php%3Fubb%3Dshowflat%26Number%3D115314&sa=D&sntz=1&usg=AOvVaw35zXCM94fxamc1ozmZEWtm) Report abuse --- # Console Protocols - N64 Misunderstood Search this site Embedded Files Skip to main content Skip to navigation The Misunderstood N64 ===================== This isn't a top 10 list or fan boy page. This is about a classic console that has a bit of a negative reputation, the Nintendo 64. The question to be answered: "Is the reputation deserved or not?" Modern gamers tend to apply current gaming rules and expectations and of course the console falls short by those metrics, for example frame rates rarely exceed 30 FPS and 15-20 is common. Gamers that grew up with the system either over look the flaws or spew hatred on the N64. Everybody has opinions, I'm going to be focused on facts. Honestly I'm a fan of the N64 and feel a little defensive about some of these topics because of the misinformation that is taken as fact. Once in a while, I will "jump to some conclusions" based on publicly available knowledge about the thought process inside of Nintendo. No one at Nintendo was interviewed or talked to about this series. All opinions are entirely my own. One of the other things that tends to happen during these "arguments" is changing the perspective (manufacturer/publisher/developer/gamer) in order to prove one console is superior to another. For example: The N64 was better at preventing piracy, then instead of Nintendo winning this topic, it get's flipped around so that N64 gamers lose because they had to pay more for games. ### [](https://sites.google.com/site/consoleprotocols/N64Misunderstood#h.p_pbDC4vbPpiCq) Conclusion The conclusion is first? I want to be clear I don't expect to change any opinions, if you hate the N64 that probably wont change. This is about getting related facts together to truly understand the console and the era. I believe that Nintendo mostly made the right design decisions. It would of been nice if more gamers loved the system but I will point out that Nintendo has a lot of smart business people and while the N64 didn't have the same level of sales that the PlayStation had, it wasn't a failure and the console didn't risk the stability of the company. [Conclusion](https://sites.google.com/site/consoleprotocols/N64Misunderstood#h.p_pbDC4vbPpiCq) [Timeline - aka History](https://sites.google.com/site/consoleprotocols/N64Misunderstood#h.p_VHwaPlJppUtb) [Pricing](https://sites.google.com/site/consoleprotocols/N64Misunderstood#h.p_8GfuXhlFpZg2) [Lifespan Units Sold](https://sites.google.com/site/consoleprotocols/N64Misunderstood#h.p_WwAes0u0oIEx) [Three Handed Controller](https://sites.google.com/site/consoleprotocols/N64Misunderstood#h.p_iTvZM6djgh3Z) [Cartridges vs CD's](https://sites.google.com/site/consoleprotocols/N64Misunderstood#h.p_FdKfS5IioEaI) [Summary](https://sites.google.com/site/consoleprotocols/N64Misunderstood#h.p_KqhMuPdAfp31) [Game Piracy](https://sites.google.com/site/consoleprotocols/N64Misunderstood#h.p_Pu1Kfl57ic5b) [Summary on Piracy](https://sites.google.com/site/consoleprotocols/N64Misunderstood#h.ppx4b7n06liz) [The Muddy Mess aka Anti-Aliasing](https://sites.google.com/site/consoleprotocols/N64Misunderstood#h.p_vgbB7RVAoA3c) [Hard to Develop games](https://sites.google.com/site/consoleprotocols/N64Misunderstood#h.p_PbzWQ1pbn6jh) [RAM](https://sites.google.com/site/consoleprotocols/N64Misunderstood#h.p_4Kkq4QW3ny4i) ### [](https://sites.google.com/site/consoleprotocols/N64Misunderstood#h.p_VHwaPlJppUtb) Timeline - aka History Game console specifications are set in stone the day the console launches, especially in the 1980's, 1990's. Desktop Computers I just want to provide a little more context outside of the home console market. Even today game consoles are often compared to PC's. [http://microstar.net/humor/oldprices.html](http://www.google.com/url?q=http%3A%2F%2Fmicrostar.net%2Fhumor%2Foldprices.html&sa=D&sntz=1&usg=AOvVaw2d5KZy5jYEYMrCaR3bHVUh) * AMD 5x86 @ 133 MHz * 8 MB RAM * 540 MB Hard drive * 1 MB Video RAM * Keyboard/Mouse/Modem/Case * $799.00 Compared to the N64's specs * MIPS R4300 @ 93 MHz * 4 to 8 MB RAM * 1 Controller * $199.99 MIPS processors have a RISC vs CISC design so 93 MHz would perform the same or better than an 5x86 processor at 133 MHz. [](https://sites.google.com/site/consoleprotocols/N64Misunderstood#h.p_8GfuXhlFpZg2) Pricing ------------------------------------------------------------------------------------------------- Sega Saturn Release Price $399.99 $199.99 when N64 was released PlayStation 1 Release Price : $299.99 $199.99 when N64 was released Nintendo 64 Release Price : $199.99 These companies don't usually publish their per unit profit margins but it's been clear from the earliest days of Nintendo, they don't like to lose money on the console. That doesn't mean that they make a lot on each console. If Nintendo could make a $0.25 profit on every N64 that was another $7.5 million (based on 30 million units sold). Sony was known to be losing more than $200 on each PS3 console sold, even if they only sold 100,000 at this price, it was a **loss** of $20 million. More profit is always better, the real difference is sustainability while selling at a loss. Luckily with sales volume and patience, component prices tend to come down and manufacturing/distribution become more efficient. Large losses can still take a long time to balance out. Some console manufacturers didn't have enough time or sales volume to reduce their costs and eventually went out of business. Selling the console at a profit is probably more important for Nintendo than it is for Sony, because Nintendo only operates in a single market. By comparison, if Sony takes huge losses in video game systems they can make them up with profit from their Home Electronics or TV/Movies divisions. [](https://sites.google.com/site/consoleprotocols/N64Misunderstood#h.p_WwAes0u0oIEx) Lifespan Units Sold ------------------------------------------------------------------------------------------------------------- * PlayStation 1 : 102.49 million * Nintendo 64 : 32.93 million * Sega Saturn : 9.26 million In units sold PlayStation is clearly the winner, but I think there is a little more behind these numbers than raw sales. Official Availability: * Nintendo 64 available 5 years and 10 months. * PlayStation 1 available 11 years and 3 months. PlayStation was available for nearly twice as long as the N64. This longer lifespan was probably because the demand continued and Sony chose to supply it. Since Sony was a huge company trying to break into the video games market, supporting two home consoles at the same time was relatively easy, where Nintendo chose to focus their efforts and resources on one at a time with just a little overlap. Based on the available data (which is limited in detail) it seems that during the time both consoles were on the market the PlayStation sold two consoles for every one N64 console. Some folks argue that the N64 was a failure because it was "so far behind the PS1". In reviewing the consoles and their respective sales, I'd suggest that a better indication of success vs failure is if the company made a console after the one in this generation. Both Nintendo (GameCube) and Sega (Dreamcast) made consoles for the 6th generation. The 3DO Interactive Multiplayer was 4th place with 2 million units sold and the last console made by 3DO. Atari released the Jaguar in this generation with less than 250,000 units sold which was also the last console made by Atari. Reference: [https://en.wikipedia.org/wiki/Fifth\_generation\_of\_video\_game\_consoles#Worldwide\_sales\_standings](https://www.google.com/url?q=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FFifth_generation_of_video_game_consoles%23Worldwide_sales_standings&sa=D&sntz=1&usg=AOvVaw0gjJrMuO_HdJOUK6Wqpr4a) [](https://sites.google.com/site/consoleprotocols/N64Misunderstood#h.p_iTvZM6djgh3Z) Three Handed Controller ----------------------------------------------------------------------------------------------------------------- [](https://sites.google.com/site/consoleprotocols/N64Misunderstood#h.p_FdKfS5IioEaI) Cartridges vs CD's ------------------------------------------------------------------------------------------------------------ N64 Games released on a cartridge ranged in size from 4 MB to 64 MB. Most would be quick to think that 3D games must be large so 64 MB must be more common, while in fact the opposite is true, only 5 North American games were 64 MB. Many of the best known games were 16 MB or less including: Automobili Lamborghini (4 MB), Batman Beyond - Return of the Joker (4 MB), Bomberman 64 (8 MB), Super Mario 64 (8 MB), Duke Nukem 64 (8 MB), Turok Dinosaur Hunter (8 MB), Mario Kart 64 (12 MB), GT64 Championship Edition (12 MB), Star Fox 64 (12 MB), 007 Golden Eye (12 MB), Quake 64 (12 MB), Super Smash Bros. (16 MB), Banjo Kazooie (16 MB). The sports titles like: All-Star Baseball, FIFA, NBA, NFL, NHL series were all 16 MB or less, most of the wrestling games were 32 MB. The two Zelda games were 32 MB. I like the example of Super Mario 64, the game world is large with numerous game play actions and styles. The ROM size is 8 MB, would making this game 64 MB (8 times larger) make the game 8 times better? Unfortunately what happens is other bottlenecks get in the way. Super Mario 64 was a launch day title so the developers were still learning about the console and many optimizations were still being worked on. There are only so many triangles that can be drawn onscreen per frame, trying to draw more often reduces the framerate, so adding more 3D objects or texture detail could make the game worse and not better. So the extra ROM size (8 to 64 MB) could of been used to add new areas, well a 500 or 1,000 star version of Super Mario 64 would probably become repetitive and overly long for most gamers. My opinion here is that even doubling the ROM size might of added 10-20% to the gamers experience but even that is very subjective. Sony made a technical decision to combine CD discs and an MPEG chip into the PS1. This pairing allowed for full motion video cut scenes, which can be very useful for telling a story and was certainly a good combination for most RPG style games. What's interesting is, if you were to remove the cutscenes most of the PS1 games would fit on a cartridge, in fact many of the PS1 multi-CD games had the entire game engine and all of the game data on every disc so only the cutscenes were different between discs. The manufacturing costs were certainly higher for cartridges, in many cases the consumer actually saw a price difference at retail, if a game had a large ROM size it's price could be as high as $70 or $80 vs the normal retail price of $50. Also when the publishers did a re-release of a high selling game the PS1 price was as low as $20 but N64 games were usually still $30-$40 for their value series. Near the end of the N64 life cycle the ROM chips were coming down in price so most of the larger games were released later in the consoles life. One thing that many people don't consider is how big could an N64 cartridge be? In the late 90's the cost of chips fluctuated up and down, which had an impact on the price of games and what ROM sizes could be used economically. If the cost of chips had always trended down, then 64MB could of become the default size. The console does support cartridges up to 240 MB in size with no changes. The GameBoy and GameBoy Color by default could only access 32 KB of a game at one time, but they used a Memory Bank Controllers to have games up to 8 MB. Using a similar techniques multi-Gigabyte games could of been released on the N64. Which means one of the biggest arguments that FFVII couldn't fit on a cartridge is wrong, it would be VERY expensive but would of been possible. One other downside of cartridges for publishers which had to try and predict game launch sales, if they didn't predict well it could take a week or more to produce additional units. The lead time for CD manufacturing was much shorter, as little as a few days. ### [](https://sites.google.com/site/consoleprotocols/N64Misunderstood#h.p_KqhMuPdAfp31) Summary The game size difference has little impact on either the amount or quality of gameplay, since most of the additional content on PlayStation CD's is FMV, which means that cartridges generally have a reduction in the "story telling" aspects provided by FMV. The cost and lead time required for cartridges are both negatives but these would of impacted publishers more than any other involved group. [](https://sites.google.com/site/consoleprotocols/N64Misunderstood#h.p_Pu1Kfl57ic5b) Game Piracy ----------------------------------------------------------------------------------------------------- This could be considered part of the Disc vs Cartridge debate but I feel like it's bigger than that. In the timeline above I noted the release date of a few devices that could be used to play backed up games (i.e. possibly pirated/bootleg copies). _Note: I use the term GameShark as both a brand and a generic term, in reality there were several very similar products created and some sold under multiple company names._ If you look at the devices release dates relative to the consoles release dates, then the N64 would loose the piracy argument with only 4 months after the consoles release. Although taking a closer look the cost of $450 was more than double the cost of the console itself and additionally required a $200 CD-R drive. Since the Doctor V64 was intended as a low cost development kit the unit wasn't made in large quantities and the firmware had to be modified in order to play backup games. In addition Nintendo sued the manufacturer very quickly, further limiting the available supply of these units, even if you had the money. Over a year after the N64's release the N64 Gameshark came out. Since N64 games were released on cartridges, there wasn't a good way to copy them to another cartridge to play on the console, so the N64 Gameshark had a limited impact on the piracy of N64 games. The later release of the Gameshark Pro did make it easy to dump a game for playing in an emulator, but the very limited memory (256KB) inside the Gameshark Pro didn't allow for playing these backups on the console itself. Just over a year after the PlayStation was released the GameShark was released which allowed players to play CD backups of PlayStation games. Later console versions tried to disable this functionality, with limited success. If a player didn't have a GameShark compatible console or wanted an easier way to play backups, about 16 months after the PlayStation's release there was a Mod-Chip that was available for about $80 + Installation (the Mod-Chip eventually dropped to $10). Admittedly backing up PlayStation games still required a $200 CD Writer. One CD-R drive would easily meet the needs of a large group of friends, but the best source became the Swap Meet seller who could profitably sell PlayStation games for just a couple of dollars. ### [](https://sites.google.com/site/consoleprotocols/N64Misunderstood#h.ppx4b7n06liz) Summary on Piracy While neither console stopped piracy completely I think Nintendo was more successful at blocking piracy, since it required more money it wasn't as available to the average gamer. To be near the end of the N64's life cycle and the hardware to play a backup is hard to find and costs nearly $400 + ($179 + $200 CD-Burner) vs the PlayStation mod-chips being easy to find and only $10 with Swap Meet games only a few dollars each. In 2020 this situation hasn't changed much. While "bootleg" PlayStation games can be as low as $1.00, N64 Bootleg games can be found for $15.00-$25.00 each, which is more than many used original games sell for. There are flash carts available that can play backed up ROM's these are generally $100-$200 depending on features and only became common in the past 5 years. [](https://sites.google.com/site/consoleprotocols/N64Misunderstood#h.p_vgbB7RVAoA3c) The Muddy Mess aka Anti-Aliasing -------------------------------------------------------------------------------------------------------------------------- [](https://sites.google.com/site/consoleprotocols/N64Misunderstood#h.p_PbzWQ1pbn6jh) Hard to Develop games --------------------------------------------------------------------------------------------------------------- [](https://sites.google.com/site/consoleprotocols/N64Misunderstood#h.p_4Kkq4QW3ny4i) RAM --------------------------------------------------------------------------------------------- My favorite misunderstanding is "why would Nintendo choose Rambus Memory when DDR memory is so much faster". The first thing is that DDR wasn't available until 1998 almost 2 years after N64 was launched, the common computer RAM that was available when the N64 launched was EDO (Extended Data Out). The EDO memory of the time had an effective data rate of 320 MBps, while the RDRAM used in the N64 was rated at up to 600 MBps. Computers from this era commonly shipped with 16+ MB of RAM while the N64 shipped with 4 MB with an upgrade option to 8 MB. To be clear the N64 RDRAM does have limitations mostly regarding latency and overall bandwidth. lameguy64PS1 can address up to a 256x256 pixel texture with ease along with having a much faster fill rate. This gave the PS1 an edge over the N64 despite lacking perspective correct texture mapping and depth buffer. Report abuse --- # Console Protocols Search this site Embedded Files Skip to main content Skip to navigation 404 === The page you have entered does not exist [Go to site home](https://sites.google.com/site/consoleprotocols/home) Report abuse --- # Console Protocols Search this site Embedded Files Skip to main content Skip to navigation 404 === The page you have entered does not exist [Go to site home](https://sites.google.com/site/consoleprotocols/home) Report abuse ---