source: xtideuniversalbios/trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Menupages/MasterSlaveMenu.asm@ 372

Last change on this file since 372 was 369, checked in by gregli@…, 13 years ago

Removed align directives for initalization code and added define for align in boot-time calls to the assembly library (defaulting to 1), resulting in a significant savings for the AT and 386 builds. Fixed a bug with switch command line handling in the serial server. Put in CR characters in licesnse.txt, so that it properly displays on Windows. In the configurator, added default values for user supplied CHS and LBA values, defaulting to values within range when those features are enabled. Updated the copyright message in the configurator as the literal word Copyright is important.

File size: 16.4 KB
Line 
1; Project name : XTIDE Universal BIOS Configurator v2
2; Description : "Master/Slave Drive" menu structs and functions.
3
4; Section containing initialized data
5SECTION .data
6
7ALIGN WORD_ALIGN
8g_MenupageForMasterSlaveMenu:
9istruc MENUPAGE
10 at MENUPAGE.fnEnter, dw MasterSlaveMenu_EnterMenuOrModifyItemVisibility
11 at MENUPAGE.fnBack, dw IdeControllerMenu_EnterMenuOrModifyItemVisibility
12 at MENUPAGE.wMenuitems, dw 9
13iend
14
15g_MenuitemMasterSlaveBackToIdeControllerMenu:
16istruc MENUITEM
17 at MENUITEM.fnActivate, dw IdeControllerMenu_EnterMenuOrModifyItemVisibility
18 at MENUITEM.szName, dw g_szItemDrvBackToIde
19 at MENUITEM.szQuickInfo, dw g_szItemDrvBackToIde
20 at MENUITEM.szHelp, dw g_szItemDrvBackToIde
21 at MENUITEM.bFlags, db FLG_MENUITEM_VISIBLE
22 at MENUITEM.bType, db TYPE_MENUITEM_PAGEBACK
23iend
24
25g_MenuitemMasterSlaveBlockModeTransfers:
26istruc MENUITEM
27 at MENUITEM.fnActivate, dw Menuitem_ActivateMultichoiceSelectionForMenuitemInDSSI
28 at MENUITEM.fnFormatValue, dw MenuitemPrint_WriteLookupValueStringToBufferInESDIfromShiftedItemInDSSI
29 at MENUITEM.szName, dw g_szItemDrvBlockMode
30 at MENUITEM.szQuickInfo, dw g_szNfoDrvBlockMode
31 at MENUITEM.szHelp, dw g_szHelpDrvBlockMode
32 at MENUITEM.bFlags, db FLG_MENUITEM_VISIBLE | FLG_MENUITEM_FLAGVALUE
33 at MENUITEM.bType, db TYPE_MENUITEM_MULTICHOICE
34 at MENUITEM.itemValue + ITEM_VALUE.wRomvarsValueOffset, dw NULL
35 at MENUITEM.itemValue + ITEM_VALUE.szDialogTitle, dw g_szDlgDrvBlockMode
36 at MENUITEM.itemValue + ITEM_VALUE.szMultichoice, dw g_szMultichoiceBooleanFlag
37 at MENUITEM.itemValue + ITEM_VALUE.rgszValueToStringLookup, dw g_rgszValueToStringLookupForFlagBooleans
38 at MENUITEM.itemValue + ITEM_VALUE.wValueBitmask, dw FLG_DRVPARAMS_BLOCKMODE
39iend
40
41g_MenuitemMasterSlaveWriteCache:
42istruc MENUITEM
43 at MENUITEM.fnActivate, dw Menuitem_ActivateMultichoiceSelectionForMenuitemInDSSI
44 at MENUITEM.fnFormatValue, dw MenuitemPrint_WriteLookupValueStringToBufferInESDIfromUnshiftedItemInDSSI
45 at MENUITEM.szName, dw g_szItemDrvWriteCache
46 at MENUITEM.szQuickInfo, dw g_szNfoDrvWriteCache
47 at MENUITEM.szHelp, dw g_szHelpDrvWriteCache
48 at MENUITEM.bFlags, db FLG_MENUITEM_VISIBLE | FLG_MENUITEM_MASKVALUE
49 at MENUITEM.bType, db TYPE_MENUITEM_MULTICHOICE
50 at MENUITEM.itemValue + ITEM_VALUE.wRomvarsValueOffset, dw NULL
51 at MENUITEM.itemValue + ITEM_VALUE.szDialogTitle, dw g_szDlgDrvWriteCache
52 at MENUITEM.itemValue + ITEM_VALUE.szMultichoice, dw g_szMultichoiseWrCache
53 at MENUITEM.itemValue + ITEM_VALUE.rgwChoiceToValueLookup, dw g_rgwChoiceToValueLookupForWriteCache
54 at MENUITEM.itemValue + ITEM_VALUE.rgszChoiceToStringLookup, dw g_rgszChoiceToStringLookupForWriteCache
55 at MENUITEM.itemValue + ITEM_VALUE.wValueBitmask, dw MASK_DRVPARAMS_WRITECACHE
56iend
57
58g_MenuitemMasterSlaveUserCHS:
59istruc MENUITEM
60 at MENUITEM.fnActivate, dw Menuitem_ActivateMultichoiceSelectionForMenuitemInDSSI
61 at MENUITEM.fnFormatValue, dw MenuitemPrint_WriteLookupValueStringToBufferInESDIfromShiftedItemInDSSI
62 at MENUITEM.szName, dw g_szItemDrvUserCHS
63 at MENUITEM.szQuickInfo, dw g_szNfoDrvUserCHS
64 at MENUITEM.szHelp, dw g_szHelpDrvUserCHS
65 at MENUITEM.bFlags, db FLG_MENUITEM_VISIBLE | FLG_MENUITEM_MODIFY_MENU | FLG_MENUITEM_FLAGVALUE
66 at MENUITEM.bType, db TYPE_MENUITEM_MULTICHOICE
67 at MENUITEM.itemValue + ITEM_VALUE.wRomvarsValueOffset, dw NULL
68 at MENUITEM.itemValue + ITEM_VALUE.szDialogTitle, dw g_szDlgDrvUserCHS
69 at MENUITEM.itemValue + ITEM_VALUE.szMultichoice, dw g_szMultichoiceBooleanFlag
70 at MENUITEM.itemValue + ITEM_VALUE.rgszValueToStringLookup, dw g_rgszValueToStringLookupForFlagBooleans
71 at MENUITEM.itemValue + ITEM_VALUE.wValueBitmask, dw FLG_DRVPARAMS_USERCHS
72 at MENUITEM.itemValue + ITEM_VALUE.fnValueWriter, dw MasterSlaveMenu_WriteCHSFlag
73iend
74
75g_MenuitemMasterSlaveCylinders:
76istruc MENUITEM
77 at MENUITEM.fnActivate, dw Menuitem_ActivateUnsignedInputForMenuitemInDSSI
78 at MENUITEM.fnFormatValue, dw MenuitemPrint_WriteUnsignedValueStringToBufferInESDIfromItemInDSSI
79 at MENUITEM.szName, dw g_szItemDrvCyls
80 at MENUITEM.szQuickInfo, dw g_szNfoDrvCyls
81 at MENUITEM.szHelp, dw g_szNfoDrvCyls
82 at MENUITEM.bFlags, db NULL
83 at MENUITEM.bType, db TYPE_MENUITEM_UNSIGNED
84 at MENUITEM.itemValue + ITEM_VALUE.wRomvarsValueOffset, dw NULL
85 at MENUITEM.itemValue + ITEM_VALUE.szDialogTitle, dw g_szDlgDrvCyls
86 at MENUITEM.itemValue + ITEM_VALUE.wMinValue, dw 1
87 at MENUITEM.itemValue + ITEM_VALUE.wMaxValue, dw 16383
88%define MASTERSLAVE_CYLINDERS_DEFAULT 65
89iend
90
91g_MenuitemMasterSlaveHeads:
92istruc MENUITEM
93 at MENUITEM.fnActivate, dw Menuitem_ActivateUnsignedInputForMenuitemInDSSI
94 at MENUITEM.fnFormatValue, dw MenuitemPrint_WriteUnsignedValueStringToBufferInESDIfromItemInDSSI
95 at MENUITEM.szName, dw g_szItemDrvHeads
96 at MENUITEM.szQuickInfo, dw g_szNfoDrvHeads
97 at MENUITEM.szHelp, dw g_szNfoDrvHeads
98 at MENUITEM.bFlags, db FLG_MENUITEM_BYTEVALUE
99 at MENUITEM.bType, db TYPE_MENUITEM_UNSIGNED
100 at MENUITEM.itemValue + ITEM_VALUE.wRomvarsValueOffset, dw NULL
101 at MENUITEM.itemValue + ITEM_VALUE.szDialogTitle, dw g_szDlgDrvHeads
102 at MENUITEM.itemValue + ITEM_VALUE.wMinValue, dw 1
103 at MENUITEM.itemValue + ITEM_VALUE.wMaxValue, dw 16
104%define MASTERSLAVE_HEADS_DEFAULT 16
105iend
106
107g_MenuitemMasterSlaveSectors:
108istruc MENUITEM
109 at MENUITEM.fnActivate, dw Menuitem_ActivateUnsignedInputForMenuitemInDSSI
110 at MENUITEM.fnFormatValue, dw MenuitemPrint_WriteUnsignedValueStringToBufferInESDIfromItemInDSSI
111 at MENUITEM.szName, dw g_szItemDrvSect
112 at MENUITEM.szQuickInfo, dw g_szNfoDrvSect
113 at MENUITEM.szHelp, dw g_szNfoDrvSect
114 at MENUITEM.bFlags, db FLG_MENUITEM_BYTEVALUE
115 at MENUITEM.bType, db TYPE_MENUITEM_UNSIGNED
116 at MENUITEM.itemValue + ITEM_VALUE.wRomvarsValueOffset, dw NULL
117 at MENUITEM.itemValue + ITEM_VALUE.szDialogTitle, dw g_szDlgDrvSect
118 at MENUITEM.itemValue + ITEM_VALUE.wMinValue, dw 1
119 at MENUITEM.itemValue + ITEM_VALUE.wMaxValue, dw 63
120%define MASTERSLAVE_SECTORS_DEFAULT 63
121iend
122
123g_MenuitemMasterSlaveUserLBA:
124istruc MENUITEM
125 at MENUITEM.fnActivate, dw Menuitem_ActivateMultichoiceSelectionForMenuitemInDSSI
126 at MENUITEM.fnFormatValue, dw MenuitemPrint_WriteLookupValueStringToBufferInESDIfromShiftedItemInDSSI
127 at MENUITEM.szName, dw g_szItemDrvUserLBA
128 at MENUITEM.szQuickInfo, dw g_szNfoDrvUserLBA
129 at MENUITEM.szHelp, dw g_szHelpDrvUserLBA
130 at MENUITEM.bFlags, db FLG_MENUITEM_VISIBLE | FLG_MENUITEM_MODIFY_MENU | FLG_MENUITEM_FLAGVALUE
131 at MENUITEM.bType, db TYPE_MENUITEM_MULTICHOICE
132 at MENUITEM.itemValue + ITEM_VALUE.wRomvarsValueOffset, dw NULL
133 at MENUITEM.itemValue + ITEM_VALUE.szDialogTitle, dw g_szDlgDrvUserLBA
134 at MENUITEM.itemValue + ITEM_VALUE.szMultichoice, dw g_szMultichoiceBooleanFlag
135 at MENUITEM.itemValue + ITEM_VALUE.rgszValueToStringLookup, dw g_rgszValueToStringLookupForFlagBooleans
136 at MENUITEM.itemValue + ITEM_VALUE.wValueBitmask, dw FLG_DRVPARAMS_USERLBA
137 at MENUITEM.itemValue + ITEM_VALUE.fnValueWriter, dw MasterSlaveMenu_WriteLBAFlag
138iend
139
140g_MenuitemMasterSlaveUserLbaValue:
141istruc MENUITEM
142 at MENUITEM.fnActivate, dw Menuitem_ActivateUnsignedInputForMenuitemInDSSI
143 at MENUITEM.fnFormatValue, dw MenuitemPrint_WriteUnsignedValueStringToBufferInESDIfromItemInDSSI
144 at MENUITEM.szName, dw g_szItemDrvLbaSectors
145 at MENUITEM.szQuickInfo, dw g_szNfoDrvLbaSectors
146 at MENUITEM.szHelp, dw g_szNfoDrvLbaSectors
147 at MENUITEM.bFlags, db NULL
148 at MENUITEM.bType, db TYPE_MENUITEM_UNSIGNED
149 at MENUITEM.itemValue + ITEM_VALUE.wRomvarsValueOffset, dw NULL
150 at MENUITEM.itemValue + ITEM_VALUE.szDialogTitle, dw g_szDlgDrvLbaSectors
151 at MENUITEM.itemValue + ITEM_VALUE.wMinValue, dw 1 ; 512 MiB
152 at MENUITEM.itemValue + ITEM_VALUE.wMaxValue, dw 10000000h / (1024 * 1024) ; Limit to 28-bit LBA
153 at MENUITEM.itemValue + ITEM_VALUE.fnValueReader, dw ValueReaderForUserLbaValue
154 at MENUITEM.itemValue + ITEM_VALUE.fnValueWriter, dw ValueWriterForUserLbaValue
155%define MASTERSLAVE_USERLBA_DEFAULT 1
156iend
157
158
159g_rgwChoiceToValueLookupForWriteCache:
160 dw DEFAULT_WRITE_CACHE
161 dw DISABLE_WRITE_CACHE
162 dw ENABLE_WRITE_CACHE
163
164g_rgszChoiceToStringLookupForWriteCache:
165 dw g_szValueBootDispModeDefault
166 dw g_szValueDrvWrCaDis
167 dw g_szValueDrvWrCaEn
168
169
170; Section containing code
171SECTION .text
172
173;--------------------------------------------------------------------
174; MasterSlaveMenu_InitializeToDrvparamsOffsetInBX
175; Parameters:
176; SS:BP: Menu handle
177; Returns:
178; Nothing
179; Corrupts registers:
180; AX
181;--------------------------------------------------------------------
182ALIGN JUMP_ALIGN
183MasterSlaveMenu_InitializeToDrvparamsOffsetInBX:
184 lea ax, [bx+DRVPARAMS.wFlags]
185 mov [cs:g_MenuitemMasterSlaveBlockModeTransfers+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset], ax
186 mov [cs:g_MenuitemMasterSlaveWriteCache+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset], ax
187 mov [cs:g_MenuitemMasterSlaveUserCHS+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset], ax
188 mov [cs:g_MenuitemMasterSlaveUserLBA+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset], ax
189
190 lea ax, [bx+DRVPARAMS.wCylinders]
191 mov [cs:g_MenuitemMasterSlaveCylinders+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset], ax
192
193 lea ax, [bx+DRVPARAMS.bHeads]
194 mov [cs:g_MenuitemMasterSlaveHeads+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset], ax
195
196 lea ax, [bx+DRVPARAMS.bSect]
197 mov [cs:g_MenuitemMasterSlaveSectors+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset], ax
198
199 lea ax, [bx+DRVPARAMS.dwMaximumLBA]
200 mov [cs:g_MenuitemMasterSlaveUserLbaValue+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset], ax
201 ret
202
203
204;--------------------------------------------------------------------
205; MasterSlaveMenu_EnterMenuOrModifyItemVisibility
206; Parameters:
207; SS:BP: Menu handle
208; Returns:
209; Nothing
210; Corrupts registers:
211; All, except BP
212;--------------------------------------------------------------------
213ALIGN JUMP_ALIGN
214MasterSlaveMenu_EnterMenuOrModifyItemVisibility:
215 push cs
216 pop ds
217 call .EnableOrDisableUserCHSandLBA
218 call .EnableOrDisableCHandS
219 call .EnableOrDisableUserLbaValue
220 mov si, g_MenupageForMasterSlaveMenu
221 jmp Menupage_ChangeToNewMenupageInDSSI
222
223
224;--------------------------------------------------------------------
225; .EnableOrDisableUserCHSandLBA
226; Parameters:
227; SS:BP: Menu handle
228; Returns:
229; Nothing
230; Corrupts registers:
231; AX, BX
232;--------------------------------------------------------------------
233ALIGN JUMP_ALIGN
234.EnableOrDisableUserCHSandLBA:
235 mov bx, [g_MenuitemMasterSlaveUserLBA+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset]
236 call Buffers_GetRomvarsValueToAXfromOffsetInBX
237 test ax, FLG_DRVPARAMS_USERLBA
238 jnz SHORT .DisableCHSandEnableLBA
239 test ax, FLG_DRVPARAMS_USERCHS
240 jnz SHORT .EnableCHSandDisableLBA
241
242 ; Enable both
243 mov bx, g_MenuitemMasterSlaveUserCHS
244 call .EnableMenuitemFromCSBX
245 mov bx, g_MenuitemMasterSlaveUserLBA
246 jmp .EnableMenuitemFromCSBX
247
248ALIGN JUMP_ALIGN
249.EnableCHSandDisableLBA:
250 mov bx, g_MenuitemMasterSlaveUserCHS
251 call .EnableMenuitemFromCSBX
252 mov bx, g_MenuitemMasterSlaveUserLBA
253 jmp .DisableMenuitemFromCSBX
254
255ALIGN JUMP_ALIGN
256.DisableCHSandEnableLBA:
257 mov bx, g_MenuitemMasterSlaveUserLBA
258 call .EnableMenuitemFromCSBX
259 mov bx, g_MenuitemMasterSlaveUserCHS
260 jmp .DisableMenuitemFromCSBX
261
262
263;--------------------------------------------------------------------
264; .EnableOrDisableCHandS
265; Parameters:
266; SS:BP: Menu handle
267; Returns:
268; Nothing
269; Corrupts registers:
270; AX, BX
271;--------------------------------------------------------------------
272ALIGN JUMP_ALIGN
273.EnableOrDisableCHandS:
274 mov bx, [cs:g_MenuitemMasterSlaveUserCHS+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset]
275 call Buffers_GetRomvarsValueToAXfromOffsetInBX
276 test ax, FLG_DRVPARAMS_USERCHS
277 jz SHORT .DisableCHandS
278 test ax, FLG_DRVPARAMS_USERLBA
279 jnz SHORT .DisableCHandS
280
281 mov bx, g_MenuitemMasterSlaveCylinders
282 call .EnableMenuitemFromCSBX
283 mov bx, g_MenuitemMasterSlaveHeads
284 call .EnableMenuitemFromCSBX
285 mov bx, g_MenuitemMasterSlaveSectors
286 jmp SHORT .EnableMenuitemFromCSBX
287
288ALIGN JUMP_ALIGN
289.DisableCHandS:
290 mov bx, g_MenuitemMasterSlaveCylinders
291 call .DisableMenuitemFromCSBX
292 mov bx, g_MenuitemMasterSlaveHeads
293 call .DisableMenuitemFromCSBX
294 mov bx, g_MenuitemMasterSlaveSectors
295 jmp SHORT .DisableMenuitemFromCSBX
296
297
298;--------------------------------------------------------------------
299; .EnableOrDisableUserLbaValue
300; Parameters:
301; SS:BP: Menu handle
302; Returns:
303; Nothing
304; Corrupts registers:
305; AX, BX
306;--------------------------------------------------------------------
307ALIGN JUMP_ALIGN
308.EnableOrDisableUserLbaValue:
309 mov bx, [cs:g_MenuitemMasterSlaveUserLBA+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset]
310 call Buffers_GetRomvarsValueToAXfromOffsetInBX
311 mov bx, g_MenuitemMasterSlaveUserLbaValue
312 test ax, FLG_DRVPARAMS_USERCHS
313 jnz SHORT .DisableMenuitemFromCSBX
314 test ax, FLG_DRVPARAMS_USERLBA
315 jz SHORT .DisableMenuitemFromCSBX
316 ; Fall to .EnableMenuitemFromCSBX
317
318
319;--------------------------------------------------------------------
320; .EnableMenuitemFromCSBX
321; .DisableMenuitemFromCSBX
322; Parameters:
323; CS:BX: Ptr to MENUITEM
324; Returns:
325; Nothing
326; Corrupts registers:
327; Nothing
328;--------------------------------------------------------------------
329ALIGN JUMP_ALIGN
330.EnableMenuitemFromCSBX:
331 or BYTE [cs:bx+MENUITEM.bFlags], FLG_MENUITEM_VISIBLE
332 ret
333
334ALIGN JUMP_ALIGN
335.DisableMenuitemFromCSBX:
336 and BYTE [cs:bx+MENUITEM.bFlags], ~FLG_MENUITEM_VISIBLE
337 ret
338
339
340;--------------------------------------------------------------------
341; MENUITEM value reader functions
342; Parameters:
343; AX: Value from MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset
344; DS:SI: Ptr to MENUITEM
345; ES:DI: Ptr to value variable
346; Returns:
347; AX: Value with possible modifications
348; Corrupts registers:
349; Nothing
350;--------------------------------------------------------------------
351ALIGN JUMP_ALIGN
352ValueReaderForUserLbaValue:
353 push dx
354
355 mov ax, [es:di]
356 mov dx, [es:di+2] ; DX:AX now holds user defined LBA28 limit
357 add ax, BYTE 1 ; Increment by one
358 adc dx, BYTE 0
359
360 xchg ax, dx ; SHR 16
361 eSHIFT_IM ax, 4, shr ; SHR 4 => AX = DX:AX / (1024*1024)
362
363 pop dx
364 ret
365
366
367;--------------------------------------------------------------------
368; MENUITEM value writer functions
369; Parameters:
370; AX: Value to be written to MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset
371; DS:SI: Ptr to MENUITEM
372; ES:DI: Ptr to value variable
373; Returns:
374; AX: Value to be stored
375; Corrupts registers:
376; Nothing
377;--------------------------------------------------------------------
378ALIGN JUMP_ALIGN
379ValueWriterForUserLbaValue:
380 push dx
381
382 xor dx, dx
383 eSHIFT_IM ax, 4, shl
384 xchg dx, ax ; DX:AX now holds AX * 1024 * 1024
385
386 sub ax, BYTE 1 ; Decrement DX:AX by one
387 sbb dx, BYTE 0 ; (necessary since maximum LBA28 sector count is 0FFF FFFFh)
388
389 mov [es:di+2], dx ; Store DX by ourselves
390 pop dx
391 ret ; AX will be stored by our menu system
392
393;
394; No change to CHS flag, but we use this opportunity to change defaults stored in the CHS values if we are
395; changing in/out of user CHS settings (since we use these bytes in different ways with the LBA setting).
396;
397ALIGN JUMP_ALIGN
398MasterSlaveMenu_WriteCHSFlag:
399 test word [es:di], FLG_DRVPARAMS_USERCHS
400 jnz .alreadySet
401
402 push ax
403 push di
404 push si
405
406 mov ax, MASTERSLAVE_CYLINDERS_DEFAULT
407 mov si, g_MenuitemMasterSlaveCylinders
408 call Menuitem_StoreValueFromAXtoMenuitemInDSSI
409
410 mov ax, MASTERSLAVE_HEADS_DEFAULT
411 mov si, g_MenuitemMasterSlaveHeads
412 call Menuitem_StoreValueFromAXtoMenuitemInDSSI
413
414 mov ax, MASTERSLAVE_SECTORS_DEFAULT
415 mov si, g_MenuitemMasterSlaveSectors
416 call Menuitem_StoreValueFromAXtoMenuitemInDSSI
417
418 pop si
419 pop di
420 pop ax
421
422.alreadySet:
423 ret
424
425;
426; No change to LBA flag, but we use this opportunity to change defaults stored in the LBA value if we are
427; changing in/out of user LBA settings (since we use these bytes in different ways with the CHS setting).
428;
429ALIGN JUMP_ALIGN
430MasterSlaveMenu_WriteLBAFlag:
431 test word [es:di], FLG_DRVPARAMS_USERLBA
432 jnz .alreadySet
433
434 push ax
435 push di
436 push si
437
438 mov ax, MASTERSLAVE_USERLBA_DEFAULT
439 mov si, g_MenuitemMasterSlaveUserLbaValue
440 call Menuitem_StoreValueFromAXtoMenuitemInDSSI
441
442 pop si
443 pop di
444 pop ax
445
446.alreadySet:
447 ret
Note: See TracBrowser for help on using the repository browser.