111 votes
Accepted

How exactly does Sonic & Knuckles' 'Lock-On Technology' work?

How does the Sonic & Knuckles cart detect another cartridge? It checks the serial numbers of games; they can be found in the ROM's header. It probably detects all preceding Sonic the Hedgehog ...
Matheus Moreira's user avatar
77 votes
Accepted

How can tilting a N64 cartridge cause such subtle glitches?

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 ...
Adam Davis's user avatar
74 votes

Did computer games for Commodore 64 really take "25 minutes" to load "if everything went alright"?

Theoretically it could take 25 minutes (or more), in practice it never did. Theoretically it could, because the C-64's built-in tape handling routines had a data rate of about 300 bit/s. That's 37.5 ...
Michael Graf's user avatar
  • 9,722
57 votes
Accepted

How could the SNES take advantage of in-cartridge coprocessors that weren't invented when the SNES came out?

The cartridge connector for the NES, SNES, and other consoles of that era directly exposed the main CPU's address and data busses to the cartridge, complete with the control signals you need to know ...
Simon Farnsworth's user avatar
56 votes
Accepted

Why use static RAM addresses instead of the stack?

The 8 bit 6502 family doesn't have any stack-relative addressing modes that would make it easy to use the stack for variable storage. One can access values on the stack with a sequence such as TSX; ...
pndc's user avatar
  • 10.5k
52 votes
Accepted

Why did Commodore 64 cartridge games disappear?

Time to market was another factor. I worked in the games industry in the 1980s and when we were getting the final game from the developer, mastering to cassette and disk took just hours before they ...
David Partington's user avatar
51 votes

How can tilting a N64 cartridge cause such subtle glitches?

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 ...
JAL's user avatar
  • 9,392
48 votes

Why use static RAM addresses instead of the stack?

Off the top of my head I can think of two reasons, there are probably more. The first reason is that these variables may be set by a routine each frame, and then a lot of code uses them during the ...
pipe's user avatar
  • 1,710
37 votes

Why did Commodore 64 cartridge games disappear?

A cartridge was limited to 16 kbytes ROM, and some were only 8k. There would be plenty of RAM to use, but the code and data must fit into the 16 kbytes. As programs became more sophisticated, the ...
RichF's user avatar
  • 8,569
35 votes
Accepted

Why do Game Boy games have explicit save functions, instead of using battery-backed non-volatile cartridge SRAM to store the game state?

Game Boy games do not always need a manual save operation. There's no hardware reason that would prevent Game Boy games from saving in the way you describe. For the Game Boy hardware, RAM present on ...
knol's user avatar
  • 11.3k
34 votes

Why would poking an inserted Game Boy cartridge while powered on cause a game/device to hang?

Surely data is not constantly transferred to and from the cartridge? Surely it is. That's the huge benefit of cartridges. Only when loading a new level or starting the game and things like that? ...
hobbs's user avatar
  • 4,448
33 votes
Accepted

Unlicensed home computer ports of arcade games

To understand what was going on with licensed and unlicensed ports of popular arcade games in the 1980s, you have to understand two critical factors. The video gaming culture of the time, and the ...
Brian H's user avatar
  • 59.8k
32 votes

Why do Game Boy games have explicit save functions, instead of using battery-backed non-volatile cartridge SRAM to store the game state?

Microprocessors have a minimum operating voltage spec, but that generally doesn't mark a threshold where they stop executing code. Instead, it specifies level below which they aren't guaranteed to ...
supercat's user avatar
  • 33.9k
31 votes

How could the SNES take advantage of in-cartridge coprocessors that weren't invented when the SNES came out?

How did these chips actually transfer data to the SNES? The cartridge connector is a bus interface. Much like ISA-Slots in a PC, it contains everything necessary to access memory or memory mapped ...
Raffzahn's user avatar
  • 207k
30 votes

