Re: [stella] Emulator detection

Subject: Re: [stella] Emulator detection
From: Adam Thornton <adam@xxxxxxx>
Date: Mon, 4 Jul 2005 13:07:47 -0400
On Jul 4, 2005, at 2:29 AM, atari2600 wrote:

> Here's an interesting question:
> An anonymous source (I will let him identify himself if he so  
> desires) has just sent me a binary which effectively allows code to  
> determine if it is running on an emulator or not.  I am not making  
> this up.  This binary will work both on Stella and Z26 (both latest  
> versions) and allows the code to quickly determine if it is running  
> on the real thing.  So, my question is -- should this 'exploit' be  
> published and thus allow the emulators to more correctly emulate  
> the hardware, or should it be kept private and allow authors (me!  
> me! choose me!) to release binaries that can only be played on real  
> hardware?
> An even better question is:  should emulators allow such detection  
> so that those who want to release binaries that cannot be played on  
> emulators, can do so.  My personal opinion is that emulator authors  
> SHOULD include such an official hook as an encouragement for  
> collectors to buy actual homebrew cartridges.  Otherwise we get  
> into an 'arms race' where such exploits as found above are NOT  
> shared with the community, and the emulators are therefore not as  
> perfect as they otherwise might be.

Well, publish it, of course.

Seriously, who the hell expects to make real money from 2600  
programming?  The people who want to buy actual cartridges are going  
to buy them whether or not the ROM is available.  The people who  
don't are not going to care enough about an unavailable-on-emulation  
game to buy it if they weren't already going to.  I do not believe  
that *any* sales of actual carts have been lost in the modern era  
because of availability of the ROM.

And if it *isn't* made available, it's going to take all of about,  
oh, ten minutes for someone to buy the cartridge, pull the ROM out,  
and dump it, precisely to determine how this hardware identification  
trick works.  And about an hour beyond that to figure out how to make  
the available emulators work with that trick too.  Another question,  
and one that may not have an answer yet: what does this trick do when  
faced with, say, one of the FPGA 2600 implementations?  How about a  
7800 in 2600 mode?  How about the Colecovision Atari adapter?

In short: in my opinion, trying to keep anything 2600-related secret  
at this point in history is pretty stupid.

Archives (includes files) at
Unsub & more at

Current Thread