1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
; Copyright 1996 Acorn Computers Ltd
;
; Licensed under the Apache License, Version 2.0 (the "License");
; you may not use this file except in compliance with the License.
; You may obtain a copy of the License at
;
; http://www.apache.org/licenses/LICENSE-2.0
;
; Unless required by applicable law or agreed to in writing, software
; distributed under the License is distributed on an "AS IS" BASIS,
; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
; See the License for the specific language governing permissions and
; limitations under the License.
;
SUBT Module handler reason codes etc. => &.Hdr.ModHand
OldOpt SETA {OPT}
OPT OptNoList+OptNoP1List
; ***********************************
; *** C h a n g e L i s t ***
; ***********************************
; Date Name Description
; ---- ---- -----------
; 27-Nov-86 BC Added Module_Ticker
; 15-Jan-87 SKS Added SWI base addresses
; 21-Jan-87 APT New Module_LoadAddr added.
; 26-Jan-87 BC Removed Module_Ticker
; 5-Feb-87 APT Added flag manifests
; 9-Feb-87 APT Added more reason codes
; 17-Feb-87 BC Added Module name server entries
; 25-Feb-87 APT Help-is-code flag added
; 2-Apr-87 APT ExtendBlock reason code added
; 23-Apr-87 APT Help-is-code flag moved into high byte
; 17-Jun-87 APT NewIncarnation, AddPoduleModule reason codes
; 24-Jun-87 APT RenameIncarnation r.c.
; 15-Jul-87 APT MakePreferred
; 29-Jul-87 APT LookupName
; 17-Aug-87 APT EnumerateROM_Modules
; 23-Jan-91 TMD EnumerateROM_ModulesWithInfo
; 07-May-99 KJB FindEndOfROM_ModuleChain
ModHandReason_Run * 0
ModHandReason_Load * 1
ModHandReason_Enter * 2
ModHandReason_ReInit * 3
ModHandReason_Delete * 4
ModHandReason_RMADesc * 5
ModHandReason_Claim * 6
ModHandReason_Free * 7
ModHandReason_Tidy * 8
ModHandReason_Clear * 9
ModHandReason_AddArea * 10
ModHandReason_CopyArea * 11
ModHandReason_GetNames * 12
ModHandReason_ExtendBlock * 13
ModHandReason_NewIncarnation * 14
ModHandReason_RenameIncarnation * 15
ModHandReason_MakePreferred * 16
ModHandReason_AddPoduleModule * 17
ModHandReason_LookupName * 18
ModHandReason_EnumerateROM_Modules * 19
ModHandReason_EnumerateROM_ModulesWithInfo * 20
ModHandReason_FindEndOfROM_ModuleChain * 21
; Real module offsets
^ 0
Module_Start # 4
Module_Init # 4
Module_Die # 4
Module_Service # 4
Module_Title # 4
Module_HelpStr # 4
Module_HC_Table # 4 ; help and command table.
; optional SWI handler offsets
Module_SWIChunk # 4
Module_SWIEntry # 4
Module_NameTable # 4
Module_NameCode # 4
; optional Message filename offset
Module_MsgFile # 4
; optional flags table offset
Module_FlagTable # 4
; flags for the first word of the flags table
ModuleFlag_32bit * 1 :SHL: 0
; Magic number for RM load addr
Module_LoadAddr * &FFFFFA00 ; magic number from Stu/Bruce standard :
; the two zeroes are ignored.
; &FFFFFE00 on Proto-Arfur < .032
Module_SWIChunkSize * 2_1000000
; flags for the information word :
FS_Command_Flag * 1 :SHL: 31
Status_Keyword_Flag * 1 :SHL: 30
Help_Is_Code_Flag * 1 :SHL: 29
International_Help * 1 :SHL: 28
OPT OldOpt
END