aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@trantor.hos.anvin.org>2010-09-18 23:15:42 -0700
committerH. Peter Anvin <hpa@trantor.hos.anvin.org>2010-09-18 23:15:42 -0700
commitef31d30dad3d8660b746c47132218e6e8d7a1066 (patch)
treeef14c820731986beb949a9abc0a43a0cb7352370
parentcfae781bf19c4a5e2faa88d25f1bd56cba82f2ab (diff)
downloadabc80-ef31d30dad3d8660b746c47132218e6e8d7a1066.tar.gz
abc80-ef31d30dad3d8660b746c47132218e6e8d7a1066.tar.xz
abc80-ef31d30dad3d8660b746c47132218e6e8d7a1066.zip
display: during the prefetch interval, run at full speed
We have one character worth of prefetch, but that is one character at full speed (80 columns). So advance the counter at full speed during the prefetch interval. The alternative would be to adjust the timing of the prefetch start dynamically (otherwise the text would move between 40 and 80 column mode), but that seems to be more complicated especially when using the FG unit.
-rw-r--r--display.v4
1 files changed, 3 insertions, 1 deletions
diff --git a/display.v b/display.v
index 2b7e8f3..3360138 100644
--- a/display.v
+++ b/display.v
@@ -128,7 +128,9 @@ module display (
wire do_hide = wasdble ? washide : ishide;
// Should we advance the character pixel?
- wire advance = width | x[0];
+ // We need to always advance at full speed during prefetch, or
+ // we would have to start the prefetch earlier in 40-character mode.
+ wire advance = width | x[0] | prefetch;
// Address mapping for 40 and 80 characters
assign a80[3:0] = xchr[3:0];