From c8f775a91e35cd1346057f9e88d203f02cfa4702 Mon Sep 17 00:00:00 2001 From: Mark Pizzolato Date: Mon, 19 Aug 2013 06:48:24 -0700 Subject: [PATCH] QVSS: Fix to handle when cursor is near the right edge of the screen and only partially visible. Prior fix for cursor tracking allowed this to now be observed. The description of the prior change should have been: The status bits need to be set in the upper byte of the DUART receiver buffer. This is not mentioned in the DEC manual but I found a Phillips datasheet for the 2681 chip, which has a small footnote about it. --- VAX/vax_vc.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/VAX/vax_vc.c b/VAX/vax_vc.c index b519cd72..56075f9f 100644 --- a/VAX/vax_vc.c +++ b/VAX/vax_vc.c @@ -743,6 +743,8 @@ for (ln = 0; ln < VC_YSIZE; ln++) { if ((ln >= CUR_Y) && (ln < (CUR_Y + 16))) { /* cursor on this line? */ cur = &vc_cur[((ln - CUR_Y) << 4)]; /* get image base */ for (col = 0; col < 16; col++) { + if ((CUR_X + col) >= 1024) /* Part of cursor off screen? */ + continue; /* Skip */ if (CUR_F) /* mask function */ line[CUR_X + col] = line[CUR_X + col] | cur[col]; else