Changeset 46 for trunk/BOOTCODE/REGULAR
- Timestamp:
- Apr 12, 2014, 8:23:32 AM (12 years ago)
- Location:
- trunk/BOOTCODE/REGULAR
- Files:
-
- 11 edited
-
AUXIO.ASM (modified) (1 diff)
-
BOOTMENU.ASM (modified) (21 diffs)
-
CONV.ASM (modified) (6 diffs)
-
DEBUG.ASM (modified) (1 diff)
-
DRIVEIO.ASM (modified) (7 diffs)
-
OTHER.ASM (modified) (10 diffs)
-
PARTMAIN.ASM (modified) (11 diffs)
-
PARTSCAN.ASM (modified) (8 diffs)
-
PASSWORD.ASM (modified) (6 diffs)
-
STD_TEXT.ASM (modified) (3 diffs)
-
VIDEOIO.ASM (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/BOOTCODE/REGULAR/AUXIO.ASM
r45 r46 71 71 72 72 73 ; 74 ; Send the Build Information to the COM-port. 75 ; 76 AuxIO_PrintBuildInfo Proc Near Uses ax cx si di 77 ; Print header. 78 mov si, offset build_info 79 call AuxIO_Print 80 81 ; Prepare info in temorary buffer. 82 mov si,offset bld_level_date_start 83 mov cx,offset bld_level_date_end 84 sub cx,si 85 mov di,offset Scratch 86 cld 87 rep movsb 88 89 ; Fill spaces until assembler specification. 90 mov al,' ' 91 mov cx,37 92 rep stosb 93 94 ; Copy assembler specification. 95 IFDEF JWASM 96 mov al,'[' 97 stosb 98 mov si,offset jwasm_txt 99 ENDIF 100 IFDEF TASM 101 mov al,' ' 102 stosb 103 mov al,'[' 104 stosb 105 mov si,offset tasm_txt 106 ENDIF 107 IFDEF WASM 108 mov al,' ' 109 stosb 110 mov al,'[' 111 stosb 112 mov si,offset wasm_txt 113 ENDIF 114 IFDEF MASM 115 mov al,' ' 116 stosb 117 mov al,'[' 118 stosb 119 mov si,offset masm_txt 120 ELSE 121 mov al,' ' 122 stosb 123 mov al,'[' 124 stosb 125 mov si,offset unknown_txt 126 ENDIF 127 AuxIO_PrintBuildInfo_a1: 128 lodsb 129 test al,al 130 jz AuxIO_PrintBuildInfo_e1 131 stosb 132 jmp AuxIO_PrintBuildInfo_a1 133 AuxIO_PrintBuildInfo_e1: 134 mov al,']' 135 stosb 136 137 ; Insert NULL Terminator. 138 xor al,al 139 stosb 140 141 ; Print Info. 142 mov si, offset Scratch 143 call AuxIO_Print 144 call AuxIO_TeletypeNL 145 ret 146 AuxIO_PrintBuildInfo EndP 147 73 148 74 149 ; Print char to com-port (teletype style) -
trunk/BOOTCODE/REGULAR/BOOTMENU.ASM
r45 r46 66 66 67 67 mov dl, 18h 68 cmp CFG_BootMenuActive, 268 cmp byte ptr [CFG_BootMenuActive], 2 69 69 jne BMBM_NoDetailed1 70 70 mov dl, 15h … … 89 89 mov si, offset TXT_TopInfos_Hd 90 90 add cl, 5 91 cmp CFG_BootMenuActive, 291 cmp byte ptr [CFG_BootMenuActive], 2 92 92 jne BMBM_NoDetailed2 93 93 mov si, offset TXT_TopInfos_HdSize … … 121 121 push cx 122 122 add dl, 5 123 cmp CFG_BootMenuActive, 2123 cmp byte ptr [CFG_BootMenuActive], 2 124 124 jne BMBM_NoDetailed3 125 125 add dl, 8 … … 159 159 jb BMBM_3rdTweak 160 160 add cl, 5 161 cmp CFG_BootMenuActive, 2161 cmp byte ptr [CFG_BootMenuActive], 2 162 162 jne BMBM_BootWinTweakLoop 163 163 add cl, 8 … … 446 446 call VideoIO_PrintByteNumber ; so only showing harddrives... 447 447 add dh, 5 448 cmp CFG_BootMenuActive, 2448 cmp byte ptr [CFG_BootMenuActive], 2 449 449 jne BMBPT_NoDetailed 450 450 add dh, 8 … … 548 548 jae BMBCB_NoScrollUp 549 549 BMBCB_ScrollingUp: 550 dec Menu_UpperPart550 dec byte ptr [Menu_UpperPart] ; Adjusted for Wasm 551 551 cmp dh, Menu_UpperPart 552 552 jb BMBCB_ScrollingUp … … 560 560 BMBCB_ScrollingDown: 561 561 inc cl 562 inc Menu_UpperPart562 inc byte ptr [Menu_UpperPart] ; Adjusted for Wasm 563 563 cmp dh, cl 564 564 jae BMBCB_ScrollingDown … … 696 696 ; restlichen Variablen berechnen... 697 697 mov dl, Menu_TotalParts 698 cmp Menu_TotalParts, 14698 cmp byte ptr [Menu_TotalParts], 14 699 699 jbe BMRMV_NotMoreThan14 700 700 mov dl, 14 … … 704 704 ; Now copy the name of the Timed-Booted Partition to TimedBoot-Field 705 705 mov dl, Menu_EntryDefault 706 test CFG_TimedBootLast, 1706 test byte ptr [CFG_TimedBootLast], 1 707 707 jz BMRMV_TimedBootDefault 708 708 mov dl, Menu_EntryLast … … 726 726 ; No Straight View in here...we got filtered view since BootMenu-Startup... 727 727 mov al, CFG_RememberTimed 728 test TimedBootUsed, 1728 test byte ptr [TimedBootUsed], 1 729 729 jnz BMSVAM_TimedBootUsed 730 730 mov al, CFG_RememberBoot … … 762 762 ; Finds out, where to place the bar at first... 763 763 mov dl, Menu_EntryDefault 764 test CFG_RememberBoot, 1764 test byte ptr [CFG_RememberBoot], 1 765 765 jnz BME_RememberMode 766 test CFG_RememberTimed, 1766 test byte ptr [CFG_RememberTimed], 1 767 767 jz BME_ForgetMode 768 768 BME_RememberMode: … … 785 785 ;call VideoIO_DBG_WriteString2 ; Rousseau 786 786 787 test TimedBootEnable, 1787 test byte ptr [TimedBootEnable], 1 788 788 jz BME_NoTimedBoot 789 789 ; ------------------------------------------------ TIMED BOOT … … 805 805 pop ax 806 806 mov dl, Menu_EntryDefault 807 and CFG_TimedBootLast, 1807 and byte ptr [CFG_TimedBootLast], 1 808 808 jz BME_TimedBootDefault 809 809 mov dl, Menu_EntryLast 810 810 BME_TimedBootDefault: 811 811 mov Menu_EntrySelected, dl ; Just boot default partition 812 mov TimedBootUsed, 1 ; set flag...812 mov byte ptr [TimedBootUsed], 1 ; set flag... 813 813 clc ; Boot-Now! 814 814 ret … … 819 819 BME_NoTimedBoot: 820 820 ; ------------------------------------------------ FLOPPY-NAME TIMER 821 test CFG_FloppyBootGetTimer, 1821 test byte ptr [CFG_FloppyBootGetTimer], 1 822 822 jz BME_NoFloppyNameTimer 823 823 ; Wait 2 Seconds everytime … … 847 847 848 848 BME_RefreshFloppyName: 849 test CFG_IncludeFloppy, 1849 test byte ptr [CFG_IncludeFloppy], 1 850 850 jz BME_NoRefreshFloppyName 851 test CFG_FloppyBootGetName, 1851 test byte ptr [CFG_FloppyBootGetName], 1 852 852 jz BME_NoRefreshFloppyName 853 853 call DriveIO_UpdateFloppyName … … 871 871 je BME_KeyESC 872 872 ; Upper Keys do not fall under Timed Boot Key Handling 873 test TimedBootEnable, 1873 test byte ptr [TimedBootEnable], 1 874 874 je BME_NoTimedKeyHandling 875 cmp CFG_TimedKeyHandling, 1875 cmp byte ptr [CFG_TimedKeyHandling], 1 876 876 jb BME_NoTimedKeyHandling ; = 0 877 877 je BME_ResetTimedBoot ; = 1 878 878 mov al, TimedBootEnable ; = 2 879 879 xor al, 1 ; Flip Flop Switch :] 880 mov TimedBootEnable, al880 mov [TimedBootEnable], al 881 881 BME_ResetTimedBoot: 882 882 push dx … … 905 905 BME_KeyEnter: 906 906 mov Menu_EntrySelected, dl 907 mov TimedBootUsed, 0 ; reset flag...907 mov byte ptr [TimedBootUsed], 0 ; reset flag... 908 908 clc ; Boot-Now! 909 909 ret … … 911 911 BME_KeyF10: 912 912 mov al, Keys_Flags_EnterSetup 913 mov SETUP_KeysOnEntry, al ; Simulate user wants to enter setup913 mov byte ptr [SETUP_KeysOnEntry], al ; Simulate user wants to enter setup 914 914 stc ; Go Re-Enter Setup 915 915 ret … … 921 921 922 922 BME_KeyESC: 923 mov al, TimedBootEnable923 mov al, [TimedBootEnable] 924 924 xor al, 1 ; Flip Flop Switch :] 925 mov TimedBootEnable, al925 mov [TimedBootEnable], al 926 926 push dx 927 927 call BOOTMENU_ResetTimedBoot ; Reset Timer … … 932 932 BME_KeyTAB: 933 933 push dx 934 test CFG_CooperBars, 1934 test byte ptr [CFG_CooperBars], 1 935 935 jnz BME_KeyTAB_ShowFX 936 936 mov ax, 0501h ; Go To Page 1 -> BIOS POST crap … … 969 969 add ax, CFG_TimedDelay 970 970 adc dx, 0 971 mov w ptr [TimedTimeOut], ax972 mov w ptr [TimedTimeOut+2], dx971 mov word ptr [TimedTimeOut], ax 972 mov word ptr [TimedTimeOut+2], dx 973 973 ret 974 974 BOOTMENU_ResetTimedBoot EndP -
trunk/BOOTCODE/REGULAR/CONV.ASM
r44 r46 209 209 mov cl,ah ; Get remainder in CL. 210 210 sub cl,dh ; Substract bitfield width to get shift-count. 211 mov ah,0 ; Prepare upper=0 when field snaps no byte bound. 211 mov ah,0 ; Prepare upper=0 when field spans no byte bound. 212 ; Don't change to xor ah,ah or any CY will be lost. 212 213 213 214 ; Jump if the bitfield does not span byte boundaries. … … 219 220 add cl,8 ; Adjust shift-count. 220 221 mov ah,[bx] ; Get byte into AH instead. 221 dec bx ; Prepare pointer to load rest of bitfield. 222 dec bx ; Adjust pointer to load rest of bitfield. 223 222 224 CONV_GetBitfieldValue_nospan: 223 225 mov al,[bx] ; Load (rest of) bitfield into AL. … … 267 269 sub cl,dh ; Substract bitfield width to get shift-count. 268 270 269 ; Restore value .271 ; Restore value to poke. 270 272 pop ax 271 273 … … 282 284 push cx ; Save mask (CH) and shift-count (CL). 283 285 push ax ; Save value to store. 284 mov ah,0; Clear upper byte so we can shift in it.286 xor ah,ah ; Clear upper byte so we can shift in it. 285 287 and al,ch ; Mask value. 286 288 shl ax,cl ; Move the bitfield to the proper location. … … 289 291 mov dl,[bx] ; Get 2nd part of bitfield from array. 290 292 push bx ; We need BX so save it. 291 mov bh,0; Clear upper byte so we can shift in it.293 xor bh,bh ; Clear upper byte so we can shift in it. 292 294 mov bl,ch ; Put mask in BL. 293 295 shl bx,cl ; Shift mask to proper location. … … 304 306 ; Done. 305 307 jmp CONV_SetBitfieldValue_end 306 307 308 308 309 CONV_SetBitfieldValue_nospan: -
trunk/BOOTCODE/REGULAR/DEBUG.ASM
r45 r46 175 175 call AuxIO_Print 176 176 177 ; Build Date 178 mov si, offset BUILD_DATE 179 call AuxIO_Print 177 ; Build Info 178 ;~ mov si, offset BUILD_DATE 179 ;~ call AuxIO_Print 180 call AuxIO_PrintBuildInfo 180 181 181 182 ; Start new line -
trunk/BOOTCODE/REGULAR/DRIVEIO.ASM
r43 r46 311 311 312 312 ;or bx,ax 313 test [ExtendedAbsPosSet],1313 test byte ptr [ExtendedAbsPosSet],1 314 314 jz pri 315 315 … … 561 561 ; Keeps DS:SI for caller, sets carry if valid LVM sector encountered 562 562 DriveIO_LoadLVMSector Proc Near Uses ax bx cx dx 563 test [CFG_IgnoreLVM], 1 ; We are supposed to ignore LVM, so563 test byte ptr [CFG_IgnoreLVM], 1 ; We are supposed to ignore LVM, so 564 564 jnz DIOLLVMS_NoLVMSector ; don't load but declare as bad! 565 565 mov ax, wptr cs:[CurPartition_Location+0] … … 605 605 ; Keeps DS:SI for caller, saves at anytime w/o checks (!) 606 606 DriveIO_SaveLVMSector Proc Near Uses ax bx cx dx 607 test [CFG_IgnoreLVM], 1 ; We are supposed to ignore LVM, so607 test byte ptr [CFG_IgnoreLVM], 1 ; We are supposed to ignore LVM, so 608 608 jnz DIOSLVMS_SevereError ; don't save at anytime (security!) 609 609 mov ax, wptr cs:[CurPartition_Location+0] … … 633 633 ; so users will notice that something is bad with their partition table(s) 634 634 DriveIO_GotLoadError Proc Near 635 test cs:CurIO_Scanning, 1 ; Must be CS:, cause DS!=CS maybe here635 test byte ptr cs:[CurIO_Scanning], 1 ; Must be CS:, cause DS!=CS maybe here 636 636 jnz InScanMode 637 637 jmp MBR_LoadError … … 671 671 jb DIOLS_UseNormal 672 672 673 test cs:[CurIO_UseExtension], 1673 test byte ptr cs:[CurIO_UseExtension], 1 674 674 jz DIOLS_UseNormal 675 675 ; Are we forced do use LBA via Setting? … … 794 794 ; ######################################################################### 795 795 DriveIO_SaveSector Proc Near Uses ax bx cx ds si es di 796 test cs:[CurIO_UseExtension], 1796 test byte ptr cs:[CurIO_UseExtension], 1 797 797 jz DIOSS_UseNormal 798 798 ; Are we forced do use LBA via Setting? 799 test cs:[CFG_ForceLBAUsage], 1799 test byte ptr cs:[CFG_ForceLBAUsage], 1 800 800 jnz DIOSS_UseExtension 801 801 ; Is the drive not a harddrive? … … 1230 1230 pop bx 1231 1231 1232 mov [CurIO_UseExtension],11232 mov byte ptr [CurIO_UseExtension],1 1233 1233 1234 1234 popf -
trunk/BOOTCODE/REGULAR/OTHER.ASM
r43 r46 93 93 rep stosw 94 94 95 mov VideoIO_Segment, VideoIO_Page095 mov word ptr [VideoIO_Segment], VideoIO_Page0 96 96 97 97 ; Don't use blinking attribute … … 106 106 107 107 ; Cursor to upper-left 108 mov TextPosX, 0109 mov TextPosY, 0108 mov byte ptr [TextPosX], 0 109 mov byte ptr [TextPosY], 0 110 110 call VideoIO_CursorSet 111 111 … … 122 122 ;call SOUND_Beep 123 123 124 ; Build Date 125 mov si, offset BUILD_DATE 126 call MBR_TeletypeNL 124 ; Show build info 125 call VideoIO_PrintBuildInfo 127 126 128 127 IFDEF AUX_DEBUG … … 305 304 ; Checks for MBR Virii :) I love that job 306 305 ; ======================================= 307 test CFG_DetectStealth, 1306 test byte ptr [CFG_DetectStealth], 1 308 307 jz PCM_NoStealthDetection 309 308 call VIRUS_CheckForStealth 310 309 PCM_NoStealthDetection: 311 test CFG_DetectVirus, 1310 test byte ptr [CFG_DetectVirus], 1 312 311 jz PCM_NoVirusDetection 313 312 call VIRUS_CheckForVirus … … 318 317 ; Delay for some time and get Strg/Alt State 319 318 ; ============================================ 320 test CFG_CooperBars, 1319 test byte ptr [CFG_CooperBars], 1 321 320 jnz PCM_ShortDelay 322 321 mov al, 27 ; About 1.5 seconds 323 test CFG_FloppyBootGetName, 1322 test byte ptr [CFG_FloppyBootGetName], 1 324 323 jz PCM_LongDelay 325 324 PCM_ShortDelay: … … 345 344 mov ah, 02h 346 345 int 16h 347 mov SETUP_KeysOnEntry, al346 mov [SETUP_KeysOnEntry], al 348 347 349 348 ; Copy device-name to the ContBIOSbootSeq-IPT entry … … 358 357 ; Now get volume label of FloppyDrive, if wanted... 359 358 ; =================================================== 360 test CFG_FloppyBootGetName, 1359 test byte ptr [CFG_FloppyBootGetName], 1 361 360 jz ACM_NoFloppyGetName 362 361 call DriveIO_UpdateFloppyName … … 381 380 and cx, 1 382 381 jz PCCF13E_NotFound 383 mov CurIO_UseExtension, 1382 mov byte ptr [CurIO_UseExtension], 1 384 383 ret 385 384 PRECRAP_CheckFor13extensions EndP … … 406 405 mov cx,5 407 406 408 mov dx, CFG_CheckConfig409 mov CFG_CheckConfig, bx407 mov dx, [CFG_CheckConfig] 408 mov [CFG_CheckConfig], bx 410 409 PCCC_Loop: 411 410 call MBR_GetCheckOfSector … … 495 494 mov bh, 0 496 495 mov ah, 02h 497 mov dh, [TextPosY]498 mov dl, [TextPosX]496 mov dh,byte ptr [TextPosY] 497 mov dl,byte ptr [TextPosX] 499 498 int 10h 500 499 popf -
trunk/BOOTCODE/REGULAR/PARTMAIN.ASM
r45 r46 81 81 cmp dl, 0FEh ; Resume-BIOS? 82 82 ja PFUPN_SpecialSelectionFloppy 83 cmp CFG_ResumeBIOSbootSeq, 083 cmp byte ptr [CFG_ResumeBIOSbootSeq], 0 84 84 je PFUPN_SelectionGone 85 85 jmp PFUPN_Found 86 86 PFUPN_SpecialSelectionFloppy: 87 cmp CFG_IncludeFloppy, 087 cmp byte ptr [CFG_IncludeFloppy], 0 88 88 je PFUPN_SelectionGone 89 89 jmp PFUPN_Found … … 192 192 mov si, offset PartitionTable 193 193 mov bx, offset PartitionPointers 194 test CFG_IncludeFloppy, 1194 test byte ptr [CFG_IncludeFloppy], 1 195 195 jz PCMPP_NoFloppyInclude 196 196 mov ax, offset FloppyIPTentry … … 199 199 PCMPP_NoFloppyInclude: 200 200 201 test CFG_ResumeBIOSbootSeq, 0FFh201 test byte ptr [CFG_ResumeBIOSbootSeq], 0FFh 202 202 jz PCMPP_NoResumeBootSeqInclude 203 203 mov ax, offset BIOScontIPTentry … … 920 920 ; BX:AX -> Absolute End-Position of Partition 921 921 922 test CFG_ForceLBAUsage, 1922 test byte ptr [CFG_ForceLBAUsage], 1 923 923 jnz PSP_ForceI13X 924 924 ; LBA-boundary at 16450560 (FB0400h) (16320x16x63) … … 942 942 ; Insert signature 943 943 xor di, di 944 mov w ptr es:[di+00], '1I'945 mov w ptr es:[di+02], 'X3'944 mov word ptr es:[di+00], '1I' 945 mov word ptr es:[di+02], 'X3' 946 946 947 947 ;mov wptr es:[di], 0 … … 949 949 950 950 ; Insert LBA address. 951 mov ax, wptr[si+LocIPT_AbsoluteBegin+0]952 mov wptres:[di+04], ax953 mov ax, wptr[si+LocIPT_AbsoluteBegin+2]954 mov wptres:[di+06], ax951 mov ax, [si+LocIPT_AbsoluteBegin+0] 952 mov es:[di+04], ax 953 mov ax, [si+LocIPT_AbsoluteBegin+2] 954 mov es:[di+06], ax 955 955 956 956 pop si … … 1030 1030 PSP_NoHideFeature: 1031 1031 ; Check, if we are supposed to ignore LVM altogether... 1032 test [CFG_IgnoreLVM], 11032 test byte ptr [CFG_IgnoreLVM], 1 1033 1033 jnz PSP_NoLVMReassignment 1034 1034 ; --------------------------------------------------------- LVM REASSIGNMENT … … 1056 1056 call MSHACK_ProcessPartTables 1057 1057 1058 test CFG_BootMenuActive, 0FFh1058 test byte ptr [CFG_BootMenuActive], 0FFh 1059 1059 jz PSP_NoMenuNoSound 1060 1060 … … 1065 1065 ; -------------------------------------------------- SPECIAL BOOT PROCESSING 1066 1066 ; Check here, if the Boot shall be done via resume to BIOS... 1067 mov al, b ptr [si+LocIPT_SystemID]1067 mov al, byte ptr [si+LocIPT_SystemID] 1068 1068 cmp al, 0FEh ; Via BIOS ? (aka resume BIOS boot sequence) 1069 1069 je PSP_ResumeBIOSbootSeq … … 1141 1141 is_harddisk: 1142 1142 1143 test CFG_DetectVIBR, 11143 test byte ptr [CFG_DetectVIBR], 1 1144 1144 jz PSP_NoVIBR 1145 1145 test byte ptr [si+LocIPT_Flags], Flags_VIBR_Detection … … 1166 1166 1167 1167 PSP_NoVIBR: 1168 test CFG_ProtectMBR, 11168 test byte ptr [CFG_ProtectMBR], 1 1169 1169 jz PSP_NoMBRprotect 1170 1170 ; -------------------------------------------------- INSTALLS MBR-PROTECTION -
trunk/BOOTCODE/REGULAR/PARTSCAN.ASM
r45 r46 36 36 mov NewPartitions, al 37 37 38 mov CurIO_Scanning, 1 ; Set flag due scanning partitions38 mov byte ptr [CurIO_Scanning], 1 ; Set flag due scanning partitions 39 39 mov dl, 80h ; is first harddisc 40 40 PSSFP_HarddiscLoop: … … 46 46 dec dh 47 47 jnz PSSFP_HarddiscLoop 48 mov CurIO_Scanning, 0 ; Reset flag due scanning complete48 mov byte ptr [CurIO_Scanning], 0 ; Reset flag due scanning complete 49 49 50 50 IFDEF AUX_DEBUG … … 124 124 inc di 125 125 loop PSSFP_AutoDrvLetterLoop 126 mov AutoDrvLetter, 0 ; Disable after processing...126 mov byte ptr [AutoDrvLetter], 0 ; Disable after processing... 127 127 PSSFP_NoAutoDriveLetter: 128 128 ret … … 176 176 add ax, wptr [ExtendedAbsPos+0] ; Adjust... 177 177 adc bx, wptr [ExtendedAbsPos+2] ; (Shit Design!) 178 test [ExtendedAbsPosSet], 1178 test byte ptr [ExtendedAbsPosSet], 1 179 179 jnz PSSPFE_ExtendedMainKnown 180 180 mov wptr [ExtendedAbsPos+0], ax 181 181 mov wptr [ExtendedAbsPos+2], bx 182 mov [ExtendedAbsPosSet], 1182 mov byte ptr [ExtendedAbsPosSet], 1 183 183 PSSPFE_ExtendedMainKnown: 184 184 mov cx, wptr [si+LocBRPT_BeginSector] ; Cylinder/Sector … … 212 212 ; Stop scanning if too many partitions. 213 213 ; 214 cmp word ptr [cs:NewPartitions],LocIPT_MaxPartitions214 cmp word ptr cs:[NewPartitions],LocIPT_MaxPartitions 215 215 jae skip_check 216 216 call PARTSCAN_CheckThisPartition … … 219 219 ; Cannot boot LVM-Data partitions 220 220 pusha 221 mov byte ptr [cs:TooManyPartitions],1221 mov byte ptr cs:[TooManyPartitions],1 222 222 mov cx, 0C04h 223 223 ;~ mov si, offset TXT_ERROR_TooManyPartitions … … 630 630 mov al, PartTypeFlags 631 631 ; May I auto-add partitions ? 632 test CFG_PartitionsDetect, 1632 test byte ptr [CFG_PartitionsDetect], 1 633 633 jz PCCTP_MayNotAddAny ; add, but non-bootable 634 634 test al, FileSysFlags_BootAble ; AH kam von SearchFileSysName … … 710 710 mov ax, dx 711 711 stosw 712 inc NewPartitions; NEW IPT Entry DONE713 714 cmp NewPartitions, LocIPT_MaxPartitions712 inc byte ptr [NewPartitions]; Adjusted for Wasm ; NEW IPT Entry DONE 713 714 cmp byte ptr [NewPartitions], LocIPT_MaxPartitions 715 715 jbe PCCTP_NotTooManyPartitions 716 716 -
trunk/BOOTCODE/REGULAR/PASSWORD.ASM
r40 r46 31 31 PASSWORD_AskSystemPwd Proc Near Uses ax bx si di 32 32 ; Asks System Password, if set... 33 test CFG_PasswordSystem, 133 test byte ptr [CFG_PasswordSystem], 1 34 34 jz PASP_NoPassword 35 35 mov ax, 0ABABh … … 43 43 PASSWORD_AskChangeBootPwd Proc Near Uses ax bx si di 44 44 ; Asks System Password, if set... 45 test CFG_PasswordChangeBoot, 145 test byte ptr [CFG_PasswordChangeBoot], 1 46 46 jz PACBP_NoPassword 47 test TimedBootUsed, 147 test byte ptr [TimedBootUsed], 1 48 48 jnz PACBP_NoPassword 49 49 mov ax, 0ABABh … … 70 70 PASSWORD_AskSpecifiedPassword Proc Near Uses cx dx ds si es di bp 71 71 local AskPasswordMiss:byte, AskPasswordText:word, AskPasswordMagic:word, AskPasswordWhich:word 72 mov AskPasswordMagic, ax73 mov AskPasswordText, si74 mov AskPasswordWhich, di72 mov [AskPasswordMagic], ax 73 mov [AskPasswordText], si 74 mov [AskPasswordWhich], di 75 75 mov ax, cs 76 76 mov ds, ax … … 80 80 mov cx, 8 81 81 rep stosb ; Generates empty password 82 mov AskPasswordMiss, 083 mov ax, AskPasswordWhich82 mov byte ptr [AskPasswordMiss], 0 83 mov ax, [AskPasswordWhich] 84 84 or ax, ax 85 85 jnz PASP_BadBoyRetry ; Only check one … … 106 106 107 107 ; ...and compare it to the specified on-board one 108 mov di, AskPasswordWhich108 mov di, [AskPasswordWhich] 109 109 or di, di 110 110 jnz PASP_OnlyCheckSpecified … … 122 122 123 123 PASP_LetUserGuessPassword: ; ;-))) 124 mov ax, AskPasswordMagic125 mov si, AskPasswordText124 mov ax, [AskPasswordMagic] 125 mov si, [AskPasswordText] 126 126 mov di, offset TempPasswordEntry 127 127 call SETUP_LetEnterPassword 128 inc AskPasswordMiss129 cmp AskPasswordMiss, 10128 inc byte ptr [AskPasswordMiss] 129 cmp byte ptr [AskPasswordMiss], 10 130 130 jae PASP_BadBoyAlert 131 131 jmp PASP_BadBoyRetry -
trunk/BOOTCODE/REGULAR/STD_TEXT.ASM
r45 r46 25 25 26 26 ; If you modify this Copyright and release this under your own name, 27 ; I'm going to sue your cheap ass, rape your dog and blow up your house. =)27 ; I'm going to sue your cheap ass, rape your dog and blow up your house. =) 28 28 29 29 CopyrightVersionLen equ 6 … … 42 42 ;Copyright db ' AiR-BOOT v1.0.8 - (c) 2012 M. Kiewitz <<Release Candidate 1>> (bld: 20120124)', 0 43 43 ;Copyright db ' AiR-BOOT v1.0.8 - (c) 2012 M. Kiewitz <<Release Candidate 2>> (bld: 20120224)', 0 44 Copyright db ' AiR-BOOT v1.0.8 - (c) 2012 M. Kiewitz <<Internal Release 2l>> (bld: 20120224)', 0 44 45 46 ;~ Copyright db ' AiR-BOOT v',BLDLVL_MAJOR_VERSION,'.',BLDLVL_MIDDLE_VERSION,'.',BLDLVL_MINOR_VERSION,' - (c) ',BLDLVL_YEAR,' M. Kiewitz <<Internal Release 2l>> (bld: ',BLDLVL_YEAR,BLDLVL_MONTH,BLDLVL_DAY,')', 0 47 48 ; 49 ; Masm found the above to be too complex, so we broke it up. 50 ; 51 Copyright: 52 db ' AiR-BOOT v' 53 db BLDLVL_MAJOR_VERSION,'.' 54 db BLDLVL_MIDDLE_VERSION,'.' 55 db BLDLVL_MINOR_VERSION,' - (c) ' 56 db BLDLVL_YEAR 57 db ' M. Kiewitz <<Internal Release 2p>> (bld: ' 58 db BLDLVL_YEAR 59 db BLDLVL_MONTH 60 db BLDLVL_DAY,')' 61 db 0 62 63 45 64 ;Copyright db ' AiR-BOOT v1.0.8 - (c) 1998-2012 M. Kiewitz, Dedicated to Gerd Kiewitz', 0 46 65 … … 68 87 db 'Contact via e-mail: ', 0, 'airboot@ecomstation.com', 0 69 88 89 ; Build Information string. 90 build_info db 'Build Date: ',0 91 jwasm_txt db 'JWasm',0 92 masm_txt db 'Masm',0 93 wasm_txt db 'Wasm',0 94 tasm_txt db 'Tasm',0 95 unknown_txt db '????',0 96 70 97 ContinueBIOSbootTable dw offset TXT_SETUP_MAGIC_CDROM 71 98 dw offset TXT_SETUP_MAGIC_Network -
trunk/BOOTCODE/REGULAR/VIDEOIO.ASM
r40 r46 650 650 VideoIO_SyncPos EndP 651 651 652 652 ; 653 ; Put the Build Information at the POST BIOS screen. 654 ; 655 VideoIO_PrintBuildInfo Proc Near Uses ax cx si di 656 ; Print header. 657 mov si, offset build_info 658 call MBR_Teletype 659 660 ; Prepare info in temorary buffer. 661 mov si,offset bld_level_date_start 662 mov cx,offset bld_level_date_end 663 sub cx,si 664 mov di,offset Scratch 665 cld 666 rep movsb 667 668 ; Fill spaces until assembler specification. 669 mov al,' ' 670 mov cx,37 671 rep stosb 672 673 ; Copy assembler specification. 674 IFDEF JWASM 675 mov al,'[' 676 stosb 677 mov si,offset jwasm_txt 678 ELSEIFDEF TASM 679 mov al,' ' 680 stosb 681 mov al,'[' 682 stosb 683 mov si,offset tasm_txt 684 685 ELSEIFDEF WASM 686 mov al,' ' 687 stosb 688 mov al,'[' 689 stosb 690 mov si,offset wasm_txt 691 ELSEIFDEF MASM 692 mov al,' ' 693 stosb 694 mov al,'[' 695 stosb 696 mov si,offset masm_txt 697 ELSE 698 mov al,' ' 699 stosb 700 mov al,'[' 701 stosb 702 mov si,offset unknown_txt 703 ENDIF 704 VideoIO_PrintBuildInfo_a1: 705 lodsb 706 test al,al 707 jz VideoIO_PrintBuildInfo_e1 708 stosb 709 jmp VideoIO_PrintBuildInfo_a1 710 VideoIO_PrintBuildInfo_e1: 711 mov al,']' 712 stosb 713 714 ; Insert NULL Terminator. 715 xor al,al 716 stosb 717 718 ; Print Info. 719 mov si, offset Scratch 720 call MBR_TeletypeNL 721 ret 722 VideoIO_PrintBuildInfo EndP 653 723 654 724 ;VideoIO_DBG_WriteString Proc Near Uses ax bx cx dx si es di
Note:
See TracChangeset
for help on using the changeset viewer.
