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

Make compatible with zero page relocation

Detail:
  s/Wimp, s/Wimp01, s/Wimp02, s/Wimp07, s/Wimp08 - Try using OS_ReadSysInfo 6 to get IRQsema & DomainId locations before falling back on legacy values. Store the pointers in module workspace for speedy access.
Admin:
  Tested on rev A2 BB-xM


Version 5.13. Tagged as 'Wimp-5_13'
parent 3d89bb64
......@@ -11,13 +11,13 @@
GBLS Module_HelpVersion
GBLS Module_ComponentName
GBLS Module_ComponentPath
Module_MajorVersion SETS "5.12"
Module_Version SETA 512
Module_MajorVersion SETS "5.13"
Module_Version SETA 513
Module_MinorVersion SETS ""
Module_Date SETS "14 Apr 2011"
Module_ApplicationDate SETS "14-Apr-11"
Module_Date SETS "04 Aug 2011"
Module_ApplicationDate SETS "04-Aug-11"
Module_ComponentName SETS "Wimp"
Module_ComponentPath SETS "castle/RiscOS/Sources/Desktop/Wimp"
Module_FullVersion SETS "5.12"
Module_HelpVersion SETS "5.12 (14 Apr 2011)"
Module_FullVersion SETS "5.13"
Module_HelpVersion SETS "5.13 (04 Aug 2011)"
END
/* (5.12)
/* (5.13)
*
* This file is automatically maintained by srccommit, do not edit manually.
* Last processed by srccommit version: 1.1.
*
*/
#define Module_MajorVersion_CMHG 5.12
#define Module_MajorVersion_CMHG 5.13
#define Module_MinorVersion_CMHG
#define Module_Date_CMHG 14 Apr 2011
#define Module_Date_CMHG 04 Aug 2011
#define Module_MajorVersion "5.12"
#define Module_Version 512
#define Module_MajorVersion "5.13"
#define Module_Version 513
#define Module_MinorVersion ""
#define Module_Date "14 Apr 2011"
#define Module_Date "04 Aug 2011"
#define Module_ApplicationDate "14-Apr-11"
#define Module_ApplicationDate "04-Aug-11"
#define Module_ComponentName "Wimp"
#define Module_ComponentPath "castle/RiscOS/Sources/Desktop/Wimp"
#define Module_FullVersion "5.12"
#define Module_HelpVersion "5.12 (14 Apr 2011)"
#define Module_LibraryVersionInfo "5:12"
#define Module_FullVersion "5.13"
#define Module_HelpVersion "5.13 (04 Aug 2011)"
#define Module_LibraryVersionInfo "5:13"
......@@ -59,6 +59,7 @@ Module_BaseAddr
GET hdr:OsWords
GET hdr:Countries
GET hdr:VFPSupport
GET hdr:OSRSI6
GET VersionASM
......
......@@ -1502,6 +1502,9 @@ BPR_1sttry * 3 ; After a rect area full try redrawing w
BPR_continuelevel * 4 ; HS this means continuing BPR
; Other values indicate BPR_panicnow and are the next window to redraw braindeadwise
ptr_IRQsema # 4 ; Pointer to kernel's IRQsema
ptr_DomainId # 4 ; Pointer to kernel's DomainId
rlinks # 4*maxrects
# -4*firstfreerect ; this data not used
rectarea # 16*maxrects
......@@ -3322,6 +3325,22 @@ Init
gotwork
MOV wsptr,R2
MOV R0,#6
MOV R1,#0
MOV R2,#OSRSI6_IRQsema
SWI XOS_ReadSysInfo
MOVVS R2,#0
CMP R2,#0
LDRVS R2,=Legacy_IRQsema
STR R0,ptr_IRQsema
MOV R0,#6
MOV R2,#OSRSI6_DomainId
SWI XOS_ReadSysInfo
MOVVS R2,#0
CMP R2,#0
LDRVS R2,=Legacy_DomainId
STR R2,ptr_DomainId
MOV R1, #0
STR R1, messages ; no messsages open, in case of error lookups
;
......
......@@ -2982,8 +2982,8 @@ inittasks
STR R14,taskhandle ; points to task pointer array
STR R14,nulltaskhandle
;
MOV R0,#0
STR R14,[R0,#&FF8] ; for Stuart
LDR R0,ptr_DomainId
STR R14,[R0] ; for Stuart
;
; initialise message queue and iconbar window
;
......
......@@ -1046,8 +1046,8 @@ returnerror
LDR handle,taskhandle
;
MOV R14,#0
STR handle,[R14,#&FF8] ; for Stuart
LDR R14,ptr_DomainId
STR handle,[R14] ; for Stuart
Debug task,"Exit Poll: (old),task,reason =",#polltaskhandle,handle,R0
......
......@@ -2101,7 +2101,7 @@ My_ChangeDynamic ROUT
CMP R14,#nullptr2
BHS goto_osentry
;
MOV R14,#IRQsema ; if in IRQ, forget it!
LDR R14,ptr_IRQsema ; if in IRQ, forget it!
LDR R14,[R14]
TEQ R14,#0
BNE goto_osentry
......@@ -2435,7 +2435,7 @@ servicememorymoved ROUT
]
Push "R0-R7,R10-R11,LR"
;
MOV R14,#IRQsema ; if in IRQ, forget it!
LDR R14,ptr_IRQsema ; if in IRQ, forget it!
LDR R14,[R14]
TEQ R14,#0
Pull "R0-R7,R10-R11,PC",NE
......
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