Difference between revisions of "Emulator evaluation tools"

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
(Peripherals)
(Peripherals)
Line 98: Line 98:
 
*[https://cpcrulez.fr/applications_util-rulez-change-m4wifi.htm RulezCharge] [https://www.cpc-power.com/index.php?page=detail&num=16746 CPChessNet] [https://github.com/fergusleen/m4ewenterm Ewen] [https://www.github.com/salafek/KCNet-software-for-Net4CPC KCNet utilities] [http://www.symbos.de/appinfo.htm?00017 NsLookUp] [http://www.symbos.de/appinfo.htm?00020 SymTel] [http://www.symbos.de/appinfo.htm?00019 WGet] [http://www.symbos.de/ SymbOS] [[UniDOS]] To test the network emulation
 
*[https://cpcrulez.fr/applications_util-rulez-change-m4wifi.htm RulezCharge] [https://www.cpc-power.com/index.php?page=detail&num=16746 CPChessNet] [https://github.com/fergusleen/m4ewenterm Ewen] [https://www.github.com/salafek/KCNet-software-for-Net4CPC KCNet utilities] [http://www.symbos.de/appinfo.htm?00017 NsLookUp] [http://www.symbos.de/appinfo.htm?00020 SymTel] [http://www.symbos.de/appinfo.htm?00019 WGet] [http://www.symbos.de/ SymbOS] [[UniDOS]] To test the network emulation
 
*[https://www.cpc-power.com/index.php?page=detail&num=12972 X-MEM FW] [https://www.cpc-power.com/index.php?page=detail&num=9866 32 Roms Booster] [https://www.cpc-power.com/index.php?page=detail&num=10969 Roman] [https://www.cpc-power.com/index.php?page=detail&num=19236 CatRun] [https://www.cpc-power.com/index.php?page=detail&num=18901 CowSay] [http://impdraw.wikidot.com iMPdraw] [http://imptiles.wikidot.com/ iMPtiles] [https://www.cpc-power.com/index.php?page=detail&num=4008 Graph'OS] [https://www.cpc-power.com/index.php?page=detail&num=6129 Nirvana] [https://www.cpc-power.com/index.php?page=detail&num=6353 Utopia] [[Hexam]] [https://www.cpc-power.com/index.php?page=detail&num=12552 Orgams] [https://cpcrulez.fr/applications_disc-yet_another_norton-commander_clone.htm YANCC] [[HDCPM]] [https://www.cpc-power.com/index.php?page=detail&num=15975 FutureOS] [http://www.symbos.de/ SymbOS] [[UniDOS]] [https://archive.org/details/cpc-roms ROM Games] To test ROMboard emulation
 
*[https://www.cpc-power.com/index.php?page=detail&num=12972 X-MEM FW] [https://www.cpc-power.com/index.php?page=detail&num=9866 32 Roms Booster] [https://www.cpc-power.com/index.php?page=detail&num=10969 Roman] [https://www.cpc-power.com/index.php?page=detail&num=19236 CatRun] [https://www.cpc-power.com/index.php?page=detail&num=18901 CowSay] [http://impdraw.wikidot.com iMPdraw] [http://imptiles.wikidot.com/ iMPtiles] [https://www.cpc-power.com/index.php?page=detail&num=4008 Graph'OS] [https://www.cpc-power.com/index.php?page=detail&num=6129 Nirvana] [https://www.cpc-power.com/index.php?page=detail&num=6353 Utopia] [[Hexam]] [https://www.cpc-power.com/index.php?page=detail&num=12552 Orgams] [https://cpcrulez.fr/applications_disc-yet_another_norton-commander_clone.htm YANCC] [[HDCPM]] [https://www.cpc-power.com/index.php?page=detail&num=15975 FutureOS] [http://www.symbos.de/ SymbOS] [[UniDOS]] [https://archive.org/details/cpc-roms ROM Games] To test ROMboard emulation
*[https://www.cpc-power.com/index.php?page=detail&num=17567 Alcon 2020] [https://www.cpc-power.com/index.php?page=detail&num=18843 Hyperdrive] [https://www.cpc-power.com/index.php?page=detail&num=18503 Puzzle Bobble] [https://www.cpc-power.com/index.php?page=detail&num=18888 Revenge of Trasmoz] [https://www.cpc-power.com/index.php?page=detail&num=19111 Crazy Piri Chronicle] [[Converted GX4000 Software]] [https://futureos.cpc-live.com/ FutureOS] [http://www.symbos.de/ SymbOS] [http://amsnet.chez.com/ UniDOS Cartridge Creator] To test [[Cartridge Emulator]] or compatible ([[M4 Board]], [[Plus2CPC]], [[Play2CPC]]) CPC cartridge slot expansion
+
*[https://www.cpc-power.com/index.php?page=detail&num=17567 Alcon 2020] [https://www.cpc-power.com/index.php?page=detail&num=18843 Hyperdrive] [https://www.cpc-power.com/index.php?page=detail&num=18503 Puzzle Bobble] [https://www.cpc-power.com/index.php?page=detail&num=18888 Revenge of Trasmoz] [https://www.cpc-power.com/index.php?page=detail&num=19111 Crazy Piri Chronicle] [[Converted GX4000 Software]] [https://futureos.cpc-live.com/ FutureOS] [http://www.symbos.de/ SymbOS] [http://amsnet.chez.com/ UniDOS Cartridge Creator] To test [[Plus2CPC]] or compatible ([[Play2CPC]], [[Cartridge Emulator]], [[M4 Board]]) CPC cartridge slot expansion
 
*[https://www.cpc-power.com/index.php?page=detail&num=14498 Multiface Protector] [https://www.cpc-power.com/index.php?page=protection&lenom=Multiface%202%20Protection Anti-Multiface II software list] [https://www.cpc-power.com/index.php?page=detail&num=1855 RX 220] [https://www.cpc-power.com/index.php?page=detail&num=1980 War in Middle Earth] [https://www.cpc-power.com/index.php?page=detail&num=1322 Zap't'Balls advanced] [https://www.cpc-power.com/index.php?page=detail&num=5266 The Insider] [https://www.cpc-power.com/index.php?page=detail&num=5271 MF2RR] [https://grimware.org/doku.php/documentations/expansions/mf2/start Technical documentation] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&num=433] To test [[Multiface II]] emulation
 
*[https://www.cpc-power.com/index.php?page=detail&num=14498 Multiface Protector] [https://www.cpc-power.com/index.php?page=protection&lenom=Multiface%202%20Protection Anti-Multiface II software list] [https://www.cpc-power.com/index.php?page=detail&num=1855 RX 220] [https://www.cpc-power.com/index.php?page=detail&num=1980 War in Middle Earth] [https://www.cpc-power.com/index.php?page=detail&num=1322 Zap't'Balls advanced] [https://www.cpc-power.com/index.php?page=detail&num=5266 The Insider] [https://www.cpc-power.com/index.php?page=detail&num=5271 MF2RR] [https://grimware.org/doku.php/documentations/expansions/mf2/start Technical documentation] [https://www.cpc-power.com/cpcarchives/index.php?page=articles&num=433] To test [[Multiface II]] emulation
 
*[https://www.cpc-power.com/cpcarchives/index.php?page=articles&num=9 LensLok] [https://www.cpc-power.com/index.php?page=database&lemot=hardware_dandanator Dandanator] [[8bit Printer Ports]] Exotic hardware components that are essential for some CPC software and should therefore be emulated
 
*[https://www.cpc-power.com/cpcarchives/index.php?page=articles&num=9 LensLok] [https://www.cpc-power.com/index.php?page=database&lemot=hardware_dandanator Dandanator] [[8bit Printer Ports]] Exotic hardware components that are essential for some CPC software and should therefore be emulated

Revision as of 09:06, 23 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.