Skip to main content
Share Your Experience: Take the 2024 Developer Survey
120 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
40 votes
Accepted

How did people program for Consoles with multiple CPUs?

It varies machine to machine; at the simplest end is the Neo Geo — its 68000 and Z80 have completely independent buses. You write one program for the 68000 and one for the Z80 and a single pipe of ...
Tommy's user avatar
  • 37.3k
39 votes
Accepted

How did the Sega CD decompress video?

We used to have to write our own video playback system, so each game did it differently. I worked on Microcosm for the SegaCD and if I recall we used a 16 colour palette for the video playback and had ...
Martin Linklater's user avatar
33 votes
Accepted

How did the X-Men game for Sega Genesis have its state survive a console reset?

The reset button should clear the console's memory. No, it shouldn’t. The 68000 reset vector is the first eight bytes in cartridge ROM. The cartridge will point at its own initialization code; the ...
Jacob Krall's user avatar
  • 2,289
29 votes
Accepted

Amiga 500 OCS/ECS vs Mega Drive VDP

The [pre-AGA] Amiga: uses a planar frame buffer, stored in memory that is shared with the CPU (and which therefore reduces the CPU's speed); provides dual-playfield hardware scrolling, but the total ...
Tommy's user avatar
  • 37.3k
29 votes

Why was the Sega Genesis marketed as a 16-bit console?

... the Motorola 68000, was a 32-bit processor. As already written in Raffzahn's answer, Motorola itself said that it is a 16-bit processor. And as far as I know, the reason is not the external 16-...
Martin Rosenau's user avatar
19 votes

How did the Sega CD decompress video?

Playback of compressed digital video is handled entirely in software on the Sega CD which is why FMV games on it play with the video taking less than the full screen and at relatively low frames per ...
mnem's user avatar
  • 4,545
15 votes
Accepted

If the Sega Genesis/MegaDrive could be overclocked so easily, why couldn't the SNES?

The Super NES (SNES) has a much different hardware architecture than the Sega Genesis, and is built around the custom Ricoh 5A22 ASIC. As opposed to the discrete, stock, Motorola 68000 CPU employed in ...
Brian H's user avatar
  • 60.8k
15 votes
Accepted

Why was the Sega Genesis marketed as a 16-bit console?

the Motorola 68000, was a 32-bit processor. I'd say 16 Bit - likewise Motorola did (*1). The bitness of a processor is and always will be up for discussion, as various features may not operate at the ...
Raffzahn's user avatar
  • 224k
15 votes

How did the X-Men game for Sega Genesis have its state survive a console reset?

Similar methods have existed and are still used. The reset does not clear the memory, it simply resets the CPU to start running code from start vector. All the code needs to do is to check a known ...
Justme's user avatar
  • 33k
13 votes

How does Master System backwards compatibility work on the Megadrive?

The 68000 does nothing; it is entirely disabled. Ditto the Yamaha OPN. The Mega Drive's VDP is almost entirely backwards compatible with that of the Master System — it implements the graphics mode ...
Tommy's user avatar
  • 37.3k
12 votes

What is going on in the overscan area of Sega Genesis games?

Short answer: No. At least not for display purposes. The pixels shown are artefacts when the VDP is operation in modes with more than 224 lines (NTSC). These lines were usually not displayed on real ...
Raffzahn's user avatar
  • 224k
12 votes

How did people program for Consoles with multiple CPUs?

There are two basic techniques: shared memory and dedicated communication ports. Shared memory simply allows both processors to access the same memory bus. There are some issues, as the bus has to be ...
user's user avatar
  • 15.3k
11 votes

Self-modifying code in commercial games for the (S)NES, Gameboy, Genesis/MD, PC Engine, Atari, etc

I rarely had occasion to use self-modifying code. Doing that had a lot of overhead both in ROM space and RAM space, and I rarely saw an occasion where it would be worth it. I did do it on the IBM PC, ...
Harper - Reinstate Monica's user avatar
11 votes

Amiga 500 OCS/ECS vs Mega Drive VDP

The Megadrive comes from an arcade machine lineage, it's cut-down Sega arcade machine hardware. The Amiga comes from a computer lineage, it's an evolution of the Atari 800, same designer, and many of ...
Greenaum's user avatar
  • 410
11 votes

How did the X-Men game for Sega Genesis have its state survive a console reset?

The reset button should clear the console's memory. Why? And who should do that? The Mega Drive is a very classic console. There is no OS or monitor (*1) that controls execution and prepares the ...
Raffzahn's user avatar
  • 224k
10 votes

What is going on in the overscan area of Sega Genesis games?

The color RAM in the Genesis video chip is single ported such that at any given time the color RAM data bus either contains the data being read out of it for display purposes, or the data being ...
raisin-wrangler's user avatar
10 votes
Accepted

Using the (An)+ to Memory addressing mode when address register is pointed to ROM causes Sega Genesis DMA to fail

I can't believe I only see this topic so long after it was post ! For reference: I made the 68k optimizations of the video engine of a recent and quite famous game. The Genesis Software Manual scanned ...
Olivier's user avatar
  • 659
9 votes

Why was the Sega Genesis marketed as a 16-bit console?

It's usually the width of the system data bus that determines the "bitted-ness" used to describe the system. While the Motorola 68k CPU used as a component in the Sega system certainly has some ...
Brian H's user avatar
  • 60.8k
9 votes
Accepted

Graphics Editor for 16-Bit Games

Depending on the platform we're talking about, you've got a few choices. As the best platform for editing images at the time was the Amiga with its 4096 color palette in HAM mode on OCS/ECS (Original ...
redsPL's user avatar
  • 1,017
9 votes
Accepted

What ended the Sony console partnerships with Sega and Nintendo?

There was a relationship between Sony and Nintendo starting in 1988 and into the early 1990s as someone in Sony was looking to get into the video game business after seeing how successful the Famicom ...
bjb's user avatar
  • 16.4k
9 votes

Self-modifying code in commercial games for the (S)NES, Gameboy, Genesis/MD, PC Engine, Atari, etc

RAM and ROM are reachable by the CPU for execution, so most consoles can execute code from RAM. The consoles using cartridges usually don't have a lot of RAM, so I think it's VERY rare if someone uses ...
Jean-François Fabre's user avatar
8 votes
Accepted

Self-modifying code in commercial games for the (S)NES, Gameboy, Genesis/MD, PC Engine, Atari, etc

I know about one Atari 8bit game called Robbo. There are source codes published where in file R1.ASM you can see: LDA LMVT,X STA JMP1+1 LDA LMVT+4,X STA JMP1+2 JMP1 JMP * LMVT ...
ufok's user avatar
  • 277
8 votes
Accepted

What cleaning/repair can be done to a Mega Drive cartridge slot?

Have you tried cleaning the pin connector inside the Mega Drive? It's fairly simple to remove the shell and access the pin connectors. (don't forget to remove the LED wires for model 1) I got a second ...
nabulator's user avatar
  • 929
7 votes

Self-modifying code in commercial games for the (S)NES, Gameboy, Genesis/MD, PC Engine, Atari, etc

The NES game Gimmick! uses self modifying code as part of its anti-piracy check failure response. 96 bytes are decrypted while being copied from ROM to RAM and then jumped to. This is to hide a ...
Gero's user avatar
  • 199
7 votes
Accepted

Sega Genesis and Sega CD interaction

To answer the first half of your questions: The right-side 60-pin expansion slot is bespoke, and found on Mega Drive / Genesis 1 and 2 only. It is not present on the Genesis 3 or Nomad. It exposes the ...
knol's user avatar
  • 12.1k
6 votes

Sega Genesis/Mega Drive ROM Disassembler

DGEN emulator has a starscream 68k core with a builtin dissasembler and debugger . ` might be the key to break into it once rom is running. It's also easy to recompile with SDL as the gfx/audio ...
Trevor Nunes's user avatar
6 votes

If the Sega Genesis/MegaDrive could be overclocked so easily, why couldn't the SNES?

It's an issue of integration. On the early Genesis systems the custom chips and CPU were physically separate from each other so it was easy to isolate the various clock signals and replace the CPU ...
raisin-wrangler's user avatar
5 votes

Building a Sega Genesis Classic Portable - What kind of display?

In the video you linked (at 01:12), I notice that this device has the standard yellow and white connectors for composite video and audio. Many cheap portable LCD TVs support this kind of input, and ...
Kaz's user avatar
  • 8,146
5 votes

Amiga 500 OCS/ECS vs Mega Drive VDP

TL;DR: For all of this it might be helpful and take a step back from bits and bytes and take a step back to look at the whole process of Game development. Doing so will show that quality is much more ...
Raffzahn's user avatar
  • 224k

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