From 245340205b10073162268044ab782a8d037ca1bb Mon Sep 17 00:00:00 2001 From: alpine9000 Date: Sat, 5 Mar 2016 20:14:08 +1100 Subject: [PATCH] Blit speed visualisation --- 010.blit_speed/1bitplanes-screenshot.png | Bin 0 -> 9886 bytes 010.blit_speed/2bitplanes-screenshot.png | Bin 0 -> 10288 bytes 010.blit_speed/3bitplanes-screenshot.png | Bin 0 -> 15214 bytes 010.blit_speed/4bitplanes-screenshot.png | Bin 0 -> 26205 bytes 010.blit_speed/5bitplanes-screenshot.png | Bin 0 -> 34165 bytes 010.blit_speed/Makefile | 24 ++++ 010.blit_speed/README.md | 53 +++++++++ 010.blit_speed/bin/anim_blit.adf | Bin 0 -> 901120 bytes 010.blit_speed/blit.s | 143 +++++++++++++++++++++++ 010.blit_speed/blit_speed.s | 79 +++++++++++++ 010.blit_speed/constants.i | 24 ++++ 010.blit_speed/init.s | 41 +++++++ 010.blit_speed/utils.s | 23 ++++ 13 files changed, 387 insertions(+) create mode 100644 010.blit_speed/1bitplanes-screenshot.png create mode 100644 010.blit_speed/2bitplanes-screenshot.png create mode 100644 010.blit_speed/3bitplanes-screenshot.png create mode 100644 010.blit_speed/4bitplanes-screenshot.png create mode 100644 010.blit_speed/5bitplanes-screenshot.png create mode 100644 010.blit_speed/Makefile create mode 100644 010.blit_speed/README.md create mode 100644 010.blit_speed/bin/anim_blit.adf create mode 100644 010.blit_speed/blit.s create mode 100644 010.blit_speed/blit_speed.s create mode 100644 010.blit_speed/constants.i create mode 100644 010.blit_speed/init.s create mode 100644 010.blit_speed/utils.s diff --git a/010.blit_speed/1bitplanes-screenshot.png b/010.blit_speed/1bitplanes-screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..5e9495e572b9b3b94a8c66416255244f2bd779e9 GIT binary patch literal 9886 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 literal 0 HcmV?d00001 diff --git a/010.blit_speed/3bitplanes-screenshot.png b/010.blit_speed/3bitplanes-screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..7ca01171a4c898ec3a08ec3eef655ad9a5dec78f GIT binary patch literal 15214 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 EAF!!~i~s-t literal 0 HcmV?d00001 diff --git a/010.blit_speed/4bitplanes-screenshot.png b/010.blit_speed/4bitplanes-screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..689db210aad731fe03d5b5c0bea1cc27c50d401e GIT binary patch literal 26205 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 literal 0 HcmV?d00001 diff --git a/010.blit_speed/5bitplanes-screenshot.png b/010.blit_speed/5bitplanes-screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..9b04a2cdcffb40f34e4bd3512c6f559a25efa8cd GIT binary patch literal 34165 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%0A25<79QU*b#y#H!h2zY3J2Idj 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