# HG changeset patch
# User Laurens Holst
# Date 1644769769 -3600
# Sun Feb 13 17:29:29 2022 +0100
# Node ID abfbdc51b020ac45483da095d3261184056f49ff
# Parent c7a1b4c8b2f8911ecf33a0dd0f5e7b928dc642d6
vdp_guide: Test program for r#18 interaction with copy commands and the display.
This test program cycles through four different stages:
1. Full screen copy while r#18 horizontal offset decrements, sprites enabled.
2. Full screen copy while r#18 horizontal offset increments, sprites enabled.
3. Full screen copy while r#18 horizontal offset decrements, sprites disabled.
4. Full screen copy while r#18 horizontal offset increments, sprites disabled.
diff --git a/articles/vdp_guide.php b/articles/vdp_guide.php
--- a/articles/vdp_guide.php
+++ b/articles/vdp_guide.php
@@ -30,6 +30,8 @@
is the case, you should wait with setting r#18 until the VDP’s CE bit indicates
the current command is finished.
+See this test program.
+
Q: What about screensplits with the help of r#18?
@@ -38,6 +40,8 @@
can be blanked. This only happens when the sprites are disabled. So if you’re
creating a screensplit with r#18, watch out for this.
+See this test program.
+
Q: VDP does lots of random strange things, how come?
diff --git a/downloads/articles/vdpreg18test.zip b/downloads/articles/vdpreg18test.zip
new file mode 100644
index 0000000000000000000000000000000000000000..7c7974a35c11182bcb18c2cb17414a301820e32f
GIT binary patch
literal 285027
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