Commit 03b66d46 authored by Jeffrey Lee's avatar Jeffrey Lee
Browse files

Fix software pointer when ExtraBytes is in use

Detail:
  s/vdu/vdupointer - The software pointer code was calculating LineLength manually, due to previous kernel versions not storing a copy of the value that would be safe to use during screen redirection.
  Fix the code to use the new DisplayLineLength variable, so that the software pointer will be correct in modes which have row padding.
Admin:
  Tested on Raspberry Pi 3


Version 5.84. Tagged as 'Kernel-5_84'
parent af1f546b
......@@ -11,13 +11,13 @@
GBLS Module_HelpVersion
GBLS Module_ComponentName
GBLS Module_ComponentPath
Module_MajorVersion SETS "5.83"
Module_Version SETA 583
Module_MajorVersion SETS "5.84"
Module_Version SETA 584
Module_MinorVersion SETS ""
Module_Date SETS "13 Jun 2017"
Module_ApplicationDate SETS "13-Jun-17"
Module_Date SETS "15 Jun 2017"
Module_ApplicationDate SETS "15-Jun-17"
Module_ComponentName SETS "Kernel"
Module_ComponentPath SETS "castle/RiscOS/Sources/Kernel"
Module_FullVersion SETS "5.83"
Module_HelpVersion SETS "5.83 (13 Jun 2017)"
Module_FullVersion SETS "5.84"
Module_HelpVersion SETS "5.84 (15 Jun 2017)"
END
/* (5.83)
/* (5.84)
*
* This file is automatically maintained by srccommit, do not edit manually.
* Last processed by srccommit version: 1.1.
*
*/
#define Module_MajorVersion_CMHG 5.83
#define Module_MajorVersion_CMHG 5.84
#define Module_MinorVersion_CMHG
#define Module_Date_CMHG 13 Jun 2017
#define Module_Date_CMHG 15 Jun 2017
#define Module_MajorVersion "5.83"
#define Module_Version 583
#define Module_MajorVersion "5.84"
#define Module_Version 584
#define Module_MinorVersion ""
#define Module_Date "13 Jun 2017"
#define Module_Date "15 Jun 2017"
#define Module_ApplicationDate "13-Jun-17"
#define Module_ApplicationDate "15-Jun-17"
#define Module_ComponentName "Kernel"
#define Module_ComponentPath "castle/RiscOS/Sources/Kernel"
#define Module_FullVersion "5.83"
#define Module_HelpVersion "5.83 (13 Jun 2017)"
#define Module_LibraryVersionInfo "5:83"
#define Module_FullVersion "5.84"
#define Module_HelpVersion "5.84 (15 Jun 2017)"
#define Module_LibraryVersionInfo "5:84"
......@@ -844,8 +844,7 @@ PlotSoftwarePointer ROUT
CMPGT r5, #0
BLE %FT99
MOV r7, r6, LSL r9
MOV r7, r7, LSR #3 ; LineLen
LDR r7, [WsPtr, #DisplayLineLength]
MLA r0, r7, r2, r0 ; First screen row to touch
MOV r1, r1, LSL r9 ; Screen X start, in bits
......@@ -881,7 +880,7 @@ PlotSoftwarePointer ROUT
; r3 -> initial pointer row
; r4 = pointer pixel width
; r5 = height
; r7 = LineLen
; r7 = LineLength
; r8 = pointer X start, in bits
; r9 = Log2BPP
; For 32bpp modes we have a faster plotter available
......@@ -1027,11 +1026,7 @@ RemoveSoftwarePointer
; Get parameters needed for unplot
LDRB r4, [WsPtr, #SWP_W]
LDRB r5, [WsPtr, #SWP_H]
LDR r6, [WsPtr, #DisplayXWindLimit]
LDRB r9, [WsPtr, #DisplayLog2BPP]
ADD r6, r6, #1
MOV r6, r6, LSL r9
MOV r6, r6, LSR #3
LDR r6, [WsPtr, #DisplayLineLength]
SUB r7, r6, r4, LSL #2 ; Dest stride
MOV r6, #0 ; Src stride
STR r6, [WsPtr, #SWP_Pos]
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment