112

3D games like Super Mario 64 and Ocarina of Time are time-step-based physics simulators. Their basic design is based on the assumption that nothing goes above a certain speed. Each frame, Super Mario 64 calculates four time steps, in which it (among other things): moves Mario ¼ of the distance he's supposed to travel in that frame; then pushes Mario out of ...


68

The main point to understand is that the console is limited. RAM on the console itself is faster than memory on the cartridge (and the cartridge memory was usually read only, with a little non volatile for user data). So the game designers had to carefully consider how to use the precious, but faster, ram on the console, vs the slower rom on the cartridge....


47

I wouldn't say "It's a very specific and subtle kind of behavior." I really think this is the case of undefined behavior that has been reproduced so many times from N64 launch to now that users have seen repeat behavior. In fact, sometimes cartridge tilting can actually delete your game save (Donkey Kong 64), and not just mess with the graphics (Goldeneye'...


31

The Nintendo 64 ROM is only 2KB in size and apparently easy to emulate. It seems to only check the validity of the inserted cartridge's ROM and set up a limited environment. Nintendo 64 cartridges are self-sufficient; they don't need any services provided by a common “BIOS”. In fact they even contain the code used to drive the audio and graphics co-...


29

The short answer is: These games are built on code which is supposed to simulate the laws of physics, at least for motion. But they are also games, which means that that code has to run fast enough for the game to be playable. To do that on the original hardware (which, after all, cannot run arbitrarily fast like nature does), the code author had to take ...


26

This is the pinout of a Nintendo 64 cartridge (from here). The Nintendo 64 used a multiplexed address/data bus with a three-stage access protocol: write the high word of the address you want to access, write the low word, then read the data, all going across the same 16 pins. This indirect access method means that program code needs to be run from the ...


19

You probably don't encounter these glitches because you play the game as the developers intended. In Oblivion you can pickup plates and stuff to move or throw (which is the intended use), but if you place the plate below yourself while holding, you could jump on it making you and the object move up and then you could jump on it again and again (which kinda ...


18

The NES can be damaged by software, so removing the cartridge at just the wrong timing could theoretically damage the console. The 2CO2 PPU in the NES normally reads the background color from palette index 0, but this isn't hard-wired into the chip -- it actually reads the palette index of the background from four EXT pins. These pins are grounded on the ...


14

As I understand it the GPU’s microcode was written for the RSP (Reality Signal Processor). The RSP’s instruction set is comprehensively documented in the Nintendo Ultra64 RSP Programmer’s Guide, including detailed opcode format descriptions. The R4300 Processor Specification is also useful, as is the Nintendo Ultra64 RDP Command Summary. The Ultra 64 project,...


14

It used the same C compiler that shipped with the Indy workstation. See: Nintendo 64 Development Manual: C Compiler Suite It required a few flags not normally used when building C programs for the Indy itself. And there were utilities for downloading to the development boards and converting executables into ROM images. Some IDE's were available for UNIX ...


14

No software is ever bug-free, and games are no exception. The reason most of these bugs seem so crazy is that they're complex and frequently require several things to go right (wrong?) at the same time, combinations of things that rarely make sense in the context of normal gameplay. A large portion of these exploits are discovered by people playing the game ...


13

No, this is only for RAM. The jumper pack actually just terminates connection of the onboard RAM and adding the expansion pack works just as it sounds. You can even upgrade the capacity to even more RAM than is supplied by the expansion pack and the console will boot with it, but no games will take advantage of it. See http://assemblergames.com/l/...


13

Hardware No damage to the hardware should occur (unless by chance removing the cartridge physically damages the hardware contacts). The reason for this is is that loading a cart basically completes a big circuit the the system hardware. There is no internal storage (at least not on the NES/SNES/N64 and Game Boy), so there is no persistent memory to ...


12

The Gist Games on the N64 typically did not have a lot of memory to use. Instead of keeping all code and data loaded onto the cartridge at one time, it would typically keep some necessary game code loaded into memory, and would only load temporary game code or data when needed. This is seen with cartridge tilting on "The Legend of Zelda: Ocarina of Time" ...


11

There’s a detailed thread about this on Jul. Basically, there are three data storage orders used for Nintendo 64 ROMs: big-endian, which is the Nintendo 64’s native order (Z64 in the thread); little-endian, which is x86’s native order (N64); byte-swapped, which swaps bytes in the native data pair-wise (V64). Endianness determines the order in which data ...


11

Does it really have every single chip that any game ever used as hardware inside the Everdrive? Or does it -- shudder -- emulate them somehow? The latter. In the Super Everdrive and SD2SNES cartridges, the majority of the logic of the cartridge is performed by an FPGA. In photos of the boards, these will be usually labeled 'Altera' or 'Xilinx'. By the term '...


10

Not the blowing but most likely the process of repeated inserting has removed the cause - as so often with connectors, especially PCB connectors. As @Ross Ridge already mentioned, the Question has been answered in full before at Gaming Why did you have to blow into an NES cartridge to make it work?:


10

While it may seem odd that Nintendo chose for every last one of their properties released on the N64 was transformed into 3D. Why odd? Being all-3D was the USP (*1) for the N64. Since games had to be rewritten anyway, why not making them fit the new dogma? Until you consider the possibility that the N64 may have been incapable of 2D graphics. Just ...


10

Most flashcarts (including the Everdrive) use an FPGA to emulate mappers, which is essentially a programmable ASIC -- a developer writes code in a hardware description language specifying the behavior of the chip. So yes, the mapper is emulated -- but at a lower level than if the entire NES was being emulated through software, since it can't "cheat"...


10

A good way to think about it is to consider board, card and tabletop games: A board game has rules: who goes first, what happens when you land on a space; and state: whose turn is it, where the pieces currently are, how much each player has. So does a card game like Magic the Gathering, and a tabletop role-playing game like Dungeons & Dragons has a lot ...


9

RAMBUS was choosen for speed. They always came in 9 bit, which in turn was used for more precice storage by the graphics hardware by using 18 bit words for RGB/Coverage and Z/Delta-Z. (And no, it's not 'repurposing' a parity bit, as the RAMs are simply organized as 9 bit words. There is no special purpose of either bit - thats something external logic may ...


9

The Wiki Entry says that the N64 calculated with 24-bit color, but output 21-bit. Right,that's the way it is. The 15 or 24 Bit colour is what the Reality Display Processor can produce (see Video Interface on p.46). Internally it works with a 32 Bit RGBA based pipeline. Results are stored as 15 or 24 Bit values before being send to the DAC. This is where ...


9

This answer is based solely on the information here and the original Parallel Universe video. There is a part of the game's code that detects whether Mario is standing on the floor. This part of the code uses 16 bits to process Mario's position in the X, Y and Z direction (so 48 bits total, but 16 bits per direction). 16 bits is enough to store a number ...


8

While I was looking for information on the Hong Kong bootleg mentioned in Tommy's answer, I actually found information on a different bootleg released in Brazil: Ronaldinho Soccer 64 Released by TEG Peru only in Brazil in January 1998, this bootleg was a modified version of International Superstar Soccer 64 which replaced all fake roster names with real ...


8

Various claims have been made about this, mostly along the lines of "SRAM is cheaper" (and compared to flash RAM, it is). But the most credible reference I've seen explains that of the options available at the time, SRAM was the least expensive one that could still fit save data for those games. EEPROM was less expensive, but had a much smaller space ...


7

Yes, at least if you count pirated games (which are neither licensed from Nintendo nor from whomever owns the game, so twice as unlicensed). Per this moment in a REcon presentation on the Nintendo 64 CIC: ... now I should say, unlike the older Nintendo stuff, instead of having very widespread pirate chips, this pirate game is actually very very very rare. ...


7

Yes. TV Tropes NoFairCheating page lists a number of games that would react to the use of GameShark including Donkey Kong 64: Using any Gameshark code in this game will cause DK to spasm uncontrollably throughout the game. Even in the opening. Also, your cartridge will be permanently damaged if you save. To such a level that you cannot pick up any items ...


7

Since Ocarina of Time was mentioned, I'll say a little about that too, and things that aren't related to faulty collision detection. Many of the really game-breaking glitches in this game (i.e. which speedrunners would find useful) depend on the player doing two or more things simultaneously (or in quick succession), and the game doing unexpected things as a ...


7

I'll be focusing first on the "How does anyone find that?" part of your question, but that will lead us to the "how did they get there" portion too: There are a few ways. Chance Some things will just happen by random chance. I have come across glitches in some games where I've fallen through the floor, for example. Often these funny ...


7

Cost While the actual design work is already done, it is quite possible that much of the production-related equipment - e.g., molds for cases and controllers - is long gone. If so, that would all need to be built again, at significant cost. 100,000 may sound like a lot, but spreading costs of that equipment over 100,000 consoles is very different from ...


Only top voted, non community-wiki answers of a minimum length are eligible