From 6f78ecd12b471f441eb56377615dd95415a2385e Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Thu, 12 Jan 2017 22:06:45 -0500 Subject: [PATCH] Added a small pictorial example. Hardly the best, but a step in the right direction. --- README.md | 6 ++++++ READMEImages/CompositeElectron.png | Bin 0 -> 19595 bytes READMEImages/NaiveElectron.png | Bin 0 -> 309 bytes 3 files changed, 6 insertions(+) create mode 100644 READMEImages/CompositeElectron.png create mode 100644 READMEImages/NaiveElectron.png diff --git a/README.md b/README.md index a728a72b2..cdd536f48 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,12 @@ Similar effort is put into audio generation. If the real machine normally genera 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. +Classic emulation: +![The Electron start screen, with a classic 1:1 pixel emulation](READMEImages/NaiveElectron.png) + +Composite CRT emulation: +![The Electron start screen, decoded from an interlaced composite feed](READMEImages/CompositeElectron.png) + ## 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 0000000000000000000000000000000000000000..902b30bb7c8b690b58112e42bce7a4e2727d7ef4 GIT binary patch literal 19595 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 literal 0 HcmV?d00001 diff --git a/READMEImages/NaiveElectron.png b/READMEImages/NaiveElectron.png new file mode 100644 index 0000000000000000000000000000000000000000..42964d8b355c5a725611ea44d2d67dfc4d197159 GIT binary patch literal 309 zcmV-50m}Y~P)wg%5y*cUk1*IB`s;weAq8?kvf7(A;4j}qxt zf*~a@or*>F@lioivofUog6NpC&StZbY+1c+7(|J`IOZvZTL7Yy7#xYOYyy)?77D%e zRWD=(G^dys`f+2hb;VS4PRXAQ&vB73WdzOV28hia0i0p?mqlKxVjsr1@|XXM)rNe4DP{8wEj_vJcODB200000NkvXX Hu0mjf_N;-o literal 0 HcmV?d00001