- Timestamp:
- Jan 13, 2013, 9:29:14 AM (13 years ago)
- Location:
- trunk
- Files:
-
- 28 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/BOOTCODE/AIR-BOOT.ASM
r35 r36 17 17 ; 18 18 19 ; ------------------- 20 ; Rousseau: # Fixes # 21 ; ------------------- 19 20 21 ; --------------------------------- 22 ; Rousseau: Fixes and Enhancements 23 ; --------------------------------- 22 24 ; 23 25 ; v1.0.8 24 26 ; ------ 25 ; - Changed version format to be more WarpIN compatible. 26 ; This is a cosmetic change only. 27 ; - Fixed driveletter feature which was broken in v1.07. 28 ; - Reworked MBR-code to provide two I13X signatures. 29 ; - Fixed booting older eCS installations on HPFS 30 ; - Fixed booting Windows when installed in logical partition 31 ; with loader on FAT32. 32 ; - Corrected contact links. 33 ; - Location of AUX parameters has changed. 34 ; - Fixed DOS installer (AIRBOOT.COM) 27 ; # Changed version format to be more WarpIN compatible # 28 ; This is a cosmetic change only, the internal format has not changed. 29 ; 30 ; # Show LVM VolumeName instead of LVM PartitionName # 31 ; Previous versions of AiR-BOOT used the LVM PartitionName as the Label 32 ; if LVM-info was present for the partition. 33 ; This is inconsistent with MiniLVM which shows the LVM VolumeName. 34 ; Starting with v1.0.8 the LVM VolumeName is displayed. 35 ; 36 ; # LVM Partition and Volume name Synchronization # 37 ; Changing the Label of a partition with LVM-info now synchronizes 38 ; the LVM Partition Name with the LVM Volume Name. 39 ; This is the same behavior as MiniLVM. 40 ; Note however that the Label can only be changed when both the 41 ; LVM PartitionName and LVM VolumeName are the same. 42 ; See protected editing below. 43 ; 44 ; # Protected editing of the Label when LVM-info is present # 45 ; When the LVM VolumeName differs from the LVM PartitionName, the user can 46 ; edit the label but it will not be saved to the LVM record on disk. 47 ; This is to protect configurations created with the classic LVM tool. 48 ; Since MiniLVM assigns the same name to both the Partition and the Volume, 49 ; the Label can be edited and will be saved for such partitions. 50 ; To further protect a given configuration, LVM volumes with type 0x35 51 ; cannot be edited at all. This is to ensure that the LVM PartitionNames 52 ; remain unique when Spanning Volumes are used. 53 ; 54 ; # Editing the Label appended spaces # 55 ; When editing and changing the Label of a System using SETUP, 56 ; trailing spaces were stored in the LVM Volume and Partition names. 57 ; These labels need to be padded with zero's. 58 ; This has been fixed. 59 ; This bug is also present in v1.06. 60 ; 61 ; # Reworked Primary Partition <-> LVM-info association # 62 ; The previous way was to use a 1:1 correspondence between the PT-index 63 ; and the LVM-index. However, when the PT is cross-linked, lower entries 64 ; pointing to higher locations on the disk, or vice-versa, incorrect 65 ; LVM-info was associated. Such a cross-linked PT is sometimes generated 66 ; by the LVM engine when creating or deleting multiple partitions at once. 67 ; Best is to intermediately save after creating or deleting a partition 68 ; with (Mini)LVM. 69 ; The new way is to search the LVM-entries for the partition requested. 70 ; 71 ; # Reworked MBR-code to provide two I13X signatures # 72 ; The normal LVM MBR-code uses a special setup to indicate Int13X capability. 73 ; It contains the instruction, MOV EAX,'X31I', and some software checks 74 ; for the presence of the 'I13X' string in the MBR. 75 ; However, the location of this instruction differs between eCS 1.x and 76 ; eCS 2.x LVM MBR-code. 77 ; For compatibility, the v1.0.8 MBR has the 'I13X' string at both locations. 78 ; 79 ; # Fixed booting older eCS installations on HPFS # 80 ; When restoring systems from archive or otherwise generated systems, 81 ; the HPFS BPB sometimes lacked information that AiR-BOOT did not fill in. 82 ; The result was that a wrong partition was booted or that booting 83 ; stalled with the "unable to operate harddisk" message. 84 ; This has been fixed. 85 ; 86 ; # Fixed booting Windows from a logical partition with loader on FAT32 # 87 ; Depending on the configuration, sometimes the NTLDR could not be found. 88 ; This has been fixed. 89 ; 90 ; # Fixed drive-letter feature which was broken in v1.07 # 91 ; a) v1.07 did remember the drive-letter feature was active for a partition, 92 ; but it failed to store the drive-letter because too few configuration 93 ; sectors were saved. This resulted in arbitrary values to be assigned 94 ; to the drive-letter for the partition. 95 ; b) The JFS PBR-code does not use the in-memory BPB but uses the one 96 ; that is on disk. This prevented AiR-BOOT from passing the user assigned 97 ; drive-letter. AiR-BOOT now inserts the drive-letter in the BPB on disk, 98 ; but only if the partition is JFS. 99 ; AB v1.06 is also unable to use the drive-letter feature on JFS. 100 ; As a convenience, a drive-letter in the dl-feature pop-up can now be set 101 ; to "Disabled" by pressing backspace. 102 ; (As opposed to arrowing up/down to get to the "Disabled" entry) 103 ; 104 ; # Fixed stuck phase1 indicator when wrong name entered # 105 ; When using SET(A)BOOT /4:NAME with the MEMDRIVE env-var set, 106 ; and NAME being a non-existing partition, the phase1 indicator 107 ; would stay stuck between reboots. 108 ; This has been fixed. 109 ; 110 ; # Fixed DOS installer (AIRBOOT.COM) # 111 ; Behavior should now be the same as the eCS and WIN installers. 112 ; This re-enables the use of a bootable floppy or usb-stick 113 ; to install AiR-BOOT. 114 ; 115 ; # Fixed booting from FloppyDrive # 116 ; This is actually also broken in v1.06 when Int13X is forced on. 117 ; Now regular BIOS calls are used when booting from floppydrive. 118 ; A fresh AiR-BOOT installation now includes the floppydrive menu entry. 119 ; 120 ; # Fixed chainloading IBM Boot Manager # 121 ; AiR-BOOT v1.06 could chainload IBM-BM but only when it resided on 122 ; the first disk and was located below the 1024 cylinder and forced Int13X 123 ; extensions were disabled. 124 ; AiR-BOOT v1.0.8 can now chainload IBM-BM with forced Int13X extensions 125 ; enabled (the default) and if IBM-BM resides above the 1024 cylinder limit. 126 ; Also, chainloading IBM-BM from the second disk is supported. 127 ; Do not use chainloading IBM-BM unless you really have a need to. 128 ; See the AiR-BOOT Manual for "gotcha's" when using both AiR-BOOT and IBM-BM. 129 ; 130 ; # Corrected contact links # 131 ; Version 1.07 still presented the old contact links to the sourceforge 132 ; repository and the original author. 133 ; This caused confusion with regard to issues with v1.07. 134 ; This has been corrected. 35 135 ; 36 136 ; NOTE: 37 137 ; AB v1.07 had a bug with saving and loading the correct size of the 38 ; configuration. Th erefore the CRC over the config was also calculated39 ; wrongly.138 ; configuration. This broke the drive-letter feature. 139 ; As a result, the CRC over the config was also calculated wrongly. 40 140 ; While AB v1.0.8 fixes this, it has to use the v1.07 way of CRC calculation. 41 ; Otherwise SET(A)BOOT from the eCS v2.1 would break because it sees42 ; a corrupt AiR-BOOT configuration.141 ; Otherwise SET(A)BOOT from the eCS v2.1 would break on AB v1.0.8 because it 142 ; sees a corrupt AiR-BOOT configuration. 43 143 ; This means that the CRC over the AB config is calculated over 5 sectors 44 144 ; instead of 7, just like in v1.07. … … 53 153 ; ----- 54 154 ; # Huge Drives and LVM # 55 ; When using disks >512GB under eComStation, the drive geometry changes to56 ; 127 or 255 sectors per track. Since LVM-info is written at the last sector57 ; of a track, and AiR-BOOT uses the geometry of the MBR, it cannot find the58 ; LVM-info and the eCS partition / volume bootsector.59 ; This has been fixed.60 ; Now, when an eCS-partition is discovered and the drive is >512GB, AiR-BOOT61 ; will use the eCS geometry to locate the LVM-info and the bootsector.155 ; When using disks >512GB under eComStation, the drive geometry changes to 156 ; 127 or 255 sectors per track. Since LVM-info is written at the last sector 157 ; of a track, and AiR-BOOT uses the geometry of the MBR, it cannot find the 158 ; LVM-info and the eCS partition / volume bootsector. 159 ; This has been fixed. 160 ; Now, when an eCS-partition is discovered and the drive is >512GB, AiR-BOOT 161 ; will use the eCS geometry to locate the LVM-info and the bootsector. 62 162 ; 63 163 ; # Special loader handling # 64 ; The special handling of partition boot-loaders has been enhanced to65 ; enable booting of legacy sysems on huge drives with or without OS/266 ; extended geometry.164 ; The special handling of partition boot-loaders has been enhanced to 165 ; enable booting of legacy systems on huge drives with or without OS/2 166 ; extended geometry. 67 167 ; 68 168 ; # eComStation boot-through after phase 1 # 69 ; A special functionality is implemented to directly boot the newly 70 ; installed system ; when installing eCS without showing the Boot Menu, 71 ; independant of user settings. 72 ; This works in conjuntion with the OS/2 specific SETABOOT.EXE program, 73 ; also part of this AiR-BOOT package. 169 ; Special functionality is implemented to directly boot a newly 170 ; installed eCS system after completing phase 1 of the installation. 171 ; This works in conjuntion with the OS/2 specific SET(A)BOOT.EXE program, 172 ; also part of the AiR-BOOT package. 74 173 ; 75 174 ; # Math, Debug, Conv and Aux modules # 76 ; These are used for 32-bit arithmatic on 16-bit code,77 ; debug the booting process, converting between data-types78 ; and outputting log-data to the com-port.175 ; These are used for 32-bit arithmatic on 16-bit code, 176 ; debug the booting process, converting between data-types 177 ; and outputting log-data to the com-port. 79 178 ; 80 179 ; … … 84 183 ; It serves as the base for the versions above. 85 184 ; Please do not post your feedback on sourceforge or bother Martin with 86 ; regard to the above versions.87 ; Use the eCS bug-tracker or the Trac project-page at netlabs .88 ; See the documentation for the correct contact information.185 ; regard to issues with the above versions. 186 ; Use the eCS bug-tracker or the Trac project-page at netlabs and see the 187 ; documentation of this newer versions for the relevant contact information. 89 188 90 189 … … 95 194 96 195 97 ; ------------------------- ---98 ; Rousseau: # JUMPS disabled #99 ; ------------------------- ---196 ; ------------------------- 197 ; Rousseau: JUMPS disabled 198 ; ------------------------- 100 199 ; We actually don't want to use this directive because it generates extra 101 200 ; NOP instructions that we can do without. … … 204 303 205 304 ; Special line-drawing characters 206 TextChar_WinLineRight equ 0C4h ; 'Ä' 207 TextChar_WinLineDown equ 0B3h ; '³' 208 TextChar_WinRep1 equ 0D1h ; 'Ñ' 209 TextChar_WinRep2 equ 0C5h ; 'Å' 210 TextChar_WinRep3 equ 0CFh ; 'Ï' 211 TextChar_WinRep4 equ 0B5h ; 'µ' 212 TextChar_WinRep5 equ 0C6h ; 'Æ' 213 TextChar_WinRep6 equ 0D8h ; 'Ø' 305 TextChar_WinLineRight equ 0C4h ; 'Ã' 306 TextChar_WinLineDown equ 0B3h ; '³' 307 TextChar_WinRep1 equ 0D1h ; 'Ã' 308 TextChar_WinRep2 equ 0C5h ; 'à 309 ' 310 TextChar_WinRep3 equ 0CFh ; 'Ã' 311 TextChar_WinRep4 equ 0B5h ; 'µ' 312 TextChar_WinRep5 equ 0C6h ; 'Ã' 313 TextChar_WinRep6 equ 0D8h ; 'Ã' 214 314 215 315 ; Offsets for Partition-Entries in MBR/EPRs … … 387 487 db 0EBh ; JMP-Short -> MBR_Start 388 488 ; Uses the 'A' as the displacement ! 389 db 'AiRBOOT', 2 0h, 01h, 20h, 12h, 01h, 08h, TXT_LanguageID489 db 'AiRBOOT', 24h, 01h, 20h, 12h, 01h, 08h, TXT_LanguageID 390 490 391 491 ; ID String, Date (DD,MM,CC,YY), Version Number, Language ID … … 604 704 ; [v1.05+] 605 705 ; Signature for IBM's LVM to detect our "powerful" features ;) 606 ; [v1.0 8+]706 ; [v1.0.8+] 607 707 ; Reworked MBR code to be able to create a double 'I13X' signature. 608 708 ; MBR's created with LVM eCS v1.x have the signature at 0d5h … … 678 778 679 779 ; Disk Signature 780 ; Note that in an LVM 2.x MBR this collides 781 ; with the dummy PTE that it used to look for IBM-BM 782 ; on the second harddisk. 680 783 db 'DSIG' 681 784 682 ; Unused word 785 ; Unused word at 01BCh 786 ; An LVM 2.x MBR puts 'CC33' here. 683 787 dw '$$' 684 788 … … 727 831 ; 01h -> Boot-Able 728 832 ; 10h -> FAT32 - Name Getting Scheme 729 ; 20h -> No Name To Get (use Partition Name )833 ; 20h -> No Name To Get (use Partition Name from IPT) 730 834 ; 40h -> 'L' flag possible 731 835 db 'AiRSYS-TABLE' … … 753 857 db ' ', ' ', ' ', ' ' 754 858 db ' ', 'Kernel ', ' ', '0V-Award' 755 db 'OS/2 Man', 'via BIOS', 'Floppy ', 'Unknown ' 859 ; db 'OS/2 Man', 'via BIOS', 'Floppy ', 'Unknown ' 860 db 'OS2-BMGR', 'via BIOS', 'Floppy ', 'Unknown ' 756 861 ; -> 44 Partition-Types 757 862 … … 797 902 798 903 799 AiR_BOOT_Start: nop 904 AiR_BOOT_Start: 905 906 907 908 ; 909 ; Since v1.0.8, AiR-BOOT is able to chainload IBM-BM. 910 ; When IBM-BM resides above the 1024-cylinder limit, the 'I13X' 911 ; signature is required at 3000:0000, FS needs to contain 3000h 912 ; and the 32-bit LBA address needs to follow the 'I13X' signature. 913 ; For booting IBM-BM from the second disk, a copy of the MBR of the 914 ; first disk is also required at 0000:7E00. 915 ; This information is derived from the eCS 2.x LVM MBR. 916 ; 917 ; So, now is a good time to copy the MBR of the first disk to 918 ; 0000:7E00 in case the partition that will be started is IBM-BM. 919 ; This copy is located at 8000:0000 and DS already points to this 920 ; segment. 921 ; 922 pusha 923 push es 924 xor ax,ax 925 mov es,ax 926 mov si,offset BootBasePtr 927 mov di,7e00h 928 mov cx,100h 929 cld 930 rep movsw 931 pop es 932 popa 933 934 800 935 801 936 ;jmp skip … … 840 975 841 976 ; 842 ; Enumberate Bootable Systemen by name 843 ; And prepare Phase 1 if active 977 ; Enumberate Bootable Systems by name 978 ; and prepare Phase 1 if active. 979 ; 980 ; This can also be implemented using the 981 ; Installable LVM-flag I think. 982 ; But at the time I had lesser knowledge about LVM... 844 983 ; 845 984 mov si, offset PartitionTable … … 855 994 jnc MBR_Parts_NI 856 995 857 ; install volume996 ; Install Volume 858 997 mov al,' ' 859 998 mov bl,7 … … 879 1018 shr ah, 6 ; move ZF to LSB 880 1019 mov [CFG_AutomaticBoot], ah ; automatic boot if phase 1 is active 881 mov [eCS_InstallVolume], 0 ; disable phase 1 for next boot 1020 882 1021 883 1022 add al,'1' … … 907 1046 ;call MBR_Teletype 908 1047 909 mov al, [CFG_PartAutomatic]910 add al, 31h911 mov ah, 09h912 mov bx, 15913 mov cx, 11048 ;mov al, [CFG_PartAutomatic] 1049 ;add al, 31h 1050 ;mov ah, 09h 1051 ;mov bx, 15 1052 ;mov cx, 1 914 1053 ;int 10h 915 1054 916 mov al, [CFG_PartAutomatic]917 add al, 31h918 mov ah, 0eh919 mov bx, 15920 mov cx, 11055 ;mov al, [CFG_PartAutomatic] 1056 ;add al, 31h 1057 ;mov ah, 0eh 1058 ;mov bx, 15 1059 ;mov cx, 1 921 1060 ;int 10h 922 1061 … … 926 1065 call MBR_TeletypeNL 927 1066 928 mov ax,[BIOS_AuxParms]1067 ;mov ax,[BIOS_AuxParms] 929 1068 ;call VideoIO_SyncPos 930 push ax931 add al,'0'932 mov bl,7933 mov ah, 0eh1069 ;push ax 1070 ;add al,'0' 1071 ;mov bl,7 1072 ;mov ah, 0eh 934 1073 ;int 10h 935 pop ax936 xchg al,ah937 sub al,0a2h938 mov bl,7939 mov ah, 0eh1074 ;pop ax 1075 ;xchg al,ah 1076 ;sub al,0a2h 1077 ;mov bl,7 1078 ;mov ah, 0eh 940 1079 ;int 10h 941 1080 … … 990 1129 ; Moved here to fix that Esc out of SETUP would also save. 991 1130 ; So moved above the MBR_Main_ReEnterSetup label. 1131 mov [eCS_InstallVolume], 0 ; disable phase 1 for next boot 992 1132 call DriveIO_SaveConfiguration 993 1133 … … 1170 1310 size_math = $-b_math 1171 1311 1172 b_conv: 1173 Include REGULAR\CONV.ASM ; Various conversion routines 1174 size_conv = $-b_conv 1312 1175 1313 1176 1314 IFDEF AuxDebug … … 1260 1398 size_charset = $-b_charset 1261 1399 1262 1263 ; 1264 ; Here is room for more code. 1265 ; Let's move the special modules here... 1266 ; The come from the previous section. 1267 ; 1400 b_conv: 1401 Include REGULAR\CONV.ASM ; Various conversion routines 1402 size_conv = $-b_conv 1403 1268 1404 b_virus: 1269 1405 Include SPECiAL\ViRUS.asm ; Virus Detection / Anti-Virus … … 1288 1424 size_fx = $-b_fx 1289 1425 1290 ;b_lvm:1291 ;Include SPECiAL\LVM.asm ; LVM-specific code1292 ;size_lvm = $-b_lvm1293 1294 1295 1296 1297 1426 1298 1427 ; … … 1332 1461 1333 1462 1463 1334 1464 Configuration: ; THERE IS AN INVISIBLE CHAR HERE !! 1465 ; Your editor may not display the invisible 1466 ; character at the end if the 'AiRCFG-TABLE' 1467 ; string. When this character get's deleted, 1468 ; AiR-BOOT will not function because it cannot 1469 ; find the config-signature which includes this 1470 ; invisible character. The code is: 0x0ad. 1335 1471 db 'AiRCFG-TABLE' 1336 1472 db 01h, 07h, 'U' ; "Compressed" ID String … … 1354 1490 1355 1491 CFG_PartLast db 0 ; Which Partition was booted last time ? (Base=0) 1356 CFG_TimedBoot db 0; Timed Boot Enable (for REAL Enable look TimedBootEnable)1492 CFG_TimedBoot db 1 ; Timed Boot Enable (for REAL Enable look TimedBootEnable) 1357 1493 CFG_TimedSecs db 15 ; Timed Boot - How Many Seconds Till Boot 1358 1494 CFG_TimedDelay dw 123 ; Timed Boot - Delay … … 1360 1496 CFG_RememberBoot db 1 ; Remember Manual Boot Choice 1361 1497 CFG_RememberTimed db 0 ; Remember if Timed Boot (if both disabled: Boot Default) 1362 CFG_IncludeFloppy db 0; Include Floppy Drives in Boot-Menu1498 CFG_IncludeFloppy db 1 ; Include Floppy Drives in Boot-Menu 1363 1499 CFG_BootMenuActive db 1 ; Display Boot-Menu (if Disabled: Boot Default) 1364 1500 ; v0.29+ -> 2 - Detailed Bootmenu … … 1541 1677 ; --------------------> 34 Bytes (total maximum partition-entries = 30) 1542 1678 1543 db (partition_count * 34) dup (' P')1679 db (partition_count * 34) dup ('0') 1544 1680 1545 1681 eos56: … … 1584 1720 ; Drive-Letter : BYTE (80h-C:, 81h-D:) 1585 1721 ; --------------------> 1 Byte * 30 1722 1723 ; 1724 ; There is some room here, but this is the configuration section. 1725 ; So not available for code. 1726 ; 1727 1586 1728 eos58: 1587 1729 eoipt: … … 1621 1763 AirBootRocks db 'AiR-BOOT Rocks!',0 1622 1764 1765 db 512-($-sohid)-2 dup(0) 1766 1623 1767 eos60: 1624 1768 eohid: 1625 1769 1626 1770 ; Check for overlap 1627 slack12 = eoab - eohid 1771 slack12 = eoab - eohid -2 1628 1772 IF slack12 LT 0 1629 1773 .ERR2 "Location Overlap slack12 !" … … 1651 1795 BeginOfVariables: 1652 1796 PartitionSector db 512 dup (?) ; Temporary Sector for Partition 1797 JfsPBR db 512 dup (?) ; Temporary Sector for JFS PBR writeback 1653 1798 LVMSector: db 512 dup (?) ; Temporary Sector for LVM 1654 1799 TmpSector: db 512 dup (?) ; Temporary Sector … … 1678 1823 ExtendedAbsPosSet db ? ; If Absolute Position set 1679 1824 1680 CurPartition_Location dw 4 dup (?) ; Where did current partition c ame from?1825 CurPartition_Location dw 4 dup (?) ; Where did current partition come from? 1681 1826 CurIO_UseExtension db ? ; 1-Use INT 13h EXTENSIONS 1682 1827 ; (filled out by PreCrap) -
trunk/BOOTCODE/MAKE.BAT
r32 r36 42 42 if errorlevel 1 goto Failed 43 43 44 @ren air-boot.LST air-boot.tsl 45 @ren air-boot.tsl AIR-BOOT.LST 46 44 47 ..\tools\internal\fixcode.com 45 48 46 copy AIR-BOOT. com ..\RELEASE\BOOTCODE\AIRBT-%1.bin49 copy AIR-BOOT.COM ..\RELEASE\BOOTCODE\AIRBT-%1.BIN 47 50 48 51 copy AIR-BOOT.COM AIRBOOT.BIN 49 52 50 53 rem Cleanup 51 del AiR-BOOT. com52 del AiR-BOOT. exe53 del AiR-BOOT. obj54 del AiR-BOOT.COM 55 del AiR-BOOT.EXE 56 del AiR-BOOT.OBJ 54 57 goto ExitMe 55 58 -
trunk/BOOTCODE/MBR-PROT/MAKE.BAT
r30 r36 8 8 %exe2bin% mbr_prot.exe mbr_prot.com 9 9 if errorlevel 1 goto Failed 10 copy mbr_prot.com fixcode.com 11 if errorlevel 1 goto Failed 10 rem copy mbr_prot.com fixcode.com 11 rem if errorlevel 1 goto Failed 12 13 @ren mbr_prot.LST mbr_prot.TSL 14 @ren mbr_prot.TSL MBR_PROT.LST 15 @ren mbr_prot.com mbr_prot.moc 16 @ren mbr_prot.moc MBR_PROT.COM 17 12 18 13 19 rem Cleanup 14 ::del mbr_prot.exe15 ::del mbr_prot.obj20 del mbr_prot.exe 21 del mbr_prot.obj 16 22 goto ExitMe 17 23 -
trunk/BOOTCODE/REGULAR/DRIVEIO.ASM
r34 r36 179 179 jc DIOILUT_Error 180 180 and cl, 111111b ; Isolate lower 6 bits of CL -> sector count 181 182 ; huge disk 127 sec/track on <1TB using DANI183 ; mov cl, 07Fh184 181 185 182 ;movzx ax, cl … … 668 665 ; ######################################################################### 669 666 DriveIO_LoadSector Proc Near Uses ax bx ds si es di 670 test cs:[CurIO_UseExtension], 1671 jz DIOLS_UseNormal672 ; Are we forced do use LBA via Setting? ; Rousseau: LBA673 jnz DIOLS_UseExtension674 667 ; Is the drive not a harddrive? 675 668 cmp dl, 80h 676 669 jb DIOLS_UseNormal 670 671 test cs:[CurIO_UseExtension], 1 672 jz DIOLS_UseNormal 673 ; Are we forced do use LBA via Setting? 674 jnz DIOLS_UseExtension 675 677 676 ; Upper 8 bits of LBA-address set? -> Use LBA (maximum boundary is FB0400h) 678 677 or bh, bh … … 757 756 int 13h 758 757 759 ; Looking goo tso far758 ; Looking good so far 760 759 jnc DriveIO_LoadSectorLBA_succes1 761 760 … … 864 863 865 864 ; ------------------------------------------------------ 866 ; Rousseau: # Load the master LVM-sector i sone exists #865 ; Rousseau: # Load the master LVM-sector if one exists # 867 866 ; ------------------------------------------------------ 868 867 ; Load the master LVM-sector to get the number of sectors per track as eCS views the drive. … … 884 883 pusha 885 884 886 mov si,offset db_lmlvm885 ;mov si,offset db_lmlvm 887 886 ;call AuxIO_Print 888 887 … … 1240 1239 secs_per_track_table: db 63,127,255,255,255,255 1241 1240 1242 db_lmlvm: db 'Load Master LVM -- disk: ',01241 ;db_lmlvm: db 'Load Master LVM -- disk: ',0 -
trunk/BOOTCODE/REGULAR/OTHER.ASM
r32 r36 289 289 endif 290 290 291 call PRECRAP_CheckFor13extensions 291 292 ; This sets [CurIO_UseExtension] flag. 293 call PRECRAP_CheckFor13extensions 294 295 292 296 293 297 IFNDEF ReleaseCode … … 295 299 ENDIF 296 300 301 297 302 call PRECRAP_CheckConfiguration 303 298 304 299 305 ; ======================================= -
trunk/BOOTCODE/REGULAR/PARTMAIN.ASM
r34 r36 753 753 ; In: DL - Number of partition (filtered view) 754 754 ; Out: No Return... 755 ; Destroyed: None, due no return ;-)755 ; Destroyed: None, due to no return ;-) 756 756 ; Logic: - Harddrive: loads partition Table 757 757 ; sets partition active … … 768 768 local BootPartNo:byte 769 769 local PhysDiskBpbIndex:word ; Index into BPB to field of phys-disk 770 local FSType:byte ; The FS used on the loaded BPB 771 ; Only used for FAT/HPFS/JFS 772 770 773 ; Get Partition-Pointer (SI) to Partition-To-Boot (DL) 771 774 call PART_GetPartitionPointer … … 787 790 ; Copy Partition-Name to BootingNow area for display purposes 788 791 add si, LocIPT_Name 792 793 794 ;pusha 795 ;call MBR_Teletype 796 ;mov si,offset TXT_BootingNowPartName 797 ;call MBR_Teletype 798 ;popa 799 789 800 mov cx, 11 790 801 call GetLenOfName … … 800 811 ; cmp dh, 0FDh 801 812 ; je PSP_IsKernel 813 814 ;pusha 815 ;call MBR_Teletype 816 ;mov si,offset TXT_BootingNowPartName 817 ;call MBR_Teletype 818 ;popa 819 820 802 821 or dl, dl 803 822 jnz PSP_IsHarddisc 804 823 ; When booting floppy/CD-ROM/etc., we got other text to be displayed... 805 824 mov si, offset TXT_BootingNowPartName 806 call MBR_Teletype 825 call MBR_TeletypeVolName 807 826 jmp PSP_IsFloppyCDROMetc 808 827 … … 821 840 IFDEF ReleaseCode 822 841 ; Save configuration on HDD boots (save CFG_PartLast) 823 call DriveIO_SaveConfiguration ; Rou aaseu: SAVE CONFIGURATION !842 call DriveIO_SaveConfiguration ; Rousseau: SAVE CONFIGURATION ! 824 843 ENDIF 825 call MBR_Teletype ; Prints out BootingNow2 including PartitionName 844 ;call MBR_Teletype ; Prints out BootingNow2 including PartitionName 845 mov si, offset TXT_BootingNowPartName 846 call MBR_TeletypeVolName 826 847 mov si, offset TXT_BootingNowPartition 827 848 call MBR_Teletype … … 834 855 mov dl, [si+LocIPT_Drive] 835 856 857 858 859 ; This loads the MBR in case of PRI or the EBR in case of LOG partitions. 836 860 call DriveIO_LoadPartition ; Load Table... [LOAD] 861 862 837 863 838 864 ; --------------------------------------------------- MODIFY PARTITION TABLE … … 878 904 ENDIF 879 905 906 907 880 908 ; ---------------------------------------------------------- OS/2 / eCS I13X 881 909 ; Now check if the partition to get booted is above 8 GB. 882 910 ; If yes, set magic bytes 'I13X' at 3000:0 for boot-loader to recognize. 883 911 ; This method is (c) by IBM <g> 912 ; Rousseau: Booting IBM-BM also requires the LBA address of the IBM-BM 913 ; partitionafter the 'I13X' signature. 914 ; Also, FS needs to be set to 3000H. 915 ; This info was obtained by examining the LVM 2,x MBR-code. 884 916 mov ax, wptr [si+LocIPT_AbsoluteBegin+0] 885 917 mov bx, wptr [si+LocIPT_AbsoluteBegin+2] … … 893 925 cmp bx, 00FBh 894 926 jb PSP_NoI13X 927 928 895 929 PSP_ForceI13X: 896 push es di si 897 mov ax, 3000h 898 mov es, ax 899 xor di, di 900 ; Blokkeert starten van IBM BM !! 901 mov wptr es:[di], '1I' 902 mov wptr es:[di+2], 'X3' 903 904 ;mov si,3000h 905 ;call AuxIO_DumpSector 906 907 pop si di es 930 push es di si 931 932 ; Setup ES and FS. 933 ; FS needs to keep this address. 934 mov ax, 3000h 935 mov es, ax 936 ; mov fs,ax 937 db 08eh 938 db 0e0h 939 940 ; Insert signature 941 xor di, di 942 mov wptr es:[di+00], '1I' 943 mov wptr es:[di+02], 'X3' 944 945 ;mov wptr es:[di], 0 946 ;mov wptr es:[di+2], 0 947 948 ; Insert LBA address. 949 mov ax, wptr [si+LocIPT_AbsoluteBegin+0] 950 mov wptr es:[di+04], ax 951 mov ax, wptr [si+LocIPT_AbsoluteBegin+2] 952 mov wptr es:[di+06], ax 953 954 pop si di es 955 956 957 908 958 PSP_NoI13X: 909 959 … … 1028 1078 mov dh, [si+LocIPT_LocationBegin+0] 1029 1079 mov dl, [si+LocIPT_Drive] 1080 1081 ; This loads the PBR of the partition. 1030 1082 call DriveIO_LoadPartition ; Loads boot-sector... [PARTBOOTSEC] 1083 1084 ; 1085 ; The JFS PBR-code does not use the passed BPB in memory but uses the BPB 1086 ; on disk. This breaks the drive-letter feature on JFS. 1087 ; So we make a copy of the PBR in memory, and if the partition is JFS 1088 ; we later adjust the physical-disk and boot-drive-letter in this 1089 ; copy and write it back to disk. 1090 ; Then the JFS PBR-code will see the correct boot-drive-letter. 1091 ; 1092 pusha 1093 mov si,offset PartitionSector 1094 mov di,offset JfsPBR 1095 mov cx,100h 1096 cld 1097 rep movsw 1098 popa 1099 1100 1101 1102 ; Check if the disk is a harddisk or a floppy. 1103 mov dl,[si+LocIPT_Drive] 1104 cmp dl, 80h 1105 jae is_harddisk 1106 1107 ; 1108 ; This is a dirty hack to fix booting from a floppy. 1109 ; With all the modifications made since v1.06 this feature was broken 1110 ; because Int13X is used implicitly now, and that does not work 1111 ; for diskette access. 1112 ; This jumps to the code that loads and starts the pbr-code. 1113 ; Note that it also skips virus checking ! 1114 ; This will be fixed at a later date. 1115 jmp boot_from_floppy 1116 1117 1118 1119 1120 ; 1121 ; The disk is a harddisk so we need to do various checks and fixes. 1122 ; 1123 is_harddisk: 1031 1124 1032 1125 test CFG_DetectVIBR, 1 … … 1114 1207 ; Display volume-name in bold 1115 1208 ; Just before booting the selected partition 1116 pushf 1117 pusha 1118 push si 1119 add si, LocIPT_Name 1120 call MBR_TeletypeVolName 1121 xor si,si 1122 call MBR_TeletypeNL 1123 pop si 1124 popa 1125 popf 1126 1127 1128 ; Locate cursor for output of debug-info 1129 pusha 1130 mov ch,7 1131 mov cl,0 1132 call VideoIO_Color 1133 mov ch,6 1134 mov cl,1 1135 call VideoIO_Locate 1136 popa 1209 ;pushf 1210 ;pusha 1211 ;push si 1212 ;add si, LocIPT_Name 1213 ;call MBR_TeletypeVolName 1214 ;xor si,si 1215 ;call MBR_TeletypeNL 1216 ;pop si 1217 ;popa 1218 ;popf 1219 1220 1221 1137 1222 1138 1223 … … 1151 1236 1152 1237 ; 1153 ; At this point, SI points to IPT and SI points to the PBR from disk.1238 ; At this point, SI points to IPT and DI points to the PBR from disk. 1154 1239 ; Depending on the type of BPB used, the physical disk field is at 1155 1240 ; different locations: 24h for old-style (OS/2) BPB's and 40h for … … 1177 1262 mov bx,ax 1178 1263 1264 ; Locate cursor for output of debug-info 1179 1265 pusha 1266 mov ch,7 1267 mov cl,0 1268 call VideoIO_Color 1269 mov ch,6 1270 mov cl,1 1271 call VideoIO_Locate 1272 popa 1273 1274 ; Debug display physdisk, ptype and physdisk offset in BPB 1275 pusha 1276 mov ah,[si+LocIPT_Drive] 1277 mov al,[si+LocIPT_SystemID] 1278 call VideoIO_PrintHexWord 1279 mov ax,bx 1180 1280 call VideoIO_PrintHexWord 1181 1281 popa 1182 1282 1283 1284 ; 1285 ; If the partition is IBM-BM we skip all the BPB adjustments. 1286 ; IBM-BM does no need them. 1287 ; 1288 cmp byte ptr [si+LocIPT_SystemID], 0ah 1289 jnz no_os2_bm 1290 jmp chainload_ibm_bm 1291 1292 1293 no_os2_bm: 1294 1295 ; 1183 1296 ; Update the phys-drive field 1297 ; 1184 1298 mov al,byte ptr [si+LocIPT_Drive] 1185 1299 mov es:[di+bx],al 1186 mov al,al 1187 1188 pusha 1189 call VideoIO_PrintHexByte 1190 popa 1300 1301 1302 ; 1303 ; Legacy systems do not put the correct values in the "hidden sectors" 1304 ; field. Also, this field will be incorrect if a partition is moved on 1305 ; disk by a disktool not accounting for this field. 1306 ; Linux does not have a BPB at all, and does not use this field. 1307 ; So we set the correct value here obtained by the partition scanner. 1308 ; This fixing is done by OS/2 BM as well, according to Martin. 1309 ; 1191 1310 1192 1311 ; … … 1202 1321 1203 1322 1323 1324 1325 1204 1326 ; 1205 1327 ; Check partitions to see if boot-drive-letter fixing is needed. … … 1218 1340 ; AL will be <> 0 and the boot-drive-letter can be tested / fixed. 1219 1341 mov al,0 1342 1343 1344 ; FIXME: 1345 ; The PBR is already loaded, no need to load it again in the 1346 ; calls below. 1347 ; 1348 ; Better use the already done discovery to determine the system. 1349 ; 1220 1350 1221 1351 ; When FAT12/FAT16/HPFS/JFS then boot-drive-letter can be tested … … 1229 1359 mov ah,al 1230 1360 1231 pusha 1232 mov al,'=' 1233 call VideoIO_PrintSingleChar 1234 mov al,ah 1235 call VideoIO_PrintHexByte 1236 mov al,'=' 1237 call VideoIO_PrintSingleChar 1238 popa 1239 1240 ; See if boot-drive-letter fix is needed depending on FS used. 1361 ; Store for later reference. 1362 mov [FSType],al 1363 1364 1365 ; 1366 ; When the phys-disk byte (80h) is put in this BPB in RAM, 1367 ; Windows will not find it's loader if Windows itself 1368 ; is installed in a logical partition but the loader is on FAT 1369 ; in a primary. 1370 ; This goes for all NT-based versions ? 1371 ; 1372 1373 1374 ; 1375 ; See if phys-disk / boot-drive-letter fix is needed 1376 ; depending on FS used. 1241 1377 ; AL will be 0 for any file-system other than FAT12/FAT16/HPFS/JFS. 1378 ; 1242 1379 test al,al 1243 1380 jz bdl_ok 1381 1382 1244 1383 1245 1384 ; Check if the boot-drive-letter is non-zero. … … 1261 1400 mov bx,[si+LocIPT_AbsoluteBegin+02h] 1262 1401 call LVM_GetDriveLetter 1402 1263 1403 ; Save the status for later use 1264 1404 pushf 1265 ; Save drive-letter in AH1266 mov ah,al1267 1405 1268 1406 ; See if the drive-letter feature is active. 1269 1407 ; If active, we force the drive-letter from the user. 1270 1408 test byte ptr [si+LocIPT_Flags], Flags_DriveLetter 1409 1271 1410 ; Nope, it's not so we don't force the boot-drive-letter 1272 1411 ; using field 25h. … … 1281 1420 mov al, bptr [DriveLetters+bx] 1282 1421 sub al,3dh ; Convert BIOS notation to ASCII drive-letter 1283 pusha 1284 mov al,'!' 1285 call VideoIO_PrintSingleChar 1286 popa 1422 1423 1424 1287 1425 PSP_NoLogicalSupport: 1288 1426 … … 1290 1428 ; Save it in AH. 1291 1429 mov ah,al 1292 pusha 1293 mov al,'+' 1294 call VideoIO_PrintSingleChar 1295 mov al,ah 1296 call VideoIO_PrintHexByte 1297 mov al,'+' 1298 call VideoIO_PrintSingleChar 1299 popa 1430 1300 1431 1301 1432 ; Restore the status whether an LVM drive-letter could be obtained … … 1303 1434 1304 1435 1436 ; 1305 1437 ; No valid LVM-info if no info found or drive-letter is zero. 1438 ; 1306 1439 jnc no_valid_lvm_info 1307 1440 test al,al … … 1316 1449 add al,3dh 1317 1450 1318 ; Fix the boot-drive-letter field in the BPB 1319 mov bx,PhysDiskBpbIndex 1320 inc bx 1321 mov es:[di+bx],al 1322 1323 pusha 1324 call VideoIO_PrintHexByte 1325 popa 1326 1327 jmp bdl_ok 1328 1329 1330 no_valid_lvm_info: 1331 ; HERE SHOULD COME AN ERROR POP-UP ABOUT NO BOOT-DRIVE. 1332 ; WE CONTINUE BOOTING BUT OS/2 - eCS WILL MOST PROBABLY FAIIL TO BOOT. 1333 1334 mov ah,07h 1335 mov si,offset CheckID_MBR 1336 call VideoIO_Print 1337 1338 hang: 1339 jmp hang 1340 1341 1342 bdl_ok: 1343 1344 1345 1346 ;xor ax,ax 1347 ;int 16h 1348 1349 1350 1351 1352 1353 ; Check FS-types 1354 ; Adjust fields 1355 1356 1357 1358 1359 1360 ; Rousseau: # Boot Logical Partitions) 1361 ; FreeDOS and eCS on extpart on non-huge needs special support. 1362 ; (old ja jump) 1363 ; PC-DOS7 on huge pri fat16 2G works with both (XP too) when at start of disk. 1364 ; (also when offset at 20MiB) 1365 ; PCD7 bonkt vast als in 2GiB log at start of space. 1366 ; "Starting PC DOS..." verschijnt. PCD Loader probleem. 1367 ; Offset van start-of-disk bij PCD7 niet meer dan 2GiB maken. 1368 ; Special is needed to boot ECS-CXXVAC (log-part) on Douwskie Box with 40G disk. 1369 ; FreeDOS 20G PRI SOD op 400G start niet met special. 1370 ; Heeft drive-id op 26h (36d) van 0dh ! 1371 ; WinXP werkt met special en not-special op 400G normal geo. 1372 ; eCS op PRI op 2G met os2 ext geo werkt ook met beide. 1373 ; eCS LOG werkt niet zonder special op 400G. 1374 ; (hidden secs op 3F en moet 3F00 zijn; BM staat ervoor, 3F00=255*63+63) 1375 ; Laatste 63 is MBR. 1376 ; 1377 1378 1379 1380 1381 ; 1382 ; When the phys-disk byte (80h) is put in this BPB in RAM, 1383 ; Windows will not find it's loader if Windows itself 1384 ; is installed in a logical partition but the loader is on FAT 1385 ; in a primary. 1386 ; This goes for all NT-based versions ? 1387 ; 1388 ; Get saved value of phys drive from BPB on disk. 1389 ; See if it's high nibble is above 9, which would indicate 1390 ; FreeDOS or WinBMGR/Loader on FAT32. (0FBh) 1391 ; In that case we don't write the phys-disk number to the BPB. 1392 ; 1393 1394 1395 1396 1397 1398 1399 1400 1401 ; 1402 ; Legacy systems do not put the correct values in the "hidden sectors" 1403 ; field. Also, this field will be incorrect if a partition is moved on 1404 ; disk by a disktool not accounting for this field. 1405 ; Linux does not have a BPB at all, and does not use this field. 1406 ; So we set the correct value here obtained by the partition scanner. 1407 ; This fixing is done by OS/2 BM as well, according to Martin. 1408 ; 1409 1410 1411 1412 1413 ; ----------------------------------------------- LOGICAL PARTITION SUPPORT 1414 1415 1416 ; 1417 ; OS/2 uses this field to indicate the boot-drive for the system. 1451 1452 ; 1453 ; OS/2 uses this field to indicate the boot-drive-letter for the system. 1418 1454 ; It is in BIOS notation where 80h='C', 81h='D' ... 97h='Z'. 1419 1455 ; This is the field that get's forced to a specific value when the … … 1424 1460 ; See issues #3067 and #3119 on http://bugs.ecomstation.nl 1425 1461 ; 1462 1463 1464 ; Fix the boot-drive-letter field in the BPB 1465 mov bx,PhysDiskBpbIndex 1466 ; Advance to field for drive-letter in BIOS notation (OS/2 - eCS) 1467 inc bx 1468 mov es:[di+bx],al 1469 1470 1471 jmp bdl_ok 1472 1473 1474 no_valid_lvm_info: 1475 ; HERE SHOULD COME AN ERROR POP-UP ABOUT NO BOOT-DRIVE OR NO LVM-INFO. 1476 ; WE CONTINUE BOOTING BUT OS/2 - eCS WILL MOST PROBABLY FAIL TO BOOT. 1477 1478 ;mov ah,07h 1479 ;mov si,offset CheckID_MBR 1480 ;call VideoIO_Print 1481 1482 hang: 1483 ;jmp hang 1484 1485 1486 ; 1487 ; Boot DriveLetter OK. 1488 ; 1489 bdl_ok: 1490 1491 1492 ; 1493 ; If the partition getting booted is a JFS partition then write-back 1494 ; the modified PBR to the disk. 1495 ; Note that it's not the in-memory PBR that get's written back, but 1496 ; a copy of the original where only the phys-disk and boot-drive-letter 1497 ; are adjusted. 1498 ; 1499 pusha 1500 mov al,[FSType] 1501 cmp al,04h ; JFS 1502 jnz no_jfs_pbr 1503 1504 ; Save IPT pointer 1505 push si 1506 1507 ; Copy the boot-drive and boot-drive-letter fields. 1508 mov si,offset PartitionSector 1509 mov di,offset JfsPBR 1510 mov al,[si+24h] 1511 mov [di+24h],al 1512 mov al,[si+25h] 1513 mov [di+25h],al 1514 1515 ; Restore IPT pointer 1516 pop si 1517 1518 ; Setup the registers for the partition location. 1519 mov ax, wptr [si+LocIPT_AbsoluteBegin+0] 1520 mov bx, wptr [si+LocIPT_AbsoluteBegin+2] 1521 mov cx, [si+LocIPT_LocationBegin+1] 1522 mov dh, [si+LocIPT_LocationBegin+0] 1523 mov dl, [si+LocIPT_Drive] 1524 1525 ; Write the adjusted JFS PBR to disk. 1526 mov si, offset JfsPBR 1527 call DriveIO_SaveSector 1528 1529 no_jfs_pbr: 1530 popa 1531 1532 1533 ;xor ax,ax 1534 ;int 16h 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 ; ----------------------------------------------- LOGICAL PARTITION SUPPORT 1553 1554 1555 1426 1556 ; AiR-BOOT now works around it by using the LVM-info (DLAT) of 1427 1557 ; the partiton if present. … … 1439 1569 1440 1570 1441 1442 1443 ; 1444 ; At this point it's possible that a system is being booted from 1445 ; HPFS with the boot-drive field (25h) set to zero. 1446 ; This will result in OS/2 - eCS being unable to boot the system. 1447 ; So we're gonna check this byte here and if it's zero we will 1448 ; replace it with information found in LVM DLAT info. 1449 ; 1450 1451 1452 1453 1454 1455 ; <<<< KNIP >>>> LVM STUFF 1456 1457 1458 1459 1460 1461 1462 ; 1463 ; Here we copy the prepared partition boot-record to 7C00h 1571 ; 1572 ; Control is transferred to this point if we are booting IBM-BM. 1573 ; IBM-BM does not need the BPB fixes. 1574 ; It does require a other special stuff, which is already taken care of. 1575 ; 1576 chainload_ibm_bm: 1577 1578 ; 1579 ; Control is transferred to this point if we are booting a floppy. 1580 ; Booting from floppy skips all the harddisk related stuff. 1581 ; This is a dirty hack to fix the boot from floppy feature. 1582 ; 1583 boot_from_floppy: 1584 1585 ; 1586 ; Here we copy the prepared partition boot-record to 0000:7C00h 1464 1587 ; to give it control later on. 1465 1588 ; 1589 push es 1466 1590 push si 1467 1591 mov ax, StartBaseSeg … … 1470 1594 mov si, offset PartitionSector 1471 1595 mov di, StartBasePtr 1596 cld 1472 1597 rep movsw 1473 1598 pop si 1599 pop es 1474 1600 1475 1601 ; --------------------------------------------------- NOW START BOOT-RECORD … … 1488 1614 ; 1489 1615 1616 ; Skip wait-for-key 1617 jmp start_pbr 1618 1490 1619 ; 1491 1620 ; Wait for keypress … … 1500 1629 jne start_pbr 1501 1630 1631 ;xor ax,ax 1632 ;mov [CurPartition_Location+00],ax 1633 ;mov [CurPartition_Location+02],ax 1634 ;mov [CurPartition_Location+04],ax 1635 ;mov [CurPartition_Location+06],ax 1636 1637 ;pusha 1638 ;xor al,al 1639 ;mov di,si 1640 ;add di,LocIPT_Name 1641 ;mov cx,12 1642 ;cld 1643 ;rep stosb 1644 ;popa 1645 1646 1647 ;push ds 1648 ;pop es 1649 1502 1650 ; Yep, Reenter bootmenu 1503 1651 jmp MBR_Main_ReEnterBootMenuPre … … 1509 1657 ; 1510 1658 start_pbr: 1659 1660 ; Debug display index 1661 ;pusha 1662 ;mov al, cs:[si+LocIPT_Drive] ; Drive Physical No 1663 ;mov ah, cs:[si+LocIPT_SystemID] ; SystemID 1664 ;call VideoIO_PrintHexWord 1665 ;xor ax, ax 1666 ;int 16h 1667 ;popa 1668 1669 1670 ; About 1.5 seconds 1671 mov al,30 1672 call TIMER_WaitTicCount 1511 1673 1512 1674 ; … … 1517 1679 xor cx, cx 1518 1680 mov ds, ax 1519 mov es, ax ; DS == ES == 01520 xor dh, dh ; Drive supported by BIOS1681 mov es, ax 1682 xor dh, dh 1521 1683 mov dl, cs:[si+LocIPT_Drive] ; Drive Physical No 1684 1685 1522 1686 1523 1687 ; -
trunk/BOOTCODE/REGULAR/PARTSCAN.ASM
r32 r36 311 311 stosw 312 312 ; Set Serial-Field to LVM-VolumeID 313 313 314 push di 314 add si, LocLVM_ PartitionName315 315 add si, LocLVM_VolumeName ; Use LVM VolumeName 316 ;add si, LocLVM_PartitionName ; Use LVM PartitionName 316 317 mov cx, 5 317 318 rep movsw ; Copy LVM-PartitionName to Temp Space 318 319 movsb ; (11 bytes in total) 319 320 320 pop di 321 322 323 ; Check if this is an IBM-BM partition 321 324 cmp PartSystemID, 0ah 322 323 325 jne PCCTP_NoIbmBm 326 327 ; It is, so override the name given by IBM-BM by one that 328 ; fits in 11 chars. 324 329 mov si, offset ibm_bm_name 325 330 mov cx,5 … … 330 335 331 336 PCCTP_NoIbmBm: 332 333 334 337 pop di si dx ax 335 338 mov si, offset MBR_NoName_Patched … … 660 663 cmp NewPartitions, LocIPT_MaxPartitions 661 664 jbe PCCTP_NotTooManyPartitions 665 662 666 mov si, offset TXT_TooManyPartitions 663 667 call MBR_Teletype 664 668 jmp MBR_HaltSystem 669 665 670 666 671 PCCTP_NotTooManyPartitions: … … 693 698 ret 694 699 PARTSCAN_CheckThisPartition EndP 700 701 stop_scanning db 0 695 702 696 703 ; =================== … … 805 812 PARTSCAN_SyncHideConfigWithXref EndP 806 813 807 ibm_bm_name: db ' IBM BootMan',0814 ibm_bm_name: db 'OS2 BootMgr',0 808 815 ;win_bm_name: db 'BOOTMGR',0 -
trunk/BOOTCODE/REGULAR/STD_TEXT.ASM
r35 r36 37 37 ;Copyright db ' AiR-BOOT v1.07 - (c) 1998-2011 M. Kiewitz, Dedicated to Gerd Kiewitz', 0 38 38 ;Copyright db ' AiR-BOOT v1.0.8 - (c) 1998-2011 M. Kiewitz, Dedicated to Gerd Kiewitz', 0 39 39 40 ;Copyright db ' AiR-BOOT v1.0.8-internal-beta - ** !! NOT FOR DISTRIBUTION !! **', 0 40 Copyright db ' AiR-BOOT v1.0.8 - (c) 1998-2012 M. Kiewitz, Dedicated to Gerd Kiewitz', 0 41 ;Copyright db ' AiR-BOOT v1.0.8 - (c) 2012 M. Kiewitz <<Release Candidate>> (build: #18)', 0 42 Copyright db ' AiR-BOOT v1.0.8 - (c) 2012 M. Kiewitz <<Release Candidate 1>> (bld: 20120124)', 0 43 ;Copyright db ' AiR-BOOT v1.0.8 - (c) 1998-2012 M. Kiewitz, Dedicated to Gerd Kiewitz', 0 41 44 42 45 ; Rousseau: switch around 43 BootEndMsg db 'This is GPLv3+ software . Please visit: http://www.gnu.org/licenses/gpl.txt', 044 BootEndMsg2 db ' http://svn.netlabs.org/air-boot', 046 BootEndMsg db 'This is GPLv3+ software, please visit: http://www.gnu.org/licenses/gpl.txt', 0 47 BootEndMsg2 db 'To obtain the sources, please visit: http://svn.netlabs.org/air-boot', 0 45 48 46 49 AuxInitMsg db 'Initializing Serial Communications on COM',0 … … 50 53 51 54 ; Colors for special words hard-coded. Keep all 0s. 52 TXT_SETUP_LowerMessage db 'This software is released under ', 0, 'GPLv3+ .', 055 TXT_SETUP_LowerMessage db 'This software is released under ', 0, 'GPLv3+', 0 53 56 db 'http://www.gnu.org/licenses/gpl.txt', 0 54 db 'For more information and source, please visit ', 057 db 'For more information and source, please visit:', 0 55 58 db 'http://svn.netlabs.org/air-boot', 0 56 59 db 'Contact via e-mail: ', 0, 'airboot@ecomstation.com', 0 -
trunk/BOOTCODE/REGULAR/VIDEOIO.ASM
r34 r36 853 853 854 854 ShowMenu: db "Press TAB to return to the AiR-BOOT Menu",0 855 ShowBootLog: db "Press TAB to see the Boot Log...",0855 ;ShowBootLog: db "Press TAB to see the Boot Log...",0 856 856 857 857 Yes: db "YES",0 -
trunk/BOOTCODE/SETUP/PART_SET.ASM
r31 r36 600 600 pop dx 601 601 jnc PSCPN_LVMGotError ; Not Found? -> display error and halt 602 603 ; 604 ; While AiR-BOOT v1.0.8+ displays the LVM VolumeName, the LVM PartitionName 605 ; is used here to compare to the IPT. 606 ; The IPT has the LVM VolumeName, so if they differ the compare will fail 607 ; and the user-entry will noy be written to the LVM-info sector. 608 ; 602 609 add si, LocLVM_PartitionName 610 611 603 612 xchg si, di ; SI-IPTEntry, DI-LVM PartName 604 613 jmp PSCPN_CheckPartName ; Check, if match... … … 606 615 PSCPN_LVMGotError: 607 616 jmp MBR_LoadError 617 618 608 619 609 620 ; mov si, di ; Restore SI and bootrecord fall-back … … 619 630 call DriveIO_LoadPartition 620 631 pop dx 632 621 633 ; We seek to Partition Label within boot-record here 622 634 mov di, offset PartitionSector 635 623 636 push si 624 637 mov al, [si+LocIPT_SystemID] … … 626 639 ; Replies AH - FileSysFlags, AL - UnhiddenID, SI - FileSysNamePtr 627 640 pop si 641 628 642 test ah, FileSysFlags_NoName ; If NoName by FileSysFlag 629 643 jnz PSCPN_LetUserEditPartName ; -> don't put it into BR at anytime 630 644 test ah, FileSysFlags_FAT32 ; FAT32 specific name getting 631 645 jz PSCPN_ResumeNormal 632 add di, 1Ch ; Fix f r FAT 32, shit646 add di, 1Ch ; Fix for FAT 32, shit 633 647 PSCPN_ResumeNormal: 634 add di, 2Bh ; ES:DI - Name der Partition 648 add di, 2Bh ; ES:DI - Name of Partition 649 650 651 652 635 653 636 654 ; This code is used for BR and LVM checking 655 ; Rousseau: Because AiR-BOOT v1.0.8 uses the LVM_VolumeName, which is copied 656 ; to the IPT, this compare fails when the LVM_PartitionName is not 657 ; the same as the LVM_VolumeName. 658 ; This is a protection against editing the Label when these names differ. 659 ; MiniLVM assigns the same value to both, so partitions created with MiniLVM 660 ; can be edited. 637 661 PSCPN_CheckPartName: 662 663 ; SI = IPT_Enty 664 665 ; If the partition is an LVM partition then disable editing completely. 666 cmp byte ptr [si+LocIPT_SystemID], 035h 667 jnz no_type_35h 668 jmp PSCPN_AllDone 669 no_type_35h: 670 638 671 mov cx, 11 ; Partition-Name-Length = 11 Bytes 639 672 push si di … … 642 675 pop di si 643 676 jne PSCPN_LetUserEditPartName ; -> No BR/LVM Changing/Saving 677 644 678 mov ChangePartNameSave, 1 ; Remember, so we will save to BR 645 679 … … 662 696 cmp [PartitionVolumeLetters+bx], 0 ; ==0 means not supported by LVM 663 697 je PSCPN_SaveBootRecord 664 ; -------------------------------------------------------------[LVM SAVE]--- 665 ; Copy 11 bytes from IPT into LVM-Sector also fill 9 bytes with NUL 698 699 700 ; Make DI point to LVM VolumeName in LVM-entry 701 sub di,20 702 703 ; -------------------------------------------------[LVM SAVE VOLUME NAME]--- 704 ; Copy 11 bytes from IPT into LVM VolumeName, back-padd with zero's 666 705 mov cx, 11 667 706 push si … … 671 710 mov cx, 9 672 711 rep stosb 712 713 714 ; 715 ; The AiR-BOOT Label Editor inserts spaces when a label is edited 716 ; and characters are backspaced. 717 ; This is fine for filesystem labels, which are space padded, 718 ; but the LVM VolumeName and PartitionName need to be zero padded. 719 ; So, below we replace all trailing spaces with zero's. 720 ; 721 ; Correct LVM VolumeName 722 ; 723 push di 724 mov cx,20 725 vn_padd_next: 726 jcxz vn_padded 727 dec di 728 dec cx 729 mov al,[di] 730 test al,al 731 jz vn_padd_next 732 cmp al,' ' 733 jnz vn_padded 734 mov byte ptr [di],0 735 jmp vn_padd_next 736 vn_padded: 737 pop di 738 739 740 741 742 ; ----------------------------------------------[LVM SAVE PARTITION NAME]--- 743 ; Copy 11 bytes from IPT into LVM PartitonName, back-padd with zero's 744 mov cx, 11 745 push si 746 rep movsb 747 pop si 748 xor al, al 749 mov cx, 9 750 rep stosb 751 752 753 ; 754 ; The AiR-BOOT Label Editor inserts spaces when a label is edited 755 ; and characters are backspaced. 756 ; This is fine for filesystem labels, which are space padded, 757 ; but the LVM VolumeName and PartitionName need to be zero padded. 758 ; So, below we replace all trailing spaces with zero's. 759 ; 760 ; Correct LVM PartitionName 761 ; 762 push di 763 mov cx,20 764 pn_padd_next: 765 jcxz pn_padded 766 dec di 767 dec cx 768 mov al,[di] 769 test al,al 770 jz pn_padd_next 771 cmp al,' ' 772 jnz pn_padded 773 mov byte ptr [di],0 774 jmp pn_padd_next 775 pn_padded: 776 pop di 777 778 673 779 ; Update LVM-CRC now... 674 780 mov si, offset LVMSector -
trunk/BOOTCODE/SPECIAL/LVM.ASM
r34 r36 249 249 ; From here we look for an LVM entry for the partition. 250 250 ; If one is found, based on it's LBA-start, it's driveletter is used 251 ; in case byte 25h i s zero.251 ; in case byte 25h in the BPB is zero. 252 252 ; 253 253 -
trunk/BOOTCODE/TEXT/DE/MENUS.ASM
r29 r36 323 323 TXT_SETUP_PasswordIncorrect db 'Altes Passwort inkorrekt, Sorry', 0 324 324 TXT_SETUP_PasswordMismatch db 'Nicht gleich, altes Passwort beibehalten', 0 325 TXT_SETUP_PasswordDisabled db 'Kein Passwort /Schutz Deaktiviert', 0325 TXT_SETUP_PasswordDisabled db 'Kein Passwort -> Schutz Deaktiviert', 0 326 326 TXT_SETUP_PasswordMatched db '** Neues Passwort Gesetzt **', 0 327 327 -
trunk/BOOTCODE/TEXT/DE/OTHER.ASM
r29 r36 56 56 TXT_BrokenPartitionTable: db 13, 10, ' - Mindestens einer Ihrer Partitionseintrge ist ungltig oder Ihre Festplatte' 57 57 db 13, 10, ' beinhaltet defekte Sektoren. System angehalten.', 0 58 TXT_TooManyPartitions: db 13, 10, ' - Zuviele Partitionen gefunden. AiR-BOOT untersttzt maximal 30.', 058 TXT_TooManyPartitions: db 13, 10, ' - Zuviele Partitionen gefunden. AiR-BOOT untersttzt maximal 45.', 0 59 59 TXT_NoBootAble: db 13, 10, ' - Keine bootbare Partition definiert. System angehalten.', 0 60 60 TXT_BIOSchanged: db 13, 10, ' - BIOS HAT SICH VERNDERT. berprfen Sie ihr System auf Viren.' … … 78 78 TXT_BootingNow1: db 'Booten des Systems durch ', 0 79 79 ; DO NOT MODIFY HERE 80 TXT_BootingNow2: db '''' 80 TXT_BootingNow2: db '''', 0 81 81 TXT_BootingNowPartName: db 12 dup (0) ; Space for BootThisPart-Name 82 82 ; DO NOT MODIFY TILL HERE 83 TXT_BootingNowPartition: db ' ''Partition', 084 TXT_BootingNowKernel: db ' ''Kernel', 083 TXT_BootingNowPartition: db ' Partition', 0 84 TXT_BootingNowKernel: db ' Kernel', 0 85 85 TXT_BootingNow3: db '''', 0 86 86 TXT_BootingHide: db '; Hide aktiv', 0 -
trunk/BOOTCODE/TEXT/EN/MENUS.ASM
r29 r36 325 325 TXT_SETUP_PasswordIncorrect db 'Old Password Incorrect, Sorry', 0 326 326 TXT_SETUP_PasswordMismatch db 'Mismatched, Old Password Retained', 0 327 TXT_SETUP_PasswordDisabled db 'No Password /Protection Disabled', 0327 TXT_SETUP_PasswordDisabled db 'No Password -> Protection Disabled', 0 328 328 TXT_SETUP_PasswordMatched db '** Matched, New Password Set **', 0 329 329 -
trunk/BOOTCODE/TEXT/EN/OTHER.ASM
r30 r36 57 57 TXT_BrokenPartitionTable: db 13, 10, ' - Your system has at least one broken partition table entry or your harddrive' 58 58 db 13, 10, ' contains bad sectors. System halted.', 0 59 TXT_TooManyPartitions: db 13, 10, ' - Too many partitions found. AiR-BOOT is supporting up to 30.', 059 TXT_TooManyPartitions: db 13, 10, ' - Too many partitions found. AiR-BOOT is supporting up to 45.', 0 60 60 TXT_NoBootAble: db 13, 10, ' - No bootable partition defined. System halted.', 0 61 61 TXT_BIOSchanged: db 13, 10, ' - BIOS CHANGED, please check your system for any virus, just to be sure.' … … 78 78 TXT_BootingNow1: db 'Booting the system using ', 0 79 79 ; DO NOT MODIFY HERE 80 TXT_BootingNow2: db '''' 80 TXT_BootingNow2: db '''', 0 81 81 TXT_BootingNowPartName: db 12 dup (0) ; Space for BootThisPart-Name 82 82 ; DO NOT MODIFY TILL HERE 83 TXT_BootingNowPartition: db ' ''partition', 084 TXT_BootingNowKernel: db ' ''kernel', 083 TXT_BootingNowPartition: db ' partition', 0 84 TXT_BootingNowKernel: db ' kernel', 0 85 85 TXT_BootingHide: db '; hide active', 0 86 86 TXT_BootingWait: db '; please wait...', 13, 10, 13, 10, 0 -
trunk/BOOTCODE/TEXT/FR/MENUS.ASM
r29 r36 334 334 TXT_SETUP_PasswordIncorrect db 'Ancien Mot de Passe Incorrect, Dsol', 0 335 335 TXT_SETUP_PasswordMismatch db 'Diffrents!!! Ancient Mot de passe Conserv', 0 336 TXT_SETUP_PasswordDisabled db 'Pas de Mot de Passe /Protection Dsactiv', 0336 TXT_SETUP_PasswordDisabled db 'Pas de Mot de Passe -> Protection Dsactiv', 0 337 337 TXT_SETUP_PasswordMatched db '** Identiques, Nouveau Mot de Passe Activ **', 0 338 338 -
trunk/BOOTCODE/TEXT/FR/OTHER.ASM
r29 r36 56 56 TXT_BrokenPartitionTable: db 13, 10, ' - Votre systme a au moins d''une entre mauvaise de table de partition, ou' 57 57 db 13, 10, ' la disque dr a des casse secteurs. Systme arrt.', 0 58 TXT_TooManyPartitions: db 13, 10, ' - Trop de partitions trouves. AiR-BOOT supporte un maximum de 30.', 058 TXT_TooManyPartitions: db 13, 10, ' - Trop de partitions trouves. AiR-BOOT supporte un maximum de 45.', 0 59 59 TXT_NoBootAble: db 13, 10, ' - Aucune partition amorable dfinie. Systme arrt.', 0 60 60 TXT_BIOSchanged: db 13, 10, ' - BIOS CHANG! Veuillez vrifier votre systme contre un virus.' … … 77 77 TXT_BootingNow1: db 'Amorage du systme avec ', 0 78 78 ; DO NOT MODIFY HERE 79 TXT_BootingNow2: db '''' 79 TXT_BootingNow2: db '''', 0 80 80 TXT_BootingNowPartName: db 12 dup (0) ; Space for BootThisPart-Name 81 81 ; DO NOT MODIFY TILL HERE 82 TXT_BootingNowPartition: db '' '', 083 TXT_BootingNowKernel: db '' '', 082 TXT_BootingNowPartition: db '', 0 83 TXT_BootingNowKernel: db '', 0 84 84 TXT_BootingHide: db '; cach actif', 0 85 85 TXT_BootingWait: db '; veuillez patienter...', 13, 10, 13, 10, 0 -
trunk/BOOTCODE/TEXT/IT/MENUS.ASM
r29 r36 338 338 TXT_SETUP_PasswordIncorrect db 'Password Precedente Errata, Spiacente.', 0 339 339 TXT_SETUP_PasswordMismatch db 'Incorretta, Mantenuta la Password Precedente.', 0 340 TXT_SETUP_PasswordDisabled db 'Nessuna Password /Protezione Disabilitata.', 0340 TXT_SETUP_PasswordDisabled db 'Nessuna Password -> Protezione Disabilitata.', 0 341 341 TXT_SETUP_PasswordMatched db '** Corretta, Nuova Password Attivata **', 0 342 342 -
trunk/BOOTCODE/TEXT/IT/OTHER.ASM
r29 r36 56 56 TXT_BrokenPartitionTable: db 13, 10, ' - Il sistema ha almeno una partizione corrotta nel tuo hard-disk contiene' 57 57 db 13, 10, ' settori danneggiati. Sistema bloccato.', 0 58 TXT_TooManyPartitions: db 13, 10, ' - Trovate troppe partizioni. AiR-BOOT ne supporta fino a 30.', 058 TXT_TooManyPartitions: db 13, 10, ' - Trovate troppe partizioni. AiR-BOOT ne supporta fino a 45.', 0 59 59 TXT_NoBootAble: db 13, 10, ' - Nessuna partizione avviabile definita. Sistema bloccato.', 0 60 60 TXT_BIOSchanged: db 13, 10, ' - BIOS MODIFICATO! Controllare il sistema contro eventuali virus.' … … 80 80 TXT_BootingNowPartName: db 12 dup (0) ; Space for BootThisPart-Name 81 81 ; DO NOT MODIFY TILL HERE 82 TXT_BootingNowPartition: db '' '', 083 TXT_BootingNowKernel: db ' ''kernel', 082 TXT_BootingNowPartition: db '', 0 83 TXT_BootingNowKernel: db ' kernel', 0 84 84 TXT_BootingHide: db '; part. attiva nascosta', 0 85 85 TXT_BootingWait: db '; attendere, prego...', 13, 10, 13, 10, 0 -
trunk/BOOTCODE/TEXT/NL/MENUS.ASM
r30 r36 343 343 TXT_SETUP_PasswordIncorrect db 'Vorig wachtwoord niet juist. Jammer!', 0 344 344 TXT_SETUP_PasswordMismatch db 'Klopt niet! Het vorig wachtwoord wordt opnieuw ingesteld', 0 345 TXT_SETUP_PasswordDisabled db 'Er werd geen wachtwoord ingesteld .', 0345 TXT_SETUP_PasswordDisabled db 'Er werd geen wachtwoord ingesteld -> Beveiliging uitgeschakeld', 0 346 346 TXT_SETUP_PasswordMatched db '** Klopt! Het nieuwe wachtwoord werd ingesteld **', 0 347 347 -
trunk/BOOTCODE/TEXT/NL/OTHER.ASM
r30 r36 56 56 TXT_BrokenPartitionTable: db 13, 10, ' - U hard disk bevat minstens 1 beschadigde paritietabel element of u hard disk' 57 57 db 13, 10, ' bevat bad sector. Systeem is gestopt.', 0 58 TXT_TooManyPartitions: db 13, 10, ' - Er zijn teveel partities aanwezig. Het maximum is 30.', 058 TXT_TooManyPartitions: db 13, 10, ' - Er zijn teveel partities aanwezig. Het maximum is 45.', 0 59 59 TXT_NoBootAble: db 13, 10, ' - Geen opstartpartitie beschikbaar. Systeem is gestopt.', 0 60 60 TXT_BIOSchanged: db 13, 10, ' - Het BIOS werd gewijzigd! Controleer eerst op virussen.' … … 77 77 TXT_BootingNow1: db 'Er wordt nu opgestart van de ', 0 78 78 ; DO NOT MODIFY HERE 79 TXT_BootingNow2: db '''' 79 TXT_BootingNow2: db '''', 0 80 80 TXT_BootingNowPartName: db 12 dup (0) ; Space for BootThisPart-Name 81 81 ; DO NOT MODIFY TILL HERE 82 TXT_BootingNowPartition: db ' ''partitie', 083 TXT_BootingNowKernel: db ' ''kernel', 082 TXT_BootingNowPartition: db ' partitie', 0 83 TXT_BootingNowKernel: db ' kernel', 0 84 84 TXT_BootingHide: db '; actieve verbergen', 0 85 85 TXT_BootingWait: db '; Wachten graag...', 13, 10, 13, 10, 0 -
trunk/BOOTCODE/TEXT/RU/MENUS.ASM
r29 r36 333 333 TXT_SETUP_PasswordIncorrect db 'â àë© ¯ à®«ì ¥¢¥à¥', 0 334 334 TXT_SETUP_PasswordMismatch db '¥á®¢¯ €¥š¥! ®ááâ ®¢«¥ áâ àë© ¯ ஫ì', 0 335 TXT_SETUP_PasswordDisabled db '¥â ¯ ஫ï /§ éšâ ®âª«îç¥ ', 0335 TXT_SETUP_PasswordDisabled db '¥â ¯ ஫ï -> § éšâ ®âª«îç¥ ', 0 336 336 TXT_SETUP_PasswordMatched db '** ®€â¢¥àŠ€¥®! € ®¢ë© ¯ ஫ì **', 0 337 337 -
trunk/BOOTCODE/TEXT/RU/OTHER.ASM
r29 r36 56 56 TXT_BrokenPartitionTable: db 13, 10, ' - ¡ à㊥ ¬šš¬ã¬ ®€š šá¯®àç¥ë© à §€¥«, «š¡® â ¡«šæ à §€¥«®¢ ᮀ¥àŠšâ' 57 57 db 13, 10, ' á¡®©ë¥ ¡«®ªš. šá⥬ ®áâ ®¢«¥ .', 0 58 TXT_TooManyPartitions: db 13, 10, ' - «šèª®¬ ¬®£® à §€¥«®¢ ©€¥®. AiR-BOOT ¯®€€¥àŠš¢ ¥â €® 30.', 058 TXT_TooManyPartitions: db 13, 10, ' - «šèª®¬ ¬®£® à §€¥«®¢ ©€¥®. AiR-BOOT ¯®€€¥àŠš¢ ¥â €® 45.', 0 59 59 TXT_NoBootAble: db 13, 10, ' - ¥ ©€¥® § £à㊠¥¬ëå à §€¥«®¢. šá⥬ ®áâ ®¢«¥ .', 0 60 60 TXT_BIOSchanged: db 13, 10, ' - BIOS … … 86 86 TXT_BootingNow1: db ' £à㧪 ášá⥬ë, šá¯®«ì§ãï ', 0 87 87 ; DO NOT MODIFY HERE 88 TXT_BootingNow2: db '''' 88 TXT_BootingNow2: db '''', 0 89 89 TXT_BootingNowPartName: db 12 dup (0) ; Space for BootThisPart-Name 90 90 ; DO NOT MODIFY TILL HERE 91 TXT_BootingNowPartition: db ' ''à §€¥«', 092 TXT_BootingNowKernel: db ' ''ï€à®', 091 TXT_BootingNowPartition: db ' à §€¥«', 0 92 TXT_BootingNowKernel: db ' ï€à®', 0 93 93 TXT_BootingHide: db '; ᮪àë⚥ ªâš¢®', 0 94 94 TXT_BootingWait: db '; ¯®Š «ã©áâ , ¯®€®Š€šâ¥...', 13, 10, 13, 10, 0 -
trunk/BOOTCODE/TEXT/SW/MENUS.ASM
r29 r36 349 349 TXT_SETUP_PasswordIncorrect db 'Gammalt Lsenord Inte Korrekt, Ledsen', 0 350 350 TXT_SETUP_PasswordMismatch db 'Matchar Inte, Gammalt Lsenord Behlls', 0 351 TXT_SETUP_PasswordDisabled db 'Inget Lsenord /Skydd Avaktiverat', 0351 TXT_SETUP_PasswordDisabled db 'Inget Lsenord -> Skydd Avaktiverat', 0 352 352 TXT_SETUP_PasswordMatched db '** Matchar, Nytt Lsenord Satt **', 0 353 353 -
trunk/BOOTCODE/TEXT/SW/OTHER.ASM
r29 r36 56 56 TXT_BrokenPartitionTable: db 13, 10, ' - Ditt system har minst en bruten partitionstabellspost eller har din hrddisk' 57 57 db 13, 10, ' trasiga sektorer. Systemet haltat.', 0 58 TXT_TooManyPartitions: db 13, 10, ' - Fr mnga partitioner hittades. AiR-BOOT stder endast upp till 30.', 058 TXT_TooManyPartitions: db 13, 10, ' - Fr mnga partitioner hittades. AiR-BOOT stder endast upp till 45.', 0 59 59 TXT_NoBootAble: db 13, 10, ' - Ingen bootningsbar partition definierad. Systemet haltat.', 0 60 60 TXT_BIOSchanged: db 13, 10, ' - BIOS NDRAT, var vnlig kontrollera ditt system efter virus, fr att vara sker.' … … 77 77 TXT_BootingNow1: db 'Bootar systemet anvndande ', 0 78 78 ; DO NOT MODIFY HERE 79 TXT_BootingNow2: db '''' 79 TXT_BootingNow2: db '''', 0 80 80 TXT_BootingNowPartName: db 12 dup (0) ; Space for BootThisPart-Name 81 81 ; DO NOT MODIFY TILL HERE 82 TXT_BootingNowPartition: db ' ''partition', 083 TXT_BootingNowKernel: db ' ''krna', 082 TXT_BootingNowPartition: db ' partition', 0 83 TXT_BootingNowKernel: db ' krna', 0 84 84 TXT_BootingHide: db '; dlj aktiv', 0 85 85 TXT_BootingWait: db '; var vnlig vnta...', 13, 10, 13, 10, 0 -
trunk/INSTALL/C/INSTALL.C
r32 r36 400 400 USHORT SectorCount = 0; 401 401 402 /* 403 // Note that the 'AiRCFG-TABLE' string includes the invisible 0xAD char. 404 */ 402 405 if (strncmp(ConfigSectorPtr, "AiRCFG-TABLE", 13)==0) { 403 406 // AiR-BOOT signature found... … … 798 801 StatusCode = STATUS_IMPOSSIBLE; 799 802 if (!Option_CID) { 800 ImpossibleCause = "unable to install\n Your harddisc does not have at least 6 2sectors per track.";803 ImpossibleCause = "unable to install\n Your harddisc does not have at least 63 sectors per track."; 801 804 } 802 805 } … … 981 984 printf("\n"); 982 985 printf("Your copy of AiR-BOOT is now fully functional.\n"); 983 printf("Please hit ESC to exit AiR-BOOT installer or ENTER to reboot your system...\n"); 986 if (!Option_Silent) { 987 printf("Please hit ESC to exit AiR-BOOT installer or ENTER to reboot your system...\n"); 988 } 984 989 } 985 990 if (Option_Silent || Option_CID) { 986 991 // Silent operation? Always reboot system (shall we do this really?) 987 UserKey = 0x0D; 992 // No, otherwise installing from MiniLVM will reboot the system 993 // which is not what the user would expect. 994 //UserKey = 0x0D; 995 UserKey = 0x1B; 988 996 } else { 989 997 do { … … 1036 1044 } 1037 1045 1038 if (ExitOnly) { 1039 if (!Option_CID) { 1040 printf("\n"); 1041 printf("Please hit ENTER to exit AiR-BOOT installer...\n"); 1042 } 1043 if (!Option_Silent || !Option_CID) { 1044 while (getch()!=0x0D); 1045 } 1046 if (ExitOnly) { 1047 if (!(Option_CID || Option_Silent)) { 1048 printf("\n"); 1049 printf("Please hit ENTER to exit AiR-BOOT installer...\n"); 1050 while (getch()!=0x0D); 1051 } 1046 1052 } 1047 1053 return 0; -
trunk/INSTALL/DOS/MAKE.BAT
r30 r36 10 10 copy airboot.com ..\..\RELEASE\DOS\airboot.com 11 11 12 @ren airboot.LST airboot.TSL 13 @ren airboot.TSL AIRBOOT.LST 14 12 15 rem Cleanup 13 16 del airboot.com -
trunk/INSTALL/INST_X86/INSTALL.INC
r35 r36 514 514 mov si, offset TXT_Language_EN 515 515 je ISL_Done 516 cmp al, ' D'516 cmp al, 'N' 517 517 mov si, offset TXT_Language_NL 518 518 je ISL_Done … … 989 989 MBR_EZSETUPCodeSig db '528+Mbyte(C)1993,94 Micro House Int',39,'l',0 990 990 MBR_EZSETUPCodeSigLen equ 38 991 MBR_AiRBOOTConfigSig db 'AiRCFG-TABLE' 991 MBR_AiRBOOTConfigSig db 'AiRCFG-TABLE' ; Contains invisible 0adh character ! 992 992 MBR_AiRBOOTConfigSigLen equ 13 993 993
Note:
See TracChangeset
for help on using the changeset viewer.