NESticle is the name of a popular but disgustingly inaccurate NES emulator for DOS, from Bloodlust Software. The emulator is based on an old version of reverse-engineered NES documentation; even though it runs most commercial NES software that was popular in the United States, its timing is way off, and it has trouble running some of the more intense titles such as Solar Jetman. Heck, it doesn't even implement vblank reflection properly, causing NES games' delay loops to malfunction. It's sad when four lines of 6502 assembly language can detect that it's running on NESticle:

   lda $2002        ; wait for vblank
   bpl nestc_detect
   lda $2002        ; vblank should be triggered ONCE
   bmi nesticle     ; NOT continuously as in NESticle
Do NOT use NESticle as your primary testbed if you're developing software for the NES platform; use FCE Ultra for Windows or Linux instead. If you're still on a slow DOS machine, use LoopyNES. I use the above code in my NES init code to display a message "Compatibility with Bloodlust NESticle is not guaranteed. Press Start to continue anyway." and tells where to get a newer emulator ( Confirming that such a message appears on NESticle is the full extent of my continued use of NESticle.