Changeset 29


Ignore:
Timestamp:
May 5, 2011, 2:00:00 PM (14 years ago)
Author:
Ben Rietbroek
Message:

AiR-BOOT v1.06 -- Complete sourceforge mirror. (r56) [2010-02-19]
Signature-date: 2006-03-13.
Also contains binairy releases from v1.01 to v1.06, cd-rom images, etc.
If you want the whole pre v1.07 shebang, checkout this revision's trunk.
The v1.06 reference version is in 'tags/v1.06r'.
Note that this reference version uses 'NL' for 'Dutch'.

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;
    1718
    1819;---------------------------------------------------------------------------
    1920;                                                      AiR-BOOT / MAIN-CODE
    2021;---------------------------------------------------------------------------
     22;
    2123
    2224; If ReleaseCode is not defined, it will produce debug-able code...
    2325ReleaseCode                 equ    -1
    24 ; ReleaseCommercial           equ    -1
    2526
    2627JUMPS
     
    2930
    3031IFDEF ReleaseCode
    31    ExecBaseSeg              equ     00000h
    32    ExecBasePtr              equ     07C00h ; BIOS starts our MBR at 0:7C00
     32   StartBaseSeg             equ     00000h
     33   StartBasePtr             equ     07C00h ; BIOS starts our MBR at 0:7C00
    3334  ELSE
    34    ExecBaseSeg              equ     03567h ; Adjust to DOS segment
    35    ExecBasePtr              equ     00100h
     35   StartBaseSeg             equ     03A98h ; Adjust to DOS segment
     36   StartBasePtr             equ     00100h
    3637ENDIF
    3738BootBaseSeg                 equ      8000h
     
    4647VideoIO_FXSegment           equ     0A000h
    4748
    48 Include ..\..\..\JimiHelp\asm.inc\stdmacro.inc
    49 Include ..\INSTALL\GLOBAL.ASM\airboot.inc
     49Include ..\INCLUDE\asm.inc
     50;Include ..\INCLUDE\DOS\airboot.inc
    5051
    5152TextChar_WinLineRight       equ       0C4h ; 'Ä'
     
    7576LocBR_Magic                 equ        510
    7677
     78; Offsets for LVM Information Sector
     79LocLVM_SignatureStart       equ          0
     80LocLVM_SignatureByte0       equ          2
     81LocLVM_CRC                  equ          8  ; CRC is a DWORD
     82LocLVM_MaxEntries           equ          4
     83LocLVM_StartOfEntries       equ         60  ; (contains maximum of 4 entries)
     84LocLVM_LenOfEntry           equ         60
     85LocLVM_VolumeID             equ          0  ; is DWORD
     86LocLVM_PartitionID          equ          4  ; is DWORD
     87LocLVM_PartitionSize        equ          8  ; is DWORD
     88LocLVM_PartitionStart       equ         12  ; is DWORD
     89LocLVM_VolumeLetter         equ         18  ; is BYTE (Letter C-Z or 0)
     90LocLVM_VolumeName           equ         20  ; 20 bytes
     91LocLVM_PartitionName        equ         40  ; 20 bytes
     92
    7793; Offsets for IPT (Internal Partition Table)
    7894LocIPT_MaxPartitions        equ         30  ; Maximum LocIPT_MaxPartitions
     
    105121FileSysFlags_FAT32          equ   00010000b ; FAT 32 specific name getting
    106122FileSysFlags_NoName         equ   00100000b ; No Name - use PartitionName
     123FileSysFlags_DriveLetter    equ   01000000b ; DriveLetter Feature possible
    107124
    108125Keys_Up                     equ         48h
     
    139156                            org 00000h                          ; Sector 1
    140157;---------------------------------------------------------------------------
    141 AiR_BOOT:     cli
     158AiR_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!
    142162              db      0EBh               ; JMP-Short -> MBR_Start
    143               db      'AiRBOOT', 02h, 03h, 20h, 03h, 01h, 01h, TXT_LanguageID
     163              db      'AiRBOOT', 13h, 03h, 20h, 06h, 01h, 06h, TXT_LanguageID
    144164              ; ID String, Date and Version Number, U for US version
    145165              db      1                  ; Total Sectors Count,
     
    148168
    149169MBR_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 and
    154               mov     ax, BootBaseSeg    ; fuck everyone that is working for
    155               mov     es, ax             ;     that evil business. k?thx
     170              cld                        ;    =MICROSOFT JUMP DEPARTMENT=
     171              mov     ax, StartBaseSeg
     172              mov     ds, ax
     173              mov     si, StartBasePtr
     174              mov     ax, BootBaseSeg
     175              mov     es, ax
    156176              mov     di, BootBasePtr
    157177              IFDEF ReleaseCode
     
    171191              mov     dx, 500
    172192              int     15h                ; Wait to display the whole screen :]
    173 MBR_FuckUpSys:cli
    174               jmp     MBR_FuckUpSys
     193MBR_HaltSys:  cli
     194              jmp     MBR_HaltSys
    175195
    176196              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...
    180201
    181202              db      'LOAD ERROR!', 0
     
    250271              int     13h
    251272              jnc     MBR_ConfigCopy_NoError
     273             MBR_ConfigCopy_LoadError:
    252274              call    MBR_LoadError      ; Will Abort BootUp
    253275             MBR_ConfigCopy_NoError:
     
    256278              mov     cx, 0002h
    257279              mov     ah, 02h
    258               mov     al, ds:[TotalSectorsUsedPtr]
     280              mov     al, ds:[10h]
    259281              int     13h
    260282              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'
    262287             MBR_RealStart_NoError:
    263288              ; Now Check Code with CheckSum
    264289              mov     si, offset FurtherMoreLoad
    265               movzx   cx, bptr ds:[TotalSectorsUsedPtr]
     290              movzx   cx, bptr ds:[10h]
    266291              xor     bx, bx
    267292             MBR_RealStart_CheckCodeLoop:
     
    291316                        ; 10h -> FAT32 - Name Getting Scheme
    292317                        ; 20h -> No Name To Get (use Partition Name)
     318                        ; 40h -> 'L' flag possible
    293319                db      'AiRSYS-TABLE'
    294 FileSysIDs:     db      01h, 11h,01h, 04h,014h,01h, 06h,016h,01h, 0Eh,00Eh,01h
    295                 db      07h, 17h,01h, 08h,017h,21h, 35h,035h,00h,0EBh,0EBh,01h
    296                 db      09h, 19h,11h, 0Bh,01Bh,11h, 0Ch,01Ch,11h, 01h,001h,01h
     320FileSysIDs:     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
    297323                db      63h, 63h,21h, 81h,081h,21h, 83h,083h,21h, 40h,040h,21h
    298324                db     0A5h,0A5h,21h,0A6h,0A6h,21h, 82h,082h,20h,0A7h,0A7h,21h
     
    306332
    307333FileSysNames:   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    '
    310336                db      'Unix    ', 'Minix   ', 'Linux   ', 'Venix   ' ; x row ;)
    311337                db      'BSD/386 ', 'OpenBSD ', 'LinuxSwp', 'NeXTSTEP'
     
    331357                 call    AFTERCRAP_Main
    332358
    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:
    338365
    339366                 ; SetUp PartitionPointers for BootMenu (filter non-bootable)
     
    394421
    395422                 IFNDEF ReleaseCode
     423                    ; Debug Code to terminate DOS .COM program - used for
     424                    ;  testing AiR-BOOT
     425                    int 3
    396426                    mov     ax, 6200h
    397427                    int     21h
     
    416446Include SETUP\MAiN.ASM                   ; The whole AiR-BOOT SETUP
    417447Include 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
     451Include SPECiAL\F00K\BILLSUXX.asm        ; Extended Partition - Microsoft-Hack
    421452Include SPECiAL\SOUND.asm                ; Sound
    422453Include SPECiAL\APM.asm                  ; Power Managment Support
    423454Include SPECiAL\FX.asm                   ; l33t Cooper-Bars/Scrolling <bg>
     455Include SPECiAL\LVM.asm                  ; LVM-specific code
    424456IFDEF TXT_IncludeCyrillic
    425457   Include SPECiAL\CHARSET.asm           ; Charset Support (e.g. Cyrillic)
     
    441473Configuration:
    442474                             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...
    444478
    445479CFG_LastTimeEditLow          dw     0    ; Last Time Edited Stamp (will incr every setup)
     
    504538CFG_PartAutomatic            db     0    ; Partition-No for automatic booting
    505539CFG_ForceLBAUsage            db     0    ; LBA-BIOS-API forced on any HDD I/O
     540CFG_IgnoreLVM                db     0    ; Ignores any LVM-Information
    506541
    507542; VIR variables are for the AiR-BOOT Anti Virus Code
     
    595630; This space actually gets initialized in PreCrap to NUL (till EndOfVariables)
    596631BeginOfVariables:
     632PartitionSector              db   512 dup (?) ; Temporary Sector for Partition
     633LVMSector:                   db   512 dup (?) ; Temporary Sector for LVM
    597634TmpSector:                   db   512 dup (?) ; Temporary Sector
    598635TmpSector2:
     
    606643PartitionPointerCount        db     ?         ; Count of total Partition Pointers
    607644PartitionXref                db    30 dup (?) ; X-Reference Table
    608 
    609 TotalHarddiscs               db     ?    ; Total harddrives (by POST)
    610 NewPartitions                db     ?    ; Freshly found partitions
     645PartitionVolumeLetters       db    30 dup (?) ; Volume-Letters
     646                                              ;  0 - no LVM support
     647                                              ;  1 - LVM support, but no letter
     648                                              ;  'C'-'Z' - assigned drive letter
     649
     650TotalHarddiscs               db     ?         ; Total harddrives (by POST)
     651LBASwitchTable               db   128 dup (?) ; Bit 25-18 for CHS/LBA Switching
     652NewPartitions                db     ?         ; Freshly found partitions
    611653
    612654VideoIO_Segment              dw     ?    ; Segment for Video I/O
     
    621663                                         ;    (for detailed error message)
    622664
    623 GotLinux                     db     ?    ; 1-Linux found
     665; [Linux support removed since v1.02]
     666;GotLinux                     db     ?    ; 1-Linux found
    624667
    625668Menu_EntrySelected           db     ?    ; Which partition we boot this time...
     
    652695SETUP_VerifyPwd              db    17 dup (?)
    653696StartSoundPlayed             db     ?
     697ChangePartNameSave           db     ?
    654698
    655699FX_UseCount                  dw     ?
     
    664708FX_CooperBarsTimer           dw     ?
    665709
    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)
    680725EndOfVariables:
    681726
     727; Dynamically Generated Tables - do not need to get initialized with NUL
    682728FX_CooperColors              db   672 dup (?) ; 7 cooper bars*96 - runtime calculated
    683729FX_CooperState:              db     7 dup (?)
     
    685731FX_CooperPos:                dw     7 dup (?)
    686732CharsetTempBuffer            db  4096 dup (?) ; Uninitialized Charset buffer
     733LVM_CRCTable:                dd   256 dup (?) ; LVM-CRC (->SPECiAL\LVM.asm)
    687734
    688735code_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 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.
    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
     6the terms of the GNU General Public License as published by the Free
     7Software Foundation, either version 3 of the License, or (at your option)
     8any later version.
     9;
     10; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY
     11WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS
     12FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
     13details.
     14;
     15; You should have received a copy of the GNU General Public License along with
     16AiR-BOOT. If not, see <http://www.gnu.org/licenses/>.
     17;
    1818;---------------------------------------------------------------------------
    1919;                         AiR-BOOT SETUP / GENERIC & GENERAL SETUP ROUTINES
     
    151151                db      '³  you have to deactivate MBR PROTECTION in AiR-BOOT  ³'
    152152                db      '³             or contact your supervisor.             ³'
    153 MBRP_Line3:     db      'ÔÍÍÍÍŽAiR-BOOT (c) Copyright by Martin Kiewitz ''99ÃÍÍÍŸ'
     153MBRP_Line3:     db      'ÔÍÍÍŽAiR-BOOT (c) Copyright by M. Kiewitz 1999-2009ÃÍÍŸ'
     154
     155org             1023
     156                db 0
    154157
    155158code_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 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.
    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
     6the terms of the GNU General Public License as published by the Free
     7Software Foundation, either version 3 of the License, or (at your option)
     8any later version.
     9;
     10; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY
     11WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS
     12FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
     13details.
     14;
     15; You should have received a copy of the GNU General Public License along with
     16AiR-BOOT. If not, see <http://www.gnu.org/licenses/>.
     17;
    1818;---------------------------------------------------------------------------
    1919;                                                      AiR-BOOT / BOOT-MENU
     
    185185   call    VideoIO_Color
    186186
    187    IFDEF ReleaseCommercial
    188       mov     si, offset RegisteredTo
    189       call    GetLenOfString
    190       mov     dx, 144Eh
    191       sub     dl, cl
    192       mov     cx, dx
    193       call    VideoIO_Locate
    194       mov     al, TextChar_WinRep4
    195       call    VideoIO_PrintSingleChar
    196       call    VideoIO_Print
    197       mov     al, TextChar_WinRep5
    198       call    VideoIO_PrintSingleChar
    199    ENDIF
    200 
    201187   ; Additional message how to enter setup
    202188   mov     si, offset TXT_BootMenuEnterSetup
     
    226212   call    VideoIO_Color
    227213   mov     bx, 0101h
    228    mov     dx, 0450h
     214   mov     dx, 0550h
    229215   call    VideoIO_MakeWindow            ; Information-Window
    230216   xor     di, di
     
    271257   mov     cx, 0303h
    272258   call    VideoIO_Locate
    273    IFDEF ReleaseCommercial
    274       mov     si, offset RegisteredTo
    275      ELSE
    276       mov     si, offset BootEndMsg         ; Print End-Message...
    277    ENDIF
     259   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...
    278264   call    VideoIO_Print
    279265   ; -------------------------------------------
    280266   mov     ah, 02h
    281267   mov     bh, 00h
    282    mov     dx, 0500h                     ; Sets cursor location to 6, 0
     268   mov     dx, 0600h                     ; Sets cursor location to 7, 1
    283269   int     10h
    284270   call    VideoIO_CursorOn
     
    366352   call    VideoIO_Color                 ; Violet, blue
    367353   mov     si, PartPointer
    368    mov     al, cs:[si+LocIPT_Drive]
     354   mov     al, [si+LocIPT_Drive]
    369355   sub     al, 7Fh                       ; Will only display numbers up to 99,
    370356   call    VideoIO_PrintByteNumber       ;  so only showing harddrives...
     
    411397   call    VideoIO_Locate
    412398   mov     si, PartPointer
    413    mov     al, cs:[si+LocIPT_SystemID]
     399   mov     al, [si+LocIPT_SystemID]
    414400   call    PART_SearchFileSysName
    415401   mov     cx, 0C01h
     
    498484
    499485
    500 
    501486; Calculate Menu-Variables for Boot-Menu, these use the filtered Part-Pointers
    502487BOOTMENU_ResetMenuVars          Proc Near   Uses dx
     
    520505   mov     Menu_TotalParts, dl
    521506
    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
    540511
    541512   ; Default-Partition -> Filtered View -> Menu_EntryDefault
     
    554525   mov     Menu_EntryAutomatic, dl
    555526
    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:
    570542
    571543   ; restlichen Variablen berechnen...
     
    609581   mov     dl, Menu_EntrySelected
    610582   call    PART_ConvertToStraight        ; CFG_PartLast is non-filtered
    611    mov     di, offset CFG_LinuxLastKernel
    612    mov     cx, 11
     583;   mov     di, offset CFG_LinuxLastKernel
     584;   mov     cx, 11
    613585   cmp     dl, 0FDh                      ; Dont Remember on Floppy/CD-ROM/etc.
    614586   ja      BMSVAM_DontRememberBoot
    615    je      BMSVAM_RememberKernelBoot     ; but remember Kernel-Bootings...
     587;   je      BMSVAM_RememberKernelBoot     ; but remember Kernel-Bootings...
    616588   mov     CFG_PartLast, dl              ; Remember partition in CFG_PartLast
    617    mov     al, ' '
    618    rep     stosb                         ; SPACE out CFG_LinuxLastKernel
     589;   mov     al, ' '
     590;   rep     stosb                         ; SPACE out CFG_LinuxLastKernel
    619591  BMSVAM_DontRememberBoot:
    620592   ret
    621 
    622   BMSVAM_RememberKernelBoot:
    623    mov     dl, Menu_EntrySelected
    624    call    PART_GetPartitionPointer      ; SI - Pointer to Kernel Entry...
    625    add     si, LocIPT_Name
    626    rep     movsb                         ; Copy KernelName 2 CFG_LinuxLastKernel
    627    ret
     593;
     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
    628600BOOTMENU_SetVarsAfterMenu       EndP
    629601
     
    683655      push    ax dx
    684656         call    TIMER_GetTicCount
    685          cmp     dx, wptr cs:[FloppyGetNameTimer+2]
     657         cmp     dx, wptr [FloppyGetNameTimer+2]
    686658         ja      BME_ExpiredGetFloppy
    687          cmp     ax, wptr cs:[FloppyGetNameTimer+0]
     659         cmp     ax, wptr [FloppyGetNameTimer+0]
    688660         jb      BME_NoFloppyNameExpired
    689661        BME_ExpiredGetFloppy:
     
    825797   add     ax, CFG_TimedDelay
    826798   adc     dx, 0
    827    mov     word ptr cs:[TimedTimeOut], ax
    828    mov     word ptr cs:[TimedTimeOut+2], dx
     799   mov     wptr [TimedTimeOut], ax
     800   mov     wptr [TimedTimeOut+2], dx
    829801   ret
    830802BOOTMENU_ResetTimedBoot         EndP
     
    835807   add     ax, 36                      ; 18*2 -> 2 seconds
    836808   adc     dx, 0
    837    mov     word ptr cs:[FloppyGetNameTimer], ax
    838    mov     word ptr cs:[FloppyGetNameTimer+2], dx
     809   mov     word ptr [FloppyGetNameTimer], ax
     810   mov     word ptr [FloppyGetNameTimer+2], dx
    839811   ret
    840812BOOTMENU_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 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.
    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
     6the terms of the GNU General Public License as published by the Free
     7Software Foundation, either version 3 of the License, or (at your option)
     8any later version.
     9;
     10; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY
     11WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS
     12FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
     13details.
     14;
     15; You should have received a copy of the GNU General Public License along with
     16AiR-BOOT. If not, see <http://www.gnu.org/licenses/>.
     17;
    1818;---------------------------------------------------------------------------
    1919;                                                      AiR-BOOT / DRIVE I/O
    2020;---------------------------------------------------------------------------
    2121
    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!
    2728
    2829; Will only load base-configuration, will NOT load IPT nor Hide-Config
     
    124125;  Internal access (to AiR-BOOT) is always done via INT 13h/CHS.
    125126
     127DriveIO_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
     136DriveIO_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.
     143DriveIO_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
     168DriveIO_InitLBASwitchTable      EndP
     169
     170; Adjusts BX:AX / CX:DX to meet LVM sector location
     171;  Destroys SI
     172DriveIO_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
     183DriveIO_LVMAdjustToInfoSector   EndP
     184
    126185Comment *ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
    127186 Routine: Loads partition to ExecBase and checks for validity
     
    132191 Preserve: all registers
    133192 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ*
    134 DriveIO_LoadPartition           Proc Near  Uses ds si
    135    int 3
     193DriveIO_LoadPartition           Proc Near  Uses si
    136194   mov     wptr cs:[CurPartition_Location+0], ax
    137195   mov     wptr cs:[CurPartition_Location+2], bx
    138196   mov     wptr cs:[CurPartition_Location+4], dx
    139197   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
    143199   call    DriveIO_LoadSector
    144200   clc
    145    cmp     word ptr ds:[si+LocBR_Magic], 0AA55h
     201   cmp     wptr [si+LocBR_Magic], 0AA55h
    146202   je      DIOLP_Success
    147203   ; We check, if we are scanning partitions. In that case, if CHS is not 0/0/1
     
    165221 Preserve: all registers
    166222 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ*
    167 DriveIO_SavePartition           Proc Near  Uses ax bx cx dx ds si
     223DriveIO_SavePartition           Proc Near  Uses ax bx cx dx si
    168224   mov     ax, wptr cs:[CurPartition_Location+0]
    169225   mov     bx, wptr cs:[CurPartition_Location+2]
    170226   mov     dx, wptr cs:[CurPartition_Location+4]
    171227   mov     cx, wptr cs:[CurPartition_Location+6] ; Gets prev. saved location
    172    push    ExecBaseSeg
    173    pop     ds
    174    mov     si, ExecBasePtr               ; DS:SI - ExecBase
     228   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
    175231   call    DriveIO_SaveSector
     232  DIOSP_SevereError:
    176233   ret
    177234DriveIO_SavePartition           EndP
    178235
    179 ; L„sst DS:SI fr Aufrufer
     236; Keeps DS:SI for caller
    180237DriveIO_LoadTmpSector           Proc Near  Uses
    181    push    cs
    182    pop     ds
    183238   mov     si, offset TmpSector
    184239   call    DriveIO_LoadSector
     
    186241DriveIO_LoadTmpSector           EndP
    187242
    188 ; L„sst DS:SI fr Aufrufer
     243; Keeps DS:SI for caller
    189244DriveIO_SaveTmpSector           Proc Near  Uses
    190    push    cs
    191    pop     ds
    192245   mov     si, offset TmpSector
    193246   call    DriveIO_SaveSector
    194247   ret
    195248DriveIO_SaveTmpSector           EndP
     249
     250; Keeps DS:SI for caller, sets carry if valid LVM sector encountered
     251DriveIO_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
     272DriveIO_LoadLVMSector           EndP
     273
     274; Keeps DS:SI for caller, saves at anytime w/o checks (!)
     275DriveIO_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
     289DriveIO_SaveLVMSector           EndP
    196290
    197291; Memory-Block that holds information for LBA-access via INT 13h
     
    206300;  so users will notice that something is bad with their partition table(s)
    207301DriveIO_GotLoadError            Proc Near
    208    test    cs:CurIO_Scanning, 1          ; Must be CS:, cause DS!=CS here
     302   test    cs:CurIO_Scanning, 1          ; Must be CS:, cause DS!=CS maybe here
    209303   jnz     InScanMode
    210304   jmp     MBR_LoadError
     
    213307   push    cs
    214308   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
    215317   call    MBR_Teletype
    216318   jmp     MBRLE_Halt
     
    227329 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ*
    228330DriveIO_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
    237347  DIOLS_UseNormal:
    238       mov     di, 3
     348      mov      di, 3
    239349     DIOLS_ErrorLoop:
    240          push    ds
    241          pop     es
    242          mov     bx, si                      ; ES:BX - Destination
    243          mov     ax, 0201h                   ; Function 2 - Load Sector
    244          int     13h
    245          jnc     DIOLS_Success
    246       dec     di
    247       jnz     DIOLS_ErrorLoop
     350         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
    248358      ; Sector load failed...
    249       jmp     DriveIO_GotLoadError
     359      jmp      DriveIO_GotLoadError
    250360
    251361  DIOLS_UseExtension:
     
    260370      pop     ds
    261371      mov     si, offset DriveIO_DAP
    262       mov     ah, 42h                         ; Extended Read
     372      mov     ah, 42h                        ; Extended Read
    263373      int     13h
    264374   pop     cx
     
    281391 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ*
    282392DriveIO_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
    291409  DIOSS_UseNormal:
    292       mov     di, 3
     410      mov      di, 3
    293411     DIOSS_ErrorLoop:
    294          push    ds
    295          pop     es
    296          mov     bx, si                      ; ES:BX - Destination
    297          mov     ax, 0301h                   ; Function 3 - Write Sector
    298          int     13h
    299          jnc     DIOSS_Success
    300       dec     di
    301       jnz     DIOSS_ErrorLoop
    302       call    MBR_SaveError
     412         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
    303421
    304422  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 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.
    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
     6the terms of the GNU General Public License as published by the Free
     7Software Foundation, either version 3 of the License, or (at your option)
     8any later version.
     9;
     10; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY
     11WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS
     12FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
     13details.
     14;
     15; You should have received a copy of the GNU General Public License along with
     16AiR-BOOT. If not, see <http://www.gnu.org/licenses/>.
     17;
    1818;---------------------------------------------------------------------------
    1919;                                                 AiR-BOOT / OTHER ROUTINES
     
    8989   ; Calculate Cooper-Bar Tables
    9090   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
    91100
    92101   ; Setup PartitionPointers-Table
     
    140149   int     16h
    141150   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
    142156   ret
    143157PRECRAP_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 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.
    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
     6the terms of the GNU General Public License as published by the Free
     7Software Foundation, either version 3 of the License, or (at your option)
     8any later version.
     9;
     10; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY
     11WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS
     12FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
     13details.
     14;
     15; You should have received a copy of the GNU General Public License along with
     16AiR-BOOT. If not, see <http://www.gnu.org/licenses/>.
     17;
    1818;---------------------------------------------------------------------------
    1919;                                     AiR-BOOT / PARTiTiON REGULAR ROUTINES
     
    2424   xor     bl, bl
    2525   mov     dl, CFG_PartDefault
    26    call    PART_FixUpPartitionNumber
     26   call    PART_FixUpSelectionNumber
    2727   mov     CFG_PartDefault, dl
    2828   mov     dl, CFG_PartLast
    29    call    PART_FixUpPartitionNumber
     29   call    PART_FixUpSelectionNumber
    3030   mov     CFG_PartLast, dl
    3131   mov     dl, CFG_PartAutomatic
    32    call    PART_FixUpPartitionNumber
     32   call    PART_FixUpSelectionNumber
    3333   mov     CFG_PartAutomatic, dl
    3434
    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
    4647   ret
    4748PART_FixUpDefaultPartitionValues EndP
     
    6263;            BL - Requested Partition ID
    6364;       Out: DL - New number of partition (guessed normally ;)
    64 PART_FixUpPartitionNumber       Proc Near Uses ax cx
    65    cmp     dl, 0FFh
    66    je      PFUPN_PartitionDisabled
     65PART_FixUpSelectionNumber       Proc Near Uses ax cx
     66   cmp     dl, 080h
     67   je      PFUPN_SelectionDisabled
     68   ja      PFUPN_SpecialSelection
    6769   call    PARTSCAN_GetXref              ; DL - PartitionNo prev IPT
    6870   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:
    7590   mov     cl, CFG_Partitions
    7691   or      cl, cl
     
    94109  PFUPN_BootableSearchLoop:
    95110      call    PART_GetPartitionPointer   ; Gets SI for partition DL
    96       mov     al, cs:[si+LocIPT_Flags]
     111      mov     al, ds:[si+LocIPT_Flags]
    97112      and     al, Flags_BootAble
    98113      jnz     PFUPN_Found
     
    106121
    107122  PFUPN_NothingFound:
    108    mov     dl, 0FFh                      ; Now being Disabled
     123   mov     dl, 080h                      ; Now being Disabled
    109124  PFUPN_Found:
    110125   ret
    111 PART_FixUpPartitionNumber       EndP
     126PART_FixUpSelectionNumber       EndP
    112127
    113128; ============================================================================
    114 ;        In: CS:SI - IPT-Entry of partition
    115 ;            ExecBaseSeg:Ptr - Actual Boot-Record of partition
     129;        In: DS:SI - IPT-Entry of partition
     130;            DS:PartitionSector - Actual Boot-Record of partition
    116131;       Out: *none* (BootRecordCRD updated)
    117132PART_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
    126137   ret
    127138PART_UpdateBootRecordCRC        EndP
     139
     140; Copies the device-name to the Resume-BIOS IPT entry
     141PART_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
     160PART_UpdateResumeBIOSName       EndP
    128161
    129162; ============================================================================
     
    166199  PCMPP_NoResumeBootSeqInclude:
    167200
    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:
    180214
    181215   movzx   cx, CFG_Partitions ; LocIPT_MaxPartitions
     
    201235; Gets a pointer to the given partition
    202236;        In: DL - Number of partition
    203 ;       Out: SI - Pointer to it (use CS)
     237;       Out: SI - Pointer to it
    204238PART_GetPartitionPointer        Proc Near   Uses bx
    205239   cmp     dl, 0FEh
     
    208242   movzx   bx, dl
    209243   shl     bx, 1
    210    mov     si, wptr cs:[PartitionPointers+bx]
     244   mov     si, wptr [PartitionPointers+bx]
    211245   ret
    212246  PGPP_IsBIOSbootSeq:
     
    250284   jb      PCTS_IsBIOSbootSeq
    251285   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
    254289   sub     ax, offset PartitionTable
    255290   mov     bl, LocIPT_LenOfIPT
     
    257292   mov     dl, al
    258293   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
    262298  PCTS_IsBIOSbootSeq:
    263299   mov     dl, 0FEh
     
    271307;       Out: DL - Number of partition in filtered view
    272308PART_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:
    273316   ; First we get Partition-Offset in AX
    274317   movzx   ax, dl
     
    276319   mul     bl
    277320   add     ax, offset PartitionTable
     321  PCFS_DoSearch:
    278322   ; Now search for this offset in our filtered Partition-Pointer-Table
    279323   push    cs
     
    297341; Destroyed: AX
    298342PART_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
    301346   mov     si, offset PartitionSizeTable
    302347   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:
    308354   mov     bl, LocIPT_LenOfIPT
    309355   div     bl                            ; Divide with IPTlength
     
    381427;              install MBR Protection, if wanted
    382428;              Special Boot Support, if needed (OS/2 Extended partitions)
     429;              Copy boot-sector to StartBase
    383430;              run boot sector...
    384431PART_StartPartition             Proc Near   Uses ax dx es di
     
    389436   call    PART_ConvertToStraight        ; ...we save straight view for later...
    390437   mov     BootPartNo, dl
     438   ; Straight - FFh -> Floppy boot
     439   ;            FEh -> BIOS continue (CD-ROM, ZIP, etc.)
    391440
    392441   ; We need straight pointers from now on, so calculate the table...
     
    397446
    398447   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]
    401450      ; Copy Partition-Name to BootingNow area for display purposes
    402451         add     si, LocIPT_Name
     
    411460      mov     si, offset TXT_BootingNow1
    412461      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
    415465      or      dl, dl
    416466      jnz     PSP_IsHarddisc
     
    420470      jmp     PSP_IsFloppyCDROMetc
    421471
    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
    431482
    432483     PSP_IsHarddisc:
     
    440491   pop     si                            ; restores SI (IPT-pointer)
    441492
    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]
    447498   call    DriveIO_LoadPartition         ; Load Table...
    448499   ; --------------------------------------------------- MODIFY PARTITION TABLE
    449    push    ExecBaseSeg
     500   push    cs
    450501   pop     es
    451    mov     di, ExecBasePtr
    452    add     di, 446                ; DS:SI - Erster Partitionseintrag
     502   mov     di, offset PartitionSector+446 ; ES:DI - First Partitionentry
    453503
    454504   ; Remove all active-flags for safety reasons, primary partition table will
     
    464514
    465515   ; 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]
    470520   ; BX:AX - absolute position of partition relative to partition table
    471521   ; ...and search for it...
     
    478528     PSP_SearchMismatch:
    479529      add     di, LocBRPT_LenOfEntry     ; 16 Bytes per Partition-Entry
    480    cmp     di, 500+ExecBasePtr
     530   cmp     di, 500+offset PartitionSector
    481531   jb      PSP_SearchLoop
    482532   jmp     MBR_HaltSystem
     
    493543   ;  If yes, set magic bytes 'I13X' at 3000:0 for boot-loader to recognize.
    494544   ;  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]
    497547   add     ax, wptr es:[di+LocBRPT_AbsoluteLength+0] ; Add length to absolute
    498548   adc     bx, wptr es:[di+LocBRPT_AbsoluteLength+2] ;  begin location
     
    515565
    516566   ; now check, if we need to hide any partition
    517    test    byte ptr cs:[si+LocIPT_Flags], Flags_HideFeature
     567   test    byte ptr [si+LocIPT_Flags], Flags_HideFeature
    518568   jz      PSP_NoHideFeature
    519569   ; --------------------------------------------------------- PARTITION HIDING
     
    532582      mov     cl, CFG_Partitions
    533583     PSP_PartitionsHideLoop:
    534          mov     dl, cs:[di]
     584         mov     dl, es:[di]
    535585         inc     di
    536586         cmp     dl, 0FFh
     
    543593      ; So something got hidden and we have to remark a primary partition,
    544594      ;  if we are booting something non-primary from 1st hdd.
    545       cmp     bptr ds:[si+LocIPT_Drive], 80h
     595      cmp     bptr [si+LocIPT_Drive], 80h
    546596      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]
    549599      or      ax, ax
    550600      jnz     PSP_HideAdjustPrimaryMark  ; or booting non-primary partition
     
    565615
    566616  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:
    567631   push    si
    568632   ; ------------------------------------------------------- -"PLEASE WAIT..."-
     
    584648   ; -------------------------------------------------- SPECIAL BOOT PROCESSING
    585649   ; 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]
    587651   cmp     al, 0FEh                      ; Via BIOS ? (aka resume BIOS boot sequence)
    588652   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
    591656   jmp     PSP_StartNormal
    592657
     
    597662   dw      0F000h
    598663
    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   ; =======================================================================
    608674
    609675  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]
    615681   call    DriveIO_LoadPartition         ; Loads boot-sector...
    616682
    617683   test    CFG_DetectVIBR, 1
    618684   jz      PSP_NoVIBR
    619    test    byte ptr cs:[si+LocIPT_Flags], Flags_VIBR_Detection
     685   test    byte ptr [si+LocIPT_Flags], Flags_VIBR_Detection
    620686   jz      PSP_NoVIBR
    621687   ; ---------------------------------------------------------- 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
    626690         mov     bx, 4B4Dh               ; Magic: 'MK'
    627691         call    MBR_GetCheckOfSector
    628       pop     si ds
    629       cmp     cs:[si+LocIPT_BootRecordCRC], bx
     692      pop     si
     693      cmp     [si+LocIPT_BootRecordCRC], bx
    630694      je      PSP_NoVIBR
    631       mov     bx, cs:[si+LocIPT_BootRecordCRC]
     695      mov     bx, [si+LocIPT_BootRecordCRC]
    632696      or      bx, bx
    633697      jz      PSP_NoVIBR
     
    645709   jz      PSP_NoMBRprotect
    646710   ; -------------------------------------------------- INSTALLS MBR-PROTECTION
    647    push    si                            ; We need SI later...
     711   push    ds si                         ; We need DS:SI later...
    648712      ; First subtract 1024 bytes from Base-Memory...
    649713      push    ds
     
    658722      ; Now copy in our code (to DX:0)...
    659723
    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
    663725      mov     es, dx
    664       xor     di, di                      ; ES:DI - Destination
     726      xor     di, di                     ; ES:DI - Destination
    665727      mov     cx, 512
    666       rep     movsw                       ; Move 1024 bytes...
     728      rep     movsw                      ; Move 1024 bytes...
    667729
    668730      ; Now fill in variables...
     
    671733      mov     ds, ax
    672734      mov     si, 10h*4
    673       xor     di, di                      ; INT 10h Vector to MBR Protection
     735      xor     di, di                     ; INT 10h Vector to MBR Protection
    674736      movsd
    675       mov     si, 13h*4                   ; INT 13h Vector to MBR Protection
     737      mov     si, 13h*4                  ; INT 13h Vector to MBR Protection
    676738      movsd
    677       mov     al, CFG_IgnoreWriteToMBR    ; Option to MBR Protection
     739      mov     al, CFG_IgnoreWriteToMBR   ; Option to MBR Protection
    678740      stosb
    679741
     
    683745      mov     ax, 9
    684746      mov     ds:[si], ax
    685       mov     ds:[si+2], dx               ; Vector hardcoded at DS:0009
     747      mov     ds:[si+2], dx              ; Vector hardcoded at DS:0009
    686748      ; MBR-Protection now active :)
    687    pop     si                          ; Restore SI
     749   pop     si ds                         ; Restore DS:SI
    688750
    689751   ; ------------------------------------------------ SPECIAL PARTITION SUPPORT
    690752   ; needed by OS/2 Warp / eComStation
    691753  PSP_NoMBRprotect:
    692    cmp     bptr cs:[si+LocIPT_SystemID], 08      ; I hate Microsuck NTFS check
     754   cmp     bptr [si+LocIPT_SystemID], 08 ; I hate Microsuck NTFS check
    693755   je      PSP_NoSpecialSupport
    694756
    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
    698758      ; Special Support Detection
    699759      mov     ax, wptr es:[di+24]
     
    707767      jne     PSP_NoSpecialSupport
    708768      ; Special Support needed
    709       mov     al, bptr cs:[si+LocIPT_Drive]
     769      mov     al, bptr [si+LocIPT_Drive]
    710770      mov     bptr es:[di+36], al        ; Write Actual Drive-Letter
    711       mov     ax, cs:[si+LocIPT_AbsoluteBegin]
     771      mov     ax, [si+LocIPT_AbsoluteBegin]
    712772      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]
    714774      mov     wptr es:[di+30], ax        ; Done by OS/2 BootMan as well...
    715775
    716776   ; ------------------------------------------------ LOGICAL PARTITION SUPPORT
    717777  PSP_NoSpecialSupport:
    718    test    byte ptr cs:[si+LocIPT_Flags], Flags_DriveLetter
     778   test    byte ptr [si+LocIPT_Flags], Flags_DriveLetter
    719779   jz      PSP_NoLogicalSupport
    720780
    721781      movzx   bx, BootPartNo             ; EntryNumber is straight view
    722       mov     al, bptr cs:[DriveLetters+bx]
     782      mov     al, bptr [DriveLetters+bx]
    723783      mov     bptr es:[di+37], al        ; Write Drive Letter (OS/2 only)
    724784
     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
    725795   ; ---------------------------------------------------- NOW START BOOT-RECORD
    726   PSP_NoLogicalSupport:
    727796   xor     ax, ax
    728797   xor     bx, bx
     
    732801   xor     dh, dh                        ; Drive supported by BIOS
    733802   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
    737808PART_StartPartition             EndP
    738809
     
    740811;        In: DL - Partition to hide
    741812; Destroyed: None
    742 PART_HidePartition              Proc Near   Uses ax bx cx dx si es di
     813PART_HidePartition              Proc Near   Uses ax bx cx dx si di
    743814   call    PART_GetPartitionPointer      ; Pointer to partition (DL) -> SI
    744815
    745816   ; 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]
    751822   call    DriveIO_LoadPartition
    752823   ; 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...
    757825
    758826   ; 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]
    763831   ; BX:AX - absolute position of partition relative to partition table
    764832   ; ...and search for it...
     
    771839     PHP_SearchMismatch:
    772840      add     di, LocBRPT_LenOfEntry     ; 16 Bytes per partition entry
    773    cmp     di, 500+ExecBasePtr
     841   cmp     di, 500+offset PartitionSector
    774842   jb      PHP_SearchLoop
    775843   jmp     MBR_HaltSystem                ; not found, something is wrong here
     
    792860;  *not* the BIOS. This one *could* cause havoc to some systems, but I can't
    793861;  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
     862PART_MarkFirstGoodPrimary       Proc Near   Uses ax si di
     863   mov     di, offset PartitionSector+446 ; DS:SI - 1st partitionentry
    800864   ; First action to do: Remove the active flag from every partition
    801865   push    di
     
    827891     PMPP_Search1NoHit:
    828892      add     di, LocBRPT_LenOfEntry     ; 16 Bytes per Partition-Entry
    829    cmp     di, 500+ExecBasePtr
     893   cmp     di, 500+offset PartitionSector
    830894   jb      PMPP_Search1Loop
    831895
    832    mov     di, ExecBasePtr
    833    add     di, 446                       ; DS:SI - First Partition-Entry
     896   mov     di, offset PartitionSector+446 ; DS:SI - 1st Partition-Entry
    834897   ; Second Search, hit on anything that is not an extended partition
    835898   ;  (05 or 0Fh)
     
    844907     PMPP_Search2NoHit:
    845908      add     di, LocBRPT_LenOfEntry     ; 16 Bytes per Partition-Entry
    846    cmp     di, 500+ExecBasePtr
     909   cmp     di, 500+offset PartitionSector
    847910   jb      PMPP_Search2Loop
    848911   jmp     PMPP_SearchFailed
     
    859922;            SI - Pointer to Name (8char)
    860923; Destroyed: *none*
    861 PART_SearchFileSysName          Proc Near  Uses ds bx dx
     924PART_SearchFileSysName          Proc Near  Uses bx dx
    862925   movzx   bx, al
    863    push    cs
    864    pop     ds
    865926   mov     si, offset FileSysIDs
    866927  PSFSN_SearchLoop:
     
    892953;        In: AL - FileSysID
    893954;       Out: AL - Hidden File-System-ID
    894 PART_SearchFileSysHiddenID      Proc Near  Uses ds bx
     955PART_SearchFileSysHiddenID      Proc Near  Uses bx
    895956   movzx   bx, al
    896    push    cs
    897    pop     ds
    898957   mov     si, offset FileSysIDs
    899958  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 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.
    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
     6the terms of the GNU General Public License as published by the Free
     7Software Foundation, either version 3 of the License, or (at your option)
     8any later version.
     9;
     10; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY
     11WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS
     12FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
     13details.
     14;
     15; You should have received a copy of the GNU General Public License along with
     16AiR-BOOT. If not, see <http://www.gnu.org/licenses/>.
     17;
    1818;---------------------------------------------------------------------------
    1919;                                             AiR-BOOT / PARTiTiON SCANNING
    2020;---------------------------------------------------------------------------
    2121
    22 ; Note: This is complex code. Also some of these functions have DS != CS, so
    23 ;        make sure that you know what you are doing in here.
     22; Note: This is complex code. So make sure that you know what you are doing in
     23;        here.
    2424
    2525PARTSCAN_ScanForPartitions      Proc Near  Uses
     
    2727   call    PARTSCAN_ResetXref
    2828
    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
    3630   xor     al, al
    3731   mov     NewPartitions, al
     
    6761   rep     movsw
    6862
    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
    8479
    8580   ; ...and finally check, if we need to set a Drive-Letter
     
    125120   call    DriveIO_LoadPartition
    126121   jc      PSSDFP_InvalidPartition
     122   ; LVM Support - Reads LVM Information Sector
     123   call    DriveIO_LoadLVMSector
    127124   call    PARTSCAN_ScanPartition
    128125   IFDEF ReleaseCode
     
    135132PARTSCAN_ScanDriveForPartitions EndP
    136133
     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
     136PARTSCAN_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
     169PARTSCAN_ScanPartitionForExtended EndP
     170
    137171; 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
     172PARTSCAN_ScanPartition          Proc Near  Uses ax si
     173   mov     si, offset PartitionSector+446 ; DS:SI - 1st Partition-Entry
    143174  PSSP_ScanLoop:
    144       mov     al, bptr ds:[si+LocBRPT_SystemID]
     175      mov     al, bptr [si+LocBRPT_SystemID]
    145176      cmp     al, 5                      ; Is Partition EXTENDED ?
    146177      je      PSSP_IgnorePartition
     
    149180      cmp     al, 0                      ; Is Partition EMPTY ?
    150181      je      PSSP_IgnorePartition
    151       ; Ignore this Partitions, because there are no real Partitions
     182      ; Ignore these partitions, because there are no real Partitions
    152183      call    PARTSCAN_CheckThisPartition
    153184     PSSP_IgnorePartition:
    154185      ; L”scht das Boot-Able Flag...
    155       and     byte ptr ds:[si+LocBRPT_Flags], 7Fh ; Reset the Active-Flag
     186      and     byte ptr [si+LocBRPT_Flags], 7Fh ; Reset the Active-Flag
    156187      add     si, LocBRPT_LenOfEntry     ; 16 Bytes per partition entry
    157    cmp     si, 500+ExecBasePtr
     188   cmp     si, 500+offset PartitionSector
    158189   jb      PSSP_ScanLoop
    159190   ; If we are on first HDD and in primary partition table -> mark primary
    160    cmp     bptr es:[CurPartition_Location+4], 80h ; Drive
     191   cmp     bptr [CurPartition_Location+4], 80h ; Drive
    161192   jne     PSSP_NoMarkPrimary
    162    cmp     wptr es:[CurPartition_Location+0], 0
     193   cmp     wptr [CurPartition_Location+0], 0
    163194   jne     PSSP_NoMarkPrimary
    164    cmp     wptr es:[CurPartition_Location+2], 0 ; Absolute Location
     195   cmp     wptr [CurPartition_Location+2], 0 ; Absolute Location
    165196   jne     PSSP_NoMarkPrimary
    166197   call    PART_MarkFirstGoodPrimary
     
    175206; the old table, otherwise they are generated freshly.
    176207; 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)
     209PARTSCAN_CheckThisPartition     Proc Near  Uses di si
    181210   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]
    189216   mov     PartSystemID, al
    190217
    191    mov     cx, wptr ds:[si+LocBRPT_BeginSector] ; Cylinder/Sector
    192    mov     dh, bptr ds:[si+LocBRPT_BeginHead] ; Head
    193    mov     dl, bptr es:[CurPartition_Location+4] ; Drive
    194    mov     ax, wptr ds:[si+LocBRPT_RelativeBegin] ; Absolute Sector
    195    mov     bx, wptr ds:[si+LocBRPT_RelativeBegin+2]
    196    add     ax, wptr es:[CurPartition_Location+0] ; +Partition-Absolute
    197    adc     bx, wptr es:[CurPartition_Location+2] ;  sectors
     218   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
    198225   call    DriveIO_LoadTmpSector         ; Loads Boot record
    199226   ; Sets up DS:SI - TmpSector
     
    218245   ; SI - Boot-Record of Partition
    219246   ; DI - File System Name
    220    ; DS==CS here
    221247   ;================================
    222248
     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
    223305   test    ah, FileSysFlags_NoName       ; No-Name-Flag ? -> No Partition Name
    224306   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
    236313      test    ah, FileSysFlags_FAT32     ; FAT32 specific name getting ?
    237314      jz      PCCTP_ResumeNormal
    238315      add     si, 1Ch                    ; Fix for FAT 32, shiat
    239316     PCCTP_ResumeNormal:
    240       add     si, 2Bh                    ; DS:SI - Partition-Name
    241317      mov     cx, 11                     ;         11 bytes length
    242318      call    PART_CheckForValidPartName
    243319      jnc     PCCTP_ThereIsNoName
    244 ;      jnc     PCCTP_SetNameToNoName
    245320      sub     si, 4                      ; DS:SI -> Serial&Name (15-Bytes)
    246321      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
    256323
    257324      ;=======================================================
     
    263330      xor     ah, ah                     ; no Flags_NoPartName cause PartName valid
    264331      mov     di, offset PartitionTable  ; ES:DI - IPT-Start
    265       mov     dl, es:CFG_Partitions
     332      mov     dl, CFG_Partitions
    266333      or      dl, dl
    267       jz      PCCTP_NameCompFailed
     334      jnz     PCCTP_SerialNameCompLoop
     335      jmp     PCCTP_CompareFailed
    268336     PCCTP_SerialNameCompLoop:
    269          mov     al, es:[di+LocIPT_Flags]
     337         mov     al, [di+LocIPT_Flags]
    270338         test    al, Flags_NowFound
    271339         jnz     PCCTP_SerialNameAlreadyFound
     
    285353      mov     dl, CFG_Partitions
    286354     PCCTP_NameCompLoop:
    287          mov     al, es:[di+LocIPT_Flags]
     355         mov     al, [di+LocIPT_Flags]
    288356         test    al, Flags_NowFound
    289357         jnz     PCCTP_NameAlreadyFound
     
    296364         pop     di si
    297365         jne     PCCTP_NameNoMatch
    298          mov     cx, ds:[si+0]           ; Get Serial
    299          mov     es:[di+0], cx
    300          mov     cx, ds:[si+2]
    301          mov     es:[di+2], cx           ; ...and put it into IPT
     366         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
    302370         jmp     PCCTP_Match
    303371        PCCTP_NameNoMatch:
     
    307375      jnz     PCCTP_NameCompLoop
    308376     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...
    309417      jmp     PCCTP_CompareFailed
    310418
    311419  PCCTP_ThereIsNoName:
    312       ; First, try to find this partition by comparing location and PartitionID
     420      ; Try to find this partition by comparing location and PartitionID
    313421      ;  aka LocIPT_AbsoluteBegin:dword and LocIPT_SystemID
    314422      ; If found, simply go to the normal match-routine, otherwise use the
    315423      ;  File-System-Name to build the Volume-Label for the New IPT Entry.
    316424      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]
    326431      ; Build a standard-Volume Label from FileSystemNamePtr
    327432      ;  We have to call SearchFileSysName again because of NTFS
     
    330435         call    PART_SearchFileSysName   ; We want SI here <- FileSystemNamePtr
    331436         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"
    335445         mov     si, offset MBR_NoName_Patched
    336446      pop     cx ax
     
    345455      mov     ah, Flags_NoPartName       ;set Flags_NoPartName, PartName invalid
    346456      mov     di, offset PartitionTable  ; ES:DI - IPT-Start
    347       mov     dl, es:CFG_Partitions
     457      mov     dl, CFG_Partitions
    348458      or      dl, dl
    349459      jz      PCCTP_LocCompFailed
    350460     PCCTP_LocCompLoop:
    351          mov     al, es:[di+LocIPT_Flags]
     461         mov     al, [di+LocIPT_Flags]
    352462         test    al, Flags_NowFound
    353463         jnz     PCCTP_LocAlreadyFound
    354464         ; Now compare IPT with current Partition
    355          cmp     dh, es:[di+LocIPT_SystemID]
     465         cmp     dh, [di+LocIPT_SystemID]
    356466         jne     PCCTP_LocMismatch
    357          cmp     cx, es:[di+LocIPT_AbsoluteBegin]
     467         cmp     cx, [di+LocIPT_AbsoluteBegin]
    358468         jne     PCCTP_LocMismatch
    359          cmp     bx, es:[di+LocIPT_AbsoluteBegin+2]
     469         cmp     bx, [di+LocIPT_AbsoluteBegin+2]
    360470         jne     PCCTP_LocMismatch
    361471         jmp     PCCTP_Match
     
    379489   ;  for converting HideConfig.
    380490   mov     dh, dl
    381    mov     dl, es:CFG_Partitions
     491   mov     dl, CFG_Partitions
    382492   sub     dl, dh
    383493   mov     dh, NewPartitions             ; is actually a counter
     
    385495
    386496   ; Get Saved-Flags...
    387    mov     cl, byte ptr es:[di+LocIPT_Flags]     ; Use saved Flags
     497   mov     cl, bptr [di+LocIPT_Flags]    ; Use saved Flags
    388498
    389499   ; ...and Saved-CRC if available...
    390    mov     ax, wptr es:[di+LocIPT_BootRecordCRC]
     500   mov     ax, wptr [di+LocIPT_BootRecordCRC]
    391501   or      ax, ax
    392502   jz      PCCTP_UseNewComputedCRC
     
    394504  PCCTP_UseNewComputedCRC:
    395505   ; ...and mark partition in IPT as already found
    396    or      byte ptr es:[di+LocIPT_Flags], Flags_NowFound
     506   or      bptr [di+LocIPT_Flags], Flags_NowFound
    397507   ; ...get Serial&Name from IPT-table...
    398508   mov     si, di
     
    412522   mov     al, PartTypeFlags
    413523   ; May I auto-add partitions ?
    414    test    es:CFG_PartitionsDetect, 1
     524   test    CFG_PartitionsDetect, 1
    415525   jz      PCCTP_MayNotAddAny ; add, but non-bootable
    416526   test    al, FileSysFlags_BootAble     ; AH kam von SearchFileSysName
     
    447557   ; Calculate Pointer to IPT
    448558   mov     di, offset NewPartTable       ; ES:DI - NewPartTable
    449    movzx   ax, es:NewPartitions
     559   movzx   ax, NewPartitions
    450560   mov     bl, LocIPT_LenOfIPT
    451561   mul     bl
     
    459569   pop     cx
    460570
    461    lds     si, dptr PartPtr              ; DS:SI - Cur Partition Entry
    462    mov     al, bptr es:[CurPartition_Location+4] ; Drive
     571   mov     si, [PartPtr]                 ; DS:SI - Cur Partition Entry
     572   mov     al, bptr [CurPartition_Location+4] ; Drive
    463573   stosb
    464574   mov     al, PartSystemID              ; Unhidden SystemID
     
    468578   mov     ax, PartCRC                   ; BootRecordCRC...
    469579   stosw
    470    mov     al, bptr ds:[si+LocBRPT_BeginHead]
     580   mov     al, bptr [si+LocBRPT_BeginHead]
    471581   stosb
    472    mov     ax, wptr ds:[si+LocBRPT_BeginSector] ; Cylinder/Sector
     582   mov     ax, wptr [si+LocBRPT_BeginSector] ; Cylinder/Sector
    473583   stosw
    474    mov     al, bptr es:[CurPartition_Location+5] ; Head of Part-Table
     584   mov     al, bptr [CurPartition_Location+5] ; Head of Part-Table
    475585   stosb
    476    mov     ax, wptr es:[CurPartition_Location+6] ; Cylinder/Sector
     586   mov     ax, wptr [CurPartition_Location+6] ; Cylinder/Sector
    477587   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-Absolute
    481    mov     dx, wptr es:[CurPartition_Location+2] ;  sectors
     588   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
    482592   add     ax, cx
    483593   adc     bx, dx
     
    489599   mov     ax, dx
    490600   stosw
    491    inc     es:NewPartitions              ; NEW IPT Entry DONE
    492 
    493    cmp     es:NewPartitions, LocIPT_MaxPartitions
     601   inc     NewPartitions                 ; NEW IPT Entry DONE
     602
     603   cmp     NewPartitions, LocIPT_MaxPartitions
    494604   jbe     PCCTP_NotTooManyPartitions
    495    mov     ax, cs
    496    mov     ds, ax
    497605   mov     si, offset TXT_TooManyPartitions
    498606   call    MBR_Teletype
     
    502610   ; UNHIDE PARTITION, if it was hidden previously
    503611   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
    512623   dec     ax
    513624   mov     bx, ax
     
    517628   mov     di, offset PartitionSizeTable
    518629   add     di, ax                        ; DI - Partition Size-Element
    519    mov     ax, wptr ds:[si+LocBRPT_AbsoluteLength] ; Sector-Size
    520    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]
    521632   call    PART_FillOutSizeElement
    522633   ret
    523634PARTSCAN_CheckThisPartition     EndP
    524 
    525 ; Scans Current Partition for Extended Partitions, if found, AX,BX,CX,DX will
    526 ; be set to this location and Carry will be set
    527 PARTSCAN_ScanPartitionForExtended Proc Near  Uses ds si
    528    mov     ax, ExecBaseSeg
    529    mov     ds, ax
    530    mov     si, ExecBasePtr
    531    add     si, 446                       ; DS:SI - First Partition Entry
    532    xor     ax, ax
    533   PSSPFE_ScanLoop:
    534       mov     al, ds:[si+LocBRPT_SystemID]
    535       cmp     al, 5                      ; Is Partition EXTENDED ?
    536       je      PSSPFE_ExtendedPartition
    537       cmp     al, 0Fh                    ; Is Partition EXTENDED (M$) ?
    538       je      PSSPFE_ExtendedPartition
    539       jmp     PSSPFE_IgnorePartition
    540      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], 1
    546       jnz     PSSPFE_ExtendedMainKnown
    547       mov     wptr es:[ExtendedAbsPos+0], ax
    548       mov     wptr es:[ExtendedAbsPos+2], bx
    549       mov     cs:[ExtendedAbsPosSet], 1
    550      PSSPFE_ExtendedMainKnown:
    551       mov     cx, wptr ds:[si+LocBRPT_BeginSector] ; Cylinder/Sector
    552       mov     dh, bptr ds:[si+LocBRPT_BeginHead]   ; Head
    553       mov     dl, bptr es:[CurPartition_Location+4] ; Drive
    554       stc
    555       jmp     PSSPFE_EndOfSearch
    556      PSSPFE_IgnorePartition:
    557       add     si, LocBRPT_LenOfEntry
    558    cmp     si, 500+ExecBasePtr
    559    jb      PSSPFE_ScanLoop
    560    clc
    561   PSSPFE_EndOfSearch:
    562    ret
    563 PARTSCAN_ScanPartitionForExtended EndP
    564635
    565636; ===================
     
    567638; ===================
    568639
    569 ; The following routines have DS==CS again
    570 
    571640; Reset X-Reference
    572 PARTSCAN_ResetXref              Proc Near   Uses ax cx es di
    573    push    cs
    574    pop     es
     641PARTSCAN_ResetXref              Proc Near   Uses ax cx di
    575642   mov     di, offset PartitionXref      ; X-Reference for later syncing
    576643   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 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.
    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
     6the terms of the GNU General Public License as published by the Free
     7Software Foundation, either version 3 of the License, or (at your option)
     8any later version.
     9;
     10; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY
     11WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS
     12FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
     13details.
     14;
     15; You should have received a copy of the GNU General Public License along with
     16AiR-BOOT. If not, see <http://www.gnu.org/licenses/>.
     17;
    1818;---------------------------------------------------------------------------
    1919;                                                       AiR-BOOT / PASSWORD
     
    2222; Don't ask me, what I'm doing in here to encode the passwords. I don't even
    2323;  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 ;-)
    2525
    2626PASSWORD_AskSystemPwd           Proc Near   Uses ax bx si di
     
    4949   ret
    5050PASSWORD_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
    5160
    5261;        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 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.
    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
     6the terms of the GNU General Public License as published by the Free
     7Software Foundation, either version 3 of the License, or (at your option)
     8any later version.
     9;
     10; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY
     11WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS
     12FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
     13details.
     14;
     15; You should have received a copy of the GNU General Public License along with
     16AiR-BOOT. If not, see <http://www.gnu.org/licenses/>.
     17;
    1818;---------------------------------------------------------------------------
    1919;                                                           AiR-BOOT / TEXT
    2020;---------------------------------------------------------------------------
    2121
    22 ; If you modify this Copyright and release this shiat under your own name,
     22; If you modify this Copyright and release this under your own name,
    2323;  I'm going to sue your cheap ass, rape your dog and blow up your house. =)
    2424
    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
     25CopyrightVersionLen   equ   5
     26Copyright             db ' AiR-BOOT v1.06 - (c) 1998-2009 M. Kiewitz, Dedicated to Gerd Kiewitz', 0
     27BootEndMsg            db 'Free usage allowed, as long as you dont or have not worked for US government', 0
     28BootEndMsg2           db 'This is GPLv3+ software. Please visit http://AiR-BOOT.sourceforge.net', 0
    3229
    33 CheckID_MBR                  db 'AiRBOOT'
     30CheckID_MBR           db 'AiRBOOT'
     31BrokenHDD             db ' (HDDx)', 0
    3432
    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.
     34TXT_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
     40ContinueBIOSbootTable 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 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.
    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
     6the terms of the GNU General Public License as published by the Free
     7Software Foundation, either version 3 of the License, or (at your option)
     8any later version.
     9;
     10; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY
     11WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS
     12FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
     13details.
     14;
     15; You should have received a copy of the GNU General Public License along with
     16AiR-BOOT. If not, see <http://www.gnu.org/licenses/>.
     17;
    1818;---------------------------------------------------------------------------
    1919;                                                          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 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.
    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
     6the terms of the GNU General Public License as published by the Free
     7Software Foundation, either version 3 of the License, or (at your option)
     8any later version.
     9;
     10; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY
     11WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS
     12FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
     13details.
     14;
     15; You should have received a copy of the GNU General Public License along with
     16AiR-BOOT. If not, see <http://www.gnu.org/licenses/>.
     17;
    1818;---------------------------------------------------------------------------
    1919;                                                      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 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.
    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
     6the terms of the GNU General Public License as published by the Free
     7Software Foundation, either version 3 of the License, or (at your option)
     8any later version.
     9;
     10; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY
     11WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS
     12FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
     13details.
     14;
     15; You should have received a copy of the GNU General Public License along with
     16AiR-BOOT. If not, see <http://www.gnu.org/licenses/>.
     17;
    1818;---------------------------------------------------------------------------
    1919;                         AiR-BOOT SETUP / GENERIC & GENERAL SETUP ROUTINES
     
    487487   call    VideoIO_LocateToCenter        ; LocateToCenter 3, 40 using TotalLen
    488488   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
    568539   ret
    569540SETUP_DrawMenuBase              EndP
     
    672643SETUP_EnterMenu_ExtendedOptions EndP
    673644
    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
    685657
    686658SETUP_EnterMenu_DefineMasterPassword Proc Near Uses
     
    698670; ============================================================================
    699671
    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
    759732
    760733;        In: di - Place for Password to be defined
     
    12081181SETUPMAGIC_ChangeBootDelay      EndP
    12091182
    1210 ; Used by : Default Partition
    1211 ; Value   : Partition Number (Base=0, None=FFh)
     1183; Used by : Default Selection
     1184; Value   : Partition Number (Base=0, None=80h, ContinueBIOS=FEh, Floppy=FFh)
    12121185; Method  : Changes to another bootable partition
    1213 ; Logic   : if no bootable partitions are found -> will set FFh
    1214 ;           if already set to FFh -> will search through all partitions
    1215 SETUPMAGIC_ChangePartition      Proc Near   Uses ax cx dx si es di
     1186; Logic   : if no bootable selections are found -> will set 80h
     1187;           if already set to 80h -> will search through all selections
     1188SETUPMAGIC_ChangeDefaultSelection Proc Near   Uses ax cx dx si es di
    12161189   mov     di, si
    1217    mov     dl, ds:[bx]                   ; Cur Partition No.
     1190   mov     dl, ds:[bx]                   ; Cur Selection No.
    12181191   push    bx
    12191192      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
    12251199         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:
    12261211         mov     dh, bl
    12271212         inc     bl
    12281213         dec     dh
     1214         or      cl, cl                        ; CL==0?    -> Decrease
     1215         jz      SMCP_SubstractSelection       ; otherwise -> Increase
    12291216      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:
    12341235      dec     bl
    12351236      jz      SMCP_NoBootable
     
    12381239      mov     ax, ds:[si+LocIPT_Flags]
    12391240      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:
    12411275   pop     bx
    12421276   mov     ds:[bx], dl                   ; neue Partition setzen
     
    12531287     SMCP_NoBootable:
    12541288   pop     bx
    1255    mov     dl, 0FFh                      ; "No Bootable"
     1289   mov     dl, 080h                      ; "No Bootable"
    12561290   mov     ds:[bx], dl                   ; set that one
    12571291   mov     si, offset TXT_SETUP_MAGIC_NoBootable
     
    12611295   call    SETUPMAGIC_InternalCopyTillNUL
    12621296   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 
     1297SETUPMAGIC_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]
    13481385; CH-ItemNo, CL-Add/Sub, BX-PtrToVariable, SI-ItemPack
    1349 SETUPMAGIC_ChangeLinuxDefaultKernel Proc Near   Uses ax cx dx si es di
    1350    mov     di, si
    1351    jc      SMCLDK_DoNotEdit
    1352 
    1353    ; --- Edit Linux Default Kernel Name ---
    1354    mov     cl, 29                        ; Left side: 29
    1355    test    ch, 1000b
    1356    jz      SMCLDK_NoRightSide
    1357    and     ch, 111b
    1358    mov     cl, 68                        ; Right side: 68
    1359   SMCLDK_NoRightSide:
    1360    add     ch, 6                         ; Koordinate umberechnen
    1361    push    cx
    1362       call    VideoIO_Locate
    1363       mov     cx, 0E01h
    1364       call    VideoIO_Color              ; Yellow on Blue
    1365       mov     cl, 12
    1366       mov     si, offset CFG_LinuxDefaultKernel
    1367       call    VideoIO_FixedPrint         ; Print out [SI] (Length = CL)
    1368    pop     cx
    1369    call    VideoIO_Locate
    1370    mov     cl, 11
    1371    mov     si, offset CFG_LinuxDefaultKernel
    1372    call    VideoIO_LetUserEditString
    1373 
    1374    ; Final-Process string (which means upper-case it)
    1375    mov     cl, 11
    1376   SMCLDK_FinalProcessLoop:
    1377       mov     al, bptr ds:[si]
    1378       cmp     al, 'a'
    1379       jb      SMCLDK_FinalProcessSkip
    1380       cmp     al, 'z'
    1381       ja      SMCLDK_FinalProcessSkip
    1382       sub     al, 20h
    1383      SMCLDK_FinalProcessSkip:
    1384       mov     bptr ds:[si], al
    1385       inc     si
    1386    dec     cl
    1387    jnz     SMCLDK_FinalProcessLoop
    1388    ; --- End of Edit Linux Default Kernel Name ---
    1389 
    1390   SMCLDK_DoNotEdit:
    1391    push    cs
    1392    pop     es
    1393    add     di, LocMENU_ItemPack          ; DI points to ItemPack...
    1394    mov     si, offset CFG_LinuxDefaultKernel
    1395    mov     cx, 6                         ; Copy from CFG-Space to ItemPack
    1396    rep     movsw
    1397    ret
    1398 SETUPMAGIC_ChangeLinuxDefaultKernel EndP
     1386;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
    13991436
    14001437SETUPMAGIC_ChangeTimedKeyHandling Proc Near   Uses ax cx dx ds si es di
     
    14521489SETUPMAGIC_ChangeBootMenu       EndP
    14531490
     1491SETUPMAGIC_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
     1505SETUPMAGIC_ChangeFloppyDisplay  EndP
     1506
    14541507SETUPMAGIC_ChangeBIOSbootSeq    Proc Near   Uses ax bx cx dx si di
    14551508   mov     di, si
     
    14641517   jnz     SMCBBS_Enabled
    14651518   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
    14661522   jmp     SMCBBS_CopyThiz
    14671523  SMCBBS_Enabled:
     
    14751531   pop     es
    14761532   call    SETUPMAGIC_InternalCopyTillNUL
     1533   ; Copy device-name to the ContBIOSbootSeq-IPT entry
     1534   call    PART_UpdateResumeBIOSName
    14771535   ret
    14781536SETUPMAGIC_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 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.
    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
     6the terms of the GNU General Public License as published by the Free
     7Software Foundation, either version 3 of the License, or (at your option)
     8any later version.
     9;
     10; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY
     11WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS
     12FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
     13details.
     14;
     15; You should have received a copy of the GNU General Public License along with
     16AiR-BOOT. If not, see <http://www.gnu.org/licenses/>.
     17;
    1818;---------------------------------------------------------------------------
    1919;                                           AiR-BOOT SETUP / MENU STRUCTURE
     
    101101                dw      offset TXT_SETUPHELP_SUBMENU ; Pointer to help info
    102102                ; 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.
    106108                dw      offset SETUPMAGIC_EnableDisable, offset CFG_TimedBoot
    107109                dw      offset TXT_SETUP_TimedBoot, offset TXT_SETUPHELP_TimedBoot
     
    123125                dw      6 dup (0)
    124126                ; The Menu-Items of the right side start here...
    125                 dw      offset SETUPMAGIC_EnableDisable, offset CFG_IncludeFloppy
     127                dw      offset SETUPMAGIC_ChangeFloppyDisplay, offset CFG_IncludeFloppy
    126128                dw      offset TXT_SETUP_IncludeFloppy, offset TXT_SETUPHELP_IncludeFloppy
    127129                dw      6 dup (0)
     
    194196                dw      offset TXT_SETUPHELP_SUBMENU ; Pointer to help information
    195197                ; 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_LinuxDefaultKrnl
    201                 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, 0
    207                 dw      0, 0
    208                 dw      0, 0
     198; [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)
    209211                dw      offset SETUPMAGIC_EnableDisable, offset CFG_ForceLBAUsage
    210212                dw      offset TXT_SETUP_ForceLBAUsage, offset TXT_SETUPHELP_ForceLBAUsage
     
    213215                dw      offset TXT_SETUP_ExtPartMShack, offset TXT_SETUPHELP_ExtPartMShack
    214216                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 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.
    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
     6the terms of the GNU General Public License as published by the Free
     7Software Foundation, either version 3 of the License, or (at your option)
     8any later version.
     9;
     10; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY
     11WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS
     12FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
     13details.
     14;
     15; You should have received a copy of the GNU General Public License along with
     16AiR-BOOT. If not, see <http://www.gnu.org/licenses/>.
     17;
    1818;---------------------------------------------------------------------------
    1919;                                          AiR-BOOT SETUP / PARTITION SETUP
     
    107107  PSM_KeyBootAble:
    108108   call    PART_GetPartitionPointer      ; Gets Partition (DL) Pointer -> SI
    109    mov     al, cs:[si+LocIPT_Flags]
     109   mov     al, [si+LocIPT_Flags]
    110110   xor     al, Flags_BootAble
    111    mov     cs:[si+LocIPT_Flags], al
     111   mov     [si+LocIPT_Flags], al
    112112   call    PARTSETUP_DrawPartitionInfo
    113113   call    PARTSETUP_BuildChoiceBar
     
    116116  PSM_KeyVIBRdetection:
    117117   call    PART_GetPartitionPointer      ; Gets Partition (DL) Pointer -> SI
    118    mov     al, cs:[si+LocIPT_Flags]
     118   mov     al, [si+LocIPT_Flags]
    119119   xor     al, Flags_VIBR_Detection
    120    mov     cs:[si+LocIPT_Flags], al
     120   mov     [si+LocIPT_Flags], al
    121121   xor     ax, ax
    122    mov     wptr cs:[si+LocIPT_BootRecordCRC], ax
     122   mov     wptr [si+LocIPT_BootRecordCRC], ax
    123123   call    PARTSETUP_DrawPartitionInfo
    124124   call    PARTSETUP_BuildChoiceBar
     
    143143  PSM_KeyDriveLetterExtMShack:
    144144   call    PART_GetPartitionPointer      ; Gets Partition (DL) Pointer -> SI
    145    mov     al, cs:[si+LocIPT_Flags]
     145   mov     al, [si+LocIPT_Flags]
    146146   xor     al, Flags_ExtPartMShack
    147    mov     cs:[si+LocIPT_Flags], al
     147   mov     [si+LocIPT_Flags], al
    148148   call    PARTSETUP_DrawPartitionInfo
    149149   call    PARTSETUP_BuildChoiceBar
     
    343343   mov     al, '/'
    344344   call    VideoIO_PrintSingleChar
    345    mov     al, cs:[si+LocIPT_Drive]
     345   mov     al, [si+LocIPT_Drive]
    346346   sub     al, 7Fh
    347347   call    VideoIO_PrintByteNumber
     
    363363   call    VideoIO_Locate
    364364   ; 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]
    366366   mov     bh, bl
    367367   mov     al, TXT_SETUP_FlagLetterBootable
     
    392392      call    VideoIO_Color              ; Bright Red, Blue
    393393   pop     cx
    394    mov     al, cs:[si+LocIPT_SystemID]
     394   mov     al, [si+LocIPT_SystemID]
    395395   call    PART_SearchFileSysName
    396396   mov     cl, 8
     
    532532; This is called from MBRS_Routines_PartitionSetup
    533533;        In: DL - Partition to ChangeName
    534 ; Destroyed: ax
    535 PARTSETUP_ChangePartitionName   Proc Near   Uses dx ds si es di
     534; Destroyed: ax bx cx
     535PARTSETUP_ChangePartitionName   Proc Near   Uses dx ds si di
     536   push    ds
     537   pop     es                            ; we need DS==ES in here for MOVSB etc.
    536538   call    PART_GetPartitionPointer      ; Gets the PartitionPointer for DL in SI
    537539
     
    551553   call    VideoIO_Locate                ; Goes to CX
    552554
    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]---
    558595   ; 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
    571606   push    si
    572       mov     al, cs:[si+LocIPT_SystemID]
     607      mov     al, [si+LocIPT_SystemID]
    573608      call    PART_SearchFileSysName
    574609      ; Replies AH - FileSysFlags, AL - UnhiddenID, SI - FileSysNamePtr
    575610   pop     si
     611   test    ah, FileSysFlags_NoName       ; If NoName by FileSysFlag
     612   jnz     PSCPN_LetUserEditPartName     ;  -> don't put it into BR at anytime
    576613   test    ah, FileSysFlags_FAT32        ; FAT32 specific name getting
    577614   jz      PSCPN_ResumeNormal
     
    579616  PSCPN_ResumeNormal:
    580617   add     di, 2Bh                       ; ES:DI - Name der Partition
     618
     619   ; This code is used for BR and LVM checking
     620  PSCPN_CheckPartName:
    581621   mov     cx, 11                        ; Partition-Name-Length = 11 Bytes
    582    xor     dx, dx                        ; Remove "Magic" from DX...
    583622   push    si di
    584623      add     si, LocIPT_Name            ; DS:SI -> Partition-Name
    585624      repz    cmpsb
    586625   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...
    591631   mov     cx, 11
    592632   add     si, LocIPT_Name               ; DS:SI -> Partition-Name
    593633   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
    600663   mov     cx, 11
    601664   push    si
     
    610673   call    PART_UpdateBootRecordCRC
    611674
    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
    613681   ret
    614682PARTSETUP_ChangePartitionName   EndP
    615683
    616 
    617 
    618 
    619684; =============================================================================
    620 
    621685; This is called from MBRS_Routines_PartitionSetup
    622686;        In: DL - Partition to HiddenSetup
     
    695759  PHSM_KeyToogle:
    696760   call    PART_GetPartitionPointer      ; Holt den Pointer der Partition (DL) nach SI
    697    mov     al, cs:[si+LocIPT_Flags]
     761   mov     al, [si+LocIPT_Flags]
    698762   xor     al, Flags_SpecialMarker
    699    mov     cs:[si+LocIPT_Flags], al
     763   mov     [si+LocIPT_Flags], al
    700764   call    PARTHIDESETUP_DrawPartitionInfo
    701765   call    PARTHIDESETUP_BuildChoiceBar
     
    871935      ; Display "Type" field aka "HPFS" without ending NULs/Spaces
    872936      push    si
    873          mov     al, cs:[si+LocIPT_SystemID]
     937         mov     al, [si+LocIPT_SystemID]
    874938         call    PART_SearchFileSysName
    875939         mov     cx, 8
     
    890954      call    VideoIO_PrintSingleMultiChar ; Fill up area with spaces
    891955      ; Finally draw Hidden/Unhidden
    892       mov     bl, cs:[si+LocIPT_Flags]
     956      mov     bl, [si+LocIPT_Flags]
    893957      mov     si, offset TXT_SETUP_MAGIC_Unhidden
    894958      and     bl, Flags_SpecialMarker
     
    9961060   ;  if it's not set, don't do anything...
    9971061   call    PART_GetPartitionPointer      ; Holt den Pointer der Partition (DL) nach SI
    998    mov     al, cs:[si+LocIPT_Flags]
     1062   mov     al, [si+LocIPT_Flags]
    9991063   test    al, Flags_HideFeature
    10001064   jz      PHSGHCAS_EndOfEntries
     
    10091073   mov     cl, CFG_Partitions
    10101074  PHSGHCAS_SpreadLoop:
    1011       mov     dl, cs:[di]
     1075      mov     dl, [di]
    10121076      inc     di
    10131077      cmp     dl, 0FFh
    10141078      je      PHSGHCAS_EndOfEntries
    10151079      call    PART_GetPartitionPointer   ; Pointer for partition DL to SI
    1016       mov     al, cs:[si+LocIPT_Flags]
     1080      mov     al, [si+LocIPT_Flags]
    10171081      or      al, Flags_SpecialMarker    ; Set marker
    1018       mov     cs:[si+LocIPT_Flags], al
     1082      mov     [si+LocIPT_Flags], al
    10191083   dec     cl
    10201084   jnz     PHSGHCAS_SpreadLoop
     
    10451109      mov     cl, CFG_Partitions
    10461110     PHSCHCAPTT_CollectLoop:
    1047          mov     bl, cs:[si+LocIPT_Flags]
     1111         mov     bl, [si+LocIPT_Flags]
    10481112         test    bl, Flags_SpecialMarker
    10491113         jz      PHSCHCAPTT_NoMarker
     
    10511115         inc     di
    10521116         xor     bl, Flags_SpecialMarker ; Reset Flag
    1053          mov     cs:[si+LocIPT_Flags], bl
     1117         mov     [si+LocIPT_Flags], bl
    10541118        PHSCHCAPTT_NoMarker:
    10551119         add     si, LocIPT_LenOfIPT
     
    10631127   ; Nothing to hide...so UNSET the Hidden-Feature Flag
    10641128   call    PART_GetPartitionPointer      ; Holt den Pointer der Partition (DL) nach SI
    1065    mov     al, cs:[si+LocIPT_Flags]
     1129   mov     al, [si+LocIPT_Flags]
    10661130   mov     ah, Flags_HideFeature
    10671131   not     ah
    10681132   and     al, ah
    1069    mov     cs:[si+LocIPT_Flags], al
     1133   mov     [si+LocIPT_Flags], al
    10701134   ret
    10711135
     
    10821146   ; Something to hide...so SET the Hidden-Feature Flag
    10831147   call    PART_GetPartitionPointer      ; Holt den Pointer der Partition (DL) nach SI
    1084    mov     al, cs:[si+LocIPT_Flags]
     1148   mov     al, [si+LocIPT_Flags]
    10851149   or      al, Flags_HideFeature
    1086    mov     cs:[si+LocIPT_Flags], al
     1150   mov     [si+LocIPT_Flags], al
    10871151   ret
    10881152PARTHIDESETUP_CollectHideConfigAndPutToTable EndP
     
    10951159PARTSETUP_DriveLetterSetup      Proc Near  Uses dx si es di
    10961160   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
    11011168
    11021169   ; 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 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.
    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
     6the terms of the GNU General Public License as published by the Free
     7Software Foundation, either version 3 of the License, or (at your option)
     8any later version.
     9;
     10; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY
     11WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS
     12FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
     13details.
     14;
     15; You should have received a copy of the GNU General Public License along with
     16AiR-BOOT. If not, see <http://www.gnu.org/licenses/>.
     17;
    1818;---------------------------------------------------------------------------
    1919;                                                    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 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.
    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
     6the terms of the GNU General Public License as published by the Free
     7Software Foundation, either version 3 of the License, or (at your option)
     8any later version.
     9;
     10; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY
     11WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS
     12FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
     13details.
     14;
     15; You should have received a copy of the GNU General Public License along with
     16AiR-BOOT. If not, see <http://www.gnu.org/licenses/>.
     17;
    1818;---------------------------------------------------------------------------
    1919;                                                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 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.
    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
     6the terms of the GNU General Public License as published by the Free
     7Software Foundation, either version 3 of the License, or (at your option)
     8any later version.
     9;
     10; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY
     11WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS
     12FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
     13details.
     14;
     15; You should have received a copy of the GNU General Public License along with
     16AiR-BOOT. If not, see <http://www.gnu.org/licenses/>.
     17;
    1818;---------------------------------------------------------------------------
    1919;                                AiR-BOOT / EXTENDED PARTITION - M$ HACK-IN
    2020;---------------------------------------------------------------------------
    2121
    22 ; At least is AiR-BOOT compatible to the pseudo standard that's is used by an
    23 OS on a 32-bit processor, being actually a 16-bit extension that is
    24 outperformed by any 8-bit software running on a 4-bit microprocessor,
    25 written by a 2-bit company 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
     2332-bit processor, being actually a 16-bit extension that is outperformed
     24by any 8-bit software running on a 4-bit microprocessor, written by a 2-bit
     25company that can't stand 1-bit of competition.
    2626
    2727; Here is code to change Extended Partition to Type 05h or 0Fh depending
    2828;  on the partition's P-flag including the overall M$hack-Enable Flag.
    29 MSHACK_ProcessPartTables        Proc Near  Uses ax dx es di
     29MSHACK_ProcessPartTables        Proc Near  Uses ax dx di
    3030   ; Check Overall M$-Hack Enable
    3131   test    [CFG_ExtPartitionMShack], 1
     
    3434   ; Now check Boot-Entry's flags...
    3535   mov     ax, 050Fh
    36    test    bptr ds:[si+LocIPT_Flags], Flags_ExtPartMShack
     36   test    bptr [si+LocIPT_Flags], Flags_ExtPartMShack
    3737   jz      MSHPPT_ChangeToStandard
    3838   mov     ax, 0F05h
     
    4545   or      dh, dh
    4646   jz      MSHPPT_NoMShack
    47    push    ExecBaseSeg
    48    pop     es
    4947  MSHPPT_HarddriveLoop:
    5048      push    ax bx cx dx
     
    5856
    5957      ; Search for ID in AL and exchange with ID in AH
    60       mov     di, ExecBasePtr+446        ; ES:DI - First Partition Entry
     58      mov     di, offset PartitionSector+446 ; ES:DI - 1st partition entry
    6159     MSHPPT_ScanLoop:
    6260         cmp     al, bptr es:[di+4]
    6361         je      MSHPPT_GotHit
    6462         add     di, LocBRPT_LenOfEntry  ; 16 Bytes per Partition-Entry
    65       cmp     di, 500+ExecBasePtr
     63      cmp     di, 500+offset PartitionSector
    6664      jb      MSHPPT_ScanLoop
    6765      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 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.
    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
     6the terms of the GNU General Public License as published by the Free
     7Software Foundation, either version 3 of the License, or (at your option)
     8any later version.
     9;
     10; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY
     11WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS
     12FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
     13details.
     14;
     15; You should have received a copy of the GNU General Public License along with
     16AiR-BOOT. If not, see <http://www.gnu.org/licenses/>.
     17;
    1818;---------------------------------------------------------------------------
    1919;                                                 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 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.
    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
     6the terms of the GNU General Public License as published by the Free
     7Software Foundation, either version 3 of the License, or (at your option)
     8any later version.
     9;
     10; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY
     11WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS
     12FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
     13details.
     14;
     15; You should have received a copy of the GNU General Public License along with
     16AiR-BOOT. If not, see <http://www.gnu.org/licenses/>.
     17;
    1818;---------------------------------------------------------------------------
    1919;                                                            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 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.
    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
     6the terms of the GNU General Public License as published by the Free
     7Software Foundation, either version 3 of the License, or (at your option)
     8any later version.
     9;
     10; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY
     11WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS
     12FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
     13details.
     14;
     15; You should have received a copy of the GNU General Public License along with
     16AiR-BOOT. If not, see <http://www.gnu.org/licenses/>.
     17;
    1818;---------------------------------------------------------------------------
    1919;                                                     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 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.
    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
     6the terms of the GNU General Public License as published by the Free
     7Software Foundation, either version 3 of the License, or (at your option)
     8any later version.
     9;
     10; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY
     11WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS
     12FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
     13details.
     14;
     15; You should have received a copy of the GNU General Public License along with
     16AiR-BOOT. If not, see <http://www.gnu.org/licenses/>.
     17;
    1818;---------------------------------------------------------------------------
    1919;                                                  AiR-BOOT / LINUX SUPPORT
     
    2828;       without them.
    2929;
    30 ; And another note: *Fuck* Linux usenet-users. Really. I mean *fuck them*.
     30; And another note: *F**k* Linux usenet-users. Really. I mean *f**k them*.
    3131;  I asked in an OS/2 newsgroup for testers -> Got 8 volunteers within some
    3232;  days. I asked in 2 Linux newsgroups. What did happen? Some idiots discussed
    33 ;  the whole shiat 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,
    3434;  boot-managers in general, assembly coding and other stuff and wanted to tell
    3535;  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 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.
    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
     6the terms of the GNU General Public License as published by the Free
     7Software Foundation, either version 3 of the License, or (at your option)
     8any later version.
     9;
     10; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY
     11WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS
     12FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
     13details.
     14;
     15; You should have received a copy of the GNU General Public License along with
     16AiR-BOOT. If not, see <http://www.gnu.org/licenses/>.
     17;
    1818;---------------------------------------------------------------------------
    1919;                                                  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 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.
    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
     6the terms of the GNU General Public License as published by the Free
     7Software Foundation, either version 3 of the License, or (at your option)
     8any later version.
     9;
     10; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY
     11WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS
     12FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
     13details.
     14;
     15; You should have received a copy of the GNU General Public License along with
     16AiR-BOOT. If not, see <http://www.gnu.org/licenses/>.
     17;
    1818;---------------------------------------------------------------------------
    1919;                                                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 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.
    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
     6the terms of the GNU General Public License as published by the Free
     7Software Foundation, either version 3 of the License, or (at your option)
     8any later version.
     9;
     10; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY
     11WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS
     12FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
     13details.
     14;
     15; You should have received a copy of the GNU General Public License along with
     16AiR-BOOT. If not, see <http://www.gnu.org/licenses/>.
     17;
    1818;---------------------------------------------------------------------------
    1919;                                               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;
    118;------------------------------------------------------------------------------
    219;                                                          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;
    118;---------------------------------------------------------------------------
    219;                                          AiR-BOOT SETUP / ALL SETUP MENUS
     
    2845; Basic Options - Items - Max Length: 23
    2946;----------------------------------|---------------------|------------------
    30 TXT_SETUP_DefaultPart          db 'Standard Partition', 0
     47TXT_SETUP_DefaultSelection     db 'Standard Selektion', 0
    3148TXT_SETUP_TimedBoot            db 'Zeitgesteuerter Boot', 0
    3249TXT_SETUP_TimedBootDelay       db '-> Anzahl Sekunden', 0
     
    5875; Extended Options - Items - Max Length: 23
    5976;----------------------------------|---------------------|------------------
    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
     83TXT_SETUP_IgnoreLVM            db 'Ignoriere LVM Daten', 0
    6384TXT_SETUP_ForceLBAUsage        db 'Erzwinge BIOS-LBA', 0
    6485TXT_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', 0
    6786
    6887; DYNAMIC LENGTH, maximum 11 chars excluding ending zero
     
    7291TXT_SETUP_MAGIC_Detailed       db 'Detailiert', 0
    7392TXT_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
    7595TXT_SETUP_MAGIC_DoNothing      db 'Nichts', 0
    7696TXT_SETUP_MAGIC_ResetTime      db 'Zeit Reset', 0
     
    158178; Basic Options - Help
    159179;----------------------------------|--------------------|-------------------
    160 TXT_SETUPHELP_DefaultPart      db 'Žndert die Default', 0
    161                                db 'Partition. Wird u.a.', 0
     180TXT_SETUPHELP_DefaultSelection db 'Žndert die Standard', 0
     181                               db 'Selektion. Wird u.a.', 0
    162182                               db 'beim zeitgesteuerten', 0
    163183                               db 'Boot verwendet.', 0
     
    260280; Extended Options - Help
    261281;----------------------------------|--------------------|-------------------
    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;----------------------------------|--------------------|-------------------
     297TXT_SETUPHELP_IgnoreLVM        db 'AiR-BOOT sucht in', 0
     298                               db 'diesem Fall nicht nach', 0
     299                               db 'LVM Informationen.', 0
     300                               db 0
    273301TXT_SETUPHELP_ForceLBAUsage    db 'Erzwingt Bentzung der', 0
    274302                               db 'BIOS LBA APIs anstatt', 0
     
    281309                               db 'das P-Flag in Standard', 0
    282310                               db 'oder MS-Erfindung.', 0
    283                                db 0
    284 TXT_SETUPHELP_DefLinuxCmd:     db 'Definiert die Linux', 0
    285                                db 'Kommandozeile.', 0
    286311                               db 0
    287312
     
    312337; Maximum 60 chars (should not be reached)
    313338;----------------------------------|----------------------------------------------------------|
    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
     342TXT_SETUP_NoLDLpartition       db 'Diese Partition ist weder vom Typ HPFS/FAT16/JFS', 0
    317343
    318344; Maximum 34 chars (should not be reached)
     
    330356TXT_SETUPHELP_DriveLetter      db 'C-Z drcken', 0
    331357
    332 IFNDEF ReleaseCommercial
    333    ; Colors for special words hard-coded. Keep all 0s.
    334    TXT_SETUP_LowerMessage      db 'Dieses Programm ist ',0,'kostenlos',0,' fr nicht-kommerzielle Bentzung.',0
    335                                db 'Sie drfen AiR-BOOT ',0,'NICHT',0,' in ',0,'-IRGENDEINER-',0,' Form vertreiben/bentzen,',0
    336                                db 'falls Sie Geld fr 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,' m”chten, 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,' fr nicht-kommerzielle Bentzung.',0
     360;                               db 'Sie drfen AiR-BOOT ',0,'NICHT',0,' in ',0,'-IRGENDEINER-',0,' Form vertreiben/bentzen,',0
     361;                               db 'falls Sie Geld fr 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,' m”chten, 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;
    118;------------------------------------------------------------------------------
    219;                                                        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;
    118;------------------------------------------------------------------------------
    219;                                                          AiR-BOOT / MBR-TEXT
     
    421;------------------------------------------------------------------------------
    522
    6 TXT_LanguageID                equ 'U'
     23TXT_LanguageID                equ 'E'
    724
    825; 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;
    118;---------------------------------------------------------------------------
    219;                                          AiR-BOOT SETUP / ALL SETUP MENUS
     
    2845; Basic Options - Items - Max Length: 23
    2946;----------------------------------|---------------------|------------------
    30 TXT_SETUP_DefaultPart          db 'Default Partition', 0
     47TXT_SETUP_DefaultSelection     db 'Default Selection', 0
    3148TXT_SETUP_TimedBoot            db 'Timed Boot', 0
    3249TXT_SETUP_TimedBootDelay       db 'Timed Boot Delay (sec)', 0
     
    5875; Extended Options - Items - Max Length: 23
    5976;----------------------------------|---------------------|------------------
    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
     83TXT_SETUP_IgnoreLVM            db 'Ignore LVM information', 0
    6384TXT_SETUP_ForceLBAUsage        db 'Force BIOS-LBA Usage', 0
    6485TXT_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', 0
    6786
    6887; DYNAMIC LENGTH, maximum 11 chars excluding ending zero
     
    7291TXT_SETUP_MAGIC_Detailed       db 'Detailed', 0
    7392TXT_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
    7595TXT_SETUP_MAGIC_DoNothing      db 'Do Nothing', 0
    7696TXT_SETUP_MAGIC_ResetTime      db 'Reset Time', 0
     
    156176; Basic Options - Help
    157177;----------------------------------|--------------------|-------------------
    158 TXT_SETUPHELP_DefaultPart      db 'Changes your default', 0
    159                                db 'partition. It can be', 0
     178TXT_SETUPHELP_DefaultSelection db 'Changes your default', 0
     179                               db 'selection. It can be', 0
    160180                               db 'used on Timed Boot.', 0
    161181                               db 0
     
    261281; Extended Options - Help
    262282;----------------------------------|--------------------|-------------------
    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;----------------------------------|--------------------|-------------------
     299TXT_SETUPHELP_IgnoreLVM        db 'If activated, AiR-BOOT', 0
     300                               db 'won''t even look for', 0
     301                               db 'LVM information.', 0
    272302                               db 0
    273303TXT_SETUPHELP_ForceLBAUsage    db 'Forces the usage of', 0
     
    281311                               db 'MS-invention.', 0
    282312                               db '(defined by P-flag)', 0
    283                                db 0
    284 TXT_SETUPHELP_DefLinuxCmd:     db 'Defines the command', 0
    285                                db 'line for Linux, if', 0
    286                                db 'available.', 0
    287313                               db 0
    288314
     
    313339; Maximum 60 chars (should not be reached)
    314340;----------------------------------|----------------------------------------------------------|
    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
     344TXT_SETUP_NoLDLpartition       db 'The selected partition is not HPFS/FAT16/JFS', 0
    318345
    319346; Maximum 34 chars (should not be reached)
     
    331358TXT_SETUPHELP_DriveLetter      db 'Press C-Z', 0
    332359
    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;
    118;------------------------------------------------------------------------------
    219;                                                        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;
    118;------------------------------------------------------------------------------
    219;                                                          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;
    118;---------------------------------------------------------------------------
    219;                                          AiR-BOOT SETUP / ALL SETUP MENUS
     
    2845; Basic Options - Items - Max Length: 23
    2946;----------------------------------|---------------------|------------------
    30 TXT_SETUP_DefaultPart          db 'Partition Par D‚faut', 0
     47TXT_SETUP_DefaultSelection     db 'S‚lection Par D‚faut', 0
    3148TXT_SETUP_TimedBoot            db 'Amor‡age Temporis‚', 0
    3249TXT_SETUP_TimedBootDelay       db 'D‚lai d''amor‡age (sec)', 0
     
    5875; Extended Options - Items - Max Length: 23
    5976;----------------------------------|---------------------|------------------
    60 TXT_SETUP_LinuxKernelPart      db 'Partition Noyau Linux', 0
    61 TXT_SETUP_LinuxDefaultKernel   db 'Noyau Linux par D‚faut', 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 D‚faut', 0
     80;TXT_SETUP_LinuxRootPart        db 'Partition Racine Linux', 0
     81; This here may be larger than 23 chars...
     82;TXT_SETUP_DefLinuxCmd          db 'DFINIR LIGNE DE COMMANDE LINUX', 0
     83TXT_SETUP_IgnoreLVM            db 'Ignorer Information LVM', 0
    6384TXT_SETUP_ForceLBAUsage        db 'Force usage du BIOS-LBA', 0
    6485TXT_SETUP_ExtPartMShack        db 't-Part MS Workaround', 0
    65 ; This here may be larger than 23 chars...
    66 TXT_SETUP_DefLinuxCmd          db 'DFINIR LIGNE DE COMMANDE LINUX', 0
    6786
    6887; DYNAMIC LENGTH, maximum 11 chars excluding ending zero
     
    7291TXT_SETUP_MAGIC_Detailed       db 'D‚taill‚', 0
    7392TXT_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
    7595TXT_SETUP_MAGIC_DoNothing      db 'Rien faire', 0
    7696TXT_SETUP_MAGIC_ResetTime      db 'R
     
    159179; Basic Options - Help
    160180;----------------------------------|--------------------|-------------------
    161 TXT_SETUPHELP_DefaultPart      db 'Modifier votre', 0
    162                                db 'partition par d‚faut.', 0
    163                                db 'Peut ˆtre utilis‚ en', 0
    164                                db 'amor‡age temporis‚.', 0
     181TXT_SETUPHELP_DefaultSelection db 'Modifier votre', 0
     182                               db 's‚lection par d‚faut.', 0
    165183                               db 0
    166184TXT_SETUPHELP_TimedBoot        db 'AiR-BOOT proc‚dera', 0
     
    272290; Extended Options - Help
    273291;----------------------------------|--------------------|-------------------
    274 TXT_SETUPHELP_LinuxKernelPart  db 'D‚finir la partition', 0
    275                                db 'FAT-16 contenant vos', 0
    276                                db 'noyaux Linux.', 0
    277                                db 0
    278 TXT_SETUPHELP_LinuxDefaultKrnl db 'D‚finir le nom du', 0
    279                                db 'noyau par d‚faut.', 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 'D‚finir la partition', 0
     294;                               db 'FAT-16 contenant vos', 0
     295;                               db 'noyaux Linux.', 0
     296;                               db 0
     297;TXT_SETUPHELP_LinuxDefaultKrnl db 'D‚finir le nom du', 0
     298;                               db 'noyau par d‚faut.', 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 'D‚finir la ligne de', 0
     305;                               db 'commande pour Linux,', 0
     306;                               db 'si disponible.', 0
     307;                               db 0
     308TXT_SETUPHELP_IgnoreLVM        db 'Si activ‚, AiR-BOOT', 0
     309                               db 'ignorera l''information', 0
     310                               db 'LVM.', 0
    284311                               db 0
    285312TXT_SETUPHELP_ForceLBAUsage    db 'Forcer l''usage de', 0
     
    293320                               db 'partition ‚tendue.', 0
    294321                               db '(d‚fini par drapeau P)', 0
    295                                db 0
    296 TXT_SETUPHELP_DefLinuxCmd:     db 'D‚finir la ligne de', 0
    297                                db 'commande pour Linux,', 0
    298                                db 'si disponible.', 0
    299322                               db 0
    300323
     
    325348; Maximum 60 chars (should not be reached)
    326349;----------------------------------|----------------------------------------------------------|
    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 s‚lectionn‚e 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
     353TXT_SETUP_NoLDLpartition       db 'La partition s‚lectionn‚e n''est pas du type HPFS/FAT16/JFS', 0
    330354
    331355; Maximum 34 chars (should not be reached)
     
    344368TXT_SETUPHELP_DriveLetter      db 'Appuyez C-Z', 0
    345369
    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 priv‚e 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 diff‚rentes',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 priv‚e 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 diff‚rentes',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;
    118;------------------------------------------------------------------------------
    219;                                                        AiR-BOOT / OTHER TEXT
     
    3754
    3855; Dynamic Length (till 80 chars)
    39 TXT_BrokenPartitionTable:      db 13, 10, ' - Votre systŠme a au moins d'une entr‚e mauvaise de table de partition, ou'
     56TXT_BrokenPartitionTable:      db 13, 10, ' - Votre systŠme a au moins d''une entr‚e mauvaise de table de partition, ou'
    4057                               db 13, 10, '   la disque d–r a des cass‚e secteurs. SystŠme arrˆt‚.', 0
    4158TXT_TooManyPartitions:         db 13, 10, ' - Trop de partitions trouv‚es. 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;
    118;------------------------------------------------------------------------------
    219;                                                          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;
    118;---------------------------------------------------------------------------
    219;                                          AiR-BOOT SETUP / ALL SETUP MENUS
     
    2845; Basic Options - Items - Max Length: 23
    2946;----------------------------------|---------------------|------------------
     47TXT_SETUP_DefaultSelection     db 'Selezione Standard', 0
    3048TXT_SETUP_DefaultPart          db 'Partizione Predefinita', 0
    3149TXT_SETUP_TimedBoot            db 'Avvio Temporizzato', 0
     
    5876; Extended Options - Items - Max Length: 23
    5977;----------------------------------|---------------------|------------------
    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
     84TXT_SETUP_IgnoreLVM            db 'Ignorare LVM info.', 0
    6385TXT_SETUP_ForceLBAUsage        db 'Forza uso LBA del BIOS', 0
    6486TXT_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', 0
    6787
    6888; DYNAMIC LENGTH, maximum 11 chars excluding ending zero
     
    7292TXT_SETUP_MAGIC_Detailed       db 'Dettagli', 0
    7393TXT_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
    7596TXT_SETUP_MAGIC_DoNothing      db 'Nessuna Az.', 0
    7697TXT_SETUP_MAGIC_ResetTime      db 'Reset Timer', 0
     
    160181; Basic Options - Help
    161182;----------------------------------|--------------------|-------------------
    162 TXT_SETUPHELP_DefaultPart      db 'Cambia la partizione', 0
    163                                db 'predefinita usata', 0
    164                                db 'nell''Avvio', 0
    165                                db 'Temporizzato', 0
     183TXT_SETUPHELP_DefaultSelection db 'Cambia la selezione', 0
     184                               db 'standard', 0
    166185                               db 0
    167186TXT_SETUPHELP_TimedBoot        db 'AiR-BOOT procede', 0
     
    275294; Extended Options - Help
    276295;----------------------------------|--------------------|-------------------
    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;----------------------------------|--------------------|-------------------
     312TXT_SETUPHELP_IgnoreLVM        db 'Se attivato AiR-BOOT', 0
     313                               db 'non cerca neanche LVM', 0
     314                               db 'informazione.', 0
    286315                               db 0
    287316TXT_SETUPHELP_ForceLBAUsage    db 'Forza l''uso delle API', 0
     
    295324                               db 'standard a tipo MS', 0
    296325                               db '(definito dal P-flag)', 0
    297                                db 0
    298 TXT_SETUPHELP_DefLinuxCmd:     db 'Definisce la linea di', 0
    299                                db 'comando per Linux, se', 0
    300                                db 'disponibile', 0
    301326                               db 0
    302327
     
    327352; Maximum 60 chars (should not be reached)
    328353;----------------------------------|----------------------------------------------------------|
    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
     357TXT_SETUP_NoLDLpartition       db 'Partizione selezionata non HPFS/FAT16/JFS', 0
    332358
    333359; Maximum 34 chars (should not be reached)
     
    345371TXT_SETUPHELP_DriveLetter      db 'Premere C a Z', 0
    346372
    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;
    118;------------------------------------------------------------------------------
    219;                                                        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;
    118;------------------------------------------------------------------------------
    219;                                                          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;
    118;---------------------------------------------------------------------------
    219;                                          AiR-BOOT SETUP / ALL SETUP MENUS
     
    3552; Basic Options - Items - Max Length: 23
    3653;----------------------------------|---------------------|------------------
    37 TXT_SETUP_DefaultPart          db ' §€¥« ¯® 㬮«ç ­šî', 0
     54TXT_SETUP_DefaultSelection     db '‚ë¡®à ¯®-㬮«ç ­šî', 0
    3855TXT_SETUP_TimedBoot            db '€¢â®¬ âšç¥áª ï § £à㧪 ', 0
    3956TXT_SETUP_TimedBootDelay       db '‚à¥¬ï  ¢â®§ £à㧪š (á)', 0
     
    6582; Extended Options - Items - Max Length: 23
    6683;----------------------------------|---------------------|------------------
    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
     91TXT_SETUP_IgnoreLVM            db 'ˆ£­®àšà®¢ âì € ­­ë¥ LVM', 0
    7092TXT_SETUP_ForceLBAUsage        db 'ˆá¯®«ì§®¢ âì BIOS-LBA', 0
    7193TXT_SETUP_ExtPartMShack        db ' §€¥«ë €«ï MS-ášá⥬', 0
    72 ; This here may be larger than 23 chars...
    73 TXT_SETUP_DefLinuxCmd          db '‡€„€‰’
    74  ŠŽŒ€„“ž ‘’ŽŠ“ „‹Ÿ LINUX', 0
    7594
    7695; DYNAMIC LENGTH, maximum 11 chars excluding ending zero
     
    8099TXT_SETUP_MAGIC_Detailed       db '„¥â «ì­®', 0
    81100TXT_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
    83103TXT_SETUP_MAGIC_DoNothing      db '¥§€¥©áâ¢.', 0
    84104TXT_SETUP_MAGIC_ResetTime      db '‘­ ç « ', 0
     
    168188; Basic Options - Help
    169189;----------------------------------|--------------------|-------------------
    170 TXT_SETUPHELP_DefaultPart      db 'Œ¥­ï¥â ‚ è à §€¥« ¯®', 0
    171                                db '㬮«ç ­šî. Ž­ ¬®Š¥â', 0
    172                                db '¡ëâì šá¯®«ì§®¢ ­ €«ï', 0
    173                                db ' ¢â®§ £à㧪š.', 0
     190TXT_SETUPHELP_DefaultSelection db '‘¬¥­šâì ‚ è ¢ë¡®à', 0
     191                               db '¯®-㬮«ç ­šî.', 0
    174192                               db 0
    175193TXT_SETUPHELP_TimedBoot        db 'AiR-BOOT ¯à®€®«Ššâ', 0
     
    271289; Extended Options - Help
    272290;----------------------------------|--------------------|-------------------
    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
     306TXT_SETUPHELP_IgnoreLVM        db 'àš ¢ª«î祭šš í⮩', 0
     307                               db '®¯æšš AiR-BOOT ­¥', 0
     308                               db '¡ã€¥â šáª âì', 0
     309                               db 'š­ä®à¬ æšî LVM', 0
    282310                               db 0
    283311TXT_SETUPHELP_ForceLBAUsage    db '’ॡ〥⠚ᯮ«ì§®¢ ­š¥', 0
     
    291319                               db 'š«š MS.', 0
    292320                               db '(㪠§ âì ç¥à¥§ P-ä« £)', 0
    293                                db 0
    294 TXT_SETUPHELP_DefLinuxCmd:     db 'Š®¬ ­€­ ï áâப  €«ï', 0
    295                                db '§ £à㧪š Linux, ¥á«š', 0
    296                                db '­¥®¡å®€š¬®.', 0
    297321                               db 0
    298322
     
    327351; Maximum 60 chars (should not be reached)
    328352;----------------------------------|----------------------------------------------------------|
    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
     356TXT_SETUP_NoLDLpartition       db '‚ë¡à ­­ë© à §€¥« ­¥ ï¥âáï HPFS/FAT16/JFS', 0
    332357
    333358; Maximum 34 chars (should not be reached)
     
    345370TXT_SETUPHELP_DriveLetter      db ' Š¬šâ¥ C-Z', 0
    346371
    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,'
    351375',0,' ¬®Š¥â¥ à á¯à®áâà ­ïâì/šá¯®«ì§®¢ âì AiR-BOOT ¢ ',0,'-‹žŽ‰-',0,' ä®à¬¥,',0
    352                                db '¥á«š ‚ë ¯®«ã砥⥠§  íâ® €¥­ì£š.',0
    353                                db '
     376;                               db '¥á«š ‚ë ¯®«ã砥⥠§  íâ® €¥­ì£š.',0
     377;                               db '
    354378᫚ ‚ë å®âšâ¥ šá¯®«ì§®¢ âì 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;
    118;------------------------------------------------------------------------------
    219;                                                        AiR-BOOT / OTHER TEXT
     
    3754
    3855; Dynamic Length (till 80 chars)
    39 TXT_BrokenPartitionTable:      db 13, 10, ' - Ž¡­ à㊥­ ¬š­š¬ã¬ ®€š­ šá¯®à祭­ë© à §€¥«, «š¡® â ¡«šæ  à §€¥«®¢ ᮀ¥àŠšâ 
     56TXT_BrokenPartitionTable:      db 13, 10, ' - Ž¡­ à㊥­ ¬š­š¬ã¬ ®€š­ šá¯®à祭­ë© à §€¥«, «š¡® â ¡«šæ  à §€¥«®¢ ᮀ¥àŠšâ'
    4057                               db 13, 10, '   á¡®©­ë¥ ¡«®ªš. ‘šá⥬  ®áâ ­®¢«¥­ .', 0
    4158TXT_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;
    118;------------------------------------------------------------------------------
    219;                                                          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;
    118;---------------------------------------------------------------------------
    219;                                          AiR-BOOT SETUP / ALL SETUP MENUS
     
    2845; Basic Options - Items - Max Length: 23
    2946;----------------------------------|---------------------|------------------
    30 TXT_SETUP_DefaultPart          db 'Standard Partition', 0
     47TXT_SETUP_DefaultSelection     db 'Standard Partition', 0
    3148TXT_SETUP_TimedBoot            db 'Tidstyrd Bootning', 0
    3249TXT_SETUP_TimedBootDelay       db 'TidsBoot F”rdr”j (sek)', 0
     
    5875; Extended Options - Items - Max Length: 23
    5976;----------------------------------|---------------------|------------------
    60 TXT_SETUP_LinuxKernelPart      db 'Linux Kernel Partition', 0
    61 TXT_SETUP_LinuxDefaultKernel   db 'Linux Standard K„rna', 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 K„rna', 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 F™R LINUX', 0
     83TXT_SETUP_IgnoreLVM            db 'Ignore LVM information', 0
     84; ###
    6385TXT_SETUP_ForceLBAUsage        db 'Forc BIOS-LBA Anv„ndn.', 0
    6486TXT_SETUP_ExtPartMShack        db 'Ext-Part MS Workaround', 0
    65 ; This here may be larger than 23 chars...
    66 TXT_SETUP_DefLinuxCmd          db 'DEFINIERA KOMMANDORAD F™R LINUX', 0
    6787
    6888; DYNAMIC LENGTH, maximum 11 chars excluding ending zero
     
    7292TXT_SETUP_MAGIC_Detailed       db 'Detaljerad', 0
    7393TXT_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
    7596TXT_SETUP_MAGIC_DoNothing      db 'G”r Inget', 0
    7697TXT_SETUP_MAGIC_ResetTime      db 'terst. Tid', 0
     
    160181; Basic Options - Help
    161182;----------------------------------|--------------------|-------------------
     183TXT_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; ####
    162188TXT_SETUPHELP_DefaultPart      db 'Žndrar din standard', 0
    163189                               db 'partition. Den kan', 0
     
    277303; Extended Options - Help
    278304;----------------------------------|--------------------|-------------------
    279 TXT_SETUPHELP_LinuxKernelPart  db 'Definierar FAT-16', 0
    280                                db 'partition som', 0
    281                                db 'inneh†ller dina', 0
    282                                db 'Linux k„rnor.', 0
    283                                db 0
    284 TXT_SETUPHELP_LinuxDefaultKrnl db 'Definiera din', 0
    285                                db 'standardk„rnas', 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 'inneh†ller dina', 0
     309;                               db 'Linux k„rnor.', 0
     310;                               db 0
     311;TXT_SETUPHELP_LinuxDefaultKrnl db 'Definiera din', 0
     312;                               db 'standardk„rnas', 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 f”r Linux, om', 0
     320;                               db 'tillg„ngligt.', 0
     321;                               db 0
     322TXT_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; ###
    291327TXT_SETUPHELP_ForceLBAUsage    db 'Forc. anv„ndning av', 0
    292328                               db 'BIOS LBA APIs', 0
     
    299335                               db 'eller MS-uppfinnade.', 0
    300336                               db '(definierad av P-flag)', 0
    301                                db 0
    302 TXT_SETUPHELP_DefLinuxCmd:     db 'Definierar kommando', 0
    303                                db 'rad f”r Linux, om', 0
    304                                db 'tillg„ngligt.', 0
    305337                               db 0
    306338
     
    331363; Maximum 60 chars (should not be reached)
    332364;----------------------------------|----------------------------------------------------------|
    333 TXT_SETUP_EnterLinuxCmdLine    db 'Var v„nlig 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 v„nlig ange/modifiera din Linux kommando-rad:', 0
     367;TXT_SETUP_NoLinuxInstalled     db 'Du har inte Linux installerat', 0
     368TXT_SETUP_NoLDLpartition       db 'Den valda partitionen „r inte varken HPFS/FAT16/JFS', 0
    336369
    337370; Maximum 34 chars (should not be reached)
     
    349382TXT_SETUPHELP_DriveLetter      db 'Tryck C-Z', 0
    350383
    351 IFNDEF ReleaseCommercial
    352    ; Colors for special words hard-coded. Keep all 0s.
    353    TXT_SETUP_LowerMessage      db 'Detta program „r ',0,'fritt',0,' f”r icke-kommersiell privat anv„ndning.',0
    354                                db 'Du f†r ',0,'INTE',0,' distribuera/anv„nda AiR-BOOT i ',0,'-NGON-',0,' form,',0
    355                                db 'om du erh†ller pengar f”r den distribuerade produkten eller servicen.',0
    356                                db 'Om du vill anv„nda AiR-BOOT i ',0,'andra sammanhang',0,', ',0,'f”rinstallera',0,' eller',0
    357                                db 'distribuera',0,' den, var v„nlig 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,' f”r icke-kommersiell privat anv„ndning.',0
     386;                               db 'Du f†r ',0,'INTE',0,' distribuera/anv„nda AiR-BOOT i ',0,'-NGON-',0,' form,',0
     387;                               db 'om du erh†ller pengar f”r den distribuerade produkten eller servicen.',0
     388;                               db 'Om du vill anv„nda AiR-BOOT i ',0,'andra sammanhang',0,', ',0,'f”rinstallera',0,' eller',0
     389;                               db 'distribuera',0,' den, var v„nlig 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;
    118;------------------------------------------------------------------------------
    219;                                                        AiR-BOOT / OTHER TEXT
     
    3754
    3855; 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.', 0
     56TXT_BrokenPartitionTable:      db 13, 10, ' - Ditt system har minst en bruten partitionstabellspost eller har din h†rddisk'
     57                               db 13, 10, '   trasiga sektorer. Systemet haltat.', 0
    4158TXT_TooManyPartitions:         db 13, 10, ' - F”r m†nga partitioner hittades. AiR-BOOT st”der endast upp till 30.', 0
    4259TXT_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.asm
     1Include TEXT\EN\MBR.asm
  • tags/v1.06r/BOOTCODE/TEXT/TXTMENUS.ASM

    r26 r29  
    1 Include TEXT\US\MENUS.asm
     1Include TEXT\EN\MENUS.asm
  • tags/v1.06r/BOOTCODE/TEXT/TXTOTHER.ASM

    r26 r29  
    1 Include TEXT\US\OTHER.asm
     1Include TEXT\EN\OTHER.asm
  • tags/v1.06r/DOCS/DE/FEATURES.TXT

    r23 r29  
    2626 º     die Konfiguration zurckzustellen                                      º
    2727 º  - MBR-Schutz unter Real-Mode                                              º
    28  º  - Linux Kernel Untersttzung (fr FAT-16 Partitionen), Kernel-            º
    29  º     Kommandozeile                                                          º
     28 º  - IBM OS/2 / eCS LVM Support                                              º
    3029 º                                                                            º
    3130 ºÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ
     
    4241 º                                                                            º
    4342 º AiR-BOOT ist kompatibel zu LVM, dem Logischen Volumen Manager, der fr     º
    44  º  OS/2, eComStation und Linux-Varianten verfgbar ist.                      º
     43 º  OS/2 und eComStation verfgbar ist.                                       º
    4544 º                                                                            º
    4645 º AiR-BOOT kann auch von CD-ROM installiert werden. Einfach das Image einer  º
  • tags/v1.06r/DOCS/DE/INSTALL.TXT

    r8 r29  
    66 º                                                                            º
    77 º 1. Sie ben”tigen 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 dazugeh”riger Sprachen-Code).                       º
     8 º     in Laufwerk A: und starten Sie die Datei MAKEDISK.COM vom AiR-BOOT     º
     9 º     Archiv.                                                                º
    1010 º                                                                            º
    1111 º 2. šberprfen Sie ihr CMOS-Setup. Deaktivieren Sie 'Virus Warning', sofern º
  • tags/v1.06r/DOCS/EN/FEATURES.TXT

    r23 r29  
    2525 º     resetting the configuration                                            º
    2626 º  - 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                                              º
    2928 º                                                                            º
    3029 ºÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ
     
    4241 º                                                                            º
    4342 º AiR-BOOT is compatible to LVM, the Logical Volume Manager available for    º
    44  º  OS/2, eComStation and Linux-variants.                                     º
     43 º  OS/2 and eComStation.                                                     º
    4544 º                                                                            º
    4645 º AiR-BOOT is able to get booted from CD-ROM. Simply generate a floppy disc, º
  • tags/v1.06r/DOCS/EN/INSTALL.TXT

    r8 r29  
    77 º                                                                            º
    88 º 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.                       º
    1110 º                                                                            º
    1211 º 2. Check your CMOS-Setup. Deselect 'Virus Warning', if this option is      º
  • tags/v1.06r/DOCS/EN/Q_AND_A.TXT

    r8 r29  
    4848 º    This had to be done JUST because of Microsoft. I can't stand this any   º
    4949 º     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.                                                           º
    7053 º                                                                            º
    7154 º Q: Ohhh man, what do you got against LILO. It's soooo good.                º
     
    7356 º     partition. It was FAT and this nice little bugger overwrote some       º
    7457 º     internals *as documented* without even giving me any warning message.  º
    75  º     I see LILO as on the same level as Mickeysoft products. Just believing º
     58 º     I see LILO as on the same level as Microsoft products. Just believing º
    7659 º     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 the 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.    º
    7962 º     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.      º
    8164 º     (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).                                     º
    9566 º                                                                            º
    9667 º Q: I believe you have copied the text of your boot-menu from DocsBoot.     º
  • tags/v1.06r/DOCS/FR/FEATURES.TXT

    r23 r29  
    3131 º     de r‚parer AiR-BOOT sans effacer les paramŠtres de configuration       º
    3232 º  - Protection du secteur d'amor‡age en mode r‚el                           º
    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                                           º
    3534 º                                                                            º
    3635 ºÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ
     
    4342 º      de ne pas utiliser le gestionnaire d'amor‡age fourni avec OS/2)       º
    4443 º  - BeOS                                                                    º
    45  º  - Unix/Linux (avec ou sans LILO)                                          º
     44 º  - Unix/Linux (avec LILO)                                                  º
    4645 º  - Windows 95/98/ME (c
    4746d MS-DOS)                                           º
     
    4948 º                                                                            º
    5049 º 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.                                      º
    5251 º                                                                            º
    5352 º AiR-BOOT peut d‚marrer depuis un CD-ROM. Il suffit de cr‚er une disquette  º
  • tags/v1.06r/DOCS/FR/INSTALL.TXT

    r8 r29  
    1010 º                                                                            º
    1111 º 1. Prenez une disquette vierge formatt‚e. Mettez la dans votre lecteur A:  º
    12  º    et d‚marrez le fichier AIRBS_xx.EXE de l'archive AiR-BOOT (o— xx est    º
    13  º    votre code de langue).                                                  º
     12 º    et d‚marrez le fichier MAKEDISK.COM de l'archive AiR-BOOT.              º
    1413 º                                                                            º
    1514 º 2. V‚rifiez votre r‚glage CMOS (dans le bios). Des‚lectionnez 'Virus       º
  • tags/v1.06r/DOCS/GENERIC/DEVELOPR.TXT

    r28 r29  
    11
    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     ÓÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄœ
    2311
    2412   1.1  - Foreword
     
    3725
    3826        This document defines several aspects of AiR-BOOT v0.26b+ and is
    39          currently on the level of AiR-BOOT v1.01.
     27         currently on the level of AiR-BOOT v1.05+.
    4028
    4129        AiR-BOOT is an advanced multi-boot-loader that resides completly in
     
    4331         Virus-Detection and much more.
    4432
    45         This documentation is meant for other developers that want to detect
    46          and/or support AiR-BOOT and modify some configuration values.
    47 
    4833        Please keep in mind that you are responsible for doing those changes
    4934         the documented, correct manner. AiR-BOOT is able to fix some
    5035         configuration values like Default-Partition, because the user could
    51          have killed that partition, but AiR-BOOT is not completely
     36         have killed that partition as well, but AiR-BOOT is not completely
    5237         error-tolerant. Work as defined in this documentation and everything
    5338         will work as expected.
     
    5641         Everything is meant to be in Intel-Order.
    5742
    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
    5948
    6049
     
    135124                                              'I' for italian
    136125                                              'R' for russian
    137                                               'U' for english
     126                                              'E' for english (v1.01+)
    138127                                              'S' for swedish
     128                                              'U' for USA (removed in v1.01+)
    139129         TotalCodeSectors   : BYTE          - counting from sector 2
    140130         CheckSumOfCode     : WORD          - explained later
     
    183173                      match the Version in the basic information structure.
    184174                      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.
    186178
    187179        Code used for verification in x86 assembly:
     
    223215         MajorVersion       : BYTE          - in BCD
    224216         MinorVersion       : BYTE          - in BCD
    225          ReleaseLanguage    : BYTE          - normally 'U' for USA/english
     217         ReleaseLanguage    : BYTE          - normally 'E' for English
    226218         EditCounter        : DWORD         - Will be increased on every save
    227219         CheckSumOfConfig   : WORD          - explained in [2.3]
    228220         Partitions         : BYTE          - Partitions count in IPT
    229221         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
    231228         LastPartition      : BYTE          - Last-booted-partition (zero based)
     229                                               Even under v1.02+, this never
     230                                               contains floppy or Resume-BIOS
    232231         TimedBoot          : BYTE          - 0 - Timed Boot disabled
    233232                                              1 - Timed Boot enabled
     
    273272         RudeProtection     : BYTE          - Removed since v0.28b
    274273         LinuxPartition     : BYTE          - Linux Root partition no (0-based)
     274                                               [not used anymore since 1.02+]
    275275         TimedKeyHandling   : BYTE          - 0 - Do nothing
    276276                                              1 - Reset time
     
    286286         CooperBars         : BYTE          - 0 - Disabled
    287287                                              1 - Enabled
     288         [following contents are not used anymore - since 1.02]
    288289         LinuxCommandLine   : STRING * 75   - Linux Command Line (0-terminated)
    289290         LinuxKrnlPartition : BYTE          - 0FFh - Disabled
     
    298299                                               field will get filled with spaces
    299300         LinuxKernelNameEnd2: BYTE          - Fixed ZERO
     301         [End of contents that are not used anymore]
    300302         ExtPartitionMShack : BYTE          - 0 - Disabled
    301303                                              1 - MS Work-Around Enabled
     
    305307         AutomaticPartition : BYTE          - Automatic Booting (0.94+)
    306308                                               Partition no (zero based)
     309                                               FFh - Floppy booting
     310                                               FEh - BIOS continue (CD-ROM,ZIP)
    307311         ForceLBAUsage      : BYTE          - Forces BIOS LBA API Usage (1.00+)
    308312                                              0 - Disabled
    309313                                              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
    311318         AutoDriveLetter    : STRING * 5    - RESERVED CONTENT (0.94+)
    312319                                               (used by Installer/2)
     
    341348         Contents: AiR-BOOT internal partition table entry (IPT)
    342349        =======================================================================
    343          SerialNumber       : DWORD         - Serial number of partition
     350         SerialNumber       : DWORD         - Serial number of partition /
     351                                               Partition ID from LVM
    344352                                               (if available)
    345          PartitionName      : STRING * 11   - Name of the partition
    346                                                (in sync with boot-record)
     353         PartitionName      : STRING * 11   - Name of the partition (in sync
     354                                               with LVM and/or boot-record)
    347355         Drive              : BYTE          - Drive of partition (INT 13h-like)
    348356         PartitionID        : BYTE          - unhidden ID of partition
    349357                                               (08h == NTFS, thanx M$)
     358                                               (FCh == JFS - v1.05+)
    350359         Flags              : BYTE          - Bit 0 - BootAble
    351360                                              Bit 1 - VIBR Detection
     
    391400         should look like this: 00h 02h 03h FFh (and 26 more FFhs)
    392401
    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.
    398410
    399411        -----------------------------------------------------------------------
     
    402414         HideConfiguration  : STRING * 30   - for one partition each
    403415          * 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"...
    406421         Reserved           : STRING * 84   - RESERVED
    407422         Identifier         : STRING * 10   - 'AiRBOOTHID'
  • tags/v1.06r/DOCS/GENERIC/DISCLAIM.TXT

    r28 r29  
    88 º warranty for bug-free operation, fitness for a particular purpose or the   º
    99 º 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.                                        º
    1015 º                                                                            º
    1116 º THE SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED      º
     
    2631 º collections on CD-ROM, as well as on magazine cover CD-ROMs.               º
    2732 º                                                                            º
    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  º                                                                            º
    4233 º All trademarks mentioned anywhere around here are property of their owners º
    4334 º and the like... This means e.g. "Microsoft Windows (9x/NT/2000/XP/YP/ZP",  º
    4435 º "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.                                                    º
    4538 º                                                                            º
    4639 ÓÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ  ÄÄ  ú                           ú  ÄÄ  ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄœ
  • tags/v1.06r/DOCS/GENERIC/HISTORY.TXT

    r28 r29  
    144144 º         ³             ³        ³ [+] Swedish localization available        º
    145145 ºÄÄÄÄÄÄÄÄ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. º
    147154 º         ³             ³        ³ [-] Issue with NTFS detected as being     º
    148  º         ³             ³        ³      HPFS fixed                           º
    149155 º         ³             ³        ³ [+] Broken partition table error message  º
    150156 º         ³             ³        ³      instead of "LOAD ERROR"              º
    151157 º         ³             ³        ³ [+] 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    º
    152199 ºÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ
    153  º [BETA] úúúúúú Internal Beta-Version ³ [WARP] úúúúúúúúúúúú Official Release º
    154  º [REG] úúúúúúúúúú Registered Version ³ [iNST] úúúúúúúúúúúúú iNSTALL and Co. º
    155  ºÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ
    156200 º Technial Problems ?                                                        º
    157201 º                                                                            º
    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.                                                        º
    162207 º                                                                            º
    163208 º At this point, I want to thank several people that helped me to improve    º
     
    165210 º                                                                            º
    166211 º  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.                                   º
    168214 º                                                                            º
    169215 º  ...and especially the translators that wasted so much time on it...       º
     
    176222 º   AiR-BOOT - German  - by myself ;)                                        º
    177223 º                                                                            º
     224 º  Special thanx to Jan van Wijk for the LVM-CRC polynom!                    º
     225 º                                                                            º
    178226 ÓÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ  ÄÄ  ú                          ú  ÄÄ  ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄœ
    179227     ÓÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄœ
  • tags/v1.06r/DOCS/IT/FEATURES.TXT

    r23 r29  
    2626 º     AiR-BOOT senza perdere la configurazione                               º
    2727 º  - 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                                             º
    3029 º                                                                            º
    3130 ºÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ
     
    4342 º                                                                            º
    4443 º 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.                                                      º
    4645 º                                                                            º
    4746 º AiR-BOOT si avvia anche da CD-ROM. Basta creare il floppy, prendere        º
  • tags/v1.06r/DOCS/IT/INSTALL.TXT

    r12 r29  
    77 º                                                                            º
    88 º 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.                      º
    1110 º                                                                            º
    1211 º 2. Controllare il setup del BIOS. Deselezionare 'Virus Warning', se tale   º
  • tags/v1.06r/DOCS/RU/FEATURES.TXT

    r23 r29  
    2525 º     resetting the configuration                                            º
    2626 º  - 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                                              º
    2928 º                                                                            º
    3029 ºÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ
     
    4241 º                                                                            º
    4342 º AiR-BOOT is compatible to LVM, the Logical Volume Manager available for    º
    44  º  OS/2, eComStation and Linux-variants.                                     º
     43 º  OS/2 and eComStation.                                                     º
    4544 º                                                                            º
    4645 º AiR-BOOT is able to get booted from CD-ROM. Simply generate a floppy disc, º
  • tags/v1.06r/DOCS/RU/INSTALL.TXT

    r8 r29  
    77 º                                                                            º
    88 º 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.                       º
    1110 º                                                                            º
    1211 º 2. Check your CMOS-Setup. Deselect 'Virus Warning', if this option is      º
  • tags/v1.06r/DOCS/SW/FEATURES.TXT

    r23 r29  
    2626 º     utan att †terst„lla konfigurationen                                    º
    2727 º  - MBR-Skydd i Real-L„ge                                                   º
    28  º  - Linux K„rna St”d (fr†n FAT-16 partitioner), K„rna-Kommandorad och       º
    29  º     automatisk, med konfigureringsbar root-partition                       º
     28 º  - IBM OS/2 / eCS LVM Support                                              º
    3029 º                                                                            º
    3130 ºÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ
     
    4342 º                                                                            º
    4443 º AiR-BOOT „r kompatibel med LVM, Logical Volume Manager som „r tillg„nglig  º
    45  º  f”r OS/2, eComStation och Linux-varianter.                                º
     44 º  f”r OS/2 och eComStation.                                                 º
    4645 º                                                                            º
    4746 º AiR-BOOT kan bootas fr†n CD-ROM. Skapa helt enkelt en diskett, f†nga dess  º
  • tags/v1.06r/DOCS/SW/INSTALL.TXT

    r12 r29  
    77 º                                                                            º
    88 º 1. Ta en tom, formaterad diskett. Stoppa in den i enhet A: och starta      º
    9  º     filen AIRBS_xx.EXE fr†n AiR-BOOT arkivet (d„r xx „r din landskod).     º
     9 º     filen MAKEDISK.COM fr†n AiR-BOOT arkivet.                              º
    1010 º                                                                            º
    1111 º 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;
    118
    2 ; Bad Test-Virus (c) Martin Kiewitz - For test of AiR-BOOT ANTIVIR
     19; Bad Test-Virus ;-) - For test of AiR-BOOT ANTIVIR
    320
    421JUMPS
  • 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;
    1718
    1819;---------------------------------------------------------------------------
    1920;                                                      AiR-BOOT / MAIN-CODE
    2021;---------------------------------------------------------------------------
     22;
    2123
    2224; If ReleaseCode is not defined, it will produce debug-able code...
    2325ReleaseCode                 equ    -1
    24 ; ReleaseCommercial           equ    -1
    2526
    2627JUMPS
     
    2930
    3031IFDEF ReleaseCode
    31    ExecBaseSeg              equ     00000h
    32    ExecBasePtr              equ     07C00h ; BIOS starts our MBR at 0:7C00
     32   StartBaseSeg             equ     00000h
     33   StartBasePtr             equ     07C00h ; BIOS starts our MBR at 0:7C00
    3334  ELSE
    34    ExecBaseSeg              equ     03567h ; Adjust to DOS segment
    35    ExecBasePtr              equ     00100h
     35   StartBaseSeg             equ     03A98h ; Adjust to DOS segment
     36   StartBasePtr             equ     00100h
    3637ENDIF
    3738BootBaseSeg                 equ      8000h
     
    4647VideoIO_FXSegment           equ     0A000h
    4748
    48 Include ..\..\..\JimiHelp\asm.inc\stdmacro.inc
    49 Include ..\INSTALL\GLOBAL.ASM\airboot.inc
     49Include ..\INCLUDE\asm.inc
     50;Include ..\INCLUDE\DOS\airboot.inc
    5051
    5152TextChar_WinLineRight       equ       0C4h ; 'Ä'
     
    7576LocBR_Magic                 equ        510
    7677
     78; Offsets for LVM Information Sector
     79LocLVM_SignatureStart       equ          0
     80LocLVM_SignatureByte0       equ          2
     81LocLVM_CRC                  equ          8  ; CRC is a DWORD
     82LocLVM_MaxEntries           equ          4
     83LocLVM_StartOfEntries       equ         60  ; (contains maximum of 4 entries)
     84LocLVM_LenOfEntry           equ         60
     85LocLVM_VolumeID             equ          0  ; is DWORD
     86LocLVM_PartitionID          equ          4  ; is DWORD
     87LocLVM_PartitionSize        equ          8  ; is DWORD
     88LocLVM_PartitionStart       equ         12  ; is DWORD
     89LocLVM_VolumeLetter         equ         18  ; is BYTE (Letter C-Z or 0)
     90LocLVM_VolumeName           equ         20  ; 20 bytes
     91LocLVM_PartitionName        equ         40  ; 20 bytes
     92
    7793; Offsets for IPT (Internal Partition Table)
    7894LocIPT_MaxPartitions        equ         30  ; Maximum LocIPT_MaxPartitions
     
    105121FileSysFlags_FAT32          equ   00010000b ; FAT 32 specific name getting
    106122FileSysFlags_NoName         equ   00100000b ; No Name - use PartitionName
     123FileSysFlags_DriveLetter    equ   01000000b ; DriveLetter Feature possible
    107124
    108125Keys_Up                     equ         48h
     
    139156                            org 00000h                          ; Sector 1
    140157;---------------------------------------------------------------------------
    141 AiR_BOOT:     cli
     158AiR_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!
    142162              db      0EBh               ; JMP-Short -> MBR_Start
    143               db      'AiRBOOT', 02h, 03h, 20h, 03h, 01h, 01h, TXT_LanguageID
     163              db      'AiRBOOT', 13h, 03h, 20h, 06h, 01h, 06h, TXT_LanguageID
    144164              ; ID String, Date and Version Number, U for US version
    145165              db      1                  ; Total Sectors Count,
     
    148168
    149169MBR_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 and
    154               mov     ax, BootBaseSeg    ; fuck everyone that is working for
    155               mov     es, ax             ;     that evil business. k?thx
     170              cld                        ;    =MICROSOFT JUMP DEPARTMENT=
     171              mov     ax, StartBaseSeg
     172              mov     ds, ax
     173              mov     si, StartBasePtr
     174              mov     ax, BootBaseSeg
     175              mov     es, ax
    156176              mov     di, BootBasePtr
    157177              IFDEF ReleaseCode
     
    171191              mov     dx, 500
    172192              int     15h                ; Wait to display the whole screen :]
    173 MBR_FuckUpSys:cli
    174               jmp     MBR_FuckUpSys
     193MBR_HaltSys:  cli
     194              jmp     MBR_HaltSys
    175195
    176196              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...
    180201
    181202              db      'LOAD ERROR!', 0
     
    250271              int     13h
    251272              jnc     MBR_ConfigCopy_NoError
     273             MBR_ConfigCopy_LoadError:
    252274              call    MBR_LoadError      ; Will Abort BootUp
    253275             MBR_ConfigCopy_NoError:
     
    256278              mov     cx, 0002h
    257279              mov     ah, 02h
    258               mov     al, ds:[TotalSectorsUsedPtr]
     280              mov     al, ds:[10h]
    259281              int     13h
    260282              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'
    262287             MBR_RealStart_NoError:
    263288              ; Now Check Code with CheckSum
    264289              mov     si, offset FurtherMoreLoad
    265               movzx   cx, bptr ds:[TotalSectorsUsedPtr]
     290              movzx   cx, bptr ds:[10h]
    266291              xor     bx, bx
    267292             MBR_RealStart_CheckCodeLoop:
     
    291316                        ; 10h -> FAT32 - Name Getting Scheme
    292317                        ; 20h -> No Name To Get (use Partition Name)
     318                        ; 40h -> 'L' flag possible
    293319                db      'AiRSYS-TABLE'
    294 FileSysIDs:     db      01h, 11h,01h, 04h,014h,01h, 06h,016h,01h, 0Eh,00Eh,01h
    295                 db      07h, 17h,01h, 08h,017h,21h, 35h,035h,00h,0EBh,0EBh,01h
    296                 db      09h, 19h,11h, 0Bh,01Bh,11h, 0Ch,01Ch,11h, 01h,001h,01h
     320FileSysIDs:     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
    297323                db      63h, 63h,21h, 81h,081h,21h, 83h,083h,21h, 40h,040h,21h
    298324                db     0A5h,0A5h,21h,0A6h,0A6h,21h, 82h,082h,20h,0A7h,0A7h,21h
     
    306332
    307333FileSysNames:   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    '
    310336                db      'Unix    ', 'Minix   ', 'Linux   ', 'Venix   ' ; x row ;)
    311337                db      'BSD/386 ', 'OpenBSD ', 'LinuxSwp', 'NeXTSTEP'
     
    331357                 call    AFTERCRAP_Main
    332358
    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:
    338365
    339366                 ; SetUp PartitionPointers for BootMenu (filter non-bootable)
     
    394421
    395422                 IFNDEF ReleaseCode
     423                    ; Debug Code to terminate DOS .COM program - used for
     424                    ;  testing AiR-BOOT
     425                    int 3
    396426                    mov     ax, 6200h
    397427                    int     21h
     
    416446Include SETUP\MAiN.ASM                   ; The whole AiR-BOOT SETUP
    417447Include 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
     451Include SPECiAL\F00K\BILLSUXX.asm        ; Extended Partition - Microsoft-Hack
    421452Include SPECiAL\SOUND.asm                ; Sound
    422453Include SPECiAL\APM.asm                  ; Power Managment Support
    423454Include SPECiAL\FX.asm                   ; l33t Cooper-Bars/Scrolling <bg>
     455Include SPECiAL\LVM.asm                  ; LVM-specific code
    424456IFDEF TXT_IncludeCyrillic
    425457   Include SPECiAL\CHARSET.asm           ; Charset Support (e.g. Cyrillic)
     
    441473Configuration:
    442474                             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...
    444478
    445479CFG_LastTimeEditLow          dw     0    ; Last Time Edited Stamp (will incr every setup)
     
    504538CFG_PartAutomatic            db     0    ; Partition-No for automatic booting
    505539CFG_ForceLBAUsage            db     0    ; LBA-BIOS-API forced on any HDD I/O
     540CFG_IgnoreLVM                db     0    ; Ignores any LVM-Information
    506541
    507542; VIR variables are for the AiR-BOOT Anti Virus Code
     
    595630; This space actually gets initialized in PreCrap to NUL (till EndOfVariables)
    596631BeginOfVariables:
     632PartitionSector              db   512 dup (?) ; Temporary Sector for Partition
     633LVMSector:                   db   512 dup (?) ; Temporary Sector for LVM
    597634TmpSector:                   db   512 dup (?) ; Temporary Sector
    598635TmpSector2:
     
    606643PartitionPointerCount        db     ?         ; Count of total Partition Pointers
    607644PartitionXref                db    30 dup (?) ; X-Reference Table
    608 
    609 TotalHarddiscs               db     ?    ; Total harddrives (by POST)
    610 NewPartitions                db     ?    ; Freshly found partitions
     645PartitionVolumeLetters       db    30 dup (?) ; Volume-Letters
     646                                              ;  0 - no LVM support
     647                                              ;  1 - LVM support, but no letter
     648                                              ;  'C'-'Z' - assigned drive letter
     649
     650TotalHarddiscs               db     ?         ; Total harddrives (by POST)
     651LBASwitchTable               db   128 dup (?) ; Bit 25-18 for CHS/LBA Switching
     652NewPartitions                db     ?         ; Freshly found partitions
    611653
    612654VideoIO_Segment              dw     ?    ; Segment for Video I/O
     
    621663                                         ;    (for detailed error message)
    622664
    623 GotLinux                     db     ?    ; 1-Linux found
     665; [Linux support removed since v1.02]
     666;GotLinux                     db     ?    ; 1-Linux found
    624667
    625668Menu_EntrySelected           db     ?    ; Which partition we boot this time...
     
    652695SETUP_VerifyPwd              db    17 dup (?)
    653696StartSoundPlayed             db     ?
     697ChangePartNameSave           db     ?
    654698
    655699FX_UseCount                  dw     ?
     
    664708FX_CooperBarsTimer           dw     ?
    665709
    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)
    680725EndOfVariables:
    681726
     727; Dynamically Generated Tables - do not need to get initialized with NUL
    682728FX_CooperColors              db   672 dup (?) ; 7 cooper bars*96 - runtime calculated
    683729FX_CooperState:              db     7 dup (?)
     
    685731FX_CooperPos:                dw     7 dup (?)
    686732CharsetTempBuffer            db  4096 dup (?) ; Uninitialized Charset buffer
     733LVM_CRCTable:                dd   256 dup (?) ; LVM-CRC (->SPECiAL\LVM.asm)
    687734
    688735code_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 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.
    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
     6the terms of the GNU General Public License as published by the Free
     7Software Foundation, either version 3 of the License, or (at your option)
     8any later version.
     9;
     10; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY
     11WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS
     12FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
     13details.
     14;
     15; You should have received a copy of the GNU General Public License along with
     16AiR-BOOT. If not, see <http://www.gnu.org/licenses/>.
     17;
    1818;---------------------------------------------------------------------------
    1919;                         AiR-BOOT SETUP / GENERIC & GENERAL SETUP ROUTINES
     
    151151                db      '³  you have to deactivate MBR PROTECTION in AiR-BOOT  ³'
    152152                db      '³             or contact your supervisor.             ³'
    153 MBRP_Line3:     db      'ÔÍÍÍÍŽAiR-BOOT (c) Copyright by Martin Kiewitz ''99ÃÍÍÍŸ'
     153MBRP_Line3:     db      'ÔÍÍÍŽAiR-BOOT (c) Copyright by M. Kiewitz 1999-2009ÃÍÍŸ'
     154
     155org             1023
     156                db 0
    154157
    155158code_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 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.
    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
     6the terms of the GNU General Public License as published by the Free
     7Software Foundation, either version 3 of the License, or (at your option)
     8any later version.
     9;
     10; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY
     11WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS
     12FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
     13details.
     14;
     15; You should have received a copy of the GNU General Public License along with
     16AiR-BOOT. If not, see <http://www.gnu.org/licenses/>.
     17;
    1818;---------------------------------------------------------------------------
    1919;                                                      AiR-BOOT / BOOT-MENU
     
    185185   call    VideoIO_Color
    186186
    187    IFDEF ReleaseCommercial
    188       mov     si, offset RegisteredTo
    189       call    GetLenOfString
    190       mov     dx, 144Eh
    191       sub     dl, cl
    192       mov     cx, dx
    193       call    VideoIO_Locate
    194       mov     al, TextChar_WinRep4
    195       call    VideoIO_PrintSingleChar
    196       call    VideoIO_Print
    197       mov     al, TextChar_WinRep5
    198       call    VideoIO_PrintSingleChar
    199    ENDIF
    200 
    201187   ; Additional message how to enter setup
    202188   mov     si, offset TXT_BootMenuEnterSetup
     
    226212   call    VideoIO_Color
    227213   mov     bx, 0101h
    228    mov     dx, 0450h
     214   mov     dx, 0550h
    229215   call    VideoIO_MakeWindow            ; Information-Window
    230216   xor     di, di
     
    271257   mov     cx, 0303h
    272258   call    VideoIO_Locate
    273    IFDEF ReleaseCommercial
    274       mov     si, offset RegisteredTo
    275      ELSE
    276       mov     si, offset BootEndMsg         ; Print End-Message...
    277    ENDIF
     259   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...
    278264   call    VideoIO_Print
    279265   ; -------------------------------------------
    280266   mov     ah, 02h
    281267   mov     bh, 00h
    282    mov     dx, 0500h                     ; Sets cursor location to 6, 0
     268   mov     dx, 0600h                     ; Sets cursor location to 7, 1
    283269   int     10h
    284270   call    VideoIO_CursorOn
     
    366352   call    VideoIO_Color                 ; Violet, blue
    367353   mov     si, PartPointer
    368    mov     al, cs:[si+LocIPT_Drive]
     354   mov     al, [si+LocIPT_Drive]
    369355   sub     al, 7Fh                       ; Will only display numbers up to 99,
    370356   call    VideoIO_PrintByteNumber       ;  so only showing harddrives...
     
    411397   call    VideoIO_Locate
    412398   mov     si, PartPointer
    413    mov     al, cs:[si+LocIPT_SystemID]
     399   mov     al, [si+LocIPT_SystemID]
    414400   call    PART_SearchFileSysName
    415401   mov     cx, 0C01h
     
    498484
    499485
    500 
    501486; Calculate Menu-Variables for Boot-Menu, these use the filtered Part-Pointers
    502487BOOTMENU_ResetMenuVars          Proc Near   Uses dx
     
    520505   mov     Menu_TotalParts, dl
    521506
    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
    540511
    541512   ; Default-Partition -> Filtered View -> Menu_EntryDefault
     
    554525   mov     Menu_EntryAutomatic, dl
    555526
    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:
    570542
    571543   ; restlichen Variablen berechnen...
     
    609581   mov     dl, Menu_EntrySelected
    610582   call    PART_ConvertToStraight        ; CFG_PartLast is non-filtered
    611    mov     di, offset CFG_LinuxLastKernel
    612    mov     cx, 11
     583;   mov     di, offset CFG_LinuxLastKernel
     584;   mov     cx, 11
    613585   cmp     dl, 0FDh                      ; Dont Remember on Floppy/CD-ROM/etc.
    614586   ja      BMSVAM_DontRememberBoot
    615    je      BMSVAM_RememberKernelBoot     ; but remember Kernel-Bootings...
     587;   je      BMSVAM_RememberKernelBoot     ; but remember Kernel-Bootings...
    616588   mov     CFG_PartLast, dl              ; Remember partition in CFG_PartLast
    617    mov     al, ' '
    618    rep     stosb                         ; SPACE out CFG_LinuxLastKernel
     589;   mov     al, ' '
     590;   rep     stosb                         ; SPACE out CFG_LinuxLastKernel
    619591  BMSVAM_DontRememberBoot:
    620592   ret
    621 
    622   BMSVAM_RememberKernelBoot:
    623    mov     dl, Menu_EntrySelected
    624    call    PART_GetPartitionPointer      ; SI - Pointer to Kernel Entry...
    625    add     si, LocIPT_Name
    626    rep     movsb                         ; Copy KernelName 2 CFG_LinuxLastKernel
    627    ret
     593;
     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
    628600BOOTMENU_SetVarsAfterMenu       EndP
    629601
     
    683655      push    ax dx
    684656         call    TIMER_GetTicCount
    685          cmp     dx, wptr cs:[FloppyGetNameTimer+2]
     657         cmp     dx, wptr [FloppyGetNameTimer+2]
    686658         ja      BME_ExpiredGetFloppy
    687          cmp     ax, wptr cs:[FloppyGetNameTimer+0]
     659         cmp     ax, wptr [FloppyGetNameTimer+0]
    688660         jb      BME_NoFloppyNameExpired
    689661        BME_ExpiredGetFloppy:
     
    825797   add     ax, CFG_TimedDelay
    826798   adc     dx, 0
    827    mov     word ptr cs:[TimedTimeOut], ax
    828    mov     word ptr cs:[TimedTimeOut+2], dx
     799   mov     wptr [TimedTimeOut], ax
     800   mov     wptr [TimedTimeOut+2], dx
    829801   ret
    830802BOOTMENU_ResetTimedBoot         EndP
     
    835807   add     ax, 36                      ; 18*2 -> 2 seconds
    836808   adc     dx, 0
    837    mov     word ptr cs:[FloppyGetNameTimer], ax
    838    mov     word ptr cs:[FloppyGetNameTimer+2], dx
     809   mov     word ptr [FloppyGetNameTimer], ax
     810   mov     word ptr [FloppyGetNameTimer+2], dx
    839811   ret
    840812BOOTMENU_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 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.
    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
     6the terms of the GNU General Public License as published by the Free
     7Software Foundation, either version 3 of the License, or (at your option)
     8any later version.
     9;
     10; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY
     11WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS
     12FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
     13details.
     14;
     15; You should have received a copy of the GNU General Public License along with
     16AiR-BOOT. If not, see <http://www.gnu.org/licenses/>.
     17;
    1818;---------------------------------------------------------------------------
    1919;                                                      AiR-BOOT / DRIVE I/O
    2020;---------------------------------------------------------------------------
    2121
    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!
    2728
    2829; Will only load base-configuration, will NOT load IPT nor Hide-Config
     
    124125;  Internal access (to AiR-BOOT) is always done via INT 13h/CHS.
    125126
     127DriveIO_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
     136DriveIO_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.
     143DriveIO_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
     168DriveIO_InitLBASwitchTable      EndP
     169
     170; Adjusts BX:AX / CX:DX to meet LVM sector location
     171;  Destroys SI
     172DriveIO_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
     183DriveIO_LVMAdjustToInfoSector   EndP
     184
    126185Comment *ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
    127186 Routine: Loads partition to ExecBase and checks for validity
     
    132191 Preserve: all registers
    133192 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ*
    134 DriveIO_LoadPartition           Proc Near  Uses ds si
    135    int 3
     193DriveIO_LoadPartition           Proc Near  Uses si
    136194   mov     wptr cs:[CurPartition_Location+0], ax
    137195   mov     wptr cs:[CurPartition_Location+2], bx
    138196   mov     wptr cs:[CurPartition_Location+4], dx
    139197   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
    143199   call    DriveIO_LoadSector
    144200   clc
    145    cmp     word ptr ds:[si+LocBR_Magic], 0AA55h
     201   cmp     wptr [si+LocBR_Magic], 0AA55h
    146202   je      DIOLP_Success
    147203   ; We check, if we are scanning partitions. In that case, if CHS is not 0/0/1
     
    165221 Preserve: all registers
    166222 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ*
    167 DriveIO_SavePartition           Proc Near  Uses ax bx cx dx ds si
     223DriveIO_SavePartition           Proc Near  Uses ax bx cx dx si
    168224   mov     ax, wptr cs:[CurPartition_Location+0]
    169225   mov     bx, wptr cs:[CurPartition_Location+2]
    170226   mov     dx, wptr cs:[CurPartition_Location+4]
    171227   mov     cx, wptr cs:[CurPartition_Location+6] ; Gets prev. saved location
    172    push    ExecBaseSeg
    173    pop     ds
    174    mov     si, ExecBasePtr               ; DS:SI - ExecBase
     228   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
    175231   call    DriveIO_SaveSector
     232  DIOSP_SevereError:
    176233   ret
    177234DriveIO_SavePartition           EndP
    178235
    179 ; L„sst DS:SI fr Aufrufer
     236; Keeps DS:SI for caller
    180237DriveIO_LoadTmpSector           Proc Near  Uses
    181    push    cs
    182    pop     ds
    183238   mov     si, offset TmpSector
    184239   call    DriveIO_LoadSector
     
    186241DriveIO_LoadTmpSector           EndP
    187242
    188 ; L„sst DS:SI fr Aufrufer
     243; Keeps DS:SI for caller
    189244DriveIO_SaveTmpSector           Proc Near  Uses
    190    push    cs
    191    pop     ds
    192245   mov     si, offset TmpSector
    193246   call    DriveIO_SaveSector
    194247   ret
    195248DriveIO_SaveTmpSector           EndP
     249
     250; Keeps DS:SI for caller, sets carry if valid LVM sector encountered
     251DriveIO_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
     272DriveIO_LoadLVMSector           EndP
     273
     274; Keeps DS:SI for caller, saves at anytime w/o checks (!)
     275DriveIO_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
     289DriveIO_SaveLVMSector           EndP
    196290
    197291; Memory-Block that holds information for LBA-access via INT 13h
     
    206300;  so users will notice that something is bad with their partition table(s)
    207301DriveIO_GotLoadError            Proc Near
    208    test    cs:CurIO_Scanning, 1          ; Must be CS:, cause DS!=CS here
     302   test    cs:CurIO_Scanning, 1          ; Must be CS:, cause DS!=CS maybe here
    209303   jnz     InScanMode
    210304   jmp     MBR_LoadError
     
    213307   push    cs
    214308   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
    215317   call    MBR_Teletype
    216318   jmp     MBRLE_Halt
     
    227329 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ*
    228330DriveIO_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
    237347  DIOLS_UseNormal:
    238       mov     di, 3
     348      mov      di, 3
    239349     DIOLS_ErrorLoop:
    240          push    ds
    241          pop     es
    242          mov     bx, si                      ; ES:BX - Destination
    243          mov     ax, 0201h                   ; Function 2 - Load Sector
    244          int     13h
    245          jnc     DIOLS_Success
    246       dec     di
    247       jnz     DIOLS_ErrorLoop
     350         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
    248358      ; Sector load failed...
    249       jmp     DriveIO_GotLoadError
     359      jmp      DriveIO_GotLoadError
    250360
    251361  DIOLS_UseExtension:
     
    260370      pop     ds
    261371      mov     si, offset DriveIO_DAP
    262       mov     ah, 42h                         ; Extended Read
     372      mov     ah, 42h                        ; Extended Read
    263373      int     13h
    264374   pop     cx
     
    281391 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ*
    282392DriveIO_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
    291409  DIOSS_UseNormal:
    292       mov     di, 3
     410      mov      di, 3
    293411     DIOSS_ErrorLoop:
    294          push    ds
    295          pop     es
    296          mov     bx, si                      ; ES:BX - Destination
    297          mov     ax, 0301h                   ; Function 3 - Write Sector
    298          int     13h
    299          jnc     DIOSS_Success
    300       dec     di
    301       jnz     DIOSS_ErrorLoop
    302       call    MBR_SaveError
     412         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
    303421
    304422  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 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.
    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
     6the terms of the GNU General Public License as published by the Free
     7Software Foundation, either version 3 of the License, or (at your option)
     8any later version.
     9;
     10; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY
     11WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS
     12FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
     13details.
     14;
     15; You should have received a copy of the GNU General Public License along with
     16AiR-BOOT. If not, see <http://www.gnu.org/licenses/>.
     17;
    1818;---------------------------------------------------------------------------
    1919;                                                 AiR-BOOT / OTHER ROUTINES
     
    8989   ; Calculate Cooper-Bar Tables
    9090   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
    91100
    92101   ; Setup PartitionPointers-Table
     
    140149   int     16h
    141150   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
    142156   ret
    143157PRECRAP_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 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.
    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
     6the terms of the GNU General Public License as published by the Free
     7Software Foundation, either version 3 of the License, or (at your option)
     8any later version.
     9;
     10; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY
     11WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS
     12FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
     13details.
     14;
     15; You should have received a copy of the GNU General Public License along with
     16AiR-BOOT. If not, see <http://www.gnu.org/licenses/>.
     17;
    1818;---------------------------------------------------------------------------
    1919;                                     AiR-BOOT / PARTiTiON REGULAR ROUTINES
     
    2424   xor     bl, bl
    2525   mov     dl, CFG_PartDefault
    26    call    PART_FixUpPartitionNumber
     26   call    PART_FixUpSelectionNumber
    2727   mov     CFG_PartDefault, dl
    2828   mov     dl, CFG_PartLast
    29    call    PART_FixUpPartitionNumber
     29   call    PART_FixUpSelectionNumber
    3030   mov     CFG_PartLast, dl
    3131   mov     dl, CFG_PartAutomatic
    32    call    PART_FixUpPartitionNumber
     32   call    PART_FixUpSelectionNumber
    3333   mov     CFG_PartAutomatic, dl
    3434
    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
    4647   ret
    4748PART_FixUpDefaultPartitionValues EndP
     
    6263;            BL - Requested Partition ID
    6364;       Out: DL - New number of partition (guessed normally ;)
    64 PART_FixUpPartitionNumber       Proc Near Uses ax cx
    65    cmp     dl, 0FFh
    66    je      PFUPN_PartitionDisabled
     65PART_FixUpSelectionNumber       Proc Near Uses ax cx
     66   cmp     dl, 080h
     67   je      PFUPN_SelectionDisabled
     68   ja      PFUPN_SpecialSelection
    6769   call    PARTSCAN_GetXref              ; DL - PartitionNo prev IPT
    6870   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:
    7590   mov     cl, CFG_Partitions
    7691   or      cl, cl
     
    94109  PFUPN_BootableSearchLoop:
    95110      call    PART_GetPartitionPointer   ; Gets SI for partition DL
    96       mov     al, cs:[si+LocIPT_Flags]
     111      mov     al, ds:[si+LocIPT_Flags]
    97112      and     al, Flags_BootAble
    98113      jnz     PFUPN_Found
     
    106121
    107122  PFUPN_NothingFound:
    108    mov     dl, 0FFh                      ; Now being Disabled
     123   mov     dl, 080h                      ; Now being Disabled
    109124  PFUPN_Found:
    110125   ret
    111 PART_FixUpPartitionNumber       EndP
     126PART_FixUpSelectionNumber       EndP
    112127
    113128; ============================================================================
    114 ;        In: CS:SI - IPT-Entry of partition
    115 ;            ExecBaseSeg:Ptr - Actual Boot-Record of partition
     129;        In: DS:SI - IPT-Entry of partition
     130;            DS:PartitionSector - Actual Boot-Record of partition
    116131;       Out: *none* (BootRecordCRD updated)
    117132PART_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
    126137   ret
    127138PART_UpdateBootRecordCRC        EndP
     139
     140; Copies the device-name to the Resume-BIOS IPT entry
     141PART_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
     160PART_UpdateResumeBIOSName       EndP
    128161
    129162; ============================================================================
     
    166199  PCMPP_NoResumeBootSeqInclude:
    167200
    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:
    180214
    181215   movzx   cx, CFG_Partitions ; LocIPT_MaxPartitions
     
    201235; Gets a pointer to the given partition
    202236;        In: DL - Number of partition
    203 ;       Out: SI - Pointer to it (use CS)
     237;       Out: SI - Pointer to it
    204238PART_GetPartitionPointer        Proc Near   Uses bx
    205239   cmp     dl, 0FEh
     
    208242   movzx   bx, dl
    209243   shl     bx, 1
    210    mov     si, wptr cs:[PartitionPointers+bx]
     244   mov     si, wptr [PartitionPointers+bx]
    211245   ret
    212246  PGPP_IsBIOSbootSeq:
     
    250284   jb      PCTS_IsBIOSbootSeq
    251285   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
    254289   sub     ax, offset PartitionTable
    255290   mov     bl, LocIPT_LenOfIPT
     
    257292   mov     dl, al
    258293   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
    262298  PCTS_IsBIOSbootSeq:
    263299   mov     dl, 0FEh
     
    271307;       Out: DL - Number of partition in filtered view
    272308PART_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:
    273316   ; First we get Partition-Offset in AX
    274317   movzx   ax, dl
     
    276319   mul     bl
    277320   add     ax, offset PartitionTable
     321  PCFS_DoSearch:
    278322   ; Now search for this offset in our filtered Partition-Pointer-Table
    279323   push    cs
     
    297341; Destroyed: AX
    298342PART_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
    301346   mov     si, offset PartitionSizeTable
    302347   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:
    308354   mov     bl, LocIPT_LenOfIPT
    309355   div     bl                            ; Divide with IPTlength
     
    381427;              install MBR Protection, if wanted
    382428;              Special Boot Support, if needed (OS/2 Extended partitions)
     429;              Copy boot-sector to StartBase
    383430;              run boot sector...
    384431PART_StartPartition             Proc Near   Uses ax dx es di
     
    389436   call    PART_ConvertToStraight        ; ...we save straight view for later...
    390437   mov     BootPartNo, dl
     438   ; Straight - FFh -> Floppy boot
     439   ;            FEh -> BIOS continue (CD-ROM, ZIP, etc.)
    391440
    392441   ; We need straight pointers from now on, so calculate the table...
     
    397446
    398447   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]
    401450      ; Copy Partition-Name to BootingNow area for display purposes
    402451         add     si, LocIPT_Name
     
    411460      mov     si, offset TXT_BootingNow1
    412461      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
    415465      or      dl, dl
    416466      jnz     PSP_IsHarddisc
     
    420470      jmp     PSP_IsFloppyCDROMetc
    421471
    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
    431482
    432483     PSP_IsHarddisc:
     
    440491   pop     si                            ; restores SI (IPT-pointer)
    441492
    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]
    447498   call    DriveIO_LoadPartition         ; Load Table...
    448499   ; --------------------------------------------------- MODIFY PARTITION TABLE
    449    push    ExecBaseSeg
     500   push    cs
    450501   pop     es
    451    mov     di, ExecBasePtr
    452    add     di, 446                ; DS:SI - Erster Partitionseintrag
     502   mov     di, offset PartitionSector+446 ; ES:DI - First Partitionentry
    453503
    454504   ; Remove all active-flags for safety reasons, primary partition table will
     
    464514
    465515   ; 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]
    470520   ; BX:AX - absolute position of partition relative to partition table
    471521   ; ...and search for it...
     
    478528     PSP_SearchMismatch:
    479529      add     di, LocBRPT_LenOfEntry     ; 16 Bytes per Partition-Entry
    480    cmp     di, 500+ExecBasePtr
     530   cmp     di, 500+offset PartitionSector
    481531   jb      PSP_SearchLoop
    482532   jmp     MBR_HaltSystem
     
    493543   ;  If yes, set magic bytes 'I13X' at 3000:0 for boot-loader to recognize.
    494544   ;  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]
    497547   add     ax, wptr es:[di+LocBRPT_AbsoluteLength+0] ; Add length to absolute
    498548   adc     bx, wptr es:[di+LocBRPT_AbsoluteLength+2] ;  begin location
     
    515565
    516566   ; now check, if we need to hide any partition
    517    test    byte ptr cs:[si+LocIPT_Flags], Flags_HideFeature
     567   test    byte ptr [si+LocIPT_Flags], Flags_HideFeature
    518568   jz      PSP_NoHideFeature
    519569   ; --------------------------------------------------------- PARTITION HIDING
     
    532582      mov     cl, CFG_Partitions
    533583     PSP_PartitionsHideLoop:
    534          mov     dl, cs:[di]
     584         mov     dl, es:[di]
    535585         inc     di
    536586         cmp     dl, 0FFh
     
    543593      ; So something got hidden and we have to remark a primary partition,
    544594      ;  if we are booting something non-primary from 1st hdd.
    545       cmp     bptr ds:[si+LocIPT_Drive], 80h
     595      cmp     bptr [si+LocIPT_Drive], 80h
    546596      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]
    549599      or      ax, ax
    550600      jnz     PSP_HideAdjustPrimaryMark  ; or booting non-primary partition
     
    565615
    566616  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:
    567631   push    si
    568632   ; ------------------------------------------------------- -"PLEASE WAIT..."-
     
    584648   ; -------------------------------------------------- SPECIAL BOOT PROCESSING
    585649   ; 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]
    587651   cmp     al, 0FEh                      ; Via BIOS ? (aka resume BIOS boot sequence)
    588652   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
    591656   jmp     PSP_StartNormal
    592657
     
    597662   dw      0F000h
    598663
    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   ; =======================================================================
    608674
    609675  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]
    615681   call    DriveIO_LoadPartition         ; Loads boot-sector...
    616682
    617683   test    CFG_DetectVIBR, 1
    618684   jz      PSP_NoVIBR
    619    test    byte ptr cs:[si+LocIPT_Flags], Flags_VIBR_Detection
     685   test    byte ptr [si+LocIPT_Flags], Flags_VIBR_Detection
    620686   jz      PSP_NoVIBR
    621687   ; ---------------------------------------------------------- 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
    626690         mov     bx, 4B4Dh               ; Magic: 'MK'
    627691         call    MBR_GetCheckOfSector
    628       pop     si ds
    629       cmp     cs:[si+LocIPT_BootRecordCRC], bx
     692      pop     si
     693      cmp     [si+LocIPT_BootRecordCRC], bx
    630694      je      PSP_NoVIBR
    631       mov     bx, cs:[si+LocIPT_BootRecordCRC]
     695      mov     bx, [si+LocIPT_BootRecordCRC]
    632696      or      bx, bx
    633697      jz      PSP_NoVIBR
     
    645709   jz      PSP_NoMBRprotect
    646710   ; -------------------------------------------------- INSTALLS MBR-PROTECTION
    647    push    si                            ; We need SI later...
     711   push    ds si                         ; We need DS:SI later...
    648712      ; First subtract 1024 bytes from Base-Memory...
    649713      push    ds
     
    658722      ; Now copy in our code (to DX:0)...
    659723
    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
    663725      mov     es, dx
    664       xor     di, di                      ; ES:DI - Destination
     726      xor     di, di                     ; ES:DI - Destination
    665727      mov     cx, 512
    666       rep     movsw                       ; Move 1024 bytes...
     728      rep     movsw                      ; Move 1024 bytes...
    667729
    668730      ; Now fill in variables...
     
    671733      mov     ds, ax
    672734      mov     si, 10h*4
    673       xor     di, di                      ; INT 10h Vector to MBR Protection
     735      xor     di, di                     ; INT 10h Vector to MBR Protection
    674736      movsd
    675       mov     si, 13h*4                   ; INT 13h Vector to MBR Protection
     737      mov     si, 13h*4                  ; INT 13h Vector to MBR Protection
    676738      movsd
    677       mov     al, CFG_IgnoreWriteToMBR    ; Option to MBR Protection
     739      mov     al, CFG_IgnoreWriteToMBR   ; Option to MBR Protection
    678740      stosb
    679741
     
    683745      mov     ax, 9
    684746      mov     ds:[si], ax
    685       mov     ds:[si+2], dx               ; Vector hardcoded at DS:0009
     747      mov     ds:[si+2], dx              ; Vector hardcoded at DS:0009
    686748      ; MBR-Protection now active :)
    687    pop     si                          ; Restore SI
     749   pop     si ds                         ; Restore DS:SI
    688750
    689751   ; ------------------------------------------------ SPECIAL PARTITION SUPPORT
    690752   ; needed by OS/2 Warp / eComStation
    691753  PSP_NoMBRprotect:
    692    cmp     bptr cs:[si+LocIPT_SystemID], 08      ; I hate Microsuck NTFS check
     754   cmp     bptr [si+LocIPT_SystemID], 08 ; I hate Microsuck NTFS check
    693755   je      PSP_NoSpecialSupport
    694756
    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
    698758      ; Special Support Detection
    699759      mov     ax, wptr es:[di+24]
     
    707767      jne     PSP_NoSpecialSupport
    708768      ; Special Support needed
    709       mov     al, bptr cs:[si+LocIPT_Drive]
     769      mov     al, bptr [si+LocIPT_Drive]
    710770      mov     bptr es:[di+36], al        ; Write Actual Drive-Letter
    711       mov     ax, cs:[si+LocIPT_AbsoluteBegin]
     771      mov     ax, [si+LocIPT_AbsoluteBegin]
    712772      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]
    714774      mov     wptr es:[di+30], ax        ; Done by OS/2 BootMan as well...
    715775
    716776   ; ------------------------------------------------ LOGICAL PARTITION SUPPORT
    717777  PSP_NoSpecialSupport:
    718    test    byte ptr cs:[si+LocIPT_Flags], Flags_DriveLetter
     778   test    byte ptr [si+LocIPT_Flags], Flags_DriveLetter
    719779   jz      PSP_NoLogicalSupport
    720780
    721781      movzx   bx, BootPartNo             ; EntryNumber is straight view
    722       mov     al, bptr cs:[DriveLetters+bx]
     782      mov     al, bptr [DriveLetters+bx]
    723783      mov     bptr es:[di+37], al        ; Write Drive Letter (OS/2 only)
    724784
     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
    725795   ; ---------------------------------------------------- NOW START BOOT-RECORD
    726   PSP_NoLogicalSupport:
    727796   xor     ax, ax
    728797   xor     bx, bx
     
    732801   xor     dh, dh                        ; Drive supported by BIOS
    733802   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
    737808PART_StartPartition             EndP
    738809
     
    740811;        In: DL - Partition to hide
    741812; Destroyed: None
    742 PART_HidePartition              Proc Near   Uses ax bx cx dx si es di
     813PART_HidePartition              Proc Near   Uses ax bx cx dx si di
    743814   call    PART_GetPartitionPointer      ; Pointer to partition (DL) -> SI
    744815
    745816   ; 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]
    751822   call    DriveIO_LoadPartition
    752823   ; 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...
    757825
    758826   ; 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]
    763831   ; BX:AX - absolute position of partition relative to partition table
    764832   ; ...and search for it...
     
    771839     PHP_SearchMismatch:
    772840      add     di, LocBRPT_LenOfEntry     ; 16 Bytes per partition entry
    773    cmp     di, 500+ExecBasePtr
     841   cmp     di, 500+offset PartitionSector
    774842   jb      PHP_SearchLoop
    775843   jmp     MBR_HaltSystem                ; not found, something is wrong here
     
    792860;  *not* the BIOS. This one *could* cause havoc to some systems, but I can't
    793861;  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
     862PART_MarkFirstGoodPrimary       Proc Near   Uses ax si di
     863   mov     di, offset PartitionSector+446 ; DS:SI - 1st partitionentry
    800864   ; First action to do: Remove the active flag from every partition
    801865   push    di
     
    827891     PMPP_Search1NoHit:
    828892      add     di, LocBRPT_LenOfEntry     ; 16 Bytes per Partition-Entry
    829    cmp     di, 500+ExecBasePtr
     893   cmp     di, 500+offset PartitionSector
    830894   jb      PMPP_Search1Loop
    831895
    832    mov     di, ExecBasePtr
    833    add     di, 446                       ; DS:SI - First Partition-Entry
     896   mov     di, offset PartitionSector+446 ; DS:SI - 1st Partition-Entry
    834897   ; Second Search, hit on anything that is not an extended partition
    835898   ;  (05 or 0Fh)
     
    844907     PMPP_Search2NoHit:
    845908      add     di, LocBRPT_LenOfEntry     ; 16 Bytes per Partition-Entry
    846    cmp     di, 500+ExecBasePtr
     909   cmp     di, 500+offset PartitionSector
    847910   jb      PMPP_Search2Loop
    848911   jmp     PMPP_SearchFailed
     
    859922;            SI - Pointer to Name (8char)
    860923; Destroyed: *none*
    861 PART_SearchFileSysName          Proc Near  Uses ds bx dx
     924PART_SearchFileSysName          Proc Near  Uses bx dx
    862925   movzx   bx, al
    863    push    cs
    864    pop     ds
    865926   mov     si, offset FileSysIDs
    866927  PSFSN_SearchLoop:
     
    892953;        In: AL - FileSysID
    893954;       Out: AL - Hidden File-System-ID
    894 PART_SearchFileSysHiddenID      Proc Near  Uses ds bx
     955PART_SearchFileSysHiddenID      Proc Near  Uses bx
    895956   movzx   bx, al
    896    push    cs
    897    pop     ds
    898957   mov     si, offset FileSysIDs
    899958  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 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.
    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
     6the terms of the GNU General Public License as published by the Free
     7Software Foundation, either version 3 of the License, or (at your option)
     8any later version.
     9;
     10; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY
     11WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS
     12FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
     13details.
     14;
     15; You should have received a copy of the GNU General Public License along with
     16AiR-BOOT. If not, see <http://www.gnu.org/licenses/>.
     17;
    1818;---------------------------------------------------------------------------
    1919;                                             AiR-BOOT / PARTiTiON SCANNING
    2020;---------------------------------------------------------------------------
    2121
    22 ; Note: This is complex code. Also some of these functions have DS != CS, so
    23 ;        make sure that you know what you are doing in here.
     22; Note: This is complex code. So make sure that you know what you are doing in
     23;        here.
    2424
    2525PARTSCAN_ScanForPartitions      Proc Near  Uses
     
    2727   call    PARTSCAN_ResetXref
    2828
    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
    3630   xor     al, al
    3731   mov     NewPartitions, al
     
    6761   rep     movsw
    6862
    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
    8479
    8580   ; ...and finally check, if we need to set a Drive-Letter
     
    125120   call    DriveIO_LoadPartition
    126121   jc      PSSDFP_InvalidPartition
     122   ; LVM Support - Reads LVM Information Sector
     123   call    DriveIO_LoadLVMSector
    127124   call    PARTSCAN_ScanPartition
    128125   IFDEF ReleaseCode
     
    135132PARTSCAN_ScanDriveForPartitions EndP
    136133
     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
     136PARTSCAN_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
     169PARTSCAN_ScanPartitionForExtended EndP
     170
    137171; 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
     172PARTSCAN_ScanPartition          Proc Near  Uses ax si
     173   mov     si, offset PartitionSector+446 ; DS:SI - 1st Partition-Entry
    143174  PSSP_ScanLoop:
    144       mov     al, bptr ds:[si+LocBRPT_SystemID]
     175      mov     al, bptr [si+LocBRPT_SystemID]
    145176      cmp     al, 5                      ; Is Partition EXTENDED ?
    146177      je      PSSP_IgnorePartition
     
    149180      cmp     al, 0                      ; Is Partition EMPTY ?
    150181      je      PSSP_IgnorePartition
    151       ; Ignore this Partitions, because there are no real Partitions
     182      ; Ignore these partitions, because there are no real Partitions
    152183      call    PARTSCAN_CheckThisPartition
    153184     PSSP_IgnorePartition:
    154185      ; L”scht das Boot-Able Flag...
    155       and     byte ptr ds:[si+LocBRPT_Flags], 7Fh ; Reset the Active-Flag
     186      and     byte ptr [si+LocBRPT_Flags], 7Fh ; Reset the Active-Flag
    156187      add     si, LocBRPT_LenOfEntry     ; 16 Bytes per partition entry
    157    cmp     si, 500+ExecBasePtr
     188   cmp     si, 500+offset PartitionSector
    158189   jb      PSSP_ScanLoop
    159190   ; If we are on first HDD and in primary partition table -> mark primary
    160    cmp     bptr es:[CurPartition_Location+4], 80h ; Drive
     191   cmp     bptr [CurPartition_Location+4], 80h ; Drive
    161192   jne     PSSP_NoMarkPrimary
    162    cmp     wptr es:[CurPartition_Location+0], 0
     193   cmp     wptr [CurPartition_Location+0], 0
    163194   jne     PSSP_NoMarkPrimary
    164    cmp     wptr es:[CurPartition_Location+2], 0 ; Absolute Location
     195   cmp     wptr [CurPartition_Location+2], 0 ; Absolute Location
    165196   jne     PSSP_NoMarkPrimary
    166197   call    PART_MarkFirstGoodPrimary
     
    175206; the old table, otherwise they are generated freshly.
    176207; 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)
     209PARTSCAN_CheckThisPartition     Proc Near  Uses di si
    181210   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]
    189216   mov     PartSystemID, al
    190217
    191    mov     cx, wptr ds:[si+LocBRPT_BeginSector] ; Cylinder/Sector
    192    mov     dh, bptr ds:[si+LocBRPT_BeginHead] ; Head
    193    mov     dl, bptr es:[CurPartition_Location+4] ; Drive
    194    mov     ax, wptr ds:[si+LocBRPT_RelativeBegin] ; Absolute Sector
    195    mov     bx, wptr ds:[si+LocBRPT_RelativeBegin+2]
    196    add     ax, wptr es:[CurPartition_Location+0] ; +Partition-Absolute
    197    adc     bx, wptr es:[CurPartition_Location+2] ;  sectors
     218   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
    198225   call    DriveIO_LoadTmpSector         ; Loads Boot record
    199226   ; Sets up DS:SI - TmpSector
     
    218245   ; SI - Boot-Record of Partition
    219246   ; DI - File System Name
    220    ; DS==CS here
    221247   ;================================
    222248
     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
    223305   test    ah, FileSysFlags_NoName       ; No-Name-Flag ? -> No Partition Name
    224306   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
    236313      test    ah, FileSysFlags_FAT32     ; FAT32 specific name getting ?
    237314      jz      PCCTP_ResumeNormal
    238315      add     si, 1Ch                    ; Fix for FAT 32, shiat
    239316     PCCTP_ResumeNormal:
    240       add     si, 2Bh                    ; DS:SI - Partition-Name
    241317      mov     cx, 11                     ;         11 bytes length
    242318      call    PART_CheckForValidPartName
    243319      jnc     PCCTP_ThereIsNoName
    244 ;      jnc     PCCTP_SetNameToNoName
    245320      sub     si, 4                      ; DS:SI -> Serial&Name (15-Bytes)
    246321      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
    256323
    257324      ;=======================================================
     
    263330      xor     ah, ah                     ; no Flags_NoPartName cause PartName valid
    264331      mov     di, offset PartitionTable  ; ES:DI - IPT-Start
    265       mov     dl, es:CFG_Partitions
     332      mov     dl, CFG_Partitions
    266333      or      dl, dl
    267       jz      PCCTP_NameCompFailed
     334      jnz     PCCTP_SerialNameCompLoop
     335      jmp     PCCTP_CompareFailed
    268336     PCCTP_SerialNameCompLoop:
    269          mov     al, es:[di+LocIPT_Flags]
     337         mov     al, [di+LocIPT_Flags]
    270338         test    al, Flags_NowFound
    271339         jnz     PCCTP_SerialNameAlreadyFound
     
    285353      mov     dl, CFG_Partitions
    286354     PCCTP_NameCompLoop:
    287          mov     al, es:[di+LocIPT_Flags]
     355         mov     al, [di+LocIPT_Flags]
    288356         test    al, Flags_NowFound
    289357         jnz     PCCTP_NameAlreadyFound
     
    296364         pop     di si
    297365         jne     PCCTP_NameNoMatch
    298          mov     cx, ds:[si+0]           ; Get Serial
    299          mov     es:[di+0], cx
    300          mov     cx, ds:[si+2]
    301          mov     es:[di+2], cx           ; ...and put it into IPT
     366         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
    302370         jmp     PCCTP_Match
    303371        PCCTP_NameNoMatch:
     
    307375      jnz     PCCTP_NameCompLoop
    308376     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...
    309417      jmp     PCCTP_CompareFailed
    310418
    311419  PCCTP_ThereIsNoName:
    312       ; First, try to find this partition by comparing location and PartitionID
     420      ; Try to find this partition by comparing location and PartitionID
    313421      ;  aka LocIPT_AbsoluteBegin:dword and LocIPT_SystemID
    314422      ; If found, simply go to the normal match-routine, otherwise use the
    315423      ;  File-System-Name to build the Volume-Label for the New IPT Entry.
    316424      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]
    326431      ; Build a standard-Volume Label from FileSystemNamePtr
    327432      ;  We have to call SearchFileSysName again because of NTFS
     
    330435         call    PART_SearchFileSysName   ; We want SI here <- FileSystemNamePtr
    331436         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"
    335445         mov     si, offset MBR_NoName_Patched
    336446      pop     cx ax
     
    345455      mov     ah, Flags_NoPartName       ;set Flags_NoPartName, PartName invalid
    346456      mov     di, offset PartitionTable  ; ES:DI - IPT-Start
    347       mov     dl, es:CFG_Partitions
     457      mov     dl, CFG_Partitions
    348458      or      dl, dl
    349459      jz      PCCTP_LocCompFailed
    350460     PCCTP_LocCompLoop:
    351          mov     al, es:[di+LocIPT_Flags]
     461         mov     al, [di+LocIPT_Flags]
    352462         test    al, Flags_NowFound
    353463         jnz     PCCTP_LocAlreadyFound
    354464         ; Now compare IPT with current Partition
    355          cmp     dh, es:[di+LocIPT_SystemID]
     465         cmp     dh, [di+LocIPT_SystemID]
    356466         jne     PCCTP_LocMismatch
    357          cmp     cx, es:[di+LocIPT_AbsoluteBegin]
     467         cmp     cx, [di+LocIPT_AbsoluteBegin]
    358468         jne     PCCTP_LocMismatch
    359          cmp     bx, es:[di+LocIPT_AbsoluteBegin+2]
     469         cmp     bx, [di+LocIPT_AbsoluteBegin+2]
    360470         jne     PCCTP_LocMismatch
    361471         jmp     PCCTP_Match
     
    379489   ;  for converting HideConfig.
    380490   mov     dh, dl
    381    mov     dl, es:CFG_Partitions
     491   mov     dl, CFG_Partitions
    382492   sub     dl, dh
    383493   mov     dh, NewPartitions             ; is actually a counter
     
    385495
    386496   ; Get Saved-Flags...
    387    mov     cl, byte ptr es:[di+LocIPT_Flags]     ; Use saved Flags
     497   mov     cl, bptr [di+LocIPT_Flags]    ; Use saved Flags
    388498
    389499   ; ...and Saved-CRC if available...
    390    mov     ax, wptr es:[di+LocIPT_BootRecordCRC]
     500   mov     ax, wptr [di+LocIPT_BootRecordCRC]
    391501   or      ax, ax
    392502   jz      PCCTP_UseNewComputedCRC
     
    394504  PCCTP_UseNewComputedCRC:
    395505   ; ...and mark partition in IPT as already found
    396    or      byte ptr es:[di+LocIPT_Flags], Flags_NowFound
     506   or      bptr [di+LocIPT_Flags], Flags_NowFound
    397507   ; ...get Serial&Name from IPT-table...
    398508   mov     si, di
     
    412522   mov     al, PartTypeFlags
    413523   ; May I auto-add partitions ?
    414    test    es:CFG_PartitionsDetect, 1
     524   test    CFG_PartitionsDetect, 1
    415525   jz      PCCTP_MayNotAddAny ; add, but non-bootable
    416526   test    al, FileSysFlags_BootAble     ; AH kam von SearchFileSysName
     
    447557   ; Calculate Pointer to IPT
    448558   mov     di, offset NewPartTable       ; ES:DI - NewPartTable
    449    movzx   ax, es:NewPartitions
     559   movzx   ax, NewPartitions
    450560   mov     bl, LocIPT_LenOfIPT
    451561   mul     bl
     
    459569   pop     cx
    460570
    461    lds     si, dptr PartPtr              ; DS:SI - Cur Partition Entry
    462    mov     al, bptr es:[CurPartition_Location+4] ; Drive
     571   mov     si, [PartPtr]                 ; DS:SI - Cur Partition Entry
     572   mov     al, bptr [CurPartition_Location+4] ; Drive
    463573   stosb
    464574   mov     al, PartSystemID              ; Unhidden SystemID
     
    468578   mov     ax, PartCRC                   ; BootRecordCRC...
    469579   stosw
    470    mov     al, bptr ds:[si+LocBRPT_BeginHead]
     580   mov     al, bptr [si+LocBRPT_BeginHead]
    471581   stosb
    472    mov     ax, wptr ds:[si+LocBRPT_BeginSector] ; Cylinder/Sector
     582   mov     ax, wptr [si+LocBRPT_BeginSector] ; Cylinder/Sector
    473583   stosw
    474    mov     al, bptr es:[CurPartition_Location+5] ; Head of Part-Table
     584   mov     al, bptr [CurPartition_Location+5] ; Head of Part-Table
    475585   stosb
    476    mov     ax, wptr es:[CurPartition_Location+6] ; Cylinder/Sector
     586   mov     ax, wptr [CurPartition_Location+6] ; Cylinder/Sector
    477587   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-Absolute
    481    mov     dx, wptr es:[CurPartition_Location+2] ;  sectors
     588   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
    482592   add     ax, cx
    483593   adc     bx, dx
     
    489599   mov     ax, dx
    490600   stosw
    491    inc     es:NewPartitions              ; NEW IPT Entry DONE
    492 
    493    cmp     es:NewPartitions, LocIPT_MaxPartitions
     601   inc     NewPartitions                 ; NEW IPT Entry DONE
     602
     603   cmp     NewPartitions, LocIPT_MaxPartitions
    494604   jbe     PCCTP_NotTooManyPartitions
    495    mov     ax, cs
    496    mov     ds, ax
    497605   mov     si, offset TXT_TooManyPartitions
    498606   call    MBR_Teletype
     
    502610   ; UNHIDE PARTITION, if it was hidden previously
    503611   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
    512623   dec     ax
    513624   mov     bx, ax
     
    517628   mov     di, offset PartitionSizeTable
    518629   add     di, ax                        ; DI - Partition Size-Element
    519    mov     ax, wptr ds:[si+LocBRPT_AbsoluteLength] ; Sector-Size
    520    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]
    521632   call    PART_FillOutSizeElement
    522633   ret
    523634PARTSCAN_CheckThisPartition     EndP
    524 
    525 ; Scans Current Partition for Extended Partitions, if found, AX,BX,CX,DX will
    526 ; be set to this location and Carry will be set
    527 PARTSCAN_ScanPartitionForExtended Proc Near  Uses ds si
    528    mov     ax, ExecBaseSeg
    529    mov     ds, ax
    530    mov     si, ExecBasePtr
    531    add     si, 446                       ; DS:SI - First Partition Entry
    532    xor     ax, ax
    533   PSSPFE_ScanLoop:
    534       mov     al, ds:[si+LocBRPT_SystemID]
    535       cmp     al, 5                      ; Is Partition EXTENDED ?
    536       je      PSSPFE_ExtendedPartition
    537       cmp     al, 0Fh                    ; Is Partition EXTENDED (M$) ?
    538       je      PSSPFE_ExtendedPartition
    539       jmp     PSSPFE_IgnorePartition
    540      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], 1
    546       jnz     PSSPFE_ExtendedMainKnown
    547       mov     wptr es:[ExtendedAbsPos+0], ax
    548       mov     wptr es:[ExtendedAbsPos+2], bx
    549       mov     cs:[ExtendedAbsPosSet], 1
    550      PSSPFE_ExtendedMainKnown:
    551       mov     cx, wptr ds:[si+LocBRPT_BeginSector] ; Cylinder/Sector
    552       mov     dh, bptr ds:[si+LocBRPT_BeginHead]   ; Head
    553       mov     dl, bptr es:[CurPartition_Location+4] ; Drive
    554       stc
    555       jmp     PSSPFE_EndOfSearch
    556      PSSPFE_IgnorePartition:
    557       add     si, LocBRPT_LenOfEntry
    558    cmp     si, 500+ExecBasePtr
    559    jb      PSSPFE_ScanLoop
    560    clc
    561   PSSPFE_EndOfSearch:
    562    ret
    563 PARTSCAN_ScanPartitionForExtended EndP
    564635
    565636; ===================
     
    567638; ===================
    568639
    569 ; The following routines have DS==CS again
    570 
    571640; Reset X-Reference
    572 PARTSCAN_ResetXref              Proc Near   Uses ax cx es di
    573    push    cs
    574    pop     es
     641PARTSCAN_ResetXref              Proc Near   Uses ax cx di
    575642   mov     di, offset PartitionXref      ; X-Reference for later syncing
    576643   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 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.
    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
     6the terms of the GNU General Public License as published by the Free
     7Software Foundation, either version 3 of the License, or (at your option)
     8any later version.
     9;
     10; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY
     11WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS
     12FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
     13details.
     14;
     15; You should have received a copy of the GNU General Public License along with
     16AiR-BOOT. If not, see <http://www.gnu.org/licenses/>.
     17;
    1818;---------------------------------------------------------------------------
    1919;                                                       AiR-BOOT / PASSWORD
     
    2222; Don't ask me, what I'm doing in here to encode the passwords. I don't even
    2323;  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 ;-)
    2525
    2626PASSWORD_AskSystemPwd           Proc Near   Uses ax bx si di
     
    4949   ret
    5050PASSWORD_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
    5160
    5261;        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 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.
    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
     6the terms of the GNU General Public License as published by the Free
     7Software Foundation, either version 3 of the License, or (at your option)
     8any later version.
     9;
     10; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY
     11WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS
     12FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
     13details.
     14;
     15; You should have received a copy of the GNU General Public License along with
     16AiR-BOOT. If not, see <http://www.gnu.org/licenses/>.
     17;
    1818;---------------------------------------------------------------------------
    1919;                                                           AiR-BOOT / TEXT
    2020;---------------------------------------------------------------------------
    2121
    22 ; If you modify this Copyright and release this shiat under your own name,
     22; If you modify this Copyright and release this under your own name,
    2323;  I'm going to sue your cheap ass, rape your dog and blow up your house. =)
    2424
    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
     25CopyrightVersionLen   equ   5
     26Copyright             db ' AiR-BOOT v1.06 - (c) 1998-2009 M. Kiewitz, Dedicated to Gerd Kiewitz', 0
     27BootEndMsg            db 'Free usage allowed, as long as you dont or have not worked for US government', 0
     28BootEndMsg2           db 'This is GPLv3+ software. Please visit http://AiR-BOOT.sourceforge.net', 0
    3229
    33 CheckID_MBR                  db 'AiRBOOT'
     30CheckID_MBR           db 'AiRBOOT'
     31BrokenHDD             db ' (HDDx)', 0
    3432
    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.
     34TXT_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
     40ContinueBIOSbootTable 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 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.
    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
     6the terms of the GNU General Public License as published by the Free
     7Software Foundation, either version 3 of the License, or (at your option)
     8any later version.
     9;
     10; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY
     11WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS
     12FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
     13details.
     14;
     15; You should have received a copy of the GNU General Public License along with
     16AiR-BOOT. If not, see <http://www.gnu.org/licenses/>.
     17;
    1818;---------------------------------------------------------------------------
    1919;                                                          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 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.
    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
     6the terms of the GNU General Public License as published by the Free
     7Software Foundation, either version 3 of the License, or (at your option)
     8any later version.
     9;
     10; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY
     11WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS
     12FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
     13details.
     14;
     15; You should have received a copy of the GNU General Public License along with
     16AiR-BOOT. If not, see <http://www.gnu.org/licenses/>.
     17;
    1818;---------------------------------------------------------------------------
    1919;                                                      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 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.
    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
     6the terms of the GNU General Public License as published by the Free
     7Software Foundation, either version 3 of the License, or (at your option)
     8any later version.
     9;
     10; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY
     11WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS
     12FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
     13details.
     14;
     15; You should have received a copy of the GNU General Public License along with
     16AiR-BOOT. If not, see <http://www.gnu.org/licenses/>.
     17;
    1818;---------------------------------------------------------------------------
    1919;                         AiR-BOOT SETUP / GENERIC & GENERAL SETUP ROUTINES
     
    487487   call    VideoIO_LocateToCenter        ; LocateToCenter 3, 40 using TotalLen
    488488   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
    568539   ret
    569540SETUP_DrawMenuBase              EndP
     
    672643SETUP_EnterMenu_ExtendedOptions EndP
    673644
    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
    685657
    686658SETUP_EnterMenu_DefineMasterPassword Proc Near Uses
     
    698670; ============================================================================
    699671
    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
    759732
    760733;        In: di - Place for Password to be defined
     
    12081181SETUPMAGIC_ChangeBootDelay      EndP
    12091182
    1210 ; Used by : Default Partition
    1211 ; Value   : Partition Number (Base=0, None=FFh)
     1183; Used by : Default Selection
     1184; Value   : Partition Number (Base=0, None=80h, ContinueBIOS=FEh, Floppy=FFh)
    12121185; Method  : Changes to another bootable partition
    1213 ; Logic   : if no bootable partitions are found -> will set FFh
    1214 ;           if already set to FFh -> will search through all partitions
    1215 SETUPMAGIC_ChangePartition      Proc Near   Uses ax cx dx si es di
     1186; Logic   : if no bootable selections are found -> will set 80h
     1187;           if already set to 80h -> will search through all selections
     1188SETUPMAGIC_ChangeDefaultSelection Proc Near   Uses ax cx dx si es di
    12161189   mov     di, si
    1217    mov     dl, ds:[bx]                   ; Cur Partition No.
     1190   mov     dl, ds:[bx]                   ; Cur Selection No.
    12181191   push    bx
    12191192      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
    12251199         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:
    12261211         mov     dh, bl
    12271212         inc     bl
    12281213         dec     dh
     1214         or      cl, cl                        ; CL==0?    -> Decrease
     1215         jz      SMCP_SubstractSelection       ; otherwise -> Increase
    12291216      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:
    12341235      dec     bl
    12351236      jz      SMCP_NoBootable
     
    12381239      mov     ax, ds:[si+LocIPT_Flags]
    12391240      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:
    12411275   pop     bx
    12421276   mov     ds:[bx], dl                   ; neue Partition setzen
     
    12531287     SMCP_NoBootable:
    12541288   pop     bx
    1255    mov     dl, 0FFh                      ; "No Bootable"
     1289   mov     dl, 080h                      ; "No Bootable"
    12561290   mov     ds:[bx], dl                   ; set that one
    12571291   mov     si, offset TXT_SETUP_MAGIC_NoBootable
     
    12611295   call    SETUPMAGIC_InternalCopyTillNUL
    12621296   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 
     1297SETUPMAGIC_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]
    13481385; CH-ItemNo, CL-Add/Sub, BX-PtrToVariable, SI-ItemPack
    1349 SETUPMAGIC_ChangeLinuxDefaultKernel Proc Near   Uses ax cx dx si es di
    1350    mov     di, si
    1351    jc      SMCLDK_DoNotEdit
    1352 
    1353    ; --- Edit Linux Default Kernel Name ---
    1354    mov     cl, 29                        ; Left side: 29
    1355    test    ch, 1000b
    1356    jz      SMCLDK_NoRightSide
    1357    and     ch, 111b
    1358    mov     cl, 68                        ; Right side: 68
    1359   SMCLDK_NoRightSide:
    1360    add     ch, 6                         ; Koordinate umberechnen
    1361    push    cx
    1362       call    VideoIO_Locate
    1363       mov     cx, 0E01h
    1364       call    VideoIO_Color              ; Yellow on Blue
    1365       mov     cl, 12
    1366       mov     si, offset CFG_LinuxDefaultKernel
    1367       call    VideoIO_FixedPrint         ; Print out [SI] (Length = CL)
    1368    pop     cx
    1369    call    VideoIO_Locate
    1370    mov     cl, 11
    1371    mov     si, offset CFG_LinuxDefaultKernel
    1372    call    VideoIO_LetUserEditString
    1373 
    1374    ; Final-Process string (which means upper-case it)
    1375    mov     cl, 11
    1376   SMCLDK_FinalProcessLoop:
    1377       mov     al, bptr ds:[si]
    1378       cmp     al, 'a'
    1379       jb      SMCLDK_FinalProcessSkip
    1380       cmp     al, 'z'
    1381       ja      SMCLDK_FinalProcessSkip
    1382       sub     al, 20h
    1383      SMCLDK_FinalProcessSkip:
    1384       mov     bptr ds:[si], al
    1385       inc     si
    1386    dec     cl
    1387    jnz     SMCLDK_FinalProcessLoop
    1388    ; --- End of Edit Linux Default Kernel Name ---
    1389 
    1390   SMCLDK_DoNotEdit:
    1391    push    cs
    1392    pop     es
    1393    add     di, LocMENU_ItemPack          ; DI points to ItemPack...
    1394    mov     si, offset CFG_LinuxDefaultKernel
    1395    mov     cx, 6                         ; Copy from CFG-Space to ItemPack
    1396    rep     movsw
    1397    ret
    1398 SETUPMAGIC_ChangeLinuxDefaultKernel EndP
     1386;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
    13991436
    14001437SETUPMAGIC_ChangeTimedKeyHandling Proc Near   Uses ax cx dx ds si es di
     
    14521489SETUPMAGIC_ChangeBootMenu       EndP
    14531490
     1491SETUPMAGIC_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
     1505SETUPMAGIC_ChangeFloppyDisplay  EndP
     1506
    14541507SETUPMAGIC_ChangeBIOSbootSeq    Proc Near   Uses ax bx cx dx si di
    14551508   mov     di, si
     
    14641517   jnz     SMCBBS_Enabled
    14651518   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
    14661522   jmp     SMCBBS_CopyThiz
    14671523  SMCBBS_Enabled:
     
    14751531   pop     es
    14761532   call    SETUPMAGIC_InternalCopyTillNUL
     1533   ; Copy device-name to the ContBIOSbootSeq-IPT entry
     1534   call    PART_UpdateResumeBIOSName
    14771535   ret
    14781536SETUPMAGIC_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 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.
    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
     6the terms of the GNU General Public License as published by the Free
     7Software Foundation, either version 3 of the License, or (at your option)
     8any later version.
     9;
     10; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY
     11WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS
     12FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
     13details.
     14;
     15; You should have received a copy of the GNU General Public License along with
     16AiR-BOOT. If not, see <http://www.gnu.org/licenses/>.
     17;
    1818;---------------------------------------------------------------------------
    1919;                                           AiR-BOOT SETUP / MENU STRUCTURE
     
    101101                dw      offset TXT_SETUPHELP_SUBMENU ; Pointer to help info
    102102                ; 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.
    106108                dw      offset SETUPMAGIC_EnableDisable, offset CFG_TimedBoot
    107109                dw      offset TXT_SETUP_TimedBoot, offset TXT_SETUPHELP_TimedBoot
     
    123125                dw      6 dup (0)
    124126                ; The Menu-Items of the right side start here...
    125                 dw      offset SETUPMAGIC_EnableDisable, offset CFG_IncludeFloppy
     127                dw      offset SETUPMAGIC_ChangeFloppyDisplay, offset CFG_IncludeFloppy
    126128                dw      offset TXT_SETUP_IncludeFloppy, offset TXT_SETUPHELP_IncludeFloppy
    127129                dw      6 dup (0)
     
    194196                dw      offset TXT_SETUPHELP_SUBMENU ; Pointer to help information
    195197                ; 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_LinuxDefaultKrnl
    201                 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, 0
    207                 dw      0, 0
    208                 dw      0, 0
     198; [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)
    209211                dw      offset SETUPMAGIC_EnableDisable, offset CFG_ForceLBAUsage
    210212                dw      offset TXT_SETUP_ForceLBAUsage, offset TXT_SETUPHELP_ForceLBAUsage
     
    213215                dw      offset TXT_SETUP_ExtPartMShack, offset TXT_SETUPHELP_ExtPartMShack
    214216                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 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.
    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
     6the terms of the GNU General Public License as published by the Free
     7Software Foundation, either version 3 of the License, or (at your option)
     8any later version.
     9;
     10; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY
     11WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS
     12FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
     13details.
     14;
     15; You should have received a copy of the GNU General Public License along with
     16AiR-BOOT. If not, see <http://www.gnu.org/licenses/>.
     17;
    1818;---------------------------------------------------------------------------
    1919;                                          AiR-BOOT SETUP / PARTITION SETUP
     
    107107  PSM_KeyBootAble:
    108108   call    PART_GetPartitionPointer      ; Gets Partition (DL) Pointer -> SI
    109    mov     al, cs:[si+LocIPT_Flags]
     109   mov     al, [si+LocIPT_Flags]
    110110   xor     al, Flags_BootAble
    111    mov     cs:[si+LocIPT_Flags], al
     111   mov     [si+LocIPT_Flags], al
    112112   call    PARTSETUP_DrawPartitionInfo
    113113   call    PARTSETUP_BuildChoiceBar
     
    116116  PSM_KeyVIBRdetection:
    117117   call    PART_GetPartitionPointer      ; Gets Partition (DL) Pointer -> SI
    118    mov     al, cs:[si+LocIPT_Flags]
     118   mov     al, [si+LocIPT_Flags]
    119119   xor     al, Flags_VIBR_Detection
    120    mov     cs:[si+LocIPT_Flags], al
     120   mov     [si+LocIPT_Flags], al
    121121   xor     ax, ax
    122    mov     wptr cs:[si+LocIPT_BootRecordCRC], ax
     122   mov     wptr [si+LocIPT_BootRecordCRC], ax
    123123   call    PARTSETUP_DrawPartitionInfo
    124124   call    PARTSETUP_BuildChoiceBar
     
    143143  PSM_KeyDriveLetterExtMShack:
    144144   call    PART_GetPartitionPointer      ; Gets Partition (DL) Pointer -> SI
    145    mov     al, cs:[si+LocIPT_Flags]
     145   mov     al, [si+LocIPT_Flags]
    146146   xor     al, Flags_ExtPartMShack
    147    mov     cs:[si+LocIPT_Flags], al
     147   mov     [si+LocIPT_Flags], al
    148148   call    PARTSETUP_DrawPartitionInfo
    149149   call    PARTSETUP_BuildChoiceBar
     
    343343   mov     al, '/'
    344344   call    VideoIO_PrintSingleChar
    345    mov     al, cs:[si+LocIPT_Drive]
     345   mov     al, [si+LocIPT_Drive]
    346346   sub     al, 7Fh
    347347   call    VideoIO_PrintByteNumber
     
    363363   call    VideoIO_Locate
    364364   ; 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]
    366366   mov     bh, bl
    367367   mov     al, TXT_SETUP_FlagLetterBootable
     
    392392      call    VideoIO_Color              ; Bright Red, Blue
    393393   pop     cx
    394    mov     al, cs:[si+LocIPT_SystemID]
     394   mov     al, [si+LocIPT_SystemID]
    395395   call    PART_SearchFileSysName
    396396   mov     cl, 8
     
    532532; This is called from MBRS_Routines_PartitionSetup
    533533;        In: DL - Partition to ChangeName
    534 ; Destroyed: ax
    535 PARTSETUP_ChangePartitionName   Proc Near   Uses dx ds si es di
     534; Destroyed: ax bx cx
     535PARTSETUP_ChangePartitionName   Proc Near   Uses dx ds si di
     536   push    ds
     537   pop     es                            ; we need DS==ES in here for MOVSB etc.
    536538   call    PART_GetPartitionPointer      ; Gets the PartitionPointer for DL in SI
    537539
     
    551553   call    VideoIO_Locate                ; Goes to CX
    552554
    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]---
    558595   ; 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
    571606   push    si
    572       mov     al, cs:[si+LocIPT_SystemID]
     607      mov     al, [si+LocIPT_SystemID]
    573608      call    PART_SearchFileSysName
    574609      ; Replies AH - FileSysFlags, AL - UnhiddenID, SI - FileSysNamePtr
    575610   pop     si
     611   test    ah, FileSysFlags_NoName       ; If NoName by FileSysFlag
     612   jnz     PSCPN_LetUserEditPartName     ;  -> don't put it into BR at anytime
    576613   test    ah, FileSysFlags_FAT32        ; FAT32 specific name getting
    577614   jz      PSCPN_ResumeNormal
     
    579616  PSCPN_ResumeNormal:
    580617   add     di, 2Bh                       ; ES:DI - Name der Partition
     618
     619   ; This code is used for BR and LVM checking
     620  PSCPN_CheckPartName:
    581621   mov     cx, 11                        ; Partition-Name-Length = 11 Bytes
    582    xor     dx, dx                        ; Remove "Magic" from DX...
    583622   push    si di
    584623      add     si, LocIPT_Name            ; DS:SI -> Partition-Name
    585624      repz    cmpsb
    586625   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...
    591631   mov     cx, 11
    592632   add     si, LocIPT_Name               ; DS:SI -> Partition-Name
    593633   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
    600663   mov     cx, 11
    601664   push    si
     
    610673   call    PART_UpdateBootRecordCRC
    611674
    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
    613681   ret
    614682PARTSETUP_ChangePartitionName   EndP
    615683
    616 
    617 
    618 
    619684; =============================================================================
    620 
    621685; This is called from MBRS_Routines_PartitionSetup
    622686;        In: DL - Partition to HiddenSetup
     
    695759  PHSM_KeyToogle:
    696760   call    PART_GetPartitionPointer      ; Holt den Pointer der Partition (DL) nach SI
    697    mov     al, cs:[si+LocIPT_Flags]
     761   mov     al, [si+LocIPT_Flags]
    698762   xor     al, Flags_SpecialMarker
    699    mov     cs:[si+LocIPT_Flags], al
     763   mov     [si+LocIPT_Flags], al
    700764   call    PARTHIDESETUP_DrawPartitionInfo
    701765   call    PARTHIDESETUP_BuildChoiceBar
     
    871935      ; Display "Type" field aka "HPFS" without ending NULs/Spaces
    872936      push    si
    873          mov     al, cs:[si+LocIPT_SystemID]
     937         mov     al, [si+LocIPT_SystemID]
    874938         call    PART_SearchFileSysName
    875939         mov     cx, 8
     
    890954      call    VideoIO_PrintSingleMultiChar ; Fill up area with spaces
    891955      ; Finally draw Hidden/Unhidden
    892       mov     bl, cs:[si+LocIPT_Flags]
     956      mov     bl, [si+LocIPT_Flags]
    893957      mov     si, offset TXT_SETUP_MAGIC_Unhidden
    894958      and     bl, Flags_SpecialMarker
     
    9961060   ;  if it's not set, don't do anything...
    9971061   call    PART_GetPartitionPointer      ; Holt den Pointer der Partition (DL) nach SI
    998    mov     al, cs:[si+LocIPT_Flags]
     1062   mov     al, [si+LocIPT_Flags]
    9991063   test    al, Flags_HideFeature
    10001064   jz      PHSGHCAS_EndOfEntries
     
    10091073   mov     cl, CFG_Partitions
    10101074  PHSGHCAS_SpreadLoop:
    1011       mov     dl, cs:[di]
     1075      mov     dl, [di]
    10121076      inc     di
    10131077      cmp     dl, 0FFh
    10141078      je      PHSGHCAS_EndOfEntries
    10151079      call    PART_GetPartitionPointer   ; Pointer for partition DL to SI
    1016       mov     al, cs:[si+LocIPT_Flags]
     1080      mov     al, [si+LocIPT_Flags]
    10171081      or      al, Flags_SpecialMarker    ; Set marker
    1018       mov     cs:[si+LocIPT_Flags], al
     1082      mov     [si+LocIPT_Flags], al
    10191083   dec     cl
    10201084   jnz     PHSGHCAS_SpreadLoop
     
    10451109      mov     cl, CFG_Partitions
    10461110     PHSCHCAPTT_CollectLoop:
    1047          mov     bl, cs:[si+LocIPT_Flags]
     1111         mov     bl, [si+LocIPT_Flags]
    10481112         test    bl, Flags_SpecialMarker
    10491113         jz      PHSCHCAPTT_NoMarker
     
    10511115         inc     di
    10521116         xor     bl, Flags_SpecialMarker ; Reset Flag
    1053          mov     cs:[si+LocIPT_Flags], bl
     1117         mov     [si+LocIPT_Flags], bl
    10541118        PHSCHCAPTT_NoMarker:
    10551119         add     si, LocIPT_LenOfIPT
     
    10631127   ; Nothing to hide...so UNSET the Hidden-Feature Flag
    10641128   call    PART_GetPartitionPointer      ; Holt den Pointer der Partition (DL) nach SI
    1065    mov     al, cs:[si+LocIPT_Flags]
     1129   mov     al, [si+LocIPT_Flags]
    10661130   mov     ah, Flags_HideFeature
    10671131   not     ah
    10681132   and     al, ah
    1069    mov     cs:[si+LocIPT_Flags], al
     1133   mov     [si+LocIPT_Flags], al
    10701134   ret
    10711135
     
    10821146   ; Something to hide...so SET the Hidden-Feature Flag
    10831147   call    PART_GetPartitionPointer      ; Holt den Pointer der Partition (DL) nach SI
    1084    mov     al, cs:[si+LocIPT_Flags]
     1148   mov     al, [si+LocIPT_Flags]
    10851149   or      al, Flags_HideFeature
    1086    mov     cs:[si+LocIPT_Flags], al
     1150   mov     [si+LocIPT_Flags], al
    10871151   ret
    10881152PARTHIDESETUP_CollectHideConfigAndPutToTable EndP
     
    10951159PARTSETUP_DriveLetterSetup      Proc Near  Uses dx si es di
    10961160   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
    11011168
    11021169   ; 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 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.
    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
     6the terms of the GNU General Public License as published by the Free
     7Software Foundation, either version 3 of the License, or (at your option)
     8any later version.
     9;
     10; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY
     11WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS
     12FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
     13details.
     14;
     15; You should have received a copy of the GNU General Public License along with
     16AiR-BOOT. If not, see <http://www.gnu.org/licenses/>.
     17;
    1818;---------------------------------------------------------------------------
    1919;                                                    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 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.
    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
     6the terms of the GNU General Public License as published by the Free
     7Software Foundation, either version 3 of the License, or (at your option)
     8any later version.
     9;
     10; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY
     11WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS
     12FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
     13details.
     14;
     15; You should have received a copy of the GNU General Public License along with
     16AiR-BOOT. If not, see <http://www.gnu.org/licenses/>.
     17;
    1818;---------------------------------------------------------------------------
    1919;                                                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 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.
    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
     6the terms of the GNU General Public License as published by the Free
     7Software Foundation, either version 3 of the License, or (at your option)
     8any later version.
     9;
     10; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY
     11WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS
     12FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
     13details.
     14;
     15; You should have received a copy of the GNU General Public License along with
     16AiR-BOOT. If not, see <http://www.gnu.org/licenses/>.
     17;
    1818;---------------------------------------------------------------------------
    1919;                                AiR-BOOT / EXTENDED PARTITION - M$ HACK-IN
    2020;---------------------------------------------------------------------------
    2121
    22 ; At least is AiR-BOOT compatible to the pseudo standard that's is used by an
    23 OS on a 32-bit processor, being actually a 16-bit extension that is
    24 outperformed by any 8-bit software running on a 4-bit microprocessor,
    25 written by a 2-bit company 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
     2332-bit processor, being actually a 16-bit extension that is outperformed
     24by any 8-bit software running on a 4-bit microprocessor, written by a 2-bit
     25company that can't stand 1-bit of competition.
    2626
    2727; Here is code to change Extended Partition to Type 05h or 0Fh depending
    2828;  on the partition's P-flag including the overall M$hack-Enable Flag.
    29 MSHACK_ProcessPartTables        Proc Near  Uses ax dx es di
     29MSHACK_ProcessPartTables        Proc Near  Uses ax dx di
    3030   ; Check Overall M$-Hack Enable
    3131   test    [CFG_ExtPartitionMShack], 1
     
    3434   ; Now check Boot-Entry's flags...
    3535   mov     ax, 050Fh
    36    test    bptr ds:[si+LocIPT_Flags], Flags_ExtPartMShack
     36   test    bptr [si+LocIPT_Flags], Flags_ExtPartMShack
    3737   jz      MSHPPT_ChangeToStandard
    3838   mov     ax, 0F05h
     
    4545   or      dh, dh
    4646   jz      MSHPPT_NoMShack
    47    push    ExecBaseSeg
    48    pop     es
    4947  MSHPPT_HarddriveLoop:
    5048      push    ax bx cx dx
     
    5856
    5957      ; Search for ID in AL and exchange with ID in AH
    60       mov     di, ExecBasePtr+446        ; ES:DI - First Partition Entry
     58      mov     di, offset PartitionSector+446 ; ES:DI - 1st partition entry
    6159     MSHPPT_ScanLoop:
    6260         cmp     al, bptr es:[di+4]
    6361         je      MSHPPT_GotHit
    6462         add     di, LocBRPT_LenOfEntry  ; 16 Bytes per Partition-Entry
    65       cmp     di, 500+ExecBasePtr
     63      cmp     di, 500+offset PartitionSector
    6664      jb      MSHPPT_ScanLoop
    6765      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 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.
    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
     6the terms of the GNU General Public License as published by the Free
     7Software Foundation, either version 3 of the License, or (at your option)
     8any later version.
     9;
     10; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY
     11WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS
     12FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
     13details.
     14;
     15; You should have received a copy of the GNU General Public License along with
     16AiR-BOOT. If not, see <http://www.gnu.org/licenses/>.
     17;
    1818;---------------------------------------------------------------------------
    1919;                                                 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 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.
    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
     6the terms of the GNU General Public License as published by the Free
     7Software Foundation, either version 3 of the License, or (at your option)
     8any later version.
     9;
     10; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY
     11WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS
     12FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
     13details.
     14;
     15; You should have received a copy of the GNU General Public License along with
     16AiR-BOOT. If not, see <http://www.gnu.org/licenses/>.
     17;
    1818;---------------------------------------------------------------------------
    1919;                                                            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 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.
    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
     6the terms of the GNU General Public License as published by the Free
     7Software Foundation, either version 3 of the License, or (at your option)
     8any later version.
     9;
     10; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY
     11WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS
     12FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
     13details.
     14;
     15; You should have received a copy of the GNU General Public License along with
     16AiR-BOOT. If not, see <http://www.gnu.org/licenses/>.
     17;
    1818;---------------------------------------------------------------------------
    1919;                                                     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 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.
    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
     6the terms of the GNU General Public License as published by the Free
     7Software Foundation, either version 3 of the License, or (at your option)
     8any later version.
     9;
     10; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY
     11WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS
     12FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
     13details.
     14;
     15; You should have received a copy of the GNU General Public License along with
     16AiR-BOOT. If not, see <http://www.gnu.org/licenses/>.
     17;
    1818;---------------------------------------------------------------------------
    1919;                                                  AiR-BOOT / LINUX SUPPORT
     
    2828;       without them.
    2929;
    30 ; And another note: *Fuck* Linux usenet-users. Really. I mean *fuck them*.
     30; And another note: *F**k* Linux usenet-users. Really. I mean *f**k them*.
    3131;  I asked in an OS/2 newsgroup for testers -> Got 8 volunteers within some
    3232;  days. I asked in 2 Linux newsgroups. What did happen? Some idiots discussed
    33 ;  the whole shiat 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,
    3434;  boot-managers in general, assembly coding and other stuff and wanted to tell
    3535;  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 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.
    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
     6the terms of the GNU General Public License as published by the Free
     7Software Foundation, either version 3 of the License, or (at your option)
     8any later version.
     9;
     10; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY
     11WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS
     12FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
     13details.
     14;
     15; You should have received a copy of the GNU General Public License along with
     16AiR-BOOT. If not, see <http://www.gnu.org/licenses/>.
     17;
    1818;---------------------------------------------------------------------------
    1919;                                                  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 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.
    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
     6the terms of the GNU General Public License as published by the Free
     7Software Foundation, either version 3 of the License, or (at your option)
     8any later version.
     9;
     10; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY
     11WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS
     12FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
     13details.
     14;
     15; You should have received a copy of the GNU General Public License along with
     16AiR-BOOT. If not, see <http://www.gnu.org/licenses/>.
     17;
    1818;---------------------------------------------------------------------------
    1919;                                                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 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.
    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
     6the terms of the GNU General Public License as published by the Free
     7Software Foundation, either version 3 of the License, or (at your option)
     8any later version.
     9;
     10; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY
     11WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS
     12FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
     13details.
     14;
     15; You should have received a copy of the GNU General Public License along with
     16AiR-BOOT. If not, see <http://www.gnu.org/licenses/>.
     17;
    1818;---------------------------------------------------------------------------
    1919;                                               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;
    118;------------------------------------------------------------------------------
    219;                                                          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;
    118;---------------------------------------------------------------------------
    219;                                          AiR-BOOT SETUP / ALL SETUP MENUS
     
    2845; Basic Options - Items - Max Length: 23
    2946;----------------------------------|---------------------|------------------
    30 TXT_SETUP_DefaultPart          db 'Standard Partition', 0
     47TXT_SETUP_DefaultSelection     db 'Standard Selektion', 0
    3148TXT_SETUP_TimedBoot            db 'Zeitgesteuerter Boot', 0
    3249TXT_SETUP_TimedBootDelay       db '-> Anzahl Sekunden', 0
     
    5875; Extended Options - Items - Max Length: 23
    5976;----------------------------------|---------------------|------------------
    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
     83TXT_SETUP_IgnoreLVM            db 'Ignoriere LVM Daten', 0
    6384TXT_SETUP_ForceLBAUsage        db 'Erzwinge BIOS-LBA', 0
    6485TXT_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', 0
    6786
    6887; DYNAMIC LENGTH, maximum 11 chars excluding ending zero
     
    7291TXT_SETUP_MAGIC_Detailed       db 'Detailiert', 0
    7392TXT_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
    7595TXT_SETUP_MAGIC_DoNothing      db 'Nichts', 0
    7696TXT_SETUP_MAGIC_ResetTime      db 'Zeit Reset', 0
     
    158178; Basic Options - Help
    159179;----------------------------------|--------------------|-------------------
    160 TXT_SETUPHELP_DefaultPart      db 'Žndert die Default', 0
    161                                db 'Partition. Wird u.a.', 0
     180TXT_SETUPHELP_DefaultSelection db 'Žndert die Standard', 0
     181                               db 'Selektion. Wird u.a.', 0
    162182                               db 'beim zeitgesteuerten', 0
    163183                               db 'Boot verwendet.', 0
     
    260280; Extended Options - Help
    261281;----------------------------------|--------------------|-------------------
    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;----------------------------------|--------------------|-------------------
     297TXT_SETUPHELP_IgnoreLVM        db 'AiR-BOOT sucht in', 0
     298                               db 'diesem Fall nicht nach', 0
     299                               db 'LVM Informationen.', 0
     300                               db 0
    273301TXT_SETUPHELP_ForceLBAUsage    db 'Erzwingt Bentzung der', 0
    274302                               db 'BIOS LBA APIs anstatt', 0
     
    281309                               db 'das P-Flag in Standard', 0
    282310                               db 'oder MS-Erfindung.', 0
    283                                db 0
    284 TXT_SETUPHELP_DefLinuxCmd:     db 'Definiert die Linux', 0
    285                                db 'Kommandozeile.', 0
    286311                               db 0
    287312
     
    312337; Maximum 60 chars (should not be reached)
    313338;----------------------------------|----------------------------------------------------------|
    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
     342TXT_SETUP_NoLDLpartition       db 'Diese Partition ist weder vom Typ HPFS/FAT16/JFS', 0
    317343
    318344; Maximum 34 chars (should not be reached)
     
    330356TXT_SETUPHELP_DriveLetter      db 'C-Z drcken', 0
    331357
    332 IFNDEF ReleaseCommercial
    333    ; Colors for special words hard-coded. Keep all 0s.
    334    TXT_SETUP_LowerMessage      db 'Dieses Programm ist ',0,'kostenlos',0,' fr nicht-kommerzielle Bentzung.',0
    335                                db 'Sie drfen AiR-BOOT ',0,'NICHT',0,' in ',0,'-IRGENDEINER-',0,' Form vertreiben/bentzen,',0
    336                                db 'falls Sie Geld fr 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,' m”chten, 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,' fr nicht-kommerzielle Bentzung.',0
     360;                               db 'Sie drfen AiR-BOOT ',0,'NICHT',0,' in ',0,'-IRGENDEINER-',0,' Form vertreiben/bentzen,',0
     361;                               db 'falls Sie Geld fr 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,' m”chten, 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;
    118;------------------------------------------------------------------------------
    219;                                                        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;
    118;------------------------------------------------------------------------------
    219;                                                          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;
    118;---------------------------------------------------------------------------
    219;                                          AiR-BOOT SETUP / ALL SETUP MENUS
     
    2845; Basic Options - Items - Max Length: 23
    2946;----------------------------------|---------------------|------------------
    30 TXT_SETUP_DefaultPart          db 'Standaardpartitie', 0
     47TXT_SETUP_DefaultSelection     db 'Standaardkeuze', 0
    3148TXT_SETUP_TimedBoot            db 'Opstart met wachttijd', 0
    3249TXT_SETUP_TimedBootDelay       db 'Wachttijd: aantal sec', 0
     
    5875; Extended Options - Items - Max Length: 23
    5976;----------------------------------|---------------------|------------------
    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
     83TXT_SETUP_IgnoreLVM            db 'LVM-gegevens negeren', 0
    6384TXT_SETUP_ForceLBAUsage        db 'Enkel BIOS-LBA', 0
    6485TXT_SETUP_ExtPartMShack        db 'Ext-Part MS Workaround', 0
    6586;----------------------------------|---------------------|------------------
    66 
    67 ; This here may be larger than 23 chars...
    68 TXT_SETUP_DefLinuxCmd          db 'Opdrachtenreeks voor Linux', 0
    6987
    7088; DYNAMIC LENGTH, maximum 11 chars excluding ending zero
     
    7492TXT_SETUP_MAGIC_Detailed       db 'Alles', 0
    7593TXT_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
    7796TXT_SETUP_MAGIC_DoNothing      db 'Negeren', 0
    7897TXT_SETUP_MAGIC_ResetTime      db 'Tijd op nul', 0
     
    162181; Basic Options - Help
    163182;----------------------------------|--------------------|--------------------
    164 TXT_SETUPHELP_DefaultPart      db 'Wijzigt de standaard-', 0
    165                                db 'partitie. Ook als er', 0
     183TXT_SETUPHELP_DefaultSelection db 'Wijzigt de standaard-', 0
     184                               db 'selectie. Ook als er', 0
    166185                               db 'een wachttijd werd', 0
    167186                               db 'ingesteld.' ,0
     
    277296; Extended Options - Help
    278297;----------------------------------|--------------------|-------------------
    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;----------------------------------|--------------------|-------------------
     315TXT_SETUPHELP_IgnoreLVM        db 'Werd deze optie', 0
     316                               db 'geactiveerd,dan worden', 0
     317                               db 'LVM-gegevens als', 0
     318                               db 'onbestaande beschouwd.', 0
    289319                               db 0
    290320TXT_SETUPHELP_ForceLBAUsage    db 'Uitschakelen van de', 0
     
    299329                               db 'standaard of MS-Invent', 0
    300330                               db '(gedef. door P optie)', 0
    301                                db 0
    302 TXT_SETUPHELP_DefLinuxCmd:     db 'Opdrachten voor Linux', 0
    303                                db 'instellen, indien', 0
    304                                db 'Linux beschikbaar.', 0
    305331                               db 0
    306332
     
    331357; Maximum 60 chars (should not be reached)
    332358;----------------------------------|----------------------------------------------------------|
    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
     362TXT_SETUP_NoLDLpartition       db 'Deze partitie werd noch FAT16/HPFS/JFS geformatteerd!', 0
    336363
    337364; Maximum 34 chars (should not be reached)
     
    349376TXT_SETUPHELP_DriveLetter      db 'Kies uit C @ Z', 0
    350377
    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 voorge‹nstalleerd',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 voorge‹nstalleerd',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;
    118;------------------------------------------------------------------------------
    219;                                                        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;
    118;------------------------------------------------------------------------------
    219;                                                          AiR-BOOT / MBR-TEXT
     
    421;------------------------------------------------------------------------------
    522
    6 TXT_LanguageID                equ 'U'
     23TXT_LanguageID                equ 'E'
    724
    825; 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;
    118;---------------------------------------------------------------------------
    219;                                          AiR-BOOT SETUP / ALL SETUP MENUS
     
    2845; Basic Options - Items - Max Length: 23
    2946;----------------------------------|---------------------|------------------
    30 TXT_SETUP_DefaultPart          db 'Default Partition', 0
     47TXT_SETUP_DefaultSelection     db 'Default Selection', 0
    3148TXT_SETUP_TimedBoot            db 'Timed Boot', 0
    3249TXT_SETUP_TimedBootDelay       db 'Timed Boot Delay (sec)', 0
     
    5875; Extended Options - Items - Max Length: 23
    5976;----------------------------------|---------------------|------------------
    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
     83TXT_SETUP_IgnoreLVM            db 'Ignore LVM information', 0
    6384TXT_SETUP_ForceLBAUsage        db 'Force BIOS-LBA Usage', 0
    6485TXT_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', 0
    6786
    6887; DYNAMIC LENGTH, maximum 11 chars excluding ending zero
     
    7291TXT_SETUP_MAGIC_Detailed       db 'Detailed', 0
    7392TXT_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
    7595TXT_SETUP_MAGIC_DoNothing      db 'Do Nothing', 0
    7696TXT_SETUP_MAGIC_ResetTime      db 'Reset Time', 0
     
    156176; Basic Options - Help
    157177;----------------------------------|--------------------|-------------------
    158 TXT_SETUPHELP_DefaultPart      db 'Changes your default', 0
    159                                db 'partition. It can be', 0
     178TXT_SETUPHELP_DefaultSelection db 'Changes your default', 0
     179                               db 'selection. It can be', 0
    160180                               db 'used on Timed Boot.', 0
    161181                               db 0
     
    261281; Extended Options - Help
    262282;----------------------------------|--------------------|-------------------
    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;----------------------------------|--------------------|-------------------
     299TXT_SETUPHELP_IgnoreLVM        db 'If activated, AiR-BOOT', 0
     300                               db 'won''t even look for', 0
     301                               db 'LVM information.', 0
    272302                               db 0
    273303TXT_SETUPHELP_ForceLBAUsage    db 'Forces the usage of', 0
     
    281311                               db 'MS-invention.', 0
    282312                               db '(defined by P-flag)', 0
    283                                db 0
    284 TXT_SETUPHELP_DefLinuxCmd:     db 'Defines the command', 0
    285                                db 'line for Linux, if', 0
    286                                db 'available.', 0
    287313                               db 0
    288314
     
    313339; Maximum 60 chars (should not be reached)
    314340;----------------------------------|----------------------------------------------------------|
    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
     344TXT_SETUP_NoLDLpartition       db 'The selected partition is not HPFS/FAT16/JFS', 0
    318345
    319346; Maximum 34 chars (should not be reached)
     
    331358TXT_SETUPHELP_DriveLetter      db 'Press C-Z', 0
    332359
    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;
    118;------------------------------------------------------------------------------
    219;                                                        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;
    118;------------------------------------------------------------------------------
    219;                                                          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;
    118;---------------------------------------------------------------------------
    219;                                          AiR-BOOT SETUP / ALL SETUP MENUS
     
    2845; Basic Options - Items - Max Length: 23
    2946;----------------------------------|---------------------|------------------
    30 TXT_SETUP_DefaultPart          db 'Partition Par D‚faut', 0
     47TXT_SETUP_DefaultSelection     db 'S‚lection Par D‚faut', 0
    3148TXT_SETUP_TimedBoot            db 'Amor‡age Temporis‚', 0
    3249TXT_SETUP_TimedBootDelay       db 'D‚lai d''amor‡age (sec)', 0
     
    5875; Extended Options - Items - Max Length: 23
    5976;----------------------------------|---------------------|------------------
    60 TXT_SETUP_LinuxKernelPart      db 'Partition Noyau Linux', 0
    61 TXT_SETUP_LinuxDefaultKernel   db 'Noyau Linux par D‚faut', 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 D‚faut', 0
     80;TXT_SETUP_LinuxRootPart        db 'Partition Racine Linux', 0
     81; This here may be larger than 23 chars...
     82;TXT_SETUP_DefLinuxCmd          db 'DFINIR LIGNE DE COMMANDE LINUX', 0
     83TXT_SETUP_IgnoreLVM            db 'Ignorer Information LVM', 0
    6384TXT_SETUP_ForceLBAUsage        db 'Force usage du BIOS-LBA', 0
    6485TXT_SETUP_ExtPartMShack        db 't-Part MS Workaround', 0
    65 ; This here may be larger than 23 chars...
    66 TXT_SETUP_DefLinuxCmd          db 'DFINIR LIGNE DE COMMANDE LINUX', 0
    6786
    6887; DYNAMIC LENGTH, maximum 11 chars excluding ending zero
     
    7291TXT_SETUP_MAGIC_Detailed       db 'D‚taill‚', 0
    7392TXT_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
    7595TXT_SETUP_MAGIC_DoNothing      db 'Rien faire', 0
    7696TXT_SETUP_MAGIC_ResetTime      db 'R
     
    159179; Basic Options - Help
    160180;----------------------------------|--------------------|-------------------
    161 TXT_SETUPHELP_DefaultPart      db 'Modifier votre', 0
    162                                db 'partition par d‚faut.', 0
    163                                db 'Peut ˆtre utilis‚ en', 0
    164                                db 'amor‡age temporis‚.', 0
     181TXT_SETUPHELP_DefaultSelection db 'Modifier votre', 0
     182                               db 's‚lection par d‚faut.', 0
    165183                               db 0
    166184TXT_SETUPHELP_TimedBoot        db 'AiR-BOOT proc‚dera', 0
     
    272290; Extended Options - Help
    273291;----------------------------------|--------------------|-------------------
    274 TXT_SETUPHELP_LinuxKernelPart  db 'D‚finir la partition', 0
    275                                db 'FAT-16 contenant vos', 0
    276                                db 'noyaux Linux.', 0
    277                                db 0
    278 TXT_SETUPHELP_LinuxDefaultKrnl db 'D‚finir le nom du', 0
    279                                db 'noyau par d‚faut.', 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 'D‚finir la partition', 0
     294;                               db 'FAT-16 contenant vos', 0
     295;                               db 'noyaux Linux.', 0
     296;                               db 0
     297;TXT_SETUPHELP_LinuxDefaultKrnl db 'D‚finir le nom du', 0
     298;                               db 'noyau par d‚faut.', 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 'D‚finir la ligne de', 0
     305;                               db 'commande pour Linux,', 0
     306;                               db 'si disponible.', 0
     307;                               db 0
     308TXT_SETUPHELP_IgnoreLVM        db 'Si activ‚, AiR-BOOT', 0
     309                               db 'ignorera l''information', 0
     310                               db 'LVM.', 0
    284311                               db 0
    285312TXT_SETUPHELP_ForceLBAUsage    db 'Forcer l''usage de', 0
     
    293320                               db 'partition ‚tendue.', 0
    294321                               db '(d‚fini par drapeau P)', 0
    295                                db 0
    296 TXT_SETUPHELP_DefLinuxCmd:     db 'D‚finir la ligne de', 0
    297                                db 'commande pour Linux,', 0
    298                                db 'si disponible.', 0
    299322                               db 0
    300323
     
    325348; Maximum 60 chars (should not be reached)
    326349;----------------------------------|----------------------------------------------------------|
    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 s‚lectionn‚e 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
     353TXT_SETUP_NoLDLpartition       db 'La partition s‚lectionn‚e n''est pas du type HPFS/FAT16/JFS', 0
    330354
    331355; Maximum 34 chars (should not be reached)
     
    344368TXT_SETUPHELP_DriveLetter      db 'Appuyez C-Z', 0
    345369
    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 priv‚e 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 diff‚rentes',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 priv‚e 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 diff‚rentes',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;
    118;------------------------------------------------------------------------------
    219;                                                        AiR-BOOT / OTHER TEXT
     
    3754
    3855; Dynamic Length (till 80 chars)
    39 TXT_BrokenPartitionTable:      db 13, 10, ' - Votre systŠme a au moins d'une entr‚e mauvaise de table de partition, ou'
     56TXT_BrokenPartitionTable:      db 13, 10, ' - Votre systŠme a au moins d''une entr‚e mauvaise de table de partition, ou'
    4057                               db 13, 10, '   la disque d–r a des cass‚e secteurs. SystŠme arrˆt‚.', 0
    4158TXT_TooManyPartitions:         db 13, 10, ' - Trop de partitions trouv‚es. 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;
    118;------------------------------------------------------------------------------
    219;                                                          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;
    118;---------------------------------------------------------------------------
    219;                                          AiR-BOOT SETUP / ALL SETUP MENUS
     
    2845; Basic Options - Items - Max Length: 23
    2946;----------------------------------|---------------------|------------------
     47TXT_SETUP_DefaultSelection     db 'Selezione Standard', 0
    3048TXT_SETUP_DefaultPart          db 'Partizione Predefinita', 0
    3149TXT_SETUP_TimedBoot            db 'Avvio Temporizzato', 0
     
    5876; Extended Options - Items - Max Length: 23
    5977;----------------------------------|---------------------|------------------
    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
     84TXT_SETUP_IgnoreLVM            db 'Ignorare LVM info.', 0
    6385TXT_SETUP_ForceLBAUsage        db 'Forza uso LBA del BIOS', 0
    6486TXT_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', 0
    6787
    6888; DYNAMIC LENGTH, maximum 11 chars excluding ending zero
     
    7292TXT_SETUP_MAGIC_Detailed       db 'Dettagli', 0
    7393TXT_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
    7596TXT_SETUP_MAGIC_DoNothing      db 'Nessuna Az.', 0
    7697TXT_SETUP_MAGIC_ResetTime      db 'Reset Timer', 0
     
    160181; Basic Options - Help
    161182;----------------------------------|--------------------|-------------------
    162 TXT_SETUPHELP_DefaultPart      db 'Cambia la partizione', 0
    163                                db 'predefinita usata', 0
    164                                db 'nell''Avvio', 0
    165                                db 'Temporizzato', 0
     183TXT_SETUPHELP_DefaultSelection db 'Cambia la selezione', 0
     184                               db 'standard', 0
    166185                               db 0
    167186TXT_SETUPHELP_TimedBoot        db 'AiR-BOOT procede', 0
     
    275294; Extended Options - Help
    276295;----------------------------------|--------------------|-------------------
    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;----------------------------------|--------------------|-------------------
     312TXT_SETUPHELP_IgnoreLVM        db 'Se attivato AiR-BOOT', 0
     313                               db 'non cerca neanche LVM', 0
     314                               db 'informazione.', 0
    286315                               db 0
    287316TXT_SETUPHELP_ForceLBAUsage    db 'Forza l''uso delle API', 0
     
    295324                               db 'standard a tipo MS', 0
    296325                               db '(definito dal P-flag)', 0
    297                                db 0
    298 TXT_SETUPHELP_DefLinuxCmd:     db 'Definisce la linea di', 0
    299                                db 'comando per Linux, se', 0
    300                                db 'disponibile', 0
    301326                               db 0
    302327
     
    327352; Maximum 60 chars (should not be reached)
    328353;----------------------------------|----------------------------------------------------------|
    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
     357TXT_SETUP_NoLDLpartition       db 'Partizione selezionata non HPFS/FAT16/JFS', 0
    332358
    333359; Maximum 34 chars (should not be reached)
     
    345371TXT_SETUPHELP_DriveLetter      db 'Premere C a Z', 0
    346372
    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;
    118;------------------------------------------------------------------------------
    219;                                                        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;
    118;------------------------------------------------------------------------------
    219;                                                          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;
    118;---------------------------------------------------------------------------
    219;                                          AiR-BOOT SETUP / ALL SETUP MENUS
     
    3552; Basic Options - Items - Max Length: 23
    3653;----------------------------------|---------------------|------------------
    37 TXT_SETUP_DefaultPart          db ' §€¥« ¯® 㬮«ç ­šî', 0
     54TXT_SETUP_DefaultSelection     db '‚ë¡®à ¯®-㬮«ç ­šî', 0
    3855TXT_SETUP_TimedBoot            db '€¢â®¬ âšç¥áª ï § £à㧪 ', 0
    3956TXT_SETUP_TimedBootDelay       db '‚à¥¬ï  ¢â®§ £à㧪š (á)', 0
     
    6582; Extended Options - Items - Max Length: 23
    6683;----------------------------------|---------------------|------------------
    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
     91TXT_SETUP_IgnoreLVM            db 'ˆ£­®àšà®¢ âì € ­­ë¥ LVM', 0
    7092TXT_SETUP_ForceLBAUsage        db 'ˆá¯®«ì§®¢ âì BIOS-LBA', 0
    7193TXT_SETUP_ExtPartMShack        db ' §€¥«ë €«ï MS-ášá⥬', 0
    72 ; This here may be larger than 23 chars...
    73 TXT_SETUP_DefLinuxCmd          db '‡€„€‰’
    74  ŠŽŒ€„“ž ‘’ŽŠ“ „‹Ÿ LINUX', 0
    7594
    7695; DYNAMIC LENGTH, maximum 11 chars excluding ending zero
     
    8099TXT_SETUP_MAGIC_Detailed       db '„¥â «ì­®', 0
    81100TXT_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
    83103TXT_SETUP_MAGIC_DoNothing      db '¥§€¥©áâ¢.', 0
    84104TXT_SETUP_MAGIC_ResetTime      db '‘­ ç « ', 0
     
    168188; Basic Options - Help
    169189;----------------------------------|--------------------|-------------------
    170 TXT_SETUPHELP_DefaultPart      db 'Œ¥­ï¥â ‚ è à §€¥« ¯®', 0
    171                                db '㬮«ç ­šî. Ž­ ¬®Š¥â', 0
    172                                db '¡ëâì šá¯®«ì§®¢ ­ €«ï', 0
    173                                db ' ¢â®§ £à㧪š.', 0
     190TXT_SETUPHELP_DefaultSelection db '‘¬¥­šâì ‚ è ¢ë¡®à', 0
     191                               db '¯®-㬮«ç ­šî.', 0
    174192                               db 0
    175193TXT_SETUPHELP_TimedBoot        db 'AiR-BOOT ¯à®€®«Ššâ', 0
     
    271289; Extended Options - Help
    272290;----------------------------------|--------------------|-------------------
    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
     306TXT_SETUPHELP_IgnoreLVM        db 'àš ¢ª«î祭šš í⮩', 0
     307                               db '®¯æšš AiR-BOOT ­¥', 0
     308                               db '¡ã€¥â šáª âì', 0
     309                               db 'š­ä®à¬ æšî LVM', 0
    282310                               db 0
    283311TXT_SETUPHELP_ForceLBAUsage    db '’ॡ〥⠚ᯮ«ì§®¢ ­š¥', 0
     
    291319                               db 'š«š MS.', 0
    292320                               db '(㪠§ âì ç¥à¥§ P-ä« £)', 0
    293                                db 0
    294 TXT_SETUPHELP_DefLinuxCmd:     db 'Š®¬ ­€­ ï áâப  €«ï', 0
    295                                db '§ £à㧪š Linux, ¥á«š', 0
    296                                db '­¥®¡å®€š¬®.', 0
    297321                               db 0
    298322
     
    327351; Maximum 60 chars (should not be reached)
    328352;----------------------------------|----------------------------------------------------------|
    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
     356TXT_SETUP_NoLDLpartition       db '‚ë¡à ­­ë© à §€¥« ­¥ ï¥âáï HPFS/FAT16/JFS', 0
    332357
    333358; Maximum 34 chars (should not be reached)
     
    345370TXT_SETUPHELP_DriveLetter      db ' Š¬šâ¥ C-Z', 0
    346371
    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,'
    351375',0,' ¬®Š¥â¥ à á¯à®áâà ­ïâì/šá¯®«ì§®¢ âì AiR-BOOT ¢ ',0,'-‹žŽ‰-',0,' ä®à¬¥,',0
    352                                db '¥á«š ‚ë ¯®«ã砥⥠§  íâ® €¥­ì£š.',0
    353                                db '
     376;                               db '¥á«š ‚ë ¯®«ã砥⥠§  íâ® €¥­ì£š.',0
     377;                               db '
    354378᫚ ‚ë å®âšâ¥ šá¯®«ì§®¢ âì 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;
    118;------------------------------------------------------------------------------
    219;                                                        AiR-BOOT / OTHER TEXT
     
    3754
    3855; Dynamic Length (till 80 chars)
    39 TXT_BrokenPartitionTable:      db 13, 10, ' - Ž¡­ à㊥­ ¬š­š¬ã¬ ®€š­ šá¯®à祭­ë© à §€¥«, «š¡® â ¡«šæ  à §€¥«®¢ ᮀ¥àŠšâ 
     56TXT_BrokenPartitionTable:      db 13, 10, ' - Ž¡­ à㊥­ ¬š­š¬ã¬ ®€š­ šá¯®à祭­ë© à §€¥«, «š¡® â ¡«šæ  à §€¥«®¢ ᮀ¥àŠšâ'
    4057                               db 13, 10, '   á¡®©­ë¥ ¡«®ªš. ‘šá⥬  ®áâ ­®¢«¥­ .', 0
    4158TXT_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;
    118;------------------------------------------------------------------------------
    219;                                                          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;
    118;---------------------------------------------------------------------------
    219;                                          AiR-BOOT SETUP / ALL SETUP MENUS
     
    2845; Basic Options - Items - Max Length: 23
    2946;----------------------------------|---------------------|------------------
    30 TXT_SETUP_DefaultPart          db 'Standard Partition', 0
     47TXT_SETUP_DefaultSelection     db 'Standard Partition', 0
    3148TXT_SETUP_TimedBoot            db 'Tidstyrd Bootning', 0
    3249TXT_SETUP_TimedBootDelay       db 'TidsBoot F”rdr”j (sek)', 0
     
    5875; Extended Options - Items - Max Length: 23
    5976;----------------------------------|---------------------|------------------
    60 TXT_SETUP_LinuxKernelPart      db 'Linux Kernel Partition', 0
    61 TXT_SETUP_LinuxDefaultKernel   db 'Linux Standard K„rna', 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 K„rna', 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 F™R LINUX', 0
     83TXT_SETUP_IgnoreLVM            db 'Ignore LVM information', 0
     84; ###
    6385TXT_SETUP_ForceLBAUsage        db 'Forc BIOS-LBA Anv„ndn.', 0
    6486TXT_SETUP_ExtPartMShack        db 'Ext-Part MS Workaround', 0
    65 ; This here may be larger than 23 chars...
    66 TXT_SETUP_DefLinuxCmd          db 'DEFINIERA KOMMANDORAD F™R LINUX', 0
    6787
    6888; DYNAMIC LENGTH, maximum 11 chars excluding ending zero
     
    7292TXT_SETUP_MAGIC_Detailed       db 'Detaljerad', 0
    7393TXT_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
    7596TXT_SETUP_MAGIC_DoNothing      db 'G”r Inget', 0
    7697TXT_SETUP_MAGIC_ResetTime      db 'terst. Tid', 0
     
    160181; Basic Options - Help
    161182;----------------------------------|--------------------|-------------------
     183TXT_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; ####
    162188TXT_SETUPHELP_DefaultPart      db 'Žndrar din standard', 0
    163189                               db 'partition. Den kan', 0
     
    277303; Extended Options - Help
    278304;----------------------------------|--------------------|-------------------
    279 TXT_SETUPHELP_LinuxKernelPart  db 'Definierar FAT-16', 0
    280                                db 'partition som', 0
    281                                db 'inneh†ller dina', 0
    282                                db 'Linux k„rnor.', 0
    283                                db 0
    284 TXT_SETUPHELP_LinuxDefaultKrnl db 'Definiera din', 0
    285                                db 'standardk„rnas', 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 'inneh†ller dina', 0
     309;                               db 'Linux k„rnor.', 0
     310;                               db 0
     311;TXT_SETUPHELP_LinuxDefaultKrnl db 'Definiera din', 0
     312;                               db 'standardk„rnas', 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 f”r Linux, om', 0
     320;                               db 'tillg„ngligt.', 0
     321;                               db 0
     322TXT_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; ###
    291327TXT_SETUPHELP_ForceLBAUsage    db 'Forc. anv„ndning av', 0
    292328                               db 'BIOS LBA APIs', 0
     
    299335                               db 'eller MS-uppfinnade.', 0
    300336                               db '(definierad av P-flag)', 0
    301                                db 0
    302 TXT_SETUPHELP_DefLinuxCmd:     db 'Definierar kommando', 0
    303                                db 'rad f”r Linux, om', 0
    304                                db 'tillg„ngligt.', 0
    305337                               db 0
    306338
     
    331363; Maximum 60 chars (should not be reached)
    332364;----------------------------------|----------------------------------------------------------|
    333 TXT_SETUP_EnterLinuxCmdLine    db 'Var v„nlig 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 v„nlig ange/modifiera din Linux kommando-rad:', 0
     367;TXT_SETUP_NoLinuxInstalled     db 'Du har inte Linux installerat', 0
     368TXT_SETUP_NoLDLpartition       db 'Den valda partitionen „r inte varken HPFS/FAT16/JFS', 0
    336369
    337370; Maximum 34 chars (should not be reached)
     
    349382TXT_SETUPHELP_DriveLetter      db 'Tryck C-Z', 0
    350383
    351 IFNDEF ReleaseCommercial
    352    ; Colors for special words hard-coded. Keep all 0s.
    353    TXT_SETUP_LowerMessage      db 'Detta program „r ',0,'fritt',0,' f”r icke-kommersiell privat anv„ndning.',0
    354                                db 'Du f†r ',0,'INTE',0,' distribuera/anv„nda AiR-BOOT i ',0,'-NGON-',0,' form,',0
    355                                db 'om du erh†ller pengar f”r den distribuerade produkten eller servicen.',0
    356                                db 'Om du vill anv„nda AiR-BOOT i ',0,'andra sammanhang',0,', ',0,'f”rinstallera',0,' eller',0
    357                                db 'distribuera',0,' den, var v„nlig 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,' f”r icke-kommersiell privat anv„ndning.',0
     386;                               db 'Du f†r ',0,'INTE',0,' distribuera/anv„nda AiR-BOOT i ',0,'-NGON-',0,' form,',0
     387;                               db 'om du erh†ller pengar f”r den distribuerade produkten eller servicen.',0
     388;                               db 'Om du vill anv„nda AiR-BOOT i ',0,'andra sammanhang',0,', ',0,'f”rinstallera',0,' eller',0
     389;                               db 'distribuera',0,' den, var v„nlig 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;
    118;------------------------------------------------------------------------------
    219;                                                        AiR-BOOT / OTHER TEXT
     
    3754
    3855; 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.', 0
     56TXT_BrokenPartitionTable:      db 13, 10, ' - Ditt system har minst en bruten partitionstabellspost eller har din h†rddisk'
     57                               db 13, 10, '   trasiga sektorer. Systemet haltat.', 0
    4158TXT_TooManyPartitions:         db 13, 10, ' - F”r m†nga partitioner hittades. AiR-BOOT st”der endast upp till 30.', 0
    4259TXT_NoBootAble:                db 13, 10, ' - Ingen bootningsbar partition definierad. Systemet haltat.', 0
  • trunk/BOOTCODE/TEXT/TXTMBR.ASM

    r26 r29  
    1 Include TEXT\US\MBR.asm
     1Include TEXT\EN\MBR.asm
  • trunk/BOOTCODE/TEXT/TXTMENUS.ASM

    r26 r29  
    1 Include TEXT\US\MENUS.asm
     1Include TEXT\EN\MENUS.asm
  • trunk/BOOTCODE/TEXT/TXTOTHER.ASM

    r26 r29  
    1 Include TEXT\US\OTHER.asm
     1Include TEXT\EN\OTHER.asm
  • trunk/DOCS/DE/FEATURES.TXT

    r23 r29  
    2626 º     die Konfiguration zurckzustellen                                      º
    2727 º  - MBR-Schutz unter Real-Mode                                              º
    28  º  - Linux Kernel Untersttzung (fr FAT-16 Partitionen), Kernel-            º
    29  º     Kommandozeile                                                          º
     28 º  - IBM OS/2 / eCS LVM Support                                              º
    3029 º                                                                            º
    3130 ºÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ
     
    4241 º                                                                            º
    4342 º AiR-BOOT ist kompatibel zu LVM, dem Logischen Volumen Manager, der fr     º
    44  º  OS/2, eComStation und Linux-Varianten verfgbar ist.                      º
     43 º  OS/2 und eComStation verfgbar ist.                                       º
    4544 º                                                                            º
    4645 º AiR-BOOT kann auch von CD-ROM installiert werden. Einfach das Image einer  º
  • trunk/DOCS/DE/INSTALL.TXT

    r8 r29  
    66 º                                                                            º
    77 º 1. Sie ben”tigen 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 dazugeh”riger Sprachen-Code).                       º
     8 º     in Laufwerk A: und starten Sie die Datei MAKEDISK.COM vom AiR-BOOT     º
     9 º     Archiv.                                                                º
    1010 º                                                                            º
    1111 º 2. šberprfen Sie ihr CMOS-Setup. Deaktivieren Sie 'Virus Warning', sofern º
  • trunk/DOCS/DT/FEATURES.TXT

    r23 r29  
    2525 º  - MBR-beveiliging (Real-Mode).                                            º
    2626 º  - Toewijzen van de gewenste letter in OS/2.                               º
    27  º  - Linux Kernel Support (vanuit FAT-16 partities), Kernel-opdrachtlijn en  º
    28  º     automatische cre‰eren van de root-partitie (automatisch en toch confi- º
    29  º      gureerbaar).                                                          º
     27 º  - IBM OS/2 / eCS LVM Support                                              º
    3028 º                                                                            º
    3129 ºÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ
     
    4341 º                                                                            º
    4442 º AiR-BOOT is compatibel met de LVM (Logical Volume Manager) beschikbaar bij º
    45  º  OS/2, eComStation en sommige Linuxvarianten.                              º
     43 º  OS/2 en eComStation.                                                      º
    4644 º                                                                            º
    4745 º AiR-BOOT kan worden opgestart vanf CD-ROM. U dient eerst de basisdiskette  º
  • trunk/DOCS/DT/INSTALL.TXT

    r8 r29  
    77 º                                                                            º
    88 º 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.                   º
    1010 º                                                                            º
    1111 º 2. Herstart uw PC, en ga naar de bios-setup. Schakel "virus-warning" uit,  º
  • trunk/DOCS/EN/FEATURES.TXT

    r23 r29  
    2525 º     resetting the configuration                                            º
    2626 º  - 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                                              º
    2928 º                                                                            º
    3029 ºÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ
     
    4241 º                                                                            º
    4342 º AiR-BOOT is compatible to LVM, the Logical Volume Manager available for    º
    44  º  OS/2, eComStation and Linux-variants.                                     º
     43 º  OS/2 and eComStation.                                                     º
    4544 º                                                                            º
    4645 º AiR-BOOT is able to get booted from CD-ROM. Simply generate a floppy disc, º
  • trunk/DOCS/EN/INSTALL.TXT

    r8 r29  
    77 º                                                                            º
    88 º 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.                       º
    1110 º                                                                            º
    1211 º 2. Check your CMOS-Setup. Deselect 'Virus Warning', if this option is      º
  • trunk/DOCS/EN/Q_AND_A.TXT

    r8 r29  
    4848 º    This had to be done JUST because of Microsoft. I can't stand this any   º
    4949 º     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.                                                           º
    7053 º                                                                            º
    7154 º Q: Ohhh man, what do you got against LILO. It's soooo good.                º
     
    7356 º     partition. It was FAT and this nice little bugger overwrote some       º
    7457 º     internals *as documented* without even giving me any warning message.  º
    75  º     I see LILO as on the same level as Mickeysoft products. Just believing º
     58 º     I see LILO as on the same level as Microsoft products. Just believing º
    7659 º     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 the 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.    º
    7962 º     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.      º
    8164 º     (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).                                     º
    9566 º                                                                            º
    9667 º Q: I believe you have copied the text of your boot-menu from DocsBoot.     º
  • trunk/DOCS/FR/FEATURES.TXT

    r23 r29  
    3131 º     de r‚parer AiR-BOOT sans effacer les paramŠtres de configuration       º
    3232 º  - Protection du secteur d'amor‡age en mode r‚el                           º
    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                                           º
    3534 º                                                                            º
    3635 ºÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ
     
    4342 º      de ne pas utiliser le gestionnaire d'amor‡age fourni avec OS/2)       º
    4443 º  - BeOS                                                                    º
    45  º  - Unix/Linux (avec ou sans LILO)                                          º
     44 º  - Unix/Linux (avec LILO)                                                  º
    4645 º  - Windows 95/98/ME (c
    4746d MS-DOS)                                           º
     
    4948 º                                                                            º
    5049 º 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.                                      º
    5251 º                                                                            º
    5352 º AiR-BOOT peut d‚marrer depuis un CD-ROM. Il suffit de cr‚er une disquette  º
  • trunk/DOCS/FR/INSTALL.TXT

    r8 r29  
    1010 º                                                                            º
    1111 º 1. Prenez une disquette vierge formatt‚e. Mettez la dans votre lecteur A:  º
    12  º    et d‚marrez le fichier AIRBS_xx.EXE de l'archive AiR-BOOT (o— xx est    º
    13  º    votre code de langue).                                                  º
     12 º    et d‚marrez le fichier MAKEDISK.COM de l'archive AiR-BOOT.              º
    1413 º                                                                            º
    1514 º 2. V‚rifiez votre r‚glage CMOS (dans le bios). Des‚lectionnez 'Virus       º
  • trunk/DOCS/GENERIC/DEVELOPR.TXT

    r28 r29  
    11
    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     ÓÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄœ
    2311
    2412   1.1  - Foreword
     
    3725
    3826        This document defines several aspects of AiR-BOOT v0.26b+ and is
    39          currently on the level of AiR-BOOT v1.01.
     27         currently on the level of AiR-BOOT v1.05+.
    4028
    4129        AiR-BOOT is an advanced multi-boot-loader that resides completly in
     
    4331         Virus-Detection and much more.
    4432
    45         This documentation is meant for other developers that want to detect
    46          and/or support AiR-BOOT and modify some configuration values.
    47 
    4833        Please keep in mind that you are responsible for doing those changes
    4934         the documented, correct manner. AiR-BOOT is able to fix some
    5035         configuration values like Default-Partition, because the user could
    51          have killed that partition, but AiR-BOOT is not completely
     36         have killed that partition as well, but AiR-BOOT is not completely
    5237         error-tolerant. Work as defined in this documentation and everything
    5338         will work as expected.
     
    5641         Everything is meant to be in Intel-Order.
    5742
    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
    5948
    6049
     
    135124                                              'I' for italian
    136125                                              'R' for russian
    137                                               'U' for english
     126                                              'E' for english (v1.01+)
    138127                                              'S' for swedish
     128                                              'U' for USA (removed in v1.01+)
    139129         TotalCodeSectors   : BYTE          - counting from sector 2
    140130         CheckSumOfCode     : WORD          - explained later
     
    183173                      match the Version in the basic information structure.
    184174                      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.
    186178
    187179        Code used for verification in x86 assembly:
     
    223215         MajorVersion       : BYTE          - in BCD
    224216         MinorVersion       : BYTE          - in BCD
    225          ReleaseLanguage    : BYTE          - normally 'U' for USA/english
     217         ReleaseLanguage    : BYTE          - normally 'E' for English
    226218         EditCounter        : DWORD         - Will be increased on every save
    227219         CheckSumOfConfig   : WORD          - explained in [2.3]
    228220         Partitions         : BYTE          - Partitions count in IPT
    229221         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
    231228         LastPartition      : BYTE          - Last-booted-partition (zero based)
     229                                               Even under v1.02+, this never
     230                                               contains floppy or Resume-BIOS
    232231         TimedBoot          : BYTE          - 0 - Timed Boot disabled
    233232                                              1 - Timed Boot enabled
     
    273272         RudeProtection     : BYTE          - Removed since v0.28b
    274273         LinuxPartition     : BYTE          - Linux Root partition no (0-based)
     274                                               [not used anymore since 1.02+]
    275275         TimedKeyHandling   : BYTE          - 0 - Do nothing
    276276                                              1 - Reset time
     
    286286         CooperBars         : BYTE          - 0 - Disabled
    287287                                              1 - Enabled
     288         [following contents are not used anymore - since 1.02]
    288289         LinuxCommandLine   : STRING * 75   - Linux Command Line (0-terminated)
    289290         LinuxKrnlPartition : BYTE          - 0FFh - Disabled
     
    298299                                               field will get filled with spaces
    299300         LinuxKernelNameEnd2: BYTE          - Fixed ZERO
     301         [End of contents that are not used anymore]
    300302         ExtPartitionMShack : BYTE          - 0 - Disabled
    301303                                              1 - MS Work-Around Enabled
     
    305307         AutomaticPartition : BYTE          - Automatic Booting (0.94+)
    306308                                               Partition no (zero based)
     309                                               FFh - Floppy booting
     310                                               FEh - BIOS continue (CD-ROM,ZIP)
    307311         ForceLBAUsage      : BYTE          - Forces BIOS LBA API Usage (1.00+)
    308312                                              0 - Disabled
    309313                                              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
    311318         AutoDriveLetter    : STRING * 5    - RESERVED CONTENT (0.94+)
    312319                                               (used by Installer/2)
     
    341348         Contents: AiR-BOOT internal partition table entry (IPT)
    342349        =======================================================================
    343          SerialNumber       : DWORD         - Serial number of partition
     350         SerialNumber       : DWORD         - Serial number of partition /
     351                                               Partition ID from LVM
    344352                                               (if available)
    345          PartitionName      : STRING * 11   - Name of the partition
    346                                                (in sync with boot-record)
     353         PartitionName      : STRING * 11   - Name of the partition (in sync
     354                                               with LVM and/or boot-record)
    347355         Drive              : BYTE          - Drive of partition (INT 13h-like)
    348356         PartitionID        : BYTE          - unhidden ID of partition
    349357                                               (08h == NTFS, thanx M$)
     358                                               (FCh == JFS - v1.05+)
    350359         Flags              : BYTE          - Bit 0 - BootAble
    351360                                              Bit 1 - VIBR Detection
     
    391400         should look like this: 00h 02h 03h FFh (and 26 more FFhs)
    392401
    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.
    398410
    399411        -----------------------------------------------------------------------
     
    402414         HideConfiguration  : STRING * 30   - for one partition each
    403415          * 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"...
    406421         Reserved           : STRING * 84   - RESERVED
    407422         Identifier         : STRING * 10   - 'AiRBOOTHID'
  • trunk/DOCS/GENERIC/DISCLAIM.TXT

    r28 r29  
    88 º warranty for bug-free operation, fitness for a particular purpose or the   º
    99 º 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.                                        º
    1015 º                                                                            º
    1116 º THE SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED      º
     
    2631 º collections on CD-ROM, as well as on magazine cover CD-ROMs.               º
    2732 º                                                                            º
    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  º                                                                            º
    4233 º All trademarks mentioned anywhere around here are property of their owners º
    4334 º and the like... This means e.g. "Microsoft Windows (9x/NT/2000/XP/YP/ZP",  º
    4435 º "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.                                                    º
    4538 º                                                                            º
    4639 ÓÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ  ÄÄ  ú                           ú  ÄÄ  ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄœ
  • trunk/DOCS/GENERIC/HISTORY.TXT

    r28 r29  
    144144 º         ³             ³        ³ [+] Swedish localization available        º
    145145 ºÄÄÄÄÄÄÄÄ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. º
    147154 º         ³             ³        ³ [-] Issue with NTFS detected as being     º
    148  º         ³             ³        ³      HPFS fixed                           º
    149155 º         ³             ³        ³ [+] Broken partition table error message  º
    150156 º         ³             ³        ³      instead of "LOAD ERROR"              º
    151157 º         ³             ³        ³ [+] 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    º
    152199 ºÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ
    153  º [BETA] úúúúúú Internal Beta-Version ³ [WARP] úúúúúúúúúúúú Official Release º
    154  º [REG] úúúúúúúúúú Registered Version ³ [iNST] úúúúúúúúúúúúú iNSTALL and Co. º
    155  ºÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ
    156200 º Technial Problems ?                                                        º
    157201 º                                                                            º
    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.                                                        º
    162207 º                                                                            º
    163208 º At this point, I want to thank several people that helped me to improve    º
     
    165210 º                                                                            º
    166211 º  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.                                   º
    168214 º                                                                            º
    169215 º  ...and especially the translators that wasted so much time on it...       º
     
    176222 º   AiR-BOOT - German  - by myself ;)                                        º
    177223 º                                                                            º
     224 º  Special thanx to Jan van Wijk for the LVM-CRC polynom!                    º
     225 º                                                                            º
    178226 ÓÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ  ÄÄ  ú                          ú  ÄÄ  ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄœ
    179227     ÓÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄœ
  • trunk/DOCS/IT/FEATURES.TXT

    r23 r29  
    2626 º     AiR-BOOT senza perdere la configurazione                               º
    2727 º  - 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                                             º
    3029 º                                                                            º
    3130 ºÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ
     
    4342 º                                                                            º
    4443 º 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.                                                      º
    4645 º                                                                            º
    4746 º AiR-BOOT si avvia anche da CD-ROM. Basta creare il floppy, prendere        º
  • trunk/DOCS/IT/INSTALL.TXT

    r12 r29  
    77 º                                                                            º
    88 º 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.                      º
    1110 º                                                                            º
    1211 º 2. Controllare il setup del BIOS. Deselezionare 'Virus Warning', se tale   º
  • trunk/DOCS/RU/FEATURES.TXT

    r23 r29  
    2525 º     resetting the configuration                                            º
    2626 º  - 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                                              º
    2928 º                                                                            º
    3029 ºÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ
     
    4241 º                                                                            º
    4342 º AiR-BOOT is compatible to LVM, the Logical Volume Manager available for    º
    44  º  OS/2, eComStation and Linux-variants.                                     º
     43 º  OS/2 and eComStation.                                                     º
    4544 º                                                                            º
    4645 º AiR-BOOT is able to get booted from CD-ROM. Simply generate a floppy disc, º
  • trunk/DOCS/RU/INSTALL.TXT

    r8 r29  
    77 º                                                                            º
    88 º 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.                       º
    1110 º                                                                            º
    1211 º 2. Check your CMOS-Setup. Deselect 'Virus Warning', if this option is      º
  • trunk/DOCS/SW/FEATURES.TXT

    r23 r29  
    2626 º     utan att †terst„lla konfigurationen                                    º
    2727 º  - MBR-Skydd i Real-L„ge                                                   º
    28  º  - Linux K„rna St”d (fr†n FAT-16 partitioner), K„rna-Kommandorad och       º
    29  º     automatisk, med konfigureringsbar root-partition                       º
     28 º  - IBM OS/2 / eCS LVM Support                                              º
    3029 º                                                                            º
    3130 ºÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ
     
    4342 º                                                                            º
    4443 º AiR-BOOT „r kompatibel med LVM, Logical Volume Manager som „r tillg„nglig  º
    45  º  f”r OS/2, eComStation och Linux-varianter.                                º
     44 º  f”r OS/2 och eComStation.                                                 º
    4645 º                                                                            º
    4746 º AiR-BOOT kan bootas fr†n CD-ROM. Skapa helt enkelt en diskett, f†nga dess  º
  • trunk/DOCS/SW/INSTALL.TXT

    r12 r29  
    77 º                                                                            º
    88 º 1. Ta en tom, formaterad diskett. Stoppa in den i enhet A: och starta      º
    9  º     filen AIRBS_xx.EXE fr†n AiR-BOOT arkivet (d„r xx „r din landskod).     º
     9 º     filen MAKEDISK.COM fr†n AiR-BOOT arkivet.                              º
    1010 º                                                                            º
    1111 º 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;
    118
    2 ; Bad Test-Virus (c) Martin Kiewitz - For test of AiR-BOOT ANTIVIR
     19; Bad Test-Virus ;-) - For test of AiR-BOOT ANTIVIR
    320
    421JUMPS
Note: See TracChangeset for help on using the changeset viewer.