Commit e91fc098 authored by Jeffrey Lee's avatar Jeffrey Lee
Browse files

Be more careful when updating Vinit from the VSync IRQ handler

Detail:
  s/vdu/vducursoft - TeletextFlashTest now stores the updated TeletextCount before calling SetVinit. This provides some protection against getting stuck in an infinite loop (+ stack overflow) if SetVinit takes longer than 1 VSync to complete (or some other catastrophe occurs)
Admin:
  Tested on Raspberry Pi


Version 5.35, 4.79.2.179. Tagged as 'Kernel-5_35-4_79_2_179'
parent bcb499b5
......@@ -13,11 +13,11 @@
GBLS Module_ComponentPath
Module_MajorVersion SETS "5.35"
Module_Version SETA 535
Module_MinorVersion SETS "4.79.2.178"
Module_MinorVersion SETS "4.79.2.179"
Module_Date SETS "05 Dec 2012"
Module_ApplicationDate SETS "05-Dec-12"
Module_ComponentName SETS "Kernel"
Module_ComponentPath SETS "castle/RiscOS/Sources/Kernel"
Module_FullVersion SETS "5.35 (4.79.2.178)"
Module_HelpVersion SETS "5.35 (05 Dec 2012) 4.79.2.178"
Module_FullVersion SETS "5.35 (4.79.2.179)"
Module_HelpVersion SETS "5.35 (05 Dec 2012) 4.79.2.179"
END
......@@ -5,12 +5,12 @@
*
*/
#define Module_MajorVersion_CMHG 5.35
#define Module_MinorVersion_CMHG 4.79.2.178
#define Module_MinorVersion_CMHG 4.79.2.179
#define Module_Date_CMHG 05 Dec 2012
#define Module_MajorVersion "5.35"
#define Module_Version 535
#define Module_MinorVersion "4.79.2.178"
#define Module_MinorVersion "4.79.2.179"
#define Module_Date "05 Dec 2012"
#define Module_ApplicationDate "05-Dec-12"
......@@ -18,6 +18,6 @@
#define Module_ComponentName "Kernel"
#define Module_ComponentPath "castle/RiscOS/Sources/Kernel"
#define Module_FullVersion "5.35 (4.79.2.178)"
#define Module_HelpVersion "5.35 (05 Dec 2012) 4.79.2.178"
#define Module_FullVersion "5.35 (4.79.2.179)"
#define Module_HelpVersion "5.35 (05 Dec 2012) 4.79.2.179"
#define Module_LibraryVersionInfo "5:35"
......@@ -403,7 +403,8 @@ TeletextFlashTest ROUT
MOVEQ R3, #OnFlashTime
MOVNE R3, #OffFlashTime
LDR R0, [WsPtr, #DisplayStart]
BL SetVinit ; preserves R3
STR R3, [WsPtr, #TeletextCount]
B SetVinit ; tail-call to VsyncReturn on exit
20
STR R3, [WsPtr, #TeletextCount]
B VsyncReturn
......
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