91 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 ...
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 ...
user avatar
66 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 ...
user avatar
  • 7,854
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; ...
user avatar
  • 9,380
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 ...
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 ...
user avatar
  • 9,242
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 ...
user avatar
  • 1,698
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 ...
user avatar
  • 8,196
34 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 ...
user avatar
  • 10.1k
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 ...
user avatar
  • 57.3k
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 ...
user avatar
  • 28.1k
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 ...
user avatar
  • 8,413
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 ...
user avatar
  • 4,563
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 ...
user avatar
  • 5,155
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 ...
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 avatar
  • 14k
19 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 ...
user avatar
  • 5,224
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 ...
user avatar
  • 10.1k
19 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 ...
user avatar
  • 191
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 ...
user avatar
  • 10k
18 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 ...
user avatar
  • 1,035
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 ...
user avatar
  • 57.3k
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 ...
user avatar
  • 10.2k
16 votes
Accepted

Why are the internals of NES Gamepaks so small compared to the case?

Under the hood, the NES was almost identical to the Famicom, its Japanese counterpart released in 1983: image source The Famicom console itself was much smaller that the NES, and it had a ...
user avatar
  • 5,224
15 votes

C64 cartridge emulation with ATmega

As a personal project I had the idea to create a custom cartridge for my Commodore 64 and use an ATmega 1284p microcontroller to emulate eproms and/or custom chips. I doubt that this will work! The ...
user avatar
14 votes
Accepted

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

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 ...
user avatar
  • 9,242
14 votes

Why use static RAM addresses instead of the stack?

It's also worth pointing out that the intricacies of maintaining variables on the stack can result in slower code. And of course there are limits to how big the stack can be; even with the more ...
user avatar
14 votes
Accepted

How did Mega-Lo-Mania's save state system work?

The password is made of 11 capital letters (A to Z) and encodes the following values: A value from 0 to 3 that indicates the selected player (red, green, yellow, or blue). A value from 0 to 9 that ...
user avatar
  • 326

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