Difference between revisions of "Emulator evaluation tools"

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
(Peripherals)
(Peripherals)
Line 90: Line 90:
 
== Peripherals ==
 
== Peripherals ==
 
*[https://www.cpc-power.com/index.php?page=database&lemot=TMPI%20speech%20synthesizer TMPI software list] Multilingual [https://www.cpc-power.com/index.php?page=database&lemot=SSA-1 SSA-1 software list] [https://www.cpc-power.com/index.php?page=database&lemot=DK%27Tronics%20Speech%20Synthesizer Dk'Tronics software list] English-only speech synthesizers
 
*[https://www.cpc-power.com/index.php?page=database&lemot=TMPI%20speech%20synthesizer TMPI software list] Multilingual [https://www.cpc-power.com/index.php?page=database&lemot=SSA-1 SSA-1 software list] [https://www.cpc-power.com/index.php?page=database&lemot=DK%27Tronics%20Speech%20Synthesizer Dk'Tronics software list] English-only speech synthesizers
*[https://www.cpc-power.com/index.php?page=detail&num=16011 Cocoon Player] [https://www.cpc-power.com/index.php?page=detail&num=7655 Bordelik 4] [https://www.cpc-power.com/index.php?page=detail&num=7535 Digital Orgasm] [https://www.cpc-power.com/index.php?page=detail&num=19225 Bloood] [https://www.cpc-power.com/index.php?page=database&lemot=Digitracker%20v&r1=1 Digitracker Symbiosis] [https://www.cpc-power.com/index.php?page=database&lemot=Prodatron%20MDL Prodatron MDL packs] [[File:DigiTracker Amdrum.zip]] [https://www.cpcwiki.eu/forum/applications/prodatrons-digitrackker-1-4-now-vor-lambdaspeak-amdrum-in-8-bit-mode!/] [https://www.cpc-power.com/index.php?page=database&lemot=Amdrum Amdrum] To test [[Digiblaster]] and [[Amdrum]] soundcards emulation
+
*[https://www.cpc-power.com/index.php?page=detail&num=16011 Cocoon Player] [https://www.cpc-power.com/index.php?page=detail&num=7655 Bordelik 4] [https://www.cpc-power.com/index.php?page=detail&num=7535 Digital Orgasm] [https://www.cpc-power.com/index.php?page=detail&num=19225 Bloood] [https://cpcrulez.fr/applications_music-the_drumming_cpc.htm Drumming CPC] [https://www.cpc-power.com/index.php?page=database&lemot=Digitracker%20v&r1=1 Digitracker Symbiosis] [https://www.cpc-power.com/index.php?page=database&lemot=Prodatron%20MDL Prodatron MDL packs] [[File:DigiTracker Amdrum.zip]] [https://www.cpcwiki.eu/forum/applications/prodatrons-digitrackker-1-4-now-vor-lambdaspeak-amdrum-in-8-bit-mode!/] [https://www.cpc-power.com/index.php?page=database&lemot=Amdrum Amdrum] To test [[Digiblaster]] and [[Amdrum]] soundcards emulation
 
*[https://framagit.org/shinra/vgmplay VGMplay] [http://www.roudoudou.com/ACE-DL/ OPL3 VGM pack] [https://cpcrulez.fr/applications_music-sid_player.htm SID Player] [https://www.cpc-power.com/index.php?page=detail&num=4682 MidiTrack Performer] To test [[Willy|Willy OPL3]], [https://youtu.be/_LWbnjvXN4g RSF3 SID] and [[EMR MIDI Interface]] ([https://youtu.be/YOjV9AaIVKM RSF3]) soundcards emulation
 
*[https://framagit.org/shinra/vgmplay VGMplay] [http://www.roudoudou.com/ACE-DL/ OPL3 VGM pack] [https://cpcrulez.fr/applications_music-sid_player.htm SID Player] [https://www.cpc-power.com/index.php?page=detail&num=4682 MidiTrack Performer] To test [[Willy|Willy OPL3]], [https://youtu.be/_LWbnjvXN4g RSF3 SID] and [[EMR MIDI Interface]] ([https://youtu.be/YOjV9AaIVKM RSF3]) soundcards emulation
 
*[https://www.cpc-power.com/index.php?page=database&lemot=hardware_phaser_loriciels West Phaser] [https://www.cpc-power.com/index.php?page=database&lemot=hardware_gunstick Gunstick] [https://www.cpc-power.com/index.php?page=detail&num=4303 Trojan LP-1] To test lightguns and lightpens connected to joystick port [https://www.cpc-power.com/index.php?page=database&lemot=hardware_magnum Magnum Light Phaser] [https://www.cpc-power.com/index.php?page=detail&num=3583 SkeetShoot] [https://www.cpc-power.com/index.php?page=detail&num=3584 The Enforcer] [https://www.cpc-power.com/index.php?page=detail&num=3992 Dk'Tronics Light Pen] [https://www.cpc-power.com/index.php?page=detail&num=4955 Light Pen Mark II] [https://www.cpc-power.com/index.php?page=detail&num=5853 Dart Light Pen] [https://www.cpc-power.com/index.php?page=detail&num=15975 FutureOS] To test lightguns and lightpens connected to expansion port
 
*[https://www.cpc-power.com/index.php?page=database&lemot=hardware_phaser_loriciels West Phaser] [https://www.cpc-power.com/index.php?page=database&lemot=hardware_gunstick Gunstick] [https://www.cpc-power.com/index.php?page=detail&num=4303 Trojan LP-1] To test lightguns and lightpens connected to joystick port [https://www.cpc-power.com/index.php?page=database&lemot=hardware_magnum Magnum Light Phaser] [https://www.cpc-power.com/index.php?page=detail&num=3583 SkeetShoot] [https://www.cpc-power.com/index.php?page=detail&num=3584 The Enforcer] [https://www.cpc-power.com/index.php?page=detail&num=3992 Dk'Tronics Light Pen] [https://www.cpc-power.com/index.php?page=detail&num=4955 Light Pen Mark II] [https://www.cpc-power.com/index.php?page=detail&num=5853 Dart Light Pen] [https://www.cpc-power.com/index.php?page=detail&num=15975 FutureOS] To test lightguns and lightpens connected to expansion port

Revision as of 10:59, 21 March 2025

Quick evaluation


Categories

Z80 CPU


Diagnostics


Amstrad Plus


Colorimetry

  • CPC DiAG also shows that the primary colours themselves are a bit different. Blue is more vivid and Green is less fluorescent on Amstrad displays.
  • Colours are less saturated and black is not as profound on CRT monitors than they are on modern displays.
  • On CRT displays, bright pixels will spill on their neighbours while dark pixels will get eaten by their neighbours (ie. bright pixels are bigger than dark pixels on CRT displays), affecting dithered colours. This effect is absent on LCD displays.
  • The usual scanline effect of CRT monitors is barely noticeable on the Amstrad CTM colour monitor. But it is very pronounced on Amstrad monochrome monitors.
  • The slot mask is the texture that is visible in the CTM colour monitor. CRT masks do not exist on monochrome monitors.
  • To test emulators VSYNC (screen-tearing and skipped frames): Source
border 22,17:ink 0,4,9:speed ink 1,1


Graphics


Audio


Peripherals


Copy-protection


Other


Emulator detection methods

If you are a programmer who wants to promote usage of real CPC computers, you can detect CPC emulators by:

  • Checking if the memory is initialised with zeroes, as RAM in real machines is not initialised during boot. Source
  • Configuring the CRTC to stop refreshing part of the RAM. This behaviour has never been emulated. Source
The way to cause the RAM refresh to fail in both a Plus or normal CPC is simply to stop a few bits of the CRTC address changing (ie. never refresh the selected area).
Generally, only the Row address needs to be cycled, so stopping MA0 through MA7 from changing, and stopping the CPU from reading those rows, will cause data to be lost, quite quickly (generally around 4ms).
  • Playing with the "floating" bus. Using Z80 read I/O commands to write to chip registers. Accessing ghost registers. Using undocumented I/O ports. Writing to multiple chips simultaneously. Changing PPI and PSG ports direction.
  • Focusing on the minute details in Z80, CRTC, PPI and PAL chips. They are most often wrong in emulators.
  • Examining the FDC chip. It is only replicated more or less superficially in all emulators because the internals of the chip are still unknown. Many emulators don't even support the FDC SCAN or FORMAT TRACK commands.

Combining these methods will definitely get you a 100% success rate in detecting emulators, even the toughest ones.

Additionally, an Emulator IDs system is available for easier detection of CPC emulators.

On ZX Spectrum, gamedevs are challenging emulators real hard with titles like MEMPTR Snake, Super HALT Invaders Test and Chromatrons Attack.