How can tilting a N64 cartridge cause such subtle glitches?

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 ...
Mark's user avatar
  • 8,501
30 votes
Accepted

Were there any enhancement chips that vastly outperformed the main CPU?

I think the SA-1 chip in various late-era Super Nintendo cartridges (eg. Kirby Super Star, Kirby's Dream Land 3, Super Mario RPG) would qualify. Here's what Wikipedia has to say about it (emphasis ...
ssokolow's user avatar
  • 6,326
27 votes
Accepted

Why would older video games include fragments of source code?

I'd guess a lot of the systems used for development didn't clean the memory down in between usages. It's also likely that for games "gaps" got left between binary chunks. So if for a hypothetical ...
PeterI's user avatar
  • 5,277
26 votes

Did computer games for Commodore 64 really take "25 minutes" to load "if everything went alright"?

Yes, cassettes were common, they took ages, and they were error prone. In Europe, disk drives for the ZX Spectrum and Commodore 64 were uncommon. It's the same for cartridge games for the C64. The ...
user19766's user avatar
  • 261
23 votes

Why use static RAM addresses instead of the stack?

As mentioned previously the timing issue is the cause not to waste time in pushing up parameters, access them with cost-intensive addressing modes and pull them finally from stack. Too much action if ...
Johann Klasek's user avatar
23 votes

Why did Commodore 64 cartridge games disappear?

In addition to RichF's answer, tapes were a lot cheaper than cartridges to manufacture. Tape duplication in the 80s was very low cost due to the high volumes involved, not least thanks to music ...
user's user avatar
  • 15.1k
23 votes
Accepted

What causes the glitchy sound when a GBA cartridge is removed?

One does not simply make a hot-swappable cartridge connector. For an electrical connector to handle hot-swapping well, it has to be specifically designed with that in mind. In particular, the ...
user3840170's user avatar
21 votes

Can removing a cartridge from an NES (or any other cartridge-based game system) damage the hardware or software?

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 ...
NobodyNada's user avatar
  • 5,384
21 votes
Accepted

Were cartridge slots cheaper at the back?

Maybe it's just that it was a few cents cheaper to build that way. The company was certainly very focused on cost reduction. Yes, it was. Not much, but there are several small savings: The board ...
Raffzahn's user avatar
  • 207k
19 votes
Accepted

Can I run a NES emulator off the original cartridges?

You can, provided that you have a cartridge reader that you can plug to the computer that runs the emulator. One such reader is Retrode; if you google "nes cartridge reader" you will find references ...
Konamiman's user avatar
  • 1,085
19 votes

How is it possible that this "Polymega™" console will "not support" Everdrives?

You're asking us to speculate about something that hasn't been released yet. However, looking at the FAQ, it's clear that this is just a fancy Linux box with some emulators on it. Processor: Intel ...
knol's user avatar
  • 11.3k
19 votes

How can a Game Boy game "glitch-inherit" the music from a different game like this?

I don't know if this is correct, but it seems to fit. The SNES sound chip is a full processor. It can run its own program and play sounds independently of the main processor. It is also possible for ...
RETRAC's user avatar
  • 13.4k
19 votes

What causes the glitchy sound when a GBA cartridge is removed?

This game seems to be playing PCM audio from memory buffer with DMA. Normally the CPU handles playback of DMA buffers and renders new audio into buffers for playback. When you unplug the game ...
Justme's user avatar
  • 27k
18 votes

Why did Commodore 64 cartridge games disappear?

I know you specifically asked about cartridge "games". But another important factor in the market forces surrounding this was that the cartridge slot was ALSO the one "expansion" slot - A very limited ...
Brian H's user avatar
  • 59.8k
16 votes

Why would older video games include fragments of source code?

I don't know if this applies in every case, but, on the Commodore PET and by extension C64, an executable program file on disk/tape consisted of a load address (normally $0401 on the PET) and then ...
JeremyP's user avatar
  • 11.4k

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