From 1175f7678a30d9c96a636cf32f57054ee65bc16a Mon Sep 17 00:00:00 2001
From: Mike Stephens <mstephen@gitlab.riscosopen.org>
Date: Mon, 16 Oct 2000 12:35:53 +0000
Subject: [PATCH] second attempt at handling lack of h/w scroll

Version 5.35, 4.79.2.10. Tagged as 'Kernel-5_35-4_79_2_10'
---
 VersionASM      | 6 +++---
 VersionNum      | 8 ++++----
 s/vdu/vdudriver | 8 +++++---
 s/vdu/vdugrafl  | 1 -
 4 files changed, 12 insertions(+), 11 deletions(-)

diff --git a/VersionASM b/VersionASM
index 9801eae0..e8fce6ff 100644
--- a/VersionASM
+++ b/VersionASM
@@ -11,10 +11,10 @@
                         GBLS    Module_HelpVersion
 Module_MajorVersion     SETS    "5.35"
 Module_Version          SETA    535
-Module_MinorVersion     SETS    "4.79.2.9"
+Module_MinorVersion     SETS    "4.79.2.10"
 Module_Date             SETS    "16 Oct 2000"
 Module_ApplicationDate2 SETS    "16-Oct-00"
 Module_ApplicationDate4 SETS    "16-Oct-2000"
-Module_FullVersion      SETS    "5.35 (4.79.2.9)"
-Module_HelpVersion      SETS    "5.35 (16 Oct 2000) 4.79.2.9"
+Module_FullVersion      SETS    "5.35 (4.79.2.10)"
+Module_HelpVersion      SETS    "5.35 (16 Oct 2000) 4.79.2.10"
                         END
diff --git a/VersionNum b/VersionNum
index 099e388e..4dfb336a 100644
--- a/VersionNum
+++ b/VersionNum
@@ -4,16 +4,16 @@
  *
  */
 #define Module_MajorVersion_CMHG        5.35
-#define Module_MinorVersion_CMHG        4.79.2.9
+#define Module_MinorVersion_CMHG        4.79.2.10
 #define Module_Date_CMHG                16 Oct 2000
 
 #define Module_MajorVersion             "5.35"
 #define Module_Version                  535
-#define Module_MinorVersion             "4.79.2.9"
+#define Module_MinorVersion             "4.79.2.10"
 #define Module_Date                     "16 Oct 2000"
 
 #define Module_ApplicationDate2         "16-Oct-00"
 #define Module_ApplicationDate4         "16-Oct-2000"
 
-#define Module_FullVersion              "5.35 (4.79.2.9)"
-#define Module_HelpVersion              "5.35 (16 Oct 2000) (4.79.2.9)"
+#define Module_FullVersion              "5.35 (4.79.2.10)"
+#define Module_HelpVersion              "5.35 (16 Oct 2000) (4.79.2.10)"
diff --git a/s/vdu/vdudriver b/s/vdu/vdudriver
index 9cde865f..23cdbf24 100644
--- a/s/vdu/vdudriver
+++ b/s/vdu/vdudriver
@@ -827,10 +827,7 @@ TV_Mode_string
         ADD     R3, R3, R1
         STR     R3, [WsPtr, #PointerXEigFactor]
 
-        LDR     R3, [WsPtr, #HWVideoFeatures]
-        TST     R3, #1                          ; bit 0 set if h/w scroll supported
         LDR     R3, [R13, #wkModeFlags]
-        ORREQ   R3, R3, #Flag_HardScrollDisabled
         STR     R3, [WsPtr, #ModeFlags]
 
 ; finished doing other variables
@@ -1105,6 +1102,11 @@ PushModeInfoCommonNoService
         ORR     r14, r14, #Flag_InterlacedMode
         STR     r14, [r9, #wkModeFlags]
 58
+        LDR     r14, [WsPtr, #HWVideoFeatures]
+        TST     r14, #1                         ; bit 0 is h/w scroll support
+        LDREQ   r14, [r9, #wkModeFlags]
+        ORREQ   r14, r14, #Flag_HardScrollDisabled
+        STREQ   r14, [r9, #wkModeFlags]
 
 ; hopefully, R7 is still set from up there to be NZ if no VIDC stuff necessary
 
diff --git a/s/vdu/vdugrafl b/s/vdu/vdugrafl
index a25e54ea..c978d807 100644
--- a/s/vdu/vdugrafl
+++ b/s/vdu/vdugrafl
@@ -198,7 +198,6 @@ SwitchOutputToMask ROUT
         LDR     R6, [WsPtr, #ModeFlags]
         TEQ     R2, #0
         ORRNE   R6, R6, #Flag_HardScrollDisabled ; if sprite then disable hard
-        BICEQ   R6, R6, #Flag_HardScrollDisabled ; scroll, else enable it
         STR     R6, [WsPtr, #ModeFlags]
 
         ;if switching to a sprite, check for full palette 8bpp, and set modeflags and
-- 
GitLab