Changeset 29
- Timestamp:
- May 5, 2011, 2:00:00 PM (14 years ago)
- Files:
-
- 264 added
- 26 deleted
- 131 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
tags/v1.06r/BOOTCODE/AIR-BOOT.ASM
r26 r29 1 2 ; Disclaimer: 3 ;============= 4 ; The sourcecode is released via www.netlabs.org CVS *ONLY*. 5 ; You MUST NOT upload it to other servers nor republish it in any way. 6 ; The sourcecode is still COPYRIGHTED and NOT RELEASED UNDER GPL. 7 ; It's (c) Copyright 1998-2003 by Martin Kiewitz. 8 ; You may recompile the source and do *PRIVATE* modifications, but please keep 9 ; in mind that modifying this code needs at least *some* assembly skill. If 10 ; you mess up your system, because you needed to hack your way through, don't 11 ; blame me. Releasing a customized version of AiR-BOOT, selling it in any form 12 ; or reusing parts of this source is *PROHIBITED*. Ask me, if you have some 13 ; idea about new functionality *before* developing the code, otherwise I will 14 ; definitely reject it. Also please accept, that I have some basic design 15 ; rules on AiR-BOOT and I will maintain them at all costs, so this won't get 16 ; another GRUB. 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 17 18 18 19 ;--------------------------------------------------------------------------- 19 20 ; AiR-BOOT / MAIN-CODE 20 21 ;--------------------------------------------------------------------------- 22 ; 21 23 22 24 ; If ReleaseCode is not defined, it will produce debug-able code... 23 25 ReleaseCode equ -1 24 ; ReleaseCommercial equ -125 26 26 27 JUMPS … … 29 30 30 31 IFDEF ReleaseCode 31 ExecBaseSegequ 00000h32 ExecBasePtrequ 07C00h ; BIOS starts our MBR at 0:7C0032 StartBaseSeg equ 00000h 33 StartBasePtr equ 07C00h ; BIOS starts our MBR at 0:7C00 33 34 ELSE 34 ExecBaseSeg equ 03567h ; Adjust to DOS segment35 ExecBasePtrequ 00100h35 StartBaseSeg equ 03A98h ; Adjust to DOS segment 36 StartBasePtr equ 00100h 36 37 ENDIF 37 38 BootBaseSeg equ 8000h … … 46 47 VideoIO_FXSegment equ 0A000h 47 48 48 Include ..\ ..\..\JimiHelp\asm.inc\stdmacro.inc49 Include ..\INSTALL\GLOBAL.ASM\airboot.inc49 Include ..\INCLUDE\asm.inc 50 ;Include ..\INCLUDE\DOS\airboot.inc 50 51 51 52 TextChar_WinLineRight equ 0C4h ; 'Ä' … … 75 76 LocBR_Magic equ 510 76 77 78 ; Offsets for LVM Information Sector 79 LocLVM_SignatureStart equ 0 80 LocLVM_SignatureByte0 equ 2 81 LocLVM_CRC equ 8 ; CRC is a DWORD 82 LocLVM_MaxEntries equ 4 83 LocLVM_StartOfEntries equ 60 ; (contains maximum of 4 entries) 84 LocLVM_LenOfEntry equ 60 85 LocLVM_VolumeID equ 0 ; is DWORD 86 LocLVM_PartitionID equ 4 ; is DWORD 87 LocLVM_PartitionSize equ 8 ; is DWORD 88 LocLVM_PartitionStart equ 12 ; is DWORD 89 LocLVM_VolumeLetter equ 18 ; is BYTE (Letter C-Z or 0) 90 LocLVM_VolumeName equ 20 ; 20 bytes 91 LocLVM_PartitionName equ 40 ; 20 bytes 92 77 93 ; Offsets for IPT (Internal Partition Table) 78 94 LocIPT_MaxPartitions equ 30 ; Maximum LocIPT_MaxPartitions … … 105 121 FileSysFlags_FAT32 equ 00010000b ; FAT 32 specific name getting 106 122 FileSysFlags_NoName equ 00100000b ; No Name - use PartitionName 123 FileSysFlags_DriveLetter equ 01000000b ; DriveLetter Feature possible 107 124 108 125 Keys_Up equ 48h … … 139 156 org 00000h ; Sector 1 140 157 ;--------------------------------------------------------------------------- 141 AiR_BOOT: cli 158 AiR_BOOT: cli ; Some M$ operating systems need a CLI 159 ; here otherwise they will go beserk 160 ; and will do funny things during 161 ; boot phase, it's laughable! 142 162 db 0EBh ; JMP-Short -> MBR_Start 143 db 'AiRBOOT', 02h, 03h, 20h, 03h, 01h, 01h, TXT_LanguageID163 db 'AiRBOOT', 13h, 03h, 20h, 06h, 01h, 06h, TXT_LanguageID 144 164 ; ID String, Date and Version Number, U for US version 145 165 db 1 ; Total Sectors Count, … … 148 168 149 169 MBR_Start: sti ; This opcode is dedicated to: 150 cld ; =FUCK MICROSOFT=151 mov ax, ExecBaseSeg ; fuck every M$-coder,152 mov ds, ax ; fuck every M$-executive,153 mov si, ExecBasePtr ; fuck every M$-supporter and154 mov ax, BootBaseSeg ; fuck everyone that is working for155 mov es, ax ; that evil business. k?thx170 cld ; =MICROSOFT JUMP DEPARTMENT= 171 mov ax, StartBaseSeg 172 mov ds, ax 173 mov si, StartBasePtr 174 mov ax, BootBaseSeg 175 mov es, ax 156 176 mov di, BootBasePtr 157 177 IFDEF ReleaseCode … … 171 191 mov dx, 500 172 192 int 15h ; Wait to display the whole screen :] 173 MBR_ FuckUpSys:cli174 jmp MBR_ FuckUpSys193 MBR_HaltSys: cli 194 jmp MBR_HaltSys 175 195 176 196 db 'FUCKMS:>' 177 jmp MBR_Start ; WE HAVE TO DO THIS CAUSE MICKEYSOFT 178 ; This needs to be at THIS fixed 179 ; location, don't modify it. 197 jmp MBR_Start ; We jump here, because I needed to 198 ; insert a CLI on start and did not 199 ; want to change AiR-BOOT detection 200 ; because of Microsoft inventions... 180 201 181 202 db 'LOAD ERROR!', 0 … … 250 271 int 13h 251 272 jnc MBR_ConfigCopy_NoError 273 MBR_ConfigCopy_LoadError: 252 274 call MBR_LoadError ; Will Abort BootUp 253 275 MBR_ConfigCopy_NoError: … … 256 278 mov cx, 0002h 257 279 mov ah, 02h 258 mov al, ds:[ TotalSectorsUsedPtr]280 mov al, ds:[10h] 259 281 int 13h 260 282 jnc MBR_RealStart_NoError 261 call MBR_LoadError ; Will Abort BootUp 283 jmp MBR_ConfigCopy_LoadError 284 ; [v1.05+] 285 ; Signature for IBM's LVM to detect our "powerful" features ;) 286 db 'I13X' 262 287 MBR_RealStart_NoError: 263 288 ; Now Check Code with CheckSum 264 289 mov si, offset FurtherMoreLoad 265 movzx cx, bptr ds:[ TotalSectorsUsedPtr]290 movzx cx, bptr ds:[10h] 266 291 xor bx, bx 267 292 MBR_RealStart_CheckCodeLoop: … … 291 316 ; 10h -> FAT32 - Name Getting Scheme 292 317 ; 20h -> No Name To Get (use Partition Name) 318 ; 40h -> 'L' flag possible 293 319 db 'AiRSYS-TABLE' 294 FileSysIDs: db 01h, 11h,01h, 04h,014h,01h, 06h,016h, 01h, 0Eh,00Eh,01h295 db 07h, 17h, 01h, 08h,017h,21h, 35h,035h,00h,0EBh,0EBh,01h296 db 09h, 19h,11h, 0Bh,01Bh,11h, 0Ch,01Ch,11h, 01h,001h,01h320 FileSysIDs: db 01h, 11h,01h, 04h,014h,01h, 06h,016h,41h, 0Eh,00Eh,01h 321 db 07h, 17h,41h, 08h,017h,21h, 35h,035h,20h,0FCh,017h,41h 322 db 09h, 19h,11h, 0Bh,01Bh,11h, 0Ch,01Ch,11h,0EBh,0EBh,01h 297 323 db 63h, 63h,21h, 81h,081h,21h, 83h,083h,21h, 40h,040h,21h 298 324 db 0A5h,0A5h,21h,0A6h,0A6h,21h, 82h,082h,20h,0A7h,0A7h,21h … … 306 332 307 333 FileSysNames: db 'FAT12 ', 'FAT16 ', 'FAT16Big', 'FAT16Big' 308 db 'HPFS ', 'NTFS ', 'LVM-Data', ' BeOS'309 db 'FAT32 ', 'FAT32 ', 'FAT32 ', ' 334 db 'HPFS ', 'NTFS ', 'LVM-Data', 'JFS ' 335 db 'FAT32 ', 'FAT32 ', 'FAT32 ', 'BeOS ' 310 336 db 'Unix ', 'Minix ', 'Linux ', 'Venix ' ; x row ;) 311 337 db 'BSD/386 ', 'OpenBSD ', 'LinuxSwp', 'NeXTSTEP' … … 331 357 call AFTERCRAP_Main 332 358 333 ; Now get FAT16-Linux Kernel Partition, If requested 334 cmp [CFG_LinuxKrnlPartition], 0FFh 335 je MBR_Main_NoLinuxKrnlPartition 336 call LINUX_InitFAT16access 337 MBR_Main_NoLinuxKrnlPartition: 359 ; [Linux support removed since v1.02] 360 ; ; Now get FAT16-Linux Kernel Partition, If requested 361 ; cmp [CFG_LinuxKrnlPartition], 0FFh 362 ; je MBR_Main_NoLinuxKrnlPartition 363 ; call LINUX_InitFAT16access 364 ; MBR_Main_NoLinuxKrnlPartition: 338 365 339 366 ; SetUp PartitionPointers for BootMenu (filter non-bootable) … … 394 421 395 422 IFNDEF ReleaseCode 423 ; Debug Code to terminate DOS .COM program - used for 424 ; testing AiR-BOOT 425 int 3 396 426 mov ax, 6200h 397 427 int 21h … … 416 446 Include SETUP\MAiN.ASM ; The whole AiR-BOOT SETUP 417 447 Include SPECiAL\ViRUS.asm ; Virus Detection / Anti-Virus 418 Include SPECiAL\FAT16.asm ; FAT-16 Support 419 Include SPECiAL\LINUX.asm ; Linux Kernel Support 420 Include SPECiAL\F00K\BILLSUXX.asm ; Extended Partition - Micro$haft-Hack 448 ; [Linux support removed since v1.02] 449 ;Include SPECiAL\FAT16.asm ; FAT-16 Support 450 ;Include SPECiAL\LINUX.asm ; Linux Kernel Support 451 Include SPECiAL\F00K\BILLSUXX.asm ; Extended Partition - Microsoft-Hack 421 452 Include SPECiAL\SOUND.asm ; Sound 422 453 Include SPECiAL\APM.asm ; Power Managment Support 423 454 Include SPECiAL\FX.asm ; l33t Cooper-Bars/Scrolling <bg> 455 Include SPECiAL\LVM.asm ; LVM-specific code 424 456 IFDEF TXT_IncludeCyrillic 425 457 Include SPECiAL\CHARSET.asm ; Charset Support (e.g. Cyrillic) … … 441 473 Configuration: 442 474 db 'AiRCFG-TABLE' 443 db 01h, 00h, 'U' ; "Compressed" ID String 475 db 01h, 02h, 'U' ; "Compressed" ID String 476 ; This is still version 1.02, because nothing got 477 ; changed... 444 478 445 479 CFG_LastTimeEditLow dw 0 ; Last Time Edited Stamp (will incr every setup) … … 504 538 CFG_PartAutomatic db 0 ; Partition-No for automatic booting 505 539 CFG_ForceLBAUsage db 0 ; LBA-BIOS-API forced on any HDD I/O 540 CFG_IgnoreLVM db 0 ; Ignores any LVM-Information 506 541 507 542 ; VIR variables are for the AiR-BOOT Anti Virus Code … … 595 630 ; This space actually gets initialized in PreCrap to NUL (till EndOfVariables) 596 631 BeginOfVariables: 632 PartitionSector db 512 dup (?) ; Temporary Sector for Partition 633 LVMSector: db 512 dup (?) ; Temporary Sector for LVM 597 634 TmpSector: db 512 dup (?) ; Temporary Sector 598 635 TmpSector2: … … 606 643 PartitionPointerCount db ? ; Count of total Partition Pointers 607 644 PartitionXref db 30 dup (?) ; X-Reference Table 608 609 TotalHarddiscs db ? ; Total harddrives (by POST) 610 NewPartitions db ? ; Freshly found partitions 645 PartitionVolumeLetters db 30 dup (?) ; Volume-Letters 646 ; 0 - no LVM support 647 ; 1 - LVM support, but no letter 648 ; 'C'-'Z' - assigned drive letter 649 650 TotalHarddiscs db ? ; Total harddrives (by POST) 651 LBASwitchTable db 128 dup (?) ; Bit 25-18 for CHS/LBA Switching 652 NewPartitions db ? ; Freshly found partitions 611 653 612 654 VideoIO_Segment dw ? ; Segment for Video I/O … … 621 663 ; (for detailed error message) 622 664 623 GotLinux db ? ; 1-Linux found 665 ; [Linux support removed since v1.02] 666 ;GotLinux db ? ; 1-Linux found 624 667 625 668 Menu_EntrySelected db ? ; Which partition we boot this time... … … 652 695 SETUP_VerifyPwd db 17 dup (?) 653 696 StartSoundPlayed db ? 697 ChangePartNameSave db ? 654 698 655 699 FX_UseCount dw ? … … 664 708 FX_CooperBarsTimer dw ? 665 709 666 FAT16_Drive db ? ; FAT-16: Drive of FAT16-partition 667 FAT16_AbsPartitionBegin dd ? ; FAT-16: LBA Begin of Partition 668 FAT16_SecsPerCluster db ? ; FAT-16: Sectors Per Cluster 669 FAT16_NumOfRootEntries dw ? ; FAT-16: Number of Root Entries 670 FAT16_SecsPerFAT dw ? ; FAT-16: Sectors Per FAT 671 FAT16_AbsFATBegin dd ? ; FAT-16: LBA Begin of FAT 672 FAT16_AbsRootBegin dd ? ; FAT-16: LBA Begin of Root 673 FAT16_AbsClusterBegin dd ? ; FAT-16: LBA Begin of Clusters 674 FAT16_FATCacheSector db ? ; FAT-16: FAT-Sector No in Cache 675 FAT16_FATCache db 512 dup (?) ; FAT-16: FAT-Area Cache 676 677 LINUX_KernelEntries db 680 dup (?) ; 34*20 -> Space for Kernel-Entries 678 LINUX_KernelNo db ? ; Total of Kernels in KernelEntries 679 LINUX_KernelSizeTable db 120 dup (?) ; Size-Table (6 bytes per kernel) 710 ; [Linux support removed since v1.02] 711 ;FAT16_Drive db ? ; FAT-16: Drive of FAT16-partition 712 ;FAT16_AbsPartitionBegin dd ? ; FAT-16: LBA Begin of Partition 713 ;FAT16_SecsPerCluster db ? ; FAT-16: Sectors Per Cluster 714 ;FAT16_NumOfRootEntries dw ? ; FAT-16: Number of Root Entries 715 ;FAT16_SecsPerFAT dw ? ; FAT-16: Sectors Per FAT 716 ;FAT16_AbsFATBegin dd ? ; FAT-16: LBA Begin of FAT 717 ;FAT16_AbsRootBegin dd ? ; FAT-16: LBA Begin of Root 718 ;FAT16_AbsClusterBegin dd ? ; FAT-16: LBA Begin of Clusters 719 ;FAT16_FATCacheSector db ? ; FAT-16: FAT-Sector No in Cache 720 ;FAT16_FATCache db 512 dup (?) ; FAT-16: FAT-Area Cache 721 ; 722 ;LINUX_KernelEntries db 680 dup (?) ; 34*20 -> Space for Kernel-Entries 723 ;LINUX_KernelNo db ? ; Total of Kernels in KernelEntries 724 ;LINUX_KernelSizeTable db 120 dup (?) ; Size-Table (6 bytes per kernel) 680 725 EndOfVariables: 681 726 727 ; Dynamically Generated Tables - do not need to get initialized with NUL 682 728 FX_CooperColors db 672 dup (?) ; 7 cooper bars*96 - runtime calculated 683 729 FX_CooperState: db 7 dup (?) … … 685 731 FX_CooperPos: dw 7 dup (?) 686 732 CharsetTempBuffer db 4096 dup (?) ; Uninitialized Charset buffer 733 LVM_CRCTable: dd 256 dup (?) ; LVM-CRC (->SPECiAL\LVM.asm) 687 734 688 735 code_seg ends -
tags/v1.06r/BOOTCODE/MBR-PROT/MBR_PROT.ASM
r23 r29 1 2 ; Disclaimer:3 ; =============4 ; The sourcecode is released via www.netlabs.org CVS *ONLY*.5 ; You MUST NOT upload it to other servers nor republish it in any way.6 ; The sourcecode is still COPYRIGHTED and NOT RELEASED UNDER GPL.7 ; It's (c) Copyright 1998-2003 by Martin Kiewitz.8 ; You may recompile the source and do *PRIVATE* modifications, but please keep9 ; in mind that modifying this code needs at least *some* assembly skill. If10 ; you mess up your system, because you needed to hack your way through, don't11 ; blame me. Releasing a customized version of AiR-BOOT, selling it in any form12 ; or reusing parts of this source is *PROHIBITED*. Ask me, if you have some13 ; idea about new functionality *before* developing the code, otherwise I will14 ; definitely reject it. Also please accept, that I have some basic design15 ; rules on AiR-BOOT and I will maintain them at all costs, so this won't get16 ; another GRUB.17 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 18 18 ;--------------------------------------------------------------------------- 19 19 ; AiR-BOOT SETUP / GENERIC & GENERAL SETUP ROUTINES … … 151 151 db '³ you have to deactivate MBR PROTECTION in AiR-BOOT ³' 152 152 db '³ or contact your supervisor. ³' 153 MBRP_Line3: db 'ÔÍÍÍÍŽAiR-BOOT (c) Copyright by Martin Kiewitz ''99ÃÍÍÍŸ' 153 MBRP_Line3: db 'ÔÍÍÍŽAiR-BOOT (c) Copyright by M. Kiewitz 1999-2009ÃÍÍŸ' 154 155 org 1023 156 db 0 154 157 155 158 code_seg EndS -
tags/v1.06r/BOOTCODE/REGULAR/BOOTMENU.ASM
r23 r29 1 2 ; Disclaimer:3 ; =============4 ; The sourcecode is released via www.netlabs.org CVS *ONLY*.5 ; You MUST NOT upload it to other servers nor republish it in any way.6 ; The sourcecode is still COPYRIGHTED and NOT RELEASED UNDER GPL.7 ; It's (c) Copyright 1998-2003 by Martin Kiewitz.8 ; You may recompile the source and do *PRIVATE* modifications, but please keep9 ; in mind that modifying this code needs at least *some* assembly skill. If10 ; you mess up your system, because you needed to hack your way through, don't11 ; blame me. Releasing a customized version of AiR-BOOT, selling it in any form12 ; or reusing parts of this source is *PROHIBITED*. Ask me, if you have some13 ; idea about new functionality *before* developing the code, otherwise I will14 ; definitely reject it. Also please accept, that I have some basic design15 ; rules on AiR-BOOT and I will maintain them at all costs, so this won't get16 ; another GRUB.17 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 18 18 ;--------------------------------------------------------------------------- 19 19 ; AiR-BOOT / BOOT-MENU … … 185 185 call VideoIO_Color 186 186 187 IFDEF ReleaseCommercial188 mov si, offset RegisteredTo189 call GetLenOfString190 mov dx, 144Eh191 sub dl, cl192 mov cx, dx193 call VideoIO_Locate194 mov al, TextChar_WinRep4195 call VideoIO_PrintSingleChar196 call VideoIO_Print197 mov al, TextChar_WinRep5198 call VideoIO_PrintSingleChar199 ENDIF200 201 187 ; Additional message how to enter setup 202 188 mov si, offset TXT_BootMenuEnterSetup … … 226 212 call VideoIO_Color 227 213 mov bx, 0101h 228 mov dx, 0 450h214 mov dx, 0550h 229 215 call VideoIO_MakeWindow ; Information-Window 230 216 xor di, di … … 271 257 mov cx, 0303h 272 258 call VideoIO_Locate 273 IFDEF ReleaseCommercial274 mov si, offset RegisteredTo275 ELSE276 mov si, offset BootEndMsg ; Print End-Message...277 ENDIF259 mov si, offset BootEndMsg ; Print End-Message... 260 call VideoIO_Print 261 mov cx, 0403h 262 call VideoIO_Locate 263 mov si, offset BootEndMsg2 ; Print GPL-Message... 278 264 call VideoIO_Print 279 265 ; ------------------------------------------- 280 266 mov ah, 02h 281 267 mov bh, 00h 282 mov dx, 0 500h ; Sets cursor location to 6, 0268 mov dx, 0600h ; Sets cursor location to 7, 1 283 269 int 10h 284 270 call VideoIO_CursorOn … … 366 352 call VideoIO_Color ; Violet, blue 367 353 mov si, PartPointer 368 mov al, cs:[si+LocIPT_Drive]354 mov al, [si+LocIPT_Drive] 369 355 sub al, 7Fh ; Will only display numbers up to 99, 370 356 call VideoIO_PrintByteNumber ; so only showing harddrives... … … 411 397 call VideoIO_Locate 412 398 mov si, PartPointer 413 mov al, cs:[si+LocIPT_SystemID]399 mov al, [si+LocIPT_SystemID] 414 400 call PART_SearchFileSysName 415 401 mov cx, 0C01h … … 498 484 499 485 500 501 486 ; Calculate Menu-Variables for Boot-Menu, these use the filtered Part-Pointers 502 487 BOOTMENU_ResetMenuVars Proc Near Uses dx … … 520 505 mov Menu_TotalParts, dl 521 506 522 ; Now copy the device-name to the ContBIOSbootSeq-IPT entry 523 movzx bx, CFG_ResumeBIOSbootSeq 524 dec bx 525 shl bx, 1 526 mov si, wptr [ContinueBIOSbootTable+bx] 527 mov di, offset BIOScontIPTentry+LocIPT_Name 528 push di 529 mov cx, 11 530 mov al, ' ' 531 rep stosb 532 pop di 533 BMRMV_BootDeviceCopyLoop: 534 lodsb 535 or al, al 536 jz BMRMV_NoResumeBootSeq 537 stosb 538 jmp BMRMV_BootDeviceCopyLoop 539 BMRMV_NoResumeBootSeq: 507 ; Copy device-name to the ContBIOSbootSeq-IPT entry 508 ; Normally this does not need to get done here, but is done for safety 509 ; reasons if e.g. IPT got changed by SETUP, but that setup was discarded. 510 call PART_UpdateResumeBIOSName 540 511 541 512 ; Default-Partition -> Filtered View -> Menu_EntryDefault … … 554 525 mov Menu_EntryAutomatic, dl 555 526 556 ; Okay, now we check if Default/Last Kernel Partition Name is available... 557 ; if so, simply set Menu_EntryDefault/Menu_EntryLast. 558 mov si, offset CFG_LinuxDefaultKernel 559 call LINUX_SearchKernelName ; DL - Filtered Entry No 560 cmp dl, 0FFh 561 je BMRMV_DefaultKernelNF 562 mov Menu_EntryDefault, dl 563 BMRMV_DefaultKernelNF: 564 mov si, offset CFG_LinuxLastKernel 565 call LINUX_SearchKernelName ; DL - Filtered Entry No 566 cmp dl, 0FFh 567 je BMRMV_LastKernelNF 568 mov Menu_EntryLast, dl 569 BMRMV_LastKernelNF: 527 ; [Linux support removed since v1.02] 528 ; ; Okay, now we check if Default/Last Kernel Partition Name is available... 529 ; ; if so, simply set Menu_EntryDefault/Menu_EntryLast. 530 ; mov si, offset CFG_LinuxDefaultKernel 531 ; call LINUX_SearchKernelName ; DL - Filtered Entry No 532 ; cmp dl, 0FFh 533 ; je BMRMV_DefaultKernelNF 534 ; mov Menu_EntryDefault, dl 535 ; BMRMV_DefaultKernelNF: 536 ; mov si, offset CFG_LinuxLastKernel 537 ; call LINUX_SearchKernelName ; DL - Filtered Entry No 538 ; cmp dl, 0FFh 539 ; je BMRMV_LastKernelNF 540 ; mov Menu_EntryLast, dl 541 ; BMRMV_LastKernelNF: 570 542 571 543 ; restlichen Variablen berechnen... … … 609 581 mov dl, Menu_EntrySelected 610 582 call PART_ConvertToStraight ; CFG_PartLast is non-filtered 611 mov di, offset CFG_LinuxLastKernel612 mov cx, 11583 ; mov di, offset CFG_LinuxLastKernel 584 ; mov cx, 11 613 585 cmp dl, 0FDh ; Dont Remember on Floppy/CD-ROM/etc. 614 586 ja BMSVAM_DontRememberBoot 615 je BMSVAM_RememberKernelBoot ; but remember Kernel-Bootings...587 ; je BMSVAM_RememberKernelBoot ; but remember Kernel-Bootings... 616 588 mov CFG_PartLast, dl ; Remember partition in CFG_PartLast 617 mov al, ' '618 rep stosb ; SPACE out CFG_LinuxLastKernel589 ; mov al, ' ' 590 ; rep stosb ; SPACE out CFG_LinuxLastKernel 619 591 BMSVAM_DontRememberBoot: 620 592 ret 621 622 BMSVAM_RememberKernelBoot:623 mov dl, Menu_EntrySelected624 call PART_GetPartitionPointer ; SI - Pointer to Kernel Entry...625 add si, LocIPT_Name626 rep movsb ; Copy KernelName 2 CFG_LinuxLastKernel627 ret593 ; 594 ; BMSVAM_RememberKernelBoot: 595 ; mov dl, Menu_EntrySelected 596 ; call PART_GetPartitionPointer ; SI - Pointer to Kernel Entry... 597 ; add si, LocIPT_Name 598 ; rep movsb ; Copy KernelName 2 CFG_LinuxLastKernel 599 ; ret 628 600 BOOTMENU_SetVarsAfterMenu EndP 629 601 … … 683 655 push ax dx 684 656 call TIMER_GetTicCount 685 cmp dx, wptr cs:[FloppyGetNameTimer+2]657 cmp dx, wptr [FloppyGetNameTimer+2] 686 658 ja BME_ExpiredGetFloppy 687 cmp ax, wptr cs:[FloppyGetNameTimer+0]659 cmp ax, wptr [FloppyGetNameTimer+0] 688 660 jb BME_NoFloppyNameExpired 689 661 BME_ExpiredGetFloppy: … … 825 797 add ax, CFG_TimedDelay 826 798 adc dx, 0 827 mov w ord ptr cs:[TimedTimeOut], ax828 mov w ord ptr cs:[TimedTimeOut+2], dx799 mov wptr [TimedTimeOut], ax 800 mov wptr [TimedTimeOut+2], dx 829 801 ret 830 802 BOOTMENU_ResetTimedBoot EndP … … 835 807 add ax, 36 ; 18*2 -> 2 seconds 836 808 adc dx, 0 837 mov word ptr cs:[FloppyGetNameTimer], ax838 mov word ptr cs:[FloppyGetNameTimer+2], dx809 mov word ptr [FloppyGetNameTimer], ax 810 mov word ptr [FloppyGetNameTimer+2], dx 839 811 ret 840 812 BOOTMENU_ResetGetFloppy EndP -
tags/v1.06r/BOOTCODE/REGULAR/DRIVEIO.ASM
r26 r29 1 2 ; Disclaimer:3 ; =============4 ; The sourcecode is released via www.netlabs.org CVS *ONLY*.5 ; You MUST NOT upload it to other servers nor republish it in any way.6 ; The sourcecode is still COPYRIGHTED and NOT RELEASED UNDER GPL.7 ; It's (c) Copyright 1998-2003 by Martin Kiewitz.8 ; You may recompile the source and do *PRIVATE* modifications, but please keep9 ; in mind that modifying this code needs at least *some* assembly skill. If10 ; you mess up your system, because you needed to hack your way through, don't11 ; blame me. Releasing a customized version of AiR-BOOT, selling it in any form12 ; or reusing parts of this source is *PROHIBITED*. Ask me, if you have some13 ; idea about new functionality *before* developing the code, otherwise I will14 ; definitely reject it. Also please accept, that I have some basic design15 ; rules on AiR-BOOT and I will maintain them at all costs, so this won't get16 ; another GRUB.17 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 18 18 ;--------------------------------------------------------------------------- 19 19 ; AiR-BOOT / DRIVE I/O 20 20 ;--------------------------------------------------------------------------- 21 21 22 ; Note: Some routines set DS/ES to CS, even if its not needed. 23 ; This was done for SECURITY. So DO NOT remove it. Its there to make 24 ; sure the correct data is loaded/written to/from harddrive. 25 ; 26 ; IF YOU MODIFY ANYTHING IN HERE, YOU CAN EASILY BREAK YOUR HARDDRIVE! 22 ; Note: Some routines set DS/ES to CS or even address via CS, even if its not 23 ; needed. This was done for SECURITY. So DO NOT remove it. 24 ; Its there to make sure the correct data is loaded/written to/from 25 ; harddrive. 26 ; 27 ; IF YOU MODIFY ANYTHING IN HERE, YOU MAY EASILY BREAK YOUR HARDDRIVE! 27 28 28 29 ; Will only load base-configuration, will NOT load IPT nor Hide-Config … … 124 125 ; Internal access (to AiR-BOOT) is always done via INT 13h/CHS. 125 126 127 DriveIO_GetHardDriveCount Proc Near Uses ds si 128 push ds si 129 push 0040h 130 pop ds 131 mov si, 0075h 132 mov dh, ds:[si] ; 40:75 -> POST: Total Harddiscs == DL 133 pop si ds 134 mov TotalHarddiscs, dh 135 ret 136 DriveIO_GetHardDriveCount EndP 137 138 139 ; Fills our LBA-Usage table. It holds the LBA-address, where BIOS/CHS access is 140 ; stopped and BIOS/LBA access is started. 141 ; This is calculated by Sector*Heads. Comparing will get done with Bit 25-10 142 ; on LBA sectors, so we actually divide sector number by 1024. 143 DriveIO_InitLBASwitchTable Proc Near Uses es di 144 mov di, offset LBASwitchTable 145 mov dh, TotalHarddiscs 146 mov dl, 80h 147 DIOILUT_DriveLoop: 148 push dx di 149 mov ah, 08h 150 int 13h ; DISK - GET DRIVE PARAMETERS 151 mov ah, 0FBh ; Assume 255 heads/63 sectors, if error 152 jc DIOILUT_Error 153 and cl, 111111b ; Isolate lower 6 bits of CL -> sector count 154 movzx ax, cl 155 mov bl, dh ; DH -> head count 156 mul bl ; AX = Sectors*Heads 157 shl ah, 1 158 shl ah, 1 ; Shift 2 bits, so we are able to compare to 159 ; bit 16-23 of the LBA address 160 DIOILUT_Error: 161 pop di dx 162 mov bptr ds:[di], ah ; Save that value 163 inc di ; Go to next BYTE 164 inc dl 165 dec dh 166 jnz DIOILUT_DriveLoop 167 ret 168 DriveIO_InitLBASwitchTable EndP 169 170 ; Adjusts BX:AX / CX:DX to meet LVM sector location 171 ; Destroys SI 172 DriveIO_LVMAdjustToInfoSector Proc Near Uses 173 push cx 174 xor ch, ch 175 and cl, 63 ; Isolate lower bits, because upper 176 mov si, 63 ; ones may be used for cylinder 177 sub si, cx 178 pop cx 179 add ax, si 180 adc bx, 0 ; Adjust LBA Sector (BX:AX) 181 or cl, 63 ; Set Sector to 63 182 ret 183 DriveIO_LVMAdjustToInfoSector EndP 184 126 185 Comment *ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 127 186 Routine: Loads partition to ExecBase and checks for validity … … 132 191 Preserve: all registers 133 192 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ* 134 DriveIO_LoadPartition Proc Near Uses ds si 135 int 3 193 DriveIO_LoadPartition Proc Near Uses si 136 194 mov wptr cs:[CurPartition_Location+0], ax 137 195 mov wptr cs:[CurPartition_Location+2], bx 138 196 mov wptr cs:[CurPartition_Location+4], dx 139 197 mov wptr cs:[CurPartition_Location+6], cx ; Saves the location 140 push ExecBaseSeg 141 pop ds 142 mov si, ExecBasePtr ; DS:SI - ExecBase 198 mov si, offset PartitionSector ; DS:SI - ExecBase 143 199 call DriveIO_LoadSector 144 200 clc 145 cmp w ord ptr ds:[si+LocBR_Magic], 0AA55h201 cmp wptr [si+LocBR_Magic], 0AA55h 146 202 je DIOLP_Success 147 203 ; We check, if we are scanning partitions. In that case, if CHS is not 0/0/1 … … 165 221 Preserve: all registers 166 222 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ* 167 DriveIO_SavePartition Proc Near Uses ax bx cx dx dssi223 DriveIO_SavePartition Proc Near Uses ax bx cx dx si 168 224 mov ax, wptr cs:[CurPartition_Location+0] 169 225 mov bx, wptr cs:[CurPartition_Location+2] 170 226 mov dx, wptr cs:[CurPartition_Location+4] 171 227 mov cx, wptr cs:[CurPartition_Location+6] ; Gets prev. saved location 172 push ExecBaseSeg173 pop ds174 mov si, ExecBasePtr ; DS:SI - ExecBase228 mov si, offset PartitionSector ; DS:SI - ExecBase 229 cmp wptr [si+LocBR_Magic], 0AA55h ; Checks for signature, if not found 230 jne DIOSP_SevereError ; we assume a really bad error 175 231 call DriveIO_SaveSector 232 DIOSP_SevereError: 176 233 ret 177 234 DriveIO_SavePartition EndP 178 235 179 ; Lsst DS:SI fr Aufrufer236 ; Keeps DS:SI for caller 180 237 DriveIO_LoadTmpSector Proc Near Uses 181 push cs182 pop ds183 238 mov si, offset TmpSector 184 239 call DriveIO_LoadSector … … 186 241 DriveIO_LoadTmpSector EndP 187 242 188 ; Lsst DS:SI fr Aufrufer243 ; Keeps DS:SI for caller 189 244 DriveIO_SaveTmpSector Proc Near Uses 190 push cs191 pop ds192 245 mov si, offset TmpSector 193 246 call DriveIO_SaveSector 194 247 ret 195 248 DriveIO_SaveTmpSector EndP 249 250 ; Keeps DS:SI for caller, sets carry if valid LVM sector encountered 251 DriveIO_LoadLVMSector Proc Near Uses ax bx cx dx 252 test [CFG_IgnoreLVM], 1 ; We are supposed to ignore LVM, so 253 jnz DIOLLVMS_NoLVMSector ; don't load but declare as bad! 254 mov ax, wptr cs:[CurPartition_Location+0] 255 mov bx, wptr cs:[CurPartition_Location+2] 256 mov dx, wptr cs:[CurPartition_Location+4] 257 mov cx, wptr cs:[CurPartition_Location+6] ; Gets cur. partition location 258 call DriveIO_LVMAdjustToInfoSector 259 mov si, offset LVMSector 260 call DriveIO_LoadSector 261 call LVM_CheckSectorSignature 262 jnc DIOLLVMS_NoLVMSector 263 call LVM_CheckSectorCRC 264 jnc DIOLLVMS_NoLVMSector 265 ret 266 ; This here is called, if an invalid (or no) LVM information sector is found 267 ; It will truncate the first byte of the sector, so all other routines 268 ; will notice it easily by just comparing the first byte. 269 DIOLLVMS_NoLVMSector: 270 mov bptr [si+LocLVM_SignatureStart], 0 271 ret 272 DriveIO_LoadLVMSector EndP 273 274 ; Keeps DS:SI for caller, saves at anytime w/o checks (!) 275 DriveIO_SaveLVMSector Proc Near Uses ax bx cx dx 276 test [CFG_IgnoreLVM], 1 ; We are supposed to ignore LVM, so 277 jnz DIOSLVMS_SevereError ; don't save at anytime (security!) 278 mov ax, wptr cs:[CurPartition_Location+0] 279 mov bx, wptr cs:[CurPartition_Location+2] 280 mov dx, wptr cs:[CurPartition_Location+4] 281 mov cx, wptr cs:[CurPartition_Location+6] ; Gets cur. partition location 282 call LVM_CheckSectorSignature 283 jnc DIOSLVMS_SevereError ; LVM Signature must be there 284 call DriveIO_LVMAdjustToInfoSector 285 mov si, offset LVMSector 286 call DriveIO_SaveSector 287 DIOSLVMS_SevereError: 288 ret 289 DriveIO_SaveLVMSector EndP 196 290 197 291 ; Memory-Block that holds information for LBA-access via INT 13h … … 206 300 ; so users will notice that something is bad with their partition table(s) 207 301 DriveIO_GotLoadError Proc Near 208 test cs:CurIO_Scanning, 1 ; Must be CS:, cause DS!=CS here302 test cs:CurIO_Scanning, 1 ; Must be CS:, cause DS!=CS maybe here 209 303 jnz InScanMode 210 304 jmp MBR_LoadError … … 213 307 push cs 214 308 pop ds 309 call MBR_Teletype 310 mov si, offset BrokenHDD 311 sub dl, 50h ; 80h -> '0' 312 cmp dl, 39h 313 jbe DIOGLE_BelowA 314 add dl, 7 ; 3Ah -> 'A' 315 DIOGLE_BelowA: 316 mov bptr [si+5], dl 215 317 call MBR_Teletype 216 318 jmp MBRLE_Halt … … 227 329 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ* 228 330 DriveIO_LoadSector Proc Near Uses ax bx ds si es di 229 test cs:[CurIO_UseExtension], 1 230 jz DIOLS_UseNormal 231 ; LBA-boundary >16450560 (FB0400h) 232 cmp bx, 00FBh 233 jae DIOLS_UseExtension 234 ; or are we forced do use LBA? 235 test cs:[CFG_ForceLBAUsage], 1 236 jnz DIOLS_UseExtension 331 test cs:[CurIO_UseExtension], 1 332 jz DIOLS_UseNormal 333 ; Are we forced do use LBA via Setting? 334 test cs:[CFG_ForceLBAUsage], 1 335 jnz DIOLS_UseExtension 336 ; Is the drive not a harddrive? 337 cmp dl, 80h 338 jb DIOLS_UseNormal 339 ; Upper 8 bits of LBA-address set? -> Use LBA (maximum boundary is FB0400h) 340 or bh, bh 341 jnz DIOLS_UseExtension 342 ; Compare Switch-Table value to bit 16-23 of LBA-address 343 mov di, dx 344 and di, 007Fh 345 cmp bptr cs:[LBASwitchTable+di], bl 346 jbe DIOLS_UseExtension 237 347 DIOLS_UseNormal: 238 mov di, 3348 mov di, 3 239 349 DIOLS_ErrorLoop: 240 push ds241 pop es242 mov bx, si; ES:BX - Destination243 mov ax, 0201h; Function 2 - Load Sector244 int 13h245 jnc DIOLS_Success246 dec di247 jnz DIOLS_ErrorLoop350 push ds 351 pop es 352 mov bx, si ; ES:BX - Destination 353 mov ax, 0201h ; Function 2 - Load Sector 354 int 13h 355 jnc DIOLS_Success 356 dec di 357 jnz DIOLS_ErrorLoop 248 358 ; Sector load failed... 249 jmp DriveIO_GotLoadError359 jmp DriveIO_GotLoadError 250 360 251 361 DIOLS_UseExtension: … … 260 370 pop ds 261 371 mov si, offset DriveIO_DAP 262 mov ah, 42h 372 mov ah, 42h ; Extended Read 263 373 int 13h 264 374 pop cx … … 281 391 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ* 282 392 DriveIO_SaveSector Proc Near Uses ax bx cx ds si es di 283 test cs:[CurIO_UseExtension], 1 284 jz DIOSS_UseNormal 285 ; LBA-boundary >16450560 (FB0400h) 286 cmp bx, 00FBh 287 jae DIOSS_UseExtension 288 ; or are we forced do use LBA? 289 test cs:[CFG_ForceLBAUsage], 1 290 jnz DIOSS_UseExtension 393 test cs:[CurIO_UseExtension], 1 394 jz DIOSS_UseNormal 395 ; Are we forced do use LBA via Setting? 396 test cs:[CFG_ForceLBAUsage], 1 397 jnz DIOSS_UseExtension 398 ; Is the drive not a harddrive? 399 cmp dl, 80h 400 jb DIOSS_UseNormal 401 ; Upper 8 bits of LBA-address set? -> Use LBA (maximum boundary is FB0400h) 402 or bh, bh 403 jnz DIOSS_UseExtension 404 ; Compare Switch-Table value to bit 16-23 of LBA-address 405 mov di, dx 406 and di, 007Fh 407 cmp bptr cs:[LBASwitchTable+di], bl 408 jbe DIOSS_UseExtension 291 409 DIOSS_UseNormal: 292 mov di, 3410 mov di, 3 293 411 DIOSS_ErrorLoop: 294 push ds295 pop es296 mov bx, si; ES:BX - Destination297 mov ax, 0301h; Function 3 - Write Sector298 int 13h299 jnc DIOSS_Success300 dec di301 jnz DIOSS_ErrorLoop302 call MBR_SaveError412 push ds 413 pop es 414 mov bx, si ; ES:BX - Destination 415 mov ax, 0301h ; Function 3 - Write Sector 416 int 13h 417 jnc DIOSS_Success 418 dec di 419 jnz DIOSS_ErrorLoop 420 call MBR_SaveError 303 421 304 422 DIOSS_UseExtension: -
tags/v1.06r/BOOTCODE/REGULAR/OTHER.ASM
r23 r29 1 2 ; Disclaimer:3 ; =============4 ; The sourcecode is released via www.netlabs.org CVS *ONLY*.5 ; You MUST NOT upload it to other servers nor republish it in any way.6 ; The sourcecode is still COPYRIGHTED and NOT RELEASED UNDER GPL.7 ; It's (c) Copyright 1998-2003 by Martin Kiewitz.8 ; You may recompile the source and do *PRIVATE* modifications, but please keep9 ; in mind that modifying this code needs at least *some* assembly skill. If10 ; you mess up your system, because you needed to hack your way through, don't11 ; blame me. Releasing a customized version of AiR-BOOT, selling it in any form12 ; or reusing parts of this source is *PROHIBITED*. Ask me, if you have some13 ; idea about new functionality *before* developing the code, otherwise I will14 ; definitely reject it. Also please accept, that I have some basic design15 ; rules on AiR-BOOT and I will maintain them at all costs, so this won't get16 ; another GRUB.17 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 18 18 ;--------------------------------------------------------------------------- 19 19 ; AiR-BOOT / OTHER ROUTINES … … 89 89 ; Calculate Cooper-Bar Tables 90 90 call FX_CalculateTables 91 92 ; Calculate LVM-CRC-Table 93 call LVM_InitCRCTable 94 95 ; Get HardDriveCount 96 call DriveIO_GetHardDriveCount 97 98 ; Calculate CHS/LBA Switch Table 99 call DriveIO_InitLBASwitchTable 91 100 92 101 ; Setup PartitionPointers-Table … … 140 149 int 16h 141 150 mov SETUP_KeysOnEntry, al 151 152 ; Copy device-name to the ContBIOSbootSeq-IPT entry 153 ; We may not do this before PRECRAP_CheckConfiguration, because otherwise 154 ; this check will fail. 155 call PART_UpdateResumeBIOSName 142 156 ret 143 157 PRECRAP_Main EndP -
tags/v1.06r/BOOTCODE/REGULAR/PARTMAIN.ASM
r23 r29 1 2 ; Disclaimer:3 ; =============4 ; The sourcecode is released via www.netlabs.org CVS *ONLY*.5 ; You MUST NOT upload it to other servers nor republish it in any way.6 ; The sourcecode is still COPYRIGHTED and NOT RELEASED UNDER GPL.7 ; It's (c) Copyright 1998-2003 by Martin Kiewitz.8 ; You may recompile the source and do *PRIVATE* modifications, but please keep9 ; in mind that modifying this code needs at least *some* assembly skill. If10 ; you mess up your system, because you needed to hack your way through, don't11 ; blame me. Releasing a customized version of AiR-BOOT, selling it in any form12 ; or reusing parts of this source is *PROHIBITED*. Ask me, if you have some13 ; idea about new functionality *before* developing the code, otherwise I will14 ; definitely reject it. Also please accept, that I have some basic design15 ; rules on AiR-BOOT and I will maintain them at all costs, so this won't get16 ; another GRUB.17 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 18 18 ;--------------------------------------------------------------------------- 19 19 ; AiR-BOOT / PARTiTiON REGULAR ROUTINES … … 24 24 xor bl, bl 25 25 mov dl, CFG_PartDefault 26 call PART_FixUp PartitionNumber26 call PART_FixUpSelectionNumber 27 27 mov CFG_PartDefault, dl 28 28 mov dl, CFG_PartLast 29 call PART_FixUp PartitionNumber29 call PART_FixUpSelectionNumber 30 30 mov CFG_PartLast, dl 31 31 mov dl, CFG_PartAutomatic 32 call PART_FixUp PartitionNumber32 call PART_FixUpSelectionNumber 33 33 mov CFG_PartAutomatic, dl 34 34 35 ; Fix-Up Linux Kernel Partition - If lost, search for FAT-16 36 mov bl, 06h 37 mov dl, CFG_LinuxKrnlPartition 38 call PART_FixUpPartitionNumber 39 mov CFG_LinuxKrnlPartition, dl 40 41 ; Fix-Up Linux Root Partition - If lost, search for Linux partition (83h) 42 mov bl, 83h 43 mov dl, CFG_LinuxRootPartition 44 call PART_FixUpPartitionNumber 45 mov CFG_LinuxRootPartition, dl 35 ; [Linux support removed since v1.02] 36 ; ; Fix-Up Linux Kernel Partition - If lost, search for FAT-16 37 ; mov bl, 06h 38 ; mov dl, CFG_LinuxKrnlPartition 39 ; call PART_FixUpPartitionNumber 40 ; mov CFG_LinuxKrnlPartition, dl 41 ; 42 ; ; Fix-Up Linux Root Partition - If lost, search for Linux partition (83h) 43 ; mov bl, 83h 44 ; mov dl, CFG_LinuxRootPartition 45 ; call PART_FixUpPartitionNumber 46 ; mov CFG_LinuxRootPartition, dl 46 47 ret 47 48 PART_FixUpDefaultPartitionValues EndP … … 62 63 ; BL - Requested Partition ID 63 64 ; Out: DL - New number of partition (guessed normally ;) 64 PART_FixUpPartitionNumber Proc Near Uses ax cx 65 cmp dl, 0FFh 66 je PFUPN_PartitionDisabled 65 PART_FixUpSelectionNumber Proc Near Uses ax cx 66 cmp dl, 080h 67 je PFUPN_SelectionDisabled 68 ja PFUPN_SpecialSelection 67 69 call PARTSCAN_GetXref ; DL - PartitionNo prev IPT 68 70 cmp dh, 0FFh ; DH -> Partition No in new IPT 69 je PFUPN_PartitionGone 70 PFUPN_PartitionDisabled: 71 ret 72 73 ; Partition is not referenced in New-IPT, so dig for requested partition 74 PFUPN_PartitionGone: 71 je PFUPN_SelectionGone 72 mov dl, dh 73 PFUPN_SelectionDisabled: 74 ret 75 76 PFUPN_SpecialSelection: 77 cmp dl, 0FEh ; Resume-BIOS? 78 ja PFUPN_SpecialSelectionFloppy 79 cmp CFG_ResumeBIOSbootSeq, 0 80 je PFUPN_SelectionGone 81 jmp PFUPN_Found 82 PFUPN_SpecialSelectionFloppy: 83 cmp CFG_IncludeFloppy, 0 84 je PFUPN_SelectionGone 85 jmp PFUPN_Found 86 87 ; Partition is not referenced in New-IPT or Resume-BIOS/Floppy selected, but 88 ; actual media is disabled...so dig for requested partition 89 PFUPN_SelectionGone: 75 90 mov cl, CFG_Partitions 76 91 or cl, cl … … 94 109 PFUPN_BootableSearchLoop: 95 110 call PART_GetPartitionPointer ; Gets SI for partition DL 96 mov al, cs:[si+LocIPT_Flags]111 mov al, ds:[si+LocIPT_Flags] 97 112 and al, Flags_BootAble 98 113 jnz PFUPN_Found … … 106 121 107 122 PFUPN_NothingFound: 108 mov dl, 0 FFh ; Now being Disabled123 mov dl, 080h ; Now being Disabled 109 124 PFUPN_Found: 110 125 ret 111 PART_FixUp PartitionNumber EndP126 PART_FixUpSelectionNumber EndP 112 127 113 128 ; ============================================================================ 114 ; In: CS:SI - IPT-Entry of partition115 ; ExecBaseSeg:Ptr - Actual Boot-Record of partition129 ; In: DS:SI - IPT-Entry of partition 130 ; DS:PartitionSector - Actual Boot-Record of partition 116 131 ; Out: *none* (BootRecordCRD updated) 117 132 PART_UpdateBootRecordCRC Proc Near Uses bx 118 push ds si 119 push ExecBaseSeg 120 pop ds 121 mov si, offset ExecBasePtr 122 mov bx, 4B4Dh ; Magic: 'MK' 123 call MBR_GetCheckOfSector 124 pop si ds 125 mov cs:[si+LocIPT_BootRecordCRC], bx 133 mov si, offset PartitionSector 134 mov bx, 4B4Dh ; Magic: 'MK' 135 call MBR_GetCheckOfSector 136 mov [si+LocIPT_BootRecordCRC], bx 126 137 ret 127 138 PART_UpdateBootRecordCRC EndP 139 140 ; Copies the device-name to the Resume-BIOS IPT entry 141 PART_UpdateResumeBIOSName Proc Near Uses ax bx cx si di 142 movzx bx, CFG_ResumeBIOSbootSeq 143 dec bx 144 shl bx, 1 145 mov si, wptr [ContinueBIOSbootTable+bx] 146 mov di, offset BIOScontIPTentry+LocIPT_Name 147 push di 148 mov cx, 11 149 mov al, ' ' 150 rep stosb 151 pop di 152 PURBN_BootDeviceCopyLoop: 153 lodsb 154 or al, al 155 jz PURBN_NoResumeBootSeq 156 stosb 157 jmp PURBN_BootDeviceCopyLoop 158 PURBN_NoResumeBootSeq: 159 ret 160 PART_UpdateResumeBIOSName EndP 128 161 129 162 ; ============================================================================ … … 166 199 PCMPP_NoResumeBootSeqInclude: 167 200 168 ; Now include all Linux Kernels, if any available... 169 movzx cx, LINUX_KernelNo 170 or cx, cx 171 jz PCMPP_NoLinuxKernels 172 mov ax, offset LINUX_KernelEntries 173 PCMPP_KernelLoop: 174 mov ds:[bx], ax 175 add bx, 2 176 add ax, LocIPT_LenOfIPT 177 dec cx 178 jnz PCMPP_KernelLoop 179 PCMPP_NoLinuxKernels: 201 ; [Linux support removed since v1.02] 202 ; ; Now include all Linux Kernels, if any available... 203 ; movzx cx, LINUX_KernelNo 204 ; or cx, cx 205 ; jz PCMPP_NoLinuxKernels 206 ; mov ax, offset LINUX_KernelEntries 207 ; PCMPP_KernelLoop: 208 ; mov ds:[bx], ax 209 ; add bx, 2 210 ; add ax, LocIPT_LenOfIPT 211 ; dec cx 212 ; jnz PCMPP_KernelLoop 213 ; PCMPP_NoLinuxKernels: 180 214 181 215 movzx cx, CFG_Partitions ; LocIPT_MaxPartitions … … 201 235 ; Gets a pointer to the given partition 202 236 ; In: DL - Number of partition 203 ; Out: SI - Pointer to it (use CS)237 ; Out: SI - Pointer to it 204 238 PART_GetPartitionPointer Proc Near Uses bx 205 239 cmp dl, 0FEh … … 208 242 movzx bx, dl 209 243 shl bx, 1 210 mov si, wptr cs:[PartitionPointers+bx]244 mov si, wptr [PartitionPointers+bx] 211 245 ret 212 246 PGPP_IsBIOSbootSeq: … … 250 284 jb PCTS_IsBIOSbootSeq 251 285 je PCTS_IsFloppy 252 cmp ax, offset LINUX_KernelEntries 253 jae PCTS_IsKernelEntry 286 ; [Linux support removed since v1.02] 287 ; cmp ax, offset LINUX_KernelEntries 288 ; jae PCTS_IsKernelEntry 254 289 sub ax, offset PartitionTable 255 290 mov bl, LocIPT_LenOfIPT … … 257 292 mov dl, al 258 293 ret 259 PCTS_IsKernelEntry: 260 mov dl, 0FDh 261 ret 294 ; [Linux support removed since v1.02] 295 ; PCTS_IsKernelEntry: 296 ; mov dl, 0FDh 297 ; ret 262 298 PCTS_IsBIOSbootSeq: 263 299 mov dl, 0FEh … … 271 307 ; Out: DL - Number of partition in filtered view 272 308 PART_ConvertFromStraight Proc Near Uses es di 309 cmp dl, 0FEh 310 jb PCFS_IsPartition 311 mov ax, offset BIOScontIPTentry 312 je PCFS_DoSearch 313 mov ax, offset FloppyIPTentry 314 jmp PCFS_DoSearch 315 PCFS_IsPartition: 273 316 ; First we get Partition-Offset in AX 274 317 movzx ax, dl … … 276 319 mul bl 277 320 add ax, offset PartitionTable 321 PCFS_DoSearch: 278 322 ; Now search for this offset in our filtered Partition-Pointer-Table 279 323 push cs … … 297 341 ; Destroyed: AX 298 342 PART_GetSizeElementPointer Proc Near Uses bx 299 cmp ax, offset LINUX_KernelEntries 300 jae PGSEP_IsKernelEntry 343 ; [Linux support removed since v1.02] 344 ; cmp ax, offset LINUX_KernelEntries 345 ; jae PGSEP_IsKernelEntry 301 346 mov si, offset PartitionSizeTable 302 347 sub ax, offset PartitionTable 303 jmp PGSEP_Continue 304 PGSEP_IsKernelEntry: 305 mov si, offset LINUX_KernelSizeTable 306 sub ax, offset LINUX_KernelEntries 307 PGSEP_Continue: 348 ; jmp PGSEP_Continue 349 ; [Linux support removed since v1.02] 350 ; PGSEP_IsKernelEntry: 351 ; mov si, offset LINUX_KernelSizeTable 352 ; sub ax, offset LINUX_KernelEntries 353 ; PGSEP_Continue: 308 354 mov bl, LocIPT_LenOfIPT 309 355 div bl ; Divide with IPTlength … … 381 427 ; install MBR Protection, if wanted 382 428 ; Special Boot Support, if needed (OS/2 Extended partitions) 429 ; Copy boot-sector to StartBase 383 430 ; run boot sector... 384 431 PART_StartPartition Proc Near Uses ax dx es di … … 389 436 call PART_ConvertToStraight ; ...we save straight view for later... 390 437 mov BootPartNo, dl 438 ; Straight - FFh -> Floppy boot 439 ; FEh -> BIOS continue (CD-ROM, ZIP, etc.) 391 440 392 441 ; We need straight pointers from now on, so calculate the table... … … 397 446 398 447 push si 399 mov dl, cs:[si+LocIPT_Drive]400 mov dh, cs:[si+LocIPT_SystemID]448 mov dl, [si+LocIPT_Drive] 449 mov dh, [si+LocIPT_SystemID] 401 450 ; Copy Partition-Name to BootingNow area for display purposes 402 451 add si, LocIPT_Name … … 411 460 mov si, offset TXT_BootingNow1 412 461 call MBR_Teletype 413 cmp dh, 0FDh 414 je PSP_IsKernel 462 ; [Linux support removed since v1.02] 463 ; cmp dh, 0FDh 464 ; je PSP_IsKernel 415 465 or dl, dl 416 466 jnz PSP_IsHarddisc … … 420 470 jmp PSP_IsFloppyCDROMetc 421 471 422 PSP_IsKernel: 423 IFDEF ReleaseCode 424 ; Save configuration on HDD boots (save CFG_LinuxLastKernel) 425 call DriveIO_SaveConfiguration 426 ENDIF 427 call MBR_Teletype ; Prints out BootingNow2 including KernelName 428 mov si, offset TXT_BootingNowKernel 429 call MBR_Teletype 430 jmp PSP_IsFloppyCDROMetc 472 ; [Linux support removed since v1.02] 473 ; PSP_IsKernel: 474 ; IFDEF ReleaseCode 475 ; ; Save configuration on HDD boots (save CFG_LinuxLastKernel) 476 ; call DriveIO_SaveConfiguration 477 ; ENDIF 478 ; call MBR_Teletype ; Prints out BootingNow2 including KernelName 479 ; mov si, offset TXT_BootingNowKernel 480 ; call MBR_Teletype 481 ; jmp PSP_IsFloppyCDROMetc 431 482 432 483 PSP_IsHarddisc: … … 440 491 pop si ; restores SI (IPT-pointer) 441 492 442 mov ax, wptr cs:[si+LocIPT_AbsolutePartTable+0]443 mov bx, wptr cs:[si+LocIPT_AbsolutePartTable+2]444 mov cx, wptr cs:[si+LocIPT_LocationPartTable+1]445 mov dh, bptr cs:[si+LocIPT_LocationPartTable+0]446 mov dl, cs:[si+LocIPT_Drive]493 mov ax, wptr [si+LocIPT_AbsolutePartTable+0] 494 mov bx, wptr [si+LocIPT_AbsolutePartTable+2] 495 mov cx, wptr [si+LocIPT_LocationPartTable+1] 496 mov dh, bptr [si+LocIPT_LocationPartTable+0] 497 mov dl, [si+LocIPT_Drive] 447 498 call DriveIO_LoadPartition ; Load Table... 448 499 ; --------------------------------------------------- MODIFY PARTITION TABLE 449 push ExecBaseSeg500 push cs 450 501 pop es 451 mov di, ExecBasePtr 452 add di, 446 ; DS:SI - Erster Partitionseintrag 502 mov di, offset PartitionSector+446 ; ES:DI - First Partitionentry 453 503 454 504 ; Remove all active-flags for safety reasons, primary partition table will … … 464 514 465 515 ; Put the partition-to-be-booted location into registers... 466 mov ax, wptr cs:[si+LocIPT_AbsoluteBegin+0]467 mov bx, wptr cs:[si+LocIPT_AbsoluteBegin+2]468 sub ax, wptr cs:[si+LocIPT_AbsolutePartTable+0]469 sbb bx, wptr cs:[si+LocIPT_AbsolutePartTable+2]516 mov ax, wptr [si+LocIPT_AbsoluteBegin+0] 517 mov bx, wptr [si+LocIPT_AbsoluteBegin+2] 518 sub ax, wptr [si+LocIPT_AbsolutePartTable+0] 519 sbb bx, wptr [si+LocIPT_AbsolutePartTable+2] 470 520 ; BX:AX - absolute position of partition relative to partition table 471 521 ; ...and search for it... … … 478 528 PSP_SearchMismatch: 479 529 add di, LocBRPT_LenOfEntry ; 16 Bytes per Partition-Entry 480 cmp di, 500+ ExecBasePtr530 cmp di, 500+offset PartitionSector 481 531 jb PSP_SearchLoop 482 532 jmp MBR_HaltSystem … … 493 543 ; If yes, set magic bytes 'I13X' at 3000:0 for boot-loader to recognize. 494 544 ; This method is (c) by IBM <g> 495 mov ax, wptr cs:[si+LocIPT_AbsoluteBegin+0]496 mov bx, wptr cs:[si+LocIPT_AbsoluteBegin+2]545 mov ax, wptr [si+LocIPT_AbsoluteBegin+0] 546 mov bx, wptr [si+LocIPT_AbsoluteBegin+2] 497 547 add ax, wptr es:[di+LocBRPT_AbsoluteLength+0] ; Add length to absolute 498 548 adc bx, wptr es:[di+LocBRPT_AbsoluteLength+2] ; begin location … … 515 565 516 566 ; now check, if we need to hide any partition 517 test byte ptr cs:[si+LocIPT_Flags], Flags_HideFeature567 test byte ptr [si+LocIPT_Flags], Flags_HideFeature 518 568 jz PSP_NoHideFeature 519 569 ; --------------------------------------------------------- PARTITION HIDING … … 532 582 mov cl, CFG_Partitions 533 583 PSP_PartitionsHideLoop: 534 mov dl, cs:[di]584 mov dl, es:[di] 535 585 inc di 536 586 cmp dl, 0FFh … … 543 593 ; So something got hidden and we have to remark a primary partition, 544 594 ; if we are booting something non-primary from 1st hdd. 545 cmp bptr ds:[si+LocIPT_Drive], 80h595 cmp bptr [si+LocIPT_Drive], 80h 546 596 ja PSP_HideAdjustPrimaryMark ; When booting any hdd, but 1st 547 mov ax, wptr ds:[si+LocIPT_AbsolutePartTable]548 mov bx, wptr ds:[si+LocIPT_AbsolutePartTable+2]597 mov ax, wptr [si+LocIPT_AbsolutePartTable] 598 mov bx, wptr [si+LocIPT_AbsolutePartTable+2] 549 599 or ax, ax 550 600 jnz PSP_HideAdjustPrimaryMark ; or booting non-primary partition … … 565 615 566 616 PSP_NoHideFeature: 617 ; Check, if we are supposed to ignore LVM altogether... 618 test [CFG_IgnoreLVM], 1 619 jnz PSP_NoLVMReassignment 620 ; --------------------------------------------------------- LVM REASSIGNMENT 621 ; Driveletter must be set for this partition 622 test byte ptr [si+LocIPT_Flags], Flags_DriveLetter 623 jz PSP_NoLVMReassignment 624 movzx bx, BootPartNo ; EntryNumber is straight view 625 mov al, bptr [DriveLetters+bx] 626 sub al, 3Dh ; Convert e.g. 80h -> 'C' 627 cmp al, bptr [PartitionVolumeLetters+bx] 628 je PSP_NoLVMReassignment ; If driveletters match -> no change 629 call LVM_DoLetterReassignment ; Give partition SI letter AL 630 PSP_NoLVMReassignment: 567 631 push si 568 632 ; ------------------------------------------------------- -"PLEASE WAIT..."- … … 584 648 ; -------------------------------------------------- SPECIAL BOOT PROCESSING 585 649 ; Check here, if the Boot shall be done via resume to BIOS... 586 mov al, bptr cs:[si+LocIPT_SystemID]650 mov al, bptr [si+LocIPT_SystemID] 587 651 cmp al, 0FEh ; Via BIOS ? (aka resume BIOS boot sequence) 588 652 je PSP_ResumeBIOSbootSeq 589 cmp al, 0FDh ; Kernel-Booting ? 590 je PSP_KernelBooting 653 ; [Linux support removed since v1.02] 654 ; cmp al, 0FDh ; Kernel-Booting ? 655 ; je PSP_KernelBooting 591 656 jmp PSP_StartNormal 592 657 … … 597 662 dw 0F000h 598 663 599 PSP_KernelBooting: 600 call LINUX_LoadKernel ; DS:SI - Entry Pointer to Kernel 601 db 0EAh ; if return to here -> Reboot 602 dw 0FFF0h 603 dw 0F000h 604 605 ; ================================================================== 606 ; FROM THIS POINT ON, ONLY *SI* REGISTER IS NEEDED TO BE PRESERVED 607 ; ================================================================== 664 ; [Linux support removed since v1.02] 665 ; PSP_KernelBooting: 666 ; call LINUX_LoadKernel ; DS:SI - Entry Pointer to Kernel 667 ; db 0EAh ; if return to here -> Reboot 668 ; dw 0FFF0h 669 ; dw 0F000h 670 671 ; ======================================================================= 672 ; FROM THIS POINT ON, ONLY DS and SI REGISTER IS NEEDED TO BE PRESERVED 673 ; ======================================================================= 608 674 609 675 PSP_StartNormal: 610 mov ax, wptr cs:[si+LocIPT_AbsoluteBegin+0]611 mov bx, wptr cs:[si+LocIPT_AbsoluteBegin+2]612 mov cx, cs:[si+LocIPT_LocationBegin+1]613 mov dh, cs:[si+LocIPT_LocationBegin+0]614 mov dl, cs:[si+LocIPT_Drive]676 mov ax, wptr [si+LocIPT_AbsoluteBegin+0] 677 mov bx, wptr [si+LocIPT_AbsoluteBegin+2] 678 mov cx, [si+LocIPT_LocationBegin+1] 679 mov dh, [si+LocIPT_LocationBegin+0] 680 mov dl, [si+LocIPT_Drive] 615 681 call DriveIO_LoadPartition ; Loads boot-sector... 616 682 617 683 test CFG_DetectVIBR, 1 618 684 jz PSP_NoVIBR 619 test byte ptr cs:[si+LocIPT_Flags], Flags_VIBR_Detection685 test byte ptr [si+LocIPT_Flags], Flags_VIBR_Detection 620 686 jz PSP_NoVIBR 621 687 ; ---------------------------------------------------------- CHECKS FOR VIBR 622 push ds si 623 push ExecBaseSeg 624 pop ds 625 mov si, offset ExecBasePtr 688 push si 689 mov si, offset PartitionSector 626 690 mov bx, 4B4Dh ; Magic: 'MK' 627 691 call MBR_GetCheckOfSector 628 pop si ds629 cmp cs:[si+LocIPT_BootRecordCRC], bx692 pop si 693 cmp [si+LocIPT_BootRecordCRC], bx 630 694 je PSP_NoVIBR 631 mov bx, cs:[si+LocIPT_BootRecordCRC]695 mov bx, [si+LocIPT_BootRecordCRC] 632 696 or bx, bx 633 697 jz PSP_NoVIBR … … 645 709 jz PSP_NoMBRprotect 646 710 ; -------------------------------------------------- INSTALLS MBR-PROTECTION 647 push si ; We needSI later...711 push ds si ; We need DS:SI later... 648 712 ; First subtract 1024 bytes from Base-Memory... 649 713 push ds … … 658 722 ; Now copy in our code (to DX:0)... 659 723 660 mov ax, cs 661 mov ds, ax 662 mov si, offset MBR_Protection ; DS:SI - Source Image 724 mov si, offset MBR_Protection ; DS:SI - Source Image 663 725 mov es, dx 664 xor di, di 726 xor di, di ; ES:DI - Destination 665 727 mov cx, 512 666 rep movsw 728 rep movsw ; Move 1024 bytes... 667 729 668 730 ; Now fill in variables... … … 671 733 mov ds, ax 672 734 mov si, 10h*4 673 xor di, di 735 xor di, di ; INT 10h Vector to MBR Protection 674 736 movsd 675 mov si, 13h*4 737 mov si, 13h*4 ; INT 13h Vector to MBR Protection 676 738 movsd 677 mov al, CFG_IgnoreWriteToMBR 739 mov al, CFG_IgnoreWriteToMBR ; Option to MBR Protection 678 740 stosb 679 741 … … 683 745 mov ax, 9 684 746 mov ds:[si], ax 685 mov ds:[si+2], dx 747 mov ds:[si+2], dx ; Vector hardcoded at DS:0009 686 748 ; MBR-Protection now active :) 687 pop si ; RestoreSI749 pop si ds ; Restore DS:SI 688 750 689 751 ; ------------------------------------------------ SPECIAL PARTITION SUPPORT 690 752 ; needed by OS/2 Warp / eComStation 691 753 PSP_NoMBRprotect: 692 cmp bptr cs:[si+LocIPT_SystemID], 08; I hate Microsuck NTFS check754 cmp bptr [si+LocIPT_SystemID], 08 ; I hate Microsuck NTFS check 693 755 je PSP_NoSpecialSupport 694 756 695 push ExecBaseSeg 696 pop es 697 mov di, ExecBasePtr ; ES:DI - Actual Boot-Record 757 mov di, offset PartitionSector ; ES:DI - Actual Boot-Record 698 758 ; Special Support Detection 699 759 mov ax, wptr es:[di+24] … … 707 767 jne PSP_NoSpecialSupport 708 768 ; Special Support needed 709 mov al, bptr cs:[si+LocIPT_Drive]769 mov al, bptr [si+LocIPT_Drive] 710 770 mov bptr es:[di+36], al ; Write Actual Drive-Letter 711 mov ax, cs:[si+LocIPT_AbsoluteBegin]771 mov ax, [si+LocIPT_AbsoluteBegin] 712 772 mov wptr es:[di+28], ax ; Fixing Hidden Sectors count 713 mov ax, cs:[si+LocIPT_AbsoluteBegin+2]773 mov ax, [si+LocIPT_AbsoluteBegin+2] 714 774 mov wptr es:[di+30], ax ; Done by OS/2 BootMan as well... 715 775 716 776 ; ------------------------------------------------ LOGICAL PARTITION SUPPORT 717 777 PSP_NoSpecialSupport: 718 test byte ptr cs:[si+LocIPT_Flags], Flags_DriveLetter778 test byte ptr [si+LocIPT_Flags], Flags_DriveLetter 719 779 jz PSP_NoLogicalSupport 720 780 721 781 movzx bx, BootPartNo ; EntryNumber is straight view 722 mov al, bptr cs:[DriveLetters+bx]782 mov al, bptr [DriveLetters+bx] 723 783 mov bptr es:[di+37], al ; Write Drive Letter (OS/2 only) 724 784 785 ; -------------------------------------------- COPY BOOT-RECORD TO STARTBASE 786 PSP_NoLogicalSupport: 787 push si 788 mov ax, StartBaseSeg 789 mov es, ax 790 mov cx, 256 791 mov si, offset PartitionSector 792 mov di, StartBasePtr 793 rep movsw 794 pop si 725 795 ; ---------------------------------------------------- NOW START BOOT-RECORD 726 PSP_NoLogicalSupport:727 796 xor ax, ax 728 797 xor bx, bx … … 732 801 xor dh, dh ; Drive supported by BIOS 733 802 mov dl, cs:[si+LocIPT_Drive] ; Drive Physical No 734 db 0EAh ; JUMP TO Entry Point...Bye Bye 735 dw ExecBasePtr 736 dw ExecBaseSeg 803 IFDEF ReleaseCode 804 db 0EAh ; JUMP TO Entry Point...Bye Bye 805 dw StartBasePtr 806 dw StartBaseSeg 807 ENDIF 737 808 PART_StartPartition EndP 738 809 … … 740 811 ; In: DL - Partition to hide 741 812 ; Destroyed: None 742 PART_HidePartition Proc Near Uses ax bx cx dx si esdi813 PART_HidePartition Proc Near Uses ax bx cx dx si di 743 814 call PART_GetPartitionPointer ; Pointer to partition (DL) -> SI 744 815 745 816 ; First load the partition table of that partition... 746 mov ax, wptr cs:[si+LocIPT_AbsolutePartTable+0]747 mov bx, wptr cs:[si+LocIPT_AbsolutePartTable+2]748 mov cx, wptr cs:[si+LocIPT_LocationPartTable+1]749 mov dh, bptr cs:[si+LocIPT_LocationPartTable+0]750 mov dl, cs:[si+LocIPT_Drive]817 mov ax, wptr [si+LocIPT_AbsolutePartTable+0] 818 mov bx, wptr [si+LocIPT_AbsolutePartTable+2] 819 mov cx, wptr [si+LocIPT_LocationPartTable+1] 820 mov dh, bptr [si+LocIPT_LocationPartTable+0] 821 mov dl, [si+LocIPT_Drive] 751 822 call DriveIO_LoadPartition 752 823 ; Partition-Table now LOADED 753 push ExecBaseSeg 754 pop es 755 mov di, ExecBasePtr 756 add di, 446 ; DS:SI - 1st partitionentry... 824 mov di, offset PartitionSector+446 ; ES:DI - 1st partitionentry... 757 825 758 826 ; Put our partition's location into registers... 759 mov ax, wptr cs:[si+LocIPT_AbsoluteBegin+0]760 mov bx, wptr cs:[si+LocIPT_AbsoluteBegin+2]761 sub ax, wptr cs:[si+LocIPT_AbsolutePartTable+0]762 sbb bx, wptr cs:[si+LocIPT_AbsolutePartTable+2]827 mov ax, wptr [si+LocIPT_AbsoluteBegin+0] 828 mov bx, wptr [si+LocIPT_AbsoluteBegin+2] 829 sub ax, wptr [si+LocIPT_AbsolutePartTable+0] 830 sbb bx, wptr [si+LocIPT_AbsolutePartTable+2] 763 831 ; BX:AX - absolute position of partition relative to partition table 764 832 ; ...and search for it... … … 771 839 PHP_SearchMismatch: 772 840 add di, LocBRPT_LenOfEntry ; 16 Bytes per partition entry 773 cmp di, 500+ ExecBasePtr841 cmp di, 500+offset PartitionSector 774 842 jb PHP_SearchLoop 775 843 jmp MBR_HaltSystem ; not found, something is wrong here … … 792 860 ; *not* the BIOS. This one *could* cause havoc to some systems, but I can't 793 861 ; do anything else. 794 ; =In this routine DS may not be equal CS= 795 PART_MarkFirstGoodPrimary Proc Near Uses ax si es di 796 push ExecBaseSeg 797 pop es 798 mov di, ExecBasePtr 799 add di, 446 ; DS:SI - First Partition-Entry 862 PART_MarkFirstGoodPrimary Proc Near Uses ax si di 863 mov di, offset PartitionSector+446 ; DS:SI - 1st partitionentry 800 864 ; First action to do: Remove the active flag from every partition 801 865 push di … … 827 891 PMPP_Search1NoHit: 828 892 add di, LocBRPT_LenOfEntry ; 16 Bytes per Partition-Entry 829 cmp di, 500+ ExecBasePtr893 cmp di, 500+offset PartitionSector 830 894 jb PMPP_Search1Loop 831 895 832 mov di, ExecBasePtr 833 add di, 446 ; DS:SI - First Partition-Entry 896 mov di, offset PartitionSector+446 ; DS:SI - 1st Partition-Entry 834 897 ; Second Search, hit on anything that is not an extended partition 835 898 ; (05 or 0Fh) … … 844 907 PMPP_Search2NoHit: 845 908 add di, LocBRPT_LenOfEntry ; 16 Bytes per Partition-Entry 846 cmp di, 500+ ExecBasePtr909 cmp di, 500+offset PartitionSector 847 910 jb PMPP_Search2Loop 848 911 jmp PMPP_SearchFailed … … 859 922 ; SI - Pointer to Name (8char) 860 923 ; Destroyed: *none* 861 PART_SearchFileSysName Proc Near Uses dsbx dx924 PART_SearchFileSysName Proc Near Uses bx dx 862 925 movzx bx, al 863 push cs864 pop ds865 926 mov si, offset FileSysIDs 866 927 PSFSN_SearchLoop: … … 892 953 ; In: AL - FileSysID 893 954 ; Out: AL - Hidden File-System-ID 894 PART_SearchFileSysHiddenID Proc Near Uses dsbx955 PART_SearchFileSysHiddenID Proc Near Uses bx 895 956 movzx bx, al 896 push cs897 pop ds898 957 mov si, offset FileSysIDs 899 958 PSFSHI_SearchLoop: -
tags/v1.06r/BOOTCODE/REGULAR/PARTSCAN.ASM
r26 r29 1 2 ; Disclaimer:3 ; =============4 ; The sourcecode is released via www.netlabs.org CVS *ONLY*.5 ; You MUST NOT upload it to other servers nor republish it in any way.6 ; The sourcecode is still COPYRIGHTED and NOT RELEASED UNDER GPL.7 ; It's (c) Copyright 1998-2003 by Martin Kiewitz.8 ; You may recompile the source and do *PRIVATE* modifications, but please keep9 ; in mind that modifying this code needs at least *some* assembly skill. If10 ; you mess up your system, because you needed to hack your way through, don't11 ; blame me. Releasing a customized version of AiR-BOOT, selling it in any form12 ; or reusing parts of this source is *PROHIBITED*. Ask me, if you have some13 ; idea about new functionality *before* developing the code, otherwise I will14 ; definitely reject it. Also please accept, that I have some basic design15 ; rules on AiR-BOOT and I will maintain them at all costs, so this won't get16 ; another GRUB.17 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 18 18 ;--------------------------------------------------------------------------- 19 19 ; AiR-BOOT / PARTiTiON SCANNING 20 20 ;--------------------------------------------------------------------------- 21 21 22 ; Note: This is complex code. Also some of these functions have DS != CS, so23 ; make sure that you know what you are doing inhere.22 ; Note: This is complex code. So make sure that you know what you are doing in 23 ; here. 24 24 25 25 PARTSCAN_ScanForPartitions Proc Near Uses … … 27 27 call PARTSCAN_ResetXref 28 28 29 push ds si 30 push 0040h 31 pop ds 32 mov si, 0075h 33 mov dh, ds:[si] ; 40:75 -> POST: Total Harddiscs == DL 34 pop si ds 35 mov TotalHarddiscs, dh 29 mov dh, TotalHarddiscs 36 30 xor al, al 37 31 mov NewPartitions, al … … 67 61 rep movsw 68 62 69 ; Search for any Linux partition and remember, if it got found... 70 mov si, offset PartitionTable 71 movzx cx, CFG_Partitions 72 xor dl, dl ; DL - Is Linux here ? 73 or cx, cx 74 jz PSSFP_NoPartitions 75 PSSFP_LinuxLoop: 76 cmp bptr [si+LocIPT_SystemID], 083h ; Hard-Coded 77 jne PSSFP_NoLinux 78 mov dl, 1 ; Linux found... 79 PSSFP_NoLinux: 80 add si, LocIPT_LenOfIPT 81 loop PSSFP_LinuxLoop 82 PSSFP_NoPartitions: 83 mov GotLinux, dl ; Set Flag 63 ; [Linux support removed since v1.02] 64 ; ; Search for any Linux partition and remember, if it got found... 65 ; mov si, offset PartitionTable 66 ; movzx cx, CFG_Partitions 67 ; xor dl, dl ; DL - Is Linux here ? 68 ; or cx, cx 69 ; jz PSSFP_NoPartitions 70 ; PSSFP_LinuxLoop: 71 ; cmp bptr [si+LocIPT_SystemID], 083h ; Hard-Coded 72 ; jne PSSFP_NoLinux 73 ; mov dl, 1 ; Linux found... 74 ; PSSFP_NoLinux: 75 ; add si, LocIPT_LenOfIPT 76 ; loop PSSFP_LinuxLoop 77 ; PSSFP_NoPartitions: 78 ; mov GotLinux, dl ; Set Flag 84 79 85 80 ; ...and finally check, if we need to set a Drive-Letter … … 125 120 call DriveIO_LoadPartition 126 121 jc PSSDFP_InvalidPartition 122 ; LVM Support - Reads LVM Information Sector 123 call DriveIO_LoadLVMSector 127 124 call PARTSCAN_ScanPartition 128 125 IFDEF ReleaseCode … … 135 132 PARTSCAN_ScanDriveForPartitions EndP 136 133 134 ; Scans Current Partition for Extended Partitions, if found, AX,BX,CX,DX will 135 ; be set to this location and Carry will be set 136 PARTSCAN_ScanPartitionForExtended Proc Near Uses si 137 mov si, offset PartitionSector+446 ; DS:SI - 1st partition entry 138 xor ax, ax 139 PSSPFE_ScanLoop: 140 mov al, [si+LocBRPT_SystemID] 141 cmp al, 5 ; Is Partition EXTENDED ? 142 je PSSPFE_ExtendedPartition 143 cmp al, 0Fh ; Is Partition EXTENDED (M$) ? 144 je PSSPFE_ExtendedPartition 145 jmp PSSPFE_IgnorePartition 146 PSSPFE_ExtendedPartition: 147 mov ax, wptr [si+LocBRPT_RelativeBegin] 148 mov bx, wptr [si+LocBRPT_RelativeBegin+2] 149 add ax, wptr [ExtendedAbsPos+0] ; Adjust... 150 adc bx, wptr [ExtendedAbsPos+2] ; (Shit Design!) 151 test [ExtendedAbsPosSet], 1 152 jnz PSSPFE_ExtendedMainKnown 153 mov wptr [ExtendedAbsPos+0], ax 154 mov wptr [ExtendedAbsPos+2], bx 155 mov [ExtendedAbsPosSet], 1 156 PSSPFE_ExtendedMainKnown: 157 mov cx, wptr [si+LocBRPT_BeginSector] ; Cylinder/Sector 158 mov dh, bptr [si+LocBRPT_BeginHead] ; Head 159 mov dl, bptr [CurPartition_Location+4] ; Drive 160 stc 161 jmp PSSPFE_EndOfSearch 162 PSSPFE_IgnorePartition: 163 add si, LocBRPT_LenOfEntry 164 cmp si, 500+offset PartitionSector 165 jb PSSPFE_ScanLoop 166 clc 167 PSSPFE_EndOfSearch: 168 ret 169 PARTSCAN_ScanPartitionForExtended EndP 170 137 171 ; The following routines have NOT *DS* set to CS, so we must address via ES 138 PARTSCAN_ScanPartition Proc Near Uses ax ds si 139 push ExecBaseSeg 140 pop ds 141 mov si, ExecBasePtr 142 add si, 446 ; DS:SI - First Partition-Entry 172 PARTSCAN_ScanPartition Proc Near Uses ax si 173 mov si, offset PartitionSector+446 ; DS:SI - 1st Partition-Entry 143 174 PSSP_ScanLoop: 144 mov al, bptr ds:[si+LocBRPT_SystemID]175 mov al, bptr [si+LocBRPT_SystemID] 145 176 cmp al, 5 ; Is Partition EXTENDED ? 146 177 je PSSP_IgnorePartition … … 149 180 cmp al, 0 ; Is Partition EMPTY ? 150 181 je PSSP_IgnorePartition 151 ; Ignore th is Partitions, because there are no real Partitions182 ; Ignore these partitions, because there are no real Partitions 152 183 call PARTSCAN_CheckThisPartition 153 184 PSSP_IgnorePartition: 154 185 ; Lscht das Boot-Able Flag... 155 and byte ptr ds:[si+LocBRPT_Flags], 7Fh ; Reset the Active-Flag186 and byte ptr [si+LocBRPT_Flags], 7Fh ; Reset the Active-Flag 156 187 add si, LocBRPT_LenOfEntry ; 16 Bytes per partition entry 157 cmp si, 500+ ExecBasePtr188 cmp si, 500+offset PartitionSector 158 189 jb PSSP_ScanLoop 159 190 ; If we are on first HDD and in primary partition table -> mark primary 160 cmp bptr es:[CurPartition_Location+4], 80h ; Drive191 cmp bptr [CurPartition_Location+4], 80h ; Drive 161 192 jne PSSP_NoMarkPrimary 162 cmp wptr es:[CurPartition_Location+0], 0193 cmp wptr [CurPartition_Location+0], 0 163 194 jne PSSP_NoMarkPrimary 164 cmp wptr es:[CurPartition_Location+2], 0 ; Absolute Location195 cmp wptr [CurPartition_Location+2], 0 ; Absolute Location 165 196 jne PSSP_NoMarkPrimary 166 197 call PART_MarkFirstGoodPrimary … … 175 206 ; the old table, otherwise they are generated freshly. 176 207 ; Will also fill out PartitionXref to sync HideConfig later 177 ; In: DS:SI - Partition-Entry (16-Bytes) 178 ; ES - is CS 179 ; (DS is *NOT* CS here) 180 PARTSCAN_CheckThisPartition Proc Near Uses di ds si 208 ; In: SI - Points to Partition-Entry (16-Bytes) 209 PARTSCAN_CheckThisPartition Proc Near Uses di si 181 210 local PartSystemID:byte, PartTypeFlags:byte 182 local PartCRC:word, PartPtr:dword 183 184 mov ax, ds 185 mov wptr [PartPtr+2], ax ; ... 186 mov wptr [PartPtr+0], si ; Save Pointer to PartitionEntry 187 188 mov al, bptr ds:[si+LocBRPT_SystemID] 211 local PartCRC:word, PartPtr:word 212 213 mov wptr [PartPtr], si ; Save Pointer to PartitionEntry 214 215 mov al, bptr [si+LocBRPT_SystemID] 189 216 mov PartSystemID, al 190 217 191 mov cx, wptr ds:[si+LocBRPT_BeginSector] ; Cylinder/Sector192 mov dh, bptr ds:[si+LocBRPT_BeginHead] ; Head193 mov dl, bptr es:[CurPartition_Location+4] ; Drive194 mov ax, wptr ds:[si+LocBRPT_RelativeBegin] ; Absolute Sector195 mov bx, wptr ds:[si+LocBRPT_RelativeBegin+2]196 add ax, wptr es:[CurPartition_Location+0] ; +Partition-Absolute197 adc bx, wptr es:[CurPartition_Location+2] ; sectors218 mov cx, wptr [si+LocBRPT_BeginSector] ; Cylinder/Sector 219 mov dh, bptr [si+LocBRPT_BeginHead] ; Head 220 mov dl, bptr [CurPartition_Location+4] ; Drive 221 mov ax, wptr [si+LocBRPT_RelativeBegin] ; Absolute Sector 222 mov bx, wptr [si+LocBRPT_RelativeBegin+2] 223 add ax, wptr [CurPartition_Location+0] ; +Partition-Absolute 224 adc bx, wptr [CurPartition_Location+2] ; sectors 198 225 call DriveIO_LoadTmpSector ; Loads Boot record 199 226 ; Sets up DS:SI - TmpSector … … 218 245 ; SI - Boot-Record of Partition 219 246 ; DI - File System Name 220 ; DS==CS here221 247 ;================================ 222 248 249 cmp PartSystemID, 07h ; We got IFS here? 250 jne PCCTP_IFSdone 251 ; Check, if 'JFS ' is at DWORD offset 36h 252 cmp wptr [si+36h], 'FJ' 253 jne PCCTP_IFSnoJFS 254 cmp wptr [si+38h], ' S' 255 jne PCCTP_IFSnoJFS 256 mov PartSystemID, 0FCh ; FC is JFS internally 257 jmp PCCTP_IFSdone 258 PCCTP_IFSnoJFS: 259 ; Check, if 'HPFS' is at DWORD offset 36h 260 cmp wptr [si+36h], 'PH' 261 jne PCCTP_ProbablyNTFS 262 cmp wptr [si+38h], 'SF' 263 je PCCTP_IFSdone ; 07 is HPFS internally 264 PCCTP_ProbablyNTFS: 265 inc PartSystemID ; 08 is NTFS instead of 07 266 PCCTP_IFSdone: 267 268 ; First check, if LVM Information Sector is available and this partition 269 ; is supported. 270 push ax dx si di 271 mov si, wptr [PartPtr] 272 mov ax, wptr [si+LocBRPT_RelativeBegin] ; Absolute Sector 273 mov dx, wptr [si+LocBRPT_RelativeBegin+2] 274 add ax, wptr [CurPartition_Location+0] ; +Partition-Absolute 275 adc dx, wptr [CurPartition_Location+2] ; sectors 276 mov si, offset LVMSector 277 call LVM_SearchForPartition ; Search for DX:AX partition 278 jnc PCCTP_CheckBootRecord 279 ; Check, if volume has driveletter assigned and remember it for later 280 mov al, [si+LocLVM_VolumeLetter] 281 or al, al 282 jnz PCCTP_HasVolumeLetter 283 mov al, 1 ; 0 would mean "not LVM supported" 284 PCCTP_HasVolumeLetter: 285 ; Save VolumeLetter in separate table 286 movzx bx, NewPartitions ; NewPartitions is one behind here, so 287 mov [PartitionVolumeLetters+bx], al ; it's already a zero-based offset 288 ; Now copy VolumeID and VolumeName to temporary space 289 mov di, offset MBR_NoName_Patched 290 mov ax, [si+LocLVM_PartitionID] 291 stosw 292 mov ax, [si+LocLVM_PartitionID+2] 293 stosw ; Set Serial-Field to LVM-VolumeID 294 add si, LocLVM_PartitionName 295 mov cx, 5 296 rep movsw ; Copy LVM-PartitionName to Temp Space 297 movsb ; (11 bytes in total) 298 pop di si dx ax 299 mov si, offset MBR_NoName_Patched 300 xor ah, ah ; no Flags_NoPartName 301 jmp PCCTP_NameSearchInIPT 302 303 PCCTP_CheckBootRecord: 304 pop di si dx ax 223 305 test ah, FileSysFlags_NoName ; No-Name-Flag ? -> No Partition Name 224 306 jnz PCCTP_ThereIsNoName ; available 225 cmp PartSystemID, 07h ; We got IFS here? 226 jne PCCTP_NotNTFS 227 ; Check, if 'HPFS' is at DWORD offset 36h 228 cmp wptr ds:[si+36h], 'PH' 229 jne PCCTP_SeemsNTFS 230 cmp wptr ds:[si+38h], 'SF' 231 je PCCTP_NotNTFS 232 PCCTP_SeemsNTFS: 233 inc PartSystemID 234 jmp PCCTP_ThereIsNoName 235 PCCTP_NotNTFS: 307 ; We check for NTFS (got detected a little bit earlier in this routine) 308 cmp PartSystemID, 08h ; We got IFS/NTFS here? 309 jne PCCTP_IsNoNTFS 310 jmp PCCTP_ThereIsNoName ; NTFS has no volume label 311 PCCTP_IsNoNTFS: 312 add si, 2Bh ; DS:SI - Partition-Name 236 313 test ah, FileSysFlags_FAT32 ; FAT32 specific name getting ? 237 314 jz PCCTP_ResumeNormal 238 315 add si, 1Ch ; Fix for FAT 32, shiat 239 316 PCCTP_ResumeNormal: 240 add si, 2Bh ; DS:SI - Partition-Name241 317 mov cx, 11 ; 11 bytes length 242 318 call PART_CheckForValidPartName 243 319 jnc PCCTP_ThereIsNoName 244 ; jnc PCCTP_SetNameToNoName245 320 sub si, 4 ; DS:SI -> Serial&Name (15-Bytes) 246 321 xor ah, ah ; no Flags_NoPartName 247 jmp PCCTP_NameSearchInIPT 248 249 ; WAS: NTFS/HPFS detection problem 250 ; PCCTP_SetNameToNoName: 251 ; cmp PartSystemID, 07h ; We got HPFS that failed ? 252 ; jne PCCTP_NotHPFS ; -> is NTFS (internal type 08h) 253 ; inc PartSystemID ; All that fails is Microsoft <bg> 254 ; PCCTP_NotHPFS: 255 ; jmp PCCTP_ThereIsNoName 322 ; jmp PCCTP_NameSearchInIPT 256 323 257 324 ;======================================================= … … 263 330 xor ah, ah ; no Flags_NoPartName cause PartName valid 264 331 mov di, offset PartitionTable ; ES:DI - IPT-Start 265 mov dl, es:CFG_Partitions332 mov dl, CFG_Partitions 266 333 or dl, dl 267 jz PCCTP_NameCompFailed 334 jnz PCCTP_SerialNameCompLoop 335 jmp PCCTP_CompareFailed 268 336 PCCTP_SerialNameCompLoop: 269 mov al, es:[di+LocIPT_Flags]337 mov al, [di+LocIPT_Flags] 270 338 test al, Flags_NowFound 271 339 jnz PCCTP_SerialNameAlreadyFound … … 285 353 mov dl, CFG_Partitions 286 354 PCCTP_NameCompLoop: 287 mov al, es:[di+LocIPT_Flags]355 mov al, [di+LocIPT_Flags] 288 356 test al, Flags_NowFound 289 357 jnz PCCTP_NameAlreadyFound … … 296 364 pop di si 297 365 jne PCCTP_NameNoMatch 298 mov cx, ds:[si+0] ; Get Serial299 mov es:[di+0], cx300 mov cx, ds:[si+2]301 mov es:[di+2], cx ; ...and put it into IPT366 mov cx, [si+0] ; Get Serial 367 mov [di+0], cx 368 mov cx, [si+2] 369 mov [di+2], cx ; ...and put it into IPT 302 370 jmp PCCTP_Match 303 371 PCCTP_NameNoMatch: … … 307 375 jnz PCCTP_NameCompLoop 308 376 PCCTP_NameCompFailed: 377 378 ; So finally we search for Location and PartitionID 379 push si 380 ; Initialize some stuff for Location-Search 381 mov dh, PartSystemID 382 mov si, [PartPtr] ; DS:SI - Cur Partition Table 383 ; Relative Sector to MBR/EPR 384 mov cx, wptr [si+LocBRPT_RelativeBegin] 385 mov bx, wptr [si+LocBRPT_RelativeBegin+2] 386 add cx, [CurPartition_Location+0] 387 add bx, [CurPartition_Location+2] 388 ; BX:CX - Absolute First Sector of Partition on HDD 389 pop si 390 mov di, offset PartitionTable ; ES:DI - IPT-Start 391 mov dl, CFG_Partitions 392 PCCTP_NameLocCompLoop: 393 mov al, [di+LocIPT_Flags] 394 test al, Flags_NowFound 395 jnz PCCTP_NameLocAlreadyFound 396 ; Now compare IPT with current Partition 397 cmp dh, [di+LocIPT_SystemID] 398 jne PCCTP_NameLocMismatch 399 cmp cx, [di+LocIPT_AbsoluteBegin] 400 jne PCCTP_NameLocMismatch 401 cmp bx, [di+LocIPT_AbsoluteBegin+2] 402 jne PCCTP_NameLocMismatch 403 ; We matched location, now copy the current PartitionID and Name to 404 ; the old IPT. 405 push di 406 add di, LocIPT_Serial ; DS:SI - LocIPT-Serial&Name 407 mov cx, 15 408 rep movsb ; Copy 15 bytes 409 pop di 410 jmp PCCTP_Match 411 PCCTP_NameLocMismatch: 412 PCCTP_NameLocAlreadyFound: 413 add di, LocIPT_LenOfIPT 414 dec dl 415 jnz PCCTP_NameLocCompLoop 416 ; None of the searches worked, so forget it... 309 417 jmp PCCTP_CompareFailed 310 418 311 419 PCCTP_ThereIsNoName: 312 ; First, try to find this partition by comparing location and PartitionID420 ; Try to find this partition by comparing location and PartitionID 313 421 ; aka LocIPT_AbsoluteBegin:dword and LocIPT_SystemID 314 422 ; If found, simply go to the normal match-routine, otherwise use the 315 423 ; File-System-Name to build the Volume-Label for the New IPT Entry. 316 424 mov dh, PartSystemID 317 push ds 318 lds si, dptr PartPtr ; DS:SI - Cur Partition Entry 319 ; Relative Sector to MBR/EPR 320 mov cx, wptr ds:[si+LocBRPT_RelativeBegin] 321 mov bx, wptr ds:[si+LocBRPT_RelativeBegin+2] 322 add cx, cs:[CurPartition_Location+0] 323 add bx, cs:[CurPartition_Location+2] 324 ; BX:CX - Absolute First Sector of Partition on HDD 325 pop ds 425 mov si, [PartPtr] ; DS:SI - Cur Partition Table 426 ; Relative Sector to MBR/EPR 427 mov cx, wptr [si+LocBRPT_RelativeBegin] 428 mov bx, wptr [si+LocBRPT_RelativeBegin+2] 429 add cx, [CurPartition_Location+0] 430 add bx, [CurPartition_Location+2] 326 431 ; Build a standard-Volume Label from FileSystemNamePtr 327 432 ; We have to call SearchFileSysName again because of NTFS … … 330 435 call PART_SearchFileSysName ; We want SI here <- FileSystemNamePtr 331 436 mov di, offset MBR_NoName_Patched 332 add di, 4 ; Skip Serial-Field 333 mov cx, 8 334 rep movsb ; Copy FileSystemName to Temp Space 437 xor ax, ax 438 stosw 439 stosw ; Set Serial-Field to "NUL" 440 mov cx, 4 441 rep movsw ; Copy FileSystemName to Temp Space 442 xor ax, ax 443 stosw 444 stosb ; Fill last 3 bytes with "NUL" 335 445 mov si, offset MBR_NoName_Patched 336 446 pop cx ax … … 345 455 mov ah, Flags_NoPartName ;set Flags_NoPartName, PartName invalid 346 456 mov di, offset PartitionTable ; ES:DI - IPT-Start 347 mov dl, es:CFG_Partitions457 mov dl, CFG_Partitions 348 458 or dl, dl 349 459 jz PCCTP_LocCompFailed 350 460 PCCTP_LocCompLoop: 351 mov al, es:[di+LocIPT_Flags]461 mov al, [di+LocIPT_Flags] 352 462 test al, Flags_NowFound 353 463 jnz PCCTP_LocAlreadyFound 354 464 ; Now compare IPT with current Partition 355 cmp dh, es:[di+LocIPT_SystemID]465 cmp dh, [di+LocIPT_SystemID] 356 466 jne PCCTP_LocMismatch 357 cmp cx, es:[di+LocIPT_AbsoluteBegin]467 cmp cx, [di+LocIPT_AbsoluteBegin] 358 468 jne PCCTP_LocMismatch 359 cmp bx, es:[di+LocIPT_AbsoluteBegin+2]469 cmp bx, [di+LocIPT_AbsoluteBegin+2] 360 470 jne PCCTP_LocMismatch 361 471 jmp PCCTP_Match … … 379 489 ; for converting HideConfig. 380 490 mov dh, dl 381 mov dl, es:CFG_Partitions491 mov dl, CFG_Partitions 382 492 sub dl, dh 383 493 mov dh, NewPartitions ; is actually a counter … … 385 495 386 496 ; Get Saved-Flags... 387 mov cl, b yte ptr es:[di+LocIPT_Flags]; Use saved Flags497 mov cl, bptr [di+LocIPT_Flags] ; Use saved Flags 388 498 389 499 ; ...and Saved-CRC if available... 390 mov ax, wptr es:[di+LocIPT_BootRecordCRC]500 mov ax, wptr [di+LocIPT_BootRecordCRC] 391 501 or ax, ax 392 502 jz PCCTP_UseNewComputedCRC … … 394 504 PCCTP_UseNewComputedCRC: 395 505 ; ...and mark partition in IPT as already found 396 or b yte ptr es:[di+LocIPT_Flags], Flags_NowFound506 or bptr [di+LocIPT_Flags], Flags_NowFound 397 507 ; ...get Serial&Name from IPT-table... 398 508 mov si, di … … 412 522 mov al, PartTypeFlags 413 523 ; May I auto-add partitions ? 414 test es:CFG_PartitionsDetect, 1524 test CFG_PartitionsDetect, 1 415 525 jz PCCTP_MayNotAddAny ; add, but non-bootable 416 526 test al, FileSysFlags_BootAble ; AH kam von SearchFileSysName … … 447 557 ; Calculate Pointer to IPT 448 558 mov di, offset NewPartTable ; ES:DI - NewPartTable 449 movzx ax, es:NewPartitions559 movzx ax, NewPartitions 450 560 mov bl, LocIPT_LenOfIPT 451 561 mul bl … … 459 569 pop cx 460 570 461 lds si, dptr PartPtr; DS:SI - Cur Partition Entry462 mov al, bptr es:[CurPartition_Location+4] ; Drive571 mov si, [PartPtr] ; DS:SI - Cur Partition Entry 572 mov al, bptr [CurPartition_Location+4] ; Drive 463 573 stosb 464 574 mov al, PartSystemID ; Unhidden SystemID … … 468 578 mov ax, PartCRC ; BootRecordCRC... 469 579 stosw 470 mov al, bptr ds:[si+LocBRPT_BeginHead]580 mov al, bptr [si+LocBRPT_BeginHead] 471 581 stosb 472 mov ax, wptr ds:[si+LocBRPT_BeginSector] ; Cylinder/Sector582 mov ax, wptr [si+LocBRPT_BeginSector] ; Cylinder/Sector 473 583 stosw 474 mov al, bptr es:[CurPartition_Location+5] ; Head of Part-Table584 mov al, bptr [CurPartition_Location+5] ; Head of Part-Table 475 585 stosb 476 mov ax, wptr es:[CurPartition_Location+6] ; Cylinder/Sector586 mov ax, wptr [CurPartition_Location+6] ; Cylinder/Sector 477 587 stosw 478 mov ax, wptr ds:[si+LocBRPT_RelativeBegin]479 mov bx, wptr ds:[si+LocBRPT_RelativeBegin+2]480 mov cx, wptr es:[CurPartition_Location+0] ; +Partition-Absolute481 mov dx, wptr es:[CurPartition_Location+2] ; sectors588 mov ax, wptr [si+LocBRPT_RelativeBegin] 589 mov bx, wptr [si+LocBRPT_RelativeBegin+2] 590 mov cx, wptr [CurPartition_Location+0] ; +Partition-Absolute 591 mov dx, wptr [CurPartition_Location+2] ; sectors 482 592 add ax, cx 483 593 adc bx, dx … … 489 599 mov ax, dx 490 600 stosw 491 inc es:NewPartitions; NEW IPT Entry DONE492 493 cmp es:NewPartitions, LocIPT_MaxPartitions601 inc NewPartitions ; NEW IPT Entry DONE 602 603 cmp NewPartitions, LocIPT_MaxPartitions 494 604 jbe PCCTP_NotTooManyPartitions 495 mov ax, cs496 mov ds, ax497 605 mov si, offset TXT_TooManyPartitions 498 606 call MBR_Teletype … … 502 610 ; UNHIDE PARTITION, if it was hidden previously 503 611 mov al, PartSystemID 504 cmp al, 08h ; internally NTFS ? 505 jne PCCTP_NoInternalNTFS 506 dec al 507 PCCTP_NoInternalNTFS: 508 mov bptr ds:[si+LocBRPT_SystemID], al 509 510 ; Calculate Size of this partition... 511 movzx ax, es:NewPartitions 612 cmp al, 08h ; internally IFS/NTFS? 613 je PCCTP_GotInternalIFS 614 cmp al, 0FCh ; internally IFS/JFS? 615 jne PCCTP_NoInternalIFS 616 PCCTP_GotInternalIFS: 617 mov al, 07h 618 PCCTP_NoInternalIFS: 619 mov bptr [si+LocBRPT_SystemID], al 620 621 ; Calculate Size of this partition and put it into separate table... 622 movzx ax, NewPartitions 512 623 dec ax 513 624 mov bx, ax … … 517 628 mov di, offset PartitionSizeTable 518 629 add di, ax ; DI - Partition Size-Element 519 mov ax, wptr ds:[si+LocBRPT_AbsoluteLength] ; Sector-Size520 mov bx, wptr ds:[si+LocBRPT_AbsoluteLength+2]630 mov ax, wptr [si+LocBRPT_AbsoluteLength] ; Sector-Size 631 mov bx, wptr [si+LocBRPT_AbsoluteLength+2] 521 632 call PART_FillOutSizeElement 522 633 ret 523 634 PARTSCAN_CheckThisPartition EndP 524 525 ; Scans Current Partition for Extended Partitions, if found, AX,BX,CX,DX will526 ; be set to this location and Carry will be set527 PARTSCAN_ScanPartitionForExtended Proc Near Uses ds si528 mov ax, ExecBaseSeg529 mov ds, ax530 mov si, ExecBasePtr531 add si, 446 ; DS:SI - First Partition Entry532 xor ax, ax533 PSSPFE_ScanLoop:534 mov al, ds:[si+LocBRPT_SystemID]535 cmp al, 5 ; Is Partition EXTENDED ?536 je PSSPFE_ExtendedPartition537 cmp al, 0Fh ; Is Partition EXTENDED (M$) ?538 je PSSPFE_ExtendedPartition539 jmp PSSPFE_IgnorePartition540 PSSPFE_ExtendedPartition:541 mov ax, wptr ds:[si+LocBRPT_RelativeBegin]542 mov bx, wptr ds:[si+LocBRPT_RelativeBegin+2]543 add ax, wptr es:[ExtendedAbsPos+0] ; Adjust...544 adc bx, wptr es:[ExtendedAbsPos+2] ; (Shit Design!)545 test es:[ExtendedAbsPosSet], 1546 jnz PSSPFE_ExtendedMainKnown547 mov wptr es:[ExtendedAbsPos+0], ax548 mov wptr es:[ExtendedAbsPos+2], bx549 mov cs:[ExtendedAbsPosSet], 1550 PSSPFE_ExtendedMainKnown:551 mov cx, wptr ds:[si+LocBRPT_BeginSector] ; Cylinder/Sector552 mov dh, bptr ds:[si+LocBRPT_BeginHead] ; Head553 mov dl, bptr es:[CurPartition_Location+4] ; Drive554 stc555 jmp PSSPFE_EndOfSearch556 PSSPFE_IgnorePartition:557 add si, LocBRPT_LenOfEntry558 cmp si, 500+ExecBasePtr559 jb PSSPFE_ScanLoop560 clc561 PSSPFE_EndOfSearch:562 ret563 PARTSCAN_ScanPartitionForExtended EndP564 635 565 636 ; =================== … … 567 638 ; =================== 568 639 569 ; The following routines have DS==CS again570 571 640 ; Reset X-Reference 572 PARTSCAN_ResetXref Proc Near Uses ax cx es di 573 push cs 574 pop es 641 PARTSCAN_ResetXref Proc Near Uses ax cx di 575 642 mov di, offset PartitionXref ; X-Reference for later syncing 576 643 mov cx, LocIPT_MaxPartitions -
tags/v1.06r/BOOTCODE/REGULAR/PASSWORD.ASM
r23 r29 1 2 ; Disclaimer:3 ; =============4 ; The sourcecode is released via www.netlabs.org CVS *ONLY*.5 ; You MUST NOT upload it to other servers nor republish it in any way.6 ; The sourcecode is still COPYRIGHTED and NOT RELEASED UNDER GPL.7 ; It's (c) Copyright 1998-2003 by Martin Kiewitz.8 ; You may recompile the source and do *PRIVATE* modifications, but please keep9 ; in mind that modifying this code needs at least *some* assembly skill. If10 ; you mess up your system, because you needed to hack your way through, don't11 ; blame me. Releasing a customized version of AiR-BOOT, selling it in any form12 ; or reusing parts of this source is *PROHIBITED*. Ask me, if you have some13 ; idea about new functionality *before* developing the code, otherwise I will14 ; definitely reject it. Also please accept, that I have some basic design15 ; rules on AiR-BOOT and I will maintain them at all costs, so this won't get16 ; another GRUB.17 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 18 18 ;--------------------------------------------------------------------------- 19 19 ; AiR-BOOT / PASSWORD … … 22 22 ; Don't ask me, what I'm doing in here to encode the passwords. I don't even 23 23 ; know by myself anymore. It's some kind of hash and I hope that it isn't weak 24 ; and some mad uber-hacker-god will laugh about it .24 ; and some mad uber-hacker-god will laugh about it - but i bet so ;-) 25 25 26 26 PASSWORD_AskSystemPwd Proc Near Uses ax bx si di … … 49 49 ret 50 50 PASSWORD_AskChangeBootPwd EndP 51 52 ;CFG_MasterPassword dw 0101Fh ; Encoded Password (this is just CR) 53 ; dw 07A53h 54 ; dw 0E797h 55 ; dw 0A896h 56 ; BUGBUG - If unspecified password to ask, check if one of our two are CR 57 ; And if that's the case, we need to skip over checking that one. 58 ; If both are CR, return to caller 59 51 60 52 61 ; In: ax - Magic for AskPassword Subroutine -
tags/v1.06r/BOOTCODE/REGULAR/STD_TEXT.ASM
r23 r29 1 2 ; Disclaimer:3 ; =============4 ; The sourcecode is released via www.netlabs.org CVS *ONLY*.5 ; You MUST NOT upload it to other servers nor republish it in any way.6 ; The sourcecode is still COPYRIGHTED and NOT RELEASED UNDER GPL.7 ; It's (c) Copyright 1998-2003 by Martin Kiewitz.8 ; You may recompile the source and do *PRIVATE* modifications, but please keep9 ; in mind that modifying this code needs at least *some* assembly skill. If10 ; you mess up your system, because you needed to hack your way through, don't11 ; blame me. Releasing a customized version of AiR-BOOT, selling it in any form12 ; or reusing parts of this source is *PROHIBITED*. Ask me, if you have some13 ; idea about new functionality *before* developing the code, otherwise I will14 ; definitely reject it. Also please accept, that I have some basic design15 ; rules on AiR-BOOT and I will maintain them at all costs, so this won't get16 ; another GRUB.17 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 18 18 ;--------------------------------------------------------------------------- 19 19 ; AiR-BOOT / TEXT 20 20 ;--------------------------------------------------------------------------- 21 21 22 ; If you modify this Copyright and release this shiatunder your own name,22 ; If you modify this Copyright and release this under your own name, 23 23 ; I'm going to sue your cheap ass, rape your dog and blow up your house. =) 24 24 25 CopyrightVersionLen equ 5 26 Copyright db ' AiR-BOOT v1.01 - (c) 1998-2003 Martin Kiewitz, Dedicated to Gerd Kiewitz', 0 27 IFDEF ReleaseCommercial 28 RegisteredTo db 'Registered To: Myself', 0 29 ELSE 30 BootEndMsg db 'Distribute/copy freely. Only meant for private usage.', 0 31 ENDIF 25 CopyrightVersionLen equ 5 26 Copyright db ' AiR-BOOT v1.06 - (c) 1998-2009 M. Kiewitz, Dedicated to Gerd Kiewitz', 0 27 BootEndMsg db 'Free usage allowed, as long as you dont or have not worked for US government', 0 28 BootEndMsg2 db 'This is GPLv3+ software. Please visit http://AiR-BOOT.sourceforge.net', 0 32 29 33 CheckID_MBR db 'AiRBOOT' 30 CheckID_MBR db 'AiRBOOT' 31 BrokenHDD db ' (HDDx)', 0 34 32 35 ContinueBIOSbootTable dw offset TXT_SETUP_MAGIC_CDROM 36 dw offset TXT_SETUP_MAGIC_Network 37 dw offset TXT_SETUP_MAGIC_ZIPLS 38 dw 0 33 ; Colors for special words hard-coded. Keep all 0s. 34 TXT_SETUP_LowerMessage db 'This software is released under ', 0, 'GPLv3+.', 0 35 db 'It may not be used by US government', 0 36 db 'For more information and source, please visit', 0 37 db 'http://AiR-BOOT.sourceforge.net', 0 38 db 'Contact via e-mail: ', 0, 'm_kiewitz [AT] users.sourceforge.net', 0 39 40 ContinueBIOSbootTable dw offset TXT_SETUP_MAGIC_CDROM 41 dw offset TXT_SETUP_MAGIC_Network 42 dw offset TXT_SETUP_MAGIC_ZIPLS 43 dw 0 -
tags/v1.06r/BOOTCODE/REGULAR/TIMER.ASM
r23 r29 1 2 ; Disclaimer:3 ; =============4 ; The sourcecode is released via www.netlabs.org CVS *ONLY*.5 ; You MUST NOT upload it to other servers nor republish it in any way.6 ; The sourcecode is still COPYRIGHTED and NOT RELEASED UNDER GPL.7 ; It's (c) Copyright 1998-2003 by Martin Kiewitz.8 ; You may recompile the source and do *PRIVATE* modifications, but please keep9 ; in mind that modifying this code needs at least *some* assembly skill. If10 ; you mess up your system, because you needed to hack your way through, don't11 ; blame me. Releasing a customized version of AiR-BOOT, selling it in any form12 ; or reusing parts of this source is *PROHIBITED*. Ask me, if you have some13 ; idea about new functionality *before* developing the code, otherwise I will14 ; definitely reject it. Also please accept, that I have some basic design15 ; rules on AiR-BOOT and I will maintain them at all costs, so this won't get16 ; another GRUB.17 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 18 18 ;--------------------------------------------------------------------------- 19 19 ; AiR-BOOT / TIMER -
tags/v1.06r/BOOTCODE/REGULAR/VIDEOIO.ASM
r23 r29 1 2 ; Disclaimer:3 ; =============4 ; The sourcecode is released via www.netlabs.org CVS *ONLY*.5 ; You MUST NOT upload it to other servers nor republish it in any way.6 ; The sourcecode is still COPYRIGHTED and NOT RELEASED UNDER GPL.7 ; It's (c) Copyright 1998-2003 by Martin Kiewitz.8 ; You may recompile the source and do *PRIVATE* modifications, but please keep9 ; in mind that modifying this code needs at least *some* assembly skill. If10 ; you mess up your system, because you needed to hack your way through, don't11 ; blame me. Releasing a customized version of AiR-BOOT, selling it in any form12 ; or reusing parts of this source is *PROHIBITED*. Ask me, if you have some13 ; idea about new functionality *before* developing the code, otherwise I will14 ; definitely reject it. Also please accept, that I have some basic design15 ; rules on AiR-BOOT and I will maintain them at all costs, so this won't get16 ; another GRUB.17 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 18 18 ;--------------------------------------------------------------------------- 19 19 ; AiR-BOOT / VIDEO I/O -
tags/v1.06r/BOOTCODE/SETUP/MAIN.ASM
r23 r29 1 2 ; Disclaimer:3 ; =============4 ; The sourcecode is released via www.netlabs.org CVS *ONLY*.5 ; You MUST NOT upload it to other servers nor republish it in any way.6 ; The sourcecode is still COPYRIGHTED and NOT RELEASED UNDER GPL.7 ; It's (c) Copyright 1998-2003 by Martin Kiewitz.8 ; You may recompile the source and do *PRIVATE* modifications, but please keep9 ; in mind that modifying this code needs at least *some* assembly skill. If10 ; you mess up your system, because you needed to hack your way through, don't11 ; blame me. Releasing a customized version of AiR-BOOT, selling it in any form12 ; or reusing parts of this source is *PROHIBITED*. Ask me, if you have some13 ; idea about new functionality *before* developing the code, otherwise I will14 ; definitely reject it. Also please accept, that I have some basic design15 ; rules on AiR-BOOT and I will maintain them at all costs, so this won't get16 ; another GRUB.17 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 18 18 ;--------------------------------------------------------------------------- 19 19 ; AiR-BOOT SETUP / GENERIC & GENERAL SETUP ROUTINES … … 487 487 call VideoIO_LocateToCenter ; LocateToCenter 3, 40 using TotalLen 488 488 call VideoIO_Print ; 'Translated By' as well... 489 IFNDEF ReleaseCommercial 490 ; -------------------------------------------- Lower 1st Line 491 mov si, offset TXT_SETUP_LowerMessage 492 mov cl, 3 493 call GetLenOfStrings ; CX - Len of 3 Strings at [si] 494 mov dx, cx 495 mov cx, 1328h 496 call VideoIO_LocateToCenter ; LocateToCenter 19, 40 using TotalLen 497 mov si, offset TXT_SETUP_LowerMessage 498 call VideoIO_Print ; Begin using WHITE... 499 mov cx, 0A00h 500 call VideoIO_Color 501 call VideoIO_Print ; continue green - 'free' 502 mov cx, 0F00h 503 call VideoIO_Color 504 call VideoIO_Print ; finish using WHITE... 505 ; -------------------------------------------- Lower 2nd Line 506 mov cl, 5 507 call GetLenOfStrings ; CX - Len of 5 Strings at [si] 508 mov dx, cx 509 mov cx, 1528h 510 call VideoIO_LocateToCenter ; LocateToCenter 21, 40 using TotalLen 511 call VideoIO_Print ; Begin using WHITE again... 512 mov cx, 0C00h 513 call VideoIO_Color 514 call VideoIO_Print ; contine red - 'NOT' 515 mov cx, 0F00h 516 call VideoIO_Color 517 call VideoIO_Print ; more White... 518 mov cx, 0C00h 519 call VideoIO_Color 520 call VideoIO_Print ; contine red - '-ANY-' 521 mov cx, 0F00h 522 call VideoIO_Color 523 call VideoIO_Print ; more White... 524 ; -------------------------------------------- Lower 3rd Line 525 call GetLenOfString ; CX - Len of String at [si] 526 mov dx, cx 527 mov cx, 1628h 528 call VideoIO_LocateToCenter ; LocateToCenter 22, 40 using TotalLen 529 call VideoIO_Print ; Begin using WHITE again... 530 ; -------------------------------------------- Lower 4th Line 531 mov cl, 5 532 call GetLenOfStrings ; CX - Len of 5 Strings at [si] 533 mov dx, cx 534 mov cx, 1828h 535 call VideoIO_LocateToCenter ; LocateToCenter 24, 40 using TotalLen 536 call VideoIO_Print ; Begin White (again)... 537 mov cx, 0A00h 538 call VideoIO_Color 539 call VideoIO_Print ; continue green - 'other environments' 540 mov cx, 0F00h 541 call VideoIO_Color 542 call VideoIO_Print ; white... 543 mov cx, 0A00h 544 call VideoIO_Color 545 call VideoIO_Print ; green - 'preinstall' 546 mov cx, 0F00h 547 call VideoIO_Color 548 call VideoIO_Print ; finish white... 549 ; -------------------------------------------- Lower 5th Line 550 mov cl, 4 551 call GetLenOfStrings ; CX - Len of 4 Strings at [si] 552 mov dx, cx 553 mov cx, 1928h 554 call VideoIO_LocateToCenter ; LocateToCenter 25, 40 using TotalLen 555 mov cx, 0A00h 556 call VideoIO_Color 557 call VideoIO_Print ; green - 'distribute' 558 mov cx, 0F00h 559 call VideoIO_Color 560 call VideoIO_Print ; ...some white... 561 mov cx, 0B00h 562 call VideoIO_Color 563 call VideoIO_Print ; and finally the e-mail adress 564 mov cx, 0F00h 565 call VideoIO_Color 566 call VideoIO_Print ; finish using WHITE 567 ENDIF 489 ; -------------------------------------------- Lower 1st Line 490 mov si, offset TXT_SETUP_LowerMessage 491 mov cl, 2 492 call GetLenOfStrings ; CX - Len of 5 Strings at [si] 493 mov dx, cx 494 mov cx, 1329h 495 call VideoIO_LocateToCenter ; LocateToCenter 21, 40 using TotalLen 496 call VideoIO_Print ; Begin using WHITE again... 497 mov cx, 0C00h 498 call VideoIO_Color 499 call VideoIO_Print ; contine red - 'GPLv3+' 500 ; -------------------------------------------- Lower 2nd Line 501 mov cl, 1 502 call GetLenOfStrings ; CX - Len of 3 Strings at [si] 503 mov dx, cx 504 mov cx, 1429h 505 call VideoIO_LocateToCenter ; LocateToCenter 19, 40 using TotalLen 506 mov cx, 0F00h 507 call VideoIO_Color ; White... 508 call VideoIO_Print ; Begin using WHITE... 509 ; -------------------------------------------- Lower 3rd Line 510 mov cl, 1 511 call GetLenOfString ; CX - Len of String at [si] 512 mov dx, cx 513 mov cx, 1629h 514 call VideoIO_LocateToCenter ; LocateToCenter 22, 40 using TotalLen 515 mov cx, 0F00h 516 call VideoIO_Color ; White... 517 call VideoIO_Print ; For more information... 518 ; -------------------------------------------- Lower 4th Line 519 mov cl, 1 520 call GetLenOfStrings ; CX - Len of 5 Strings at [si] 521 mov dx, cx 522 mov cx, 1729h 523 call VideoIO_LocateToCenter ; LocateToCenter 24, 40 using TotalLen 524 mov cx, 0B00h 525 call VideoIO_Color 526 call VideoIO_Print ; homepage 527 ; -------------------------------------------- Lower 5th Line 528 mov cl, 2 529 call GetLenOfStrings ; CX - Len of 4 Strings at [si] 530 mov dx, cx 531 mov cx, 1929h 532 call VideoIO_LocateToCenter ; LocateToCenter 25, 40 using TotalLen 533 mov cx, 0700h 534 call VideoIO_Color 535 call VideoIO_Print ; white - 'contact via e-mail'... 536 mov cx, 0800h 537 call VideoIO_Color 538 call VideoIO_Print ; and finally the e-mail adress 568 539 ret 569 540 SETUP_DrawMenuBase EndP … … 672 643 SETUP_EnterMenu_ExtendedOptions EndP 673 644 674 SETUP_EnterMenu_LinuxCommandLine Proc Near Uses dx bp 675 test GotLinux, 1 676 jz SEMLCL_NoLinux 677 call SETUP_EnterMenu_EnterLinuxCmdLine 678 ret 679 SEMLCL_NoLinux: 680 mov cx, 0C04h 681 mov si, offset TXT_SETUP_NoLinuxInstalled 682 call SETUP_ShowErrorBox 683 ret 684 SETUP_EnterMenu_LinuxCommandLine EndP 645 ; [Linux support removed since v1.02] 646 ;SETUP_EnterMenu_LinuxCommandLine Proc Near Uses dx bp 647 ; test GotLinux, 1 648 ; jz SEMLCL_NoLinux 649 ; call SETUP_EnterMenu_EnterLinuxCmdLine 650 ; ret 651 ; SEMLCL_NoLinux: 652 ; mov cx, 0C04h 653 ; mov si, offset TXT_SETUP_NoLinuxInstalled 654 ; call SETUP_ShowErrorBox 655 ; ret 656 ;SETUP_EnterMenu_LinuxCommandLine EndP 685 657 686 658 SETUP_EnterMenu_DefineMasterPassword Proc Near Uses … … 698 670 ; ============================================================================ 699 671 700 SETUP_EnterMenu_EnterLinuxCmdLine Proc Near Uses 701 mov cx, 0D05h 702 call VideoIO_Color 703 mov bx, 0C02h 704 mov dx, 0F4Fh 705 call VideoIO_MakeWindow 706 mov cx, 0F05h 707 call VideoIO_Color 708 709 mov si, offset TXT_SETUP_EnterLinuxCmdLine 710 call GetLenOfString ; CX - Len of Error Message 711 mov dx, cx 712 mov cx, 0D28h 713 call VideoIO_LocateToCenter ; LocateToCenter 13, 40 using LenOfStr 714 call VideoIO_Print ; Writes 'Please enter Linux-CmdLine' 715 716 mov cx, 0E05h 717 call VideoIO_Color 718 mov cx, 0E04h 719 call VideoIO_Locate 720 mov al, ' ' 721 mov cl, 74 722 call VideoIO_PrintSingleMultiChar 723 mov cx, 0E04h 724 call VideoIO_Locate 725 mov si, offset CFG_LinuxCommandLine 726 push si 727 call VideoIO_Print ; Writes Linux Command-Line 728 pop si 729 mov cx, 0E04h 730 call VideoIO_Locate 731 732 push cs 733 pop es ; ES == CS 734 mov di, offset TmpSector 735 mov cx, 37 736 rep movsw ; Copy LinuxCmdLine -> TmpSectorSpace 737 738 mov si, offset TmpSector 739 mov cx, 74 740 call VideoIO_LetUserEditString ; -> does actual editing 741 jnc SEMELCL_UserAbort ; Did user abort ? 742 743 ; Otherwise copy TmpSectorSpace to LinuxCmdLine 744 mov di, offset CFG_LinuxCommandLine 745 mov cx, 74 746 call GetLenOfName ; Get real length of Cmd-Line into CX 747 jz SEMELCL_NulLine 748 rep movsb 749 SEMELCL_NulLine: 750 mov ax, 75 751 sub ax, cx 752 mov cx, ax 753 xor al, al 754 rep stosb ; Fill up with NULs 755 756 SEMELCL_UserAbort: 757 ret 758 SETUP_EnterMenu_EnterLinuxCmdLine EndP 672 ; [Linux support removed since v1.02] 673 ;SETUP_EnterMenu_EnterLinuxCmdLine Proc Near Uses 674 ; mov cx, 0D05h 675 ; call VideoIO_Color 676 ; mov bx, 0C02h 677 ; mov dx, 0F4Fh 678 ; call VideoIO_MakeWindow 679 ; mov cx, 0F05h 680 ; call VideoIO_Color 681 ; 682 ; mov si, offset TXT_SETUP_EnterLinuxCmdLine 683 ; call GetLenOfString ; CX - Len of Error Message 684 ; mov dx, cx 685 ; mov cx, 0D28h 686 ; call VideoIO_LocateToCenter ; LocateToCenter 13, 40 using LenOfStr 687 ; call VideoIO_Print ; Writes 'Please enter Linux-CmdLine' 688 ; 689 ; mov cx, 0E05h 690 ; call VideoIO_Color 691 ; mov cx, 0E04h 692 ; call VideoIO_Locate 693 ; mov al, ' ' 694 ; mov cl, 74 695 ; call VideoIO_PrintSingleMultiChar 696 ; mov cx, 0E04h 697 ; call VideoIO_Locate 698 ; mov si, offset CFG_LinuxCommandLine 699 ; push si 700 ; call VideoIO_Print ; Writes Linux Command-Line 701 ; pop si 702 ; mov cx, 0E04h 703 ; call VideoIO_Locate 704 ; 705 ; push cs 706 ; pop es ; ES == CS 707 ; mov di, offset TmpSector 708 ; mov cx, 37 709 ; rep movsw ; Copy LinuxCmdLine -> TmpSectorSpace 710 ; 711 ; mov si, offset TmpSector 712 ; mov cx, 74 713 ; call VideoIO_LetUserEditString ; -> does actual editing 714 ; jnc SEMELCL_UserAbort ; Did user abort ? 715 ; 716 ; ; Otherwise copy TmpSectorSpace to LinuxCmdLine 717 ; mov di, offset CFG_LinuxCommandLine 718 ; mov cx, 74 719 ; call GetLenOfName ; Get real length of Cmd-Line into CX 720 ; jz SEMELCL_NulLine 721 ; rep movsb 722 ; SEMELCL_NulLine: 723 ; mov ax, 75 724 ; sub ax, cx 725 ; mov cx, ax 726 ; xor al, al 727 ; rep stosb ; Fill up with NULs 728 ; 729 ; SEMELCL_UserAbort: 730 ; ret 731 ;SETUP_EnterMenu_EnterLinuxCmdLine EndP 759 732 760 733 ; In: di - Place for Password to be defined … … 1208 1181 SETUPMAGIC_ChangeBootDelay EndP 1209 1182 1210 ; Used by : Default Partition1211 ; Value : Partition Number (Base=0, None= FFh)1183 ; Used by : Default Selection 1184 ; Value : Partition Number (Base=0, None=80h, ContinueBIOS=FEh, Floppy=FFh) 1212 1185 ; Method : Changes to another bootable partition 1213 ; Logic : if no bootable partitions are found -> will set FFh1214 ; if already set to FFh -> will search through all partitions1215 SETUPMAGIC_Change PartitionProc Near Uses ax cx dx si es di1186 ; Logic : if no bootable selections are found -> will set 80h 1187 ; if already set to 80h -> will search through all selections 1188 SETUPMAGIC_ChangeDefaultSelection Proc Near Uses ax cx dx si es di 1216 1189 mov di, si 1217 mov dl, ds:[bx] ; Cur Partition No.1190 mov dl, ds:[bx] ; Cur Selection No. 1218 1191 push bx 1219 1192 pushf 1220 cmp dl, 0FFh 1221 jne SMCP_IsPartitionNo 1222 inc dl 1223 SMCP_IsPartitionNo: 1224 ; We use BL in here for tracking how many partitions left 1193 cmp dl, 080h 1194 jne SMCP_AlreadyGotSelection 1195 ; Start at partition 0. So Continue-BIOS and Floppy will go last 1196 xor dl, dl 1197 SMCP_AlreadyGotSelection: 1198 ; We use BL in here for tracking how many selections left 1225 1199 mov bl, CFG_Partitions 1200 cmp dl, 0FEh 1201 jb SMCP_DoneAdjust 1202 je SMCP_AdjustContinueBIOS 1203 cmp CFG_IncludeFloppy, 0 1204 jne SMCP_DoneAdjust 1205 dec dl ; No Floppy? -> Try Resume-BIOS 1206 SMCP_AdjustContinueBIOS: 1207 cmp CFG_ResumeBIOSbootSeq, 0 1208 jne SMCP_DoneAdjust 1209 xor dl, dl ; No Resume-BIOS? -> Start partition 0 1210 SMCP_DoneAdjust: 1226 1211 mov dh, bl 1227 1212 inc bl 1228 1213 dec dh 1214 or cl, cl ; CL==0? -> Decrease 1215 jz SMCP_SubstractSelection ; otherwise -> Increase 1229 1216 popf 1230 jc SMCP_DoNotModify 1231 SMCP_RejectPartition: 1232 call SETUPMAGIC_InternalCheckUp ; CheckUp DL (max. CFG_Partitions-1) 1233 SMCP_DoNotModify: 1217 jc SMCP_Dec_ModifyDone 1218 SMCP_Inc_RejectPartition: 1219 inc dl ; Increase Selection No 1220 cmp dl, CFG_Partitions 1221 jb SMCP_Inc_ModifyDone 1222 cmp dl, 0FFh 1223 je SMCP_Inc_TryFloppy 1224 mov dl, 0FEh ; Try Resume-BIOS 1225 cmp CFG_ResumeBIOSbootSeq, 0 1226 jne SMCP_Inc_ModifyDone 1227 inc dl ; Try Floppy 1228 SMCP_Inc_TryFloppy: 1229 cmp CFG_IncludeFloppy, 0 1230 jne SMCP_Inc_ModifyDone 1231 cmp CFG_Partitions, 0 1232 je SMCP_NoBootable 1233 inc dl ; Now start at partition 0 again 1234 SMCP_Inc_ModifyDone: 1234 1235 dec bl 1235 1236 jz SMCP_NoBootable … … 1238 1239 mov ax, ds:[si+LocIPT_Flags] 1239 1240 test ax, Flags_BootAble 1240 jz SMCP_RejectPartition 1241 jz SMCP_Inc_RejectPartition 1242 jmp SMCP_GotSelection 1243 1244 SMCP_SubstractSelection: 1245 popf 1246 jc SMCP_Dec_ModifyDone 1247 SMCP_Dec_RejectPartition: 1248 dec dl ; Decrease Selection No 1249 cmp dl, 0FDh 1250 jb SMCP_Dec_ModifyDone ; <FDh -> We are done 1251 je SMCP_Dec_TryPartition 1252 cmp dl, 0FFh 1253 jb SMCP_Dec_TryResumeBIOS 1254 cmp CFG_IncludeFloppy, 0 1255 jne SMCP_Dec_ModifyDone 1256 dec dl 1257 SMCP_Dec_TryResumeBIOS: 1258 cmp CFG_ResumeBIOSbootSeq, 0 1259 jne SMCP_Dec_ModifyDone 1260 SMCP_Dec_TryPartition: 1261 mov dl, CFG_Partitions 1262 or dl, dl 1263 jz SMCP_NoBootable 1264 dec dl ; Now start at last partition again 1265 SMCP_Dec_ModifyDone: 1266 dec bl 1267 jz SMCP_NoBootable 1268 ; Get Partition-Pointer (SI) from Partition-Number (DL) 1269 call PART_GetPartitionPointer 1270 mov ax, ds:[si+LocIPT_Flags] 1271 test ax, Flags_BootAble 1272 jz SMCP_Dec_RejectPartition 1273 1274 SMCP_GotSelection: 1241 1275 pop bx 1242 1276 mov ds:[bx], dl ; neue Partition setzen … … 1253 1287 SMCP_NoBootable: 1254 1288 pop bx 1255 mov dl, 0 FFh ; "No Bootable"1289 mov dl, 080h ; "No Bootable" 1256 1290 mov ds:[bx], dl ; set that one 1257 1291 mov si, offset TXT_SETUP_MAGIC_NoBootable … … 1261 1295 call SETUPMAGIC_InternalCopyTillNUL 1262 1296 ret 1263 SETUPMAGIC_ChangePartition EndP 1264 1265 SETUPMAGIC_ChangeLinuxKernelPart Proc Near Uses ax cx dx si es di 1266 mov di, si 1267 mov dl, ds:[bx] ; Cur Partition No. 1268 push bx 1269 jc SMCLKP_DoNotModify 1270 SMCLKP_NowGoOn: 1271 mov dh, CFG_Partitions ; CFG_Partitions is Base==1 1272 inc dl ; +1 -> 00h instead FFh -> Disabled 1273 SMCLKP_RejectPartition: 1274 call SETUPMAGIC_InternalCheckUp ; CheckUp DL (max. CFG_Partitions) 1275 SMCLKP_DoNotModify: 1276 or dl, dl 1277 jz SMCLKP_FunctionDisabled 1278 ; Get Partition-Pointer (SI) to Partition-To-Boot (DL) 1279 dec dl 1280 call PART_GetPartitionPointer 1281 inc dl 1282 cmp bptr ds:[si+LocIPT_SystemID], 06h ; FAT-16 required 1283 jne SMCLKP_RejectPartition 1284 pop bx 1285 add si, LocIPT_Name ; Location of Name 1286 push cs 1287 pop es 1288 add di, LocMENU_ItemPack ; DI points to ItemPack 1289 mov cx, 11 1290 rep movsb ; Copy cur PartitionName to ItemPack 1291 xor al, al 1292 stosb ; Ending Zero 1293 SMCLKP_WriteNewValue: 1294 dec dl 1295 mov ds:[bx], dl ; Set new partition number 1296 ret 1297 1298 SMCLKP_FunctionDisabled: 1299 pop bx 1300 mov si, offset TXT_SETUP_MAGIC_Disabled 1301 push cs 1302 pop es 1303 add di, LocMENU_ItemPack ; DI points to ItemPack... 1304 call SETUPMAGIC_InternalCopyTillNUL 1305 jmp SMCLKP_WriteNewValue 1306 SETUPMAGIC_ChangeLinuxKernelPart EndP 1307 1308 SETUPMAGIC_ChangeLinuxRootPart Proc Near Uses ax cx dx si es di 1309 mov di, si 1310 pushf ; lame, but it's not working other ways 1311 test ds:[GotLinux], 1 1312 jnz SMCLRP_GotLinux 1313 popf 1314 add di, LocMENU_ItemPack ; DI points to ItemPack 1315 mov si, offset TXT_SETUP_MAGIC_NoLinux 1316 push cs 1317 pop es 1318 call SETUPMAGIC_InternalCopyTillNUL 1319 ret 1320 SMCLRP_GotLinux: 1321 mov dl, ds:[bx] ; Cur Partition No. 1322 mov dh, CFG_Partitions 1323 dec dh 1324 popf 1325 push bx 1326 jc SMCLRP_DoNotModify ; Thou shall not modify :) 1327 SMCLRP_RejectPartition: 1328 call SETUPMAGIC_InternalCheckUp ; CheckUp DL (max. CFG_Partitions-1) 1329 SMCLRP_DoNotModify: 1330 ; Get Partition-Pointer (SI) to Partition-To-Boot (DL) 1331 call PART_GetPartitionPointer 1332 cmp bptr ds:[si+LocIPT_SystemID], 083h 1333 jne SMCLRP_RejectPartition 1334 pop bx 1335 mov ds:[bx], dl 1336 push cs 1337 pop es 1338 add di, LocMENU_ItemPack ; DI points to ItemPack... 1339 push di 1340 mov cx, 12 1341 xor al, al 1342 rep stosb ; Fill with NULs 1343 pop di 1344 call LINUX_TranslateToDEV ; now translate thingie (DL) 1345 ret 1346 SETUPMAGIC_ChangeLinuxRootPart EndP 1347 1297 SETUPMAGIC_ChangeDefaultSelection EndP 1298 1299 ; [Linux support removed since v1.02] 1300 ;SETUPMAGIC_ChangeLinuxKernelPart Proc Near Uses ax cx dx si es di 1301 ; mov di, si 1302 ; mov dl, ds:[bx] ; Cur Partition No. 1303 ; push bx 1304 ; jc SMCLKP_DoNotModify 1305 ; SMCLKP_NowGoOn: 1306 ; mov dh, CFG_Partitions ; CFG_Partitions is Base==1 1307 ; inc dl ; +1 -> 00h instead FFh -> Disabled 1308 ; SMCLKP_RejectPartition: 1309 ; call SETUPMAGIC_InternalCheckUp ; CheckUp DL (max. CFG_Partitions) 1310 ; SMCLKP_DoNotModify: 1311 ; or dl, dl 1312 ; jz SMCLKP_FunctionDisabled 1313 ; ; Get Partition-Pointer (SI) to Partition-To-Boot (DL) 1314 ; dec dl 1315 ; call PART_GetPartitionPointer 1316 ; inc dl 1317 ; cmp bptr ds:[si+LocIPT_SystemID], 06h ; FAT-16 required 1318 ; jne SMCLKP_RejectPartition 1319 ; pop bx 1320 ; add si, LocIPT_Name ; Location of Name 1321 ; push cs 1322 ; pop es 1323 ; add di, LocMENU_ItemPack ; DI points to ItemPack 1324 ; mov cx, 11 1325 ; rep movsb ; Copy cur PartitionName to ItemPack 1326 ; xor al, al 1327 ; stosb ; Ending Zero 1328 ; SMCLKP_WriteNewValue: 1329 ; dec dl 1330 ; mov ds:[bx], dl ; Set new partition number 1331 ; ret 1332 ; 1333 ; SMCLKP_FunctionDisabled: 1334 ; pop bx 1335 ; mov si, offset TXT_SETUP_MAGIC_Disabled 1336 ; push cs 1337 ; pop es 1338 ; add di, LocMENU_ItemPack ; DI points to ItemPack... 1339 ; call SETUPMAGIC_InternalCopyTillNUL 1340 ; jmp SMCLKP_WriteNewValue 1341 ;SETUPMAGIC_ChangeLinuxKernelPart EndP 1342 1343 ; [Linux support removed since v1.02] 1344 ;SETUPMAGIC_ChangeLinuxRootPart Proc Near Uses ax cx dx si es di 1345 ; mov di, si 1346 ; pushf ; lame, but it's not working other ways 1347 ; test ds:[GotLinux], 1 1348 ; jnz SMCLRP_GotLinux 1349 ; popf 1350 ; add di, LocMENU_ItemPack ; DI points to ItemPack 1351 ; mov si, offset TXT_SETUP_MAGIC_NoLinux 1352 ; push cs 1353 ; pop es 1354 ; call SETUPMAGIC_InternalCopyTillNUL 1355 ; ret 1356 ; SMCLRP_GotLinux: 1357 ; mov dl, ds:[bx] ; Cur Partition No. 1358 ; mov dh, CFG_Partitions 1359 ; dec dh 1360 ; popf 1361 ; push bx 1362 ; jc SMCLRP_DoNotModify ; Thou shall not modify :) 1363 ; SMCLRP_RejectPartition: 1364 ; call SETUPMAGIC_InternalCheckUp ; CheckUp DL (max. CFG_Partitions-1) 1365 ; SMCLRP_DoNotModify: 1366 ; ; Get Partition-Pointer (SI) to Partition-To-Boot (DL) 1367 ; call PART_GetPartitionPointer 1368 ; cmp bptr ds:[si+LocIPT_SystemID], 083h 1369 ; jne SMCLRP_RejectPartition 1370 ; pop bx 1371 ; mov ds:[bx], dl 1372 ; push cs 1373 ; pop es 1374 ; add di, LocMENU_ItemPack ; DI points to ItemPack... 1375 ; push di 1376 ; mov cx, 12 1377 ; xor al, al 1378 ; rep stosb ; Fill with NULs 1379 ; pop di 1380 ; call LINUX_TranslateToDEV ; now translate thingie (DL) 1381 ; ret 1382 ;SETUPMAGIC_ChangeLinuxRootPart EndP 1383 1384 ; [Linux support removed since v1.02] 1348 1385 ; CH-ItemNo, CL-Add/Sub, BX-PtrToVariable, SI-ItemPack 1349 SETUPMAGIC_ChangeLinuxDefaultKernel Proc Near Uses ax cx dx si es di1350 mov di, si1351 jc SMCLDK_DoNotEdit1352 1353 ; --- Edit Linux Default Kernel Name ---1354 mov cl, 29 ; Left side: 291355 test ch, 1000b1356 jz SMCLDK_NoRightSide1357 and ch, 111b1358 mov cl, 68 ; Right side: 681359 SMCLDK_NoRightSide:1360 add ch, 6 ; Koordinate umberechnen1361 push cx1362 call VideoIO_Locate1363 mov cx, 0E01h1364 call VideoIO_Color ; Yellow on Blue1365 mov cl, 121366 mov si, offset CFG_LinuxDefaultKernel1367 call VideoIO_FixedPrint ; Print out [SI] (Length = CL)1368 pop cx1369 call VideoIO_Locate1370 mov cl, 111371 mov si, offset CFG_LinuxDefaultKernel1372 call VideoIO_LetUserEditString1373 1374 ; Final-Process string (which means upper-case it)1375 mov cl, 111376 SMCLDK_FinalProcessLoop:1377 mov al, bptr ds:[si]1378 cmp al, 'a'1379 jb SMCLDK_FinalProcessSkip1380 cmp al, 'z'1381 ja SMCLDK_FinalProcessSkip1382 sub al, 20h1383 SMCLDK_FinalProcessSkip:1384 mov bptr ds:[si], al1385 inc si1386 dec cl1387 jnz SMCLDK_FinalProcessLoop1388 ; --- End of Edit Linux Default Kernel Name ---1389 1390 SMCLDK_DoNotEdit:1391 push cs1392 pop es1393 add di, LocMENU_ItemPack ; DI points to ItemPack...1394 mov si, offset CFG_LinuxDefaultKernel1395 mov cx, 6 ; Copy from CFG-Space to ItemPack1396 rep movsw1397 ret1398 SETUPMAGIC_ChangeLinuxDefaultKernel EndP1386 ;SETUPMAGIC_ChangeLinuxDefaultKernel Proc Near Uses ax cx dx si es di 1387 ; mov di, si 1388 ; jc SMCLDK_DoNotEdit 1389 ; 1390 ; ; --- Edit Linux Default Kernel Name --- 1391 ; mov cl, 29 ; Left side: 29 1392 ; test ch, 1000b 1393 ; jz SMCLDK_NoRightSide 1394 ; and ch, 111b 1395 ; mov cl, 68 ; Right side: 68 1396 ; SMCLDK_NoRightSide: 1397 ; add ch, 6 ; Koordinate umberechnen 1398 ; push cx 1399 ; call VideoIO_Locate 1400 ; mov cx, 0E01h 1401 ; call VideoIO_Color ; Yellow on Blue 1402 ; mov cl, 12 1403 ; mov si, offset CFG_LinuxDefaultKernel 1404 ; call VideoIO_FixedPrint ; Print out [SI] (Length = CL) 1405 ; pop cx 1406 ; call VideoIO_Locate 1407 ; mov cl, 11 1408 ; mov si, offset CFG_LinuxDefaultKernel 1409 ; call VideoIO_LetUserEditString 1410 ; 1411 ; ; Final-Process string (which means upper-case it) 1412 ; mov cl, 11 1413 ; SMCLDK_FinalProcessLoop: 1414 ; mov al, bptr ds:[si] 1415 ; cmp al, 'a' 1416 ; jb SMCLDK_FinalProcessSkip 1417 ; cmp al, 'z' 1418 ; ja SMCLDK_FinalProcessSkip 1419 ; sub al, 20h 1420 ; SMCLDK_FinalProcessSkip: 1421 ; mov bptr ds:[si], al 1422 ; inc si 1423 ; dec cl 1424 ; jnz SMCLDK_FinalProcessLoop 1425 ; ; --- End of Edit Linux Default Kernel Name --- 1426 ; 1427 ; SMCLDK_DoNotEdit: 1428 ; push cs 1429 ; pop es 1430 ; add di, LocMENU_ItemPack ; DI points to ItemPack... 1431 ; mov si, offset CFG_LinuxDefaultKernel 1432 ; mov cx, 6 ; Copy from CFG-Space to ItemPack 1433 ; rep movsw 1434 ; ret 1435 ;SETUPMAGIC_ChangeLinuxDefaultKernel EndP 1399 1436 1400 1437 SETUPMAGIC_ChangeTimedKeyHandling Proc Near Uses ax cx dx ds si es di … … 1452 1489 SETUPMAGIC_ChangeBootMenu EndP 1453 1490 1491 SETUPMAGIC_ChangeFloppyDisplay Proc Near Uses cx dx si es di 1492 call SETUPMAGIC_EnableDisable ; forward call 1493 cmp CFG_PartDefault, 0FFh ; Default-Selection is us? 1494 jne SMCFD_Done 1495 xor ch, ch 1496 mov CFG_PartDefault, ch ; Reset Default-Selection to 1st part 1497 ; We need to fill up Item 0 (Default-Selection)... 1498 call SETUP_FillUpItemPack_Now 1499 ; ...and display it on screen (so the user thinks that we are not dumb) 1500 ; This is hardcoded, but there is no other way. 1501 xor dl, dl 1502 call SETUP_DrawDeSelectItem ; Redraw Item 0 1503 SMCFD_Done: 1504 ret 1505 SETUPMAGIC_ChangeFloppyDisplay EndP 1506 1454 1507 SETUPMAGIC_ChangeBIOSbootSeq Proc Near Uses ax bx cx dx si di 1455 1508 mov di, si … … 1464 1517 jnz SMCBBS_Enabled 1465 1518 mov si, offset TXT_SETUP_MAGIC_Disabled 1519 cmp CFG_PartDefault, 0FEh ; Default-Selection is us? 1520 jne SMCBBS_CopyThiz 1521 mov CFG_PartDefault, dl ; Reset Default-Selection to 1st part 1466 1522 jmp SMCBBS_CopyThiz 1467 1523 SMCBBS_Enabled: … … 1475 1531 pop es 1476 1532 call SETUPMAGIC_InternalCopyTillNUL 1533 ; Copy device-name to the ContBIOSbootSeq-IPT entry 1534 call PART_UpdateResumeBIOSName 1477 1535 ret 1478 1536 SETUPMAGIC_ChangeBIOSbootSeq EndP -
tags/v1.06r/BOOTCODE/SETUP/MENUS.ASM
r23 r29 1 2 ; Disclaimer:3 ; =============4 ; The sourcecode is released via www.netlabs.org CVS *ONLY*.5 ; You MUST NOT upload it to other servers nor republish it in any way.6 ; The sourcecode is still COPYRIGHTED and NOT RELEASED UNDER GPL.7 ; It's (c) Copyright 1998-2003 by Martin Kiewitz.8 ; You may recompile the source and do *PRIVATE* modifications, but please keep9 ; in mind that modifying this code needs at least *some* assembly skill. If10 ; you mess up your system, because you needed to hack your way through, don't11 ; blame me. Releasing a customized version of AiR-BOOT, selling it in any form12 ; or reusing parts of this source is *PROHIBITED*. Ask me, if you have some13 ; idea about new functionality *before* developing the code, otherwise I will14 ; definitely reject it. Also please accept, that I have some basic design15 ; rules on AiR-BOOT and I will maintain them at all costs, so this won't get16 ; another GRUB.17 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 18 18 ;--------------------------------------------------------------------------- 19 19 ; AiR-BOOT SETUP / MENU STRUCTURE … … 101 101 dw offset TXT_SETUPHELP_SUBMENU ; Pointer to help info 102 102 ; The Menu-Items start here... 103 dw offset SETUPMAGIC_ChangePartition, offset CFG_PartDefault 104 dw offset TXT_SETUP_DefaultPart, offset TXT_SETUPHELP_DefaultPart 105 dw 6 dup (0) 103 dw offset SETUPMAGIC_ChangeDefaultSelection, offset CFG_PartDefault 104 dw offset TXT_SETUP_DefaultSelection, offset TXT_SETUPHELP_DefaultSelection 105 dw 6 dup (0) 106 ; ATTENTION: ChangeDefaultSelection is redrawn hardcoded in 107 ; SETUPMAGIC_ChangeFloppyDisplay. 106 108 dw offset SETUPMAGIC_EnableDisable, offset CFG_TimedBoot 107 109 dw offset TXT_SETUP_TimedBoot, offset TXT_SETUPHELP_TimedBoot … … 123 125 dw 6 dup (0) 124 126 ; The Menu-Items of the right side start here... 125 dw offset SETUPMAGIC_ EnableDisable, offset CFG_IncludeFloppy127 dw offset SETUPMAGIC_ChangeFloppyDisplay, offset CFG_IncludeFloppy 126 128 dw offset TXT_SETUP_IncludeFloppy, offset TXT_SETUPHELP_IncludeFloppy 127 129 dw 6 dup (0) … … 194 196 dw offset TXT_SETUPHELP_SUBMENU ; Pointer to help information 195 197 ; The Menu-Items start here... 196 dw offset SETUPMAGIC_ChangeLinuxKernelPart, offset CFG_LinuxKrnlPartition 197 dw offset TXT_SETUP_LinuxKernelPart, offset TXT_SETUPHELP_LinuxKernelPart 198 dw 6 dup (0) 199 dw offset SETUPMAGIC_ChangeLinuxDefaultKernel, offset CFG_LinuxDefaultKernel 200 dw offset TXT_SETUP_LinuxDefaultKernel, offset TXT_SETUPHELP_LinuxDefaultKrnl201 dw 6 dup (0) 202 dw offset SETUPMAGIC_ChangeLinuxRootPart, offset CFG_LinuxRootPartition 203 dw offset TXT_SETUP_LinuxRootPart, offset TXT_SETUPHELP_LinuxRootPart 204 dw 6 dup (0) 205 dw 0, 0 206 dw 0, 0207 dw 0, 0208 dw 0, 0198 ; [Linux support removed since v1.02] 199 ; dw offset SETUPMAGIC_ChangeLinuxKernelPart, offset CFG_LinuxKrnlPartition 200 ; dw offset TXT_SETUP_LinuxKernelPart, offset TXT_SETUPHELP_LinuxKernelPart 201 ; dw 6 dup (0) 202 ; dw offset SETUPMAGIC_ChangeLinuxDefaultKernel, offset CFG_LinuxDefaultKernel 203 ; dw offset TXT_SETUP_LinuxDefaultKernel, offset TXT_SETUPHELP_LinuxDefaultKrnl 204 ; dw 6 dup (0) 205 ; dw offset SETUPMAGIC_ChangeLinuxRootPart, offset CFG_LinuxRootPartition 206 ; dw offset TXT_SETUP_LinuxRootPart, offset TXT_SETUPHELP_LinuxRootPart 207 ; dw 6 dup (0) 208 dw offset SETUPMAGIC_EnableDisable, offset CFG_IgnoreLVM 209 dw offset TXT_SETUP_IgnoreLVM, offset TXT_SETUPHELP_IgnoreLVM 210 dw 6 dup (0) 209 211 dw offset SETUPMAGIC_EnableDisable, offset CFG_ForceLBAUsage 210 212 dw offset TXT_SETUP_ForceLBAUsage, offset TXT_SETUPHELP_ForceLBAUsage … … 213 215 dw offset TXT_SETUP_ExtPartMShack, offset TXT_SETUPHELP_ExtPartMShack 214 216 dw 6 dup (0) 215 ; The Menu-Items of the right side start here... 216 dw 0, 0 217 dw 0, 0 218 dw offset SETUP_EnterMenu_LinuxCommandLine, 0 219 dw offset TXT_SETUP_DefLinuxCmd, offset TXT_SETUPHELP_DefLinuxCmd 220 dw 0, 0 221 dw 0, 0 222 dw 0, 0 223 dw 0, 0 224 dw 0, 0 225 dw 0, 0 226 dw 0, 0 227 dw 0, 0 228 dw 0, 0 229 dw 0, 0 217 dw 0, 0 218 dw 0, 0 219 dw 0, 0 220 dw 0, 0 221 dw 0, 0 222 dw 0, 0 223 dw 0, 0 224 dw 0, 0 225 ; The Menu-Items of the right side start here... 226 dw 0, 0 227 dw 0, 0 228 ; [Linux support removed since v1.02] 229 dw 0, 0 230 dw 0, 0 231 ; dw offset SETUP_EnterMenu_LinuxCommandLine, 0 232 ; dw offset TXT_SETUP_DefLinuxCmd, offset TXT_SETUPHELP_DefLinuxCmd 233 dw 0, 0 234 dw 0, 0 235 dw 0, 0 236 dw 0, 0 237 dw 0, 0 238 dw 0, 0 239 dw 0, 0 240 dw 0, 0 241 dw 0, 0 242 dw 0, 0 -
tags/v1.06r/BOOTCODE/SETUP/PART_SET.ASM
r23 r29 1 2 ; Disclaimer:3 ; =============4 ; The sourcecode is released via www.netlabs.org CVS *ONLY*.5 ; You MUST NOT upload it to other servers nor republish it in any way.6 ; The sourcecode is still COPYRIGHTED and NOT RELEASED UNDER GPL.7 ; It's (c) Copyright 1998-2003 by Martin Kiewitz.8 ; You may recompile the source and do *PRIVATE* modifications, but please keep9 ; in mind that modifying this code needs at least *some* assembly skill. If10 ; you mess up your system, because you needed to hack your way through, don't11 ; blame me. Releasing a customized version of AiR-BOOT, selling it in any form12 ; or reusing parts of this source is *PROHIBITED*. Ask me, if you have some13 ; idea about new functionality *before* developing the code, otherwise I will14 ; definitely reject it. Also please accept, that I have some basic design15 ; rules on AiR-BOOT and I will maintain them at all costs, so this won't get16 ; another GRUB.17 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 18 18 ;--------------------------------------------------------------------------- 19 19 ; AiR-BOOT SETUP / PARTITION SETUP … … 107 107 PSM_KeyBootAble: 108 108 call PART_GetPartitionPointer ; Gets Partition (DL) Pointer -> SI 109 mov al, cs:[si+LocIPT_Flags]109 mov al, [si+LocIPT_Flags] 110 110 xor al, Flags_BootAble 111 mov cs:[si+LocIPT_Flags], al111 mov [si+LocIPT_Flags], al 112 112 call PARTSETUP_DrawPartitionInfo 113 113 call PARTSETUP_BuildChoiceBar … … 116 116 PSM_KeyVIBRdetection: 117 117 call PART_GetPartitionPointer ; Gets Partition (DL) Pointer -> SI 118 mov al, cs:[si+LocIPT_Flags]118 mov al, [si+LocIPT_Flags] 119 119 xor al, Flags_VIBR_Detection 120 mov cs:[si+LocIPT_Flags], al120 mov [si+LocIPT_Flags], al 121 121 xor ax, ax 122 mov wptr cs:[si+LocIPT_BootRecordCRC], ax122 mov wptr [si+LocIPT_BootRecordCRC], ax 123 123 call PARTSETUP_DrawPartitionInfo 124 124 call PARTSETUP_BuildChoiceBar … … 143 143 PSM_KeyDriveLetterExtMShack: 144 144 call PART_GetPartitionPointer ; Gets Partition (DL) Pointer -> SI 145 mov al, cs:[si+LocIPT_Flags]145 mov al, [si+LocIPT_Flags] 146 146 xor al, Flags_ExtPartMShack 147 mov cs:[si+LocIPT_Flags], al147 mov [si+LocIPT_Flags], al 148 148 call PARTSETUP_DrawPartitionInfo 149 149 call PARTSETUP_BuildChoiceBar … … 343 343 mov al, '/' 344 344 call VideoIO_PrintSingleChar 345 mov al, cs:[si+LocIPT_Drive]345 mov al, [si+LocIPT_Drive] 346 346 sub al, 7Fh 347 347 call VideoIO_PrintByteNumber … … 363 363 call VideoIO_Locate 364 364 ; This is using a sub-routine for each flag. Is better that way. 365 mov bl, cs:[si+LocIPT_Flags]365 mov bl, [si+LocIPT_Flags] 366 366 mov bh, bl 367 367 mov al, TXT_SETUP_FlagLetterBootable … … 392 392 call VideoIO_Color ; Bright Red, Blue 393 393 pop cx 394 mov al, cs:[si+LocIPT_SystemID]394 mov al, [si+LocIPT_SystemID] 395 395 call PART_SearchFileSysName 396 396 mov cl, 8 … … 532 532 ; This is called from MBRS_Routines_PartitionSetup 533 533 ; In: DL - Partition to ChangeName 534 ; Destroyed: ax 535 PARTSETUP_ChangePartitionName Proc Near Uses dx ds si es di 534 ; Destroyed: ax bx cx 535 PARTSETUP_ChangePartitionName Proc Near Uses dx ds si di 536 push ds 537 pop es ; we need DS==ES in here for MOVSB etc. 536 538 call PART_GetPartitionPointer ; Gets the PartitionPointer for DL in SI 537 539 … … 551 553 call VideoIO_Locate ; Goes to CX 552 554 553 mov al, cs:[si+LocIPT_Flags] 554 xor dx, dx ; Remove "Magic" from DX... 555 test al, Flags_NoPartName 556 jnz PSCPN_ChangeButNoBRsave ; -> No Boot-Record Changing/Saving 557 555 mov ChangePartNameSave, 0 ; Don't save to BR / LVM Sector 556 557 ; We compare, if our IPT contains the same partition name as in BR or LVM 558 ; This is done for security purposes, because if they match, we will update 559 ; the name in both - IPT and BR/LVM. 560 movzx bx, dl 561 cmp [PartitionVolumeLetters+bx], 0 ; ==0 means not supported by LVM 562 je PSCPN_NotLVMSupported 563 564 ; ------------------------------------------------------------[LVM CHECK]--- 565 ; Load LVM-Sector here and seek to PartitionName 566 ; Set CurPartition_Location information of destination partition 567 mov ax, wptr [si+LocIPT_AbsolutePartTable] 568 mov wptr [CurPartition_Location+0], ax 569 mov ax, wptr [si+LocIPT_AbsolutePartTable+2] 570 mov wptr [CurPartition_Location+2], ax 571 mov ah, bptr [si+LocIPT_LocationPartTable+0] 572 mov al, [si+LocIPT_Drive] 573 mov wptr [CurPartition_Location+4], ax 574 mov ax, wptr [si+LocIPT_LocationPartTable+1] 575 mov wptr [CurPartition_Location+6], ax 576 mov di, si ; Put SI into DI 577 call DriveIO_LoadLVMSector 578 jnc PSCPN_LVMGotError ; Security again, if problem -> halt 579 push dx 580 mov ax, wptr [di+LocIPT_AbsoluteBegin] 581 mov dx, wptr [di+LocIPT_AbsoluteBegin+2] 582 call LVM_SearchForPartition 583 pop dx 584 jnc PSCPN_LVMGotError ; Not Found? -> display error and halt 585 add si, LocLVM_PartitionName 586 xchg si, di ; SI-IPTEntry, DI-LVM PartName 587 jmp PSCPN_CheckPartName ; Check, if match... 588 589 PSCPN_LVMGotError: 590 jmp MBR_LoadError 591 592 ; mov si, di ; Restore SI and bootrecord fall-back 593 PSCPN_NotLVMSupported: 594 ; ----------------------------------------------------[BOOT-RECORD CHECK]--- 558 595 ; Load Boot-Record... 559 mov ax, wptr cs:[si+LocIPT_AbsoluteBegin+0] 560 mov bx, wptr cs:[si+LocIPT_AbsoluteBegin+2] 561 mov cx, cs:[si+LocIPT_LocationBegin+1] 562 mov dh, cs:[si+LocIPT_LocationBegin+0] 563 mov dl, cs:[si+LocIPT_Drive] 564 call DriveIO_LoadPartition 565 566 ; Now check again, if IPT-Label is MATCHING the name in boot-record 567 ; If not simply don't save to boot-record, just security here... 568 push ExecBaseSeg 569 pop es 570 mov di, ExecBasePtr 596 push dx 597 mov ax, wptr [si+LocIPT_AbsoluteBegin+0] 598 mov bx, wptr [si+LocIPT_AbsoluteBegin+2] 599 mov cx, [si+LocIPT_LocationBegin+1] 600 mov dh, [si+LocIPT_LocationBegin+0] 601 mov dl, [si+LocIPT_Drive] 602 call DriveIO_LoadPartition 603 pop dx 604 ; We seek to Partition Label within boot-record here 605 mov di, offset PartitionSector 571 606 push si 572 mov al, cs:[si+LocIPT_SystemID]607 mov al, [si+LocIPT_SystemID] 573 608 call PART_SearchFileSysName 574 609 ; Replies AH - FileSysFlags, AL - UnhiddenID, SI - FileSysNamePtr 575 610 pop si 611 test ah, FileSysFlags_NoName ; If NoName by FileSysFlag 612 jnz PSCPN_LetUserEditPartName ; -> don't put it into BR at anytime 576 613 test ah, FileSysFlags_FAT32 ; FAT32 specific name getting 577 614 jz PSCPN_ResumeNormal … … 579 616 PSCPN_ResumeNormal: 580 617 add di, 2Bh ; ES:DI - Name der Partition 618 619 ; This code is used for BR and LVM checking 620 PSCPN_CheckPartName: 581 621 mov cx, 11 ; Partition-Name-Length = 11 Bytes 582 xor dx, dx ; Remove "Magic" from DX...583 622 push si di 584 623 add si, LocIPT_Name ; DS:SI -> Partition-Name 585 624 repz cmpsb 586 625 pop di si 587 jne PSCPN_ChangeButNoBRsave ; -> No Boot-Record Changing/Saving 588 mov dx, 0BABEh ; Magic - So Boot-Record will get saved 589 ; Let user change the name... 590 PSCPN_ChangeButNoBRsave: 626 jne PSCPN_LetUserEditPartName ; -> No BR/LVM Changing/Saving 627 mov ChangePartNameSave, 1 ; Remember, so we will save to BR 628 629 PSCPN_LetUserEditPartName: 630 ; User will now edit the volume label... 591 631 mov cx, 11 592 632 add si, LocIPT_Name ; DS:SI -> Partition-Name 593 633 call VideoIO_LetUserEditString ; -> does actual editing 594 jnc PSCPN_UserAbort ; Did user abort ? 595 ; ENTERd... 596 cmp dx, 0BABEh ; Do we have Magic in CX ? 597 jne PSCPN_UserAbort ; Just jump over Boot-Record SAVE 598 599 ; Save it as well in Partition's Boot Record... 634 jnc PSCPN_AllDone ; Did user abort ? 635 636 test ChangePartNameSave, 1 637 jz PSCPN_AllDone ; Actually we just skip BR/LVM-Save 638 639 ; Check, where to save 2nd destination to... 640 movzx bx, dl 641 cmp [PartitionVolumeLetters+bx], 0 ; ==0 means not supported by LVM 642 je PSCPN_SaveBootRecord 643 ; -------------------------------------------------------------[LVM SAVE]--- 644 ; Copy 11 bytes from IPT into LVM-Sector also fill 9 bytes with NUL 645 mov cx, 11 646 push si 647 rep movsb 648 pop si 649 xor al, al 650 mov cx, 9 651 rep stosb 652 ; Update LVM-CRC now... 653 mov si, offset LVMSector 654 call LVM_UpdateSectorCRC 655 IFDEF ReleaseCode 656 call DriveIO_SaveLVMSector ; Save sector 657 ENDIF 658 jmp PSCPN_AllDone 659 660 ; -----------------------------------------------------[BOOT-RECORD SAVE]--- 661 PSCPN_SaveBootRecord: 662 ; Copy 11 bytes from IPT to Boot-Record 600 663 mov cx, 11 601 664 push si … … 610 673 call PART_UpdateBootRecordCRC 611 674 612 PSCPN_UserAbort: 675 PSCPN_AllDone: 676 ; This here is done for safety, because we misused CurPartition_Location 677 xor ax, ax 678 mov di, offset CurPartition_Location 679 mov cx, 4 680 rep stosw ; NUL out CurPartition_Location 613 681 ret 614 682 PARTSETUP_ChangePartitionName EndP 615 683 616 617 618 619 684 ; ============================================================================= 620 621 685 ; This is called from MBRS_Routines_PartitionSetup 622 686 ; In: DL - Partition to HiddenSetup … … 695 759 PHSM_KeyToogle: 696 760 call PART_GetPartitionPointer ; Holt den Pointer der Partition (DL) nach SI 697 mov al, cs:[si+LocIPT_Flags]761 mov al, [si+LocIPT_Flags] 698 762 xor al, Flags_SpecialMarker 699 mov cs:[si+LocIPT_Flags], al763 mov [si+LocIPT_Flags], al 700 764 call PARTHIDESETUP_DrawPartitionInfo 701 765 call PARTHIDESETUP_BuildChoiceBar … … 871 935 ; Display "Type" field aka "HPFS" without ending NULs/Spaces 872 936 push si 873 mov al, cs:[si+LocIPT_SystemID]937 mov al, [si+LocIPT_SystemID] 874 938 call PART_SearchFileSysName 875 939 mov cx, 8 … … 890 954 call VideoIO_PrintSingleMultiChar ; Fill up area with spaces 891 955 ; Finally draw Hidden/Unhidden 892 mov bl, cs:[si+LocIPT_Flags]956 mov bl, [si+LocIPT_Flags] 893 957 mov si, offset TXT_SETUP_MAGIC_Unhidden 894 958 and bl, Flags_SpecialMarker … … 996 1060 ; if it's not set, don't do anything... 997 1061 call PART_GetPartitionPointer ; Holt den Pointer der Partition (DL) nach SI 998 mov al, cs:[si+LocIPT_Flags]1062 mov al, [si+LocIPT_Flags] 999 1063 test al, Flags_HideFeature 1000 1064 jz PHSGHCAS_EndOfEntries … … 1009 1073 mov cl, CFG_Partitions 1010 1074 PHSGHCAS_SpreadLoop: 1011 mov dl, cs:[di]1075 mov dl, [di] 1012 1076 inc di 1013 1077 cmp dl, 0FFh 1014 1078 je PHSGHCAS_EndOfEntries 1015 1079 call PART_GetPartitionPointer ; Pointer for partition DL to SI 1016 mov al, cs:[si+LocIPT_Flags]1080 mov al, [si+LocIPT_Flags] 1017 1081 or al, Flags_SpecialMarker ; Set marker 1018 mov cs:[si+LocIPT_Flags], al1082 mov [si+LocIPT_Flags], al 1019 1083 dec cl 1020 1084 jnz PHSGHCAS_SpreadLoop … … 1045 1109 mov cl, CFG_Partitions 1046 1110 PHSCHCAPTT_CollectLoop: 1047 mov bl, cs:[si+LocIPT_Flags]1111 mov bl, [si+LocIPT_Flags] 1048 1112 test bl, Flags_SpecialMarker 1049 1113 jz PHSCHCAPTT_NoMarker … … 1051 1115 inc di 1052 1116 xor bl, Flags_SpecialMarker ; Reset Flag 1053 mov cs:[si+LocIPT_Flags], bl1117 mov [si+LocIPT_Flags], bl 1054 1118 PHSCHCAPTT_NoMarker: 1055 1119 add si, LocIPT_LenOfIPT … … 1063 1127 ; Nothing to hide...so UNSET the Hidden-Feature Flag 1064 1128 call PART_GetPartitionPointer ; Holt den Pointer der Partition (DL) nach SI 1065 mov al, cs:[si+LocIPT_Flags]1129 mov al, [si+LocIPT_Flags] 1066 1130 mov ah, Flags_HideFeature 1067 1131 not ah 1068 1132 and al, ah 1069 mov cs:[si+LocIPT_Flags], al1133 mov [si+LocIPT_Flags], al 1070 1134 ret 1071 1135 … … 1082 1146 ; Something to hide...so SET the Hidden-Feature Flag 1083 1147 call PART_GetPartitionPointer ; Holt den Pointer der Partition (DL) nach SI 1084 mov al, cs:[si+LocIPT_Flags]1148 mov al, [si+LocIPT_Flags] 1085 1149 or al, Flags_HideFeature 1086 mov cs:[si+LocIPT_Flags], al1150 mov [si+LocIPT_Flags], al 1087 1151 ret 1088 1152 PARTHIDESETUP_CollectHideConfigAndPutToTable EndP … … 1095 1159 PARTSETUP_DriveLetterSetup Proc Near Uses dx si es di 1096 1160 call PART_GetPartitionPointer ; Gets the PartitionPointer for DL in SI 1097 cmp bptr cs:[si+LocIPT_SystemID], 06h ; Hardcoded FAT16 1098 je PSDLS_GotLDLP 1099 cmp bptr cs:[si+LocIPT_SystemID], 07h ; Hardcoded HPFS 1100 je PSDLS_GotLDLP 1161 ; SystemID must support DriveLetter feature (FAT16, HPFS, JFS) 1162 mov al, bptr [si+LocIPT_SystemID] 1163 push si 1164 call PART_SearchFileSysName 1165 pop si 1166 test ah, FileSysFlags_DriveLetter 1167 jnz PSDLS_GotLDLP 1101 1168 1102 1169 ; Drive-Letter feature only possible on HPFS/FAT16 (OS/2) systems -
tags/v1.06r/BOOTCODE/SPECIAL/APM.ASM
r23 r29 1 2 ; Disclaimer:3 ; =============4 ; The sourcecode is released via www.netlabs.org CVS *ONLY*.5 ; You MUST NOT upload it to other servers nor republish it in any way.6 ; The sourcecode is still COPYRIGHTED and NOT RELEASED UNDER GPL.7 ; It's (c) Copyright 1998-2003 by Martin Kiewitz.8 ; You may recompile the source and do *PRIVATE* modifications, but please keep9 ; in mind that modifying this code needs at least *some* assembly skill. If10 ; you mess up your system, because you needed to hack your way through, don't11 ; blame me. Releasing a customized version of AiR-BOOT, selling it in any form12 ; or reusing parts of this source is *PROHIBITED*. Ask me, if you have some13 ; idea about new functionality *before* developing the code, otherwise I will14 ; definitely reject it. Also please accept, that I have some basic design15 ; rules on AiR-BOOT and I will maintain them at all costs, so this won't get16 ; another GRUB.17 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 18 18 ;--------------------------------------------------------------------------- 19 19 ; AiR-BOOT / APM SUPPORT -
tags/v1.06r/BOOTCODE/SPECIAL/CHARSET.ASM
r23 r29 1 2 ; Disclaimer:3 ; =============4 ; The sourcecode is released via www.netlabs.org CVS *ONLY*.5 ; You MUST NOT upload it to other servers nor republish it in any way.6 ; The sourcecode is still COPYRIGHTED and NOT RELEASED UNDER GPL.7 ; It's (c) Copyright 1998-2003 by Martin Kiewitz.8 ; You may recompile the source and do *PRIVATE* modifications, but please keep9 ; in mind that modifying this code needs at least *some* assembly skill. If10 ; you mess up your system, because you needed to hack your way through, don't11 ; blame me. Releasing a customized version of AiR-BOOT, selling it in any form12 ; or reusing parts of this source is *PROHIBITED*. Ask me, if you have some13 ; idea about new functionality *before* developing the code, otherwise I will14 ; definitely reject it. Also please accept, that I have some basic design15 ; rules on AiR-BOOT and I will maintain them at all costs, so this won't get16 ; another GRUB.17 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 18 18 ;--------------------------------------------------------------------------- 19 19 ; AiR-BOOT / CHARSET SUPPORT -
tags/v1.06r/BOOTCODE/SPECIAL/F00K/BILLSUXX.ASM
r23 r29 1 2 ; Disclaimer:3 ; =============4 ; The sourcecode is released via www.netlabs.org CVS *ONLY*.5 ; You MUST NOT upload it to other servers nor republish it in any way.6 ; The sourcecode is still COPYRIGHTED and NOT RELEASED UNDER GPL.7 ; It's (c) Copyright 1998-2003 by Martin Kiewitz.8 ; You may recompile the source and do *PRIVATE* modifications, but please keep9 ; in mind that modifying this code needs at least *some* assembly skill. If10 ; you mess up your system, because you needed to hack your way through, don't11 ; blame me. Releasing a customized version of AiR-BOOT, selling it in any form12 ; or reusing parts of this source is *PROHIBITED*. Ask me, if you have some13 ; idea about new functionality *before* developing the code, otherwise I will14 ; definitely reject it. Also please accept, that I have some basic design15 ; rules on AiR-BOOT and I will maintain them at all costs, so this won't get16 ; another GRUB.17 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 18 18 ;--------------------------------------------------------------------------- 19 19 ; AiR-BOOT / EXTENDED PARTITION - M$ HACK-IN 20 20 ;--------------------------------------------------------------------------- 21 21 22 ; A t least is AiR-BOOT compatible to the pseudo standard that's is used by an23 ; OS on a 32-bit processor, being actually a 16-bit extension that is24 ; outperformed by any 8-bit software running on a 4-bit microprocessor,25 ; written by a 2-bitcompany that can't stand 1-bit of competition.22 ; AiR-BOOT is compatible to the pseudo standard that's is used by an OS on a 23 ; 32-bit processor, being actually a 16-bit extension that is outperformed 24 ; by any 8-bit software running on a 4-bit microprocessor, written by a 2-bit 25 ; company that can't stand 1-bit of competition. 26 26 27 27 ; Here is code to change Extended Partition to Type 05h or 0Fh depending 28 28 ; on the partition's P-flag including the overall M$hack-Enable Flag. 29 MSHACK_ProcessPartTables Proc Near Uses ax dx esdi29 MSHACK_ProcessPartTables Proc Near Uses ax dx di 30 30 ; Check Overall M$-Hack Enable 31 31 test [CFG_ExtPartitionMShack], 1 … … 34 34 ; Now check Boot-Entry's flags... 35 35 mov ax, 050Fh 36 test bptr ds:[si+LocIPT_Flags], Flags_ExtPartMShack36 test bptr [si+LocIPT_Flags], Flags_ExtPartMShack 37 37 jz MSHPPT_ChangeToStandard 38 38 mov ax, 0F05h … … 45 45 or dh, dh 46 46 jz MSHPPT_NoMShack 47 push ExecBaseSeg48 pop es49 47 MSHPPT_HarddriveLoop: 50 48 push ax bx cx dx … … 58 56 59 57 ; Search for ID in AL and exchange with ID in AH 60 mov di, ExecBasePtr+446 ; ES:DI - First Partition Entry58 mov di, offset PartitionSector+446 ; ES:DI - 1st partition entry 61 59 MSHPPT_ScanLoop: 62 60 cmp al, bptr es:[di+4] 63 61 je MSHPPT_GotHit 64 62 add di, LocBRPT_LenOfEntry ; 16 Bytes per Partition-Entry 65 cmp di, 500+ ExecBasePtr63 cmp di, 500+offset PartitionSector 66 64 jb MSHPPT_ScanLoop 67 65 jmp MSHPPT_Failure -
tags/v1.06r/BOOTCODE/SPECIAL/FAT16.ASM
r23 r29 1 2 ; Disclaimer:3 ; =============4 ; The sourcecode is released via www.netlabs.org CVS *ONLY*.5 ; You MUST NOT upload it to other servers nor republish it in any way.6 ; The sourcecode is still COPYRIGHTED and NOT RELEASED UNDER GPL.7 ; It's (c) Copyright 1998-2003 by Martin Kiewitz.8 ; You may recompile the source and do *PRIVATE* modifications, but please keep9 ; in mind that modifying this code needs at least *some* assembly skill. If10 ; you mess up your system, because you needed to hack your way through, don't11 ; blame me. Releasing a customized version of AiR-BOOT, selling it in any form12 ; or reusing parts of this source is *PROHIBITED*. Ask me, if you have some13 ; idea about new functionality *before* developing the code, otherwise I will14 ; definitely reject it. Also please accept, that I have some basic design15 ; rules on AiR-BOOT and I will maintain them at all costs, so this won't get16 ; another GRUB.17 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 18 18 ;--------------------------------------------------------------------------- 19 19 ; AiR-BOOT / FAT-16 SUPPORT -
tags/v1.06r/BOOTCODE/SPECIAL/FX.ASM
r23 r29 1 2 ; Disclaimer:3 ; =============4 ; The sourcecode is released via www.netlabs.org CVS *ONLY*.5 ; You MUST NOT upload it to other servers nor republish it in any way.6 ; The sourcecode is still COPYRIGHTED and NOT RELEASED UNDER GPL.7 ; It's (c) Copyright 1998-2003 by Martin Kiewitz.8 ; You may recompile the source and do *PRIVATE* modifications, but please keep9 ; in mind that modifying this code needs at least *some* assembly skill. If10 ; you mess up your system, because you needed to hack your way through, don't11 ; blame me. Releasing a customized version of AiR-BOOT, selling it in any form12 ; or reusing parts of this source is *PROHIBITED*. Ask me, if you have some13 ; idea about new functionality *before* developing the code, otherwise I will14 ; definitely reject it. Also please accept, that I have some basic design15 ; rules on AiR-BOOT and I will maintain them at all costs, so this won't get16 ; another GRUB.17 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 18 18 ;--------------------------------------------------------------------------- 19 19 ; AiR-BOOT / F/X -
tags/v1.06r/BOOTCODE/SPECIAL/FXTABLES.ASM
r23 r29 1 2 ; Disclaimer:3 ; =============4 ; The sourcecode is released via www.netlabs.org CVS *ONLY*.5 ; You MUST NOT upload it to other servers nor republish it in any way.6 ; The sourcecode is still COPYRIGHTED and NOT RELEASED UNDER GPL.7 ; It's (c) Copyright 1998-2003 by Martin Kiewitz.8 ; You may recompile the source and do *PRIVATE* modifications, but please keep9 ; in mind that modifying this code needs at least *some* assembly skill. If10 ; you mess up your system, because you needed to hack your way through, don't11 ; blame me. Releasing a customized version of AiR-BOOT, selling it in any form12 ; or reusing parts of this source is *PROHIBITED*. Ask me, if you have some13 ; idea about new functionality *before* developing the code, otherwise I will14 ; definitely reject it. Also please accept, that I have some basic design15 ; rules on AiR-BOOT and I will maintain them at all costs, so this won't get16 ; another GRUB.17 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 18 18 ;--------------------------------------------------------------------------- 19 19 ; AiR-BOOT / F/X TABLES -
tags/v1.06r/BOOTCODE/SPECIAL/LINUX.ASM
r23 r29 1 2 ; Disclaimer:3 ; =============4 ; The sourcecode is released via www.netlabs.org CVS *ONLY*.5 ; You MUST NOT upload it to other servers nor republish it in any way.6 ; The sourcecode is still COPYRIGHTED and NOT RELEASED UNDER GPL.7 ; It's (c) Copyright 1998-2003 by Martin Kiewitz.8 ; You may recompile the source and do *PRIVATE* modifications, but please keep9 ; in mind that modifying this code needs at least *some* assembly skill. If10 ; you mess up your system, because you needed to hack your way through, don't11 ; blame me. Releasing a customized version of AiR-BOOT, selling it in any form12 ; or reusing parts of this source is *PROHIBITED*. Ask me, if you have some13 ; idea about new functionality *before* developing the code, otherwise I will14 ; definitely reject it. Also please accept, that I have some basic design15 ; rules on AiR-BOOT and I will maintain them at all costs, so this won't get16 ; another GRUB.17 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 18 18 ;--------------------------------------------------------------------------- 19 19 ; AiR-BOOT / LINUX SUPPORT … … 28 28 ; without them. 29 29 ; 30 ; And another note: *F uck* Linux usenet-users. Really. I mean *fuck them*.30 ; And another note: *F**k* Linux usenet-users. Really. I mean *f**k them*. 31 31 ; I asked in an OS/2 newsgroup for testers -> Got 8 volunteers within some 32 32 ; days. I asked in 2 Linux newsgroups. What did happen? Some idiots discussed 33 ; the whole sh iat with me, knew nothing about INT13h CHS/LBA mode, BIOS,33 ; the whole sh*t with me, knew nothing about INT13h CHS/LBA mode, BIOS, 34 34 ; boot-managers in general, assembly coding and other stuff and wanted to tell 35 35 ; me that 95k GRUB is well-coded and its good to have it placed all over your -
tags/v1.06r/BOOTCODE/SPECIAL/SOUND.ASM
r23 r29 1 2 ; Disclaimer:3 ; =============4 ; The sourcecode is released via www.netlabs.org CVS *ONLY*.5 ; You MUST NOT upload it to other servers nor republish it in any way.6 ; The sourcecode is still COPYRIGHTED and NOT RELEASED UNDER GPL.7 ; It's (c) Copyright 1998-2003 by Martin Kiewitz.8 ; You may recompile the source and do *PRIVATE* modifications, but please keep9 ; in mind that modifying this code needs at least *some* assembly skill. If10 ; you mess up your system, because you needed to hack your way through, don't11 ; blame me. Releasing a customized version of AiR-BOOT, selling it in any form12 ; or reusing parts of this source is *PROHIBITED*. Ask me, if you have some13 ; idea about new functionality *before* developing the code, otherwise I will14 ; definitely reject it. Also please accept, that I have some basic design15 ; rules on AiR-BOOT and I will maintain them at all costs, so this won't get16 ; another GRUB.17 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 18 18 ;--------------------------------------------------------------------------- 19 19 ; AiR-BOOT / SOUND SUPPORT -
tags/v1.06r/BOOTCODE/SPECIAL/VIRUS.ASM
r23 r29 1 2 ; Disclaimer:3 ; =============4 ; The sourcecode is released via www.netlabs.org CVS *ONLY*.5 ; You MUST NOT upload it to other servers nor republish it in any way.6 ; The sourcecode is still COPYRIGHTED and NOT RELEASED UNDER GPL.7 ; It's (c) Copyright 1998-2003 by Martin Kiewitz.8 ; You may recompile the source and do *PRIVATE* modifications, but please keep9 ; in mind that modifying this code needs at least *some* assembly skill. If10 ; you mess up your system, because you needed to hack your way through, don't11 ; blame me. Releasing a customized version of AiR-BOOT, selling it in any form12 ; or reusing parts of this source is *PROHIBITED*. Ask me, if you have some13 ; idea about new functionality *before* developing the code, otherwise I will14 ; definitely reject it. Also please accept, that I have some basic design15 ; rules on AiR-BOOT and I will maintain them at all costs, so this won't get16 ; another GRUB.17 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 18 18 ;--------------------------------------------------------------------------- 19 19 ; AiR-BOOT / VIRUS DETECTION -
tags/v1.06r/BOOTCODE/TEXT/CHARSET.ASM
r23 r29 1 2 ; Disclaimer:3 ; =============4 ; The sourcecode is released via www.netlabs.org CVS *ONLY*.5 ; You MUST NOT upload it to other servers nor republish it in any way.6 ; The sourcecode is still COPYRIGHTED and NOT RELEASED UNDER GPL.7 ; It's (c) Copyright 1998-2003 by Martin Kiewitz.8 ; You may recompile the source and do *PRIVATE* modifications, but please keep9 ; in mind that modifying this code needs at least *some* assembly skill. If10 ; you mess up your system, because you needed to hack your way through, don't11 ; blame me. Releasing a customized version of AiR-BOOT, selling it in any form12 ; or reusing parts of this source is *PROHIBITED*. Ask me, if you have some13 ; idea about new functionality *before* developing the code, otherwise I will14 ; definitely reject it. Also please accept, that I have some basic design15 ; rules on AiR-BOOT and I will maintain them at all costs, so this won't get16 ; another GRUB.17 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 18 18 ;--------------------------------------------------------------------------- 19 19 ; AiR-BOOT / CYRILLIC CHARSET -
tags/v1.06r/BOOTCODE/TEXT/DE/MBR.ASM
r8 r29 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 1 18 ;------------------------------------------------------------------------------ 2 19 ; AiR-BOOT / MBR-TEXT -
tags/v1.06r/BOOTCODE/TEXT/DE/MENUS.ASM
r23 r29 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 1 18 ;--------------------------------------------------------------------------- 2 19 ; AiR-BOOT SETUP / ALL SETUP MENUS … … 28 45 ; Basic Options - Items - Max Length: 23 29 46 ;----------------------------------|---------------------|------------------ 30 TXT_SETUP_Default Part db 'Standard Partition', 047 TXT_SETUP_DefaultSelection db 'Standard Selektion', 0 31 48 TXT_SETUP_TimedBoot db 'Zeitgesteuerter Boot', 0 32 49 TXT_SETUP_TimedBootDelay db '-> Anzahl Sekunden', 0 … … 58 75 ; Extended Options - Items - Max Length: 23 59 76 ;----------------------------------|---------------------|------------------ 60 TXT_SETUP_LinuxKernelPart db 'Linux Kernel Partition', 0 61 TXT_SETUP_LinuxDefaultKernel db 'Linux Default Kernel', 0 62 TXT_SETUP_LinuxRootPart db 'Linux Root Partition', 0 77 ; [Linux support removed since v1.02] 78 ;TXT_SETUP_LinuxKernelPart db 'Linux Kernel Partition', 0 79 ;TXT_SETUP_LinuxDefaultKernel db 'Linux Default Kernel', 0 80 ;TXT_SETUP_LinuxRootPart db 'Linux Root Partition', 0 81 ; This here may be larger than 23 chars... 82 ;TXT_SETUP_DefLinuxCmd db 'DEFINIERE LINUX KOMMANDOZEILE', 0 83 TXT_SETUP_IgnoreLVM db 'Ignoriere LVM Daten', 0 63 84 TXT_SETUP_ForceLBAUsage db 'Erzwinge BIOS-LBA', 0 64 85 TXT_SETUP_ExtPartMShack db 'Erw-Part MS Workaround', 0 65 ; This here may be larger than 23 chars...66 TXT_SETUP_DefLinuxCmd db 'DEFINIERE LINUX KOMMANDOZEILE', 067 86 68 87 ; DYNAMIC LENGTH, maximum 11 chars excluding ending zero … … 72 91 TXT_SETUP_MAGIC_Detailed db 'Detailiert', 0 73 92 TXT_SETUP_MAGIC_NoBootable db 'Nix Bootbar', 0 74 TXT_SETUP_MAGIC_NoLinux db 'Kein Linux', 0 93 ; [Linux support removed since v1.02] 94 ;TXT_SETUP_MAGIC_NoLinux db 'Kein Linux', 0 75 95 TXT_SETUP_MAGIC_DoNothing db 'Nichts', 0 76 96 TXT_SETUP_MAGIC_ResetTime db 'Zeit Reset', 0 … … 158 178 ; Basic Options - Help 159 179 ;----------------------------------|--------------------|------------------- 160 TXT_SETUPHELP_Default Part db 'ndert die Default', 0161 db ' Partition. Wird u.a.', 0180 TXT_SETUPHELP_DefaultSelection db 'ndert die Standard', 0 181 db 'Selektion. Wird u.a.', 0 162 182 db 'beim zeitgesteuerten', 0 163 183 db 'Boot verwendet.', 0 … … 260 280 ; Extended Options - Help 261 281 ;----------------------------------|--------------------|------------------- 262 TXT_SETUPHELP_LinuxKernelPart db 'Definiert die FAT-16', 0 263 db 'Partition, die Linux', 0 264 db 'Kernels beinhaltet.', 0 265 db 0 266 TXT_SETUPHELP_LinuxDefaultKrnl db 'Definiert den Default', 0 267 db 'Kernel Namen.', 0 268 db 0 269 TXT_SETUPHELP_LinuxRootPart db 'Definiert die Linux', 0 270 db 'Root Partition.', 0 271 db 0 272 ;----------------------------------|--------------------|------------------- 282 ; [Linux support removed since v1.02] 283 ;TXT_SETUPHELP_LinuxKernelPart db 'Definiert die FAT-16', 0 284 ; db 'Partition, die Linux', 0 285 ; db 'Kernels beinhaltet.', 0 286 ; db 0 287 ;TXT_SETUPHELP_LinuxDefaultKrnl db 'Definiert den Default', 0 288 ; db 'Kernel Namen.', 0 289 ; db 0 290 ;TXT_SETUPHELP_LinuxRootPart db 'Definiert die Linux', 0 291 ; db 'Root Partition.', 0 292 ; db 0 293 ;TXT_SETUPHELP_DefLinuxCmd: db 'Definiert die Linux', 0 294 ; db 'Kommandozeile.', 0 295 ; db 0 296 ;----------------------------------|--------------------|------------------- 297 TXT_SETUPHELP_IgnoreLVM db 'AiR-BOOT sucht in', 0 298 db 'diesem Fall nicht nach', 0 299 db 'LVM Informationen.', 0 300 db 0 273 301 TXT_SETUPHELP_ForceLBAUsage db 'Erzwingt Bentzung der', 0 274 302 db 'BIOS LBA APIs anstatt', 0 … … 281 309 db 'das P-Flag in Standard', 0 282 310 db 'oder MS-Erfindung.', 0 283 db 0284 TXT_SETUPHELP_DefLinuxCmd: db 'Definiert die Linux', 0285 db 'Kommandozeile.', 0286 311 db 0 287 312 … … 312 337 ; Maximum 60 chars (should not be reached) 313 338 ;----------------------------------|----------------------------------------------------------| 314 TXT_SETUP_EnterLinuxCmdLine db 'Bitte geben Sie ihre Linux Kommandozeile ein:', 0 315 TXT_SETUP_NoLinuxInstalled db 'Sie haben kein Linux installiert', 0 316 TXT_SETUP_NoLDLpartition db 'Diese Partition ist weder vom Typ HPFS noch FAT16', 0 339 ; [Linux support removed since v1.02] 340 ;TXT_SETUP_EnterLinuxCmdLine db 'Bitte geben Sie ihre Linux Kommandozeile ein:', 0 341 ;TXT_SETUP_NoLinuxInstalled db 'Sie haben kein Linux installiert', 0 342 TXT_SETUP_NoLDLpartition db 'Diese Partition ist weder vom Typ HPFS/FAT16/JFS', 0 317 343 318 344 ; Maximum 34 chars (should not be reached) … … 330 356 TXT_SETUPHELP_DriveLetter db 'C-Z drcken', 0 331 357 332 IFNDEF ReleaseCommercial 333 ; Colors for special words hard-coded. Keep all 0s. 334 TXT_SETUP_LowerMessage db 'Dieses Programm ist ',0,'kostenlos',0,' fr nicht-kommerzielle Bentzung.',0 335 db 'Sie drfen AiR-BOOT ',0,'NICHT',0,' in ',0,'-IRGENDEINER-',0,' Form vertreiben/bentzen,',0 336 db 'falls Sie Geld fr das jeweilige Produkt oder die Installation erhalten.',0 337 db 'Sofern Sie AiR-BOOT in ',0,'anderen Bereichen',0,' benutzen oder',0,0,0 338 db 'vorinstallieren',0,' mchten, kontaktieren Sie mich via: ',0,'kiewitz@netlabs.org',0,' !',0 339 ENDIF 358 ; Colors for special words hard-coded. Keep all 0s. 359 ;TXT_SETUP_LowerMessage db 'Dieses Programm ist ',0,'kostenlos',0,' fr nicht-kommerzielle Bentzung.',0 360 ; db 'Sie drfen AiR-BOOT ',0,'NICHT',0,' in ',0,'-IRGENDEINER-',0,' Form vertreiben/bentzen,',0 361 ; db 'falls Sie Geld fr das jeweilige Produkt oder die Installation erhalten.',0 362 ; db 'Sofern Sie AiR-BOOT in ',0,'anderen Bereichen',0,' benutzen oder',0,0,0 363 ; db 'vorinstallieren',0,' mchten, kontaktieren Sie mich via: ',0,'kiewitz@netlabs.org',0,' !',0 -
tags/v1.06r/BOOTCODE/TEXT/DE/OTHER.ASM
r26 r29 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 1 18 ;------------------------------------------------------------------------------ 2 19 ; AiR-BOOT / OTHER TEXT -
tags/v1.06r/BOOTCODE/TEXT/EN/MBR.ASM
r8 r29 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 1 18 ;------------------------------------------------------------------------------ 2 19 ; AiR-BOOT / MBR-TEXT … … 4 21 ;------------------------------------------------------------------------------ 5 22 6 TXT_LanguageID equ ' U'23 TXT_LanguageID equ 'E' 7 24 8 25 ; Those strings are saved within MBR. -
tags/v1.06r/BOOTCODE/TEXT/EN/MENUS.ASM
r23 r29 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 1 18 ;--------------------------------------------------------------------------- 2 19 ; AiR-BOOT SETUP / ALL SETUP MENUS … … 28 45 ; Basic Options - Items - Max Length: 23 29 46 ;----------------------------------|---------------------|------------------ 30 TXT_SETUP_Default Part db 'Default Partition', 047 TXT_SETUP_DefaultSelection db 'Default Selection', 0 31 48 TXT_SETUP_TimedBoot db 'Timed Boot', 0 32 49 TXT_SETUP_TimedBootDelay db 'Timed Boot Delay (sec)', 0 … … 58 75 ; Extended Options - Items - Max Length: 23 59 76 ;----------------------------------|---------------------|------------------ 60 TXT_SETUP_LinuxKernelPart db 'Linux Kernel Partition', 0 61 TXT_SETUP_LinuxDefaultKernel db 'Linux Default Kernel', 0 62 TXT_SETUP_LinuxRootPart db 'Linux Root Partition', 0 77 ; [Linux support removed since v1.02] 78 ;TXT_SETUP_LinuxKernelPart db 'Linux Kernel Partition', 0 79 ;TXT_SETUP_LinuxDefaultKernel db 'Linux Default Kernel', 0 80 ;TXT_SETUP_LinuxRootPart db 'Linux Root Partition', 0 81 ; This here may be larger than 23 chars... 82 ;TXT_SETUP_DefLinuxCmd db 'DEFINE COMMAND LINE FOR LINUX', 0 83 TXT_SETUP_IgnoreLVM db 'Ignore LVM information', 0 63 84 TXT_SETUP_ForceLBAUsage db 'Force BIOS-LBA Usage', 0 64 85 TXT_SETUP_ExtPartMShack db 'Ext-Part MS Workaround', 0 65 ; This here may be larger than 23 chars...66 TXT_SETUP_DefLinuxCmd db 'DEFINE COMMAND LINE FOR LINUX', 067 86 68 87 ; DYNAMIC LENGTH, maximum 11 chars excluding ending zero … … 72 91 TXT_SETUP_MAGIC_Detailed db 'Detailed', 0 73 92 TXT_SETUP_MAGIC_NoBootable db 'No Bootable', 0 74 TXT_SETUP_MAGIC_NoLinux db 'No Linux', 0 93 ; [Linux support removed since v1.02] 94 ;TXT_SETUP_MAGIC_NoLinux db 'No Linux', 0 75 95 TXT_SETUP_MAGIC_DoNothing db 'Do Nothing', 0 76 96 TXT_SETUP_MAGIC_ResetTime db 'Reset Time', 0 … … 156 176 ; Basic Options - Help 157 177 ;----------------------------------|--------------------|------------------- 158 TXT_SETUPHELP_Default Partdb 'Changes your default', 0159 db ' partition. It can be', 0178 TXT_SETUPHELP_DefaultSelection db 'Changes your default', 0 179 db 'selection. It can be', 0 160 180 db 'used on Timed Boot.', 0 161 181 db 0 … … 261 281 ; Extended Options - Help 262 282 ;----------------------------------|--------------------|------------------- 263 TXT_SETUPHELP_LinuxKernelPart db 'Defines the FAT-16', 0 264 db 'partition that holds', 0 265 db 'your Linux kernels.', 0 266 db 0 267 TXT_SETUPHELP_LinuxDefaultKrnl db 'Defines your default', 0 268 db 'kernel filename.', 0 269 db 0 270 TXT_SETUPHELP_LinuxRootPart db 'Changes your Linux', 0 271 db 'root partition.', 0 283 ; [Linux support removed since v1.02] 284 ;TXT_SETUPHELP_LinuxKernelPart db 'Defines the FAT-16', 0 285 ; db 'partition that holds', 0 286 ; db 'your Linux kernels.', 0 287 ; db 0 288 ;TXT_SETUPHELP_LinuxDefaultKrnl db 'Defines your default', 0 289 ; db 'kernel filename.', 0 290 ; db 0 291 ;TXT_SETUPHELP_LinuxRootPart db 'Changes your Linux', 0 292 ; db 'root partition.', 0 293 ; db 0 294 ;TXT_SETUPHELP_DefLinuxCmd: db 'Defines the command', 0 295 ; db 'line for Linux, if', 0 296 ; db 'available.', 0 297 ; db 0 298 ;----------------------------------|--------------------|------------------- 299 TXT_SETUPHELP_IgnoreLVM db 'If activated, AiR-BOOT', 0 300 db 'won''t even look for', 0 301 db 'LVM information.', 0 272 302 db 0 273 303 TXT_SETUPHELP_ForceLBAUsage db 'Forces the usage of', 0 … … 281 311 db 'MS-invention.', 0 282 312 db '(defined by P-flag)', 0 283 db 0284 TXT_SETUPHELP_DefLinuxCmd: db 'Defines the command', 0285 db 'line for Linux, if', 0286 db 'available.', 0287 313 db 0 288 314 … … 313 339 ; Maximum 60 chars (should not be reached) 314 340 ;----------------------------------|----------------------------------------------------------| 315 TXT_SETUP_EnterLinuxCmdLine db 'Please enter/modify your Linux command-line:', 0 316 TXT_SETUP_NoLinuxInstalled db 'You do not have Linux installed', 0 317 TXT_SETUP_NoLDLpartition db 'The selected partition is not HPFS nor FAT16', 0 341 ; [Linux support removed since v1.02] 342 ;TXT_SETUP_EnterLinuxCmdLine db 'Please enter/modify your Linux command-line:', 0 343 ;TXT_SETUP_NoLinuxInstalled db 'You do not have Linux installed', 0 344 TXT_SETUP_NoLDLpartition db 'The selected partition is not HPFS/FAT16/JFS', 0 318 345 319 346 ; Maximum 34 chars (should not be reached) … … 331 358 TXT_SETUPHELP_DriveLetter db 'Press C-Z', 0 332 359 333 IFNDEF ReleaseCommercial 334 ; Colors for special words hard-coded. Keep all 0s. 335 TXT_SETUP_LowerMessage db 'This program is ',0,'free',0,' for non-commercial private use.',0 336 db 'You may ',0,'NOT',0,' distribute/use AiR-BOOT in ',0,'-ANY-',0,' form,',0 337 db 'if you get money for the distributed product or the service.',0 338 db 'If you want to use AiR-BOOT in ',0,'other environments',0,', ',0,'preinstall',0,' or',0 339 db 'distribute',0,' it, please contact me via e-mail: ',0,'kiewitz@netlabs.org',0,' !',0 340 ENDIF 360 ; Colors for special words hard-coded. Keep all 0s. 361 ;TXT_SETUP_LowerMessage db 0,'Free',0,' private usage, but NOT for people that are/were working for US government',0 362 ; db 'This software is released under ', 0, 'GPLv3+.', 0 363 ; db 'For more information and source, please visit', 0 364 ; db 'http://AiR-BOOT.sourceforge.net', 0 365 ; db 'Contact via e-mail: ', 0, 'm_kiewitz [AT] users.sourceforge.net', 0 -
tags/v1.06r/BOOTCODE/TEXT/EN/OTHER.ASM
r26 r29 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 1 18 ;------------------------------------------------------------------------------ 2 19 ; AiR-BOOT / OTHER TEXT -
tags/v1.06r/BOOTCODE/TEXT/FR/MBR.ASM
r8 r29 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 1 18 ;------------------------------------------------------------------------------ 2 19 ; AiR-BOOT / MBR-TEXT -
tags/v1.06r/BOOTCODE/TEXT/FR/MENUS.ASM
r23 r29 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 1 18 ;--------------------------------------------------------------------------- 2 19 ; AiR-BOOT SETUP / ALL SETUP MENUS … … 28 45 ; Basic Options - Items - Max Length: 23 29 46 ;----------------------------------|---------------------|------------------ 30 TXT_SETUP_Default Part db 'Partition Par Dfaut', 047 TXT_SETUP_DefaultSelection db 'Slection Par Dfaut', 0 31 48 TXT_SETUP_TimedBoot db 'Amorage Temporis', 0 32 49 TXT_SETUP_TimedBootDelay db 'Dlai d''amorage (sec)', 0 … … 58 75 ; Extended Options - Items - Max Length: 23 59 76 ;----------------------------------|---------------------|------------------ 60 TXT_SETUP_LinuxKernelPart db 'Partition Noyau Linux', 0 61 TXT_SETUP_LinuxDefaultKernel db 'Noyau Linux par Dfaut', 0 62 TXT_SETUP_LinuxRootPart db 'Partition Racine Linux', 0 77 ; [Linux support removed since v1.02] 78 ;TXT_SETUP_LinuxKernelPart db 'Partition Noyau Linux', 0 79 ;TXT_SETUP_LinuxDefaultKernel db 'Noyau Linux par Dfaut', 0 80 ;TXT_SETUP_LinuxRootPart db 'Partition Racine Linux', 0 81 ; This here may be larger than 23 chars... 82 ;TXT_SETUP_DefLinuxCmd db 'DFINIR LIGNE DE COMMANDE LINUX', 0 83 TXT_SETUP_IgnoreLVM db 'Ignorer Information LVM', 0 63 84 TXT_SETUP_ForceLBAUsage db 'Force usage du BIOS-LBA', 0 64 85 TXT_SETUP_ExtPartMShack db 't-Part MS Workaround', 0 65 ; This here may be larger than 23 chars...66 TXT_SETUP_DefLinuxCmd db 'DFINIR LIGNE DE COMMANDE LINUX', 067 86 68 87 ; DYNAMIC LENGTH, maximum 11 chars excluding ending zero … … 72 91 TXT_SETUP_MAGIC_Detailed db 'Dtaill', 0 73 92 TXT_SETUP_MAGIC_NoBootable db 'Pas Amorce', 0 74 TXT_SETUP_MAGIC_NoLinux db 'Pas Linux', 0 93 ; [Linux support removed since v1.02] 94 ;TXT_SETUP_MAGIC_NoLinux db 'Pas Linux', 0 75 95 TXT_SETUP_MAGIC_DoNothing db 'Rien faire', 0 76 96 TXT_SETUP_MAGIC_ResetTime db 'R … … 159 179 ; Basic Options - Help 160 180 ;----------------------------------|--------------------|------------------- 161 TXT_SETUPHELP_DefaultPart db 'Modifier votre', 0 162 db 'partition par dfaut.', 0 163 db 'Peut tre utilis en', 0 164 db 'amorage temporis.', 0 181 TXT_SETUPHELP_DefaultSelection db 'Modifier votre', 0 182 db 'slection par dfaut.', 0 165 183 db 0 166 184 TXT_SETUPHELP_TimedBoot db 'AiR-BOOT procdera', 0 … … 272 290 ; Extended Options - Help 273 291 ;----------------------------------|--------------------|------------------- 274 TXT_SETUPHELP_LinuxKernelPart db 'Dfinir la partition', 0 275 db 'FAT-16 contenant vos', 0 276 db 'noyaux Linux.', 0 277 db 0 278 TXT_SETUPHELP_LinuxDefaultKrnl db 'Dfinir le nom du', 0 279 db 'noyau par dfaut.', 0 280 db 0 281 TXT_SETUPHELP_LinuxRootPart db 'Modifier votre', 0 282 db 'partition racine', 0 283 db 'Linux.', 0 292 ; [Linux support removed since v1.02] 293 ;TXT_SETUPHELP_LinuxKernelPart db 'Dfinir la partition', 0 294 ; db 'FAT-16 contenant vos', 0 295 ; db 'noyaux Linux.', 0 296 ; db 0 297 ;TXT_SETUPHELP_LinuxDefaultKrnl db 'Dfinir le nom du', 0 298 ; db 'noyau par dfaut.', 0 299 ; db 0 300 ;TXT_SETUPHELP_LinuxRootPart db 'Modifier votre', 0 301 ; db 'partition racine', 0 302 ; db 'Linux.', 0 303 ; db 0 304 ;TXT_SETUPHELP_DefLinuxCmd: db 'Dfinir la ligne de', 0 305 ; db 'commande pour Linux,', 0 306 ; db 'si disponible.', 0 307 ; db 0 308 TXT_SETUPHELP_IgnoreLVM db 'Si activ, AiR-BOOT', 0 309 db 'ignorera l''information', 0 310 db 'LVM.', 0 284 311 db 0 285 312 TXT_SETUPHELP_ForceLBAUsage db 'Forcer l''usage de', 0 … … 293 320 db 'partition tendue.', 0 294 321 db '(dfini par drapeau P)', 0 295 db 0296 TXT_SETUPHELP_DefLinuxCmd: db 'Dfinir la ligne de', 0297 db 'commande pour Linux,', 0298 db 'si disponible.', 0299 322 db 0 300 323 … … 325 348 ; Maximum 60 chars (should not be reached) 326 349 ;----------------------------------|----------------------------------------------------------| 327 TXT_SETUP_EnterLinuxCmdLine db 'Veuillez entrer/modifier votre ligne de commande Linux:', 0 328 TXT_SETUP_NoLinuxInstalled db 'Linux non install', 0 329 TXT_SETUP_NoLDLpartition db 'La partition slectionne n''est pas du type HPFS/FAT16', 0 350 ; [Linux support removed since v1.02] 351 ;TXT_SETUP_EnterLinuxCmdLine db 'Veuillez entrer/modifier votre ligne de commande Linux:', 0 352 ;TXT_SETUP_NoLinuxInstalled db 'Linux non install', 0 353 TXT_SETUP_NoLDLpartition db 'La partition slectionne n''est pas du type HPFS/FAT16/JFS', 0 330 354 331 355 ; Maximum 34 chars (should not be reached) … … 344 368 TXT_SETUPHELP_DriveLetter db 'Appuyez C-Z', 0 345 369 346 IFNDEF ReleaseCommercial 347 ; Colors for special words hard-coded. Keep all 0s. 348 TXT_SETUP_LowerMessage db 'Ce programme est ',0,'gratuit',0,' pour une utilisation prive non-commerciale.',0 349 db 'Vous ne devez ',0,'PAS',0,' distribuer/utiliser AiR-BOOT sous ',0,'-TOUTE-',0,' forme,',0 350 db 'si vous tes pay pour la distribution du produit ou du service.',0 351 db 'Pour utiliser AiR-BOOT dans des ',0,'conditions diffrentes',0,', ',0,'pr-installer',0,' ou',0 352 db 'le distribuer',0,', svp veuillez me contacter par courriel: ',0,'kiewitz@netlabs.org',0,' !',0 353 ENDIF 370 ; Colors for special words hard-coded. Keep all 0s. 371 ;TXT_SETUP_LowerMessage db 'Ce programme est ',0,'gratuit',0,' pour une utilisation prive non-commerciale.',0 372 ; db 'Vous ne devez ',0,'PAS',0,' distribuer/utiliser AiR-BOOT sous ',0,'-TOUTE-',0,' forme,',0 373 ; db 'si vous tes pay pour la distribution du produit ou du service.',0 374 ; db 'Pour utiliser AiR-BOOT dans des ',0,'conditions diffrentes',0,', ',0,'pr-installer',0,' ou',0 375 ; db 'le distribuer',0,', svp veuillez me contacter par courriel: ',0,'kiewitz@netlabs.org',0,' !',0 -
tags/v1.06r/BOOTCODE/TEXT/FR/OTHER.ASM
r26 r29 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 1 18 ;------------------------------------------------------------------------------ 2 19 ; AiR-BOOT / OTHER TEXT … … 37 54 38 55 ; Dynamic Length (till 80 chars) 39 TXT_BrokenPartitionTable: db 13, 10, ' - Votre systme a au moins d' une entre mauvaise de table de partition, ou'56 TXT_BrokenPartitionTable: db 13, 10, ' - Votre systme a au moins d''une entre mauvaise de table de partition, ou' 40 57 db 13, 10, ' la disque dr a des casse secteurs. Systme arrt.', 0 41 58 TXT_TooManyPartitions: db 13, 10, ' - Trop de partitions trouves. AiR-BOOT supporte un maximum de 30.', 0 -
tags/v1.06r/BOOTCODE/TEXT/IT/MBR.ASM
r23 r29 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 1 18 ;------------------------------------------------------------------------------ 2 19 ; AiR-BOOT / MBR-TEXT -
tags/v1.06r/BOOTCODE/TEXT/IT/MENUS.ASM
r23 r29 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 1 18 ;--------------------------------------------------------------------------- 2 19 ; AiR-BOOT SETUP / ALL SETUP MENUS … … 28 45 ; Basic Options - Items - Max Length: 23 29 46 ;----------------------------------|---------------------|------------------ 47 TXT_SETUP_DefaultSelection db 'Selezione Standard', 0 30 48 TXT_SETUP_DefaultPart db 'Partizione Predefinita', 0 31 49 TXT_SETUP_TimedBoot db 'Avvio Temporizzato', 0 … … 58 76 ; Extended Options - Items - Max Length: 23 59 77 ;----------------------------------|---------------------|------------------ 60 TXT_SETUP_LinuxKernelPart db 'Partiz. kernel Linux', 0 61 TXT_SETUP_LinuxDefaultKernel db 'Kernel Linux predef.', 0 62 TXT_SETUP_LinuxRootPart db 'Partizione Root Linux', 0 78 ; [Linux support removed since v1.02] 79 ;TXT_SETUP_LinuxKernelPart db 'Partiz. kernel Linux', 0 80 ;TXT_SETUP_LinuxDefaultKernel db 'Kernel Linux predef.', 0 81 ;TXT_SETUP_LinuxRootPart db 'Partizione Root Linux', 0 82 ; This here may be larger than 23 chars... 83 ;TXT_SETUP_DefLinuxCmd db 'DEFINIRE LINEA DI COMANDO LINUX', 0 84 TXT_SETUP_IgnoreLVM db 'Ignorare LVM info.', 0 63 85 TXT_SETUP_ForceLBAUsage db 'Forza uso LBA del BIOS', 0 64 86 TXT_SETUP_ExtPartMShack db 'Est-Part MS Workaround', 0 65 ; This here may be larger than 23 chars...66 TXT_SETUP_DefLinuxCmd db 'DEFINIRE LINEA DI COMANDO LINUX', 067 87 68 88 ; DYNAMIC LENGTH, maximum 11 chars excluding ending zero … … 72 92 TXT_SETUP_MAGIC_Detailed db 'Dettagli', 0 73 93 TXT_SETUP_MAGIC_NoBootable db 'No Avviab.', 0 74 TXT_SETUP_MAGIC_NoLinux db 'No Linux', 0 94 ; [Linux support removed since v1.02] 95 ;TXT_SETUP_MAGIC_NoLinux db 'No Linux', 0 75 96 TXT_SETUP_MAGIC_DoNothing db 'Nessuna Az.', 0 76 97 TXT_SETUP_MAGIC_ResetTime db 'Reset Timer', 0 … … 160 181 ; Basic Options - Help 161 182 ;----------------------------------|--------------------|------------------- 162 TXT_SETUPHELP_DefaultPart db 'Cambia la partizione', 0 163 db 'predefinita usata', 0 164 db 'nell''Avvio', 0 165 db 'Temporizzato', 0 183 TXT_SETUPHELP_DefaultSelection db 'Cambia la selezione', 0 184 db 'standard', 0 166 185 db 0 167 186 TXT_SETUPHELP_TimedBoot db 'AiR-BOOT procede', 0 … … 275 294 ; Extended Options - Help 276 295 ;----------------------------------|--------------------|------------------- 277 TXT_SETUPHELP_LinuxKernelPart db 'Partizione FAT-16', 0 278 db 'contenente i vari', 0 279 db 'kernels di Linux', 0 280 db 0 281 TXT_SETUPHELP_LinuxDefaultKrnl db 'Definisce il nome del', 0 282 db 'kernel predefinito', 0 283 db 0 284 TXT_SETUPHELP_LinuxRootPart db 'Cambia la partizione', 0 285 db 'root di Linux', 0 296 ; [Linux support removed since v1.02] 297 ;TXT_SETUPHELP_LinuxKernelPart db 'Partizione FAT-16', 0 298 ; db 'contenente i vari', 0 299 ; db 'kernels di Linux', 0 300 ; db 0 301 ;TXT_SETUPHELP_LinuxDefaultKrnl db 'Definisce il nome del', 0 302 ; db 'kernel predefinito', 0 303 ; db 0 304 ;TXT_SETUPHELP_LinuxRootPart db 'Cambia la partizione', 0 305 ; db 'root di Linux', 0 306 ; db 0 307 ;TXT_SETUPHELP_DefLinuxCmd: db 'Definisce la linea di', 0 308 ; db 'comando per Linux, se', 0 309 ; db 'disponibile', 0 310 ; db 0 311 ;----------------------------------|--------------------|------------------- 312 TXT_SETUPHELP_IgnoreLVM db 'Se attivato AiR-BOOT', 0 313 db 'non cerca neanche LVM', 0 314 db 'informazione.', 0 286 315 db 0 287 316 TXT_SETUPHELP_ForceLBAUsage db 'Forza l''uso delle API', 0 … … 295 324 db 'standard a tipo MS', 0 296 325 db '(definito dal P-flag)', 0 297 db 0298 TXT_SETUPHELP_DefLinuxCmd: db 'Definisce la linea di', 0299 db 'comando per Linux, se', 0300 db 'disponibile', 0301 326 db 0 302 327 … … 327 352 ; Maximum 60 chars (should not be reached) 328 353 ;----------------------------------|----------------------------------------------------------| 329 TXT_SETUP_EnterLinuxCmdLine db 'Inserire/modificare la linea di comando per Linux:', 0 330 TXT_SETUP_NoLinuxInstalled db 'Linux non installato nel sistema', 0 331 TXT_SETUP_NoLDLpartition db 'Partizione selezionata non HPFS/FAT16', 0 354 ; [Linux support removed since v1.02] 355 ;TXT_SETUP_EnterLinuxCmdLine db 'Inserire/modificare la linea di comando per Linux:', 0 356 ;TXT_SETUP_NoLinuxInstalled db 'Linux non installato nel sistema', 0 357 TXT_SETUP_NoLDLpartition db 'Partizione selezionata non HPFS/FAT16/JFS', 0 332 358 333 359 ; Maximum 34 chars (should not be reached) … … 345 371 TXT_SETUPHELP_DriveLetter db 'Premere C a Z', 0 346 372 347 IFNDEF ReleaseCommercial 348 ; Colors for special words hard-coded. Keep all 0s. 349 TXT_SETUP_LowerMessage db 'Programma ',0,'gratuito',0,' per uso privato non commerciale.',0 350 db 'Proibita ',0,'ASSOLUTAMENTE',0,' distribuzione o uso di AiR-BOOT in ',0,'-OGNI-',0,' modo,',0 351 db 'in caso di pagamento del prodotto o del servizio fornito con esso.',0 352 db 'Se si vuole usare AiR-BOOT secondo ',0,'altre condizioni',0,', ',0,'preinstallarlo',0,' o ',0 353 db 'distribuirlo',0,' , contattatemi via e-mail: ',0,'kiewitz@netlabs.org',0,' !',0 354 ENDIF 373 ; Colors for special words hard-coded. Keep all 0s. 374 ;TXT_SETUP_LowerMessage db 'Programma ',0,'gratuito',0,' per uso privato non commerciale.',0 375 ; db 'Proibita ',0,'ASSOLUTAMENTE',0,' distribuzione o uso di AiR-BOOT in ',0,'-OGNI-',0,' modo,',0 376 ; db 'in caso di pagamento del prodotto o del servizio fornito con esso.',0 377 ; db 'Se si vuole usare AiR-BOOT secondo ',0,'altre condizioni',0,', ',0,'preinstallarlo',0,' o ',0 378 ; db 'distribuirlo',0,' , contattatemi via e-mail: ',0,'kiewitz@netlabs.org',0,' !',0 -
tags/v1.06r/BOOTCODE/TEXT/IT/OTHER.ASM
r26 r29 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 1 18 ;------------------------------------------------------------------------------ 2 19 ; AiR-BOOT / OTHER TEXT -
tags/v1.06r/BOOTCODE/TEXT/RU/MBR.ASM
r8 r29 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 1 18 ;------------------------------------------------------------------------------ 2 19 ; AiR-BOOT / MBR-TEXT -
tags/v1.06r/BOOTCODE/TEXT/RU/MENUS.ASM
r23 r29 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 1 18 ;--------------------------------------------------------------------------- 2 19 ; AiR-BOOT SETUP / ALL SETUP MENUS … … 35 52 ; Basic Options - Items - Max Length: 23 36 53 ;----------------------------------|---------------------|------------------ 37 TXT_SETUP_Default Part db ' §€¥« ¯®ã¬®«ç šî', 054 TXT_SETUP_DefaultSelection db 'ë¡®à ¯®-㬮«ç šî', 0 38 55 TXT_SETUP_TimedBoot db '¢â®¬ âšç¥áª ï § £à㧪 ', 0 39 56 TXT_SETUP_TimedBootDelay db 'à¥¬ï ¢â®§ £à㧪š (á)', 0 … … 65 82 ; Extended Options - Items - Max Length: 23 66 83 ;----------------------------------|---------------------|------------------ 67 TXT_SETUP_LinuxKernelPart db ' §€¥« ï€à Linux', 0 68 TXT_SETUP_LinuxDefaultKernel db '€à® Linux ¯® 㬮«ç šî', 0 69 TXT_SETUP_LinuxRootPart db ' §€¥« ª®àï Linux', 0 84 ; [Linux support removed since v1.02] 85 ;TXT_SETUP_LinuxKernelPart db ' §€¥« ï€à Linux', 0 86 ;TXT_SETUP_LinuxDefaultKernel db '€à® Linux ¯® 㬮«ç šî', 0 87 ;TXT_SETUP_LinuxRootPart db ' §€¥« ª®àï Linux', 0 88 ; This here may be larger than 23 chars... 89 ;TXT_SETUP_DefLinuxCmd db ' 90 LINUX', 0 91 TXT_SETUP_IgnoreLVM db '£®àšà®¢ âì € ë¥ LVM', 0 70 92 TXT_SETUP_ForceLBAUsage db 'ᯮ«ì§®¢ âì BIOS-LBA', 0 71 93 TXT_SETUP_ExtPartMShack db ' §€¥«ë €«ï MS-ášá⥬', 0 72 ; This here may be larger than 23 chars...73 TXT_SETUP_DefLinuxCmd db '74 LINUX', 075 94 76 95 ; DYNAMIC LENGTH, maximum 11 chars excluding ending zero … … 80 99 TXT_SETUP_MAGIC_Detailed db '¥â «ì®', 0 81 100 TXT_SETUP_MAGIC_NoBootable db '¥ § £àãŠ.', 0 82 TXT_SETUP_MAGIC_NoLinux db '¥ Linux', 0 101 ; [Linux support removed since v1.02] 102 ;TXT_SETUP_MAGIC_NoLinux db '¥ Linux', 0 83 103 TXT_SETUP_MAGIC_DoNothing db '¥§€¥©áâ¢.', 0 84 104 TXT_SETUP_MAGIC_ResetTime db ' ç « ', 0 … … 168 188 ; Basic Options - Help 169 189 ;----------------------------------|--------------------|------------------- 170 TXT_SETUPHELP_DefaultPart db '¥ï¥â è à §€¥« ¯®', 0 171 db '㬮«ç šî. ¬®Š¥â', 0 172 db '¡ëâì šá¯®«ì§®¢ €«ï', 0 173 db ' ¢â®§ £à㧪š.', 0 190 TXT_SETUPHELP_DefaultSelection db '¬¥šâì è ¢ë¡®à', 0 191 db '¯®-㬮«ç šî.', 0 174 192 db 0 175 193 TXT_SETUPHELP_TimedBoot db 'AiR-BOOT ¯à®€®«Ššâ', 0 … … 271 289 ; Extended Options - Help 272 290 ;----------------------------------|--------------------|------------------- 273 TXT_SETUPHELP_LinuxKernelPart db ' §€¥« FAT-16, ', 0 274 db 'ª®â®à®¬ à ᯮ«®Š¥ë', 0 275 db ' èš ï€à Linux.', 0 276 db 0 277 TXT_SETUPHELP_LinuxDefaultKrnl db '¬ï ä ©« €«ï ï€à ', 0 278 db '¯® 㬮«ç šî.', 0 279 db 0 280 TXT_SETUPHELP_LinuxRootPart db ' §€¥« á ª®à¥¢ë¬', 0 281 db 'ª â «®£®¬ Linux.', 0 291 ; [Linux support removed since v1.02] 292 ;TXT_SETUPHELP_LinuxKernelPart db ' §€¥« FAT-16, ', 0 293 ; db 'ª®â®à®¬ à ᯮ«®Š¥ë', 0 294 ; db ' èš ï€à Linux.', 0 295 ; db 0 296 ;TXT_SETUPHELP_LinuxDefaultKrnl db '¬ï ä ©« €«ï ï€à ', 0 297 ; db '¯® 㬮«ç šî.', 0 298 ; db 0 299 ;TXT_SETUPHELP_LinuxRootPart db ' §€¥« á ª®à¥¢ë¬', 0 300 ; db 'ª â «®£®¬ Linux.', 0 301 ; db 0 302 ;TXT_SETUPHELP_DefLinuxCmd: db '®¬ € ï áâப €«ï', 0 303 ; db '§ £à㧪š Linux, ¥á«š', 0 304 ; db '¥®¡å®€š¬®.', 0 305 ; db 0 306 TXT_SETUPHELP_IgnoreLVM db 'àš ¢ª«î祚š í⮩', 0 307 db '®¯æšš AiR-BOOT ¥', 0 308 db '¡ã€¥â šáª âì', 0 309 db 'šä®à¬ æšî LVM', 0 282 310 db 0 283 311 TXT_SETUPHELP_ForceLBAUsage db 'ॡ〥⠚ᯮ«ì§®¢ š¥', 0 … … 291 319 db 'š«š MS.', 0 292 320 db '(㪠§ âì ç¥à¥§ P-ä« £)', 0 293 db 0294 TXT_SETUPHELP_DefLinuxCmd: db '®¬ € ï áâப €«ï', 0295 db '§ £à㧪š Linux, ¥á«š', 0296 db '¥®¡å®€š¬®.', 0297 321 db 0 298 322 … … 327 351 ; Maximum 60 chars (should not be reached) 328 352 ;----------------------------------|----------------------------------------------------------| 329 TXT_SETUP_EnterLinuxCmdLine db '¢¥€šâ¥ š«š šá¯à ¢ì⥠ª®¬ €ãî áâபã:', 0 330 TXT_SETUP_NoLinuxInstalled db ' á ¥ ãáâ ®¢«¥ Linux', 0 331 TXT_SETUP_NoLDLpartition db 'ë¡à ë© à §€¥« ¥ ï¥âáï HPFS š«š FAT16', 0 353 ; [Linux support removed since v1.02] 354 ;TXT_SETUP_EnterLinuxCmdLine db '¢¥€šâ¥ š«š šá¯à ¢ì⥠ª®¬ €ãî áâபã:', 0 355 ;TXT_SETUP_NoLinuxInstalled db ' á ¥ ãáâ ®¢«¥ Linux', 0 356 TXT_SETUP_NoLDLpartition db 'ë¡à ë© à §€¥« ¥ ï¥âáï HPFS/FAT16/JFS', 0 332 357 333 358 ; Maximum 34 chars (should not be reached) … … 345 370 TXT_SETUPHELP_DriveLetter db ' Ьšâ¥ C-Z', 0 346 371 347 IFNDEF ReleaseCommercial 348 ; Colors for special words hard-coded. Keep all 0s. 349 TXT_SETUP_LowerMessage db 'â ¯à®£à ¬¬ ',0,'¡¥á¯« â ',0,' €«ï ¥ª®¬¬¥àç¥áª®£® šá¯®«ì§®¢ šï.',0 350 db 'ë ',0,' 372 ; Colors for special words hard-coded. Keep all 0s. 373 ;TXT_SETUP_LowerMessage db 'â ¯à®£à ¬¬ ',0,'¡¥á¯« â ',0,' €«ï ¥ª®¬¬¥àç¥áª®£® šá¯®«ì§®¢ šï.',0 374 ; db 'ë ',0,' 351 375 ',0,' ¬®Š¥â¥ à á¯à®áâà ïâì/šá¯®«ì§®¢ âì AiR-BOOT ¢ ',0,'--',0,' ä®à¬¥,',0 352 db '¥á«š ë ¯®«ãç ¥â¥ § íâ® €¥ì£š.',0353 db '376 ; db '¥á«š ë ¯®«ãç ¥â¥ § íâ® €¥ì£š.',0 377 ; db ' 354 378 ᫚ ë å®âšâ¥ šá¯®«ì§®¢ âì AiR-BOOT ¢ ',0,'¢ €à㣚å ášá⥬ å',0,', ',0,'¯à¥€ãáâ ¢«š¢ âì',0,' š«š',0 355 db 'à á¯à®áâà ïâì',0,' á¢ïŠšâ¥áì á® ¬®© ¯® e-mail: ',0,'kiewitz@netlabs.org',0,' !',0 356 ENDIF 379 ; db 'à á¯à®áâà ïâì',0,' á¢ïŠšâ¥áì á® ¬®© ¯® e-mail: ',0,'kiewitz@netlabs.org',0,' !',0 -
tags/v1.06r/BOOTCODE/TEXT/RU/OTHER.ASM
r26 r29 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 1 18 ;------------------------------------------------------------------------------ 2 19 ; AiR-BOOT / OTHER TEXT … … 37 54 38 55 ; Dynamic Length (till 80 chars) 39 TXT_BrokenPartitionTable: db 13, 10, ' - ¡ à㊥ ¬šš¬ã¬ ®€š šá¯®àç¥ë© à §€¥«, «š¡® â ¡«šæ à §€¥«®¢ ᮀ¥àŠšâ 56 TXT_BrokenPartitionTable: db 13, 10, ' - ¡ à㊥ ¬šš¬ã¬ ®€š šá¯®àç¥ë© à §€¥«, «š¡® â ¡«šæ à §€¥«®¢ ᮀ¥àŠšâ' 40 57 db 13, 10, ' á¡®©ë¥ ¡«®ªš. šá⥬ ®áâ ®¢«¥ .', 0 41 58 TXT_TooManyPartitions: db 13, 10, ' - «šèª®¬ ¬®£® à §€¥«®¢ ©€¥®. AiR-BOOT ¯®€€¥àŠš¢ ¥â €® 30.', 0 -
tags/v1.06r/BOOTCODE/TEXT/SW/MBR.ASM
r12 r29 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 1 18 ;------------------------------------------------------------------------------ 2 19 ; AiR-BOOT / MBR-TEXT -
tags/v1.06r/BOOTCODE/TEXT/SW/MENUS.ASM
r23 r29 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 1 18 ;--------------------------------------------------------------------------- 2 19 ; AiR-BOOT SETUP / ALL SETUP MENUS … … 28 45 ; Basic Options - Items - Max Length: 23 29 46 ;----------------------------------|---------------------|------------------ 30 TXT_SETUP_Default Partdb 'Standard Partition', 047 TXT_SETUP_DefaultSelection db 'Standard Partition', 0 31 48 TXT_SETUP_TimedBoot db 'Tidstyrd Bootning', 0 32 49 TXT_SETUP_TimedBootDelay db 'TidsBoot Frdrj (sek)', 0 … … 58 75 ; Extended Options - Items - Max Length: 23 59 76 ;----------------------------------|---------------------|------------------ 60 TXT_SETUP_LinuxKernelPart db 'Linux Kernel Partition', 0 61 TXT_SETUP_LinuxDefaultKernel db 'Linux Standard Krna', 0 62 TXT_SETUP_LinuxRootPart db 'Linux Root Partition', 0 77 ; [Linux support removed since v1.02] 78 ;TXT_SETUP_LinuxKernelPart db 'Linux Kernel Partition', 0 79 ;TXT_SETUP_LinuxDefaultKernel db 'Linux Standard Krna', 0 80 ;TXT_SETUP_LinuxRootPart db 'Linux Root Partition', 0 81 ; This here may be larger than 23 chars... 82 ;TXT_SETUP_DefLinuxCmd db 'DEFINIERA KOMMANDORAD FR LINUX', 0 83 TXT_SETUP_IgnoreLVM db 'Ignore LVM information', 0 84 ; ### 63 85 TXT_SETUP_ForceLBAUsage db 'Forc BIOS-LBA Anvndn.', 0 64 86 TXT_SETUP_ExtPartMShack db 'Ext-Part MS Workaround', 0 65 ; This here may be larger than 23 chars...66 TXT_SETUP_DefLinuxCmd db 'DEFINIERA KOMMANDORAD FR LINUX', 067 87 68 88 ; DYNAMIC LENGTH, maximum 11 chars excluding ending zero … … 72 92 TXT_SETUP_MAGIC_Detailed db 'Detaljerad', 0 73 93 TXT_SETUP_MAGIC_NoBootable db 'Ej Bootbar', 0 74 TXT_SETUP_MAGIC_NoLinux db 'Ej Linux', 0 94 ; [Linux support removed since v1.02] 95 ;TXT_SETUP_MAGIC_NoLinux db 'Ej Linux', 0 75 96 TXT_SETUP_MAGIC_DoNothing db 'Gr Inget', 0 76 97 TXT_SETUP_MAGIC_ResetTime db 'terst. Tid', 0 … … 160 181 ; Basic Options - Help 161 182 ;----------------------------------|--------------------|------------------- 183 TXT_SETUPHELP_DefaultSelection db 'Changes your default', 0 184 db 'selection. It can be', 0 185 db 'used on Timed Boot.', 0 186 db 0 187 ; #### 162 188 TXT_SETUPHELP_DefaultPart db 'ndrar din standard', 0 163 189 db 'partition. Den kan', 0 … … 277 303 ; Extended Options - Help 278 304 ;----------------------------------|--------------------|------------------- 279 TXT_SETUPHELP_LinuxKernelPart db 'Definierar FAT-16', 0 280 db 'partition som', 0 281 db 'innehller dina', 0 282 db 'Linux krnor.', 0 283 db 0 284 TXT_SETUPHELP_LinuxDefaultKrnl db 'Definiera din', 0 285 db 'standardkrnas', 0 286 db 'filnamn.', 0 287 db 0 288 TXT_SETUPHELP_LinuxRootPart db 'ndrar din Linux', 0 289 db 'root partition.', 0 290 db 0 305 ; [Linux support removed since v1.02] 306 ;TXT_SETUPHELP_LinuxKernelPart db 'Definierar FAT-16', 0 307 ; db 'partition som', 0 308 ; db 'innehller dina', 0 309 ; db 'Linux krnor.', 0 310 ; db 0 311 ;TXT_SETUPHELP_LinuxDefaultKrnl db 'Definiera din', 0 312 ; db 'standardkrnas', 0 313 ; db 'filnamn.', 0 314 ; db 0 315 ;TXT_SETUPHELP_LinuxRootPart db 'ndrar din Linux', 0 316 ; db 'root partition.', 0 317 ; db 0 318 ;TXT_SETUPHELP_DefLinuxCmd: db 'Definierar kommando', 0 319 ; db 'rad fr Linux, om', 0 320 ; db 'tillgngligt.', 0 321 ; db 0 322 TXT_SETUPHELP_IgnoreLVM db 'If activated, AiR-BOOT', 0 323 db 'won''t even look for', 0 324 db 'LVM information.', 0 325 db 0 326 ; ### 291 327 TXT_SETUPHELP_ForceLBAUsage db 'Forc. anvndning av', 0 292 328 db 'BIOS LBA APIs', 0 … … 299 335 db 'eller MS-uppfinnade.', 0 300 336 db '(definierad av P-flag)', 0 301 db 0302 TXT_SETUPHELP_DefLinuxCmd: db 'Definierar kommando', 0303 db 'rad fr Linux, om', 0304 db 'tillgngligt.', 0305 337 db 0 306 338 … … 331 363 ; Maximum 60 chars (should not be reached) 332 364 ;----------------------------------|----------------------------------------------------------| 333 TXT_SETUP_EnterLinuxCmdLine db 'Var vnlig ange/modifiera din Linux kommando-rad:', 0 334 TXT_SETUP_NoLinuxInstalled db 'Du har inte Linux installerat', 0 335 TXT_SETUP_NoLDLpartition db 'Den valda partitionen r inte varken HPFS eller FAT16', 0 365 ; [Linux support removed since v1.02] 366 ;TXT_SETUP_EnterLinuxCmdLine db 'Var vnlig ange/modifiera din Linux kommando-rad:', 0 367 ;TXT_SETUP_NoLinuxInstalled db 'Du har inte Linux installerat', 0 368 TXT_SETUP_NoLDLpartition db 'Den valda partitionen r inte varken HPFS/FAT16/JFS', 0 336 369 337 370 ; Maximum 34 chars (should not be reached) … … 349 382 TXT_SETUPHELP_DriveLetter db 'Tryck C-Z', 0 350 383 351 IFNDEF ReleaseCommercial 352 ; Colors for special words hard-coded. Keep all 0s. 353 TXT_SETUP_LowerMessage db 'Detta program r ',0,'fritt',0,' fr icke-kommersiell privat anvndning.',0 354 db 'Du fr ',0,'INTE',0,' distribuera/anvnda AiR-BOOT i ',0,'-NGON-',0,' form,',0 355 db 'om du erhller pengar fr den distribuerade produkten eller servicen.',0 356 db 'Om du vill anvnda AiR-BOOT i ',0,'andra sammanhang',0,', ',0,'frinstallera',0,' eller',0 357 db 'distribuera',0,' den, var vnlig och kontakta mig via e-mail: ',0,'kiewitz@netlabs.org',0,' !',0 358 ENDIF 384 ; Colors for special words hard-coded. Keep all 0s. 385 ;TXT_SETUP_LowerMessage db 'Detta program r ',0,'fritt',0,' fr icke-kommersiell privat anvndning.',0 386 ; db 'Du fr ',0,'INTE',0,' distribuera/anvnda AiR-BOOT i ',0,'-NGON-',0,' form,',0 387 ; db 'om du erhller pengar fr den distribuerade produkten eller servicen.',0 388 ; db 'Om du vill anvnda AiR-BOOT i ',0,'andra sammanhang',0,', ',0,'frinstallera',0,' eller',0 389 ; db 'distribuera',0,' den, var vnlig och kontakta mig via e-mail: ',0,'kiewitz@netlabs.org',0,' !',0 -
tags/v1.06r/BOOTCODE/TEXT/SW/OTHER.ASM
r26 r29 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 1 18 ;------------------------------------------------------------------------------ 2 19 ; AiR-BOOT / OTHER TEXT … … 37 54 38 55 ; Dynamic Length (till 80 chars) 39 TXT_BrokenPartitionTable: db 13, 10, ' - Your system has at least one broken partition table entry or your harddrive'40 db 13, 10, ' contains bad sectors. Systemet haltat.', 056 TXT_BrokenPartitionTable: db 13, 10, ' - Ditt system har minst en bruten partitionstabellspost eller har din hrddisk' 57 db 13, 10, ' trasiga sektorer. Systemet haltat.', 0 41 58 TXT_TooManyPartitions: db 13, 10, ' - Fr mnga partitioner hittades. AiR-BOOT stder endast upp till 30.', 0 42 59 TXT_NoBootAble: db 13, 10, ' - Ingen bootningsbar partition definierad. Systemet haltat.', 0 -
tags/v1.06r/BOOTCODE/TEXT/TXTMBR.ASM
r26 r29 1 Include TEXT\ US\MBR.asm1 Include TEXT\EN\MBR.asm -
tags/v1.06r/BOOTCODE/TEXT/TXTMENUS.ASM
r26 r29 1 Include TEXT\ US\MENUS.asm1 Include TEXT\EN\MENUS.asm -
tags/v1.06r/BOOTCODE/TEXT/TXTOTHER.ASM
r26 r29 1 Include TEXT\ US\OTHER.asm1 Include TEXT\EN\OTHER.asm -
tags/v1.06r/DOCS/DE/FEATURES.TXT
r23 r29 26 26 º die Konfiguration zurckzustellen º 27 27 º - MBR-Schutz unter Real-Mode º 28 º - Linux Kernel Untersttzung (fr FAT-16 Partitionen), Kernel- º 29 º Kommandozeile º 28 º - IBM OS/2 / eCS LVM Support º 30 29 º º 31 30 ºÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ … … 42 41 º º 43 42 º AiR-BOOT ist kompatibel zu LVM, dem Logischen Volumen Manager, der fr º 44 º OS/2 , eComStation und Linux-Varianten verfgbar ist.º43 º OS/2 und eComStation verfgbar ist. º 45 44 º º 46 45 º AiR-BOOT kann auch von CD-ROM installiert werden. Einfach das Image einer º -
tags/v1.06r/DOCS/DE/INSTALL.TXT
r8 r29 6 6 º º 7 7 º 1. Sie bentigen eine leere, formatierte Floppy. Legen Sie diese Diskette º 8 º in Laufwerk A: und starten Sie die Datei AIRBS_xx.COM vom AiR-BOOT º9 º Archiv (xx ist ihr dazugehriger Sprachen-Code).º8 º in Laufwerk A: und starten Sie die Datei MAKEDISK.COM vom AiR-BOOT º 9 º Archiv. º 10 10 º º 11 11 º 2. berprfen Sie ihr CMOS-Setup. Deaktivieren Sie 'Virus Warning', sofern º -
tags/v1.06r/DOCS/EN/FEATURES.TXT
r23 r29 25 25 º resetting the configuration º 26 26 º - MBR-Protection under Real-Mode º 27 º - Linux Kernel Support (from FAT-16 partitions), Kernel-Commandline and º 28 º automagically, but configurable root-partition º 27 º - IBM OS/2 / eCS LVM Support º 29 28 º º 30 29 ºÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ … … 42 41 º º 43 42 º AiR-BOOT is compatible to LVM, the Logical Volume Manager available for º 44 º OS/2 , eComStation and Linux-variants.º43 º OS/2 and eComStation. º 45 44 º º 46 45 º AiR-BOOT is able to get booted from CD-ROM. Simply generate a floppy disc, º -
tags/v1.06r/DOCS/EN/INSTALL.TXT
r8 r29 7 7 º º 8 8 º 1. Get a blank, formatted disc. Insert this disc into drive A: and start º 9 º the file AIRBS_xx.EXE from the AiR-BOOT archive (where xx is your º 10 º language code). º 9 º the file MAKEDISK.COM from the AiR-BOOT archive. º 11 10 º º 12 11 º 2. Check your CMOS-Setup. Deselect 'Virus Warning', if this option is º -
tags/v1.06r/DOCS/EN/Q_AND_A.TXT
r8 r29 48 48 º This had to be done JUST because of Microsoft. I can't stand this any º 49 49 º longer. There is no need for such checking. It's not documented º 50 º anywhere and the CLI is bullshit anyway, because one does not need to º 51 º disable interrupts to change stack or something. Any skilled assembly º 52 º programmer knows this. º 53 º º 54 º Q: Hey, why did you code this ? 'NT BOOT'/'OS/2 BOOTMAN'/'LILO' are great. º 55 º A: Yeah, sure. Let me say something about those things. º 56 º NT BOOT is crap. 100 KBytes for a BOOTMANAGER ? Are you nuts ? And it º 57 º definitly needs Windows NT installed. (or a FAT partition?!) º 58 º OS/2 BOOTMAN needs a primary partition, so just 3 are left. º 59 º LILO is stupid. First it can not boot Linux, if Linux resides not on º 60 º the first harddisk (at least the last time, I tried). It's loading the º 61 º Linux Kernel via HackIn, that I can't stand as well. And it's not that º 62 º easy to install and setup. It has to get adjusted, when you add new º 63 º partitions to your harddrive. etc. etc. etc. º 64 º º 65 º Most bootmanagers need a specific OS installed, so this isn't good as º 66 º well. btw.: If you add a new partition to a drive containing Linux, º 67 º LILO will not find the root partition anymore (haha, nice try). º 68 º That's your "premier" boot-manager. phew. AiR-BOOT will find it º 69 º (normally) automatically on-the-fly and boot it like normal. º 50 º anywhere and the CLI was needed on some of the earliest x86 computers º 51 º when changing stack. Anyway it's not needed in the MBR at least not º 52 º at offset 0. º 70 53 º º 71 54 º Q: Ohhh man, what do you got against LILO. It's soooo good. º … … 73 56 º partition. It was FAT and this nice little bugger overwrote some º 74 57 º internals *as documented* without even giving me any warning message. º 75 º I see LILO as on the same level as Mic keysoft products. Just believingº58 º I see LILO as on the same level as Microsoft products. Just believing º 76 59 º they would rule the whole computer and could do anything. º 77 º During AiR-BOOT alpha testing, it NEVER corrupted any partition table.º78 º The only problems were crashs, so I had to restore t he old MBR.º60 º Even all AiR-BOOT alphas never corrupted any partition table. º 61 º The only problems were crashs, so I had to restore to an older MBR. º 79 62 º During late beta testing, it never got any problems. And if there were º 80 º any, I just inserted the AiR-BOOT disc and wups, the problem was gone.º63 º any, I just inserted the AiR-BOOT disc and the problem was gone. º 81 64 º (btw: that's the way I noticed that Partition Magic 3.x overwrites º 82 º some sectors in the MBR). º 83 º º 84 º Q: So many options, no one will ever need this. Guess you wasted your time º 85 º A: Okay, well, perhaps there are too much options, and perhaps it's crap. º 86 º I believe many users will use different options, so they are good as º 87 º they are. Too much options would be, if the program is too slow or º 88 º handling is too difficult, but not in AiR-BOOT. It's tiny in size, º 89 º easy to setup...just like your BIOS. I have included REAL on-line º 90 º help, too. Not the way in most BIOSes. I included fancy things, like º 91 º color menus...look at BIOSes from 1989. They were really ugly. Colored º 92 º menus are somewhat cool. But I know, you are the one with WindowsNT, º 93 º which thinks it's the best OS in the world. You never tried OS/2, nor º 94 º Unix/Linux. You want a GUI, but you hate those silly colored-windows. º 65 º quietly some sectors in track 0). º 95 66 º º 96 67 º Q: I believe you have copied the text of your boot-menu from DocsBoot. º -
tags/v1.06r/DOCS/FR/FEATURES.TXT
r23 r29 31 31 º de rparer AiR-BOOT sans effacer les paramtres de configuration º 32 32 º - Protection du secteur d'amorage en mode rel º 33 º - Support du noyau Linux (depuis des partitions FAT-16), Ligne de º 34 º commande Kernel et partition de root automatique, mais configurable º 33 º - Support du IBM OS/2 / eCS LVM º 35 34 º º 36 35 ºÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ … … 43 42 º de ne pas utiliser le gestionnaire d'amorage fourni avec OS/2) º 44 43 º - BeOS º 45 º - Unix/Linux (avec ou sans LILO)º44 º - Unix/Linux (avec LILO) º 46 45 º - Windows 95/98/ME (c 47 46 d MS-DOS) º … … 49 48 º º 50 49 º AiR-BOOT est compatible avec le LVM, gestionnaire de volumes logiques º 51 º disponible pour OS/2 , eComStation et certaines variantes de Linux.º50 º disponible pour OS/2 et eComStation. º 52 51 º º 53 52 º AiR-BOOT peut dmarrer depuis un CD-ROM. Il suffit de crer une disquette º -
tags/v1.06r/DOCS/FR/INSTALL.TXT
r8 r29 10 10 º º 11 11 º 1. Prenez une disquette vierge formatte. Mettez la dans votre lecteur A: º 12 º et dmarrez le fichier AIRBS_xx.EXE de l'archive AiR-BOOT (o xx est º 13 º votre code de langue). º 12 º et dmarrez le fichier MAKEDISK.COM de l'archive AiR-BOOT. º 14 13 º º 15 14 º 2. Vrifiez votre rglage CMOS (dans le bios). Deslectionnez 'Virus º -
tags/v1.06r/DOCS/GENERIC/DEVELOPR.TXT
r28 r29 1 1 2 ù Ä ÄÄÄÄÍÍ = Ä ù Ä = ÍÍÄÄÄÄ Ä ù 3 ³ ³ 4 ÜÛÛÛÛÛÛÛÜ ÜÛÜ ÜÛÛÛÛÛÛÛÛÜ ú úÄÄÄÍÄÄÍÄÍÍÄÄÍÍÍÍÄÍÍÍÍÍÍÍÍÍÎÄ 5 ³ ÛÛÛÛßßßÛÛÛÛ ÛÛÛÛÛ ÛÛÛß ßÛÛÛ ³ AiR ON-Line Software º 6 º ÛÛÛÛÜÜÜÛÛÛÛ ÛÛÛÛÛ ÛÛÛÜ ÜÛÛÛ º ú ÄÄÄÄÍÄÍÍÄÄÍÍÍÍÄÍÍÍÍÍÍÍÍÄÍÍÍÍÍÎÄ 7 º ÛÛÛÛÛÛÛÛÛÛÛ ÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛß º º 8 º ÛÛÛÛ ÛÛÛÛ ÛÛÛÛÛ ÛÛÛÛ ßÛÛÛÛÜ º ³ º 9 ³ ßÛÛß ßÛÛß ßÛß ßÛÛß ßÛÛß ³ ³ Developer Information for ³ 10 ÜÜÜ ³ AiR-BOOT v1.01 ³ 11 ù ÜÛÛß ù ³ ³ 12 ÄÄÄÄÄÄÄ ÜÛÛß º ³ 13 ³ Ú¿Ú¿³ÜÛÛÛÜÜÛÛÛÜ ³ º ³ 14 º ÀÙ³ÀÙßÛÛÛßßÜÛÛß º º ú 15 º ÄÄÄÄÄÄÄ ÜÛÛÝ º º 16 º ÜÛÛÛÄÄÄÄÄÄÄÄÄ º ÄÎÍÍÍÄÍÍÍÍÍÄÍÍÍÍÄÍÍÄÄÍÄÄÍÄÄÄúÄÄ ú 17 º ÜÛÛÛݳ ³Ú¿³³Ä º 18 ³ ÜÛÛÛÛ Àij³ÀÙ³Ä ³ 19 ßÛÛÛÛÝÄÄÄÄÄÄÄÄÄÄ 20 ³ ßß ³ 21 ù ÄŽ-=iç éï-Liïî SéâWçî=-ÃÄÄ ù 22 2 ÖÄ[ Developer Information for AiR-BOOT v1.05+ ]ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ· 3 ÖÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄ ú ú ÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ· 4 º º 5 º This documentation is meant for developers that wish to support AiR-BOOT. º 6 º It explains detection, verification and reading/changing configuration of º 7 º AiR-BOOT. º 8 º º 9 ÓÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄ ú ú ÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄœ 10 ÓÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄœ 23 11 24 12 1.1 - Foreword … … 37 25 38 26 This document defines several aspects of AiR-BOOT v0.26b+ and is 39 currently on the level of AiR-BOOT v1.0 1.27 currently on the level of AiR-BOOT v1.05+. 40 28 41 29 AiR-BOOT is an advanced multi-boot-loader that resides completly in … … 43 31 Virus-Detection and much more. 44 32 45 This documentation is meant for other developers that want to detect46 and/or support AiR-BOOT and modify some configuration values.47 48 33 Please keep in mind that you are responsible for doing those changes 49 34 the documented, correct manner. AiR-BOOT is able to fix some 50 35 configuration values like Default-Partition, because the user could 51 have killed that partition , but AiR-BOOT is not completely36 have killed that partition as well, but AiR-BOOT is not completely 52 37 error-tolerant. Work as defined in this documentation and everything 53 38 will work as expected. … … 56 41 Everything is meant to be in Intel-Order. 57 42 58 You may contact the author via e-mail using: kiewitz@netlabs.org. 43 AiR-BOOT and its source is available via 44 http://air-boot.sourceforge.net 45 46 You may contact the author via 47 m_kiewitz [AT] users [DOT] sourceforge [DOT] net 59 48 60 49 … … 135 124 'I' for italian 136 125 'R' for russian 137 ' U' for english126 'E' for english (v1.01+) 138 127 'S' for swedish 128 'U' for USA (removed in v1.01+) 139 129 TotalCodeSectors : BYTE - counting from sector 2 140 130 CheckSumOfCode : WORD - explained later … … 183 173 match the Version in the basic information structure. 184 174 This is the version of AiR-BOOT that installed the Config 185 area. 175 area. It may be as well the current data structure level. 176 Anyway, you need to get the code version to find out what 177 data structure is used. 186 178 187 179 Code used for verification in x86 assembly: … … 223 215 MajorVersion : BYTE - in BCD 224 216 MinorVersion : BYTE - in BCD 225 ReleaseLanguage : BYTE - normally ' U' for USA/english217 ReleaseLanguage : BYTE - normally 'E' for English 226 218 EditCounter : DWORD - Will be increased on every save 227 219 CheckSumOfConfig : WORD - explained in [2.3] 228 220 Partitions : BYTE - Partitions count in IPT 229 221 BootPartitions : BYTE - Removed since v0.28b 230 DefaultPartition : BYTE - Default-partition no (zero based) 222 DefaultSelection : BYTE - Default-selection no (zero based) 223 FFh - nothing bootable 224 [additions/changes v1.02+] 225 FFh - Floppy Boot 226 FEh - BIOS continue (CD-ROM,etc.) 227 80h - nothing bootable 231 228 LastPartition : BYTE - Last-booted-partition (zero based) 229 Even under v1.02+, this never 230 contains floppy or Resume-BIOS 232 231 TimedBoot : BYTE - 0 - Timed Boot disabled 233 232 1 - Timed Boot enabled … … 273 272 RudeProtection : BYTE - Removed since v0.28b 274 273 LinuxPartition : BYTE - Linux Root partition no (0-based) 274 [not used anymore since 1.02+] 275 275 TimedKeyHandling : BYTE - 0 - Do nothing 276 276 1 - Reset time … … 286 286 CooperBars : BYTE - 0 - Disabled 287 287 1 - Enabled 288 [following contents are not used anymore - since 1.02] 288 289 LinuxCommandLine : STRING * 75 - Linux Command Line (0-terminated) 289 290 LinuxKrnlPartition : BYTE - 0FFh - Disabled … … 298 299 field will get filled with spaces 299 300 LinuxKernelNameEnd2: BYTE - Fixed ZERO 301 [End of contents that are not used anymore] 300 302 ExtPartitionMShack : BYTE - 0 - Disabled 301 303 1 - MS Work-Around Enabled … … 305 307 AutomaticPartition : BYTE - Automatic Booting (0.94+) 306 308 Partition no (zero based) 309 FFh - Floppy booting 310 FEh - BIOS continue (CD-ROM,ZIP) 307 311 ForceLBAUsage : BYTE - Forces BIOS LBA API Usage (1.00+) 308 312 0 - Disabled 309 313 1 - Enabled 310 Reserved : STRING * 254 - RESERVED 314 IgnoreLVM : BYTE - Ignores LVM information (1.02+) 315 0 - Disabled (do not ignore) 316 1 - Enabled 317 Reserved : STRING * 253 - RESERVED 311 318 AutoDriveLetter : STRING * 5 - RESERVED CONTENT (0.94+) 312 319 (used by Installer/2) … … 341 348 Contents: AiR-BOOT internal partition table entry (IPT) 342 349 ======================================================================= 343 SerialNumber : DWORD - Serial number of partition 350 SerialNumber : DWORD - Serial number of partition / 351 Partition ID from LVM 344 352 (if available) 345 PartitionName : STRING * 11 - Name of the partition 346 (in sync withboot-record)353 PartitionName : STRING * 11 - Name of the partition (in sync 354 with LVM and/or boot-record) 347 355 Drive : BYTE - Drive of partition (INT 13h-like) 348 356 PartitionID : BYTE - unhidden ID of partition 349 357 (08h == NTFS, thanx M$) 358 (FCh == JFS - v1.05+) 350 359 Flags : BYTE - Bit 0 - BootAble 351 360 Bit 1 - VIBR Detection … … 391 400 should look like this: 00h 02h 03h FFh (and 26 more FFhs) 392 401 393 The logical-drive-letters string is 30-bytes long. One byte per 394 partition. It's used for OS/2 use ONLY and it's only definable for 395 HPFS or FAT16 partitions. If you enable/disable the driveletter, then 396 YOU are required to change the corresponding partition's Drive-Letter 397 flag accordingly. 402 The boot-drive-letters string is 30-bytes long. One byte per partition. 403 It's used for OS/2 / eCS use ONLY and it's only definable for HPFS and 404 FAT16 partitions. If you enable/disable the driveletter, then YOU are 405 required to change the corresponding partition's Drive-Letter flag 406 accordingly. 407 408 Since 1.02, AiR-BOOT supports LVM driveletter adjustment and will 409 change the driveletter of the partition that is to be booted. 398 410 399 411 ----------------------------------------------------------------------- … … 402 414 HideConfiguration : STRING * 30 - for one partition each 403 415 * 30 -> 900 Bytes (due maximum of 30 partitions in IPT) 404 DriveLetters : STRING * 30 - Drive Letters of all partitions 405 (0h - disabled) [since v0.92+] 416 DriveLetters : STRING * 30 - Boot driveletters of partitions 417 [since v0.92+] 418 00h - disabled 419 80h - "C" 420 81h - "D"... 406 421 Reserved : STRING * 84 - RESERVED 407 422 Identifier : STRING * 10 - 'AiRBOOTHID' -
tags/v1.06r/DOCS/GENERIC/DISCLAIM.TXT
r28 r29 8 8 º warranty for bug-free operation, fitness for a particular purpose or the º 9 9 º appropriate behaviour of the program. º 10 º º 11 º This software may not be used in any way by US government. This means it º 12 º may not be used on any US government/military computers in any case. It º 13 º also means that if you are working for US government in any way, then you º 14 º are not allowed to use it as well. º 10 15 º º 11 16 º THE SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED º … … 26 31 º collections on CD-ROM, as well as on magazine cover CD-ROMs. º 27 32 º º 28 º The sourcecode is released via www.netlabs.org CVS *ONLY*. º29 º You MUST NOT upload it to other servers nor republish it in any way. º30 º The sourcecode is still COPYRIGHTED and NOT RELEASED UNDER GPL. º31 º It's (c) Copyright 1998-2003 by Martin Kiewitz. º32 º You may recompile the source and do *PRIVATE* modifications, but please º33 º keep in mind that modifying this code needs at least *some* assembly º34 º skill. If you mess up your system, because you needed to hack your way º35 º through, don't blame me. Releasing a customized version of AiR-BOOT, º36 º selling it in any form or reusing parts of this source is *PROHIBITED*. º37 º Ask me, if you have some idea about new functionality *before* developing º38 º the code, otherwise I will definitely reject it. Also please accept, that º39 º I have some basic design rules on AiR-BOOT and I will maintain them at º40 º all costs, so this won't get another GRUB. º41 º º42 33 º All trademarks mentioned anywhere around here are property of their owners º 43 34 º and the like... This means e.g. "Microsoft Windows (9x/NT/2000/XP/YP/ZP", º 44 35 º "Microsoft", "bugfix" and "exploit" are trademarks of Microsoft Corp. º 36 º Also "killing people for oil" and "torturing for freedom" are trademarks º 37 º of american government. º 45 38 º º 46 39 ÓÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄ ú ú ÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄœ -
tags/v1.06r/DOCS/GENERIC/HISTORY.TXT
r28 r29 144 144 º ³ ³ ³ [+] Swedish localization available º 145 145 ºÄÄÄÄÄÄÄÄijÄÄÄÄÄÄÄÄÄÄÄÄijÄÄÄÄÄÄÄijÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ 146 º 1.01 ³ 2 Mar 2003 ³ [WARP] ³ [!] NO WAR FOR CONTROL OVER OIL RESOURCES º 146 º 1.01 ³ 20 Mar 2003 ³ [WARP] ³ [!] My feelings go to Iraqi civilians º 147 º ³ ³ ³ [!] License change: If you are or were º 148 º ³ ³ ³ working indirectly or directly for º 149 º ³ ³ ³ american government and/or military, º 150 º ³ ³ ³ then you are NOT allowed to use this º 151 º ³ ³ ³ software in any case and you are º 152 º ³ ³ ³ supposed to delete it NOW. Downloads º 153 º ³ ³ ³ from .gov computers are now blocked. º 147 154 º ³ ³ ³ [-] Issue with NTFS detected as being º 148 º ³ ³ ³ HPFS fixed º149 155 º ³ ³ ³ [+] Broken partition table error message º 150 156 º ³ ³ ³ instead of "LOAD ERROR" º 151 157 º ³ ³ ³ [+] Minor changes º 158 ºÄÄÄÄÄÄÄÄijÄÄÄÄÄÄÄÄÄÄÄÄijÄÄÄÄÄÄÄijÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ 159 º 1.02 ³ 12 May 2004 ³ [WARP] ³ [!] Imperialismn sucks º 160 º ³ ³ ³ [+] Being closed source again... º 161 º ³ ³ ³ [+] LVM Support º 162 º ³ ³ ³ Dynamic changing of bootdrive letter º 163 º ³ ³ ³ Partition names are taken from LVM º 164 º ³ ³ ³ [+] Matching is now even more forgiving º 165 º ³ ³ ³ [+] Floppy and Resume-BIOS may be used º 166 º ³ ³ ³ for default selection and timed boot º 167 º ³ ³ ³ [+] SETABOOT (OS/2): Small changes º 168 º ³ ³ ³ [+] SETABOOT (DOS): New utility to º 169 º ³ ³ ³ control AiR-BOOT under bare DOS º 170 º ³ ³ ³ [-] Linux kernel support dropped º 171 ºÄÄÄÄÄÄÄÄijÄÄÄÄÄÄÄÄÄÄÄÄijÄÄÄÄÄÄÄijÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ 172 º 1.03 ³ 18 Oct 2004 ³ [WARP] ³ [!] Every dead american soldier is a step º 173 º ³ ³ ³ to Vietnam 2 for USA and final peace º 174 º ³ ³ ³ for iraq º 175 º ³ ³ ³ [+] Undocumented /4 now supported via º 176 º ³ ³ ³ OS/2 setaboot. º 177 º ³ ³ ³ [-] NTFS was detected as HPFS on LVMified º 178 º ³ ³ ³ drives. Now fixed. º 179 º ³ ³ ³ [+] os2.txt contains more information º 180 ºÄÄÄÄÄÄÄÄijÄÄÄÄÄÄÄÄÄÄÄÄijÄÄÄÄÄÄÄijÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ 181 º 1.04 ³ 27 Nov 2004 ³ [WARP] ³ [+] Improved CHS<->LBA access switching º 182 ºÄÄÄÄÄÄÄÄijÄÄÄÄÄÄÄÄÄÄÄÄijÄÄÄÄÄÄÄijÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ 183 º 1.05 ³ 13 Mar 2006 ³ [WARP] ³ [+] JFS with IFS partition id is now º 184 º ³ ³ ³ detected and is also able to boot up º 185 º ³ ³ ³ [+] Harddrive number is shown, when brokenº 186 º ³ ³ ³ partition table was detected º 187 º ³ ³ ³ [+] I13X signature now included in MBR, º 188 º ³ ³ ³ LVM doesn't delete us anymore º 189 ºÄÄÄÄÄÄÄÄijÄÄÄÄÄÄÄÄÄÄÄÄijÄÄÄÄÄÄÄijÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ 190 º 1.06 ³ 24 May 2009 ³ [WARP] ³ [!] 10th anniversary edition º 191 º ³ ³ ³ [+] AiR-BOOT is now released under GPLv3, º 192 º ³ ³ ³ sourcecode on sourceforge.net º 193 º ³ ³ ³ [+] Direct installer now also available º 194 º ³ ³ ³ for DOS/Win9X and WinNT environment º 195 º ³ ³ ³ [+] MakeDisk utility rewritten º 196 º ³ ³ ³ [+] Native OS/2 installer rewritten º 197 º ³ ³ ³ [+] ISO for bootable CD-ROM included º 198 º ³ ³ ³ [-] Fixed bug in setup for driveletter º 152 199 ºÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ 153 º [BETA] úúúúúú Internal Beta-Version ³ [WARP] úúúúúúúúúúúú Official Release º154 º [REG] úúúúúúúúúú Registered Version ³ [iNST] úúúúúúúúúúúúú iNSTALL and Co. º155 ºÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ156 200 º Technial Problems ? º 157 201 º º 158 º By E-Mail: kiewitz@netlabs.org º 159 º Official Homepage: http://AiR-BOOT.netlabs.org º 160 º (including anonymous CVS to sourcecode) º 161 º KiewitzSoft @: http://eComStation.ru/kiewitzsoft/ º 202 º Official Homepage: http://AiR-BOOT.sourceforge.net º 203 º Author via E-Mail: m_kiewitz [AT] users [DOT] sourceforge [DOT] net º 204 º º 205 º AiR-BOOT v1.06+ is released under GPLv3. Sourcecode is available from the º 206 º official homepage. º 162 207 º º 163 208 º At this point, I want to thank several people that helped me to improve º … … 165 210 º º 166 211 º Hex1753, Mike Reichel, Robert Traynor, chusty@attglobal.net, Tod Morcott, º 167 º Teruel de Campo, Irv Spalten, Chris Carroll, Warp5, MaxWarp & Jake º 212 º Teruel de Campo, Irv Spalten, Chris Carroll, Warp5, MaxWarp & Jake, º 213 º Peter Weilbacher and Veit Kannegieser. º 168 214 º º 169 215 º ...and especially the translators that wasted so much time on it... º … … 176 222 º AiR-BOOT - German - by myself ;) º 177 223 º º 224 º Special thanx to Jan van Wijk for the LVM-CRC polynom! º 225 º º 178 226 ÓÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄ ú ú ÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄœ 179 227 ÓÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄœ -
tags/v1.06r/DOCS/IT/FEATURES.TXT
r23 r29 26 26 º AiR-BOOT senza perdere la configurazione º 27 27 º - Protezione MBR in Modalita' Reale (Real-Mode) º 28 º - Supporto Kernel Linux (da partizioni FAT-16), parametri Kernel sulla º 29 º linea di comando e partizione di root automatica, ma configurabile º 28 º - Supporto IBM OS/2 / eCS LVM º 30 29 º º 31 30 ºÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ … … 43 42 º º 44 43 º AiR-BOOT e' compatibile con LVM, il Logical Volume Manager disponibile per º 45 º OS/2 , eComStation ed alcune distribuzioni di Linuxº44 º OS/2 ed eComStation. º 46 45 º º 47 46 º AiR-BOOT si avvia anche da CD-ROM. Basta creare il floppy, prendere º -
tags/v1.06r/DOCS/IT/INSTALL.TXT
r12 r29 7 7 º º 8 8 º 1. Inserire un disco vuoto e formattato nel drive A: e avviare il º 9 º programma AIRBS_xx.EXE dall'archivio di AiR-BOOT (dove xx e' la º 10 º abbreviazione della lingua). º 9 º programma MAKEDISK.COM dall'archivio di AiR-BOOT. º 11 10 º º 12 11 º 2. Controllare il setup del BIOS. Deselezionare 'Virus Warning', se tale º -
tags/v1.06r/DOCS/RU/FEATURES.TXT
r23 r29 25 25 º resetting the configuration º 26 26 º - MBR-Protection under Real-Mode º 27 º - Linux Kernel Support (from FAT-16 partitions), Kernel-Commandline and º 28 º automagically, but configurable root-partition º 27 º - IBM OS/2 / eCS LVM Support º 29 28 º º 30 29 ºÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ … … 42 41 º º 43 42 º AiR-BOOT is compatible to LVM, the Logical Volume Manager available for º 44 º OS/2 , eComStation and Linux-variants.º43 º OS/2 and eComStation. º 45 44 º º 46 45 º AiR-BOOT is able to get booted from CD-ROM. Simply generate a floppy disc, º -
tags/v1.06r/DOCS/RU/INSTALL.TXT
r8 r29 7 7 º º 8 8 º 1. Get a blank, formatted disc. Insert this disc into drive A: and start º 9 º the file AIRBS_xx.EXE from the AiR-BOOT archive (where xx is your º 10 º language code). º 9 º the file MAKEDISK.COM from the AiR-BOOT archive. º 11 10 º º 12 11 º 2. Check your CMOS-Setup. Deselect 'Virus Warning', if this option is º -
tags/v1.06r/DOCS/SW/FEATURES.TXT
r23 r29 26 26 º utan att terstlla konfigurationen º 27 27 º - MBR-Skydd i Real-Lge º 28 º - Linux Krna Std (frn FAT-16 partitioner), Krna-Kommandorad och º 29 º automatisk, med konfigureringsbar root-partition º 28 º - IBM OS/2 / eCS LVM Support º 30 29 º º 31 30 ºÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ … … 43 42 º º 44 43 º AiR-BOOT r kompatibel med LVM, Logical Volume Manager som r tillgnglig º 45 º fr OS/2 , eComStation och Linux-varianter.º44 º fr OS/2 och eComStation. º 46 45 º º 47 46 º AiR-BOOT kan bootas frn CD-ROM. Skapa helt enkelt en diskett, fnga dess º -
tags/v1.06r/DOCS/SW/INSTALL.TXT
r12 r29 7 7 º º 8 8 º 1. Ta en tom, formaterad diskett. Stoppa in den i enhet A: och starta º 9 º filen AIRBS_xx.EXE frn AiR-BOOT arkivet (dr xx r din landskod).º9 º filen MAKEDISK.COM frn AiR-BOOT arkivet. º 10 10 º º 11 11 º 2. Kontrollera din CMOS-Setup. Avaktivera 'Virus Varning', om den optionen º -
tags/v1.06r/TOOLS/TEST/TESTVIR!.ASM
r28 r29 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 1 18 2 ; Bad Test-Virus (c) Martin Kiewitz- For test of AiR-BOOT ANTIVIR19 ; Bad Test-Virus ;-) - For test of AiR-BOOT ANTIVIR 3 20 4 21 JUMPS -
trunk/BOOTCODE/AIR-BOOT.ASM
r26 r29 1 2 ; Disclaimer: 3 ;============= 4 ; The sourcecode is released via www.netlabs.org CVS *ONLY*. 5 ; You MUST NOT upload it to other servers nor republish it in any way. 6 ; The sourcecode is still COPYRIGHTED and NOT RELEASED UNDER GPL. 7 ; It's (c) Copyright 1998-2003 by Martin Kiewitz. 8 ; You may recompile the source and do *PRIVATE* modifications, but please keep 9 ; in mind that modifying this code needs at least *some* assembly skill. If 10 ; you mess up your system, because you needed to hack your way through, don't 11 ; blame me. Releasing a customized version of AiR-BOOT, selling it in any form 12 ; or reusing parts of this source is *PROHIBITED*. Ask me, if you have some 13 ; idea about new functionality *before* developing the code, otherwise I will 14 ; definitely reject it. Also please accept, that I have some basic design 15 ; rules on AiR-BOOT and I will maintain them at all costs, so this won't get 16 ; another GRUB. 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 17 18 18 19 ;--------------------------------------------------------------------------- 19 20 ; AiR-BOOT / MAIN-CODE 20 21 ;--------------------------------------------------------------------------- 22 ; 21 23 22 24 ; If ReleaseCode is not defined, it will produce debug-able code... 23 25 ReleaseCode equ -1 24 ; ReleaseCommercial equ -125 26 26 27 JUMPS … … 29 30 30 31 IFDEF ReleaseCode 31 ExecBaseSegequ 00000h32 ExecBasePtrequ 07C00h ; BIOS starts our MBR at 0:7C0032 StartBaseSeg equ 00000h 33 StartBasePtr equ 07C00h ; BIOS starts our MBR at 0:7C00 33 34 ELSE 34 ExecBaseSeg equ 03567h ; Adjust to DOS segment35 ExecBasePtrequ 00100h35 StartBaseSeg equ 03A98h ; Adjust to DOS segment 36 StartBasePtr equ 00100h 36 37 ENDIF 37 38 BootBaseSeg equ 8000h … … 46 47 VideoIO_FXSegment equ 0A000h 47 48 48 Include ..\ ..\..\JimiHelp\asm.inc\stdmacro.inc49 Include ..\INSTALL\GLOBAL.ASM\airboot.inc49 Include ..\INCLUDE\asm.inc 50 ;Include ..\INCLUDE\DOS\airboot.inc 50 51 51 52 TextChar_WinLineRight equ 0C4h ; 'Ä' … … 75 76 LocBR_Magic equ 510 76 77 78 ; Offsets for LVM Information Sector 79 LocLVM_SignatureStart equ 0 80 LocLVM_SignatureByte0 equ 2 81 LocLVM_CRC equ 8 ; CRC is a DWORD 82 LocLVM_MaxEntries equ 4 83 LocLVM_StartOfEntries equ 60 ; (contains maximum of 4 entries) 84 LocLVM_LenOfEntry equ 60 85 LocLVM_VolumeID equ 0 ; is DWORD 86 LocLVM_PartitionID equ 4 ; is DWORD 87 LocLVM_PartitionSize equ 8 ; is DWORD 88 LocLVM_PartitionStart equ 12 ; is DWORD 89 LocLVM_VolumeLetter equ 18 ; is BYTE (Letter C-Z or 0) 90 LocLVM_VolumeName equ 20 ; 20 bytes 91 LocLVM_PartitionName equ 40 ; 20 bytes 92 77 93 ; Offsets for IPT (Internal Partition Table) 78 94 LocIPT_MaxPartitions equ 30 ; Maximum LocIPT_MaxPartitions … … 105 121 FileSysFlags_FAT32 equ 00010000b ; FAT 32 specific name getting 106 122 FileSysFlags_NoName equ 00100000b ; No Name - use PartitionName 123 FileSysFlags_DriveLetter equ 01000000b ; DriveLetter Feature possible 107 124 108 125 Keys_Up equ 48h … … 139 156 org 00000h ; Sector 1 140 157 ;--------------------------------------------------------------------------- 141 AiR_BOOT: cli 158 AiR_BOOT: cli ; Some M$ operating systems need a CLI 159 ; here otherwise they will go beserk 160 ; and will do funny things during 161 ; boot phase, it's laughable! 142 162 db 0EBh ; JMP-Short -> MBR_Start 143 db 'AiRBOOT', 02h, 03h, 20h, 03h, 01h, 01h, TXT_LanguageID163 db 'AiRBOOT', 13h, 03h, 20h, 06h, 01h, 06h, TXT_LanguageID 144 164 ; ID String, Date and Version Number, U for US version 145 165 db 1 ; Total Sectors Count, … … 148 168 149 169 MBR_Start: sti ; This opcode is dedicated to: 150 cld ; =FUCK MICROSOFT=151 mov ax, ExecBaseSeg ; fuck every M$-coder,152 mov ds, ax ; fuck every M$-executive,153 mov si, ExecBasePtr ; fuck every M$-supporter and154 mov ax, BootBaseSeg ; fuck everyone that is working for155 mov es, ax ; that evil business. k?thx170 cld ; =MICROSOFT JUMP DEPARTMENT= 171 mov ax, StartBaseSeg 172 mov ds, ax 173 mov si, StartBasePtr 174 mov ax, BootBaseSeg 175 mov es, ax 156 176 mov di, BootBasePtr 157 177 IFDEF ReleaseCode … … 171 191 mov dx, 500 172 192 int 15h ; Wait to display the whole screen :] 173 MBR_ FuckUpSys:cli174 jmp MBR_ FuckUpSys193 MBR_HaltSys: cli 194 jmp MBR_HaltSys 175 195 176 196 db 'FUCKMS:>' 177 jmp MBR_Start ; WE HAVE TO DO THIS CAUSE MICKEYSOFT 178 ; This needs to be at THIS fixed 179 ; location, don't modify it. 197 jmp MBR_Start ; We jump here, because I needed to 198 ; insert a CLI on start and did not 199 ; want to change AiR-BOOT detection 200 ; because of Microsoft inventions... 180 201 181 202 db 'LOAD ERROR!', 0 … … 250 271 int 13h 251 272 jnc MBR_ConfigCopy_NoError 273 MBR_ConfigCopy_LoadError: 252 274 call MBR_LoadError ; Will Abort BootUp 253 275 MBR_ConfigCopy_NoError: … … 256 278 mov cx, 0002h 257 279 mov ah, 02h 258 mov al, ds:[ TotalSectorsUsedPtr]280 mov al, ds:[10h] 259 281 int 13h 260 282 jnc MBR_RealStart_NoError 261 call MBR_LoadError ; Will Abort BootUp 283 jmp MBR_ConfigCopy_LoadError 284 ; [v1.05+] 285 ; Signature for IBM's LVM to detect our "powerful" features ;) 286 db 'I13X' 262 287 MBR_RealStart_NoError: 263 288 ; Now Check Code with CheckSum 264 289 mov si, offset FurtherMoreLoad 265 movzx cx, bptr ds:[ TotalSectorsUsedPtr]290 movzx cx, bptr ds:[10h] 266 291 xor bx, bx 267 292 MBR_RealStart_CheckCodeLoop: … … 291 316 ; 10h -> FAT32 - Name Getting Scheme 292 317 ; 20h -> No Name To Get (use Partition Name) 318 ; 40h -> 'L' flag possible 293 319 db 'AiRSYS-TABLE' 294 FileSysIDs: db 01h, 11h,01h, 04h,014h,01h, 06h,016h, 01h, 0Eh,00Eh,01h295 db 07h, 17h, 01h, 08h,017h,21h, 35h,035h,00h,0EBh,0EBh,01h296 db 09h, 19h,11h, 0Bh,01Bh,11h, 0Ch,01Ch,11h, 01h,001h,01h320 FileSysIDs: db 01h, 11h,01h, 04h,014h,01h, 06h,016h,41h, 0Eh,00Eh,01h 321 db 07h, 17h,41h, 08h,017h,21h, 35h,035h,20h,0FCh,017h,41h 322 db 09h, 19h,11h, 0Bh,01Bh,11h, 0Ch,01Ch,11h,0EBh,0EBh,01h 297 323 db 63h, 63h,21h, 81h,081h,21h, 83h,083h,21h, 40h,040h,21h 298 324 db 0A5h,0A5h,21h,0A6h,0A6h,21h, 82h,082h,20h,0A7h,0A7h,21h … … 306 332 307 333 FileSysNames: db 'FAT12 ', 'FAT16 ', 'FAT16Big', 'FAT16Big' 308 db 'HPFS ', 'NTFS ', 'LVM-Data', ' BeOS'309 db 'FAT32 ', 'FAT32 ', 'FAT32 ', ' 334 db 'HPFS ', 'NTFS ', 'LVM-Data', 'JFS ' 335 db 'FAT32 ', 'FAT32 ', 'FAT32 ', 'BeOS ' 310 336 db 'Unix ', 'Minix ', 'Linux ', 'Venix ' ; x row ;) 311 337 db 'BSD/386 ', 'OpenBSD ', 'LinuxSwp', 'NeXTSTEP' … … 331 357 call AFTERCRAP_Main 332 358 333 ; Now get FAT16-Linux Kernel Partition, If requested 334 cmp [CFG_LinuxKrnlPartition], 0FFh 335 je MBR_Main_NoLinuxKrnlPartition 336 call LINUX_InitFAT16access 337 MBR_Main_NoLinuxKrnlPartition: 359 ; [Linux support removed since v1.02] 360 ; ; Now get FAT16-Linux Kernel Partition, If requested 361 ; cmp [CFG_LinuxKrnlPartition], 0FFh 362 ; je MBR_Main_NoLinuxKrnlPartition 363 ; call LINUX_InitFAT16access 364 ; MBR_Main_NoLinuxKrnlPartition: 338 365 339 366 ; SetUp PartitionPointers for BootMenu (filter non-bootable) … … 394 421 395 422 IFNDEF ReleaseCode 423 ; Debug Code to terminate DOS .COM program - used for 424 ; testing AiR-BOOT 425 int 3 396 426 mov ax, 6200h 397 427 int 21h … … 416 446 Include SETUP\MAiN.ASM ; The whole AiR-BOOT SETUP 417 447 Include SPECiAL\ViRUS.asm ; Virus Detection / Anti-Virus 418 Include SPECiAL\FAT16.asm ; FAT-16 Support 419 Include SPECiAL\LINUX.asm ; Linux Kernel Support 420 Include SPECiAL\F00K\BILLSUXX.asm ; Extended Partition - Micro$haft-Hack 448 ; [Linux support removed since v1.02] 449 ;Include SPECiAL\FAT16.asm ; FAT-16 Support 450 ;Include SPECiAL\LINUX.asm ; Linux Kernel Support 451 Include SPECiAL\F00K\BILLSUXX.asm ; Extended Partition - Microsoft-Hack 421 452 Include SPECiAL\SOUND.asm ; Sound 422 453 Include SPECiAL\APM.asm ; Power Managment Support 423 454 Include SPECiAL\FX.asm ; l33t Cooper-Bars/Scrolling <bg> 455 Include SPECiAL\LVM.asm ; LVM-specific code 424 456 IFDEF TXT_IncludeCyrillic 425 457 Include SPECiAL\CHARSET.asm ; Charset Support (e.g. Cyrillic) … … 441 473 Configuration: 442 474 db 'AiRCFG-TABLE' 443 db 01h, 00h, 'U' ; "Compressed" ID String 475 db 01h, 02h, 'U' ; "Compressed" ID String 476 ; This is still version 1.02, because nothing got 477 ; changed... 444 478 445 479 CFG_LastTimeEditLow dw 0 ; Last Time Edited Stamp (will incr every setup) … … 504 538 CFG_PartAutomatic db 0 ; Partition-No for automatic booting 505 539 CFG_ForceLBAUsage db 0 ; LBA-BIOS-API forced on any HDD I/O 540 CFG_IgnoreLVM db 0 ; Ignores any LVM-Information 506 541 507 542 ; VIR variables are for the AiR-BOOT Anti Virus Code … … 595 630 ; This space actually gets initialized in PreCrap to NUL (till EndOfVariables) 596 631 BeginOfVariables: 632 PartitionSector db 512 dup (?) ; Temporary Sector for Partition 633 LVMSector: db 512 dup (?) ; Temporary Sector for LVM 597 634 TmpSector: db 512 dup (?) ; Temporary Sector 598 635 TmpSector2: … … 606 643 PartitionPointerCount db ? ; Count of total Partition Pointers 607 644 PartitionXref db 30 dup (?) ; X-Reference Table 608 609 TotalHarddiscs db ? ; Total harddrives (by POST) 610 NewPartitions db ? ; Freshly found partitions 645 PartitionVolumeLetters db 30 dup (?) ; Volume-Letters 646 ; 0 - no LVM support 647 ; 1 - LVM support, but no letter 648 ; 'C'-'Z' - assigned drive letter 649 650 TotalHarddiscs db ? ; Total harddrives (by POST) 651 LBASwitchTable db 128 dup (?) ; Bit 25-18 for CHS/LBA Switching 652 NewPartitions db ? ; Freshly found partitions 611 653 612 654 VideoIO_Segment dw ? ; Segment for Video I/O … … 621 663 ; (for detailed error message) 622 664 623 GotLinux db ? ; 1-Linux found 665 ; [Linux support removed since v1.02] 666 ;GotLinux db ? ; 1-Linux found 624 667 625 668 Menu_EntrySelected db ? ; Which partition we boot this time... … … 652 695 SETUP_VerifyPwd db 17 dup (?) 653 696 StartSoundPlayed db ? 697 ChangePartNameSave db ? 654 698 655 699 FX_UseCount dw ? … … 664 708 FX_CooperBarsTimer dw ? 665 709 666 FAT16_Drive db ? ; FAT-16: Drive of FAT16-partition 667 FAT16_AbsPartitionBegin dd ? ; FAT-16: LBA Begin of Partition 668 FAT16_SecsPerCluster db ? ; FAT-16: Sectors Per Cluster 669 FAT16_NumOfRootEntries dw ? ; FAT-16: Number of Root Entries 670 FAT16_SecsPerFAT dw ? ; FAT-16: Sectors Per FAT 671 FAT16_AbsFATBegin dd ? ; FAT-16: LBA Begin of FAT 672 FAT16_AbsRootBegin dd ? ; FAT-16: LBA Begin of Root 673 FAT16_AbsClusterBegin dd ? ; FAT-16: LBA Begin of Clusters 674 FAT16_FATCacheSector db ? ; FAT-16: FAT-Sector No in Cache 675 FAT16_FATCache db 512 dup (?) ; FAT-16: FAT-Area Cache 676 677 LINUX_KernelEntries db 680 dup (?) ; 34*20 -> Space for Kernel-Entries 678 LINUX_KernelNo db ? ; Total of Kernels in KernelEntries 679 LINUX_KernelSizeTable db 120 dup (?) ; Size-Table (6 bytes per kernel) 710 ; [Linux support removed since v1.02] 711 ;FAT16_Drive db ? ; FAT-16: Drive of FAT16-partition 712 ;FAT16_AbsPartitionBegin dd ? ; FAT-16: LBA Begin of Partition 713 ;FAT16_SecsPerCluster db ? ; FAT-16: Sectors Per Cluster 714 ;FAT16_NumOfRootEntries dw ? ; FAT-16: Number of Root Entries 715 ;FAT16_SecsPerFAT dw ? ; FAT-16: Sectors Per FAT 716 ;FAT16_AbsFATBegin dd ? ; FAT-16: LBA Begin of FAT 717 ;FAT16_AbsRootBegin dd ? ; FAT-16: LBA Begin of Root 718 ;FAT16_AbsClusterBegin dd ? ; FAT-16: LBA Begin of Clusters 719 ;FAT16_FATCacheSector db ? ; FAT-16: FAT-Sector No in Cache 720 ;FAT16_FATCache db 512 dup (?) ; FAT-16: FAT-Area Cache 721 ; 722 ;LINUX_KernelEntries db 680 dup (?) ; 34*20 -> Space for Kernel-Entries 723 ;LINUX_KernelNo db ? ; Total of Kernels in KernelEntries 724 ;LINUX_KernelSizeTable db 120 dup (?) ; Size-Table (6 bytes per kernel) 680 725 EndOfVariables: 681 726 727 ; Dynamically Generated Tables - do not need to get initialized with NUL 682 728 FX_CooperColors db 672 dup (?) ; 7 cooper bars*96 - runtime calculated 683 729 FX_CooperState: db 7 dup (?) … … 685 731 FX_CooperPos: dw 7 dup (?) 686 732 CharsetTempBuffer db 4096 dup (?) ; Uninitialized Charset buffer 733 LVM_CRCTable: dd 256 dup (?) ; LVM-CRC (->SPECiAL\LVM.asm) 687 734 688 735 code_seg ends -
trunk/BOOTCODE/MBR-PROT/MBR_PROT.ASM
r23 r29 1 2 ; Disclaimer:3 ; =============4 ; The sourcecode is released via www.netlabs.org CVS *ONLY*.5 ; You MUST NOT upload it to other servers nor republish it in any way.6 ; The sourcecode is still COPYRIGHTED and NOT RELEASED UNDER GPL.7 ; It's (c) Copyright 1998-2003 by Martin Kiewitz.8 ; You may recompile the source and do *PRIVATE* modifications, but please keep9 ; in mind that modifying this code needs at least *some* assembly skill. If10 ; you mess up your system, because you needed to hack your way through, don't11 ; blame me. Releasing a customized version of AiR-BOOT, selling it in any form12 ; or reusing parts of this source is *PROHIBITED*. Ask me, if you have some13 ; idea about new functionality *before* developing the code, otherwise I will14 ; definitely reject it. Also please accept, that I have some basic design15 ; rules on AiR-BOOT and I will maintain them at all costs, so this won't get16 ; another GRUB.17 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 18 18 ;--------------------------------------------------------------------------- 19 19 ; AiR-BOOT SETUP / GENERIC & GENERAL SETUP ROUTINES … … 151 151 db '³ you have to deactivate MBR PROTECTION in AiR-BOOT ³' 152 152 db '³ or contact your supervisor. ³' 153 MBRP_Line3: db 'ÔÍÍÍÍŽAiR-BOOT (c) Copyright by Martin Kiewitz ''99ÃÍÍÍŸ' 153 MBRP_Line3: db 'ÔÍÍÍŽAiR-BOOT (c) Copyright by M. Kiewitz 1999-2009ÃÍÍŸ' 154 155 org 1023 156 db 0 154 157 155 158 code_seg EndS -
trunk/BOOTCODE/REGULAR/BOOTMENU.ASM
r23 r29 1 2 ; Disclaimer:3 ; =============4 ; The sourcecode is released via www.netlabs.org CVS *ONLY*.5 ; You MUST NOT upload it to other servers nor republish it in any way.6 ; The sourcecode is still COPYRIGHTED and NOT RELEASED UNDER GPL.7 ; It's (c) Copyright 1998-2003 by Martin Kiewitz.8 ; You may recompile the source and do *PRIVATE* modifications, but please keep9 ; in mind that modifying this code needs at least *some* assembly skill. If10 ; you mess up your system, because you needed to hack your way through, don't11 ; blame me. Releasing a customized version of AiR-BOOT, selling it in any form12 ; or reusing parts of this source is *PROHIBITED*. Ask me, if you have some13 ; idea about new functionality *before* developing the code, otherwise I will14 ; definitely reject it. Also please accept, that I have some basic design15 ; rules on AiR-BOOT and I will maintain them at all costs, so this won't get16 ; another GRUB.17 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 18 18 ;--------------------------------------------------------------------------- 19 19 ; AiR-BOOT / BOOT-MENU … … 185 185 call VideoIO_Color 186 186 187 IFDEF ReleaseCommercial188 mov si, offset RegisteredTo189 call GetLenOfString190 mov dx, 144Eh191 sub dl, cl192 mov cx, dx193 call VideoIO_Locate194 mov al, TextChar_WinRep4195 call VideoIO_PrintSingleChar196 call VideoIO_Print197 mov al, TextChar_WinRep5198 call VideoIO_PrintSingleChar199 ENDIF200 201 187 ; Additional message how to enter setup 202 188 mov si, offset TXT_BootMenuEnterSetup … … 226 212 call VideoIO_Color 227 213 mov bx, 0101h 228 mov dx, 0 450h214 mov dx, 0550h 229 215 call VideoIO_MakeWindow ; Information-Window 230 216 xor di, di … … 271 257 mov cx, 0303h 272 258 call VideoIO_Locate 273 IFDEF ReleaseCommercial274 mov si, offset RegisteredTo275 ELSE276 mov si, offset BootEndMsg ; Print End-Message...277 ENDIF259 mov si, offset BootEndMsg ; Print End-Message... 260 call VideoIO_Print 261 mov cx, 0403h 262 call VideoIO_Locate 263 mov si, offset BootEndMsg2 ; Print GPL-Message... 278 264 call VideoIO_Print 279 265 ; ------------------------------------------- 280 266 mov ah, 02h 281 267 mov bh, 00h 282 mov dx, 0 500h ; Sets cursor location to 6, 0268 mov dx, 0600h ; Sets cursor location to 7, 1 283 269 int 10h 284 270 call VideoIO_CursorOn … … 366 352 call VideoIO_Color ; Violet, blue 367 353 mov si, PartPointer 368 mov al, cs:[si+LocIPT_Drive]354 mov al, [si+LocIPT_Drive] 369 355 sub al, 7Fh ; Will only display numbers up to 99, 370 356 call VideoIO_PrintByteNumber ; so only showing harddrives... … … 411 397 call VideoIO_Locate 412 398 mov si, PartPointer 413 mov al, cs:[si+LocIPT_SystemID]399 mov al, [si+LocIPT_SystemID] 414 400 call PART_SearchFileSysName 415 401 mov cx, 0C01h … … 498 484 499 485 500 501 486 ; Calculate Menu-Variables for Boot-Menu, these use the filtered Part-Pointers 502 487 BOOTMENU_ResetMenuVars Proc Near Uses dx … … 520 505 mov Menu_TotalParts, dl 521 506 522 ; Now copy the device-name to the ContBIOSbootSeq-IPT entry 523 movzx bx, CFG_ResumeBIOSbootSeq 524 dec bx 525 shl bx, 1 526 mov si, wptr [ContinueBIOSbootTable+bx] 527 mov di, offset BIOScontIPTentry+LocIPT_Name 528 push di 529 mov cx, 11 530 mov al, ' ' 531 rep stosb 532 pop di 533 BMRMV_BootDeviceCopyLoop: 534 lodsb 535 or al, al 536 jz BMRMV_NoResumeBootSeq 537 stosb 538 jmp BMRMV_BootDeviceCopyLoop 539 BMRMV_NoResumeBootSeq: 507 ; Copy device-name to the ContBIOSbootSeq-IPT entry 508 ; Normally this does not need to get done here, but is done for safety 509 ; reasons if e.g. IPT got changed by SETUP, but that setup was discarded. 510 call PART_UpdateResumeBIOSName 540 511 541 512 ; Default-Partition -> Filtered View -> Menu_EntryDefault … … 554 525 mov Menu_EntryAutomatic, dl 555 526 556 ; Okay, now we check if Default/Last Kernel Partition Name is available... 557 ; if so, simply set Menu_EntryDefault/Menu_EntryLast. 558 mov si, offset CFG_LinuxDefaultKernel 559 call LINUX_SearchKernelName ; DL - Filtered Entry No 560 cmp dl, 0FFh 561 je BMRMV_DefaultKernelNF 562 mov Menu_EntryDefault, dl 563 BMRMV_DefaultKernelNF: 564 mov si, offset CFG_LinuxLastKernel 565 call LINUX_SearchKernelName ; DL - Filtered Entry No 566 cmp dl, 0FFh 567 je BMRMV_LastKernelNF 568 mov Menu_EntryLast, dl 569 BMRMV_LastKernelNF: 527 ; [Linux support removed since v1.02] 528 ; ; Okay, now we check if Default/Last Kernel Partition Name is available... 529 ; ; if so, simply set Menu_EntryDefault/Menu_EntryLast. 530 ; mov si, offset CFG_LinuxDefaultKernel 531 ; call LINUX_SearchKernelName ; DL - Filtered Entry No 532 ; cmp dl, 0FFh 533 ; je BMRMV_DefaultKernelNF 534 ; mov Menu_EntryDefault, dl 535 ; BMRMV_DefaultKernelNF: 536 ; mov si, offset CFG_LinuxLastKernel 537 ; call LINUX_SearchKernelName ; DL - Filtered Entry No 538 ; cmp dl, 0FFh 539 ; je BMRMV_LastKernelNF 540 ; mov Menu_EntryLast, dl 541 ; BMRMV_LastKernelNF: 570 542 571 543 ; restlichen Variablen berechnen... … … 609 581 mov dl, Menu_EntrySelected 610 582 call PART_ConvertToStraight ; CFG_PartLast is non-filtered 611 mov di, offset CFG_LinuxLastKernel612 mov cx, 11583 ; mov di, offset CFG_LinuxLastKernel 584 ; mov cx, 11 613 585 cmp dl, 0FDh ; Dont Remember on Floppy/CD-ROM/etc. 614 586 ja BMSVAM_DontRememberBoot 615 je BMSVAM_RememberKernelBoot ; but remember Kernel-Bootings...587 ; je BMSVAM_RememberKernelBoot ; but remember Kernel-Bootings... 616 588 mov CFG_PartLast, dl ; Remember partition in CFG_PartLast 617 mov al, ' '618 rep stosb ; SPACE out CFG_LinuxLastKernel589 ; mov al, ' ' 590 ; rep stosb ; SPACE out CFG_LinuxLastKernel 619 591 BMSVAM_DontRememberBoot: 620 592 ret 621 622 BMSVAM_RememberKernelBoot:623 mov dl, Menu_EntrySelected624 call PART_GetPartitionPointer ; SI - Pointer to Kernel Entry...625 add si, LocIPT_Name626 rep movsb ; Copy KernelName 2 CFG_LinuxLastKernel627 ret593 ; 594 ; BMSVAM_RememberKernelBoot: 595 ; mov dl, Menu_EntrySelected 596 ; call PART_GetPartitionPointer ; SI - Pointer to Kernel Entry... 597 ; add si, LocIPT_Name 598 ; rep movsb ; Copy KernelName 2 CFG_LinuxLastKernel 599 ; ret 628 600 BOOTMENU_SetVarsAfterMenu EndP 629 601 … … 683 655 push ax dx 684 656 call TIMER_GetTicCount 685 cmp dx, wptr cs:[FloppyGetNameTimer+2]657 cmp dx, wptr [FloppyGetNameTimer+2] 686 658 ja BME_ExpiredGetFloppy 687 cmp ax, wptr cs:[FloppyGetNameTimer+0]659 cmp ax, wptr [FloppyGetNameTimer+0] 688 660 jb BME_NoFloppyNameExpired 689 661 BME_ExpiredGetFloppy: … … 825 797 add ax, CFG_TimedDelay 826 798 adc dx, 0 827 mov w ord ptr cs:[TimedTimeOut], ax828 mov w ord ptr cs:[TimedTimeOut+2], dx799 mov wptr [TimedTimeOut], ax 800 mov wptr [TimedTimeOut+2], dx 829 801 ret 830 802 BOOTMENU_ResetTimedBoot EndP … … 835 807 add ax, 36 ; 18*2 -> 2 seconds 836 808 adc dx, 0 837 mov word ptr cs:[FloppyGetNameTimer], ax838 mov word ptr cs:[FloppyGetNameTimer+2], dx809 mov word ptr [FloppyGetNameTimer], ax 810 mov word ptr [FloppyGetNameTimer+2], dx 839 811 ret 840 812 BOOTMENU_ResetGetFloppy EndP -
trunk/BOOTCODE/REGULAR/DRIVEIO.ASM
r26 r29 1 2 ; Disclaimer:3 ; =============4 ; The sourcecode is released via www.netlabs.org CVS *ONLY*.5 ; You MUST NOT upload it to other servers nor republish it in any way.6 ; The sourcecode is still COPYRIGHTED and NOT RELEASED UNDER GPL.7 ; It's (c) Copyright 1998-2003 by Martin Kiewitz.8 ; You may recompile the source and do *PRIVATE* modifications, but please keep9 ; in mind that modifying this code needs at least *some* assembly skill. If10 ; you mess up your system, because you needed to hack your way through, don't11 ; blame me. Releasing a customized version of AiR-BOOT, selling it in any form12 ; or reusing parts of this source is *PROHIBITED*. Ask me, if you have some13 ; idea about new functionality *before* developing the code, otherwise I will14 ; definitely reject it. Also please accept, that I have some basic design15 ; rules on AiR-BOOT and I will maintain them at all costs, so this won't get16 ; another GRUB.17 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 18 18 ;--------------------------------------------------------------------------- 19 19 ; AiR-BOOT / DRIVE I/O 20 20 ;--------------------------------------------------------------------------- 21 21 22 ; Note: Some routines set DS/ES to CS, even if its not needed. 23 ; This was done for SECURITY. So DO NOT remove it. Its there to make 24 ; sure the correct data is loaded/written to/from harddrive. 25 ; 26 ; IF YOU MODIFY ANYTHING IN HERE, YOU CAN EASILY BREAK YOUR HARDDRIVE! 22 ; Note: Some routines set DS/ES to CS or even address via CS, even if its not 23 ; needed. This was done for SECURITY. So DO NOT remove it. 24 ; Its there to make sure the correct data is loaded/written to/from 25 ; harddrive. 26 ; 27 ; IF YOU MODIFY ANYTHING IN HERE, YOU MAY EASILY BREAK YOUR HARDDRIVE! 27 28 28 29 ; Will only load base-configuration, will NOT load IPT nor Hide-Config … … 124 125 ; Internal access (to AiR-BOOT) is always done via INT 13h/CHS. 125 126 127 DriveIO_GetHardDriveCount Proc Near Uses ds si 128 push ds si 129 push 0040h 130 pop ds 131 mov si, 0075h 132 mov dh, ds:[si] ; 40:75 -> POST: Total Harddiscs == DL 133 pop si ds 134 mov TotalHarddiscs, dh 135 ret 136 DriveIO_GetHardDriveCount EndP 137 138 139 ; Fills our LBA-Usage table. It holds the LBA-address, where BIOS/CHS access is 140 ; stopped and BIOS/LBA access is started. 141 ; This is calculated by Sector*Heads. Comparing will get done with Bit 25-10 142 ; on LBA sectors, so we actually divide sector number by 1024. 143 DriveIO_InitLBASwitchTable Proc Near Uses es di 144 mov di, offset LBASwitchTable 145 mov dh, TotalHarddiscs 146 mov dl, 80h 147 DIOILUT_DriveLoop: 148 push dx di 149 mov ah, 08h 150 int 13h ; DISK - GET DRIVE PARAMETERS 151 mov ah, 0FBh ; Assume 255 heads/63 sectors, if error 152 jc DIOILUT_Error 153 and cl, 111111b ; Isolate lower 6 bits of CL -> sector count 154 movzx ax, cl 155 mov bl, dh ; DH -> head count 156 mul bl ; AX = Sectors*Heads 157 shl ah, 1 158 shl ah, 1 ; Shift 2 bits, so we are able to compare to 159 ; bit 16-23 of the LBA address 160 DIOILUT_Error: 161 pop di dx 162 mov bptr ds:[di], ah ; Save that value 163 inc di ; Go to next BYTE 164 inc dl 165 dec dh 166 jnz DIOILUT_DriveLoop 167 ret 168 DriveIO_InitLBASwitchTable EndP 169 170 ; Adjusts BX:AX / CX:DX to meet LVM sector location 171 ; Destroys SI 172 DriveIO_LVMAdjustToInfoSector Proc Near Uses 173 push cx 174 xor ch, ch 175 and cl, 63 ; Isolate lower bits, because upper 176 mov si, 63 ; ones may be used for cylinder 177 sub si, cx 178 pop cx 179 add ax, si 180 adc bx, 0 ; Adjust LBA Sector (BX:AX) 181 or cl, 63 ; Set Sector to 63 182 ret 183 DriveIO_LVMAdjustToInfoSector EndP 184 126 185 Comment *ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 127 186 Routine: Loads partition to ExecBase and checks for validity … … 132 191 Preserve: all registers 133 192 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ* 134 DriveIO_LoadPartition Proc Near Uses ds si 135 int 3 193 DriveIO_LoadPartition Proc Near Uses si 136 194 mov wptr cs:[CurPartition_Location+0], ax 137 195 mov wptr cs:[CurPartition_Location+2], bx 138 196 mov wptr cs:[CurPartition_Location+4], dx 139 197 mov wptr cs:[CurPartition_Location+6], cx ; Saves the location 140 push ExecBaseSeg 141 pop ds 142 mov si, ExecBasePtr ; DS:SI - ExecBase 198 mov si, offset PartitionSector ; DS:SI - ExecBase 143 199 call DriveIO_LoadSector 144 200 clc 145 cmp w ord ptr ds:[si+LocBR_Magic], 0AA55h201 cmp wptr [si+LocBR_Magic], 0AA55h 146 202 je DIOLP_Success 147 203 ; We check, if we are scanning partitions. In that case, if CHS is not 0/0/1 … … 165 221 Preserve: all registers 166 222 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ* 167 DriveIO_SavePartition Proc Near Uses ax bx cx dx dssi223 DriveIO_SavePartition Proc Near Uses ax bx cx dx si 168 224 mov ax, wptr cs:[CurPartition_Location+0] 169 225 mov bx, wptr cs:[CurPartition_Location+2] 170 226 mov dx, wptr cs:[CurPartition_Location+4] 171 227 mov cx, wptr cs:[CurPartition_Location+6] ; Gets prev. saved location 172 push ExecBaseSeg173 pop ds174 mov si, ExecBasePtr ; DS:SI - ExecBase228 mov si, offset PartitionSector ; DS:SI - ExecBase 229 cmp wptr [si+LocBR_Magic], 0AA55h ; Checks for signature, if not found 230 jne DIOSP_SevereError ; we assume a really bad error 175 231 call DriveIO_SaveSector 232 DIOSP_SevereError: 176 233 ret 177 234 DriveIO_SavePartition EndP 178 235 179 ; Lsst DS:SI fr Aufrufer236 ; Keeps DS:SI for caller 180 237 DriveIO_LoadTmpSector Proc Near Uses 181 push cs182 pop ds183 238 mov si, offset TmpSector 184 239 call DriveIO_LoadSector … … 186 241 DriveIO_LoadTmpSector EndP 187 242 188 ; Lsst DS:SI fr Aufrufer243 ; Keeps DS:SI for caller 189 244 DriveIO_SaveTmpSector Proc Near Uses 190 push cs191 pop ds192 245 mov si, offset TmpSector 193 246 call DriveIO_SaveSector 194 247 ret 195 248 DriveIO_SaveTmpSector EndP 249 250 ; Keeps DS:SI for caller, sets carry if valid LVM sector encountered 251 DriveIO_LoadLVMSector Proc Near Uses ax bx cx dx 252 test [CFG_IgnoreLVM], 1 ; We are supposed to ignore LVM, so 253 jnz DIOLLVMS_NoLVMSector ; don't load but declare as bad! 254 mov ax, wptr cs:[CurPartition_Location+0] 255 mov bx, wptr cs:[CurPartition_Location+2] 256 mov dx, wptr cs:[CurPartition_Location+4] 257 mov cx, wptr cs:[CurPartition_Location+6] ; Gets cur. partition location 258 call DriveIO_LVMAdjustToInfoSector 259 mov si, offset LVMSector 260 call DriveIO_LoadSector 261 call LVM_CheckSectorSignature 262 jnc DIOLLVMS_NoLVMSector 263 call LVM_CheckSectorCRC 264 jnc DIOLLVMS_NoLVMSector 265 ret 266 ; This here is called, if an invalid (or no) LVM information sector is found 267 ; It will truncate the first byte of the sector, so all other routines 268 ; will notice it easily by just comparing the first byte. 269 DIOLLVMS_NoLVMSector: 270 mov bptr [si+LocLVM_SignatureStart], 0 271 ret 272 DriveIO_LoadLVMSector EndP 273 274 ; Keeps DS:SI for caller, saves at anytime w/o checks (!) 275 DriveIO_SaveLVMSector Proc Near Uses ax bx cx dx 276 test [CFG_IgnoreLVM], 1 ; We are supposed to ignore LVM, so 277 jnz DIOSLVMS_SevereError ; don't save at anytime (security!) 278 mov ax, wptr cs:[CurPartition_Location+0] 279 mov bx, wptr cs:[CurPartition_Location+2] 280 mov dx, wptr cs:[CurPartition_Location+4] 281 mov cx, wptr cs:[CurPartition_Location+6] ; Gets cur. partition location 282 call LVM_CheckSectorSignature 283 jnc DIOSLVMS_SevereError ; LVM Signature must be there 284 call DriveIO_LVMAdjustToInfoSector 285 mov si, offset LVMSector 286 call DriveIO_SaveSector 287 DIOSLVMS_SevereError: 288 ret 289 DriveIO_SaveLVMSector EndP 196 290 197 291 ; Memory-Block that holds information for LBA-access via INT 13h … … 206 300 ; so users will notice that something is bad with their partition table(s) 207 301 DriveIO_GotLoadError Proc Near 208 test cs:CurIO_Scanning, 1 ; Must be CS:, cause DS!=CS here302 test cs:CurIO_Scanning, 1 ; Must be CS:, cause DS!=CS maybe here 209 303 jnz InScanMode 210 304 jmp MBR_LoadError … … 213 307 push cs 214 308 pop ds 309 call MBR_Teletype 310 mov si, offset BrokenHDD 311 sub dl, 50h ; 80h -> '0' 312 cmp dl, 39h 313 jbe DIOGLE_BelowA 314 add dl, 7 ; 3Ah -> 'A' 315 DIOGLE_BelowA: 316 mov bptr [si+5], dl 215 317 call MBR_Teletype 216 318 jmp MBRLE_Halt … … 227 329 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ* 228 330 DriveIO_LoadSector Proc Near Uses ax bx ds si es di 229 test cs:[CurIO_UseExtension], 1 230 jz DIOLS_UseNormal 231 ; LBA-boundary >16450560 (FB0400h) 232 cmp bx, 00FBh 233 jae DIOLS_UseExtension 234 ; or are we forced do use LBA? 235 test cs:[CFG_ForceLBAUsage], 1 236 jnz DIOLS_UseExtension 331 test cs:[CurIO_UseExtension], 1 332 jz DIOLS_UseNormal 333 ; Are we forced do use LBA via Setting? 334 test cs:[CFG_ForceLBAUsage], 1 335 jnz DIOLS_UseExtension 336 ; Is the drive not a harddrive? 337 cmp dl, 80h 338 jb DIOLS_UseNormal 339 ; Upper 8 bits of LBA-address set? -> Use LBA (maximum boundary is FB0400h) 340 or bh, bh 341 jnz DIOLS_UseExtension 342 ; Compare Switch-Table value to bit 16-23 of LBA-address 343 mov di, dx 344 and di, 007Fh 345 cmp bptr cs:[LBASwitchTable+di], bl 346 jbe DIOLS_UseExtension 237 347 DIOLS_UseNormal: 238 mov di, 3348 mov di, 3 239 349 DIOLS_ErrorLoop: 240 push ds241 pop es242 mov bx, si; ES:BX - Destination243 mov ax, 0201h; Function 2 - Load Sector244 int 13h245 jnc DIOLS_Success246 dec di247 jnz DIOLS_ErrorLoop350 push ds 351 pop es 352 mov bx, si ; ES:BX - Destination 353 mov ax, 0201h ; Function 2 - Load Sector 354 int 13h 355 jnc DIOLS_Success 356 dec di 357 jnz DIOLS_ErrorLoop 248 358 ; Sector load failed... 249 jmp DriveIO_GotLoadError359 jmp DriveIO_GotLoadError 250 360 251 361 DIOLS_UseExtension: … … 260 370 pop ds 261 371 mov si, offset DriveIO_DAP 262 mov ah, 42h 372 mov ah, 42h ; Extended Read 263 373 int 13h 264 374 pop cx … … 281 391 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ* 282 392 DriveIO_SaveSector Proc Near Uses ax bx cx ds si es di 283 test cs:[CurIO_UseExtension], 1 284 jz DIOSS_UseNormal 285 ; LBA-boundary >16450560 (FB0400h) 286 cmp bx, 00FBh 287 jae DIOSS_UseExtension 288 ; or are we forced do use LBA? 289 test cs:[CFG_ForceLBAUsage], 1 290 jnz DIOSS_UseExtension 393 test cs:[CurIO_UseExtension], 1 394 jz DIOSS_UseNormal 395 ; Are we forced do use LBA via Setting? 396 test cs:[CFG_ForceLBAUsage], 1 397 jnz DIOSS_UseExtension 398 ; Is the drive not a harddrive? 399 cmp dl, 80h 400 jb DIOSS_UseNormal 401 ; Upper 8 bits of LBA-address set? -> Use LBA (maximum boundary is FB0400h) 402 or bh, bh 403 jnz DIOSS_UseExtension 404 ; Compare Switch-Table value to bit 16-23 of LBA-address 405 mov di, dx 406 and di, 007Fh 407 cmp bptr cs:[LBASwitchTable+di], bl 408 jbe DIOSS_UseExtension 291 409 DIOSS_UseNormal: 292 mov di, 3410 mov di, 3 293 411 DIOSS_ErrorLoop: 294 push ds295 pop es296 mov bx, si; ES:BX - Destination297 mov ax, 0301h; Function 3 - Write Sector298 int 13h299 jnc DIOSS_Success300 dec di301 jnz DIOSS_ErrorLoop302 call MBR_SaveError412 push ds 413 pop es 414 mov bx, si ; ES:BX - Destination 415 mov ax, 0301h ; Function 3 - Write Sector 416 int 13h 417 jnc DIOSS_Success 418 dec di 419 jnz DIOSS_ErrorLoop 420 call MBR_SaveError 303 421 304 422 DIOSS_UseExtension: -
trunk/BOOTCODE/REGULAR/OTHER.ASM
r23 r29 1 2 ; Disclaimer:3 ; =============4 ; The sourcecode is released via www.netlabs.org CVS *ONLY*.5 ; You MUST NOT upload it to other servers nor republish it in any way.6 ; The sourcecode is still COPYRIGHTED and NOT RELEASED UNDER GPL.7 ; It's (c) Copyright 1998-2003 by Martin Kiewitz.8 ; You may recompile the source and do *PRIVATE* modifications, but please keep9 ; in mind that modifying this code needs at least *some* assembly skill. If10 ; you mess up your system, because you needed to hack your way through, don't11 ; blame me. Releasing a customized version of AiR-BOOT, selling it in any form12 ; or reusing parts of this source is *PROHIBITED*. Ask me, if you have some13 ; idea about new functionality *before* developing the code, otherwise I will14 ; definitely reject it. Also please accept, that I have some basic design15 ; rules on AiR-BOOT and I will maintain them at all costs, so this won't get16 ; another GRUB.17 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 18 18 ;--------------------------------------------------------------------------- 19 19 ; AiR-BOOT / OTHER ROUTINES … … 89 89 ; Calculate Cooper-Bar Tables 90 90 call FX_CalculateTables 91 92 ; Calculate LVM-CRC-Table 93 call LVM_InitCRCTable 94 95 ; Get HardDriveCount 96 call DriveIO_GetHardDriveCount 97 98 ; Calculate CHS/LBA Switch Table 99 call DriveIO_InitLBASwitchTable 91 100 92 101 ; Setup PartitionPointers-Table … … 140 149 int 16h 141 150 mov SETUP_KeysOnEntry, al 151 152 ; Copy device-name to the ContBIOSbootSeq-IPT entry 153 ; We may not do this before PRECRAP_CheckConfiguration, because otherwise 154 ; this check will fail. 155 call PART_UpdateResumeBIOSName 142 156 ret 143 157 PRECRAP_Main EndP -
trunk/BOOTCODE/REGULAR/PARTMAIN.ASM
r23 r29 1 2 ; Disclaimer:3 ; =============4 ; The sourcecode is released via www.netlabs.org CVS *ONLY*.5 ; You MUST NOT upload it to other servers nor republish it in any way.6 ; The sourcecode is still COPYRIGHTED and NOT RELEASED UNDER GPL.7 ; It's (c) Copyright 1998-2003 by Martin Kiewitz.8 ; You may recompile the source and do *PRIVATE* modifications, but please keep9 ; in mind that modifying this code needs at least *some* assembly skill. If10 ; you mess up your system, because you needed to hack your way through, don't11 ; blame me. Releasing a customized version of AiR-BOOT, selling it in any form12 ; or reusing parts of this source is *PROHIBITED*. Ask me, if you have some13 ; idea about new functionality *before* developing the code, otherwise I will14 ; definitely reject it. Also please accept, that I have some basic design15 ; rules on AiR-BOOT and I will maintain them at all costs, so this won't get16 ; another GRUB.17 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 18 18 ;--------------------------------------------------------------------------- 19 19 ; AiR-BOOT / PARTiTiON REGULAR ROUTINES … … 24 24 xor bl, bl 25 25 mov dl, CFG_PartDefault 26 call PART_FixUp PartitionNumber26 call PART_FixUpSelectionNumber 27 27 mov CFG_PartDefault, dl 28 28 mov dl, CFG_PartLast 29 call PART_FixUp PartitionNumber29 call PART_FixUpSelectionNumber 30 30 mov CFG_PartLast, dl 31 31 mov dl, CFG_PartAutomatic 32 call PART_FixUp PartitionNumber32 call PART_FixUpSelectionNumber 33 33 mov CFG_PartAutomatic, dl 34 34 35 ; Fix-Up Linux Kernel Partition - If lost, search for FAT-16 36 mov bl, 06h 37 mov dl, CFG_LinuxKrnlPartition 38 call PART_FixUpPartitionNumber 39 mov CFG_LinuxKrnlPartition, dl 40 41 ; Fix-Up Linux Root Partition - If lost, search for Linux partition (83h) 42 mov bl, 83h 43 mov dl, CFG_LinuxRootPartition 44 call PART_FixUpPartitionNumber 45 mov CFG_LinuxRootPartition, dl 35 ; [Linux support removed since v1.02] 36 ; ; Fix-Up Linux Kernel Partition - If lost, search for FAT-16 37 ; mov bl, 06h 38 ; mov dl, CFG_LinuxKrnlPartition 39 ; call PART_FixUpPartitionNumber 40 ; mov CFG_LinuxKrnlPartition, dl 41 ; 42 ; ; Fix-Up Linux Root Partition - If lost, search for Linux partition (83h) 43 ; mov bl, 83h 44 ; mov dl, CFG_LinuxRootPartition 45 ; call PART_FixUpPartitionNumber 46 ; mov CFG_LinuxRootPartition, dl 46 47 ret 47 48 PART_FixUpDefaultPartitionValues EndP … … 62 63 ; BL - Requested Partition ID 63 64 ; Out: DL - New number of partition (guessed normally ;) 64 PART_FixUpPartitionNumber Proc Near Uses ax cx 65 cmp dl, 0FFh 66 je PFUPN_PartitionDisabled 65 PART_FixUpSelectionNumber Proc Near Uses ax cx 66 cmp dl, 080h 67 je PFUPN_SelectionDisabled 68 ja PFUPN_SpecialSelection 67 69 call PARTSCAN_GetXref ; DL - PartitionNo prev IPT 68 70 cmp dh, 0FFh ; DH -> Partition No in new IPT 69 je PFUPN_PartitionGone 70 PFUPN_PartitionDisabled: 71 ret 72 73 ; Partition is not referenced in New-IPT, so dig for requested partition 74 PFUPN_PartitionGone: 71 je PFUPN_SelectionGone 72 mov dl, dh 73 PFUPN_SelectionDisabled: 74 ret 75 76 PFUPN_SpecialSelection: 77 cmp dl, 0FEh ; Resume-BIOS? 78 ja PFUPN_SpecialSelectionFloppy 79 cmp CFG_ResumeBIOSbootSeq, 0 80 je PFUPN_SelectionGone 81 jmp PFUPN_Found 82 PFUPN_SpecialSelectionFloppy: 83 cmp CFG_IncludeFloppy, 0 84 je PFUPN_SelectionGone 85 jmp PFUPN_Found 86 87 ; Partition is not referenced in New-IPT or Resume-BIOS/Floppy selected, but 88 ; actual media is disabled...so dig for requested partition 89 PFUPN_SelectionGone: 75 90 mov cl, CFG_Partitions 76 91 or cl, cl … … 94 109 PFUPN_BootableSearchLoop: 95 110 call PART_GetPartitionPointer ; Gets SI for partition DL 96 mov al, cs:[si+LocIPT_Flags]111 mov al, ds:[si+LocIPT_Flags] 97 112 and al, Flags_BootAble 98 113 jnz PFUPN_Found … … 106 121 107 122 PFUPN_NothingFound: 108 mov dl, 0 FFh ; Now being Disabled123 mov dl, 080h ; Now being Disabled 109 124 PFUPN_Found: 110 125 ret 111 PART_FixUp PartitionNumber EndP126 PART_FixUpSelectionNumber EndP 112 127 113 128 ; ============================================================================ 114 ; In: CS:SI - IPT-Entry of partition115 ; ExecBaseSeg:Ptr - Actual Boot-Record of partition129 ; In: DS:SI - IPT-Entry of partition 130 ; DS:PartitionSector - Actual Boot-Record of partition 116 131 ; Out: *none* (BootRecordCRD updated) 117 132 PART_UpdateBootRecordCRC Proc Near Uses bx 118 push ds si 119 push ExecBaseSeg 120 pop ds 121 mov si, offset ExecBasePtr 122 mov bx, 4B4Dh ; Magic: 'MK' 123 call MBR_GetCheckOfSector 124 pop si ds 125 mov cs:[si+LocIPT_BootRecordCRC], bx 133 mov si, offset PartitionSector 134 mov bx, 4B4Dh ; Magic: 'MK' 135 call MBR_GetCheckOfSector 136 mov [si+LocIPT_BootRecordCRC], bx 126 137 ret 127 138 PART_UpdateBootRecordCRC EndP 139 140 ; Copies the device-name to the Resume-BIOS IPT entry 141 PART_UpdateResumeBIOSName Proc Near Uses ax bx cx si di 142 movzx bx, CFG_ResumeBIOSbootSeq 143 dec bx 144 shl bx, 1 145 mov si, wptr [ContinueBIOSbootTable+bx] 146 mov di, offset BIOScontIPTentry+LocIPT_Name 147 push di 148 mov cx, 11 149 mov al, ' ' 150 rep stosb 151 pop di 152 PURBN_BootDeviceCopyLoop: 153 lodsb 154 or al, al 155 jz PURBN_NoResumeBootSeq 156 stosb 157 jmp PURBN_BootDeviceCopyLoop 158 PURBN_NoResumeBootSeq: 159 ret 160 PART_UpdateResumeBIOSName EndP 128 161 129 162 ; ============================================================================ … … 166 199 PCMPP_NoResumeBootSeqInclude: 167 200 168 ; Now include all Linux Kernels, if any available... 169 movzx cx, LINUX_KernelNo 170 or cx, cx 171 jz PCMPP_NoLinuxKernels 172 mov ax, offset LINUX_KernelEntries 173 PCMPP_KernelLoop: 174 mov ds:[bx], ax 175 add bx, 2 176 add ax, LocIPT_LenOfIPT 177 dec cx 178 jnz PCMPP_KernelLoop 179 PCMPP_NoLinuxKernels: 201 ; [Linux support removed since v1.02] 202 ; ; Now include all Linux Kernels, if any available... 203 ; movzx cx, LINUX_KernelNo 204 ; or cx, cx 205 ; jz PCMPP_NoLinuxKernels 206 ; mov ax, offset LINUX_KernelEntries 207 ; PCMPP_KernelLoop: 208 ; mov ds:[bx], ax 209 ; add bx, 2 210 ; add ax, LocIPT_LenOfIPT 211 ; dec cx 212 ; jnz PCMPP_KernelLoop 213 ; PCMPP_NoLinuxKernels: 180 214 181 215 movzx cx, CFG_Partitions ; LocIPT_MaxPartitions … … 201 235 ; Gets a pointer to the given partition 202 236 ; In: DL - Number of partition 203 ; Out: SI - Pointer to it (use CS)237 ; Out: SI - Pointer to it 204 238 PART_GetPartitionPointer Proc Near Uses bx 205 239 cmp dl, 0FEh … … 208 242 movzx bx, dl 209 243 shl bx, 1 210 mov si, wptr cs:[PartitionPointers+bx]244 mov si, wptr [PartitionPointers+bx] 211 245 ret 212 246 PGPP_IsBIOSbootSeq: … … 250 284 jb PCTS_IsBIOSbootSeq 251 285 je PCTS_IsFloppy 252 cmp ax, offset LINUX_KernelEntries 253 jae PCTS_IsKernelEntry 286 ; [Linux support removed since v1.02] 287 ; cmp ax, offset LINUX_KernelEntries 288 ; jae PCTS_IsKernelEntry 254 289 sub ax, offset PartitionTable 255 290 mov bl, LocIPT_LenOfIPT … … 257 292 mov dl, al 258 293 ret 259 PCTS_IsKernelEntry: 260 mov dl, 0FDh 261 ret 294 ; [Linux support removed since v1.02] 295 ; PCTS_IsKernelEntry: 296 ; mov dl, 0FDh 297 ; ret 262 298 PCTS_IsBIOSbootSeq: 263 299 mov dl, 0FEh … … 271 307 ; Out: DL - Number of partition in filtered view 272 308 PART_ConvertFromStraight Proc Near Uses es di 309 cmp dl, 0FEh 310 jb PCFS_IsPartition 311 mov ax, offset BIOScontIPTentry 312 je PCFS_DoSearch 313 mov ax, offset FloppyIPTentry 314 jmp PCFS_DoSearch 315 PCFS_IsPartition: 273 316 ; First we get Partition-Offset in AX 274 317 movzx ax, dl … … 276 319 mul bl 277 320 add ax, offset PartitionTable 321 PCFS_DoSearch: 278 322 ; Now search for this offset in our filtered Partition-Pointer-Table 279 323 push cs … … 297 341 ; Destroyed: AX 298 342 PART_GetSizeElementPointer Proc Near Uses bx 299 cmp ax, offset LINUX_KernelEntries 300 jae PGSEP_IsKernelEntry 343 ; [Linux support removed since v1.02] 344 ; cmp ax, offset LINUX_KernelEntries 345 ; jae PGSEP_IsKernelEntry 301 346 mov si, offset PartitionSizeTable 302 347 sub ax, offset PartitionTable 303 jmp PGSEP_Continue 304 PGSEP_IsKernelEntry: 305 mov si, offset LINUX_KernelSizeTable 306 sub ax, offset LINUX_KernelEntries 307 PGSEP_Continue: 348 ; jmp PGSEP_Continue 349 ; [Linux support removed since v1.02] 350 ; PGSEP_IsKernelEntry: 351 ; mov si, offset LINUX_KernelSizeTable 352 ; sub ax, offset LINUX_KernelEntries 353 ; PGSEP_Continue: 308 354 mov bl, LocIPT_LenOfIPT 309 355 div bl ; Divide with IPTlength … … 381 427 ; install MBR Protection, if wanted 382 428 ; Special Boot Support, if needed (OS/2 Extended partitions) 429 ; Copy boot-sector to StartBase 383 430 ; run boot sector... 384 431 PART_StartPartition Proc Near Uses ax dx es di … … 389 436 call PART_ConvertToStraight ; ...we save straight view for later... 390 437 mov BootPartNo, dl 438 ; Straight - FFh -> Floppy boot 439 ; FEh -> BIOS continue (CD-ROM, ZIP, etc.) 391 440 392 441 ; We need straight pointers from now on, so calculate the table... … … 397 446 398 447 push si 399 mov dl, cs:[si+LocIPT_Drive]400 mov dh, cs:[si+LocIPT_SystemID]448 mov dl, [si+LocIPT_Drive] 449 mov dh, [si+LocIPT_SystemID] 401 450 ; Copy Partition-Name to BootingNow area for display purposes 402 451 add si, LocIPT_Name … … 411 460 mov si, offset TXT_BootingNow1 412 461 call MBR_Teletype 413 cmp dh, 0FDh 414 je PSP_IsKernel 462 ; [Linux support removed since v1.02] 463 ; cmp dh, 0FDh 464 ; je PSP_IsKernel 415 465 or dl, dl 416 466 jnz PSP_IsHarddisc … … 420 470 jmp PSP_IsFloppyCDROMetc 421 471 422 PSP_IsKernel: 423 IFDEF ReleaseCode 424 ; Save configuration on HDD boots (save CFG_LinuxLastKernel) 425 call DriveIO_SaveConfiguration 426 ENDIF 427 call MBR_Teletype ; Prints out BootingNow2 including KernelName 428 mov si, offset TXT_BootingNowKernel 429 call MBR_Teletype 430 jmp PSP_IsFloppyCDROMetc 472 ; [Linux support removed since v1.02] 473 ; PSP_IsKernel: 474 ; IFDEF ReleaseCode 475 ; ; Save configuration on HDD boots (save CFG_LinuxLastKernel) 476 ; call DriveIO_SaveConfiguration 477 ; ENDIF 478 ; call MBR_Teletype ; Prints out BootingNow2 including KernelName 479 ; mov si, offset TXT_BootingNowKernel 480 ; call MBR_Teletype 481 ; jmp PSP_IsFloppyCDROMetc 431 482 432 483 PSP_IsHarddisc: … … 440 491 pop si ; restores SI (IPT-pointer) 441 492 442 mov ax, wptr cs:[si+LocIPT_AbsolutePartTable+0]443 mov bx, wptr cs:[si+LocIPT_AbsolutePartTable+2]444 mov cx, wptr cs:[si+LocIPT_LocationPartTable+1]445 mov dh, bptr cs:[si+LocIPT_LocationPartTable+0]446 mov dl, cs:[si+LocIPT_Drive]493 mov ax, wptr [si+LocIPT_AbsolutePartTable+0] 494 mov bx, wptr [si+LocIPT_AbsolutePartTable+2] 495 mov cx, wptr [si+LocIPT_LocationPartTable+1] 496 mov dh, bptr [si+LocIPT_LocationPartTable+0] 497 mov dl, [si+LocIPT_Drive] 447 498 call DriveIO_LoadPartition ; Load Table... 448 499 ; --------------------------------------------------- MODIFY PARTITION TABLE 449 push ExecBaseSeg500 push cs 450 501 pop es 451 mov di, ExecBasePtr 452 add di, 446 ; DS:SI - Erster Partitionseintrag 502 mov di, offset PartitionSector+446 ; ES:DI - First Partitionentry 453 503 454 504 ; Remove all active-flags for safety reasons, primary partition table will … … 464 514 465 515 ; Put the partition-to-be-booted location into registers... 466 mov ax, wptr cs:[si+LocIPT_AbsoluteBegin+0]467 mov bx, wptr cs:[si+LocIPT_AbsoluteBegin+2]468 sub ax, wptr cs:[si+LocIPT_AbsolutePartTable+0]469 sbb bx, wptr cs:[si+LocIPT_AbsolutePartTable+2]516 mov ax, wptr [si+LocIPT_AbsoluteBegin+0] 517 mov bx, wptr [si+LocIPT_AbsoluteBegin+2] 518 sub ax, wptr [si+LocIPT_AbsolutePartTable+0] 519 sbb bx, wptr [si+LocIPT_AbsolutePartTable+2] 470 520 ; BX:AX - absolute position of partition relative to partition table 471 521 ; ...and search for it... … … 478 528 PSP_SearchMismatch: 479 529 add di, LocBRPT_LenOfEntry ; 16 Bytes per Partition-Entry 480 cmp di, 500+ ExecBasePtr530 cmp di, 500+offset PartitionSector 481 531 jb PSP_SearchLoop 482 532 jmp MBR_HaltSystem … … 493 543 ; If yes, set magic bytes 'I13X' at 3000:0 for boot-loader to recognize. 494 544 ; This method is (c) by IBM <g> 495 mov ax, wptr cs:[si+LocIPT_AbsoluteBegin+0]496 mov bx, wptr cs:[si+LocIPT_AbsoluteBegin+2]545 mov ax, wptr [si+LocIPT_AbsoluteBegin+0] 546 mov bx, wptr [si+LocIPT_AbsoluteBegin+2] 497 547 add ax, wptr es:[di+LocBRPT_AbsoluteLength+0] ; Add length to absolute 498 548 adc bx, wptr es:[di+LocBRPT_AbsoluteLength+2] ; begin location … … 515 565 516 566 ; now check, if we need to hide any partition 517 test byte ptr cs:[si+LocIPT_Flags], Flags_HideFeature567 test byte ptr [si+LocIPT_Flags], Flags_HideFeature 518 568 jz PSP_NoHideFeature 519 569 ; --------------------------------------------------------- PARTITION HIDING … … 532 582 mov cl, CFG_Partitions 533 583 PSP_PartitionsHideLoop: 534 mov dl, cs:[di]584 mov dl, es:[di] 535 585 inc di 536 586 cmp dl, 0FFh … … 543 593 ; So something got hidden and we have to remark a primary partition, 544 594 ; if we are booting something non-primary from 1st hdd. 545 cmp bptr ds:[si+LocIPT_Drive], 80h595 cmp bptr [si+LocIPT_Drive], 80h 546 596 ja PSP_HideAdjustPrimaryMark ; When booting any hdd, but 1st 547 mov ax, wptr ds:[si+LocIPT_AbsolutePartTable]548 mov bx, wptr ds:[si+LocIPT_AbsolutePartTable+2]597 mov ax, wptr [si+LocIPT_AbsolutePartTable] 598 mov bx, wptr [si+LocIPT_AbsolutePartTable+2] 549 599 or ax, ax 550 600 jnz PSP_HideAdjustPrimaryMark ; or booting non-primary partition … … 565 615 566 616 PSP_NoHideFeature: 617 ; Check, if we are supposed to ignore LVM altogether... 618 test [CFG_IgnoreLVM], 1 619 jnz PSP_NoLVMReassignment 620 ; --------------------------------------------------------- LVM REASSIGNMENT 621 ; Driveletter must be set for this partition 622 test byte ptr [si+LocIPT_Flags], Flags_DriveLetter 623 jz PSP_NoLVMReassignment 624 movzx bx, BootPartNo ; EntryNumber is straight view 625 mov al, bptr [DriveLetters+bx] 626 sub al, 3Dh ; Convert e.g. 80h -> 'C' 627 cmp al, bptr [PartitionVolumeLetters+bx] 628 je PSP_NoLVMReassignment ; If driveletters match -> no change 629 call LVM_DoLetterReassignment ; Give partition SI letter AL 630 PSP_NoLVMReassignment: 567 631 push si 568 632 ; ------------------------------------------------------- -"PLEASE WAIT..."- … … 584 648 ; -------------------------------------------------- SPECIAL BOOT PROCESSING 585 649 ; Check here, if the Boot shall be done via resume to BIOS... 586 mov al, bptr cs:[si+LocIPT_SystemID]650 mov al, bptr [si+LocIPT_SystemID] 587 651 cmp al, 0FEh ; Via BIOS ? (aka resume BIOS boot sequence) 588 652 je PSP_ResumeBIOSbootSeq 589 cmp al, 0FDh ; Kernel-Booting ? 590 je PSP_KernelBooting 653 ; [Linux support removed since v1.02] 654 ; cmp al, 0FDh ; Kernel-Booting ? 655 ; je PSP_KernelBooting 591 656 jmp PSP_StartNormal 592 657 … … 597 662 dw 0F000h 598 663 599 PSP_KernelBooting: 600 call LINUX_LoadKernel ; DS:SI - Entry Pointer to Kernel 601 db 0EAh ; if return to here -> Reboot 602 dw 0FFF0h 603 dw 0F000h 604 605 ; ================================================================== 606 ; FROM THIS POINT ON, ONLY *SI* REGISTER IS NEEDED TO BE PRESERVED 607 ; ================================================================== 664 ; [Linux support removed since v1.02] 665 ; PSP_KernelBooting: 666 ; call LINUX_LoadKernel ; DS:SI - Entry Pointer to Kernel 667 ; db 0EAh ; if return to here -> Reboot 668 ; dw 0FFF0h 669 ; dw 0F000h 670 671 ; ======================================================================= 672 ; FROM THIS POINT ON, ONLY DS and SI REGISTER IS NEEDED TO BE PRESERVED 673 ; ======================================================================= 608 674 609 675 PSP_StartNormal: 610 mov ax, wptr cs:[si+LocIPT_AbsoluteBegin+0]611 mov bx, wptr cs:[si+LocIPT_AbsoluteBegin+2]612 mov cx, cs:[si+LocIPT_LocationBegin+1]613 mov dh, cs:[si+LocIPT_LocationBegin+0]614 mov dl, cs:[si+LocIPT_Drive]676 mov ax, wptr [si+LocIPT_AbsoluteBegin+0] 677 mov bx, wptr [si+LocIPT_AbsoluteBegin+2] 678 mov cx, [si+LocIPT_LocationBegin+1] 679 mov dh, [si+LocIPT_LocationBegin+0] 680 mov dl, [si+LocIPT_Drive] 615 681 call DriveIO_LoadPartition ; Loads boot-sector... 616 682 617 683 test CFG_DetectVIBR, 1 618 684 jz PSP_NoVIBR 619 test byte ptr cs:[si+LocIPT_Flags], Flags_VIBR_Detection685 test byte ptr [si+LocIPT_Flags], Flags_VIBR_Detection 620 686 jz PSP_NoVIBR 621 687 ; ---------------------------------------------------------- CHECKS FOR VIBR 622 push ds si 623 push ExecBaseSeg 624 pop ds 625 mov si, offset ExecBasePtr 688 push si 689 mov si, offset PartitionSector 626 690 mov bx, 4B4Dh ; Magic: 'MK' 627 691 call MBR_GetCheckOfSector 628 pop si ds629 cmp cs:[si+LocIPT_BootRecordCRC], bx692 pop si 693 cmp [si+LocIPT_BootRecordCRC], bx 630 694 je PSP_NoVIBR 631 mov bx, cs:[si+LocIPT_BootRecordCRC]695 mov bx, [si+LocIPT_BootRecordCRC] 632 696 or bx, bx 633 697 jz PSP_NoVIBR … … 645 709 jz PSP_NoMBRprotect 646 710 ; -------------------------------------------------- INSTALLS MBR-PROTECTION 647 push si ; We needSI later...711 push ds si ; We need DS:SI later... 648 712 ; First subtract 1024 bytes from Base-Memory... 649 713 push ds … … 658 722 ; Now copy in our code (to DX:0)... 659 723 660 mov ax, cs 661 mov ds, ax 662 mov si, offset MBR_Protection ; DS:SI - Source Image 724 mov si, offset MBR_Protection ; DS:SI - Source Image 663 725 mov es, dx 664 xor di, di 726 xor di, di ; ES:DI - Destination 665 727 mov cx, 512 666 rep movsw 728 rep movsw ; Move 1024 bytes... 667 729 668 730 ; Now fill in variables... … … 671 733 mov ds, ax 672 734 mov si, 10h*4 673 xor di, di 735 xor di, di ; INT 10h Vector to MBR Protection 674 736 movsd 675 mov si, 13h*4 737 mov si, 13h*4 ; INT 13h Vector to MBR Protection 676 738 movsd 677 mov al, CFG_IgnoreWriteToMBR 739 mov al, CFG_IgnoreWriteToMBR ; Option to MBR Protection 678 740 stosb 679 741 … … 683 745 mov ax, 9 684 746 mov ds:[si], ax 685 mov ds:[si+2], dx 747 mov ds:[si+2], dx ; Vector hardcoded at DS:0009 686 748 ; MBR-Protection now active :) 687 pop si ; RestoreSI749 pop si ds ; Restore DS:SI 688 750 689 751 ; ------------------------------------------------ SPECIAL PARTITION SUPPORT 690 752 ; needed by OS/2 Warp / eComStation 691 753 PSP_NoMBRprotect: 692 cmp bptr cs:[si+LocIPT_SystemID], 08; I hate Microsuck NTFS check754 cmp bptr [si+LocIPT_SystemID], 08 ; I hate Microsuck NTFS check 693 755 je PSP_NoSpecialSupport 694 756 695 push ExecBaseSeg 696 pop es 697 mov di, ExecBasePtr ; ES:DI - Actual Boot-Record 757 mov di, offset PartitionSector ; ES:DI - Actual Boot-Record 698 758 ; Special Support Detection 699 759 mov ax, wptr es:[di+24] … … 707 767 jne PSP_NoSpecialSupport 708 768 ; Special Support needed 709 mov al, bptr cs:[si+LocIPT_Drive]769 mov al, bptr [si+LocIPT_Drive] 710 770 mov bptr es:[di+36], al ; Write Actual Drive-Letter 711 mov ax, cs:[si+LocIPT_AbsoluteBegin]771 mov ax, [si+LocIPT_AbsoluteBegin] 712 772 mov wptr es:[di+28], ax ; Fixing Hidden Sectors count 713 mov ax, cs:[si+LocIPT_AbsoluteBegin+2]773 mov ax, [si+LocIPT_AbsoluteBegin+2] 714 774 mov wptr es:[di+30], ax ; Done by OS/2 BootMan as well... 715 775 716 776 ; ------------------------------------------------ LOGICAL PARTITION SUPPORT 717 777 PSP_NoSpecialSupport: 718 test byte ptr cs:[si+LocIPT_Flags], Flags_DriveLetter778 test byte ptr [si+LocIPT_Flags], Flags_DriveLetter 719 779 jz PSP_NoLogicalSupport 720 780 721 781 movzx bx, BootPartNo ; EntryNumber is straight view 722 mov al, bptr cs:[DriveLetters+bx]782 mov al, bptr [DriveLetters+bx] 723 783 mov bptr es:[di+37], al ; Write Drive Letter (OS/2 only) 724 784 785 ; -------------------------------------------- COPY BOOT-RECORD TO STARTBASE 786 PSP_NoLogicalSupport: 787 push si 788 mov ax, StartBaseSeg 789 mov es, ax 790 mov cx, 256 791 mov si, offset PartitionSector 792 mov di, StartBasePtr 793 rep movsw 794 pop si 725 795 ; ---------------------------------------------------- NOW START BOOT-RECORD 726 PSP_NoLogicalSupport:727 796 xor ax, ax 728 797 xor bx, bx … … 732 801 xor dh, dh ; Drive supported by BIOS 733 802 mov dl, cs:[si+LocIPT_Drive] ; Drive Physical No 734 db 0EAh ; JUMP TO Entry Point...Bye Bye 735 dw ExecBasePtr 736 dw ExecBaseSeg 803 IFDEF ReleaseCode 804 db 0EAh ; JUMP TO Entry Point...Bye Bye 805 dw StartBasePtr 806 dw StartBaseSeg 807 ENDIF 737 808 PART_StartPartition EndP 738 809 … … 740 811 ; In: DL - Partition to hide 741 812 ; Destroyed: None 742 PART_HidePartition Proc Near Uses ax bx cx dx si esdi813 PART_HidePartition Proc Near Uses ax bx cx dx si di 743 814 call PART_GetPartitionPointer ; Pointer to partition (DL) -> SI 744 815 745 816 ; First load the partition table of that partition... 746 mov ax, wptr cs:[si+LocIPT_AbsolutePartTable+0]747 mov bx, wptr cs:[si+LocIPT_AbsolutePartTable+2]748 mov cx, wptr cs:[si+LocIPT_LocationPartTable+1]749 mov dh, bptr cs:[si+LocIPT_LocationPartTable+0]750 mov dl, cs:[si+LocIPT_Drive]817 mov ax, wptr [si+LocIPT_AbsolutePartTable+0] 818 mov bx, wptr [si+LocIPT_AbsolutePartTable+2] 819 mov cx, wptr [si+LocIPT_LocationPartTable+1] 820 mov dh, bptr [si+LocIPT_LocationPartTable+0] 821 mov dl, [si+LocIPT_Drive] 751 822 call DriveIO_LoadPartition 752 823 ; Partition-Table now LOADED 753 push ExecBaseSeg 754 pop es 755 mov di, ExecBasePtr 756 add di, 446 ; DS:SI - 1st partitionentry... 824 mov di, offset PartitionSector+446 ; ES:DI - 1st partitionentry... 757 825 758 826 ; Put our partition's location into registers... 759 mov ax, wptr cs:[si+LocIPT_AbsoluteBegin+0]760 mov bx, wptr cs:[si+LocIPT_AbsoluteBegin+2]761 sub ax, wptr cs:[si+LocIPT_AbsolutePartTable+0]762 sbb bx, wptr cs:[si+LocIPT_AbsolutePartTable+2]827 mov ax, wptr [si+LocIPT_AbsoluteBegin+0] 828 mov bx, wptr [si+LocIPT_AbsoluteBegin+2] 829 sub ax, wptr [si+LocIPT_AbsolutePartTable+0] 830 sbb bx, wptr [si+LocIPT_AbsolutePartTable+2] 763 831 ; BX:AX - absolute position of partition relative to partition table 764 832 ; ...and search for it... … … 771 839 PHP_SearchMismatch: 772 840 add di, LocBRPT_LenOfEntry ; 16 Bytes per partition entry 773 cmp di, 500+ ExecBasePtr841 cmp di, 500+offset PartitionSector 774 842 jb PHP_SearchLoop 775 843 jmp MBR_HaltSystem ; not found, something is wrong here … … 792 860 ; *not* the BIOS. This one *could* cause havoc to some systems, but I can't 793 861 ; do anything else. 794 ; =In this routine DS may not be equal CS= 795 PART_MarkFirstGoodPrimary Proc Near Uses ax si es di 796 push ExecBaseSeg 797 pop es 798 mov di, ExecBasePtr 799 add di, 446 ; DS:SI - First Partition-Entry 862 PART_MarkFirstGoodPrimary Proc Near Uses ax si di 863 mov di, offset PartitionSector+446 ; DS:SI - 1st partitionentry 800 864 ; First action to do: Remove the active flag from every partition 801 865 push di … … 827 891 PMPP_Search1NoHit: 828 892 add di, LocBRPT_LenOfEntry ; 16 Bytes per Partition-Entry 829 cmp di, 500+ ExecBasePtr893 cmp di, 500+offset PartitionSector 830 894 jb PMPP_Search1Loop 831 895 832 mov di, ExecBasePtr 833 add di, 446 ; DS:SI - First Partition-Entry 896 mov di, offset PartitionSector+446 ; DS:SI - 1st Partition-Entry 834 897 ; Second Search, hit on anything that is not an extended partition 835 898 ; (05 or 0Fh) … … 844 907 PMPP_Search2NoHit: 845 908 add di, LocBRPT_LenOfEntry ; 16 Bytes per Partition-Entry 846 cmp di, 500+ ExecBasePtr909 cmp di, 500+offset PartitionSector 847 910 jb PMPP_Search2Loop 848 911 jmp PMPP_SearchFailed … … 859 922 ; SI - Pointer to Name (8char) 860 923 ; Destroyed: *none* 861 PART_SearchFileSysName Proc Near Uses dsbx dx924 PART_SearchFileSysName Proc Near Uses bx dx 862 925 movzx bx, al 863 push cs864 pop ds865 926 mov si, offset FileSysIDs 866 927 PSFSN_SearchLoop: … … 892 953 ; In: AL - FileSysID 893 954 ; Out: AL - Hidden File-System-ID 894 PART_SearchFileSysHiddenID Proc Near Uses dsbx955 PART_SearchFileSysHiddenID Proc Near Uses bx 895 956 movzx bx, al 896 push cs897 pop ds898 957 mov si, offset FileSysIDs 899 958 PSFSHI_SearchLoop: -
trunk/BOOTCODE/REGULAR/PARTSCAN.ASM
r26 r29 1 2 ; Disclaimer:3 ; =============4 ; The sourcecode is released via www.netlabs.org CVS *ONLY*.5 ; You MUST NOT upload it to other servers nor republish it in any way.6 ; The sourcecode is still COPYRIGHTED and NOT RELEASED UNDER GPL.7 ; It's (c) Copyright 1998-2003 by Martin Kiewitz.8 ; You may recompile the source and do *PRIVATE* modifications, but please keep9 ; in mind that modifying this code needs at least *some* assembly skill. If10 ; you mess up your system, because you needed to hack your way through, don't11 ; blame me. Releasing a customized version of AiR-BOOT, selling it in any form12 ; or reusing parts of this source is *PROHIBITED*. Ask me, if you have some13 ; idea about new functionality *before* developing the code, otherwise I will14 ; definitely reject it. Also please accept, that I have some basic design15 ; rules on AiR-BOOT and I will maintain them at all costs, so this won't get16 ; another GRUB.17 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 18 18 ;--------------------------------------------------------------------------- 19 19 ; AiR-BOOT / PARTiTiON SCANNING 20 20 ;--------------------------------------------------------------------------- 21 21 22 ; Note: This is complex code. Also some of these functions have DS != CS, so23 ; make sure that you know what you are doing inhere.22 ; Note: This is complex code. So make sure that you know what you are doing in 23 ; here. 24 24 25 25 PARTSCAN_ScanForPartitions Proc Near Uses … … 27 27 call PARTSCAN_ResetXref 28 28 29 push ds si 30 push 0040h 31 pop ds 32 mov si, 0075h 33 mov dh, ds:[si] ; 40:75 -> POST: Total Harddiscs == DL 34 pop si ds 35 mov TotalHarddiscs, dh 29 mov dh, TotalHarddiscs 36 30 xor al, al 37 31 mov NewPartitions, al … … 67 61 rep movsw 68 62 69 ; Search for any Linux partition and remember, if it got found... 70 mov si, offset PartitionTable 71 movzx cx, CFG_Partitions 72 xor dl, dl ; DL - Is Linux here ? 73 or cx, cx 74 jz PSSFP_NoPartitions 75 PSSFP_LinuxLoop: 76 cmp bptr [si+LocIPT_SystemID], 083h ; Hard-Coded 77 jne PSSFP_NoLinux 78 mov dl, 1 ; Linux found... 79 PSSFP_NoLinux: 80 add si, LocIPT_LenOfIPT 81 loop PSSFP_LinuxLoop 82 PSSFP_NoPartitions: 83 mov GotLinux, dl ; Set Flag 63 ; [Linux support removed since v1.02] 64 ; ; Search for any Linux partition and remember, if it got found... 65 ; mov si, offset PartitionTable 66 ; movzx cx, CFG_Partitions 67 ; xor dl, dl ; DL - Is Linux here ? 68 ; or cx, cx 69 ; jz PSSFP_NoPartitions 70 ; PSSFP_LinuxLoop: 71 ; cmp bptr [si+LocIPT_SystemID], 083h ; Hard-Coded 72 ; jne PSSFP_NoLinux 73 ; mov dl, 1 ; Linux found... 74 ; PSSFP_NoLinux: 75 ; add si, LocIPT_LenOfIPT 76 ; loop PSSFP_LinuxLoop 77 ; PSSFP_NoPartitions: 78 ; mov GotLinux, dl ; Set Flag 84 79 85 80 ; ...and finally check, if we need to set a Drive-Letter … … 125 120 call DriveIO_LoadPartition 126 121 jc PSSDFP_InvalidPartition 122 ; LVM Support - Reads LVM Information Sector 123 call DriveIO_LoadLVMSector 127 124 call PARTSCAN_ScanPartition 128 125 IFDEF ReleaseCode … … 135 132 PARTSCAN_ScanDriveForPartitions EndP 136 133 134 ; Scans Current Partition for Extended Partitions, if found, AX,BX,CX,DX will 135 ; be set to this location and Carry will be set 136 PARTSCAN_ScanPartitionForExtended Proc Near Uses si 137 mov si, offset PartitionSector+446 ; DS:SI - 1st partition entry 138 xor ax, ax 139 PSSPFE_ScanLoop: 140 mov al, [si+LocBRPT_SystemID] 141 cmp al, 5 ; Is Partition EXTENDED ? 142 je PSSPFE_ExtendedPartition 143 cmp al, 0Fh ; Is Partition EXTENDED (M$) ? 144 je PSSPFE_ExtendedPartition 145 jmp PSSPFE_IgnorePartition 146 PSSPFE_ExtendedPartition: 147 mov ax, wptr [si+LocBRPT_RelativeBegin] 148 mov bx, wptr [si+LocBRPT_RelativeBegin+2] 149 add ax, wptr [ExtendedAbsPos+0] ; Adjust... 150 adc bx, wptr [ExtendedAbsPos+2] ; (Shit Design!) 151 test [ExtendedAbsPosSet], 1 152 jnz PSSPFE_ExtendedMainKnown 153 mov wptr [ExtendedAbsPos+0], ax 154 mov wptr [ExtendedAbsPos+2], bx 155 mov [ExtendedAbsPosSet], 1 156 PSSPFE_ExtendedMainKnown: 157 mov cx, wptr [si+LocBRPT_BeginSector] ; Cylinder/Sector 158 mov dh, bptr [si+LocBRPT_BeginHead] ; Head 159 mov dl, bptr [CurPartition_Location+4] ; Drive 160 stc 161 jmp PSSPFE_EndOfSearch 162 PSSPFE_IgnorePartition: 163 add si, LocBRPT_LenOfEntry 164 cmp si, 500+offset PartitionSector 165 jb PSSPFE_ScanLoop 166 clc 167 PSSPFE_EndOfSearch: 168 ret 169 PARTSCAN_ScanPartitionForExtended EndP 170 137 171 ; The following routines have NOT *DS* set to CS, so we must address via ES 138 PARTSCAN_ScanPartition Proc Near Uses ax ds si 139 push ExecBaseSeg 140 pop ds 141 mov si, ExecBasePtr 142 add si, 446 ; DS:SI - First Partition-Entry 172 PARTSCAN_ScanPartition Proc Near Uses ax si 173 mov si, offset PartitionSector+446 ; DS:SI - 1st Partition-Entry 143 174 PSSP_ScanLoop: 144 mov al, bptr ds:[si+LocBRPT_SystemID]175 mov al, bptr [si+LocBRPT_SystemID] 145 176 cmp al, 5 ; Is Partition EXTENDED ? 146 177 je PSSP_IgnorePartition … … 149 180 cmp al, 0 ; Is Partition EMPTY ? 150 181 je PSSP_IgnorePartition 151 ; Ignore th is Partitions, because there are no real Partitions182 ; Ignore these partitions, because there are no real Partitions 152 183 call PARTSCAN_CheckThisPartition 153 184 PSSP_IgnorePartition: 154 185 ; Lscht das Boot-Able Flag... 155 and byte ptr ds:[si+LocBRPT_Flags], 7Fh ; Reset the Active-Flag186 and byte ptr [si+LocBRPT_Flags], 7Fh ; Reset the Active-Flag 156 187 add si, LocBRPT_LenOfEntry ; 16 Bytes per partition entry 157 cmp si, 500+ ExecBasePtr188 cmp si, 500+offset PartitionSector 158 189 jb PSSP_ScanLoop 159 190 ; If we are on first HDD and in primary partition table -> mark primary 160 cmp bptr es:[CurPartition_Location+4], 80h ; Drive191 cmp bptr [CurPartition_Location+4], 80h ; Drive 161 192 jne PSSP_NoMarkPrimary 162 cmp wptr es:[CurPartition_Location+0], 0193 cmp wptr [CurPartition_Location+0], 0 163 194 jne PSSP_NoMarkPrimary 164 cmp wptr es:[CurPartition_Location+2], 0 ; Absolute Location195 cmp wptr [CurPartition_Location+2], 0 ; Absolute Location 165 196 jne PSSP_NoMarkPrimary 166 197 call PART_MarkFirstGoodPrimary … … 175 206 ; the old table, otherwise they are generated freshly. 176 207 ; Will also fill out PartitionXref to sync HideConfig later 177 ; In: DS:SI - Partition-Entry (16-Bytes) 178 ; ES - is CS 179 ; (DS is *NOT* CS here) 180 PARTSCAN_CheckThisPartition Proc Near Uses di ds si 208 ; In: SI - Points to Partition-Entry (16-Bytes) 209 PARTSCAN_CheckThisPartition Proc Near Uses di si 181 210 local PartSystemID:byte, PartTypeFlags:byte 182 local PartCRC:word, PartPtr:dword 183 184 mov ax, ds 185 mov wptr [PartPtr+2], ax ; ... 186 mov wptr [PartPtr+0], si ; Save Pointer to PartitionEntry 187 188 mov al, bptr ds:[si+LocBRPT_SystemID] 211 local PartCRC:word, PartPtr:word 212 213 mov wptr [PartPtr], si ; Save Pointer to PartitionEntry 214 215 mov al, bptr [si+LocBRPT_SystemID] 189 216 mov PartSystemID, al 190 217 191 mov cx, wptr ds:[si+LocBRPT_BeginSector] ; Cylinder/Sector192 mov dh, bptr ds:[si+LocBRPT_BeginHead] ; Head193 mov dl, bptr es:[CurPartition_Location+4] ; Drive194 mov ax, wptr ds:[si+LocBRPT_RelativeBegin] ; Absolute Sector195 mov bx, wptr ds:[si+LocBRPT_RelativeBegin+2]196 add ax, wptr es:[CurPartition_Location+0] ; +Partition-Absolute197 adc bx, wptr es:[CurPartition_Location+2] ; sectors218 mov cx, wptr [si+LocBRPT_BeginSector] ; Cylinder/Sector 219 mov dh, bptr [si+LocBRPT_BeginHead] ; Head 220 mov dl, bptr [CurPartition_Location+4] ; Drive 221 mov ax, wptr [si+LocBRPT_RelativeBegin] ; Absolute Sector 222 mov bx, wptr [si+LocBRPT_RelativeBegin+2] 223 add ax, wptr [CurPartition_Location+0] ; +Partition-Absolute 224 adc bx, wptr [CurPartition_Location+2] ; sectors 198 225 call DriveIO_LoadTmpSector ; Loads Boot record 199 226 ; Sets up DS:SI - TmpSector … … 218 245 ; SI - Boot-Record of Partition 219 246 ; DI - File System Name 220 ; DS==CS here221 247 ;================================ 222 248 249 cmp PartSystemID, 07h ; We got IFS here? 250 jne PCCTP_IFSdone 251 ; Check, if 'JFS ' is at DWORD offset 36h 252 cmp wptr [si+36h], 'FJ' 253 jne PCCTP_IFSnoJFS 254 cmp wptr [si+38h], ' S' 255 jne PCCTP_IFSnoJFS 256 mov PartSystemID, 0FCh ; FC is JFS internally 257 jmp PCCTP_IFSdone 258 PCCTP_IFSnoJFS: 259 ; Check, if 'HPFS' is at DWORD offset 36h 260 cmp wptr [si+36h], 'PH' 261 jne PCCTP_ProbablyNTFS 262 cmp wptr [si+38h], 'SF' 263 je PCCTP_IFSdone ; 07 is HPFS internally 264 PCCTP_ProbablyNTFS: 265 inc PartSystemID ; 08 is NTFS instead of 07 266 PCCTP_IFSdone: 267 268 ; First check, if LVM Information Sector is available and this partition 269 ; is supported. 270 push ax dx si di 271 mov si, wptr [PartPtr] 272 mov ax, wptr [si+LocBRPT_RelativeBegin] ; Absolute Sector 273 mov dx, wptr [si+LocBRPT_RelativeBegin+2] 274 add ax, wptr [CurPartition_Location+0] ; +Partition-Absolute 275 adc dx, wptr [CurPartition_Location+2] ; sectors 276 mov si, offset LVMSector 277 call LVM_SearchForPartition ; Search for DX:AX partition 278 jnc PCCTP_CheckBootRecord 279 ; Check, if volume has driveletter assigned and remember it for later 280 mov al, [si+LocLVM_VolumeLetter] 281 or al, al 282 jnz PCCTP_HasVolumeLetter 283 mov al, 1 ; 0 would mean "not LVM supported" 284 PCCTP_HasVolumeLetter: 285 ; Save VolumeLetter in separate table 286 movzx bx, NewPartitions ; NewPartitions is one behind here, so 287 mov [PartitionVolumeLetters+bx], al ; it's already a zero-based offset 288 ; Now copy VolumeID and VolumeName to temporary space 289 mov di, offset MBR_NoName_Patched 290 mov ax, [si+LocLVM_PartitionID] 291 stosw 292 mov ax, [si+LocLVM_PartitionID+2] 293 stosw ; Set Serial-Field to LVM-VolumeID 294 add si, LocLVM_PartitionName 295 mov cx, 5 296 rep movsw ; Copy LVM-PartitionName to Temp Space 297 movsb ; (11 bytes in total) 298 pop di si dx ax 299 mov si, offset MBR_NoName_Patched 300 xor ah, ah ; no Flags_NoPartName 301 jmp PCCTP_NameSearchInIPT 302 303 PCCTP_CheckBootRecord: 304 pop di si dx ax 223 305 test ah, FileSysFlags_NoName ; No-Name-Flag ? -> No Partition Name 224 306 jnz PCCTP_ThereIsNoName ; available 225 cmp PartSystemID, 07h ; We got IFS here? 226 jne PCCTP_NotNTFS 227 ; Check, if 'HPFS' is at DWORD offset 36h 228 cmp wptr ds:[si+36h], 'PH' 229 jne PCCTP_SeemsNTFS 230 cmp wptr ds:[si+38h], 'SF' 231 je PCCTP_NotNTFS 232 PCCTP_SeemsNTFS: 233 inc PartSystemID 234 jmp PCCTP_ThereIsNoName 235 PCCTP_NotNTFS: 307 ; We check for NTFS (got detected a little bit earlier in this routine) 308 cmp PartSystemID, 08h ; We got IFS/NTFS here? 309 jne PCCTP_IsNoNTFS 310 jmp PCCTP_ThereIsNoName ; NTFS has no volume label 311 PCCTP_IsNoNTFS: 312 add si, 2Bh ; DS:SI - Partition-Name 236 313 test ah, FileSysFlags_FAT32 ; FAT32 specific name getting ? 237 314 jz PCCTP_ResumeNormal 238 315 add si, 1Ch ; Fix for FAT 32, shiat 239 316 PCCTP_ResumeNormal: 240 add si, 2Bh ; DS:SI - Partition-Name241 317 mov cx, 11 ; 11 bytes length 242 318 call PART_CheckForValidPartName 243 319 jnc PCCTP_ThereIsNoName 244 ; jnc PCCTP_SetNameToNoName245 320 sub si, 4 ; DS:SI -> Serial&Name (15-Bytes) 246 321 xor ah, ah ; no Flags_NoPartName 247 jmp PCCTP_NameSearchInIPT 248 249 ; WAS: NTFS/HPFS detection problem 250 ; PCCTP_SetNameToNoName: 251 ; cmp PartSystemID, 07h ; We got HPFS that failed ? 252 ; jne PCCTP_NotHPFS ; -> is NTFS (internal type 08h) 253 ; inc PartSystemID ; All that fails is Microsoft <bg> 254 ; PCCTP_NotHPFS: 255 ; jmp PCCTP_ThereIsNoName 322 ; jmp PCCTP_NameSearchInIPT 256 323 257 324 ;======================================================= … … 263 330 xor ah, ah ; no Flags_NoPartName cause PartName valid 264 331 mov di, offset PartitionTable ; ES:DI - IPT-Start 265 mov dl, es:CFG_Partitions332 mov dl, CFG_Partitions 266 333 or dl, dl 267 jz PCCTP_NameCompFailed 334 jnz PCCTP_SerialNameCompLoop 335 jmp PCCTP_CompareFailed 268 336 PCCTP_SerialNameCompLoop: 269 mov al, es:[di+LocIPT_Flags]337 mov al, [di+LocIPT_Flags] 270 338 test al, Flags_NowFound 271 339 jnz PCCTP_SerialNameAlreadyFound … … 285 353 mov dl, CFG_Partitions 286 354 PCCTP_NameCompLoop: 287 mov al, es:[di+LocIPT_Flags]355 mov al, [di+LocIPT_Flags] 288 356 test al, Flags_NowFound 289 357 jnz PCCTP_NameAlreadyFound … … 296 364 pop di si 297 365 jne PCCTP_NameNoMatch 298 mov cx, ds:[si+0] ; Get Serial299 mov es:[di+0], cx300 mov cx, ds:[si+2]301 mov es:[di+2], cx ; ...and put it into IPT366 mov cx, [si+0] ; Get Serial 367 mov [di+0], cx 368 mov cx, [si+2] 369 mov [di+2], cx ; ...and put it into IPT 302 370 jmp PCCTP_Match 303 371 PCCTP_NameNoMatch: … … 307 375 jnz PCCTP_NameCompLoop 308 376 PCCTP_NameCompFailed: 377 378 ; So finally we search for Location and PartitionID 379 push si 380 ; Initialize some stuff for Location-Search 381 mov dh, PartSystemID 382 mov si, [PartPtr] ; DS:SI - Cur Partition Table 383 ; Relative Sector to MBR/EPR 384 mov cx, wptr [si+LocBRPT_RelativeBegin] 385 mov bx, wptr [si+LocBRPT_RelativeBegin+2] 386 add cx, [CurPartition_Location+0] 387 add bx, [CurPartition_Location+2] 388 ; BX:CX - Absolute First Sector of Partition on HDD 389 pop si 390 mov di, offset PartitionTable ; ES:DI - IPT-Start 391 mov dl, CFG_Partitions 392 PCCTP_NameLocCompLoop: 393 mov al, [di+LocIPT_Flags] 394 test al, Flags_NowFound 395 jnz PCCTP_NameLocAlreadyFound 396 ; Now compare IPT with current Partition 397 cmp dh, [di+LocIPT_SystemID] 398 jne PCCTP_NameLocMismatch 399 cmp cx, [di+LocIPT_AbsoluteBegin] 400 jne PCCTP_NameLocMismatch 401 cmp bx, [di+LocIPT_AbsoluteBegin+2] 402 jne PCCTP_NameLocMismatch 403 ; We matched location, now copy the current PartitionID and Name to 404 ; the old IPT. 405 push di 406 add di, LocIPT_Serial ; DS:SI - LocIPT-Serial&Name 407 mov cx, 15 408 rep movsb ; Copy 15 bytes 409 pop di 410 jmp PCCTP_Match 411 PCCTP_NameLocMismatch: 412 PCCTP_NameLocAlreadyFound: 413 add di, LocIPT_LenOfIPT 414 dec dl 415 jnz PCCTP_NameLocCompLoop 416 ; None of the searches worked, so forget it... 309 417 jmp PCCTP_CompareFailed 310 418 311 419 PCCTP_ThereIsNoName: 312 ; First, try to find this partition by comparing location and PartitionID420 ; Try to find this partition by comparing location and PartitionID 313 421 ; aka LocIPT_AbsoluteBegin:dword and LocIPT_SystemID 314 422 ; If found, simply go to the normal match-routine, otherwise use the 315 423 ; File-System-Name to build the Volume-Label for the New IPT Entry. 316 424 mov dh, PartSystemID 317 push ds 318 lds si, dptr PartPtr ; DS:SI - Cur Partition Entry 319 ; Relative Sector to MBR/EPR 320 mov cx, wptr ds:[si+LocBRPT_RelativeBegin] 321 mov bx, wptr ds:[si+LocBRPT_RelativeBegin+2] 322 add cx, cs:[CurPartition_Location+0] 323 add bx, cs:[CurPartition_Location+2] 324 ; BX:CX - Absolute First Sector of Partition on HDD 325 pop ds 425 mov si, [PartPtr] ; DS:SI - Cur Partition Table 426 ; Relative Sector to MBR/EPR 427 mov cx, wptr [si+LocBRPT_RelativeBegin] 428 mov bx, wptr [si+LocBRPT_RelativeBegin+2] 429 add cx, [CurPartition_Location+0] 430 add bx, [CurPartition_Location+2] 326 431 ; Build a standard-Volume Label from FileSystemNamePtr 327 432 ; We have to call SearchFileSysName again because of NTFS … … 330 435 call PART_SearchFileSysName ; We want SI here <- FileSystemNamePtr 331 436 mov di, offset MBR_NoName_Patched 332 add di, 4 ; Skip Serial-Field 333 mov cx, 8 334 rep movsb ; Copy FileSystemName to Temp Space 437 xor ax, ax 438 stosw 439 stosw ; Set Serial-Field to "NUL" 440 mov cx, 4 441 rep movsw ; Copy FileSystemName to Temp Space 442 xor ax, ax 443 stosw 444 stosb ; Fill last 3 bytes with "NUL" 335 445 mov si, offset MBR_NoName_Patched 336 446 pop cx ax … … 345 455 mov ah, Flags_NoPartName ;set Flags_NoPartName, PartName invalid 346 456 mov di, offset PartitionTable ; ES:DI - IPT-Start 347 mov dl, es:CFG_Partitions457 mov dl, CFG_Partitions 348 458 or dl, dl 349 459 jz PCCTP_LocCompFailed 350 460 PCCTP_LocCompLoop: 351 mov al, es:[di+LocIPT_Flags]461 mov al, [di+LocIPT_Flags] 352 462 test al, Flags_NowFound 353 463 jnz PCCTP_LocAlreadyFound 354 464 ; Now compare IPT with current Partition 355 cmp dh, es:[di+LocIPT_SystemID]465 cmp dh, [di+LocIPT_SystemID] 356 466 jne PCCTP_LocMismatch 357 cmp cx, es:[di+LocIPT_AbsoluteBegin]467 cmp cx, [di+LocIPT_AbsoluteBegin] 358 468 jne PCCTP_LocMismatch 359 cmp bx, es:[di+LocIPT_AbsoluteBegin+2]469 cmp bx, [di+LocIPT_AbsoluteBegin+2] 360 470 jne PCCTP_LocMismatch 361 471 jmp PCCTP_Match … … 379 489 ; for converting HideConfig. 380 490 mov dh, dl 381 mov dl, es:CFG_Partitions491 mov dl, CFG_Partitions 382 492 sub dl, dh 383 493 mov dh, NewPartitions ; is actually a counter … … 385 495 386 496 ; Get Saved-Flags... 387 mov cl, b yte ptr es:[di+LocIPT_Flags]; Use saved Flags497 mov cl, bptr [di+LocIPT_Flags] ; Use saved Flags 388 498 389 499 ; ...and Saved-CRC if available... 390 mov ax, wptr es:[di+LocIPT_BootRecordCRC]500 mov ax, wptr [di+LocIPT_BootRecordCRC] 391 501 or ax, ax 392 502 jz PCCTP_UseNewComputedCRC … … 394 504 PCCTP_UseNewComputedCRC: 395 505 ; ...and mark partition in IPT as already found 396 or b yte ptr es:[di+LocIPT_Flags], Flags_NowFound506 or bptr [di+LocIPT_Flags], Flags_NowFound 397 507 ; ...get Serial&Name from IPT-table... 398 508 mov si, di … … 412 522 mov al, PartTypeFlags 413 523 ; May I auto-add partitions ? 414 test es:CFG_PartitionsDetect, 1524 test CFG_PartitionsDetect, 1 415 525 jz PCCTP_MayNotAddAny ; add, but non-bootable 416 526 test al, FileSysFlags_BootAble ; AH kam von SearchFileSysName … … 447 557 ; Calculate Pointer to IPT 448 558 mov di, offset NewPartTable ; ES:DI - NewPartTable 449 movzx ax, es:NewPartitions559 movzx ax, NewPartitions 450 560 mov bl, LocIPT_LenOfIPT 451 561 mul bl … … 459 569 pop cx 460 570 461 lds si, dptr PartPtr; DS:SI - Cur Partition Entry462 mov al, bptr es:[CurPartition_Location+4] ; Drive571 mov si, [PartPtr] ; DS:SI - Cur Partition Entry 572 mov al, bptr [CurPartition_Location+4] ; Drive 463 573 stosb 464 574 mov al, PartSystemID ; Unhidden SystemID … … 468 578 mov ax, PartCRC ; BootRecordCRC... 469 579 stosw 470 mov al, bptr ds:[si+LocBRPT_BeginHead]580 mov al, bptr [si+LocBRPT_BeginHead] 471 581 stosb 472 mov ax, wptr ds:[si+LocBRPT_BeginSector] ; Cylinder/Sector582 mov ax, wptr [si+LocBRPT_BeginSector] ; Cylinder/Sector 473 583 stosw 474 mov al, bptr es:[CurPartition_Location+5] ; Head of Part-Table584 mov al, bptr [CurPartition_Location+5] ; Head of Part-Table 475 585 stosb 476 mov ax, wptr es:[CurPartition_Location+6] ; Cylinder/Sector586 mov ax, wptr [CurPartition_Location+6] ; Cylinder/Sector 477 587 stosw 478 mov ax, wptr ds:[si+LocBRPT_RelativeBegin]479 mov bx, wptr ds:[si+LocBRPT_RelativeBegin+2]480 mov cx, wptr es:[CurPartition_Location+0] ; +Partition-Absolute481 mov dx, wptr es:[CurPartition_Location+2] ; sectors588 mov ax, wptr [si+LocBRPT_RelativeBegin] 589 mov bx, wptr [si+LocBRPT_RelativeBegin+2] 590 mov cx, wptr [CurPartition_Location+0] ; +Partition-Absolute 591 mov dx, wptr [CurPartition_Location+2] ; sectors 482 592 add ax, cx 483 593 adc bx, dx … … 489 599 mov ax, dx 490 600 stosw 491 inc es:NewPartitions; NEW IPT Entry DONE492 493 cmp es:NewPartitions, LocIPT_MaxPartitions601 inc NewPartitions ; NEW IPT Entry DONE 602 603 cmp NewPartitions, LocIPT_MaxPartitions 494 604 jbe PCCTP_NotTooManyPartitions 495 mov ax, cs496 mov ds, ax497 605 mov si, offset TXT_TooManyPartitions 498 606 call MBR_Teletype … … 502 610 ; UNHIDE PARTITION, if it was hidden previously 503 611 mov al, PartSystemID 504 cmp al, 08h ; internally NTFS ? 505 jne PCCTP_NoInternalNTFS 506 dec al 507 PCCTP_NoInternalNTFS: 508 mov bptr ds:[si+LocBRPT_SystemID], al 509 510 ; Calculate Size of this partition... 511 movzx ax, es:NewPartitions 612 cmp al, 08h ; internally IFS/NTFS? 613 je PCCTP_GotInternalIFS 614 cmp al, 0FCh ; internally IFS/JFS? 615 jne PCCTP_NoInternalIFS 616 PCCTP_GotInternalIFS: 617 mov al, 07h 618 PCCTP_NoInternalIFS: 619 mov bptr [si+LocBRPT_SystemID], al 620 621 ; Calculate Size of this partition and put it into separate table... 622 movzx ax, NewPartitions 512 623 dec ax 513 624 mov bx, ax … … 517 628 mov di, offset PartitionSizeTable 518 629 add di, ax ; DI - Partition Size-Element 519 mov ax, wptr ds:[si+LocBRPT_AbsoluteLength] ; Sector-Size520 mov bx, wptr ds:[si+LocBRPT_AbsoluteLength+2]630 mov ax, wptr [si+LocBRPT_AbsoluteLength] ; Sector-Size 631 mov bx, wptr [si+LocBRPT_AbsoluteLength+2] 521 632 call PART_FillOutSizeElement 522 633 ret 523 634 PARTSCAN_CheckThisPartition EndP 524 525 ; Scans Current Partition for Extended Partitions, if found, AX,BX,CX,DX will526 ; be set to this location and Carry will be set527 PARTSCAN_ScanPartitionForExtended Proc Near Uses ds si528 mov ax, ExecBaseSeg529 mov ds, ax530 mov si, ExecBasePtr531 add si, 446 ; DS:SI - First Partition Entry532 xor ax, ax533 PSSPFE_ScanLoop:534 mov al, ds:[si+LocBRPT_SystemID]535 cmp al, 5 ; Is Partition EXTENDED ?536 je PSSPFE_ExtendedPartition537 cmp al, 0Fh ; Is Partition EXTENDED (M$) ?538 je PSSPFE_ExtendedPartition539 jmp PSSPFE_IgnorePartition540 PSSPFE_ExtendedPartition:541 mov ax, wptr ds:[si+LocBRPT_RelativeBegin]542 mov bx, wptr ds:[si+LocBRPT_RelativeBegin+2]543 add ax, wptr es:[ExtendedAbsPos+0] ; Adjust...544 adc bx, wptr es:[ExtendedAbsPos+2] ; (Shit Design!)545 test es:[ExtendedAbsPosSet], 1546 jnz PSSPFE_ExtendedMainKnown547 mov wptr es:[ExtendedAbsPos+0], ax548 mov wptr es:[ExtendedAbsPos+2], bx549 mov cs:[ExtendedAbsPosSet], 1550 PSSPFE_ExtendedMainKnown:551 mov cx, wptr ds:[si+LocBRPT_BeginSector] ; Cylinder/Sector552 mov dh, bptr ds:[si+LocBRPT_BeginHead] ; Head553 mov dl, bptr es:[CurPartition_Location+4] ; Drive554 stc555 jmp PSSPFE_EndOfSearch556 PSSPFE_IgnorePartition:557 add si, LocBRPT_LenOfEntry558 cmp si, 500+ExecBasePtr559 jb PSSPFE_ScanLoop560 clc561 PSSPFE_EndOfSearch:562 ret563 PARTSCAN_ScanPartitionForExtended EndP564 635 565 636 ; =================== … … 567 638 ; =================== 568 639 569 ; The following routines have DS==CS again570 571 640 ; Reset X-Reference 572 PARTSCAN_ResetXref Proc Near Uses ax cx es di 573 push cs 574 pop es 641 PARTSCAN_ResetXref Proc Near Uses ax cx di 575 642 mov di, offset PartitionXref ; X-Reference for later syncing 576 643 mov cx, LocIPT_MaxPartitions -
trunk/BOOTCODE/REGULAR/PASSWORD.ASM
r23 r29 1 2 ; Disclaimer:3 ; =============4 ; The sourcecode is released via www.netlabs.org CVS *ONLY*.5 ; You MUST NOT upload it to other servers nor republish it in any way.6 ; The sourcecode is still COPYRIGHTED and NOT RELEASED UNDER GPL.7 ; It's (c) Copyright 1998-2003 by Martin Kiewitz.8 ; You may recompile the source and do *PRIVATE* modifications, but please keep9 ; in mind that modifying this code needs at least *some* assembly skill. If10 ; you mess up your system, because you needed to hack your way through, don't11 ; blame me. Releasing a customized version of AiR-BOOT, selling it in any form12 ; or reusing parts of this source is *PROHIBITED*. Ask me, if you have some13 ; idea about new functionality *before* developing the code, otherwise I will14 ; definitely reject it. Also please accept, that I have some basic design15 ; rules on AiR-BOOT and I will maintain them at all costs, so this won't get16 ; another GRUB.17 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 18 18 ;--------------------------------------------------------------------------- 19 19 ; AiR-BOOT / PASSWORD … … 22 22 ; Don't ask me, what I'm doing in here to encode the passwords. I don't even 23 23 ; know by myself anymore. It's some kind of hash and I hope that it isn't weak 24 ; and some mad uber-hacker-god will laugh about it .24 ; and some mad uber-hacker-god will laugh about it - but i bet so ;-) 25 25 26 26 PASSWORD_AskSystemPwd Proc Near Uses ax bx si di … … 49 49 ret 50 50 PASSWORD_AskChangeBootPwd EndP 51 52 ;CFG_MasterPassword dw 0101Fh ; Encoded Password (this is just CR) 53 ; dw 07A53h 54 ; dw 0E797h 55 ; dw 0A896h 56 ; BUGBUG - If unspecified password to ask, check if one of our two are CR 57 ; And if that's the case, we need to skip over checking that one. 58 ; If both are CR, return to caller 59 51 60 52 61 ; In: ax - Magic for AskPassword Subroutine -
trunk/BOOTCODE/REGULAR/STD_TEXT.ASM
r23 r29 1 2 ; Disclaimer:3 ; =============4 ; The sourcecode is released via www.netlabs.org CVS *ONLY*.5 ; You MUST NOT upload it to other servers nor republish it in any way.6 ; The sourcecode is still COPYRIGHTED and NOT RELEASED UNDER GPL.7 ; It's (c) Copyright 1998-2003 by Martin Kiewitz.8 ; You may recompile the source and do *PRIVATE* modifications, but please keep9 ; in mind that modifying this code needs at least *some* assembly skill. If10 ; you mess up your system, because you needed to hack your way through, don't11 ; blame me. Releasing a customized version of AiR-BOOT, selling it in any form12 ; or reusing parts of this source is *PROHIBITED*. Ask me, if you have some13 ; idea about new functionality *before* developing the code, otherwise I will14 ; definitely reject it. Also please accept, that I have some basic design15 ; rules on AiR-BOOT and I will maintain them at all costs, so this won't get16 ; another GRUB.17 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 18 18 ;--------------------------------------------------------------------------- 19 19 ; AiR-BOOT / TEXT 20 20 ;--------------------------------------------------------------------------- 21 21 22 ; If you modify this Copyright and release this shiatunder your own name,22 ; If you modify this Copyright and release this under your own name, 23 23 ; I'm going to sue your cheap ass, rape your dog and blow up your house. =) 24 24 25 CopyrightVersionLen equ 5 26 Copyright db ' AiR-BOOT v1.01 - (c) 1998-2003 Martin Kiewitz, Dedicated to Gerd Kiewitz', 0 27 IFDEF ReleaseCommercial 28 RegisteredTo db 'Registered To: Myself', 0 29 ELSE 30 BootEndMsg db 'Distribute/copy freely. Only meant for private usage.', 0 31 ENDIF 25 CopyrightVersionLen equ 5 26 Copyright db ' AiR-BOOT v1.06 - (c) 1998-2009 M. Kiewitz, Dedicated to Gerd Kiewitz', 0 27 BootEndMsg db 'Free usage allowed, as long as you dont or have not worked for US government', 0 28 BootEndMsg2 db 'This is GPLv3+ software. Please visit http://AiR-BOOT.sourceforge.net', 0 32 29 33 CheckID_MBR db 'AiRBOOT' 30 CheckID_MBR db 'AiRBOOT' 31 BrokenHDD db ' (HDDx)', 0 34 32 35 ContinueBIOSbootTable dw offset TXT_SETUP_MAGIC_CDROM 36 dw offset TXT_SETUP_MAGIC_Network 37 dw offset TXT_SETUP_MAGIC_ZIPLS 38 dw 0 33 ; Colors for special words hard-coded. Keep all 0s. 34 TXT_SETUP_LowerMessage db 'This software is released under ', 0, 'GPLv3+.', 0 35 db 'It may not be used by US government', 0 36 db 'For more information and source, please visit', 0 37 db 'http://AiR-BOOT.sourceforge.net', 0 38 db 'Contact via e-mail: ', 0, 'm_kiewitz [AT] users.sourceforge.net', 0 39 40 ContinueBIOSbootTable dw offset TXT_SETUP_MAGIC_CDROM 41 dw offset TXT_SETUP_MAGIC_Network 42 dw offset TXT_SETUP_MAGIC_ZIPLS 43 dw 0 -
trunk/BOOTCODE/REGULAR/TIMER.ASM
r23 r29 1 2 ; Disclaimer:3 ; =============4 ; The sourcecode is released via www.netlabs.org CVS *ONLY*.5 ; You MUST NOT upload it to other servers nor republish it in any way.6 ; The sourcecode is still COPYRIGHTED and NOT RELEASED UNDER GPL.7 ; It's (c) Copyright 1998-2003 by Martin Kiewitz.8 ; You may recompile the source and do *PRIVATE* modifications, but please keep9 ; in mind that modifying this code needs at least *some* assembly skill. If10 ; you mess up your system, because you needed to hack your way through, don't11 ; blame me. Releasing a customized version of AiR-BOOT, selling it in any form12 ; or reusing parts of this source is *PROHIBITED*. Ask me, if you have some13 ; idea about new functionality *before* developing the code, otherwise I will14 ; definitely reject it. Also please accept, that I have some basic design15 ; rules on AiR-BOOT and I will maintain them at all costs, so this won't get16 ; another GRUB.17 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 18 18 ;--------------------------------------------------------------------------- 19 19 ; AiR-BOOT / TIMER -
trunk/BOOTCODE/REGULAR/VIDEOIO.ASM
r23 r29 1 2 ; Disclaimer:3 ; =============4 ; The sourcecode is released via www.netlabs.org CVS *ONLY*.5 ; You MUST NOT upload it to other servers nor republish it in any way.6 ; The sourcecode is still COPYRIGHTED and NOT RELEASED UNDER GPL.7 ; It's (c) Copyright 1998-2003 by Martin Kiewitz.8 ; You may recompile the source and do *PRIVATE* modifications, but please keep9 ; in mind that modifying this code needs at least *some* assembly skill. If10 ; you mess up your system, because you needed to hack your way through, don't11 ; blame me. Releasing a customized version of AiR-BOOT, selling it in any form12 ; or reusing parts of this source is *PROHIBITED*. Ask me, if you have some13 ; idea about new functionality *before* developing the code, otherwise I will14 ; definitely reject it. Also please accept, that I have some basic design15 ; rules on AiR-BOOT and I will maintain them at all costs, so this won't get16 ; another GRUB.17 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 18 18 ;--------------------------------------------------------------------------- 19 19 ; AiR-BOOT / VIDEO I/O -
trunk/BOOTCODE/SETUP/MAIN.ASM
r23 r29 1 2 ; Disclaimer:3 ; =============4 ; The sourcecode is released via www.netlabs.org CVS *ONLY*.5 ; You MUST NOT upload it to other servers nor republish it in any way.6 ; The sourcecode is still COPYRIGHTED and NOT RELEASED UNDER GPL.7 ; It's (c) Copyright 1998-2003 by Martin Kiewitz.8 ; You may recompile the source and do *PRIVATE* modifications, but please keep9 ; in mind that modifying this code needs at least *some* assembly skill. If10 ; you mess up your system, because you needed to hack your way through, don't11 ; blame me. Releasing a customized version of AiR-BOOT, selling it in any form12 ; or reusing parts of this source is *PROHIBITED*. Ask me, if you have some13 ; idea about new functionality *before* developing the code, otherwise I will14 ; definitely reject it. Also please accept, that I have some basic design15 ; rules on AiR-BOOT and I will maintain them at all costs, so this won't get16 ; another GRUB.17 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 18 18 ;--------------------------------------------------------------------------- 19 19 ; AiR-BOOT SETUP / GENERIC & GENERAL SETUP ROUTINES … … 487 487 call VideoIO_LocateToCenter ; LocateToCenter 3, 40 using TotalLen 488 488 call VideoIO_Print ; 'Translated By' as well... 489 IFNDEF ReleaseCommercial 490 ; -------------------------------------------- Lower 1st Line 491 mov si, offset TXT_SETUP_LowerMessage 492 mov cl, 3 493 call GetLenOfStrings ; CX - Len of 3 Strings at [si] 494 mov dx, cx 495 mov cx, 1328h 496 call VideoIO_LocateToCenter ; LocateToCenter 19, 40 using TotalLen 497 mov si, offset TXT_SETUP_LowerMessage 498 call VideoIO_Print ; Begin using WHITE... 499 mov cx, 0A00h 500 call VideoIO_Color 501 call VideoIO_Print ; continue green - 'free' 502 mov cx, 0F00h 503 call VideoIO_Color 504 call VideoIO_Print ; finish using WHITE... 505 ; -------------------------------------------- Lower 2nd Line 506 mov cl, 5 507 call GetLenOfStrings ; CX - Len of 5 Strings at [si] 508 mov dx, cx 509 mov cx, 1528h 510 call VideoIO_LocateToCenter ; LocateToCenter 21, 40 using TotalLen 511 call VideoIO_Print ; Begin using WHITE again... 512 mov cx, 0C00h 513 call VideoIO_Color 514 call VideoIO_Print ; contine red - 'NOT' 515 mov cx, 0F00h 516 call VideoIO_Color 517 call VideoIO_Print ; more White... 518 mov cx, 0C00h 519 call VideoIO_Color 520 call VideoIO_Print ; contine red - '-ANY-' 521 mov cx, 0F00h 522 call VideoIO_Color 523 call VideoIO_Print ; more White... 524 ; -------------------------------------------- Lower 3rd Line 525 call GetLenOfString ; CX - Len of String at [si] 526 mov dx, cx 527 mov cx, 1628h 528 call VideoIO_LocateToCenter ; LocateToCenter 22, 40 using TotalLen 529 call VideoIO_Print ; Begin using WHITE again... 530 ; -------------------------------------------- Lower 4th Line 531 mov cl, 5 532 call GetLenOfStrings ; CX - Len of 5 Strings at [si] 533 mov dx, cx 534 mov cx, 1828h 535 call VideoIO_LocateToCenter ; LocateToCenter 24, 40 using TotalLen 536 call VideoIO_Print ; Begin White (again)... 537 mov cx, 0A00h 538 call VideoIO_Color 539 call VideoIO_Print ; continue green - 'other environments' 540 mov cx, 0F00h 541 call VideoIO_Color 542 call VideoIO_Print ; white... 543 mov cx, 0A00h 544 call VideoIO_Color 545 call VideoIO_Print ; green - 'preinstall' 546 mov cx, 0F00h 547 call VideoIO_Color 548 call VideoIO_Print ; finish white... 549 ; -------------------------------------------- Lower 5th Line 550 mov cl, 4 551 call GetLenOfStrings ; CX - Len of 4 Strings at [si] 552 mov dx, cx 553 mov cx, 1928h 554 call VideoIO_LocateToCenter ; LocateToCenter 25, 40 using TotalLen 555 mov cx, 0A00h 556 call VideoIO_Color 557 call VideoIO_Print ; green - 'distribute' 558 mov cx, 0F00h 559 call VideoIO_Color 560 call VideoIO_Print ; ...some white... 561 mov cx, 0B00h 562 call VideoIO_Color 563 call VideoIO_Print ; and finally the e-mail adress 564 mov cx, 0F00h 565 call VideoIO_Color 566 call VideoIO_Print ; finish using WHITE 567 ENDIF 489 ; -------------------------------------------- Lower 1st Line 490 mov si, offset TXT_SETUP_LowerMessage 491 mov cl, 2 492 call GetLenOfStrings ; CX - Len of 5 Strings at [si] 493 mov dx, cx 494 mov cx, 1329h 495 call VideoIO_LocateToCenter ; LocateToCenter 21, 40 using TotalLen 496 call VideoIO_Print ; Begin using WHITE again... 497 mov cx, 0C00h 498 call VideoIO_Color 499 call VideoIO_Print ; contine red - 'GPLv3+' 500 ; -------------------------------------------- Lower 2nd Line 501 mov cl, 1 502 call GetLenOfStrings ; CX - Len of 3 Strings at [si] 503 mov dx, cx 504 mov cx, 1429h 505 call VideoIO_LocateToCenter ; LocateToCenter 19, 40 using TotalLen 506 mov cx, 0F00h 507 call VideoIO_Color ; White... 508 call VideoIO_Print ; Begin using WHITE... 509 ; -------------------------------------------- Lower 3rd Line 510 mov cl, 1 511 call GetLenOfString ; CX - Len of String at [si] 512 mov dx, cx 513 mov cx, 1629h 514 call VideoIO_LocateToCenter ; LocateToCenter 22, 40 using TotalLen 515 mov cx, 0F00h 516 call VideoIO_Color ; White... 517 call VideoIO_Print ; For more information... 518 ; -------------------------------------------- Lower 4th Line 519 mov cl, 1 520 call GetLenOfStrings ; CX - Len of 5 Strings at [si] 521 mov dx, cx 522 mov cx, 1729h 523 call VideoIO_LocateToCenter ; LocateToCenter 24, 40 using TotalLen 524 mov cx, 0B00h 525 call VideoIO_Color 526 call VideoIO_Print ; homepage 527 ; -------------------------------------------- Lower 5th Line 528 mov cl, 2 529 call GetLenOfStrings ; CX - Len of 4 Strings at [si] 530 mov dx, cx 531 mov cx, 1929h 532 call VideoIO_LocateToCenter ; LocateToCenter 25, 40 using TotalLen 533 mov cx, 0700h 534 call VideoIO_Color 535 call VideoIO_Print ; white - 'contact via e-mail'... 536 mov cx, 0800h 537 call VideoIO_Color 538 call VideoIO_Print ; and finally the e-mail adress 568 539 ret 569 540 SETUP_DrawMenuBase EndP … … 672 643 SETUP_EnterMenu_ExtendedOptions EndP 673 644 674 SETUP_EnterMenu_LinuxCommandLine Proc Near Uses dx bp 675 test GotLinux, 1 676 jz SEMLCL_NoLinux 677 call SETUP_EnterMenu_EnterLinuxCmdLine 678 ret 679 SEMLCL_NoLinux: 680 mov cx, 0C04h 681 mov si, offset TXT_SETUP_NoLinuxInstalled 682 call SETUP_ShowErrorBox 683 ret 684 SETUP_EnterMenu_LinuxCommandLine EndP 645 ; [Linux support removed since v1.02] 646 ;SETUP_EnterMenu_LinuxCommandLine Proc Near Uses dx bp 647 ; test GotLinux, 1 648 ; jz SEMLCL_NoLinux 649 ; call SETUP_EnterMenu_EnterLinuxCmdLine 650 ; ret 651 ; SEMLCL_NoLinux: 652 ; mov cx, 0C04h 653 ; mov si, offset TXT_SETUP_NoLinuxInstalled 654 ; call SETUP_ShowErrorBox 655 ; ret 656 ;SETUP_EnterMenu_LinuxCommandLine EndP 685 657 686 658 SETUP_EnterMenu_DefineMasterPassword Proc Near Uses … … 698 670 ; ============================================================================ 699 671 700 SETUP_EnterMenu_EnterLinuxCmdLine Proc Near Uses 701 mov cx, 0D05h 702 call VideoIO_Color 703 mov bx, 0C02h 704 mov dx, 0F4Fh 705 call VideoIO_MakeWindow 706 mov cx, 0F05h 707 call VideoIO_Color 708 709 mov si, offset TXT_SETUP_EnterLinuxCmdLine 710 call GetLenOfString ; CX - Len of Error Message 711 mov dx, cx 712 mov cx, 0D28h 713 call VideoIO_LocateToCenter ; LocateToCenter 13, 40 using LenOfStr 714 call VideoIO_Print ; Writes 'Please enter Linux-CmdLine' 715 716 mov cx, 0E05h 717 call VideoIO_Color 718 mov cx, 0E04h 719 call VideoIO_Locate 720 mov al, ' ' 721 mov cl, 74 722 call VideoIO_PrintSingleMultiChar 723 mov cx, 0E04h 724 call VideoIO_Locate 725 mov si, offset CFG_LinuxCommandLine 726 push si 727 call VideoIO_Print ; Writes Linux Command-Line 728 pop si 729 mov cx, 0E04h 730 call VideoIO_Locate 731 732 push cs 733 pop es ; ES == CS 734 mov di, offset TmpSector 735 mov cx, 37 736 rep movsw ; Copy LinuxCmdLine -> TmpSectorSpace 737 738 mov si, offset TmpSector 739 mov cx, 74 740 call VideoIO_LetUserEditString ; -> does actual editing 741 jnc SEMELCL_UserAbort ; Did user abort ? 742 743 ; Otherwise copy TmpSectorSpace to LinuxCmdLine 744 mov di, offset CFG_LinuxCommandLine 745 mov cx, 74 746 call GetLenOfName ; Get real length of Cmd-Line into CX 747 jz SEMELCL_NulLine 748 rep movsb 749 SEMELCL_NulLine: 750 mov ax, 75 751 sub ax, cx 752 mov cx, ax 753 xor al, al 754 rep stosb ; Fill up with NULs 755 756 SEMELCL_UserAbort: 757 ret 758 SETUP_EnterMenu_EnterLinuxCmdLine EndP 672 ; [Linux support removed since v1.02] 673 ;SETUP_EnterMenu_EnterLinuxCmdLine Proc Near Uses 674 ; mov cx, 0D05h 675 ; call VideoIO_Color 676 ; mov bx, 0C02h 677 ; mov dx, 0F4Fh 678 ; call VideoIO_MakeWindow 679 ; mov cx, 0F05h 680 ; call VideoIO_Color 681 ; 682 ; mov si, offset TXT_SETUP_EnterLinuxCmdLine 683 ; call GetLenOfString ; CX - Len of Error Message 684 ; mov dx, cx 685 ; mov cx, 0D28h 686 ; call VideoIO_LocateToCenter ; LocateToCenter 13, 40 using LenOfStr 687 ; call VideoIO_Print ; Writes 'Please enter Linux-CmdLine' 688 ; 689 ; mov cx, 0E05h 690 ; call VideoIO_Color 691 ; mov cx, 0E04h 692 ; call VideoIO_Locate 693 ; mov al, ' ' 694 ; mov cl, 74 695 ; call VideoIO_PrintSingleMultiChar 696 ; mov cx, 0E04h 697 ; call VideoIO_Locate 698 ; mov si, offset CFG_LinuxCommandLine 699 ; push si 700 ; call VideoIO_Print ; Writes Linux Command-Line 701 ; pop si 702 ; mov cx, 0E04h 703 ; call VideoIO_Locate 704 ; 705 ; push cs 706 ; pop es ; ES == CS 707 ; mov di, offset TmpSector 708 ; mov cx, 37 709 ; rep movsw ; Copy LinuxCmdLine -> TmpSectorSpace 710 ; 711 ; mov si, offset TmpSector 712 ; mov cx, 74 713 ; call VideoIO_LetUserEditString ; -> does actual editing 714 ; jnc SEMELCL_UserAbort ; Did user abort ? 715 ; 716 ; ; Otherwise copy TmpSectorSpace to LinuxCmdLine 717 ; mov di, offset CFG_LinuxCommandLine 718 ; mov cx, 74 719 ; call GetLenOfName ; Get real length of Cmd-Line into CX 720 ; jz SEMELCL_NulLine 721 ; rep movsb 722 ; SEMELCL_NulLine: 723 ; mov ax, 75 724 ; sub ax, cx 725 ; mov cx, ax 726 ; xor al, al 727 ; rep stosb ; Fill up with NULs 728 ; 729 ; SEMELCL_UserAbort: 730 ; ret 731 ;SETUP_EnterMenu_EnterLinuxCmdLine EndP 759 732 760 733 ; In: di - Place for Password to be defined … … 1208 1181 SETUPMAGIC_ChangeBootDelay EndP 1209 1182 1210 ; Used by : Default Partition1211 ; Value : Partition Number (Base=0, None= FFh)1183 ; Used by : Default Selection 1184 ; Value : Partition Number (Base=0, None=80h, ContinueBIOS=FEh, Floppy=FFh) 1212 1185 ; Method : Changes to another bootable partition 1213 ; Logic : if no bootable partitions are found -> will set FFh1214 ; if already set to FFh -> will search through all partitions1215 SETUPMAGIC_Change PartitionProc Near Uses ax cx dx si es di1186 ; Logic : if no bootable selections are found -> will set 80h 1187 ; if already set to 80h -> will search through all selections 1188 SETUPMAGIC_ChangeDefaultSelection Proc Near Uses ax cx dx si es di 1216 1189 mov di, si 1217 mov dl, ds:[bx] ; Cur Partition No.1190 mov dl, ds:[bx] ; Cur Selection No. 1218 1191 push bx 1219 1192 pushf 1220 cmp dl, 0FFh 1221 jne SMCP_IsPartitionNo 1222 inc dl 1223 SMCP_IsPartitionNo: 1224 ; We use BL in here for tracking how many partitions left 1193 cmp dl, 080h 1194 jne SMCP_AlreadyGotSelection 1195 ; Start at partition 0. So Continue-BIOS and Floppy will go last 1196 xor dl, dl 1197 SMCP_AlreadyGotSelection: 1198 ; We use BL in here for tracking how many selections left 1225 1199 mov bl, CFG_Partitions 1200 cmp dl, 0FEh 1201 jb SMCP_DoneAdjust 1202 je SMCP_AdjustContinueBIOS 1203 cmp CFG_IncludeFloppy, 0 1204 jne SMCP_DoneAdjust 1205 dec dl ; No Floppy? -> Try Resume-BIOS 1206 SMCP_AdjustContinueBIOS: 1207 cmp CFG_ResumeBIOSbootSeq, 0 1208 jne SMCP_DoneAdjust 1209 xor dl, dl ; No Resume-BIOS? -> Start partition 0 1210 SMCP_DoneAdjust: 1226 1211 mov dh, bl 1227 1212 inc bl 1228 1213 dec dh 1214 or cl, cl ; CL==0? -> Decrease 1215 jz SMCP_SubstractSelection ; otherwise -> Increase 1229 1216 popf 1230 jc SMCP_DoNotModify 1231 SMCP_RejectPartition: 1232 call SETUPMAGIC_InternalCheckUp ; CheckUp DL (max. CFG_Partitions-1) 1233 SMCP_DoNotModify: 1217 jc SMCP_Dec_ModifyDone 1218 SMCP_Inc_RejectPartition: 1219 inc dl ; Increase Selection No 1220 cmp dl, CFG_Partitions 1221 jb SMCP_Inc_ModifyDone 1222 cmp dl, 0FFh 1223 je SMCP_Inc_TryFloppy 1224 mov dl, 0FEh ; Try Resume-BIOS 1225 cmp CFG_ResumeBIOSbootSeq, 0 1226 jne SMCP_Inc_ModifyDone 1227 inc dl ; Try Floppy 1228 SMCP_Inc_TryFloppy: 1229 cmp CFG_IncludeFloppy, 0 1230 jne SMCP_Inc_ModifyDone 1231 cmp CFG_Partitions, 0 1232 je SMCP_NoBootable 1233 inc dl ; Now start at partition 0 again 1234 SMCP_Inc_ModifyDone: 1234 1235 dec bl 1235 1236 jz SMCP_NoBootable … … 1238 1239 mov ax, ds:[si+LocIPT_Flags] 1239 1240 test ax, Flags_BootAble 1240 jz SMCP_RejectPartition 1241 jz SMCP_Inc_RejectPartition 1242 jmp SMCP_GotSelection 1243 1244 SMCP_SubstractSelection: 1245 popf 1246 jc SMCP_Dec_ModifyDone 1247 SMCP_Dec_RejectPartition: 1248 dec dl ; Decrease Selection No 1249 cmp dl, 0FDh 1250 jb SMCP_Dec_ModifyDone ; <FDh -> We are done 1251 je SMCP_Dec_TryPartition 1252 cmp dl, 0FFh 1253 jb SMCP_Dec_TryResumeBIOS 1254 cmp CFG_IncludeFloppy, 0 1255 jne SMCP_Dec_ModifyDone 1256 dec dl 1257 SMCP_Dec_TryResumeBIOS: 1258 cmp CFG_ResumeBIOSbootSeq, 0 1259 jne SMCP_Dec_ModifyDone 1260 SMCP_Dec_TryPartition: 1261 mov dl, CFG_Partitions 1262 or dl, dl 1263 jz SMCP_NoBootable 1264 dec dl ; Now start at last partition again 1265 SMCP_Dec_ModifyDone: 1266 dec bl 1267 jz SMCP_NoBootable 1268 ; Get Partition-Pointer (SI) from Partition-Number (DL) 1269 call PART_GetPartitionPointer 1270 mov ax, ds:[si+LocIPT_Flags] 1271 test ax, Flags_BootAble 1272 jz SMCP_Dec_RejectPartition 1273 1274 SMCP_GotSelection: 1241 1275 pop bx 1242 1276 mov ds:[bx], dl ; neue Partition setzen … … 1253 1287 SMCP_NoBootable: 1254 1288 pop bx 1255 mov dl, 0 FFh ; "No Bootable"1289 mov dl, 080h ; "No Bootable" 1256 1290 mov ds:[bx], dl ; set that one 1257 1291 mov si, offset TXT_SETUP_MAGIC_NoBootable … … 1261 1295 call SETUPMAGIC_InternalCopyTillNUL 1262 1296 ret 1263 SETUPMAGIC_ChangePartition EndP 1264 1265 SETUPMAGIC_ChangeLinuxKernelPart Proc Near Uses ax cx dx si es di 1266 mov di, si 1267 mov dl, ds:[bx] ; Cur Partition No. 1268 push bx 1269 jc SMCLKP_DoNotModify 1270 SMCLKP_NowGoOn: 1271 mov dh, CFG_Partitions ; CFG_Partitions is Base==1 1272 inc dl ; +1 -> 00h instead FFh -> Disabled 1273 SMCLKP_RejectPartition: 1274 call SETUPMAGIC_InternalCheckUp ; CheckUp DL (max. CFG_Partitions) 1275 SMCLKP_DoNotModify: 1276 or dl, dl 1277 jz SMCLKP_FunctionDisabled 1278 ; Get Partition-Pointer (SI) to Partition-To-Boot (DL) 1279 dec dl 1280 call PART_GetPartitionPointer 1281 inc dl 1282 cmp bptr ds:[si+LocIPT_SystemID], 06h ; FAT-16 required 1283 jne SMCLKP_RejectPartition 1284 pop bx 1285 add si, LocIPT_Name ; Location of Name 1286 push cs 1287 pop es 1288 add di, LocMENU_ItemPack ; DI points to ItemPack 1289 mov cx, 11 1290 rep movsb ; Copy cur PartitionName to ItemPack 1291 xor al, al 1292 stosb ; Ending Zero 1293 SMCLKP_WriteNewValue: 1294 dec dl 1295 mov ds:[bx], dl ; Set new partition number 1296 ret 1297 1298 SMCLKP_FunctionDisabled: 1299 pop bx 1300 mov si, offset TXT_SETUP_MAGIC_Disabled 1301 push cs 1302 pop es 1303 add di, LocMENU_ItemPack ; DI points to ItemPack... 1304 call SETUPMAGIC_InternalCopyTillNUL 1305 jmp SMCLKP_WriteNewValue 1306 SETUPMAGIC_ChangeLinuxKernelPart EndP 1307 1308 SETUPMAGIC_ChangeLinuxRootPart Proc Near Uses ax cx dx si es di 1309 mov di, si 1310 pushf ; lame, but it's not working other ways 1311 test ds:[GotLinux], 1 1312 jnz SMCLRP_GotLinux 1313 popf 1314 add di, LocMENU_ItemPack ; DI points to ItemPack 1315 mov si, offset TXT_SETUP_MAGIC_NoLinux 1316 push cs 1317 pop es 1318 call SETUPMAGIC_InternalCopyTillNUL 1319 ret 1320 SMCLRP_GotLinux: 1321 mov dl, ds:[bx] ; Cur Partition No. 1322 mov dh, CFG_Partitions 1323 dec dh 1324 popf 1325 push bx 1326 jc SMCLRP_DoNotModify ; Thou shall not modify :) 1327 SMCLRP_RejectPartition: 1328 call SETUPMAGIC_InternalCheckUp ; CheckUp DL (max. CFG_Partitions-1) 1329 SMCLRP_DoNotModify: 1330 ; Get Partition-Pointer (SI) to Partition-To-Boot (DL) 1331 call PART_GetPartitionPointer 1332 cmp bptr ds:[si+LocIPT_SystemID], 083h 1333 jne SMCLRP_RejectPartition 1334 pop bx 1335 mov ds:[bx], dl 1336 push cs 1337 pop es 1338 add di, LocMENU_ItemPack ; DI points to ItemPack... 1339 push di 1340 mov cx, 12 1341 xor al, al 1342 rep stosb ; Fill with NULs 1343 pop di 1344 call LINUX_TranslateToDEV ; now translate thingie (DL) 1345 ret 1346 SETUPMAGIC_ChangeLinuxRootPart EndP 1347 1297 SETUPMAGIC_ChangeDefaultSelection EndP 1298 1299 ; [Linux support removed since v1.02] 1300 ;SETUPMAGIC_ChangeLinuxKernelPart Proc Near Uses ax cx dx si es di 1301 ; mov di, si 1302 ; mov dl, ds:[bx] ; Cur Partition No. 1303 ; push bx 1304 ; jc SMCLKP_DoNotModify 1305 ; SMCLKP_NowGoOn: 1306 ; mov dh, CFG_Partitions ; CFG_Partitions is Base==1 1307 ; inc dl ; +1 -> 00h instead FFh -> Disabled 1308 ; SMCLKP_RejectPartition: 1309 ; call SETUPMAGIC_InternalCheckUp ; CheckUp DL (max. CFG_Partitions) 1310 ; SMCLKP_DoNotModify: 1311 ; or dl, dl 1312 ; jz SMCLKP_FunctionDisabled 1313 ; ; Get Partition-Pointer (SI) to Partition-To-Boot (DL) 1314 ; dec dl 1315 ; call PART_GetPartitionPointer 1316 ; inc dl 1317 ; cmp bptr ds:[si+LocIPT_SystemID], 06h ; FAT-16 required 1318 ; jne SMCLKP_RejectPartition 1319 ; pop bx 1320 ; add si, LocIPT_Name ; Location of Name 1321 ; push cs 1322 ; pop es 1323 ; add di, LocMENU_ItemPack ; DI points to ItemPack 1324 ; mov cx, 11 1325 ; rep movsb ; Copy cur PartitionName to ItemPack 1326 ; xor al, al 1327 ; stosb ; Ending Zero 1328 ; SMCLKP_WriteNewValue: 1329 ; dec dl 1330 ; mov ds:[bx], dl ; Set new partition number 1331 ; ret 1332 ; 1333 ; SMCLKP_FunctionDisabled: 1334 ; pop bx 1335 ; mov si, offset TXT_SETUP_MAGIC_Disabled 1336 ; push cs 1337 ; pop es 1338 ; add di, LocMENU_ItemPack ; DI points to ItemPack... 1339 ; call SETUPMAGIC_InternalCopyTillNUL 1340 ; jmp SMCLKP_WriteNewValue 1341 ;SETUPMAGIC_ChangeLinuxKernelPart EndP 1342 1343 ; [Linux support removed since v1.02] 1344 ;SETUPMAGIC_ChangeLinuxRootPart Proc Near Uses ax cx dx si es di 1345 ; mov di, si 1346 ; pushf ; lame, but it's not working other ways 1347 ; test ds:[GotLinux], 1 1348 ; jnz SMCLRP_GotLinux 1349 ; popf 1350 ; add di, LocMENU_ItemPack ; DI points to ItemPack 1351 ; mov si, offset TXT_SETUP_MAGIC_NoLinux 1352 ; push cs 1353 ; pop es 1354 ; call SETUPMAGIC_InternalCopyTillNUL 1355 ; ret 1356 ; SMCLRP_GotLinux: 1357 ; mov dl, ds:[bx] ; Cur Partition No. 1358 ; mov dh, CFG_Partitions 1359 ; dec dh 1360 ; popf 1361 ; push bx 1362 ; jc SMCLRP_DoNotModify ; Thou shall not modify :) 1363 ; SMCLRP_RejectPartition: 1364 ; call SETUPMAGIC_InternalCheckUp ; CheckUp DL (max. CFG_Partitions-1) 1365 ; SMCLRP_DoNotModify: 1366 ; ; Get Partition-Pointer (SI) to Partition-To-Boot (DL) 1367 ; call PART_GetPartitionPointer 1368 ; cmp bptr ds:[si+LocIPT_SystemID], 083h 1369 ; jne SMCLRP_RejectPartition 1370 ; pop bx 1371 ; mov ds:[bx], dl 1372 ; push cs 1373 ; pop es 1374 ; add di, LocMENU_ItemPack ; DI points to ItemPack... 1375 ; push di 1376 ; mov cx, 12 1377 ; xor al, al 1378 ; rep stosb ; Fill with NULs 1379 ; pop di 1380 ; call LINUX_TranslateToDEV ; now translate thingie (DL) 1381 ; ret 1382 ;SETUPMAGIC_ChangeLinuxRootPart EndP 1383 1384 ; [Linux support removed since v1.02] 1348 1385 ; CH-ItemNo, CL-Add/Sub, BX-PtrToVariable, SI-ItemPack 1349 SETUPMAGIC_ChangeLinuxDefaultKernel Proc Near Uses ax cx dx si es di1350 mov di, si1351 jc SMCLDK_DoNotEdit1352 1353 ; --- Edit Linux Default Kernel Name ---1354 mov cl, 29 ; Left side: 291355 test ch, 1000b1356 jz SMCLDK_NoRightSide1357 and ch, 111b1358 mov cl, 68 ; Right side: 681359 SMCLDK_NoRightSide:1360 add ch, 6 ; Koordinate umberechnen1361 push cx1362 call VideoIO_Locate1363 mov cx, 0E01h1364 call VideoIO_Color ; Yellow on Blue1365 mov cl, 121366 mov si, offset CFG_LinuxDefaultKernel1367 call VideoIO_FixedPrint ; Print out [SI] (Length = CL)1368 pop cx1369 call VideoIO_Locate1370 mov cl, 111371 mov si, offset CFG_LinuxDefaultKernel1372 call VideoIO_LetUserEditString1373 1374 ; Final-Process string (which means upper-case it)1375 mov cl, 111376 SMCLDK_FinalProcessLoop:1377 mov al, bptr ds:[si]1378 cmp al, 'a'1379 jb SMCLDK_FinalProcessSkip1380 cmp al, 'z'1381 ja SMCLDK_FinalProcessSkip1382 sub al, 20h1383 SMCLDK_FinalProcessSkip:1384 mov bptr ds:[si], al1385 inc si1386 dec cl1387 jnz SMCLDK_FinalProcessLoop1388 ; --- End of Edit Linux Default Kernel Name ---1389 1390 SMCLDK_DoNotEdit:1391 push cs1392 pop es1393 add di, LocMENU_ItemPack ; DI points to ItemPack...1394 mov si, offset CFG_LinuxDefaultKernel1395 mov cx, 6 ; Copy from CFG-Space to ItemPack1396 rep movsw1397 ret1398 SETUPMAGIC_ChangeLinuxDefaultKernel EndP1386 ;SETUPMAGIC_ChangeLinuxDefaultKernel Proc Near Uses ax cx dx si es di 1387 ; mov di, si 1388 ; jc SMCLDK_DoNotEdit 1389 ; 1390 ; ; --- Edit Linux Default Kernel Name --- 1391 ; mov cl, 29 ; Left side: 29 1392 ; test ch, 1000b 1393 ; jz SMCLDK_NoRightSide 1394 ; and ch, 111b 1395 ; mov cl, 68 ; Right side: 68 1396 ; SMCLDK_NoRightSide: 1397 ; add ch, 6 ; Koordinate umberechnen 1398 ; push cx 1399 ; call VideoIO_Locate 1400 ; mov cx, 0E01h 1401 ; call VideoIO_Color ; Yellow on Blue 1402 ; mov cl, 12 1403 ; mov si, offset CFG_LinuxDefaultKernel 1404 ; call VideoIO_FixedPrint ; Print out [SI] (Length = CL) 1405 ; pop cx 1406 ; call VideoIO_Locate 1407 ; mov cl, 11 1408 ; mov si, offset CFG_LinuxDefaultKernel 1409 ; call VideoIO_LetUserEditString 1410 ; 1411 ; ; Final-Process string (which means upper-case it) 1412 ; mov cl, 11 1413 ; SMCLDK_FinalProcessLoop: 1414 ; mov al, bptr ds:[si] 1415 ; cmp al, 'a' 1416 ; jb SMCLDK_FinalProcessSkip 1417 ; cmp al, 'z' 1418 ; ja SMCLDK_FinalProcessSkip 1419 ; sub al, 20h 1420 ; SMCLDK_FinalProcessSkip: 1421 ; mov bptr ds:[si], al 1422 ; inc si 1423 ; dec cl 1424 ; jnz SMCLDK_FinalProcessLoop 1425 ; ; --- End of Edit Linux Default Kernel Name --- 1426 ; 1427 ; SMCLDK_DoNotEdit: 1428 ; push cs 1429 ; pop es 1430 ; add di, LocMENU_ItemPack ; DI points to ItemPack... 1431 ; mov si, offset CFG_LinuxDefaultKernel 1432 ; mov cx, 6 ; Copy from CFG-Space to ItemPack 1433 ; rep movsw 1434 ; ret 1435 ;SETUPMAGIC_ChangeLinuxDefaultKernel EndP 1399 1436 1400 1437 SETUPMAGIC_ChangeTimedKeyHandling Proc Near Uses ax cx dx ds si es di … … 1452 1489 SETUPMAGIC_ChangeBootMenu EndP 1453 1490 1491 SETUPMAGIC_ChangeFloppyDisplay Proc Near Uses cx dx si es di 1492 call SETUPMAGIC_EnableDisable ; forward call 1493 cmp CFG_PartDefault, 0FFh ; Default-Selection is us? 1494 jne SMCFD_Done 1495 xor ch, ch 1496 mov CFG_PartDefault, ch ; Reset Default-Selection to 1st part 1497 ; We need to fill up Item 0 (Default-Selection)... 1498 call SETUP_FillUpItemPack_Now 1499 ; ...and display it on screen (so the user thinks that we are not dumb) 1500 ; This is hardcoded, but there is no other way. 1501 xor dl, dl 1502 call SETUP_DrawDeSelectItem ; Redraw Item 0 1503 SMCFD_Done: 1504 ret 1505 SETUPMAGIC_ChangeFloppyDisplay EndP 1506 1454 1507 SETUPMAGIC_ChangeBIOSbootSeq Proc Near Uses ax bx cx dx si di 1455 1508 mov di, si … … 1464 1517 jnz SMCBBS_Enabled 1465 1518 mov si, offset TXT_SETUP_MAGIC_Disabled 1519 cmp CFG_PartDefault, 0FEh ; Default-Selection is us? 1520 jne SMCBBS_CopyThiz 1521 mov CFG_PartDefault, dl ; Reset Default-Selection to 1st part 1466 1522 jmp SMCBBS_CopyThiz 1467 1523 SMCBBS_Enabled: … … 1475 1531 pop es 1476 1532 call SETUPMAGIC_InternalCopyTillNUL 1533 ; Copy device-name to the ContBIOSbootSeq-IPT entry 1534 call PART_UpdateResumeBIOSName 1477 1535 ret 1478 1536 SETUPMAGIC_ChangeBIOSbootSeq EndP -
trunk/BOOTCODE/SETUP/MENUS.ASM
r23 r29 1 2 ; Disclaimer:3 ; =============4 ; The sourcecode is released via www.netlabs.org CVS *ONLY*.5 ; You MUST NOT upload it to other servers nor republish it in any way.6 ; The sourcecode is still COPYRIGHTED and NOT RELEASED UNDER GPL.7 ; It's (c) Copyright 1998-2003 by Martin Kiewitz.8 ; You may recompile the source and do *PRIVATE* modifications, but please keep9 ; in mind that modifying this code needs at least *some* assembly skill. If10 ; you mess up your system, because you needed to hack your way through, don't11 ; blame me. Releasing a customized version of AiR-BOOT, selling it in any form12 ; or reusing parts of this source is *PROHIBITED*. Ask me, if you have some13 ; idea about new functionality *before* developing the code, otherwise I will14 ; definitely reject it. Also please accept, that I have some basic design15 ; rules on AiR-BOOT and I will maintain them at all costs, so this won't get16 ; another GRUB.17 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 18 18 ;--------------------------------------------------------------------------- 19 19 ; AiR-BOOT SETUP / MENU STRUCTURE … … 101 101 dw offset TXT_SETUPHELP_SUBMENU ; Pointer to help info 102 102 ; The Menu-Items start here... 103 dw offset SETUPMAGIC_ChangePartition, offset CFG_PartDefault 104 dw offset TXT_SETUP_DefaultPart, offset TXT_SETUPHELP_DefaultPart 105 dw 6 dup (0) 103 dw offset SETUPMAGIC_ChangeDefaultSelection, offset CFG_PartDefault 104 dw offset TXT_SETUP_DefaultSelection, offset TXT_SETUPHELP_DefaultSelection 105 dw 6 dup (0) 106 ; ATTENTION: ChangeDefaultSelection is redrawn hardcoded in 107 ; SETUPMAGIC_ChangeFloppyDisplay. 106 108 dw offset SETUPMAGIC_EnableDisable, offset CFG_TimedBoot 107 109 dw offset TXT_SETUP_TimedBoot, offset TXT_SETUPHELP_TimedBoot … … 123 125 dw 6 dup (0) 124 126 ; The Menu-Items of the right side start here... 125 dw offset SETUPMAGIC_ EnableDisable, offset CFG_IncludeFloppy127 dw offset SETUPMAGIC_ChangeFloppyDisplay, offset CFG_IncludeFloppy 126 128 dw offset TXT_SETUP_IncludeFloppy, offset TXT_SETUPHELP_IncludeFloppy 127 129 dw 6 dup (0) … … 194 196 dw offset TXT_SETUPHELP_SUBMENU ; Pointer to help information 195 197 ; The Menu-Items start here... 196 dw offset SETUPMAGIC_ChangeLinuxKernelPart, offset CFG_LinuxKrnlPartition 197 dw offset TXT_SETUP_LinuxKernelPart, offset TXT_SETUPHELP_LinuxKernelPart 198 dw 6 dup (0) 199 dw offset SETUPMAGIC_ChangeLinuxDefaultKernel, offset CFG_LinuxDefaultKernel 200 dw offset TXT_SETUP_LinuxDefaultKernel, offset TXT_SETUPHELP_LinuxDefaultKrnl201 dw 6 dup (0) 202 dw offset SETUPMAGIC_ChangeLinuxRootPart, offset CFG_LinuxRootPartition 203 dw offset TXT_SETUP_LinuxRootPart, offset TXT_SETUPHELP_LinuxRootPart 204 dw 6 dup (0) 205 dw 0, 0 206 dw 0, 0207 dw 0, 0208 dw 0, 0198 ; [Linux support removed since v1.02] 199 ; dw offset SETUPMAGIC_ChangeLinuxKernelPart, offset CFG_LinuxKrnlPartition 200 ; dw offset TXT_SETUP_LinuxKernelPart, offset TXT_SETUPHELP_LinuxKernelPart 201 ; dw 6 dup (0) 202 ; dw offset SETUPMAGIC_ChangeLinuxDefaultKernel, offset CFG_LinuxDefaultKernel 203 ; dw offset TXT_SETUP_LinuxDefaultKernel, offset TXT_SETUPHELP_LinuxDefaultKrnl 204 ; dw 6 dup (0) 205 ; dw offset SETUPMAGIC_ChangeLinuxRootPart, offset CFG_LinuxRootPartition 206 ; dw offset TXT_SETUP_LinuxRootPart, offset TXT_SETUPHELP_LinuxRootPart 207 ; dw 6 dup (0) 208 dw offset SETUPMAGIC_EnableDisable, offset CFG_IgnoreLVM 209 dw offset TXT_SETUP_IgnoreLVM, offset TXT_SETUPHELP_IgnoreLVM 210 dw 6 dup (0) 209 211 dw offset SETUPMAGIC_EnableDisable, offset CFG_ForceLBAUsage 210 212 dw offset TXT_SETUP_ForceLBAUsage, offset TXT_SETUPHELP_ForceLBAUsage … … 213 215 dw offset TXT_SETUP_ExtPartMShack, offset TXT_SETUPHELP_ExtPartMShack 214 216 dw 6 dup (0) 215 ; The Menu-Items of the right side start here... 216 dw 0, 0 217 dw 0, 0 218 dw offset SETUP_EnterMenu_LinuxCommandLine, 0 219 dw offset TXT_SETUP_DefLinuxCmd, offset TXT_SETUPHELP_DefLinuxCmd 220 dw 0, 0 221 dw 0, 0 222 dw 0, 0 223 dw 0, 0 224 dw 0, 0 225 dw 0, 0 226 dw 0, 0 227 dw 0, 0 228 dw 0, 0 229 dw 0, 0 217 dw 0, 0 218 dw 0, 0 219 dw 0, 0 220 dw 0, 0 221 dw 0, 0 222 dw 0, 0 223 dw 0, 0 224 dw 0, 0 225 ; The Menu-Items of the right side start here... 226 dw 0, 0 227 dw 0, 0 228 ; [Linux support removed since v1.02] 229 dw 0, 0 230 dw 0, 0 231 ; dw offset SETUP_EnterMenu_LinuxCommandLine, 0 232 ; dw offset TXT_SETUP_DefLinuxCmd, offset TXT_SETUPHELP_DefLinuxCmd 233 dw 0, 0 234 dw 0, 0 235 dw 0, 0 236 dw 0, 0 237 dw 0, 0 238 dw 0, 0 239 dw 0, 0 240 dw 0, 0 241 dw 0, 0 242 dw 0, 0 -
trunk/BOOTCODE/SETUP/PART_SET.ASM
r23 r29 1 2 ; Disclaimer:3 ; =============4 ; The sourcecode is released via www.netlabs.org CVS *ONLY*.5 ; You MUST NOT upload it to other servers nor republish it in any way.6 ; The sourcecode is still COPYRIGHTED and NOT RELEASED UNDER GPL.7 ; It's (c) Copyright 1998-2003 by Martin Kiewitz.8 ; You may recompile the source and do *PRIVATE* modifications, but please keep9 ; in mind that modifying this code needs at least *some* assembly skill. If10 ; you mess up your system, because you needed to hack your way through, don't11 ; blame me. Releasing a customized version of AiR-BOOT, selling it in any form12 ; or reusing parts of this source is *PROHIBITED*. Ask me, if you have some13 ; idea about new functionality *before* developing the code, otherwise I will14 ; definitely reject it. Also please accept, that I have some basic design15 ; rules on AiR-BOOT and I will maintain them at all costs, so this won't get16 ; another GRUB.17 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 18 18 ;--------------------------------------------------------------------------- 19 19 ; AiR-BOOT SETUP / PARTITION SETUP … … 107 107 PSM_KeyBootAble: 108 108 call PART_GetPartitionPointer ; Gets Partition (DL) Pointer -> SI 109 mov al, cs:[si+LocIPT_Flags]109 mov al, [si+LocIPT_Flags] 110 110 xor al, Flags_BootAble 111 mov cs:[si+LocIPT_Flags], al111 mov [si+LocIPT_Flags], al 112 112 call PARTSETUP_DrawPartitionInfo 113 113 call PARTSETUP_BuildChoiceBar … … 116 116 PSM_KeyVIBRdetection: 117 117 call PART_GetPartitionPointer ; Gets Partition (DL) Pointer -> SI 118 mov al, cs:[si+LocIPT_Flags]118 mov al, [si+LocIPT_Flags] 119 119 xor al, Flags_VIBR_Detection 120 mov cs:[si+LocIPT_Flags], al120 mov [si+LocIPT_Flags], al 121 121 xor ax, ax 122 mov wptr cs:[si+LocIPT_BootRecordCRC], ax122 mov wptr [si+LocIPT_BootRecordCRC], ax 123 123 call PARTSETUP_DrawPartitionInfo 124 124 call PARTSETUP_BuildChoiceBar … … 143 143 PSM_KeyDriveLetterExtMShack: 144 144 call PART_GetPartitionPointer ; Gets Partition (DL) Pointer -> SI 145 mov al, cs:[si+LocIPT_Flags]145 mov al, [si+LocIPT_Flags] 146 146 xor al, Flags_ExtPartMShack 147 mov cs:[si+LocIPT_Flags], al147 mov [si+LocIPT_Flags], al 148 148 call PARTSETUP_DrawPartitionInfo 149 149 call PARTSETUP_BuildChoiceBar … … 343 343 mov al, '/' 344 344 call VideoIO_PrintSingleChar 345 mov al, cs:[si+LocIPT_Drive]345 mov al, [si+LocIPT_Drive] 346 346 sub al, 7Fh 347 347 call VideoIO_PrintByteNumber … … 363 363 call VideoIO_Locate 364 364 ; This is using a sub-routine for each flag. Is better that way. 365 mov bl, cs:[si+LocIPT_Flags]365 mov bl, [si+LocIPT_Flags] 366 366 mov bh, bl 367 367 mov al, TXT_SETUP_FlagLetterBootable … … 392 392 call VideoIO_Color ; Bright Red, Blue 393 393 pop cx 394 mov al, cs:[si+LocIPT_SystemID]394 mov al, [si+LocIPT_SystemID] 395 395 call PART_SearchFileSysName 396 396 mov cl, 8 … … 532 532 ; This is called from MBRS_Routines_PartitionSetup 533 533 ; In: DL - Partition to ChangeName 534 ; Destroyed: ax 535 PARTSETUP_ChangePartitionName Proc Near Uses dx ds si es di 534 ; Destroyed: ax bx cx 535 PARTSETUP_ChangePartitionName Proc Near Uses dx ds si di 536 push ds 537 pop es ; we need DS==ES in here for MOVSB etc. 536 538 call PART_GetPartitionPointer ; Gets the PartitionPointer for DL in SI 537 539 … … 551 553 call VideoIO_Locate ; Goes to CX 552 554 553 mov al, cs:[si+LocIPT_Flags] 554 xor dx, dx ; Remove "Magic" from DX... 555 test al, Flags_NoPartName 556 jnz PSCPN_ChangeButNoBRsave ; -> No Boot-Record Changing/Saving 557 555 mov ChangePartNameSave, 0 ; Don't save to BR / LVM Sector 556 557 ; We compare, if our IPT contains the same partition name as in BR or LVM 558 ; This is done for security purposes, because if they match, we will update 559 ; the name in both - IPT and BR/LVM. 560 movzx bx, dl 561 cmp [PartitionVolumeLetters+bx], 0 ; ==0 means not supported by LVM 562 je PSCPN_NotLVMSupported 563 564 ; ------------------------------------------------------------[LVM CHECK]--- 565 ; Load LVM-Sector here and seek to PartitionName 566 ; Set CurPartition_Location information of destination partition 567 mov ax, wptr [si+LocIPT_AbsolutePartTable] 568 mov wptr [CurPartition_Location+0], ax 569 mov ax, wptr [si+LocIPT_AbsolutePartTable+2] 570 mov wptr [CurPartition_Location+2], ax 571 mov ah, bptr [si+LocIPT_LocationPartTable+0] 572 mov al, [si+LocIPT_Drive] 573 mov wptr [CurPartition_Location+4], ax 574 mov ax, wptr [si+LocIPT_LocationPartTable+1] 575 mov wptr [CurPartition_Location+6], ax 576 mov di, si ; Put SI into DI 577 call DriveIO_LoadLVMSector 578 jnc PSCPN_LVMGotError ; Security again, if problem -> halt 579 push dx 580 mov ax, wptr [di+LocIPT_AbsoluteBegin] 581 mov dx, wptr [di+LocIPT_AbsoluteBegin+2] 582 call LVM_SearchForPartition 583 pop dx 584 jnc PSCPN_LVMGotError ; Not Found? -> display error and halt 585 add si, LocLVM_PartitionName 586 xchg si, di ; SI-IPTEntry, DI-LVM PartName 587 jmp PSCPN_CheckPartName ; Check, if match... 588 589 PSCPN_LVMGotError: 590 jmp MBR_LoadError 591 592 ; mov si, di ; Restore SI and bootrecord fall-back 593 PSCPN_NotLVMSupported: 594 ; ----------------------------------------------------[BOOT-RECORD CHECK]--- 558 595 ; Load Boot-Record... 559 mov ax, wptr cs:[si+LocIPT_AbsoluteBegin+0] 560 mov bx, wptr cs:[si+LocIPT_AbsoluteBegin+2] 561 mov cx, cs:[si+LocIPT_LocationBegin+1] 562 mov dh, cs:[si+LocIPT_LocationBegin+0] 563 mov dl, cs:[si+LocIPT_Drive] 564 call DriveIO_LoadPartition 565 566 ; Now check again, if IPT-Label is MATCHING the name in boot-record 567 ; If not simply don't save to boot-record, just security here... 568 push ExecBaseSeg 569 pop es 570 mov di, ExecBasePtr 596 push dx 597 mov ax, wptr [si+LocIPT_AbsoluteBegin+0] 598 mov bx, wptr [si+LocIPT_AbsoluteBegin+2] 599 mov cx, [si+LocIPT_LocationBegin+1] 600 mov dh, [si+LocIPT_LocationBegin+0] 601 mov dl, [si+LocIPT_Drive] 602 call DriveIO_LoadPartition 603 pop dx 604 ; We seek to Partition Label within boot-record here 605 mov di, offset PartitionSector 571 606 push si 572 mov al, cs:[si+LocIPT_SystemID]607 mov al, [si+LocIPT_SystemID] 573 608 call PART_SearchFileSysName 574 609 ; Replies AH - FileSysFlags, AL - UnhiddenID, SI - FileSysNamePtr 575 610 pop si 611 test ah, FileSysFlags_NoName ; If NoName by FileSysFlag 612 jnz PSCPN_LetUserEditPartName ; -> don't put it into BR at anytime 576 613 test ah, FileSysFlags_FAT32 ; FAT32 specific name getting 577 614 jz PSCPN_ResumeNormal … … 579 616 PSCPN_ResumeNormal: 580 617 add di, 2Bh ; ES:DI - Name der Partition 618 619 ; This code is used for BR and LVM checking 620 PSCPN_CheckPartName: 581 621 mov cx, 11 ; Partition-Name-Length = 11 Bytes 582 xor dx, dx ; Remove "Magic" from DX...583 622 push si di 584 623 add si, LocIPT_Name ; DS:SI -> Partition-Name 585 624 repz cmpsb 586 625 pop di si 587 jne PSCPN_ChangeButNoBRsave ; -> No Boot-Record Changing/Saving 588 mov dx, 0BABEh ; Magic - So Boot-Record will get saved 589 ; Let user change the name... 590 PSCPN_ChangeButNoBRsave: 626 jne PSCPN_LetUserEditPartName ; -> No BR/LVM Changing/Saving 627 mov ChangePartNameSave, 1 ; Remember, so we will save to BR 628 629 PSCPN_LetUserEditPartName: 630 ; User will now edit the volume label... 591 631 mov cx, 11 592 632 add si, LocIPT_Name ; DS:SI -> Partition-Name 593 633 call VideoIO_LetUserEditString ; -> does actual editing 594 jnc PSCPN_UserAbort ; Did user abort ? 595 ; ENTERd... 596 cmp dx, 0BABEh ; Do we have Magic in CX ? 597 jne PSCPN_UserAbort ; Just jump over Boot-Record SAVE 598 599 ; Save it as well in Partition's Boot Record... 634 jnc PSCPN_AllDone ; Did user abort ? 635 636 test ChangePartNameSave, 1 637 jz PSCPN_AllDone ; Actually we just skip BR/LVM-Save 638 639 ; Check, where to save 2nd destination to... 640 movzx bx, dl 641 cmp [PartitionVolumeLetters+bx], 0 ; ==0 means not supported by LVM 642 je PSCPN_SaveBootRecord 643 ; -------------------------------------------------------------[LVM SAVE]--- 644 ; Copy 11 bytes from IPT into LVM-Sector also fill 9 bytes with NUL 645 mov cx, 11 646 push si 647 rep movsb 648 pop si 649 xor al, al 650 mov cx, 9 651 rep stosb 652 ; Update LVM-CRC now... 653 mov si, offset LVMSector 654 call LVM_UpdateSectorCRC 655 IFDEF ReleaseCode 656 call DriveIO_SaveLVMSector ; Save sector 657 ENDIF 658 jmp PSCPN_AllDone 659 660 ; -----------------------------------------------------[BOOT-RECORD SAVE]--- 661 PSCPN_SaveBootRecord: 662 ; Copy 11 bytes from IPT to Boot-Record 600 663 mov cx, 11 601 664 push si … … 610 673 call PART_UpdateBootRecordCRC 611 674 612 PSCPN_UserAbort: 675 PSCPN_AllDone: 676 ; This here is done for safety, because we misused CurPartition_Location 677 xor ax, ax 678 mov di, offset CurPartition_Location 679 mov cx, 4 680 rep stosw ; NUL out CurPartition_Location 613 681 ret 614 682 PARTSETUP_ChangePartitionName EndP 615 683 616 617 618 619 684 ; ============================================================================= 620 621 685 ; This is called from MBRS_Routines_PartitionSetup 622 686 ; In: DL - Partition to HiddenSetup … … 695 759 PHSM_KeyToogle: 696 760 call PART_GetPartitionPointer ; Holt den Pointer der Partition (DL) nach SI 697 mov al, cs:[si+LocIPT_Flags]761 mov al, [si+LocIPT_Flags] 698 762 xor al, Flags_SpecialMarker 699 mov cs:[si+LocIPT_Flags], al763 mov [si+LocIPT_Flags], al 700 764 call PARTHIDESETUP_DrawPartitionInfo 701 765 call PARTHIDESETUP_BuildChoiceBar … … 871 935 ; Display "Type" field aka "HPFS" without ending NULs/Spaces 872 936 push si 873 mov al, cs:[si+LocIPT_SystemID]937 mov al, [si+LocIPT_SystemID] 874 938 call PART_SearchFileSysName 875 939 mov cx, 8 … … 890 954 call VideoIO_PrintSingleMultiChar ; Fill up area with spaces 891 955 ; Finally draw Hidden/Unhidden 892 mov bl, cs:[si+LocIPT_Flags]956 mov bl, [si+LocIPT_Flags] 893 957 mov si, offset TXT_SETUP_MAGIC_Unhidden 894 958 and bl, Flags_SpecialMarker … … 996 1060 ; if it's not set, don't do anything... 997 1061 call PART_GetPartitionPointer ; Holt den Pointer der Partition (DL) nach SI 998 mov al, cs:[si+LocIPT_Flags]1062 mov al, [si+LocIPT_Flags] 999 1063 test al, Flags_HideFeature 1000 1064 jz PHSGHCAS_EndOfEntries … … 1009 1073 mov cl, CFG_Partitions 1010 1074 PHSGHCAS_SpreadLoop: 1011 mov dl, cs:[di]1075 mov dl, [di] 1012 1076 inc di 1013 1077 cmp dl, 0FFh 1014 1078 je PHSGHCAS_EndOfEntries 1015 1079 call PART_GetPartitionPointer ; Pointer for partition DL to SI 1016 mov al, cs:[si+LocIPT_Flags]1080 mov al, [si+LocIPT_Flags] 1017 1081 or al, Flags_SpecialMarker ; Set marker 1018 mov cs:[si+LocIPT_Flags], al1082 mov [si+LocIPT_Flags], al 1019 1083 dec cl 1020 1084 jnz PHSGHCAS_SpreadLoop … … 1045 1109 mov cl, CFG_Partitions 1046 1110 PHSCHCAPTT_CollectLoop: 1047 mov bl, cs:[si+LocIPT_Flags]1111 mov bl, [si+LocIPT_Flags] 1048 1112 test bl, Flags_SpecialMarker 1049 1113 jz PHSCHCAPTT_NoMarker … … 1051 1115 inc di 1052 1116 xor bl, Flags_SpecialMarker ; Reset Flag 1053 mov cs:[si+LocIPT_Flags], bl1117 mov [si+LocIPT_Flags], bl 1054 1118 PHSCHCAPTT_NoMarker: 1055 1119 add si, LocIPT_LenOfIPT … … 1063 1127 ; Nothing to hide...so UNSET the Hidden-Feature Flag 1064 1128 call PART_GetPartitionPointer ; Holt den Pointer der Partition (DL) nach SI 1065 mov al, cs:[si+LocIPT_Flags]1129 mov al, [si+LocIPT_Flags] 1066 1130 mov ah, Flags_HideFeature 1067 1131 not ah 1068 1132 and al, ah 1069 mov cs:[si+LocIPT_Flags], al1133 mov [si+LocIPT_Flags], al 1070 1134 ret 1071 1135 … … 1082 1146 ; Something to hide...so SET the Hidden-Feature Flag 1083 1147 call PART_GetPartitionPointer ; Holt den Pointer der Partition (DL) nach SI 1084 mov al, cs:[si+LocIPT_Flags]1148 mov al, [si+LocIPT_Flags] 1085 1149 or al, Flags_HideFeature 1086 mov cs:[si+LocIPT_Flags], al1150 mov [si+LocIPT_Flags], al 1087 1151 ret 1088 1152 PARTHIDESETUP_CollectHideConfigAndPutToTable EndP … … 1095 1159 PARTSETUP_DriveLetterSetup Proc Near Uses dx si es di 1096 1160 call PART_GetPartitionPointer ; Gets the PartitionPointer for DL in SI 1097 cmp bptr cs:[si+LocIPT_SystemID], 06h ; Hardcoded FAT16 1098 je PSDLS_GotLDLP 1099 cmp bptr cs:[si+LocIPT_SystemID], 07h ; Hardcoded HPFS 1100 je PSDLS_GotLDLP 1161 ; SystemID must support DriveLetter feature (FAT16, HPFS, JFS) 1162 mov al, bptr [si+LocIPT_SystemID] 1163 push si 1164 call PART_SearchFileSysName 1165 pop si 1166 test ah, FileSysFlags_DriveLetter 1167 jnz PSDLS_GotLDLP 1101 1168 1102 1169 ; Drive-Letter feature only possible on HPFS/FAT16 (OS/2) systems -
trunk/BOOTCODE/SPECIAL/APM.ASM
r23 r29 1 2 ; Disclaimer:3 ; =============4 ; The sourcecode is released via www.netlabs.org CVS *ONLY*.5 ; You MUST NOT upload it to other servers nor republish it in any way.6 ; The sourcecode is still COPYRIGHTED and NOT RELEASED UNDER GPL.7 ; It's (c) Copyright 1998-2003 by Martin Kiewitz.8 ; You may recompile the source and do *PRIVATE* modifications, but please keep9 ; in mind that modifying this code needs at least *some* assembly skill. If10 ; you mess up your system, because you needed to hack your way through, don't11 ; blame me. Releasing a customized version of AiR-BOOT, selling it in any form12 ; or reusing parts of this source is *PROHIBITED*. Ask me, if you have some13 ; idea about new functionality *before* developing the code, otherwise I will14 ; definitely reject it. Also please accept, that I have some basic design15 ; rules on AiR-BOOT and I will maintain them at all costs, so this won't get16 ; another GRUB.17 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 18 18 ;--------------------------------------------------------------------------- 19 19 ; AiR-BOOT / APM SUPPORT -
trunk/BOOTCODE/SPECIAL/CHARSET.ASM
r23 r29 1 2 ; Disclaimer:3 ; =============4 ; The sourcecode is released via www.netlabs.org CVS *ONLY*.5 ; You MUST NOT upload it to other servers nor republish it in any way.6 ; The sourcecode is still COPYRIGHTED and NOT RELEASED UNDER GPL.7 ; It's (c) Copyright 1998-2003 by Martin Kiewitz.8 ; You may recompile the source and do *PRIVATE* modifications, but please keep9 ; in mind that modifying this code needs at least *some* assembly skill. If10 ; you mess up your system, because you needed to hack your way through, don't11 ; blame me. Releasing a customized version of AiR-BOOT, selling it in any form12 ; or reusing parts of this source is *PROHIBITED*. Ask me, if you have some13 ; idea about new functionality *before* developing the code, otherwise I will14 ; definitely reject it. Also please accept, that I have some basic design15 ; rules on AiR-BOOT and I will maintain them at all costs, so this won't get16 ; another GRUB.17 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 18 18 ;--------------------------------------------------------------------------- 19 19 ; AiR-BOOT / CHARSET SUPPORT -
trunk/BOOTCODE/SPECIAL/F00K/BILLSUXX.ASM
r23 r29 1 2 ; Disclaimer:3 ; =============4 ; The sourcecode is released via www.netlabs.org CVS *ONLY*.5 ; You MUST NOT upload it to other servers nor republish it in any way.6 ; The sourcecode is still COPYRIGHTED and NOT RELEASED UNDER GPL.7 ; It's (c) Copyright 1998-2003 by Martin Kiewitz.8 ; You may recompile the source and do *PRIVATE* modifications, but please keep9 ; in mind that modifying this code needs at least *some* assembly skill. If10 ; you mess up your system, because you needed to hack your way through, don't11 ; blame me. Releasing a customized version of AiR-BOOT, selling it in any form12 ; or reusing parts of this source is *PROHIBITED*. Ask me, if you have some13 ; idea about new functionality *before* developing the code, otherwise I will14 ; definitely reject it. Also please accept, that I have some basic design15 ; rules on AiR-BOOT and I will maintain them at all costs, so this won't get16 ; another GRUB.17 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 18 18 ;--------------------------------------------------------------------------- 19 19 ; AiR-BOOT / EXTENDED PARTITION - M$ HACK-IN 20 20 ;--------------------------------------------------------------------------- 21 21 22 ; A t least is AiR-BOOT compatible to the pseudo standard that's is used by an23 ; OS on a 32-bit processor, being actually a 16-bit extension that is24 ; outperformed by any 8-bit software running on a 4-bit microprocessor,25 ; written by a 2-bitcompany that can't stand 1-bit of competition.22 ; AiR-BOOT is compatible to the pseudo standard that's is used by an OS on a 23 ; 32-bit processor, being actually a 16-bit extension that is outperformed 24 ; by any 8-bit software running on a 4-bit microprocessor, written by a 2-bit 25 ; company that can't stand 1-bit of competition. 26 26 27 27 ; Here is code to change Extended Partition to Type 05h or 0Fh depending 28 28 ; on the partition's P-flag including the overall M$hack-Enable Flag. 29 MSHACK_ProcessPartTables Proc Near Uses ax dx esdi29 MSHACK_ProcessPartTables Proc Near Uses ax dx di 30 30 ; Check Overall M$-Hack Enable 31 31 test [CFG_ExtPartitionMShack], 1 … … 34 34 ; Now check Boot-Entry's flags... 35 35 mov ax, 050Fh 36 test bptr ds:[si+LocIPT_Flags], Flags_ExtPartMShack36 test bptr [si+LocIPT_Flags], Flags_ExtPartMShack 37 37 jz MSHPPT_ChangeToStandard 38 38 mov ax, 0F05h … … 45 45 or dh, dh 46 46 jz MSHPPT_NoMShack 47 push ExecBaseSeg48 pop es49 47 MSHPPT_HarddriveLoop: 50 48 push ax bx cx dx … … 58 56 59 57 ; Search for ID in AL and exchange with ID in AH 60 mov di, ExecBasePtr+446 ; ES:DI - First Partition Entry58 mov di, offset PartitionSector+446 ; ES:DI - 1st partition entry 61 59 MSHPPT_ScanLoop: 62 60 cmp al, bptr es:[di+4] 63 61 je MSHPPT_GotHit 64 62 add di, LocBRPT_LenOfEntry ; 16 Bytes per Partition-Entry 65 cmp di, 500+ ExecBasePtr63 cmp di, 500+offset PartitionSector 66 64 jb MSHPPT_ScanLoop 67 65 jmp MSHPPT_Failure -
trunk/BOOTCODE/SPECIAL/FAT16.ASM
r23 r29 1 2 ; Disclaimer:3 ; =============4 ; The sourcecode is released via www.netlabs.org CVS *ONLY*.5 ; You MUST NOT upload it to other servers nor republish it in any way.6 ; The sourcecode is still COPYRIGHTED and NOT RELEASED UNDER GPL.7 ; It's (c) Copyright 1998-2003 by Martin Kiewitz.8 ; You may recompile the source and do *PRIVATE* modifications, but please keep9 ; in mind that modifying this code needs at least *some* assembly skill. If10 ; you mess up your system, because you needed to hack your way through, don't11 ; blame me. Releasing a customized version of AiR-BOOT, selling it in any form12 ; or reusing parts of this source is *PROHIBITED*. Ask me, if you have some13 ; idea about new functionality *before* developing the code, otherwise I will14 ; definitely reject it. Also please accept, that I have some basic design15 ; rules on AiR-BOOT and I will maintain them at all costs, so this won't get16 ; another GRUB.17 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 18 18 ;--------------------------------------------------------------------------- 19 19 ; AiR-BOOT / FAT-16 SUPPORT -
trunk/BOOTCODE/SPECIAL/FX.ASM
r23 r29 1 2 ; Disclaimer:3 ; =============4 ; The sourcecode is released via www.netlabs.org CVS *ONLY*.5 ; You MUST NOT upload it to other servers nor republish it in any way.6 ; The sourcecode is still COPYRIGHTED and NOT RELEASED UNDER GPL.7 ; It's (c) Copyright 1998-2003 by Martin Kiewitz.8 ; You may recompile the source and do *PRIVATE* modifications, but please keep9 ; in mind that modifying this code needs at least *some* assembly skill. If10 ; you mess up your system, because you needed to hack your way through, don't11 ; blame me. Releasing a customized version of AiR-BOOT, selling it in any form12 ; or reusing parts of this source is *PROHIBITED*. Ask me, if you have some13 ; idea about new functionality *before* developing the code, otherwise I will14 ; definitely reject it. Also please accept, that I have some basic design15 ; rules on AiR-BOOT and I will maintain them at all costs, so this won't get16 ; another GRUB.17 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 18 18 ;--------------------------------------------------------------------------- 19 19 ; AiR-BOOT / F/X -
trunk/BOOTCODE/SPECIAL/FXTABLES.ASM
r23 r29 1 2 ; Disclaimer:3 ; =============4 ; The sourcecode is released via www.netlabs.org CVS *ONLY*.5 ; You MUST NOT upload it to other servers nor republish it in any way.6 ; The sourcecode is still COPYRIGHTED and NOT RELEASED UNDER GPL.7 ; It's (c) Copyright 1998-2003 by Martin Kiewitz.8 ; You may recompile the source and do *PRIVATE* modifications, but please keep9 ; in mind that modifying this code needs at least *some* assembly skill. If10 ; you mess up your system, because you needed to hack your way through, don't11 ; blame me. Releasing a customized version of AiR-BOOT, selling it in any form12 ; or reusing parts of this source is *PROHIBITED*. Ask me, if you have some13 ; idea about new functionality *before* developing the code, otherwise I will14 ; definitely reject it. Also please accept, that I have some basic design15 ; rules on AiR-BOOT and I will maintain them at all costs, so this won't get16 ; another GRUB.17 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 18 18 ;--------------------------------------------------------------------------- 19 19 ; AiR-BOOT / F/X TABLES -
trunk/BOOTCODE/SPECIAL/LINUX.ASM
r23 r29 1 2 ; Disclaimer:3 ; =============4 ; The sourcecode is released via www.netlabs.org CVS *ONLY*.5 ; You MUST NOT upload it to other servers nor republish it in any way.6 ; The sourcecode is still COPYRIGHTED and NOT RELEASED UNDER GPL.7 ; It's (c) Copyright 1998-2003 by Martin Kiewitz.8 ; You may recompile the source and do *PRIVATE* modifications, but please keep9 ; in mind that modifying this code needs at least *some* assembly skill. If10 ; you mess up your system, because you needed to hack your way through, don't11 ; blame me. Releasing a customized version of AiR-BOOT, selling it in any form12 ; or reusing parts of this source is *PROHIBITED*. Ask me, if you have some13 ; idea about new functionality *before* developing the code, otherwise I will14 ; definitely reject it. Also please accept, that I have some basic design15 ; rules on AiR-BOOT and I will maintain them at all costs, so this won't get16 ; another GRUB.17 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 18 18 ;--------------------------------------------------------------------------- 19 19 ; AiR-BOOT / LINUX SUPPORT … … 28 28 ; without them. 29 29 ; 30 ; And another note: *F uck* Linux usenet-users. Really. I mean *fuck them*.30 ; And another note: *F**k* Linux usenet-users. Really. I mean *f**k them*. 31 31 ; I asked in an OS/2 newsgroup for testers -> Got 8 volunteers within some 32 32 ; days. I asked in 2 Linux newsgroups. What did happen? Some idiots discussed 33 ; the whole sh iat with me, knew nothing about INT13h CHS/LBA mode, BIOS,33 ; the whole sh*t with me, knew nothing about INT13h CHS/LBA mode, BIOS, 34 34 ; boot-managers in general, assembly coding and other stuff and wanted to tell 35 35 ; me that 95k GRUB is well-coded and its good to have it placed all over your -
trunk/BOOTCODE/SPECIAL/SOUND.ASM
r23 r29 1 2 ; Disclaimer:3 ; =============4 ; The sourcecode is released via www.netlabs.org CVS *ONLY*.5 ; You MUST NOT upload it to other servers nor republish it in any way.6 ; The sourcecode is still COPYRIGHTED and NOT RELEASED UNDER GPL.7 ; It's (c) Copyright 1998-2003 by Martin Kiewitz.8 ; You may recompile the source and do *PRIVATE* modifications, but please keep9 ; in mind that modifying this code needs at least *some* assembly skill. If10 ; you mess up your system, because you needed to hack your way through, don't11 ; blame me. Releasing a customized version of AiR-BOOT, selling it in any form12 ; or reusing parts of this source is *PROHIBITED*. Ask me, if you have some13 ; idea about new functionality *before* developing the code, otherwise I will14 ; definitely reject it. Also please accept, that I have some basic design15 ; rules on AiR-BOOT and I will maintain them at all costs, so this won't get16 ; another GRUB.17 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 18 18 ;--------------------------------------------------------------------------- 19 19 ; AiR-BOOT / SOUND SUPPORT -
trunk/BOOTCODE/SPECIAL/VIRUS.ASM
r23 r29 1 2 ; Disclaimer:3 ; =============4 ; The sourcecode is released via www.netlabs.org CVS *ONLY*.5 ; You MUST NOT upload it to other servers nor republish it in any way.6 ; The sourcecode is still COPYRIGHTED and NOT RELEASED UNDER GPL.7 ; It's (c) Copyright 1998-2003 by Martin Kiewitz.8 ; You may recompile the source and do *PRIVATE* modifications, but please keep9 ; in mind that modifying this code needs at least *some* assembly skill. If10 ; you mess up your system, because you needed to hack your way through, don't11 ; blame me. Releasing a customized version of AiR-BOOT, selling it in any form12 ; or reusing parts of this source is *PROHIBITED*. Ask me, if you have some13 ; idea about new functionality *before* developing the code, otherwise I will14 ; definitely reject it. Also please accept, that I have some basic design15 ; rules on AiR-BOOT and I will maintain them at all costs, so this won't get16 ; another GRUB.17 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 18 18 ;--------------------------------------------------------------------------- 19 19 ; AiR-BOOT / VIRUS DETECTION -
trunk/BOOTCODE/TEXT/CHARSET.ASM
r23 r29 1 2 ; Disclaimer:3 ; =============4 ; The sourcecode is released via www.netlabs.org CVS *ONLY*.5 ; You MUST NOT upload it to other servers nor republish it in any way.6 ; The sourcecode is still COPYRIGHTED and NOT RELEASED UNDER GPL.7 ; It's (c) Copyright 1998-2003 by Martin Kiewitz.8 ; You may recompile the source and do *PRIVATE* modifications, but please keep9 ; in mind that modifying this code needs at least *some* assembly skill. If10 ; you mess up your system, because you needed to hack your way through, don't11 ; blame me. Releasing a customized version of AiR-BOOT, selling it in any form12 ; or reusing parts of this source is *PROHIBITED*. Ask me, if you have some13 ; idea about new functionality *before* developing the code, otherwise I will14 ; definitely reject it. Also please accept, that I have some basic design15 ; rules on AiR-BOOT and I will maintain them at all costs, so this won't get16 ; another GRUB.17 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 18 18 ;--------------------------------------------------------------------------- 19 19 ; AiR-BOOT / CYRILLIC CHARSET -
trunk/BOOTCODE/TEXT/DE/MBR.ASM
r8 r29 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 1 18 ;------------------------------------------------------------------------------ 2 19 ; AiR-BOOT / MBR-TEXT -
trunk/BOOTCODE/TEXT/DE/MENUS.ASM
r23 r29 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 1 18 ;--------------------------------------------------------------------------- 2 19 ; AiR-BOOT SETUP / ALL SETUP MENUS … … 28 45 ; Basic Options - Items - Max Length: 23 29 46 ;----------------------------------|---------------------|------------------ 30 TXT_SETUP_Default Part db 'Standard Partition', 047 TXT_SETUP_DefaultSelection db 'Standard Selektion', 0 31 48 TXT_SETUP_TimedBoot db 'Zeitgesteuerter Boot', 0 32 49 TXT_SETUP_TimedBootDelay db '-> Anzahl Sekunden', 0 … … 58 75 ; Extended Options - Items - Max Length: 23 59 76 ;----------------------------------|---------------------|------------------ 60 TXT_SETUP_LinuxKernelPart db 'Linux Kernel Partition', 0 61 TXT_SETUP_LinuxDefaultKernel db 'Linux Default Kernel', 0 62 TXT_SETUP_LinuxRootPart db 'Linux Root Partition', 0 77 ; [Linux support removed since v1.02] 78 ;TXT_SETUP_LinuxKernelPart db 'Linux Kernel Partition', 0 79 ;TXT_SETUP_LinuxDefaultKernel db 'Linux Default Kernel', 0 80 ;TXT_SETUP_LinuxRootPart db 'Linux Root Partition', 0 81 ; This here may be larger than 23 chars... 82 ;TXT_SETUP_DefLinuxCmd db 'DEFINIERE LINUX KOMMANDOZEILE', 0 83 TXT_SETUP_IgnoreLVM db 'Ignoriere LVM Daten', 0 63 84 TXT_SETUP_ForceLBAUsage db 'Erzwinge BIOS-LBA', 0 64 85 TXT_SETUP_ExtPartMShack db 'Erw-Part MS Workaround', 0 65 ; This here may be larger than 23 chars...66 TXT_SETUP_DefLinuxCmd db 'DEFINIERE LINUX KOMMANDOZEILE', 067 86 68 87 ; DYNAMIC LENGTH, maximum 11 chars excluding ending zero … … 72 91 TXT_SETUP_MAGIC_Detailed db 'Detailiert', 0 73 92 TXT_SETUP_MAGIC_NoBootable db 'Nix Bootbar', 0 74 TXT_SETUP_MAGIC_NoLinux db 'Kein Linux', 0 93 ; [Linux support removed since v1.02] 94 ;TXT_SETUP_MAGIC_NoLinux db 'Kein Linux', 0 75 95 TXT_SETUP_MAGIC_DoNothing db 'Nichts', 0 76 96 TXT_SETUP_MAGIC_ResetTime db 'Zeit Reset', 0 … … 158 178 ; Basic Options - Help 159 179 ;----------------------------------|--------------------|------------------- 160 TXT_SETUPHELP_Default Part db 'ndert die Default', 0161 db ' Partition. Wird u.a.', 0180 TXT_SETUPHELP_DefaultSelection db 'ndert die Standard', 0 181 db 'Selektion. Wird u.a.', 0 162 182 db 'beim zeitgesteuerten', 0 163 183 db 'Boot verwendet.', 0 … … 260 280 ; Extended Options - Help 261 281 ;----------------------------------|--------------------|------------------- 262 TXT_SETUPHELP_LinuxKernelPart db 'Definiert die FAT-16', 0 263 db 'Partition, die Linux', 0 264 db 'Kernels beinhaltet.', 0 265 db 0 266 TXT_SETUPHELP_LinuxDefaultKrnl db 'Definiert den Default', 0 267 db 'Kernel Namen.', 0 268 db 0 269 TXT_SETUPHELP_LinuxRootPart db 'Definiert die Linux', 0 270 db 'Root Partition.', 0 271 db 0 272 ;----------------------------------|--------------------|------------------- 282 ; [Linux support removed since v1.02] 283 ;TXT_SETUPHELP_LinuxKernelPart db 'Definiert die FAT-16', 0 284 ; db 'Partition, die Linux', 0 285 ; db 'Kernels beinhaltet.', 0 286 ; db 0 287 ;TXT_SETUPHELP_LinuxDefaultKrnl db 'Definiert den Default', 0 288 ; db 'Kernel Namen.', 0 289 ; db 0 290 ;TXT_SETUPHELP_LinuxRootPart db 'Definiert die Linux', 0 291 ; db 'Root Partition.', 0 292 ; db 0 293 ;TXT_SETUPHELP_DefLinuxCmd: db 'Definiert die Linux', 0 294 ; db 'Kommandozeile.', 0 295 ; db 0 296 ;----------------------------------|--------------------|------------------- 297 TXT_SETUPHELP_IgnoreLVM db 'AiR-BOOT sucht in', 0 298 db 'diesem Fall nicht nach', 0 299 db 'LVM Informationen.', 0 300 db 0 273 301 TXT_SETUPHELP_ForceLBAUsage db 'Erzwingt Bentzung der', 0 274 302 db 'BIOS LBA APIs anstatt', 0 … … 281 309 db 'das P-Flag in Standard', 0 282 310 db 'oder MS-Erfindung.', 0 283 db 0284 TXT_SETUPHELP_DefLinuxCmd: db 'Definiert die Linux', 0285 db 'Kommandozeile.', 0286 311 db 0 287 312 … … 312 337 ; Maximum 60 chars (should not be reached) 313 338 ;----------------------------------|----------------------------------------------------------| 314 TXT_SETUP_EnterLinuxCmdLine db 'Bitte geben Sie ihre Linux Kommandozeile ein:', 0 315 TXT_SETUP_NoLinuxInstalled db 'Sie haben kein Linux installiert', 0 316 TXT_SETUP_NoLDLpartition db 'Diese Partition ist weder vom Typ HPFS noch FAT16', 0 339 ; [Linux support removed since v1.02] 340 ;TXT_SETUP_EnterLinuxCmdLine db 'Bitte geben Sie ihre Linux Kommandozeile ein:', 0 341 ;TXT_SETUP_NoLinuxInstalled db 'Sie haben kein Linux installiert', 0 342 TXT_SETUP_NoLDLpartition db 'Diese Partition ist weder vom Typ HPFS/FAT16/JFS', 0 317 343 318 344 ; Maximum 34 chars (should not be reached) … … 330 356 TXT_SETUPHELP_DriveLetter db 'C-Z drcken', 0 331 357 332 IFNDEF ReleaseCommercial 333 ; Colors for special words hard-coded. Keep all 0s. 334 TXT_SETUP_LowerMessage db 'Dieses Programm ist ',0,'kostenlos',0,' fr nicht-kommerzielle Bentzung.',0 335 db 'Sie drfen AiR-BOOT ',0,'NICHT',0,' in ',0,'-IRGENDEINER-',0,' Form vertreiben/bentzen,',0 336 db 'falls Sie Geld fr das jeweilige Produkt oder die Installation erhalten.',0 337 db 'Sofern Sie AiR-BOOT in ',0,'anderen Bereichen',0,' benutzen oder',0,0,0 338 db 'vorinstallieren',0,' mchten, kontaktieren Sie mich via: ',0,'kiewitz@netlabs.org',0,' !',0 339 ENDIF 358 ; Colors for special words hard-coded. Keep all 0s. 359 ;TXT_SETUP_LowerMessage db 'Dieses Programm ist ',0,'kostenlos',0,' fr nicht-kommerzielle Bentzung.',0 360 ; db 'Sie drfen AiR-BOOT ',0,'NICHT',0,' in ',0,'-IRGENDEINER-',0,' Form vertreiben/bentzen,',0 361 ; db 'falls Sie Geld fr das jeweilige Produkt oder die Installation erhalten.',0 362 ; db 'Sofern Sie AiR-BOOT in ',0,'anderen Bereichen',0,' benutzen oder',0,0,0 363 ; db 'vorinstallieren',0,' mchten, kontaktieren Sie mich via: ',0,'kiewitz@netlabs.org',0,' !',0 -
trunk/BOOTCODE/TEXT/DE/OTHER.ASM
r26 r29 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 1 18 ;------------------------------------------------------------------------------ 2 19 ; AiR-BOOT / OTHER TEXT -
trunk/BOOTCODE/TEXT/DT/MBR.ASM
r8 r29 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 1 18 ;------------------------------------------------------------------------------ 2 19 ; AiR-BOOT / MBR-TEXT -
trunk/BOOTCODE/TEXT/DT/MENUS.ASM
r23 r29 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 1 18 ;--------------------------------------------------------------------------- 2 19 ; AiR-BOOT SETUP / ALL SETUP MENUS … … 28 45 ; Basic Options - Items - Max Length: 23 29 46 ;----------------------------------|---------------------|------------------ 30 TXT_SETUP_Default Part db 'Standaardpartitie', 047 TXT_SETUP_DefaultSelection db 'Standaardkeuze', 0 31 48 TXT_SETUP_TimedBoot db 'Opstart met wachttijd', 0 32 49 TXT_SETUP_TimedBootDelay db 'Wachttijd: aantal sec', 0 … … 58 75 ; Extended Options - Items - Max Length: 23 59 76 ;----------------------------------|---------------------|------------------ 60 TXT_SETUP_LinuxKernelPart db 'Linux Kernel Partitie', 0 61 TXT_SETUP_LinuxDefaultKernel db 'Linux Standaard Kernel', 0 62 TXT_SETUP_LinuxRootPart db 'Linux hoofdafdeling', 0 77 ; [Linux support removed since v1.02] 78 ;TXT_SETUP_LinuxKernelPart db 'Linux Kernel Partitie', 0 79 ;TXT_SETUP_LinuxDefaultKernel db 'Linux Standaard Kernel', 0 80 ;TXT_SETUP_LinuxRootPart db 'Linux hoofdafdeling', 0 81 ; This here may be larger than 23 chars... 82 ;TXT_SETUP_DefLinuxCmd db 'Opdrachtenreeks voor Linux', 0 83 TXT_SETUP_IgnoreLVM db 'LVM-gegevens negeren', 0 63 84 TXT_SETUP_ForceLBAUsage db 'Enkel BIOS-LBA', 0 64 85 TXT_SETUP_ExtPartMShack db 'Ext-Part MS Workaround', 0 65 86 ;----------------------------------|---------------------|------------------ 66 67 ; This here may be larger than 23 chars...68 TXT_SETUP_DefLinuxCmd db 'Opdrachtenreeks voor Linux', 069 87 70 88 ; DYNAMIC LENGTH, maximum 11 chars excluding ending zero … … 74 92 TXT_SETUP_MAGIC_Detailed db 'Alles', 0 75 93 TXT_SETUP_MAGIC_NoBootable db 'Geen opstbr', 0 76 TXT_SETUP_MAGIC_NoLinux db 'Geen Linux', 0 94 ; [Linux support removed since v1.02] 95 ;TXT_SETUP_MAGIC_NoLinux db 'Geen Linux', 0 77 96 TXT_SETUP_MAGIC_DoNothing db 'Negeren', 0 78 97 TXT_SETUP_MAGIC_ResetTime db 'Tijd op nul', 0 … … 162 181 ; Basic Options - Help 163 182 ;----------------------------------|--------------------|-------------------- 164 TXT_SETUPHELP_Default Partdb 'Wijzigt de standaard-', 0165 db ' partitie. Ook als er', 0183 TXT_SETUPHELP_DefaultSelection db 'Wijzigt de standaard-', 0 184 db 'selectie. Ook als er', 0 166 185 db 'een wachttijd werd', 0 167 186 db 'ingesteld.' ,0 … … 277 296 ; Extended Options - Help 278 297 ;----------------------------------|--------------------|------------------- 279 TXT_SETUPHELP_LinuxKernelPart db 'Bepaald de FAT-16', 0 280 db 'partitie voor uw Li-', 0 281 db 'nux kernelbestanden.', 0 282 db 0 283 TXT_SETUPHELP_LinuxDefaultKrnl db 'Specifieert de Linux', 0 284 db 'standaard kernel be-', 0 285 db 'standsnaam.', 0 286 db 0 287 TXT_SETUPHELP_LinuxRootPart db 'Linux opstart-', 0 288 db 'partitie wijzigen.', 0 298 ; [Linux support removed since v1.02] 299 ;TXT_SETUPHELP_LinuxKernelPart db 'Bepaald de FAT-16', 0 300 ; db 'partitie voor uw Li-', 0 301 ; db 'nux kernelbestanden.', 0 302 ; db 0 303 ;TXT_SETUPHELP_LinuxDefaultKrnl db 'Specifieert de Linux', 0 304 ; db 'standaard kernel be-', 0 305 ; db 'standsnaam.', 0 306 ; db 0 307 ;TXT_SETUPHELP_LinuxRootPart db 'Linux opstart-', 0 308 ; db 'partitie wijzigen.', 0 309 ; db 0 310 ;TXT_SETUPHELP_DefLinuxCmd: db 'Opdrachten voor Linux', 0 311 ; db 'instellen, indien', 0 312 ; db 'Linux beschikbaar.', 0 313 ; db 0 314 ;----------------------------------|--------------------|------------------- 315 TXT_SETUPHELP_IgnoreLVM db 'Werd deze optie', 0 316 db 'geactiveerd,dan worden', 0 317 db 'LVM-gegevens als', 0 318 db 'onbestaande beschouwd.', 0 289 319 db 0 290 320 TXT_SETUPHELP_ForceLBAUsage db 'Uitschakelen van de', 0 … … 299 329 db 'standaard of MS-Invent', 0 300 330 db '(gedef. door P optie)', 0 301 db 0302 TXT_SETUPHELP_DefLinuxCmd: db 'Opdrachten voor Linux', 0303 db 'instellen, indien', 0304 db 'Linux beschikbaar.', 0305 331 db 0 306 332 … … 331 357 ; Maximum 60 chars (should not be reached) 332 358 ;----------------------------------|----------------------------------------------------------| 333 TXT_SETUP_EnterLinuxCmdLine db 'U kan nu Linux opdrachten invoeren of wijzigen:', 0 334 TXT_SETUP_NoLinuxInstalled db 'Linux niet aanwezig op uw systeem!', 0 335 TXT_SETUP_NoLDLpartition db 'Deze partitie werd noch FAT16 noch hpfs geformatteerd!', 0 359 ; [Linux support removed since v1.02] 360 ;TXT_SETUP_EnterLinuxCmdLine db 'U kan nu Linux opdrachten invoeren of wijzigen:', 0 361 ;TXT_SETUP_NoLinuxInstalled db 'Linux niet aanwezig op uw systeem!', 0 362 TXT_SETUP_NoLDLpartition db 'Deze partitie werd noch FAT16/HPFS/JFS geformatteerd!', 0 336 363 337 364 ; Maximum 34 chars (should not be reached) … … 349 376 TXT_SETUPHELP_DriveLetter db 'Kies uit C @ Z', 0 350 377 351 IFNDEF ReleaseCommercial 352 ; Colors for special words hard-coded. Keep all 0s. 353 TXT_SETUP_LowerMessage: db 'U mag dit programma ',0,'vrijelijk',0,' gebruiken ten privaten titel.',0 354 db 'U mag in ',0,'GEEN GEVAL',0,' AiR-BOOT gebruiken/verdelen indien dit op ',0,'-ENIGERLEI-',0,0 355 db 'manier, gepaard gaat met een geldelijke vergoeding.',0 356 db 'Wilt u AiR-BOOT gebruiken ',0,'in andere omstandigheden',0,', ',0,'zoals voorgenstalleerd',0,' of',0 357 db 'afzonderlijk verdeeld',0,', vraag het dan via email aan: ',0,'kiewitz@netlabs.org',0,' !',0 358 ENDIF 378 ; Colors for special words hard-coded. Keep all 0s. 379 ;TXT_SETUP_LowerMessage: db 'U mag dit programma ',0,'vrijelijk',0,' gebruiken ten privaten titel.',0 380 ; db 'U mag in ',0,'GEEN GEVAL',0,' AiR-BOOT gebruiken/verdelen indien dit op ',0,'-ENIGERLEI-',0,0 381 ; db 'manier, gepaard gaat met een geldelijke vergoeding.',0 382 ; db 'Wilt u AiR-BOOT gebruiken ',0,'in andere omstandigheden',0,', ',0,'zoals voorgenstalleerd',0,' of',0 383 ; db 'afzonderlijk verdeeld',0,', vraag het dan via email aan: ',0,'kiewitz@netlabs.org',0,' !',0 -
trunk/BOOTCODE/TEXT/DT/OTHER.ASM
r27 r29 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 1 18 ;------------------------------------------------------------------------------ 2 19 ; AiR-BOOT / OTHER TEXT -
trunk/BOOTCODE/TEXT/EN/MBR.ASM
r8 r29 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 1 18 ;------------------------------------------------------------------------------ 2 19 ; AiR-BOOT / MBR-TEXT … … 4 21 ;------------------------------------------------------------------------------ 5 22 6 TXT_LanguageID equ ' U'23 TXT_LanguageID equ 'E' 7 24 8 25 ; Those strings are saved within MBR. -
trunk/BOOTCODE/TEXT/EN/MENUS.ASM
r23 r29 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 1 18 ;--------------------------------------------------------------------------- 2 19 ; AiR-BOOT SETUP / ALL SETUP MENUS … … 28 45 ; Basic Options - Items - Max Length: 23 29 46 ;----------------------------------|---------------------|------------------ 30 TXT_SETUP_Default Part db 'Default Partition', 047 TXT_SETUP_DefaultSelection db 'Default Selection', 0 31 48 TXT_SETUP_TimedBoot db 'Timed Boot', 0 32 49 TXT_SETUP_TimedBootDelay db 'Timed Boot Delay (sec)', 0 … … 58 75 ; Extended Options - Items - Max Length: 23 59 76 ;----------------------------------|---------------------|------------------ 60 TXT_SETUP_LinuxKernelPart db 'Linux Kernel Partition', 0 61 TXT_SETUP_LinuxDefaultKernel db 'Linux Default Kernel', 0 62 TXT_SETUP_LinuxRootPart db 'Linux Root Partition', 0 77 ; [Linux support removed since v1.02] 78 ;TXT_SETUP_LinuxKernelPart db 'Linux Kernel Partition', 0 79 ;TXT_SETUP_LinuxDefaultKernel db 'Linux Default Kernel', 0 80 ;TXT_SETUP_LinuxRootPart db 'Linux Root Partition', 0 81 ; This here may be larger than 23 chars... 82 ;TXT_SETUP_DefLinuxCmd db 'DEFINE COMMAND LINE FOR LINUX', 0 83 TXT_SETUP_IgnoreLVM db 'Ignore LVM information', 0 63 84 TXT_SETUP_ForceLBAUsage db 'Force BIOS-LBA Usage', 0 64 85 TXT_SETUP_ExtPartMShack db 'Ext-Part MS Workaround', 0 65 ; This here may be larger than 23 chars...66 TXT_SETUP_DefLinuxCmd db 'DEFINE COMMAND LINE FOR LINUX', 067 86 68 87 ; DYNAMIC LENGTH, maximum 11 chars excluding ending zero … … 72 91 TXT_SETUP_MAGIC_Detailed db 'Detailed', 0 73 92 TXT_SETUP_MAGIC_NoBootable db 'No Bootable', 0 74 TXT_SETUP_MAGIC_NoLinux db 'No Linux', 0 93 ; [Linux support removed since v1.02] 94 ;TXT_SETUP_MAGIC_NoLinux db 'No Linux', 0 75 95 TXT_SETUP_MAGIC_DoNothing db 'Do Nothing', 0 76 96 TXT_SETUP_MAGIC_ResetTime db 'Reset Time', 0 … … 156 176 ; Basic Options - Help 157 177 ;----------------------------------|--------------------|------------------- 158 TXT_SETUPHELP_Default Partdb 'Changes your default', 0159 db ' partition. It can be', 0178 TXT_SETUPHELP_DefaultSelection db 'Changes your default', 0 179 db 'selection. It can be', 0 160 180 db 'used on Timed Boot.', 0 161 181 db 0 … … 261 281 ; Extended Options - Help 262 282 ;----------------------------------|--------------------|------------------- 263 TXT_SETUPHELP_LinuxKernelPart db 'Defines the FAT-16', 0 264 db 'partition that holds', 0 265 db 'your Linux kernels.', 0 266 db 0 267 TXT_SETUPHELP_LinuxDefaultKrnl db 'Defines your default', 0 268 db 'kernel filename.', 0 269 db 0 270 TXT_SETUPHELP_LinuxRootPart db 'Changes your Linux', 0 271 db 'root partition.', 0 283 ; [Linux support removed since v1.02] 284 ;TXT_SETUPHELP_LinuxKernelPart db 'Defines the FAT-16', 0 285 ; db 'partition that holds', 0 286 ; db 'your Linux kernels.', 0 287 ; db 0 288 ;TXT_SETUPHELP_LinuxDefaultKrnl db 'Defines your default', 0 289 ; db 'kernel filename.', 0 290 ; db 0 291 ;TXT_SETUPHELP_LinuxRootPart db 'Changes your Linux', 0 292 ; db 'root partition.', 0 293 ; db 0 294 ;TXT_SETUPHELP_DefLinuxCmd: db 'Defines the command', 0 295 ; db 'line for Linux, if', 0 296 ; db 'available.', 0 297 ; db 0 298 ;----------------------------------|--------------------|------------------- 299 TXT_SETUPHELP_IgnoreLVM db 'If activated, AiR-BOOT', 0 300 db 'won''t even look for', 0 301 db 'LVM information.', 0 272 302 db 0 273 303 TXT_SETUPHELP_ForceLBAUsage db 'Forces the usage of', 0 … … 281 311 db 'MS-invention.', 0 282 312 db '(defined by P-flag)', 0 283 db 0284 TXT_SETUPHELP_DefLinuxCmd: db 'Defines the command', 0285 db 'line for Linux, if', 0286 db 'available.', 0287 313 db 0 288 314 … … 313 339 ; Maximum 60 chars (should not be reached) 314 340 ;----------------------------------|----------------------------------------------------------| 315 TXT_SETUP_EnterLinuxCmdLine db 'Please enter/modify your Linux command-line:', 0 316 TXT_SETUP_NoLinuxInstalled db 'You do not have Linux installed', 0 317 TXT_SETUP_NoLDLpartition db 'The selected partition is not HPFS nor FAT16', 0 341 ; [Linux support removed since v1.02] 342 ;TXT_SETUP_EnterLinuxCmdLine db 'Please enter/modify your Linux command-line:', 0 343 ;TXT_SETUP_NoLinuxInstalled db 'You do not have Linux installed', 0 344 TXT_SETUP_NoLDLpartition db 'The selected partition is not HPFS/FAT16/JFS', 0 318 345 319 346 ; Maximum 34 chars (should not be reached) … … 331 358 TXT_SETUPHELP_DriveLetter db 'Press C-Z', 0 332 359 333 IFNDEF ReleaseCommercial 334 ; Colors for special words hard-coded. Keep all 0s. 335 TXT_SETUP_LowerMessage db 'This program is ',0,'free',0,' for non-commercial private use.',0 336 db 'You may ',0,'NOT',0,' distribute/use AiR-BOOT in ',0,'-ANY-',0,' form,',0 337 db 'if you get money for the distributed product or the service.',0 338 db 'If you want to use AiR-BOOT in ',0,'other environments',0,', ',0,'preinstall',0,' or',0 339 db 'distribute',0,' it, please contact me via e-mail: ',0,'kiewitz@netlabs.org',0,' !',0 340 ENDIF 360 ; Colors for special words hard-coded. Keep all 0s. 361 ;TXT_SETUP_LowerMessage db 0,'Free',0,' private usage, but NOT for people that are/were working for US government',0 362 ; db 'This software is released under ', 0, 'GPLv3+.', 0 363 ; db 'For more information and source, please visit', 0 364 ; db 'http://AiR-BOOT.sourceforge.net', 0 365 ; db 'Contact via e-mail: ', 0, 'm_kiewitz [AT] users.sourceforge.net', 0 -
trunk/BOOTCODE/TEXT/EN/OTHER.ASM
r26 r29 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 1 18 ;------------------------------------------------------------------------------ 2 19 ; AiR-BOOT / OTHER TEXT -
trunk/BOOTCODE/TEXT/FR/MBR.ASM
r8 r29 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 1 18 ;------------------------------------------------------------------------------ 2 19 ; AiR-BOOT / MBR-TEXT -
trunk/BOOTCODE/TEXT/FR/MENUS.ASM
r23 r29 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 1 18 ;--------------------------------------------------------------------------- 2 19 ; AiR-BOOT SETUP / ALL SETUP MENUS … … 28 45 ; Basic Options - Items - Max Length: 23 29 46 ;----------------------------------|---------------------|------------------ 30 TXT_SETUP_Default Part db 'Partition Par Dfaut', 047 TXT_SETUP_DefaultSelection db 'Slection Par Dfaut', 0 31 48 TXT_SETUP_TimedBoot db 'Amorage Temporis', 0 32 49 TXT_SETUP_TimedBootDelay db 'Dlai d''amorage (sec)', 0 … … 58 75 ; Extended Options - Items - Max Length: 23 59 76 ;----------------------------------|---------------------|------------------ 60 TXT_SETUP_LinuxKernelPart db 'Partition Noyau Linux', 0 61 TXT_SETUP_LinuxDefaultKernel db 'Noyau Linux par Dfaut', 0 62 TXT_SETUP_LinuxRootPart db 'Partition Racine Linux', 0 77 ; [Linux support removed since v1.02] 78 ;TXT_SETUP_LinuxKernelPart db 'Partition Noyau Linux', 0 79 ;TXT_SETUP_LinuxDefaultKernel db 'Noyau Linux par Dfaut', 0 80 ;TXT_SETUP_LinuxRootPart db 'Partition Racine Linux', 0 81 ; This here may be larger than 23 chars... 82 ;TXT_SETUP_DefLinuxCmd db 'DFINIR LIGNE DE COMMANDE LINUX', 0 83 TXT_SETUP_IgnoreLVM db 'Ignorer Information LVM', 0 63 84 TXT_SETUP_ForceLBAUsage db 'Force usage du BIOS-LBA', 0 64 85 TXT_SETUP_ExtPartMShack db 't-Part MS Workaround', 0 65 ; This here may be larger than 23 chars...66 TXT_SETUP_DefLinuxCmd db 'DFINIR LIGNE DE COMMANDE LINUX', 067 86 68 87 ; DYNAMIC LENGTH, maximum 11 chars excluding ending zero … … 72 91 TXT_SETUP_MAGIC_Detailed db 'Dtaill', 0 73 92 TXT_SETUP_MAGIC_NoBootable db 'Pas Amorce', 0 74 TXT_SETUP_MAGIC_NoLinux db 'Pas Linux', 0 93 ; [Linux support removed since v1.02] 94 ;TXT_SETUP_MAGIC_NoLinux db 'Pas Linux', 0 75 95 TXT_SETUP_MAGIC_DoNothing db 'Rien faire', 0 76 96 TXT_SETUP_MAGIC_ResetTime db 'R … … 159 179 ; Basic Options - Help 160 180 ;----------------------------------|--------------------|------------------- 161 TXT_SETUPHELP_DefaultPart db 'Modifier votre', 0 162 db 'partition par dfaut.', 0 163 db 'Peut tre utilis en', 0 164 db 'amorage temporis.', 0 181 TXT_SETUPHELP_DefaultSelection db 'Modifier votre', 0 182 db 'slection par dfaut.', 0 165 183 db 0 166 184 TXT_SETUPHELP_TimedBoot db 'AiR-BOOT procdera', 0 … … 272 290 ; Extended Options - Help 273 291 ;----------------------------------|--------------------|------------------- 274 TXT_SETUPHELP_LinuxKernelPart db 'Dfinir la partition', 0 275 db 'FAT-16 contenant vos', 0 276 db 'noyaux Linux.', 0 277 db 0 278 TXT_SETUPHELP_LinuxDefaultKrnl db 'Dfinir le nom du', 0 279 db 'noyau par dfaut.', 0 280 db 0 281 TXT_SETUPHELP_LinuxRootPart db 'Modifier votre', 0 282 db 'partition racine', 0 283 db 'Linux.', 0 292 ; [Linux support removed since v1.02] 293 ;TXT_SETUPHELP_LinuxKernelPart db 'Dfinir la partition', 0 294 ; db 'FAT-16 contenant vos', 0 295 ; db 'noyaux Linux.', 0 296 ; db 0 297 ;TXT_SETUPHELP_LinuxDefaultKrnl db 'Dfinir le nom du', 0 298 ; db 'noyau par dfaut.', 0 299 ; db 0 300 ;TXT_SETUPHELP_LinuxRootPart db 'Modifier votre', 0 301 ; db 'partition racine', 0 302 ; db 'Linux.', 0 303 ; db 0 304 ;TXT_SETUPHELP_DefLinuxCmd: db 'Dfinir la ligne de', 0 305 ; db 'commande pour Linux,', 0 306 ; db 'si disponible.', 0 307 ; db 0 308 TXT_SETUPHELP_IgnoreLVM db 'Si activ, AiR-BOOT', 0 309 db 'ignorera l''information', 0 310 db 'LVM.', 0 284 311 db 0 285 312 TXT_SETUPHELP_ForceLBAUsage db 'Forcer l''usage de', 0 … … 293 320 db 'partition tendue.', 0 294 321 db '(dfini par drapeau P)', 0 295 db 0296 TXT_SETUPHELP_DefLinuxCmd: db 'Dfinir la ligne de', 0297 db 'commande pour Linux,', 0298 db 'si disponible.', 0299 322 db 0 300 323 … … 325 348 ; Maximum 60 chars (should not be reached) 326 349 ;----------------------------------|----------------------------------------------------------| 327 TXT_SETUP_EnterLinuxCmdLine db 'Veuillez entrer/modifier votre ligne de commande Linux:', 0 328 TXT_SETUP_NoLinuxInstalled db 'Linux non install', 0 329 TXT_SETUP_NoLDLpartition db 'La partition slectionne n''est pas du type HPFS/FAT16', 0 350 ; [Linux support removed since v1.02] 351 ;TXT_SETUP_EnterLinuxCmdLine db 'Veuillez entrer/modifier votre ligne de commande Linux:', 0 352 ;TXT_SETUP_NoLinuxInstalled db 'Linux non install', 0 353 TXT_SETUP_NoLDLpartition db 'La partition slectionne n''est pas du type HPFS/FAT16/JFS', 0 330 354 331 355 ; Maximum 34 chars (should not be reached) … … 344 368 TXT_SETUPHELP_DriveLetter db 'Appuyez C-Z', 0 345 369 346 IFNDEF ReleaseCommercial 347 ; Colors for special words hard-coded. Keep all 0s. 348 TXT_SETUP_LowerMessage db 'Ce programme est ',0,'gratuit',0,' pour une utilisation prive non-commerciale.',0 349 db 'Vous ne devez ',0,'PAS',0,' distribuer/utiliser AiR-BOOT sous ',0,'-TOUTE-',0,' forme,',0 350 db 'si vous tes pay pour la distribution du produit ou du service.',0 351 db 'Pour utiliser AiR-BOOT dans des ',0,'conditions diffrentes',0,', ',0,'pr-installer',0,' ou',0 352 db 'le distribuer',0,', svp veuillez me contacter par courriel: ',0,'kiewitz@netlabs.org',0,' !',0 353 ENDIF 370 ; Colors for special words hard-coded. Keep all 0s. 371 ;TXT_SETUP_LowerMessage db 'Ce programme est ',0,'gratuit',0,' pour une utilisation prive non-commerciale.',0 372 ; db 'Vous ne devez ',0,'PAS',0,' distribuer/utiliser AiR-BOOT sous ',0,'-TOUTE-',0,' forme,',0 373 ; db 'si vous tes pay pour la distribution du produit ou du service.',0 374 ; db 'Pour utiliser AiR-BOOT dans des ',0,'conditions diffrentes',0,', ',0,'pr-installer',0,' ou',0 375 ; db 'le distribuer',0,', svp veuillez me contacter par courriel: ',0,'kiewitz@netlabs.org',0,' !',0 -
trunk/BOOTCODE/TEXT/FR/OTHER.ASM
r26 r29 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 1 18 ;------------------------------------------------------------------------------ 2 19 ; AiR-BOOT / OTHER TEXT … … 37 54 38 55 ; Dynamic Length (till 80 chars) 39 TXT_BrokenPartitionTable: db 13, 10, ' - Votre systme a au moins d' une entre mauvaise de table de partition, ou'56 TXT_BrokenPartitionTable: db 13, 10, ' - Votre systme a au moins d''une entre mauvaise de table de partition, ou' 40 57 db 13, 10, ' la disque dr a des casse secteurs. Systme arrt.', 0 41 58 TXT_TooManyPartitions: db 13, 10, ' - Trop de partitions trouves. AiR-BOOT supporte un maximum de 30.', 0 -
trunk/BOOTCODE/TEXT/IT/MBR.ASM
r23 r29 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 1 18 ;------------------------------------------------------------------------------ 2 19 ; AiR-BOOT / MBR-TEXT -
trunk/BOOTCODE/TEXT/IT/MENUS.ASM
r23 r29 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 1 18 ;--------------------------------------------------------------------------- 2 19 ; AiR-BOOT SETUP / ALL SETUP MENUS … … 28 45 ; Basic Options - Items - Max Length: 23 29 46 ;----------------------------------|---------------------|------------------ 47 TXT_SETUP_DefaultSelection db 'Selezione Standard', 0 30 48 TXT_SETUP_DefaultPart db 'Partizione Predefinita', 0 31 49 TXT_SETUP_TimedBoot db 'Avvio Temporizzato', 0 … … 58 76 ; Extended Options - Items - Max Length: 23 59 77 ;----------------------------------|---------------------|------------------ 60 TXT_SETUP_LinuxKernelPart db 'Partiz. kernel Linux', 0 61 TXT_SETUP_LinuxDefaultKernel db 'Kernel Linux predef.', 0 62 TXT_SETUP_LinuxRootPart db 'Partizione Root Linux', 0 78 ; [Linux support removed since v1.02] 79 ;TXT_SETUP_LinuxKernelPart db 'Partiz. kernel Linux', 0 80 ;TXT_SETUP_LinuxDefaultKernel db 'Kernel Linux predef.', 0 81 ;TXT_SETUP_LinuxRootPart db 'Partizione Root Linux', 0 82 ; This here may be larger than 23 chars... 83 ;TXT_SETUP_DefLinuxCmd db 'DEFINIRE LINEA DI COMANDO LINUX', 0 84 TXT_SETUP_IgnoreLVM db 'Ignorare LVM info.', 0 63 85 TXT_SETUP_ForceLBAUsage db 'Forza uso LBA del BIOS', 0 64 86 TXT_SETUP_ExtPartMShack db 'Est-Part MS Workaround', 0 65 ; This here may be larger than 23 chars...66 TXT_SETUP_DefLinuxCmd db 'DEFINIRE LINEA DI COMANDO LINUX', 067 87 68 88 ; DYNAMIC LENGTH, maximum 11 chars excluding ending zero … … 72 92 TXT_SETUP_MAGIC_Detailed db 'Dettagli', 0 73 93 TXT_SETUP_MAGIC_NoBootable db 'No Avviab.', 0 74 TXT_SETUP_MAGIC_NoLinux db 'No Linux', 0 94 ; [Linux support removed since v1.02] 95 ;TXT_SETUP_MAGIC_NoLinux db 'No Linux', 0 75 96 TXT_SETUP_MAGIC_DoNothing db 'Nessuna Az.', 0 76 97 TXT_SETUP_MAGIC_ResetTime db 'Reset Timer', 0 … … 160 181 ; Basic Options - Help 161 182 ;----------------------------------|--------------------|------------------- 162 TXT_SETUPHELP_DefaultPart db 'Cambia la partizione', 0 163 db 'predefinita usata', 0 164 db 'nell''Avvio', 0 165 db 'Temporizzato', 0 183 TXT_SETUPHELP_DefaultSelection db 'Cambia la selezione', 0 184 db 'standard', 0 166 185 db 0 167 186 TXT_SETUPHELP_TimedBoot db 'AiR-BOOT procede', 0 … … 275 294 ; Extended Options - Help 276 295 ;----------------------------------|--------------------|------------------- 277 TXT_SETUPHELP_LinuxKernelPart db 'Partizione FAT-16', 0 278 db 'contenente i vari', 0 279 db 'kernels di Linux', 0 280 db 0 281 TXT_SETUPHELP_LinuxDefaultKrnl db 'Definisce il nome del', 0 282 db 'kernel predefinito', 0 283 db 0 284 TXT_SETUPHELP_LinuxRootPart db 'Cambia la partizione', 0 285 db 'root di Linux', 0 296 ; [Linux support removed since v1.02] 297 ;TXT_SETUPHELP_LinuxKernelPart db 'Partizione FAT-16', 0 298 ; db 'contenente i vari', 0 299 ; db 'kernels di Linux', 0 300 ; db 0 301 ;TXT_SETUPHELP_LinuxDefaultKrnl db 'Definisce il nome del', 0 302 ; db 'kernel predefinito', 0 303 ; db 0 304 ;TXT_SETUPHELP_LinuxRootPart db 'Cambia la partizione', 0 305 ; db 'root di Linux', 0 306 ; db 0 307 ;TXT_SETUPHELP_DefLinuxCmd: db 'Definisce la linea di', 0 308 ; db 'comando per Linux, se', 0 309 ; db 'disponibile', 0 310 ; db 0 311 ;----------------------------------|--------------------|------------------- 312 TXT_SETUPHELP_IgnoreLVM db 'Se attivato AiR-BOOT', 0 313 db 'non cerca neanche LVM', 0 314 db 'informazione.', 0 286 315 db 0 287 316 TXT_SETUPHELP_ForceLBAUsage db 'Forza l''uso delle API', 0 … … 295 324 db 'standard a tipo MS', 0 296 325 db '(definito dal P-flag)', 0 297 db 0298 TXT_SETUPHELP_DefLinuxCmd: db 'Definisce la linea di', 0299 db 'comando per Linux, se', 0300 db 'disponibile', 0301 326 db 0 302 327 … … 327 352 ; Maximum 60 chars (should not be reached) 328 353 ;----------------------------------|----------------------------------------------------------| 329 TXT_SETUP_EnterLinuxCmdLine db 'Inserire/modificare la linea di comando per Linux:', 0 330 TXT_SETUP_NoLinuxInstalled db 'Linux non installato nel sistema', 0 331 TXT_SETUP_NoLDLpartition db 'Partizione selezionata non HPFS/FAT16', 0 354 ; [Linux support removed since v1.02] 355 ;TXT_SETUP_EnterLinuxCmdLine db 'Inserire/modificare la linea di comando per Linux:', 0 356 ;TXT_SETUP_NoLinuxInstalled db 'Linux non installato nel sistema', 0 357 TXT_SETUP_NoLDLpartition db 'Partizione selezionata non HPFS/FAT16/JFS', 0 332 358 333 359 ; Maximum 34 chars (should not be reached) … … 345 371 TXT_SETUPHELP_DriveLetter db 'Premere C a Z', 0 346 372 347 IFNDEF ReleaseCommercial 348 ; Colors for special words hard-coded. Keep all 0s. 349 TXT_SETUP_LowerMessage db 'Programma ',0,'gratuito',0,' per uso privato non commerciale.',0 350 db 'Proibita ',0,'ASSOLUTAMENTE',0,' distribuzione o uso di AiR-BOOT in ',0,'-OGNI-',0,' modo,',0 351 db 'in caso di pagamento del prodotto o del servizio fornito con esso.',0 352 db 'Se si vuole usare AiR-BOOT secondo ',0,'altre condizioni',0,', ',0,'preinstallarlo',0,' o ',0 353 db 'distribuirlo',0,' , contattatemi via e-mail: ',0,'kiewitz@netlabs.org',0,' !',0 354 ENDIF 373 ; Colors for special words hard-coded. Keep all 0s. 374 ;TXT_SETUP_LowerMessage db 'Programma ',0,'gratuito',0,' per uso privato non commerciale.',0 375 ; db 'Proibita ',0,'ASSOLUTAMENTE',0,' distribuzione o uso di AiR-BOOT in ',0,'-OGNI-',0,' modo,',0 376 ; db 'in caso di pagamento del prodotto o del servizio fornito con esso.',0 377 ; db 'Se si vuole usare AiR-BOOT secondo ',0,'altre condizioni',0,', ',0,'preinstallarlo',0,' o ',0 378 ; db 'distribuirlo',0,' , contattatemi via e-mail: ',0,'kiewitz@netlabs.org',0,' !',0 -
trunk/BOOTCODE/TEXT/IT/OTHER.ASM
r26 r29 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 1 18 ;------------------------------------------------------------------------------ 2 19 ; AiR-BOOT / OTHER TEXT -
trunk/BOOTCODE/TEXT/RU/MBR.ASM
r8 r29 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 1 18 ;------------------------------------------------------------------------------ 2 19 ; AiR-BOOT / MBR-TEXT -
trunk/BOOTCODE/TEXT/RU/MENUS.ASM
r23 r29 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 1 18 ;--------------------------------------------------------------------------- 2 19 ; AiR-BOOT SETUP / ALL SETUP MENUS … … 35 52 ; Basic Options - Items - Max Length: 23 36 53 ;----------------------------------|---------------------|------------------ 37 TXT_SETUP_Default Part db ' §€¥« ¯®ã¬®«ç šî', 054 TXT_SETUP_DefaultSelection db 'ë¡®à ¯®-㬮«ç šî', 0 38 55 TXT_SETUP_TimedBoot db '¢â®¬ âšç¥áª ï § £à㧪 ', 0 39 56 TXT_SETUP_TimedBootDelay db 'à¥¬ï ¢â®§ £à㧪š (á)', 0 … … 65 82 ; Extended Options - Items - Max Length: 23 66 83 ;----------------------------------|---------------------|------------------ 67 TXT_SETUP_LinuxKernelPart db ' §€¥« ï€à Linux', 0 68 TXT_SETUP_LinuxDefaultKernel db '€à® Linux ¯® 㬮«ç šî', 0 69 TXT_SETUP_LinuxRootPart db ' §€¥« ª®àï Linux', 0 84 ; [Linux support removed since v1.02] 85 ;TXT_SETUP_LinuxKernelPart db ' §€¥« ï€à Linux', 0 86 ;TXT_SETUP_LinuxDefaultKernel db '€à® Linux ¯® 㬮«ç šî', 0 87 ;TXT_SETUP_LinuxRootPart db ' §€¥« ª®àï Linux', 0 88 ; This here may be larger than 23 chars... 89 ;TXT_SETUP_DefLinuxCmd db ' 90 LINUX', 0 91 TXT_SETUP_IgnoreLVM db '£®àšà®¢ âì € ë¥ LVM', 0 70 92 TXT_SETUP_ForceLBAUsage db 'ᯮ«ì§®¢ âì BIOS-LBA', 0 71 93 TXT_SETUP_ExtPartMShack db ' §€¥«ë €«ï MS-ášá⥬', 0 72 ; This here may be larger than 23 chars...73 TXT_SETUP_DefLinuxCmd db '74 LINUX', 075 94 76 95 ; DYNAMIC LENGTH, maximum 11 chars excluding ending zero … … 80 99 TXT_SETUP_MAGIC_Detailed db '¥â «ì®', 0 81 100 TXT_SETUP_MAGIC_NoBootable db '¥ § £àãŠ.', 0 82 TXT_SETUP_MAGIC_NoLinux db '¥ Linux', 0 101 ; [Linux support removed since v1.02] 102 ;TXT_SETUP_MAGIC_NoLinux db '¥ Linux', 0 83 103 TXT_SETUP_MAGIC_DoNothing db '¥§€¥©áâ¢.', 0 84 104 TXT_SETUP_MAGIC_ResetTime db ' ç « ', 0 … … 168 188 ; Basic Options - Help 169 189 ;----------------------------------|--------------------|------------------- 170 TXT_SETUPHELP_DefaultPart db '¥ï¥â è à §€¥« ¯®', 0 171 db '㬮«ç šî. ¬®Š¥â', 0 172 db '¡ëâì šá¯®«ì§®¢ €«ï', 0 173 db ' ¢â®§ £à㧪š.', 0 190 TXT_SETUPHELP_DefaultSelection db '¬¥šâì è ¢ë¡®à', 0 191 db '¯®-㬮«ç šî.', 0 174 192 db 0 175 193 TXT_SETUPHELP_TimedBoot db 'AiR-BOOT ¯à®€®«Ššâ', 0 … … 271 289 ; Extended Options - Help 272 290 ;----------------------------------|--------------------|------------------- 273 TXT_SETUPHELP_LinuxKernelPart db ' §€¥« FAT-16, ', 0 274 db 'ª®â®à®¬ à ᯮ«®Š¥ë', 0 275 db ' èš ï€à Linux.', 0 276 db 0 277 TXT_SETUPHELP_LinuxDefaultKrnl db '¬ï ä ©« €«ï ï€à ', 0 278 db '¯® 㬮«ç šî.', 0 279 db 0 280 TXT_SETUPHELP_LinuxRootPart db ' §€¥« á ª®à¥¢ë¬', 0 281 db 'ª â «®£®¬ Linux.', 0 291 ; [Linux support removed since v1.02] 292 ;TXT_SETUPHELP_LinuxKernelPart db ' §€¥« FAT-16, ', 0 293 ; db 'ª®â®à®¬ à ᯮ«®Š¥ë', 0 294 ; db ' èš ï€à Linux.', 0 295 ; db 0 296 ;TXT_SETUPHELP_LinuxDefaultKrnl db '¬ï ä ©« €«ï ï€à ', 0 297 ; db '¯® 㬮«ç šî.', 0 298 ; db 0 299 ;TXT_SETUPHELP_LinuxRootPart db ' §€¥« á ª®à¥¢ë¬', 0 300 ; db 'ª â «®£®¬ Linux.', 0 301 ; db 0 302 ;TXT_SETUPHELP_DefLinuxCmd: db '®¬ € ï áâப €«ï', 0 303 ; db '§ £à㧪š Linux, ¥á«š', 0 304 ; db '¥®¡å®€š¬®.', 0 305 ; db 0 306 TXT_SETUPHELP_IgnoreLVM db 'àš ¢ª«î祚š í⮩', 0 307 db '®¯æšš AiR-BOOT ¥', 0 308 db '¡ã€¥â šáª âì', 0 309 db 'šä®à¬ æšî LVM', 0 282 310 db 0 283 311 TXT_SETUPHELP_ForceLBAUsage db 'ॡ〥⠚ᯮ«ì§®¢ š¥', 0 … … 291 319 db 'š«š MS.', 0 292 320 db '(㪠§ âì ç¥à¥§ P-ä« £)', 0 293 db 0294 TXT_SETUPHELP_DefLinuxCmd: db '®¬ € ï áâப €«ï', 0295 db '§ £à㧪š Linux, ¥á«š', 0296 db '¥®¡å®€š¬®.', 0297 321 db 0 298 322 … … 327 351 ; Maximum 60 chars (should not be reached) 328 352 ;----------------------------------|----------------------------------------------------------| 329 TXT_SETUP_EnterLinuxCmdLine db '¢¥€šâ¥ š«š šá¯à ¢ì⥠ª®¬ €ãî áâபã:', 0 330 TXT_SETUP_NoLinuxInstalled db ' á ¥ ãáâ ®¢«¥ Linux', 0 331 TXT_SETUP_NoLDLpartition db 'ë¡à ë© à §€¥« ¥ ï¥âáï HPFS š«š FAT16', 0 353 ; [Linux support removed since v1.02] 354 ;TXT_SETUP_EnterLinuxCmdLine db '¢¥€šâ¥ š«š šá¯à ¢ì⥠ª®¬ €ãî áâபã:', 0 355 ;TXT_SETUP_NoLinuxInstalled db ' á ¥ ãáâ ®¢«¥ Linux', 0 356 TXT_SETUP_NoLDLpartition db 'ë¡à ë© à §€¥« ¥ ï¥âáï HPFS/FAT16/JFS', 0 332 357 333 358 ; Maximum 34 chars (should not be reached) … … 345 370 TXT_SETUPHELP_DriveLetter db ' Ьšâ¥ C-Z', 0 346 371 347 IFNDEF ReleaseCommercial 348 ; Colors for special words hard-coded. Keep all 0s. 349 TXT_SETUP_LowerMessage db 'â ¯à®£à ¬¬ ',0,'¡¥á¯« â ',0,' €«ï ¥ª®¬¬¥àç¥áª®£® šá¯®«ì§®¢ šï.',0 350 db 'ë ',0,' 372 ; Colors for special words hard-coded. Keep all 0s. 373 ;TXT_SETUP_LowerMessage db 'â ¯à®£à ¬¬ ',0,'¡¥á¯« â ',0,' €«ï ¥ª®¬¬¥àç¥áª®£® šá¯®«ì§®¢ šï.',0 374 ; db 'ë ',0,' 351 375 ',0,' ¬®Š¥â¥ à á¯à®áâà ïâì/šá¯®«ì§®¢ âì AiR-BOOT ¢ ',0,'--',0,' ä®à¬¥,',0 352 db '¥á«š ë ¯®«ãç ¥â¥ § íâ® €¥ì£š.',0353 db '376 ; db '¥á«š ë ¯®«ãç ¥â¥ § íâ® €¥ì£š.',0 377 ; db ' 354 378 ᫚ ë å®âšâ¥ šá¯®«ì§®¢ âì AiR-BOOT ¢ ',0,'¢ €à㣚å ášá⥬ å',0,', ',0,'¯à¥€ãáâ ¢«š¢ âì',0,' š«š',0 355 db 'à á¯à®áâà ïâì',0,' á¢ïŠšâ¥áì á® ¬®© ¯® e-mail: ',0,'kiewitz@netlabs.org',0,' !',0 356 ENDIF 379 ; db 'à á¯à®áâà ïâì',0,' á¢ïŠšâ¥áì á® ¬®© ¯® e-mail: ',0,'kiewitz@netlabs.org',0,' !',0 -
trunk/BOOTCODE/TEXT/RU/OTHER.ASM
r26 r29 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 1 18 ;------------------------------------------------------------------------------ 2 19 ; AiR-BOOT / OTHER TEXT … … 37 54 38 55 ; Dynamic Length (till 80 chars) 39 TXT_BrokenPartitionTable: db 13, 10, ' - ¡ à㊥ ¬šš¬ã¬ ®€š šá¯®àç¥ë© à §€¥«, «š¡® â ¡«šæ à §€¥«®¢ ᮀ¥àŠšâ 56 TXT_BrokenPartitionTable: db 13, 10, ' - ¡ à㊥ ¬šš¬ã¬ ®€š šá¯®àç¥ë© à §€¥«, «š¡® â ¡«šæ à §€¥«®¢ ᮀ¥àŠšâ' 40 57 db 13, 10, ' á¡®©ë¥ ¡«®ªš. šá⥬ ®áâ ®¢«¥ .', 0 41 58 TXT_TooManyPartitions: db 13, 10, ' - «šèª®¬ ¬®£® à §€¥«®¢ ©€¥®. AiR-BOOT ¯®€€¥àŠš¢ ¥â €® 30.', 0 -
trunk/BOOTCODE/TEXT/SW/MBR.ASM
r12 r29 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 1 18 ;------------------------------------------------------------------------------ 2 19 ; AiR-BOOT / MBR-TEXT -
trunk/BOOTCODE/TEXT/SW/MENUS.ASM
r23 r29 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 1 18 ;--------------------------------------------------------------------------- 2 19 ; AiR-BOOT SETUP / ALL SETUP MENUS … … 28 45 ; Basic Options - Items - Max Length: 23 29 46 ;----------------------------------|---------------------|------------------ 30 TXT_SETUP_Default Partdb 'Standard Partition', 047 TXT_SETUP_DefaultSelection db 'Standard Partition', 0 31 48 TXT_SETUP_TimedBoot db 'Tidstyrd Bootning', 0 32 49 TXT_SETUP_TimedBootDelay db 'TidsBoot Frdrj (sek)', 0 … … 58 75 ; Extended Options - Items - Max Length: 23 59 76 ;----------------------------------|---------------------|------------------ 60 TXT_SETUP_LinuxKernelPart db 'Linux Kernel Partition', 0 61 TXT_SETUP_LinuxDefaultKernel db 'Linux Standard Krna', 0 62 TXT_SETUP_LinuxRootPart db 'Linux Root Partition', 0 77 ; [Linux support removed since v1.02] 78 ;TXT_SETUP_LinuxKernelPart db 'Linux Kernel Partition', 0 79 ;TXT_SETUP_LinuxDefaultKernel db 'Linux Standard Krna', 0 80 ;TXT_SETUP_LinuxRootPart db 'Linux Root Partition', 0 81 ; This here may be larger than 23 chars... 82 ;TXT_SETUP_DefLinuxCmd db 'DEFINIERA KOMMANDORAD FR LINUX', 0 83 TXT_SETUP_IgnoreLVM db 'Ignore LVM information', 0 84 ; ### 63 85 TXT_SETUP_ForceLBAUsage db 'Forc BIOS-LBA Anvndn.', 0 64 86 TXT_SETUP_ExtPartMShack db 'Ext-Part MS Workaround', 0 65 ; This here may be larger than 23 chars...66 TXT_SETUP_DefLinuxCmd db 'DEFINIERA KOMMANDORAD FR LINUX', 067 87 68 88 ; DYNAMIC LENGTH, maximum 11 chars excluding ending zero … … 72 92 TXT_SETUP_MAGIC_Detailed db 'Detaljerad', 0 73 93 TXT_SETUP_MAGIC_NoBootable db 'Ej Bootbar', 0 74 TXT_SETUP_MAGIC_NoLinux db 'Ej Linux', 0 94 ; [Linux support removed since v1.02] 95 ;TXT_SETUP_MAGIC_NoLinux db 'Ej Linux', 0 75 96 TXT_SETUP_MAGIC_DoNothing db 'Gr Inget', 0 76 97 TXT_SETUP_MAGIC_ResetTime db 'terst. Tid', 0 … … 160 181 ; Basic Options - Help 161 182 ;----------------------------------|--------------------|------------------- 183 TXT_SETUPHELP_DefaultSelection db 'Changes your default', 0 184 db 'selection. It can be', 0 185 db 'used on Timed Boot.', 0 186 db 0 187 ; #### 162 188 TXT_SETUPHELP_DefaultPart db 'ndrar din standard', 0 163 189 db 'partition. Den kan', 0 … … 277 303 ; Extended Options - Help 278 304 ;----------------------------------|--------------------|------------------- 279 TXT_SETUPHELP_LinuxKernelPart db 'Definierar FAT-16', 0 280 db 'partition som', 0 281 db 'innehller dina', 0 282 db 'Linux krnor.', 0 283 db 0 284 TXT_SETUPHELP_LinuxDefaultKrnl db 'Definiera din', 0 285 db 'standardkrnas', 0 286 db 'filnamn.', 0 287 db 0 288 TXT_SETUPHELP_LinuxRootPart db 'ndrar din Linux', 0 289 db 'root partition.', 0 290 db 0 305 ; [Linux support removed since v1.02] 306 ;TXT_SETUPHELP_LinuxKernelPart db 'Definierar FAT-16', 0 307 ; db 'partition som', 0 308 ; db 'innehller dina', 0 309 ; db 'Linux krnor.', 0 310 ; db 0 311 ;TXT_SETUPHELP_LinuxDefaultKrnl db 'Definiera din', 0 312 ; db 'standardkrnas', 0 313 ; db 'filnamn.', 0 314 ; db 0 315 ;TXT_SETUPHELP_LinuxRootPart db 'ndrar din Linux', 0 316 ; db 'root partition.', 0 317 ; db 0 318 ;TXT_SETUPHELP_DefLinuxCmd: db 'Definierar kommando', 0 319 ; db 'rad fr Linux, om', 0 320 ; db 'tillgngligt.', 0 321 ; db 0 322 TXT_SETUPHELP_IgnoreLVM db 'If activated, AiR-BOOT', 0 323 db 'won''t even look for', 0 324 db 'LVM information.', 0 325 db 0 326 ; ### 291 327 TXT_SETUPHELP_ForceLBAUsage db 'Forc. anvndning av', 0 292 328 db 'BIOS LBA APIs', 0 … … 299 335 db 'eller MS-uppfinnade.', 0 300 336 db '(definierad av P-flag)', 0 301 db 0302 TXT_SETUPHELP_DefLinuxCmd: db 'Definierar kommando', 0303 db 'rad fr Linux, om', 0304 db 'tillgngligt.', 0305 337 db 0 306 338 … … 331 363 ; Maximum 60 chars (should not be reached) 332 364 ;----------------------------------|----------------------------------------------------------| 333 TXT_SETUP_EnterLinuxCmdLine db 'Var vnlig ange/modifiera din Linux kommando-rad:', 0 334 TXT_SETUP_NoLinuxInstalled db 'Du har inte Linux installerat', 0 335 TXT_SETUP_NoLDLpartition db 'Den valda partitionen r inte varken HPFS eller FAT16', 0 365 ; [Linux support removed since v1.02] 366 ;TXT_SETUP_EnterLinuxCmdLine db 'Var vnlig ange/modifiera din Linux kommando-rad:', 0 367 ;TXT_SETUP_NoLinuxInstalled db 'Du har inte Linux installerat', 0 368 TXT_SETUP_NoLDLpartition db 'Den valda partitionen r inte varken HPFS/FAT16/JFS', 0 336 369 337 370 ; Maximum 34 chars (should not be reached) … … 349 382 TXT_SETUPHELP_DriveLetter db 'Tryck C-Z', 0 350 383 351 IFNDEF ReleaseCommercial 352 ; Colors for special words hard-coded. Keep all 0s. 353 TXT_SETUP_LowerMessage db 'Detta program r ',0,'fritt',0,' fr icke-kommersiell privat anvndning.',0 354 db 'Du fr ',0,'INTE',0,' distribuera/anvnda AiR-BOOT i ',0,'-NGON-',0,' form,',0 355 db 'om du erhller pengar fr den distribuerade produkten eller servicen.',0 356 db 'Om du vill anvnda AiR-BOOT i ',0,'andra sammanhang',0,', ',0,'frinstallera',0,' eller',0 357 db 'distribuera',0,' den, var vnlig och kontakta mig via e-mail: ',0,'kiewitz@netlabs.org',0,' !',0 358 ENDIF 384 ; Colors for special words hard-coded. Keep all 0s. 385 ;TXT_SETUP_LowerMessage db 'Detta program r ',0,'fritt',0,' fr icke-kommersiell privat anvndning.',0 386 ; db 'Du fr ',0,'INTE',0,' distribuera/anvnda AiR-BOOT i ',0,'-NGON-',0,' form,',0 387 ; db 'om du erhller pengar fr den distribuerade produkten eller servicen.',0 388 ; db 'Om du vill anvnda AiR-BOOT i ',0,'andra sammanhang',0,', ',0,'frinstallera',0,' eller',0 389 ; db 'distribuera',0,' den, var vnlig och kontakta mig via e-mail: ',0,'kiewitz@netlabs.org',0,' !',0 -
trunk/BOOTCODE/TEXT/SW/OTHER.ASM
r26 r29 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 1 18 ;------------------------------------------------------------------------------ 2 19 ; AiR-BOOT / OTHER TEXT … … 37 54 38 55 ; Dynamic Length (till 80 chars) 39 TXT_BrokenPartitionTable: db 13, 10, ' - Your system has at least one broken partition table entry or your harddrive'40 db 13, 10, ' contains bad sectors. Systemet haltat.', 056 TXT_BrokenPartitionTable: db 13, 10, ' - Ditt system har minst en bruten partitionstabellspost eller har din hrddisk' 57 db 13, 10, ' trasiga sektorer. Systemet haltat.', 0 41 58 TXT_TooManyPartitions: db 13, 10, ' - Fr mnga partitioner hittades. AiR-BOOT stder endast upp till 30.', 0 42 59 TXT_NoBootAble: db 13, 10, ' - Ingen bootningsbar partition definierad. Systemet haltat.', 0 -
trunk/BOOTCODE/TEXT/TXTMBR.ASM
r26 r29 1 Include TEXT\ US\MBR.asm1 Include TEXT\EN\MBR.asm -
trunk/BOOTCODE/TEXT/TXTMENUS.ASM
r26 r29 1 Include TEXT\ US\MENUS.asm1 Include TEXT\EN\MENUS.asm -
trunk/BOOTCODE/TEXT/TXTOTHER.ASM
r26 r29 1 Include TEXT\ US\OTHER.asm1 Include TEXT\EN\OTHER.asm -
trunk/DOCS/DE/FEATURES.TXT
r23 r29 26 26 º die Konfiguration zurckzustellen º 27 27 º - MBR-Schutz unter Real-Mode º 28 º - Linux Kernel Untersttzung (fr FAT-16 Partitionen), Kernel- º 29 º Kommandozeile º 28 º - IBM OS/2 / eCS LVM Support º 30 29 º º 31 30 ºÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ … … 42 41 º º 43 42 º AiR-BOOT ist kompatibel zu LVM, dem Logischen Volumen Manager, der fr º 44 º OS/2 , eComStation und Linux-Varianten verfgbar ist.º43 º OS/2 und eComStation verfgbar ist. º 45 44 º º 46 45 º AiR-BOOT kann auch von CD-ROM installiert werden. Einfach das Image einer º -
trunk/DOCS/DE/INSTALL.TXT
r8 r29 6 6 º º 7 7 º 1. Sie bentigen eine leere, formatierte Floppy. Legen Sie diese Diskette º 8 º in Laufwerk A: und starten Sie die Datei AIRBS_xx.COM vom AiR-BOOT º9 º Archiv (xx ist ihr dazugehriger Sprachen-Code).º8 º in Laufwerk A: und starten Sie die Datei MAKEDISK.COM vom AiR-BOOT º 9 º Archiv. º 10 10 º º 11 11 º 2. berprfen Sie ihr CMOS-Setup. Deaktivieren Sie 'Virus Warning', sofern º -
trunk/DOCS/DT/FEATURES.TXT
r23 r29 25 25 º - MBR-beveiliging (Real-Mode). º 26 26 º - Toewijzen van de gewenste letter in OS/2. º 27 º - Linux Kernel Support (vanuit FAT-16 partities), Kernel-opdrachtlijn en º 28 º automatische creeren van de root-partitie (automatisch en toch confi- º 29 º gureerbaar). º 27 º - IBM OS/2 / eCS LVM Support º 30 28 º º 31 29 ºÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ … … 43 41 º º 44 42 º AiR-BOOT is compatibel met de LVM (Logical Volume Manager) beschikbaar bij º 45 º OS/2 , eComStation en sommige Linuxvarianten.º43 º OS/2 en eComStation. º 46 44 º º 47 45 º AiR-BOOT kan worden opgestart vanf CD-ROM. U dient eerst de basisdiskette º -
trunk/DOCS/DT/INSTALL.TXT
r8 r29 7 7 º º 8 8 º 1. Stop een lege of geformatteerde diskette in station A: º 9 º start dan AIRBS_DT.COM vanaf een (de) opdrachtregel. º9 º start dan MAKEDISK.COM vanaf een (de) opdrachtregel. º 10 10 º º 11 11 º 2. Herstart uw PC, en ga naar de bios-setup. Schakel "virus-warning" uit, º -
trunk/DOCS/EN/FEATURES.TXT
r23 r29 25 25 º resetting the configuration º 26 26 º - MBR-Protection under Real-Mode º 27 º - Linux Kernel Support (from FAT-16 partitions), Kernel-Commandline and º 28 º automagically, but configurable root-partition º 27 º - IBM OS/2 / eCS LVM Support º 29 28 º º 30 29 ºÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ … … 42 41 º º 43 42 º AiR-BOOT is compatible to LVM, the Logical Volume Manager available for º 44 º OS/2 , eComStation and Linux-variants.º43 º OS/2 and eComStation. º 45 44 º º 46 45 º AiR-BOOT is able to get booted from CD-ROM. Simply generate a floppy disc, º -
trunk/DOCS/EN/INSTALL.TXT
r8 r29 7 7 º º 8 8 º 1. Get a blank, formatted disc. Insert this disc into drive A: and start º 9 º the file AIRBS_xx.EXE from the AiR-BOOT archive (where xx is your º 10 º language code). º 9 º the file MAKEDISK.COM from the AiR-BOOT archive. º 11 10 º º 12 11 º 2. Check your CMOS-Setup. Deselect 'Virus Warning', if this option is º -
trunk/DOCS/EN/Q_AND_A.TXT
r8 r29 48 48 º This had to be done JUST because of Microsoft. I can't stand this any º 49 49 º longer. There is no need for such checking. It's not documented º 50 º anywhere and the CLI is bullshit anyway, because one does not need to º 51 º disable interrupts to change stack or something. Any skilled assembly º 52 º programmer knows this. º 53 º º 54 º Q: Hey, why did you code this ? 'NT BOOT'/'OS/2 BOOTMAN'/'LILO' are great. º 55 º A: Yeah, sure. Let me say something about those things. º 56 º NT BOOT is crap. 100 KBytes for a BOOTMANAGER ? Are you nuts ? And it º 57 º definitly needs Windows NT installed. (or a FAT partition?!) º 58 º OS/2 BOOTMAN needs a primary partition, so just 3 are left. º 59 º LILO is stupid. First it can not boot Linux, if Linux resides not on º 60 º the first harddisk (at least the last time, I tried). It's loading the º 61 º Linux Kernel via HackIn, that I can't stand as well. And it's not that º 62 º easy to install and setup. It has to get adjusted, when you add new º 63 º partitions to your harddrive. etc. etc. etc. º 64 º º 65 º Most bootmanagers need a specific OS installed, so this isn't good as º 66 º well. btw.: If you add a new partition to a drive containing Linux, º 67 º LILO will not find the root partition anymore (haha, nice try). º 68 º That's your "premier" boot-manager. phew. AiR-BOOT will find it º 69 º (normally) automatically on-the-fly and boot it like normal. º 50 º anywhere and the CLI was needed on some of the earliest x86 computers º 51 º when changing stack. Anyway it's not needed in the MBR at least not º 52 º at offset 0. º 70 53 º º 71 54 º Q: Ohhh man, what do you got against LILO. It's soooo good. º … … 73 56 º partition. It was FAT and this nice little bugger overwrote some º 74 57 º internals *as documented* without even giving me any warning message. º 75 º I see LILO as on the same level as Mic keysoft products. Just believingº58 º I see LILO as on the same level as Microsoft products. Just believing º 76 59 º they would rule the whole computer and could do anything. º 77 º During AiR-BOOT alpha testing, it NEVER corrupted any partition table.º78 º The only problems were crashs, so I had to restore t he old MBR.º60 º Even all AiR-BOOT alphas never corrupted any partition table. º 61 º The only problems were crashs, so I had to restore to an older MBR. º 79 62 º During late beta testing, it never got any problems. And if there were º 80 º any, I just inserted the AiR-BOOT disc and wups, the problem was gone.º63 º any, I just inserted the AiR-BOOT disc and the problem was gone. º 81 64 º (btw: that's the way I noticed that Partition Magic 3.x overwrites º 82 º some sectors in the MBR). º 83 º º 84 º Q: So many options, no one will ever need this. Guess you wasted your time º 85 º A: Okay, well, perhaps there are too much options, and perhaps it's crap. º 86 º I believe many users will use different options, so they are good as º 87 º they are. Too much options would be, if the program is too slow or º 88 º handling is too difficult, but not in AiR-BOOT. It's tiny in size, º 89 º easy to setup...just like your BIOS. I have included REAL on-line º 90 º help, too. Not the way in most BIOSes. I included fancy things, like º 91 º color menus...look at BIOSes from 1989. They were really ugly. Colored º 92 º menus are somewhat cool. But I know, you are the one with WindowsNT, º 93 º which thinks it's the best OS in the world. You never tried OS/2, nor º 94 º Unix/Linux. You want a GUI, but you hate those silly colored-windows. º 65 º quietly some sectors in track 0). º 95 66 º º 96 67 º Q: I believe you have copied the text of your boot-menu from DocsBoot. º -
trunk/DOCS/FR/FEATURES.TXT
r23 r29 31 31 º de rparer AiR-BOOT sans effacer les paramtres de configuration º 32 32 º - Protection du secteur d'amorage en mode rel º 33 º - Support du noyau Linux (depuis des partitions FAT-16), Ligne de º 34 º commande Kernel et partition de root automatique, mais configurable º 33 º - Support du IBM OS/2 / eCS LVM º 35 34 º º 36 35 ºÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ … … 43 42 º de ne pas utiliser le gestionnaire d'amorage fourni avec OS/2) º 44 43 º - BeOS º 45 º - Unix/Linux (avec ou sans LILO)º44 º - Unix/Linux (avec LILO) º 46 45 º - Windows 95/98/ME (c 47 46 d MS-DOS) º … … 49 48 º º 50 49 º AiR-BOOT est compatible avec le LVM, gestionnaire de volumes logiques º 51 º disponible pour OS/2 , eComStation et certaines variantes de Linux.º50 º disponible pour OS/2 et eComStation. º 52 51 º º 53 52 º AiR-BOOT peut dmarrer depuis un CD-ROM. Il suffit de crer une disquette º -
trunk/DOCS/FR/INSTALL.TXT
r8 r29 10 10 º º 11 11 º 1. Prenez une disquette vierge formatte. Mettez la dans votre lecteur A: º 12 º et dmarrez le fichier AIRBS_xx.EXE de l'archive AiR-BOOT (o xx est º 13 º votre code de langue). º 12 º et dmarrez le fichier MAKEDISK.COM de l'archive AiR-BOOT. º 14 13 º º 15 14 º 2. Vrifiez votre rglage CMOS (dans le bios). Deslectionnez 'Virus º -
trunk/DOCS/GENERIC/DEVELOPR.TXT
r28 r29 1 1 2 ù Ä ÄÄÄÄÍÍ = Ä ù Ä = ÍÍÄÄÄÄ Ä ù 3 ³ ³ 4 ÜÛÛÛÛÛÛÛÜ ÜÛÜ ÜÛÛÛÛÛÛÛÛÜ ú úÄÄÄÍÄÄÍÄÍÍÄÄÍÍÍÍÄÍÍÍÍÍÍÍÍÍÎÄ 5 ³ ÛÛÛÛßßßÛÛÛÛ ÛÛÛÛÛ ÛÛÛß ßÛÛÛ ³ AiR ON-Line Software º 6 º ÛÛÛÛÜÜÜÛÛÛÛ ÛÛÛÛÛ ÛÛÛÜ ÜÛÛÛ º ú ÄÄÄÄÍÄÍÍÄÄÍÍÍÍÄÍÍÍÍÍÍÍÍÄÍÍÍÍÍÎÄ 7 º ÛÛÛÛÛÛÛÛÛÛÛ ÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛß º º 8 º ÛÛÛÛ ÛÛÛÛ ÛÛÛÛÛ ÛÛÛÛ ßÛÛÛÛÜ º ³ º 9 ³ ßÛÛß ßÛÛß ßÛß ßÛÛß ßÛÛß ³ ³ Developer Information for ³ 10 ÜÜÜ ³ AiR-BOOT v1.01 ³ 11 ù ÜÛÛß ù ³ ³ 12 ÄÄÄÄÄÄÄ ÜÛÛß º ³ 13 ³ Ú¿Ú¿³ÜÛÛÛÜÜÛÛÛÜ ³ º ³ 14 º ÀÙ³ÀÙßÛÛÛßßÜÛÛß º º ú 15 º ÄÄÄÄÄÄÄ ÜÛÛÝ º º 16 º ÜÛÛÛÄÄÄÄÄÄÄÄÄ º ÄÎÍÍÍÄÍÍÍÍÍÄÍÍÍÍÄÍÍÄÄÍÄÄÍÄÄÄúÄÄ ú 17 º ÜÛÛÛݳ ³Ú¿³³Ä º 18 ³ ÜÛÛÛÛ Àij³ÀÙ³Ä ³ 19 ßÛÛÛÛÝÄÄÄÄÄÄÄÄÄÄ 20 ³ ßß ³ 21 ù ÄŽ-=iç éï-Liïî SéâWçî=-ÃÄÄ ù 22 2 ÖÄ[ Developer Information for AiR-BOOT v1.05+ ]ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ· 3 ÖÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄ ú ú ÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ· 4 º º 5 º This documentation is meant for developers that wish to support AiR-BOOT. º 6 º It explains detection, verification and reading/changing configuration of º 7 º AiR-BOOT. º 8 º º 9 ÓÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄ ú ú ÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄœ 10 ÓÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄœ 23 11 24 12 1.1 - Foreword … … 37 25 38 26 This document defines several aspects of AiR-BOOT v0.26b+ and is 39 currently on the level of AiR-BOOT v1.0 1.27 currently on the level of AiR-BOOT v1.05+. 40 28 41 29 AiR-BOOT is an advanced multi-boot-loader that resides completly in … … 43 31 Virus-Detection and much more. 44 32 45 This documentation is meant for other developers that want to detect46 and/or support AiR-BOOT and modify some configuration values.47 48 33 Please keep in mind that you are responsible for doing those changes 49 34 the documented, correct manner. AiR-BOOT is able to fix some 50 35 configuration values like Default-Partition, because the user could 51 have killed that partition , but AiR-BOOT is not completely36 have killed that partition as well, but AiR-BOOT is not completely 52 37 error-tolerant. Work as defined in this documentation and everything 53 38 will work as expected. … … 56 41 Everything is meant to be in Intel-Order. 57 42 58 You may contact the author via e-mail using: kiewitz@netlabs.org. 43 AiR-BOOT and its source is available via 44 http://air-boot.sourceforge.net 45 46 You may contact the author via 47 m_kiewitz [AT] users [DOT] sourceforge [DOT] net 59 48 60 49 … … 135 124 'I' for italian 136 125 'R' for russian 137 ' U' for english126 'E' for english (v1.01+) 138 127 'S' for swedish 128 'U' for USA (removed in v1.01+) 139 129 TotalCodeSectors : BYTE - counting from sector 2 140 130 CheckSumOfCode : WORD - explained later … … 183 173 match the Version in the basic information structure. 184 174 This is the version of AiR-BOOT that installed the Config 185 area. 175 area. It may be as well the current data structure level. 176 Anyway, you need to get the code version to find out what 177 data structure is used. 186 178 187 179 Code used for verification in x86 assembly: … … 223 215 MajorVersion : BYTE - in BCD 224 216 MinorVersion : BYTE - in BCD 225 ReleaseLanguage : BYTE - normally ' U' for USA/english217 ReleaseLanguage : BYTE - normally 'E' for English 226 218 EditCounter : DWORD - Will be increased on every save 227 219 CheckSumOfConfig : WORD - explained in [2.3] 228 220 Partitions : BYTE - Partitions count in IPT 229 221 BootPartitions : BYTE - Removed since v0.28b 230 DefaultPartition : BYTE - Default-partition no (zero based) 222 DefaultSelection : BYTE - Default-selection no (zero based) 223 FFh - nothing bootable 224 [additions/changes v1.02+] 225 FFh - Floppy Boot 226 FEh - BIOS continue (CD-ROM,etc.) 227 80h - nothing bootable 231 228 LastPartition : BYTE - Last-booted-partition (zero based) 229 Even under v1.02+, this never 230 contains floppy or Resume-BIOS 232 231 TimedBoot : BYTE - 0 - Timed Boot disabled 233 232 1 - Timed Boot enabled … … 273 272 RudeProtection : BYTE - Removed since v0.28b 274 273 LinuxPartition : BYTE - Linux Root partition no (0-based) 274 [not used anymore since 1.02+] 275 275 TimedKeyHandling : BYTE - 0 - Do nothing 276 276 1 - Reset time … … 286 286 CooperBars : BYTE - 0 - Disabled 287 287 1 - Enabled 288 [following contents are not used anymore - since 1.02] 288 289 LinuxCommandLine : STRING * 75 - Linux Command Line (0-terminated) 289 290 LinuxKrnlPartition : BYTE - 0FFh - Disabled … … 298 299 field will get filled with spaces 299 300 LinuxKernelNameEnd2: BYTE - Fixed ZERO 301 [End of contents that are not used anymore] 300 302 ExtPartitionMShack : BYTE - 0 - Disabled 301 303 1 - MS Work-Around Enabled … … 305 307 AutomaticPartition : BYTE - Automatic Booting (0.94+) 306 308 Partition no (zero based) 309 FFh - Floppy booting 310 FEh - BIOS continue (CD-ROM,ZIP) 307 311 ForceLBAUsage : BYTE - Forces BIOS LBA API Usage (1.00+) 308 312 0 - Disabled 309 313 1 - Enabled 310 Reserved : STRING * 254 - RESERVED 314 IgnoreLVM : BYTE - Ignores LVM information (1.02+) 315 0 - Disabled (do not ignore) 316 1 - Enabled 317 Reserved : STRING * 253 - RESERVED 311 318 AutoDriveLetter : STRING * 5 - RESERVED CONTENT (0.94+) 312 319 (used by Installer/2) … … 341 348 Contents: AiR-BOOT internal partition table entry (IPT) 342 349 ======================================================================= 343 SerialNumber : DWORD - Serial number of partition 350 SerialNumber : DWORD - Serial number of partition / 351 Partition ID from LVM 344 352 (if available) 345 PartitionName : STRING * 11 - Name of the partition 346 (in sync withboot-record)353 PartitionName : STRING * 11 - Name of the partition (in sync 354 with LVM and/or boot-record) 347 355 Drive : BYTE - Drive of partition (INT 13h-like) 348 356 PartitionID : BYTE - unhidden ID of partition 349 357 (08h == NTFS, thanx M$) 358 (FCh == JFS - v1.05+) 350 359 Flags : BYTE - Bit 0 - BootAble 351 360 Bit 1 - VIBR Detection … … 391 400 should look like this: 00h 02h 03h FFh (and 26 more FFhs) 392 401 393 The logical-drive-letters string is 30-bytes long. One byte per 394 partition. It's used for OS/2 use ONLY and it's only definable for 395 HPFS or FAT16 partitions. If you enable/disable the driveletter, then 396 YOU are required to change the corresponding partition's Drive-Letter 397 flag accordingly. 402 The boot-drive-letters string is 30-bytes long. One byte per partition. 403 It's used for OS/2 / eCS use ONLY and it's only definable for HPFS and 404 FAT16 partitions. If you enable/disable the driveletter, then YOU are 405 required to change the corresponding partition's Drive-Letter flag 406 accordingly. 407 408 Since 1.02, AiR-BOOT supports LVM driveletter adjustment and will 409 change the driveletter of the partition that is to be booted. 398 410 399 411 ----------------------------------------------------------------------- … … 402 414 HideConfiguration : STRING * 30 - for one partition each 403 415 * 30 -> 900 Bytes (due maximum of 30 partitions in IPT) 404 DriveLetters : STRING * 30 - Drive Letters of all partitions 405 (0h - disabled) [since v0.92+] 416 DriveLetters : STRING * 30 - Boot driveletters of partitions 417 [since v0.92+] 418 00h - disabled 419 80h - "C" 420 81h - "D"... 406 421 Reserved : STRING * 84 - RESERVED 407 422 Identifier : STRING * 10 - 'AiRBOOTHID' -
trunk/DOCS/GENERIC/DISCLAIM.TXT
r28 r29 8 8 º warranty for bug-free operation, fitness for a particular purpose or the º 9 9 º appropriate behaviour of the program. º 10 º º 11 º This software may not be used in any way by US government. This means it º 12 º may not be used on any US government/military computers in any case. It º 13 º also means that if you are working for US government in any way, then you º 14 º are not allowed to use it as well. º 10 15 º º 11 16 º THE SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED º … … 26 31 º collections on CD-ROM, as well as on magazine cover CD-ROMs. º 27 32 º º 28 º The sourcecode is released via www.netlabs.org CVS *ONLY*. º29 º You MUST NOT upload it to other servers nor republish it in any way. º30 º The sourcecode is still COPYRIGHTED and NOT RELEASED UNDER GPL. º31 º It's (c) Copyright 1998-2003 by Martin Kiewitz. º32 º You may recompile the source and do *PRIVATE* modifications, but please º33 º keep in mind that modifying this code needs at least *some* assembly º34 º skill. If you mess up your system, because you needed to hack your way º35 º through, don't blame me. Releasing a customized version of AiR-BOOT, º36 º selling it in any form or reusing parts of this source is *PROHIBITED*. º37 º Ask me, if you have some idea about new functionality *before* developing º38 º the code, otherwise I will definitely reject it. Also please accept, that º39 º I have some basic design rules on AiR-BOOT and I will maintain them at º40 º all costs, so this won't get another GRUB. º41 º º42 33 º All trademarks mentioned anywhere around here are property of their owners º 43 34 º and the like... This means e.g. "Microsoft Windows (9x/NT/2000/XP/YP/ZP", º 44 35 º "Microsoft", "bugfix" and "exploit" are trademarks of Microsoft Corp. º 36 º Also "killing people for oil" and "torturing for freedom" are trademarks º 37 º of american government. º 45 38 º º 46 39 ÓÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄ ú ú ÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄœ -
trunk/DOCS/GENERIC/HISTORY.TXT
r28 r29 144 144 º ³ ³ ³ [+] Swedish localization available º 145 145 ºÄÄÄÄÄÄÄÄijÄÄÄÄÄÄÄÄÄÄÄÄijÄÄÄÄÄÄÄijÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ 146 º 1.01 ³ 2 Mar 2003 ³ [WARP] ³ [!] NO WAR FOR CONTROL OVER OIL RESOURCES º 146 º 1.01 ³ 20 Mar 2003 ³ [WARP] ³ [!] My feelings go to Iraqi civilians º 147 º ³ ³ ³ [!] License change: If you are or were º 148 º ³ ³ ³ working indirectly or directly for º 149 º ³ ³ ³ american government and/or military, º 150 º ³ ³ ³ then you are NOT allowed to use this º 151 º ³ ³ ³ software in any case and you are º 152 º ³ ³ ³ supposed to delete it NOW. Downloads º 153 º ³ ³ ³ from .gov computers are now blocked. º 147 154 º ³ ³ ³ [-] Issue with NTFS detected as being º 148 º ³ ³ ³ HPFS fixed º149 155 º ³ ³ ³ [+] Broken partition table error message º 150 156 º ³ ³ ³ instead of "LOAD ERROR" º 151 157 º ³ ³ ³ [+] Minor changes º 158 ºÄÄÄÄÄÄÄÄijÄÄÄÄÄÄÄÄÄÄÄÄijÄÄÄÄÄÄÄijÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ 159 º 1.02 ³ 12 May 2004 ³ [WARP] ³ [!] Imperialismn sucks º 160 º ³ ³ ³ [+] Being closed source again... º 161 º ³ ³ ³ [+] LVM Support º 162 º ³ ³ ³ Dynamic changing of bootdrive letter º 163 º ³ ³ ³ Partition names are taken from LVM º 164 º ³ ³ ³ [+] Matching is now even more forgiving º 165 º ³ ³ ³ [+] Floppy and Resume-BIOS may be used º 166 º ³ ³ ³ for default selection and timed boot º 167 º ³ ³ ³ [+] SETABOOT (OS/2): Small changes º 168 º ³ ³ ³ [+] SETABOOT (DOS): New utility to º 169 º ³ ³ ³ control AiR-BOOT under bare DOS º 170 º ³ ³ ³ [-] Linux kernel support dropped º 171 ºÄÄÄÄÄÄÄÄijÄÄÄÄÄÄÄÄÄÄÄÄijÄÄÄÄÄÄÄijÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ 172 º 1.03 ³ 18 Oct 2004 ³ [WARP] ³ [!] Every dead american soldier is a step º 173 º ³ ³ ³ to Vietnam 2 for USA and final peace º 174 º ³ ³ ³ for iraq º 175 º ³ ³ ³ [+] Undocumented /4 now supported via º 176 º ³ ³ ³ OS/2 setaboot. º 177 º ³ ³ ³ [-] NTFS was detected as HPFS on LVMified º 178 º ³ ³ ³ drives. Now fixed. º 179 º ³ ³ ³ [+] os2.txt contains more information º 180 ºÄÄÄÄÄÄÄÄijÄÄÄÄÄÄÄÄÄÄÄÄijÄÄÄÄÄÄÄijÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ 181 º 1.04 ³ 27 Nov 2004 ³ [WARP] ³ [+] Improved CHS<->LBA access switching º 182 ºÄÄÄÄÄÄÄÄijÄÄÄÄÄÄÄÄÄÄÄÄijÄÄÄÄÄÄÄijÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ 183 º 1.05 ³ 13 Mar 2006 ³ [WARP] ³ [+] JFS with IFS partition id is now º 184 º ³ ³ ³ detected and is also able to boot up º 185 º ³ ³ ³ [+] Harddrive number is shown, when brokenº 186 º ³ ³ ³ partition table was detected º 187 º ³ ³ ³ [+] I13X signature now included in MBR, º 188 º ³ ³ ³ LVM doesn't delete us anymore º 189 ºÄÄÄÄÄÄÄÄijÄÄÄÄÄÄÄÄÄÄÄÄijÄÄÄÄÄÄÄijÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ 190 º 1.06 ³ 24 May 2009 ³ [WARP] ³ [!] 10th anniversary edition º 191 º ³ ³ ³ [+] AiR-BOOT is now released under GPLv3, º 192 º ³ ³ ³ sourcecode on sourceforge.net º 193 º ³ ³ ³ [+] Direct installer now also available º 194 º ³ ³ ³ for DOS/Win9X and WinNT environment º 195 º ³ ³ ³ [+] MakeDisk utility rewritten º 196 º ³ ³ ³ [+] Native OS/2 installer rewritten º 197 º ³ ³ ³ [+] ISO for bootable CD-ROM included º 198 º ³ ³ ³ [-] Fixed bug in setup for driveletter º 152 199 ºÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ 153 º [BETA] úúúúúú Internal Beta-Version ³ [WARP] úúúúúúúúúúúú Official Release º154 º [REG] úúúúúúúúúú Registered Version ³ [iNST] úúúúúúúúúúúúú iNSTALL and Co. º155 ºÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ156 200 º Technial Problems ? º 157 201 º º 158 º By E-Mail: kiewitz@netlabs.org º 159 º Official Homepage: http://AiR-BOOT.netlabs.org º 160 º (including anonymous CVS to sourcecode) º 161 º KiewitzSoft @: http://eComStation.ru/kiewitzsoft/ º 202 º Official Homepage: http://AiR-BOOT.sourceforge.net º 203 º Author via E-Mail: m_kiewitz [AT] users [DOT] sourceforge [DOT] net º 204 º º 205 º AiR-BOOT v1.06+ is released under GPLv3. Sourcecode is available from the º 206 º official homepage. º 162 207 º º 163 208 º At this point, I want to thank several people that helped me to improve º … … 165 210 º º 166 211 º Hex1753, Mike Reichel, Robert Traynor, chusty@attglobal.net, Tod Morcott, º 167 º Teruel de Campo, Irv Spalten, Chris Carroll, Warp5, MaxWarp & Jake º 212 º Teruel de Campo, Irv Spalten, Chris Carroll, Warp5, MaxWarp & Jake, º 213 º Peter Weilbacher and Veit Kannegieser. º 168 214 º º 169 215 º ...and especially the translators that wasted so much time on it... º … … 176 222 º AiR-BOOT - German - by myself ;) º 177 223 º º 224 º Special thanx to Jan van Wijk for the LVM-CRC polynom! º 225 º º 178 226 ÓÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄ ú ú ÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄœ 179 227 ÓÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄœ -
trunk/DOCS/IT/FEATURES.TXT
r23 r29 26 26 º AiR-BOOT senza perdere la configurazione º 27 27 º - Protezione MBR in Modalita' Reale (Real-Mode) º 28 º - Supporto Kernel Linux (da partizioni FAT-16), parametri Kernel sulla º 29 º linea di comando e partizione di root automatica, ma configurabile º 28 º - Supporto IBM OS/2 / eCS LVM º 30 29 º º 31 30 ºÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ … … 43 42 º º 44 43 º AiR-BOOT e' compatibile con LVM, il Logical Volume Manager disponibile per º 45 º OS/2 , eComStation ed alcune distribuzioni di Linuxº44 º OS/2 ed eComStation. º 46 45 º º 47 46 º AiR-BOOT si avvia anche da CD-ROM. Basta creare il floppy, prendere º -
trunk/DOCS/IT/INSTALL.TXT
r12 r29 7 7 º º 8 8 º 1. Inserire un disco vuoto e formattato nel drive A: e avviare il º 9 º programma AIRBS_xx.EXE dall'archivio di AiR-BOOT (dove xx e' la º 10 º abbreviazione della lingua). º 9 º programma MAKEDISK.COM dall'archivio di AiR-BOOT. º 11 10 º º 12 11 º 2. Controllare il setup del BIOS. Deselezionare 'Virus Warning', se tale º -
trunk/DOCS/RU/FEATURES.TXT
r23 r29 25 25 º resetting the configuration º 26 26 º - MBR-Protection under Real-Mode º 27 º - Linux Kernel Support (from FAT-16 partitions), Kernel-Commandline and º 28 º automagically, but configurable root-partition º 27 º - IBM OS/2 / eCS LVM Support º 29 28 º º 30 29 ºÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ … … 42 41 º º 43 42 º AiR-BOOT is compatible to LVM, the Logical Volume Manager available for º 44 º OS/2 , eComStation and Linux-variants.º43 º OS/2 and eComStation. º 45 44 º º 46 45 º AiR-BOOT is able to get booted from CD-ROM. Simply generate a floppy disc, º -
trunk/DOCS/RU/INSTALL.TXT
r8 r29 7 7 º º 8 8 º 1. Get a blank, formatted disc. Insert this disc into drive A: and start º 9 º the file AIRBS_xx.EXE from the AiR-BOOT archive (where xx is your º 10 º language code). º 9 º the file MAKEDISK.COM from the AiR-BOOT archive. º 11 10 º º 12 11 º 2. Check your CMOS-Setup. Deselect 'Virus Warning', if this option is º -
trunk/DOCS/SW/FEATURES.TXT
r23 r29 26 26 º utan att terstlla konfigurationen º 27 27 º - MBR-Skydd i Real-Lge º 28 º - Linux Krna Std (frn FAT-16 partitioner), Krna-Kommandorad och º 29 º automatisk, med konfigureringsbar root-partition º 28 º - IBM OS/2 / eCS LVM Support º 30 29 º º 31 30 ºÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ … … 43 42 º º 44 43 º AiR-BOOT r kompatibel med LVM, Logical Volume Manager som r tillgnglig º 45 º fr OS/2 , eComStation och Linux-varianter.º44 º fr OS/2 och eComStation. º 46 45 º º 47 46 º AiR-BOOT kan bootas frn CD-ROM. Skapa helt enkelt en diskett, fnga dess º -
trunk/DOCS/SW/INSTALL.TXT
r12 r29 7 7 º º 8 8 º 1. Ta en tom, formaterad diskett. Stoppa in den i enhet A: och starta º 9 º filen AIRBS_xx.EXE frn AiR-BOOT arkivet (dr xx r din landskod).º9 º filen MAKEDISK.COM frn AiR-BOOT arkivet. º 10 10 º º 11 11 º 2. Kontrollera din CMOS-Setup. Avaktivera 'Virus Varning', om den optionen º -
trunk/TOOLS/TEST/TESTVIR!.ASM
r28 r29 1 ; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz 2 ; 3 ; This file is part of AiR-BOOT 4 ; 5 ; AiR-BOOT is free software: you can redistribute it and/or modify it under 6 ; the terms of the GNU General Public License as published by the Free 7 ; Software Foundation, either version 3 of the License, or (at your option) 8 ; any later version. 9 ; 10 ; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY 11 ; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS 12 ; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 ; details. 14 ; 15 ; You should have received a copy of the GNU General Public License along with 16 ; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>. 17 ; 1 18 2 ; Bad Test-Virus (c) Martin Kiewitz- For test of AiR-BOOT ANTIVIR19 ; Bad Test-Virus ;-) - For test of AiR-BOOT ANTIVIR 3 20 4 21 JUMPS
Note:
See TracChangeset
for help on using the changeset viewer.