diff --git a/README.md b/README.md index a728a72b2..46c0aaedd 100644 --- a/README.md +++ b/README.md @@ -24,12 +24,22 @@ The full process of loading a title — even if you've never used the emulated m ## Signal Processing -Consider an ordinary, unmodified Commodore Vic-20. Its only video output is composite. Therefore the emulated machine's only video output is composite. In order to display the video output, your GPU then decodes composite video. Therefore all composite video artefacts are present and exactly correct, not because of a posthoc filter combining all the subjective effects that this author associates with composite video but because the real signal is really being processed. +Consider an ordinary, unmodified Commodore Vic-20. Its only video output is composite. Therefore the emulated machine's only video output is composite. In order to display the video output, your GPU then decodes composite video. Therefore all composite video artefacts are present and exactly correct, not because of a post hoc filter combining all the subjective effects that this author associates with composite video but because the real signal is really being processed. Similar effort is put into audio generation. If the real machine normally generates audio at 192Khz then the emulator generates a 192Khz source signal and filters it down to whatever the host machine can output. If your machine has a 4k monitor and a 96Khz audio output? Then you'll get a 4k rendering of a composite display and, assuming the emulated machine produces source audio at or above 96Khz, 96,000 individual distinct audio samples a second. Interlaced video also works and looks much as it always did on those machines that produce it. +### Samples + +| 1:1 Pixel Copying | Composite Decoded | +|---|---| +|![The Electron start screen, with a classic 1:1 pixel emulation](READMEImages/NaiveElectron.png)|![The Electron start screen, decoded from an interlaced composite feed](READMEImages/CompositeElectron.png)| +|![Repton 3 in game, with a classic 1:1 pixel emulation](READMEImages/NaiveRepton3.png)|![Repton 3 in game, decoded from an interlaced composite feed](READMEImages/CompositeRepton3.png)| +|![Stormlord with a classic 1:1 pixel emulation](READMEImages/NaiveStormlord.png)|![Stormlord decoded from an interlaced composite feed](READMEImages/CompositeStormlord.png)| + +Repton title screen, interlaced + ## Low Latency The display produced is an emulated CRT, with phosphor decay. Therefore if you have a 140Hz monitor it can produce 140 distinct frames per second. Latency is dictated by the output hardware, not the emulated machine. diff --git a/READMEImages/CompositeElectron.png b/READMEImages/CompositeElectron.png new file mode 100644 index 000000000..902b30bb7 Binary files /dev/null and b/READMEImages/CompositeElectron.png differ diff --git a/READMEImages/CompositeRepton3.png b/READMEImages/CompositeRepton3.png new file mode 100644 index 000000000..0c69ff39d Binary files /dev/null and b/READMEImages/CompositeRepton3.png differ diff --git a/READMEImages/CompositeStormlord.png b/READMEImages/CompositeStormlord.png new file mode 100644 index 000000000..fe9892883 Binary files /dev/null and b/READMEImages/CompositeStormlord.png differ diff --git a/READMEImages/NaiveElectron.png b/READMEImages/NaiveElectron.png new file mode 100644 index 000000000..42964d8b3 Binary files /dev/null and b/READMEImages/NaiveElectron.png differ diff --git a/READMEImages/NaiveRepton3.png b/READMEImages/NaiveRepton3.png new file mode 100644 index 000000000..e1f36d624 Binary files /dev/null and b/READMEImages/NaiveRepton3.png differ diff --git a/READMEImages/NaiveStormlord.png b/READMEImages/NaiveStormlord.png new file mode 100644 index 000000000..14434a433 Binary files /dev/null and b/READMEImages/NaiveStormlord.png differ diff --git a/READMEImages/ReptonInterlaced.gif b/READMEImages/ReptonInterlaced.gif new file mode 100644 index 000000000..75c922f13 Binary files /dev/null and b/READMEImages/ReptonInterlaced.gif differ