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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
|
PAGE 55,132 ;AN000;
NAME SELECT ;AN000;
TITLE SELECT - DOS - SELECT.EXE ;AN000;
SUBTTL SELECT4.asm ;AN000;
.ALPHA ;AN000;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; SELECT4.ASM : Copyright 1988 Microsoft
;
; DATE: August 8/87
;
; COMMENTS: Assemble with MASM 3.0 (using the /A option)
;
; Panel flow is defined in the following files:
;
; � SELECT1.ASM
; � SELECT2.ASM
; � SELECT3.ASM
; � SELECT4.ASM
; � SELECT5.ASM
; � SELECT6.ASM
;
;
;
; Module contains code for :
; - DOS parameters screen
; - SHELL parameters screen
; - FASTOPEN parameters screen
; - SHARE screen
; - GRAPHICS parameter screen
; - EXPANDED MEMORY parameters screen
;
;
; CHANGE HISTORY:
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DATA SEGMENT BYTE PUBLIC 'DATA' ;AN000;
DATA ENDS ;AN000;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
.XLIST ;AN000;
INCLUDE PANEL.MAC ;AN000;
INCLUDE SELECT.INC ;AN000;
INCLUDE PAN-LIST.INC ;AN000;
INCLUDE CASTRUC.INC ;AN000;
INCLUDE STRUC.INC ;AN000;
INCLUDE MACROS.INC ;AN000;
INCLUDE EXT.INC ;AN000;
INCLUDE VARSTRUC.INC ;AN000;
INCLUDE ROUT_EXT.INC ;AN000;
.LIST ;AN000;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
SELECT SEGMENT PARA PUBLIC 'SELECT' ;AN000;segment for far routine
ASSUME CS:SELECT,DS:DATA ;AN000;
;
INCLUDE CASEXTRN.INC ;AN000;
;
HLP_OVER EQU 00010000B ;AN000;
ICB_OUT EQU 0000000100000000B ;AN000;display default and accept input
;
PUBLIC DOS_PARAMETERS_SCREEN ;AN000;
EXTRN EXIT_SELECT:NEAR ;AN000;
EXTRN PROCESS_ESC_F3:NEAR ;AN000;
EXTRN FIRST_DISK_SCREEN:NEAR ;AN000;
EXTRN VDISK_SCREEN:NEAR ;AN000;
EXTRN EXIT_DOS:NEAR ;AN000;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; ������������������������������������Ŀ
; �DOS_PARAMETERS_SCREENS �
; � �
; ��������������������������������������
;
; The DOS PARAMETERS SCREEN is presented if the user selected to
; view/change the selections generated by SELECT ( F_REVIEW = 2 ).
; The screen gets various DOS parameters (PATH, APPEND, PROMPT).
; The TAB key is used to move to the next item on the parameter list.
; If the cursor is on the last item in the parameter list, TAB key
; will cause the cursor to wrap around to the first item of the parameter list.
; When the TAB key is depressed, the current parameter value is saved in
; a temporary location. The temporary parameter values are copied to actual
; values only when the ENTER key is depressed.
; Valid keys are ENTER, ESC, F1, F3, TAB and ASCII characters.
; Since the DOS parameters APPEND and PATH are only useful for hard
; disk based systems, an additional check of install to drive C: has been
; included. This check is not specified in the Functional Specification.
; PROMPT parameter values are not checked for validity.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DOS_PARAMETERS_SCREEN: ;AN000; if user accepts choices
.IF < F_REVIEW eq E_REVIEW_ACCEPT > ;AN000;
.THEN ;AN000;
GOTO FIRST_DISK_SCREEN ;AN000; goto FIRST_DISK_SCREEN
.ENDIF ;AN000;
;
.IF < I_DEST_DRIVE ne E_DEST_DRIVE_C > ;AC000; if install to drive B: or A: JW
.THEN ;AN000;
GOTO SHELL_SCREEN ;AN000; goto next screen
.ENDIF ;AN000;
;
COPY_STRING S_STR120_1, M_STR120_1, S_PATH ;AN000; copy PATH to temp location
COPY_STRING S_STR40, M_STR40, S_APPEND_P ;AN000; copy APPEND parameters to temp location JW
COPY_STRING S_STR120_2, M_STR120_2,S_APPEND ;AN000; copy APPEND to temp location
COPY_STRING S_STR120_3, M_STR120_3,S_PROMPT ;AN000; copy PROMPT to temp location
;
INIT_PQUEUE PAN_DOS_PARAM ;AN000; initialize queue
PREPARE_PANEL PAN_HBAR ;AN000; prepare horizontal bar
PREPARE_CHILDREN ;AN000; prepare child panels
INIT_STRING STR_DOS_PATH,S_STR120_1, M_PATH ;AN000; display current PATH value
INIT_STRING STR_DOS_APPEND_P,S_STR40,M_APPEND_P ;AN000; display current APPEND parameters value JW
INIT_STRING STR_DOS_APPEND,S_STR120_2,M_APPEND ;AN000; display current APPEND value
INIT_STRING STR_DOS_PROMPT,S_STR120_3,M_PROMPT ;AN000; display current PROMPT value
DISPLAY_PANEL ;AN000; display PC/DOS parameters panel
;
INIT_VAR N_COUNTER, 1 ;AN000; set counter = 1
;
GET_PARAMETERS: ;AN000;
;
.REPEAT ;AN000; repeat code block
;
.SELECT ;AN000;
;
.WHEN < N_COUNTER eq 1 > ;AN000;
GET_STRING STR_DOS_PATH,S_STR120_1,M_PATH,FK_TAB ;AN000; get user parameters for PATH
COPY_STRING S_STR120_1,M_STR120_1,S_USER_STRING ;AN000; save parameter in temp location
;
.WHEN < N_COUNTER eq 2 > ;AN000; JW
GET_STRING STR_DOS_APPEND_P,S_STR40,M_APPEND_P,FK_TAB ;AN000; get user parameters for APPEND JW
COPY_STRING S_STR40,M_STR40,S_USER_STRING ;AN000; save parameter in temp location JW
;
.WHEN < N_COUNTER eq 3 > ;AN000;
GET_STRING STR_DOS_APPEND,S_STR120_2,M_APPEND,FK_TAB ;AN000; get user path for APPEND
COPY_STRING S_STR120_2,M_STR120_2,S_USER_STRING ;AN000; save parameter in temp location
;
.OTHERWISE ;AN000;
GET_STRING STR_DOS_PROMPT,S_STR120_3,M_PROMPT,FK_TAB ;AN000; get user parameters for PROMPT
COPY_STRING S_STR120_3,M_STR120_3,S_USER_STRING ;AN000; save parameter in temp location
;
.ENDSELECT ;AN000;
;
INC_VAR N_COUNTER ;AN000; inc counter
;
.IF < N_COUNTER a 4 > ;AN000; if counter > 3
.THEN ;AN000;
INIT_VAR N_COUNTER, 1 ;AN000; set counter = 1
.ENDIF ;AN000;
;
.UNTIL < N_USER_FUNC eq E_ENTER > or near ;AN000; break loop if ENTER entered
.UNTIL < N_USER_FUNC eq E_ESCAPE > or near ;AN000; or ESCAPE entered
.UNTIL < N_USER_FUNC eq E_F3 > near ;AN000; or F3 entered
;
PROCESS_ESC ;AN000;
PROCESS_F3 ;AN000;
;
CHECK_DOS_PATH S_STR120_1 ;AN000; check PATH path
.IF c ;AN000;
.THEN ;AN000;
HANDLE_ERROR ERR_BAD_PATH, E_RETURN ;AN000;
INIT_VAR N_COUNTER, 1 ;AN000;
GOTO GET_PARAMETERS ;AN000;
.ENDIF ;AN000;
;
CHECK_DOS_PATH S_STR120_2 ;AN000; check APPEND path
.IF c ;AN000;
.THEN ;AN000;
HANDLE_ERROR ERR_BAD_PATH, E_RETURN ;AN000;
INIT_VAR N_COUNTER,2 ;AN000;
GOTO GET_PARAMETERS ;AN000;
.ENDIF ;AN000;
;
COPY_STRING S_PATH, M_PATH, S_STR120_1 ;AN000; save PATH parameter
COPY_STRING S_APPEND_P, M_APPEND_P, S_STR40 ;AN000; save APPEND parameter JW
COPY_STRING S_APPEND, M_APPEND, S_STR120_2 ;AN000; save APPEND path
COPY_STRING S_PROMPT, M_PROMPT, S_STR120_3 ;AN000; save PROMPT parameter
PUSH_HEADING DOS_PARAMETERS_SCREEN ;AN000; save screen address on SELECT STACK
GOTO SHELL_SCREEN ;AN000; goto the next screen (SHELL)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; ������������������������������������Ŀ
; �SHELL_SCREEN �
; � �
; ��������������������������������������
;
; The SHELL PARAMETERS SCREEN is presented if the user selected to
; install SHELL support and the user wants to view/change parameters.
; Note.The view/change parameters condition is not specified in the May 5, 1987
; Functional Specification.
; The screen gets the parameters for SHELL.
; Valid keys are ENTER, ESC, F1, F3 and ASCII characters.
; Note.User entered parameter values are not checked for validity.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
SHELL_SCREEN: ;AN000;
.IF < F_SHELL eq E_SHELL_NO > ;AN000; if SHELL support is not required
.THEN ;AN000;
GOTO FASTOPEN_SCREEN ;AN000; goto the next screen (KSAM)
.ENDIF ;AN000;
;
INIT_PQUEUE PAN_SHELL ;AN000; initialize queue
PREPARE_PANEL PAN_HBAR ;AN000; prepare horizontal bar
PREPARE_CHILDREN ;AN000; prepare child panels
INIT_STRING STR_SHELL,S_SHELL,M_SHELL ;AN000; get SHELL parameters
DISPLAY_PANEL ;AN000; display SHELL panel
;
GET_STRING STR_SHELL,S_SHELL,M_SHELL,FK_TEXT ;AN000; get SHELL parameters
;
.IF < N_USER_FUNC eq E_ENTER > ;AN000; if user entered ENTER key
.THEN ;AN000;
COPY_STRING S_SHELL, M_SHELL, S_USER_STRING ;AN000; save new SHELL parameters
PUSH_HEADING SHELL_SCREEN ;AN000; save screen address on SELECT STACK
GOTO FASTOPEN_SCREEN ;AN000; goto the next screen (KSAM)
.ELSE ;AN000;
GOTO PROCESS_ESC_F3 ;AN000; user entered ESC or F3, take action
.ENDIF ;AN000;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; ������������������������������������Ŀ
; �FASTOPEN_SCREEN �
; � �
; ��������������������������������������
;
; The FASTOPEN PARAMETERS SCREEN is presented if the user selected to
; install FASTOPEN support and the user wants to view/change the parameters.
; Note.The view/change parameters condition is not specified in the May 5, 1987
; Functional Specification.
; The screen gets parameters for the FASTOPEN command.
; Valid keys are ENTER, ESC, F1, F3 and ASCII characters.
; Note.User entered parameter values are not checked for validity.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
FASTOPEN_SCREEN: ;AN000;
.IF < F_FASTOPEN eq E_FASTOPEN_NO > or ;AN000; if FASTOPEN support not required
.IF < I_DEST_DRIVE ne E_DEST_DRIVE_C > ;AC000;JW
.THEN ;AN000;
GOTO SHARE_SCREEN ;AN000; goto next screen (SHARE)
.ENDIF ;AN000;
;
INIT_PQUEUE PAN_FASTOPEN ;AN000; initialize queue
PREPARE_PANEL PAN_HBAR ;AN000; prepare horizontal bar
PREPARE_CHILDREN ;AN000; prepare child panels
INIT_STRING STR_FASTOPEN,S_FASTOPEN,M_FASTOPEN ;AN000; get new parameters for FASTOPEN
DISPLAY_PANEL ;AN000; display FASTOPEN panel
;
GET_STRING STR_FASTOPEN,S_FASTOPEN,M_FASTOPEN,FK_TEXT ;AN000; get new parameters for FASTOPEN
;
.IF < N_USER_FUNC eq E_ENTER > ;AN000; if user entered ENTER key
.THEN ;AN000;
COPY_STRING S_FASTOPEN,M_FASTOPEN,S_USER_STRING ;AN000;save new parameters for FASTOPEN
PUSH_HEADING FASTOPEN_SCREEN ;AN000; save screen address on SELECT STACK
GOTO SHARE_SCREEN ;AN000; goto the next screen (SHARE)
.ELSE ;AN000;
GOTO PROCESS_ESC_F3 ;AN000; user entered ESC or F3, take action
.ENDIF ;AN000;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; ������������������������������������Ŀ
; �SHARE_SCREEN �
; � �
; ��������������������������������������
;
; The SHARE PARAMETERS SCREEN is presented if the user selected to
; install SHARE support and the user wants to view/change parameters.
; Note.The view/change parameters condition is not specified in the May 5, 1987
; Functional Specification.
; The screen gets parameters for the SHARE command.
; Valid keys are ENTER, ESC, F1, F3 and ASCII characters.
; Note.User entered parameter values are not checked for validity.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
SHARE_SCREEN: ;AN000;
.IF < F_SHARE eq E_SHARE_NO > or ;AN000; if SHARE support not required
.IF < I_DEST_DRIVE ne E_DEST_DRIVE_C > ;AC000;JW
.THEN ;AN000;
;; INIT_VAR F_SHARE, E_SHARE_NO ;AN021;
GOTO GRAPHICS_SCREEN ;AN000; goto the next screen (GRAPHICS)
.ENDIF ;AN000;
;
INIT_PQUEUE PAN_SHARE ;AN000; initialize queue
PREPARE_PANEL PAN_HBAR ;AN000; prepare horizontal bar
PREPARE_CHILDREN ;AN000; prepare child panels
INIT_STRING STR_SHARE,S_SHARE,M_SHARE ;AN000; get new parameters for SHARE
DISPLAY_PANEL ;AN000; display SHARE panel
;
GET_STRING STR_SHARE,S_SHARE,M_SHARE,FK_TEXT ;AN000; get new parameters for SHARE
;
.IF < N_USER_FUNC eq E_ENTER > ;AN000; if user entered ENTER key
.THEN ;AN000;
COPY_STRING S_SHARE, M_SHARE, S_USER_STRING ;AN000; save new parameters for SHARE
PUSH_HEADING SHARE_SCREEN ;AN000; save screen address on SELECT STACK
GOTO GRAPHICS_SCREEN ;AN000; goto the next screen (GRAPHICS)
.ELSE ;AN000;
GOTO PROCESS_ESC_F3 ;AN000; user entered ESC or F3, take action
.ENDIF ;AN000;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; ������������������������������������Ŀ
; �GRAPHICS_SCREEN �
; � �
; ��������������������������������������
;
; The GRAPHICS PARAMETERS SCREEN is presented if the user selected to
; install GRAPHICS support and the user wants to view/change parameters.
; Note.The view/change parameters condition is not specified in the May 5, 1987
; Functional Specification.
; The screen gets parameters for the GRAPHICS command.
; Valid keys are ENTER, ESC, F1, F3 and ASCII characters.
; Note.User entered parameter values are not checked for validity.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
GRAPHICS_SCREEN: ;AN000;
.IF < F_GRAPHICS eq E_GRAPHICS_NO > ;AN000; if GRAPHICS support not required
.THEN ;AN000;
GOTO EXP_MEMORY_SCREEN ;AN000; goto the next screen (EXPANDED_MEM)
.ENDIF ;AN000;
;
GET_PRINTER_PARAMS 0, 1, N_RETCODE ;AN000;
.IF < N_RETCODE eq 1 > ;AN000;
.THEN ;AN000;
COPY_STRING S_GRAPHICS,M_GRAPHICS,S_GRAPH_PARM ;AN000;
.ENDIF ;AN000;
;
INIT_PQUEUE PAN_GRAPHICS ;AN000; initialize queue
PREPARE_PANEL PAN_HBAR ;AN000; prepare horizontal bar
PREPARE_CHILDREN ;AN000; prepare child panels
INIT_STRING STR_GRAPHICS,S_GRAPHICS,M_GRAPHICS ;AN000; get new parameters for GRAPHICS
DISPLAY_PANEL ;AN000; display GRAPHICS panel
;
GET_STRING STR_GRAPHICS,S_GRAPHICS,M_GRAPHICS,FK_TEXT ;AN000; get new parameters for GRAPHICS
;
.IF < N_USER_FUNC eq E_ENTER > ;AN000; if user entered ENTER key
.THEN ;AN000;
COPY_STRING S_GRAPHICS, M_GRAPHICS, S_USER_STRING ;AN000;save new parameters for GRAPHICS
PUSH_HEADING GRAPHICS_SCREEN ;AN000; save screen address on SELECT STACK
GOTO EXP_MEMORY_SCREEN ;AN000; goto next screen (EXPANDED_MEMORY)
.ELSE ;AN000;
GOTO PROCESS_ESC_F3 ;AN000; user entered ESC or F3, take action
.ENDIF ;AN000;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; ������������������������������������Ŀ
; �EXP_MEMORY_SCREEN �
; � �
; ��������������������������������������
;
; The EXPANDED MEMORY PARAMETERS SCREEN is presented if the user selected to
; install expanded memory support and the user wants to view/change parameters.
; Note.The view/change parameters condition is not specified in the May 5, 1987
; Functional Specification.
; The screen gets parameters for the XMAEM and XMA2EMS commands.
; The expanded memory commands are only supported if memory above 1000000H
; is available.
; The TAB key is used to move to the next item on the parameter list.
; If the cursor is on the last item in the parameter list, TAB key
; will cause the cursor to wrap around to the first item of the parameter list.
; When the TAB key is depressed, the current parameter value is saved in
; a temporary location. The temporary parameter values are copied to actual
; values only when the ENTER key is depressed.
; Valid keys are ENTER, ESC, F1, F3 and ASCII characters.
; Note.User entered parameter values are not checked for validity.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
EXP_MEMORY_SCREEN: ;AN000;
.IF < F_XMA eq E_XMA_NO > or ;AN000; if XMA support not required
.IF < F_XMA eq E_XMA_NA > or ;AN000; or if XMA not available
.IF < I_DEST_DRIVE ne E_DEST_DRIVE_C > ;AC000; or if install to drive B: or A: JW
.THEN ;AN000;
GOTO VDISK_SCREEN ;AN000; goto the next screen (VDISK)
.ENDIF ;AN000;
;
COPY_STRING S_STR120_1, M_STR120_1, S_XMAEM ;AN000; copy XMAEM to temp location
COPY_STRING S_STR120_2,M_STR120_2,S_XMA2EMS ;AN000; copy XMA2EMS to temp location
;
.IF < N_MOD80 eq E_IS_MOD80 > ;AN000; JW
.THEN ;AN000; JW
INIT_PQUEUE PAN_EXP_MEMORY ;AN000; initialize queue
.ELSE ;AN000; JW
INIT_PQUEUE PAN_EXP_MEMORY2 ;AN000; initialize queue JW
.ENDIF ;AN000; JW
;
PREPARE_PANEL PAN_HBAR ;AN000; prepare horizontal bar
PREPARE_CHILDREN ;AN000; prepare child panels
;
.IF < N_MOD80 eq E_IS_MOD80 > ;AN000; JW
.THEN ;AN000; JW
INIT_STRING STR_XMAEM,S_STR120_1,M_XMAEM ;AN000; display parameter for XMAEM
.ENDIF ;AN000; JW
;
INIT_STRING STR_XMA2EMS,S_STR120_2,M_XMA2EMS ;AN000; display XMA2EMS parameters
DISPLAY_PANEL ;AN000; display EXPANDED_MEMORY panel
;
;
.IF < N_MOD80 eq E_IS_MOD80 > near ;AN000; JW
.THEN ;AN000; JW
INIT_VAR N_COUNTER,1 ;AN000; set counter = 1
;
.REPEAT ;AN000; repeat block of code
;
.SELECT ;AN000;
;
.WHEN < N_COUNTER eq 1 > near ;AN000;
GET_STRING STR_XMAEM,S_STR120_1,M_XMAEM,FK_TAB;AN000; get new parameter for XMAEM
COPY_STRING S_STR120_1,M_STR120_1,S_USER_STRING;AN000; save parameter in temp location
;
.OTHERWISE ;AN000;
GET_STRING STR_XMA2EMS,S_STR120_2,M_XMA2EMS,FK_TAB ;AN000;get new parameter for XMA2EMS
COPY_STRING S_STR120_2,M_STR120_2,S_USER_STRING ;AN000; save parameter in temp location
;
.ENDSELECT ;AN000;
;
INC_VAR N_COUNTER ;AN000;
;
.IF < N_COUNTER a 2 > ;AN000;
.THEN ;AN000;
INIT_VAR N_COUNTER,1 ;AN000;
.ENDIF ;AN000;
;
.UNTIL < N_USER_FUNC eq E_ENTER > or near ;AN000; break loop if ENTER entered
.UNTIL < N_USER_FUNC eq E_ESCAPE > or near ;AN000; or ESCAPE entered
.UNTIL < N_USER_FUNC eq E_F3 > near ;AN000; or F3 entered
.ELSE ;AN000; JW
GET_STRING STR_XMA2EMS,S_STR120_2,M_XMA2EMS,FK_TEXT ;AN000;get new parameter for XMA2EMS JW
COPY_STRING S_STR120_2,M_STR120_2,S_USER_STRING ;AN000; save parameter in temp location JW
.ENDIF ;AN000; JW
;
.IF < N_USER_FUNC eq E_ENTER > ;AN000; if user entered ENTER key
.THEN ;AN000;
COPY_STRING S_XMAEM, M_XMAEM, S_STR120_1 ;AN000; save new XMAEM parameter
COPY_STRING S_XMA2EMS, M_XMA2EMS,S_STR120_2 ;AN000; save new XMA2EMS parameter
PUSH_HEADING EXP_MEMORY_SCREEN ;AN000; save screen address on SELECT STACK
GOTO VDISK_SCREEN ;AN000; goto next screen (VDISK)
.ELSE ;AN000;
GOTO PROCESS_ESC_F3 ;AN000; user entered ESC or F3, take action
.ENDIF ;AN000;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
SELECT ENDS ;AN000;
END ;AN000;
|