
How to write an Amstrad CPC emulator - ingve
http://www.irespa.eu/daan/lib/howtoCPCemu.htm
======
Doctor_Fegg
This is pretty old - mid-90s, I think.

Since then the state of the art in CPC emulators has moved on a lot. Most of
the advances have been in emulating the quirks of the CRTC (Cathode Ray Tube
Controller). Most games didn't make much use of the CRTC beyond the basics,
but demomakers have been pushing its bounds for 30 years now. Here's a fairly
typical recent example of a CPC demo:
[https://www.youtube.com/watch?v=6wBwbRYL-F4&feature=youtu.be](https://www.youtube.com/watch?v=6wBwbRYL-F4&feature=youtu.be)

Even back in the mid-90s we were stretching the CRTC to such an extent that
differences were apparent depending whether Amstrad had bought a batch of
chips from Hitachi, Motorola or NEC. It's worth browsing Pouet to see what's
been done in the years since.

~~~
chadcmulligan
I do remember fiddling with the CRTC back in the day. There used to be a trick
where you could change the color palette (16 colours iirc) on the horizontal
retrace to get extra colours, and I think some later games took advantage of
this.

~~~
flohofwoe
Demo sceners have also figured out how to reprogram the scanning position in
memory for each scanline, with impressive results:

[https://floooh.github.io/tiny8bit/cpc.html?file=cpc/dtc_cpc....](https://floooh.github.io/tiny8bit/cpc.html?file=cpc/dtc_cpc.dsk&input=run%22-DTC%0A)

[https://floooh.github.io/tiny8bit/cpc.html?file=cpc/logons_r...](https://floooh.github.io/tiny8bit/cpc.html?file=cpc/logons_run_cpc.dsk&input=run%22logon%27s%0A)

~~~
chadcmulligan
That is wonderful, takes me back :-). You can even see a bit of jitter in the
lines of colours since the interrupt wasn't precise enough to really do this.

