summaryrefslogtreecommitdiff
path: root/v4.0/src/SELECT/GET_HELP.ASM
diff options
context:
space:
mode:
Diffstat (limited to 'v4.0/src/SELECT/GET_HELP.ASM')
-rw-r--r--v4.0/src/SELECT/GET_HELP.ASM233
1 files changed, 233 insertions, 0 deletions
diff --git a/v4.0/src/SELECT/GET_HELP.ASM b/v4.0/src/SELECT/GET_HELP.ASM
new file mode 100644
index 0000000..4aacaa5
--- /dev/null
+++ b/v4.0/src/SELECT/GET_HELP.ASM
@@ -0,0 +1,233 @@
1PAGE 55,132 ;AN000;
2NAME SELECT ;AN000;
3TITLE SELECT - GET_HELP_ID ;AN000;
4SUBTTL Get_Help.asm ;AN000;
5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
6;
7; GET_HELP_ID
8;
9; Entry:
10;
11;
12;
13; Exit:
14;
15;
16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
17SELECT SEGMENT PARA PUBLIC 'SELECT' ;AN000;segment for far routine
18 ASSUME CS:SELECT ;AN000;
19 ;
20 ;
21INP_HELP_ID DW 12,10,10 ;AN000; help_id 1, row', col' STR_DOS_LOC
22 DW 19,12,15 ;AN000; help_id 2, row', col' STR_EXT_PARMS
23 DW 31,11,20 ;AN000; help_id 3, row', col' STR_DOS_PATH
24 DW 32,11,20 ;AN000; help_id 4, row', col' STR_DOS_APPEND
25 DW 33,11,20 ;AN000; help_id 5, row', col' STR_DOS_PROMPT
26 DW 34,12,20 ;AN000; help_id 6, row', col' STR_SHELL
27 DW 35,12,20 ;AN000; help_id 7, row', col' STR_KSAM
28 DW 35,12,20 ;AN000; help_id 8, row', col' STR_FASTOPEN
29 DW 36,12,20 ;AN000; help_id 9, row', col' STR_SHARE
30 DW 37,12,20 ;AN000; help_id 10, row', col' STR_GRAPHICS
31 DW 38,12,20 ;AN000; help_id 11, row', col' STR_XMAEM
32 DW 39,12,20 ;AN000; help_id 12, row', col' STR_XMA2EMS
33 DW 40,13,20 ;AN000; help_id 13, row', col' STR_VDISK
34 DW 41,12,20 ;AN000; help_id 14, row', col' STR_BREAK
35 DW 42,12,20 ;AN000; help_id 15, row', col' STR_BUFFERS
36 DW 43,11,20 ;AC000; help_id 16, row', col' STR_DOS_APPEND_P JW
37 DW 44, 2,20 ;AN000; help_id 17, row', col' STR_FCBS
38 DW 45, 2,20 ;AN000; help_id 18, row', col' STR_FILES
39 DW 46, 2,20 ;AN000; help_id 19, row', col' STR_LASTDRIVE
40 DW 47, 2,20 ;AN000; help_id 20, row', col' STR_STACKS
41 DW 48, 2,20 ;AN000; help_id 21, row', col' STR_VERIFY
42 DW 13,10,10 ;AN000; help_id 22, row', col' NUM_PRINTER
43 DW 18,10,20 ;AN000; help_id 23, row', col' NUM_EXT_DISK
44 DW 53,12,20 ;AN000; help_id 24, row', col' NUM_YEAR
45 DW 53,12,20 ;AN000; help_id 25, row', col' NUM_MONTH
46 DW 53,12,20 ;AN000; help_id 26, row', col' NUM_DAY
47 DW 53,12,20 ;AN000; help_id 27, row', col' NUM_HOUR
48 DW 53,12,20 ;AN000; help_id 28, row', col' NUM_MINUTE
49 DW 53,11,20 ;AN000; help_id 29, row', col' NUM_SECOND
50INP_HELP_ID_LEN EQU ($-INP_HELP_ID)/6 ;AN000;
51INP_HELP_ID_ELE EQU 3 ;AN000;
52 ;
53SCR_HELP_ID DW 3 ;AN000; scr_id1
54 DW 3,12,20 ;AN000; help_id1,row1',col1'
55 DW 4, 1,20 ;AN000;
56 DW 5, 3,20 ;AN000;
57 DW 2 ;AN000; scr_id2
58 DW 6, 1,20 ;AN000;
59 DW 7, 3,20 ;AN000;
60 DW 1 ;AN000;
61 DW 8, 3,20 ;AN000; SCR_CTY_1
62 DW 1 ;AN000;
63 DW 8, 3,20 ;AN000; SCR_CTY_2
64 DW 1 ;AN000;
65 DW 9,10,20 ;AN000; SCR_KYB_1
66 DW 1 ;AN000;
67 DW 9,10,20 ;AN000; SCR_KYB_2
68 DW 1 ;AN000;
69 DW 10,10,23 ;AN000; SCR_FR_KYB
70 DW 1 ;AN000;
71 DW 10,10,23 ;AN000; SCR_IT_KYB
72 DW 1 ;AN000;
73 DW 10,10,23 ;AN000; SCR_UK_KYB
74 DW 1 ;AN000;
75 DW 11,10,20 ;AN111; SCR_DEST_B_C JW
76 DW 1 ;AN000;
77 DW 14, 1,25 ;AN000; SCR_PRT_TYPE
78 DW 1 ;AN000;
79 DW 15, 9,20 ;AN000; SCR_PARALLEL
80 DW 1 ;AN000;
81 DW 16,10,20 ;AN000; SCR_SERIAL
82 DW 1 ;AN000;
83 DW 17, 8,20 ;AN000; SCR_PRT_REDIR
84 DW 2 ;AN000;
85 DW 20, 6,20 ;AN000; SCR_REVIEW
86 DW 21, 6,20 ;AN000; SCR_REVIEW
87 DW 9 ;AN000;
88 DW 22,10,11 ;AN000;
89 DW 23,11,11 ;AN000;
90 DW 24,12,11 ;AN000;
91 DW 25, 1,11 ;AN000;
92 DW 26, 2,11 ;AN000;
93 DW 27, 3,11 ;AN000;
94 DW 28, 4,11 ;AN000;
95 DW 29, 5,11 ;AN000;
96 DW 30, 6,11 ;AN000;
97 DW 6 ;AN000;
98 DW 22,10,11 ;AN000;
99 DW 24,11,11 ;AN000;
100 DW 26,12,11 ;AN000;
101 DW 27, 1,11 ;AN000;
102 DW 29, 2,11 ;AN000;
103 DW 30, 3,11 ;AN000; SCR_FUNC_DISKET
104 DW 2 ;AN000;
105 DW 49, 1,11 ;AN000;
106 DW 50, 1,11 ;AN000; SCR_FIXED_FIRST
107 DW 2 ;AN000;
108 DW 51, 1,11 ;AN000;
109 DW 52, 1,11 ;AN000; SCR_FIXED_BOTH
110 DW 2 ;AN000;
111 DW 54, 1,11 ;AN000;
112 DW 55, 1,11 ;AN000; SCR_FORMAT
113 DW 0 ;AN000; SCR_CONTEXT_HLP
114 DW 0 ;AN000; SCR_INDEX_HLP
115 DW 0 ;AN000; SCR_TITLE_HLP
116 DW 0 ;AN000;
117 DW 0 ;AN000;
118 DW 2 ;AN000; SCR_COPY_DEST JW
119 DW 18,10,10 ;AC035; SEH new help text
120 DW 19,10,10 ;AC035; SEH new help text
121 DW 1 ;AN000;
122 DW 11,10,20 ;AN111; SCR_DEST_A_C JW
123 DW 2 ;AN000;
124 DW 56, 6,20 ;AN000; SCR_choose_screen
125 DW 57, 6,20 ;AN000; SCR_choose_screen
126SCR_HELP_ID_LEN EQU 28 ;AN000;
127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
128;
129;
130; GET_HELP_ID
131;
132; Entry:
133; AX = 1 for input field help_id's
134; BX = field_id
135; AX = 2 for scroll help_id's
136; BX = scroll_id
137; CX = index
138;
139; Exit:
140; AX = help_id
141; DH = row'
142; DL = col'
143;
144;
145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
146THREE DW 3 ;AN000;
147 ;
148 PUBLIC GET_HELP_ID ;AN000;
149GET_HELP_ID PROC ;AN000;
150 CMP AX,1 ;AN000;
151 JNE GH_8 ;AN000;
152 ;
153 CMP AX,INP_HELP_ID_LEN ;AN000;
154 JA GH_8 ;AN000;
155 ;
156 PUSH BX ;AN000;
157 PUSH CX ;AN000;
158 MOV AX,BX ;AN000;
159 DEC AX ;AN000;
160 MOV BX,INP_HELP_ID_ELE*2 ;AN000;
161 MUL BX ;AN000;
162 MOV BX,AX ;AN000;
163 MOV AX,CS:[BX].INP_HELP_ID ;AN000;
164 MOV CX,CS:[BX+2].INP_HELP_ID;AN000;
165 MOV DX,CS:[BX+4].INP_HELP_ID;AN000;
166 XCHG CH,CL ;AN000;
167 MOV DH,CH ;AN000;
168 POP CX ;AN000;
169 POP BX ;AN000;
170;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
171;
172; AX = 2 for scroll help_id's
173; BX = scroll_id
174; CX = index
175;
176;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
177GH_8: CMP AX,2 ;AN000;
178 JNE GH_20 ;AN000;
179 ;
180 CMP BX,SCR_HELP_ID_LEN ;AN000;
181 JA GH_20 ;AN000;
182 ;
183 OR CX,CX ;AN000;
184 JE GH_20 ;AN000;
185 ;
186 PUSH CX ;AN000; search for matching scroll_id
187 PUSH SI ;AN000;
188 MOV DX,1 ;AN000;
189 XOR SI,SI ;AN000;
190 ;
191GH_9: CMP DX,BX ;AN000;
192 JE GH_10 ;AN000;
193 MOV AX,CS:[SI]+SCR_HELP_ID ;AN000; get number of help screens
194 PUSH DX ;AN000;
195 MUL THREE ;AN000;
196 POP DX ;AN000;
197 ADD AX,1 ;AN000; +additional entries (row',col',count)
198 SHL AX,1 ;AN000; account for WORD entries
199 ADD SI,AX ;AN000;
200 INC DX ;AN000;
201 CMP DX,SCR_HELP_ID_LEN ;AN000;
202 JBE GH_9 ;AC000; JW Changed to JBE
203 JMP GH_15 ;AN000;
204 ;
205GH_10: CMP CX,CS:[SI]+SCR_HELP_ID ;AN000; check for index out of range?
206 JBE GH_11 ;AN000; then
207 MOV CX,1 ;AN000; set to first help_id....
208 ;
209GH_11: MOV AX,CX ;AN000; scroll_id found!!!!
210 DEC AX ;AN000;
211 MUL THREE ;AN000;
212 INC AX ;AN000;
213 SHL AX,1 ;AN000;
214 ADD SI,AX ;AN000;
215 MOV AX,CS:[SI]+SCR_HELP_ID ;AN000;
216 MOV CX,CS:[SI+2].SCR_HELP_ID;AN000;
217 MOV DX,CS:[SI+4].SCR_HELP_ID;AN000;
218 XCHG CH,CL ;AN000;
219 MOV DH,CH ;AN000;
220GH_15: POP SI ;AN000;
221 POP CX ;AN000;
222GH_20: ;AN000;
223 RET ;AN000;
224GET_HELP_ID ENDP ;AN000;
225;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
226;
227;
228;
229;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
230SELECT ENDS ;AN000;
231 END GET_HELP_ID ;AN000;
232;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
233