Changes

Jump to: navigation, search

Emulators

549 bytes added, 1 October
/* Emulator Detection */
If you want to promote usage of real CPC computers, you can detect CPC emulators by:
*Checking if the memory is initialized with zeroes, as real machines have random memory values at boot
*Configure the CRTC to make a part of RAM not to be refreshed. This has never been emulated. [https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/memory-refresh-plus/ 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. Using undocumented I/O ports. Writing to multiple chips simultaneously
*Focusing on the minute details in [[Z80]], [[CRTC]], [[8255|PPI]] and [[PAL16L8|PAL]] chips. They are most often wrong in emulators
8,338
edits