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 ...
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 ...
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 ...
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 ...
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; ...
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 ...
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 ...
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 ...
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 ...
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 ...
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? ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
game-cartridge × 63nintendo × 11
rom × 11
game-boy × 10
history × 8
hardware × 8
commodore-64 × 8
nes × 8
nintendo-64 × 7
gaming × 5
snes × 5
emulation × 4
game-boy-advance × 4
chip × 3
maintenance × 3
vic-20 × 3
sega-genesis × 3
zx-spectrum × 2
repair × 2
8-bit-microcomputers × 2
cost × 2
glitches × 2
ti-99 × 2
assembly × 1
floppy-disk × 1