Changeset 30 for trunk/BOOTCODE/SETUP
- Timestamp:
- May 6, 2011, 4:25:19 AM (15 years ago)
- Location:
- trunk/BOOTCODE/SETUP
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/BOOTCODE/SETUP/MAIN.ASM
r29 r30 20 20 ;--------------------------------------------------------------------------- 21 21 22 IFDEF ModuleNames 23 DB 'MAIN',0 24 ENDIF 25 22 26 LocMENU_RoutinePtr equ 0 23 27 LocMENU_VariablePtr equ 2 … … 66 70 67 71 SETUP_CheckEnterSETUP Proc Near Uses 72 73 74 75 ; Rousseau: added 76 ;mov SETUP_ExitEvent, 0 77 ;xor al, al ; -PARTITION SETUP PreDefines- 78 ;mov PartSetup_UpperPart, al ; Upper-Partition == 0 79 ;mov PartSetup_ActivePart, al ; Active-Partition == 0 80 81 ; Setup PartitionPointers-Table...again (needed when re-entering setup) 82 ;call PART_CalculateStraightPartPointers 83 ;call VideoIO_DBG_WriteString 84 ; Rousseau: end added 85 86 87 68 88 test CFG_AutoEnterSetup, 1 69 89 jnz SCES_ForceEnter … … 152 172 je SMT_KeyEsc 153 173 cmp ah, Keys_F1 154 je SMT_KeyHelp 174 jne skip_xx 175 jmp SMT_KeyHelp 176 skip_xx: 155 177 cmp ah, Keys_F10 156 je SMT_SaveAndExitNOW 178 jne skip_yy 179 jmp SMT_SaveAndExitNOW 180 skip_yy: 157 181 ; ASCII values... 158 182 cmp al, Keys_Space … … 264 288 SETUP_MenuTask EndP 265 289 290 291 292 CLR_MENU_WINDOW_CLASSIC = 0e01h 293 CLR_MENU_WINDOW_BM = 0e01h 266 294 ; In: BP - Pointer to Menu 267 295 ; Out: DH - Active Item on Screen 268 296 SETUP_DrawMenuOnScreen Proc Near Uses 269 297 call SETUP_DrawMenuWindow 270 mov cx, 0E01h298 mov cx, CLR_MENU_WINDOW_BM 271 299 call VideoIO_Color 272 300 xor ch, ch … … 294 322 SETUP_FillUpItemPacks EndP 295 323 324 325 326 CLR_SELECTED_ITEM_CLASSIC = 0f04h 327 CLR_SELECTED_ITEM_BM = 0f04h 296 328 ; Displays selected Item on screen 297 329 ; In: DH - Active Item 298 330 ; Destroyed: None 299 331 SETUP_DrawSelectItem Proc Near Uses cx 300 mov cx, 0F04h332 mov cx, CLR_SELECTED_ITEM_BM 301 333 call VideoIO_Color 302 334 mov ch, dh … … 305 337 SETUP_DrawSelectItem EndP 306 338 339 340 CLR_DESELECTED_ITEM_CLASSIC = 0e01h 341 CLR_DESELECTED_ITEM_BM = 0e01h 307 342 ; Display last-selected Item on screen (De-Select) 308 343 ; In: DL - Active Item 309 344 ; Destroyed: None 310 345 SETUP_DrawDeSelectItem Proc Near Uses cx 311 mov cx, 0E01h346 mov cx, CLR_DESELECTED_ITEM_BM 312 347 call VideoIO_Color 313 348 mov ch, dl … … 356 391 mov wptr TextColorFore, dx 357 392 ret 358 393 359 394 ; ------------------------------------------------------ Draw ITEMPACK 360 395 SDIOS_ItemPackDraw: … … 368 403 SDIOS_ItemPack_NoFixUpItemPack: 369 404 call VideoIO_Locate 370 mov cx, 0F01h 405 406 CLR_ITEM_PACK_CLASSIC = 0f01h 407 CLR_ITEM_PACK_BM = 0f01h 408 409 mov cx, CLR_ITEM_PACK_BM 371 410 call VideoIO_Color ; White on blue background 372 411 mov si, ds:[si+LocMENU_ItemNamePtr] ; SI - Name of Item … … 418 457 ret 419 458 SETUP_FillUpItemPack_Now EndP 459 460 420 461 421 462 SETUP_DrawMenuWindow Proc Near Uses es … … 474 515 mov cl, CopyrightVersionLen 475 516 call VideoIO_FixedPrint ; and 'vX.XX'. 476 add si, 3 517 518 ; Rousseau: 519 ; Strange, had to adjust this value. 520 ; Somewhere some offset changed... 521 ; Possibly happened with the movzx change to 286 instructions because some 522 ; offsets are hard coded. 523 ;add si, 3 524 add si, 2 525 477 526 call GetLenOfString ; CX - Len of "Copyright" string 478 527 mov dx, cx … … 871 920 mov si, di ; DS:SI - Current Password 872 921 xor dl, dl 873 ; DL - location of cursor (first=0) 922 ; DL - location of cursor (first=0) 874 923 SLEP_Loop: 875 924 mov cx, EnterPwd_Location … … 910 959 cmp dl, 8 911 960 je SLEP_SkipThiz 912 movzx bx, dl 961 962 ;movzx bx, dl 963 mov bl,dl 964 mov bh,0 965 913 966 mov ds:[si+bx], al 914 967 mov al, 42 ; fixed star :] … … 920 973 je SLEP_SkipThiz 921 974 dec dl 922 movzx bx, dl 975 976 ;movzx bx, dl 977 mov bl,dl 978 mov bh,0 979 923 980 mov al, 32 924 981 mov ds:[si+bx], al … … 1098 1155 jz SMICTN_NoFiller 1099 1156 dec al 1100 movzx cx, al 1157 1158 ;movzx cx, al 1159 mov cl,al 1160 mov ch,0 1161 1101 1162 xor al, al 1102 1163 rep stosb ; and fill up with NULs, if required … … 1523 1584 SMCBBS_Enabled: 1524 1585 dec dl 1525 movzx bx, dl 1586 1587 ;movzx bx, dl 1588 mov bl,dl 1589 mov bh,0 1590 1526 1591 shl bx, 1 1527 1592 mov si, wptr [ContinueBIOSbootTable+bx] -
trunk/BOOTCODE/SETUP/MENUS.ASM
r29 r30 55 55 ; 56 56 57 IFDEF ModuleNames 58 DB 'MENUS',0 59 ENDIF 60 57 61 LocMENU_LenOfMenuPtrBlock equ 8 58 62 LocMENU_LenOfItemPack equ 12 … … 63 67 LocMENU_ItemPack equ 8 ; only if VariablePtr>0 64 68 65 SETUP_MainMenu: 69 SETUP_MainMenu: 66 70 db 0 ; Where Current Item will get saved 67 71 dw offset TXT_SETUPHELP_MAIN ; Pointer to help information … … 209 213 dw offset TXT_SETUP_IgnoreLVM, offset TXT_SETUPHELP_IgnoreLVM 210 214 dw 6 dup (0) 211 dw offset SETUPMAGIC_EnableDisable, offset CFG_ForceLBAUsage 215 dw offset SETUPMAGIC_EnableDisable, offset CFG_ForceLBAUsage ; Rousseau: LBA 212 216 dw offset TXT_SETUP_ForceLBAUsage, offset TXT_SETUPHELP_ForceLBAUsage 213 217 dw 6 dup (0) -
trunk/BOOTCODE/SETUP/PART_SET.ASM
r29 r30 19 19 ; AiR-BOOT SETUP / PARTITION SETUP 20 20 ;--------------------------------------------------------------------------- 21 22 IFDEF ModuleNames 23 DB 'PART_SET',0 24 ENDIF 21 25 22 26 ; This here is called from Menu in AIR-BSET.asm … … 58 62 je PSM_KeyVIBRdetection 59 63 cmp al, TXT_SETUP_FlagLetterHide 60 je PSM_KeyHiddenSetup 64 65 jne skip_x 66 jmp PSM_KeyHiddenSetup 67 skip_x: 61 68 cmp al, TXT_SETUP_FlagLetterDrvLetter 62 je PSM_KeyDriveLetterForceSetup 69 70 jne skip_y 71 jmp PSM_KeyDriveLetterForceSetup 72 skip_y: 73 63 74 cmp al, TXT_SETUP_FlagLetterExtMShack 64 je PSM_KeyDriveLetterExtMShack 75 jne skip_z 76 jmp PSM_KeyDriveLetterExtMShack 77 skip_z: 65 78 jmp PSM_MainLoop 66 79 … … 331 344 inc al 332 345 call VideoIO_PrintByteNumber 333 346 334 347 ; Display "No Hd" field aka "01/01" 335 348 call VideoIO_Locate … … 426 439 call PARTSETUP_ReColorPart 427 440 428 ; Running Fixing 441 ; Running Fixing 429 442 cmp dh, 0FFh 430 443 jne PSBCB_NoUnderflow … … 558 571 ; This is done for security purposes, because if they match, we will update 559 572 ; the name in both - IPT and BR/LVM. 560 movzx bx, dl 573 574 ;movzx bx, dl 575 mov bl,dl 576 mov bh,0 577 561 578 cmp [PartitionVolumeLetters+bx], 0 ; ==0 means not supported by LVM 562 579 je PSCPN_NotLVMSupported … … 638 655 639 656 ; Check, where to save 2nd destination to... 640 movzx bx, dl 657 658 ;movzx bx, dl 659 mov bl,dl 660 mov bh,0 661 641 662 cmp [PartitionVolumeLetters+bx], 0 ; ==0 means not supported by LVM 642 663 je PSCPN_SaveBootRecord … … 775 796 PARTHIDESETUP_DrawMenuBase Proc Near Uses dx 776 797 ; PartSetup_HiddenX1 777 mov cx, 0D05h ; Lila on lila 798 799 CLR_PART_HIDE_WINDOW_BASE_CLASSIC = 0d05h 800 CLR_PART_HIDE_WINDOW_BASE_BM = 0a02h 801 802 mov cx, CLR_PART_HIDE_WINDOW_BASE_BM ; Lila on lila 778 803 call VideoIO_Color 779 804 mov bh, 05h … … 792 817 mov al, 'µ' 793 818 call VideoIO_PrintSingleChar 794 mov cx, 0E05h ; Yellow on Lila 819 820 CLR_PART_HIDE_WINDOW_LABEL_CLASSIC = 0e05h 821 CLR_PART_HIDE_WINDOW_LABEL_BM = 0e02h 822 823 mov cx, CLR_PART_HIDE_WINDOW_LABEL_BM ; Yellow on Lila 795 824 call VideoIO_Color 796 825 mov si, offset TXT_SETUP_HideFeature 797 826 call VideoIO_Print 798 mov cx, 0D05h ; Lila on lila 827 828 CLR_PART_HIDE_WINDOW_BORDER_CLASSIC = 0d05h 829 CLR_PART_HIDE_WINDOW_BORDER_BM = 0d02h 830 831 832 mov cx, CLR_PART_HIDE_WINDOW_BORDER_BM ; Lila on lila 799 833 call VideoIO_Color 800 834 mov al, 'Æ' … … 851 885 852 886 ; --- Make ':' Line down 853 mov cx, 0F05h ; Yellow on Lila 887 888 CLR_PART_HIDE_MENU_BASE_CLASSIC = 0f05h 889 CLR_PART_HIDE_MENU_BASE_BM = 0f02h 890 891 mov cx, CLR_PART_HIDE_MENU_BASE_BM ; Yellow on Lila 854 892 call VideoIO_Color 855 893 mov ch, 07h … … 873 911 dec dh 874 912 jnz PHSRP_Loop 913 914 CLR_PART_HIDE_MENU_MARKERS_CLASSIC = 0d05h 915 CLR_PART_HIDE_MENU_MARKERS_BM = 0a02h 916 875 917 ; At last calculate Scroll-Markers 876 mov cx, 0D05h ; Lila on lila918 mov cx, CLR_PART_HIDE_MENU_MARKERS_BM ; Lila on lila ; Hide Feature Markers 877 919 call VideoIO_Color 878 920 mov cx, 0603h ; 6, +3 … … 919 961 push cx 920 962 ; Display "Label" field aka "OS2" without ending NULs/Spaces 921 mov cx, 0F05h 963 964 CLR_PART_HIDE_LABEL_CLASSIC = 0f05h 965 CLR_PART_HIDE_LABEL_BM = 0f02h 966 967 mov cx, CLR_PART_HIDE_LABEL_BM 922 968 call VideoIO_Color ; Bright White on Lila 923 969 push si … … 927 973 call VideoIO_FixedPrint 928 974 pop si 929 mov cx, 0D05h 975 976 CLR_PART_HIDE_WINDOW_FS_CLASSIC = 0d05h 977 CLR_PART_HIDE_WINDOW_FS_BM = 0a02h 978 979 mov cx, CLR_PART_HIDE_WINDOW_FS_BM 930 980 call VideoIO_Color ; Bright Lila on Lila 931 981 mov al, ' ' … … 948 998 call VideoIO_Locate 949 999 push cx 950 mov cx, 0E05h 1000 1001 CLR_PART_HIDE_WINDOW_CHOISES_CLASSIC = 0e05h 1002 CLR_PART_HIDE_WINDOW_CHOISES_BM = 0e02h 1003 1004 mov cx, CLR_PART_HIDE_WINDOW_CHOISES_BM 951 1005 call VideoIO_Color ; Yellow on Lila 952 1006 mov al, ' ' … … 980 1034 PHSBCB_SkipRetrace: 981 1035 1036 CLR_PART_HIDE_WINDOW_MENU_BAR_CLASSIC = 5eh 1037 CLR_PART_HIDE_WINDOW_MENU_BAR_BM = 2eh 1038 982 1039 ; Deactivate current active bar 983 mov cl, 5Eh; Yellow on Lila1040 mov cl, CLR_PART_HIDE_WINDOW_MENU_BAR_BM ; Yellow on Lila 984 1041 call PARTHIDESETUP_ReColorPart 985 1042 986 ; Running Fixing 1043 ; Running Fixing 987 1044 cmp dh, 0FFh 988 1045 jne PHSBCB_NoUnderflow … … 1015 1072 1016 1073 ; Activate fresh active bar 1017 mov cl, 1Fh ; Bright White on Blue 1074 1075 CLR_PART_HIDE_WINDOW_MENU_ACTIVE_BAR_CLASSIC = 1fh 1076 CLR_PART_HIDE_WINDOW_MENU_ACTIVE_BAR_BM = 1fh 1077 1078 mov cl, CLR_PART_HIDE_WINDOW_MENU_ACTIVE_BAR_BM ; Bright White on Blue 1018 1079 call PARTHIDESETUP_ReColorPart 1019 1080 ; Now DL==DH … … 1178 1239 1179 1240 ; Now get the Logical-Drive-Letter for that partition... 1180 movzx bx, dl 1241 ;movzx bx, dl 1242 mov bl,dl 1243 mov bh,0 1244 1181 1245 mov dl, bptr [DriveLetters+bx] 1182 1246 … … 1264 1328 1265 1329 ; Draw base-window 1266 mov cx, 0D05h ; Lila on lila 1330 1331 CLR_PART_DL_XX_CLASSIC = 0d05h 1332 CLR_PART_DL_XX_BM = 0a02h 1333 1334 mov cx, CLR_PART_DL_XX_BM ; Lila on lila 1267 1335 call VideoIO_Color 1268 1336 mov bh, 06h … … 1281 1349 mov al, 'µ' 1282 1350 call VideoIO_PrintSingleChar 1283 mov cx, 0E05h ; Yellow on Lila 1351 1352 CLR_PART_DL_WINDOW_TITLE_CLASSIC = 0e05h 1353 CLR_PART_DL_WINDOW_TITLE_BM = 0e02h 1354 1355 mov cx, CLR_PART_DL_WINDOW_TITLE_BM ; Yellow on Lila 1284 1356 call VideoIO_Color 1285 1357 mov si, offset TXT_SETUP_DriveLetter 1286 1358 call VideoIO_Print 1287 mov cx, 0D05h ; Lila on lila 1359 1360 CLR_PART_DL_WINDOW_BORDER2_CLASSIC = 0d05h 1361 CLR_PART_DL_WINDOW_BORDER2_BM = 0a02h 1362 1363 mov cx, CLR_PART_DL_WINDOW_BORDER2_BM ; Lila on lila 1288 1364 call VideoIO_Color 1289 1365 mov al, 'Æ' … … 1292 1368 ; Display help-information 1293 1369 mov si, offset TXT_SETUPHELP_DriveLetter 1294 mov cx, 0D05h ; Lila on lila 1370 1371 CLR_PART_DL_SETUP_HELP_CLASSIC = 0d05h 1372 CLR_PART_DL_SETUP_HELP_BM = 0a02h 1373 1374 1375 mov cx, CLR_PART_DL_SETUP_HELP_BM ; Lila on lila 1295 1376 call VideoIO_Color 1296 1377 … … 1306 1387 mov al, '>' 1307 1388 call VideoIO_PrintSingleChar 1308 ; 1389 ; 1309 1390 mov cx, 0F01h ; Bright White on Blue 1310 1391 call VideoIO_Color
Note:
See TracChangeset
for help on using the changeset viewer.
