Changeset 37


Ignore:
Timestamp:
Apr 11, 2014, 8:39:07 PM (12 years ago)
Author:
Ben Rietbroek
Message:

Reworked Build Environment [2012-02-15]

WARNING!!

All commits upto and including the commit of [2012-05-13] contain
a severe bug!! Building from these sources and then disabling
the 'force LBA' feature while also using the drive-letter feature or
editing the label can DESTROY THE MBR on ALL ATTACHED DISKS!!
DO NOT DISABLE 'FORCE LBA USAGE' WHEN BUILT FROM THE THESE COMMITS!!

Changes

o Reworked build environment
o Start made with coding FIXCODE in C
o Moved MBR protection image
o New overlap macro
o Protect type 0x35 from edit (user popup)
o Protect type 0x35 from adding to menu (user popup)
o More...
! No LVM Label change yet

Note

o Changed license to GPL v3

See file COPYING in trunk.

Location:
trunk
Files:
25 added
4 deleted
55 edited
2 copied
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/1README.TXT

    r32 r37  
    2020Note:
    2121-----
    22 This is the "eComStation fork" of AiR-BOOT and it is maintained by a 
    23 different developer. The file you are currently reading, 1README.TXT, 
    24 replaces the original README.TXT as created by Martin Kiewitz. 
     22This is the "eComStation fork" of AiR-BOOT and it is maintained by a
     23different developer. The file you are currently reading, 1README.TXT,
     24replaces the original README.TXT as created by Martin Kiewitz.
    2525The latter can be found in README.MKW but note that the information
    26 there about building AiR-BOOT is possibly outdated.
     26in there about building AiR-BOOT is completely outdated.
    2727
     28Building AiR-BOOT
     29-----------------
     30- Checkout the sources from http://svn.netlabs.org/air-boot.
     31- Setup your Open Watcom build-environment for your OS.
     32- Download JWasm for your OS.
     33- Run wmake help to see a list of build options -or-
     34- Run wmake without paramaters to build AiR-BOOT for all languages.
     35
     36See BUILD.NFO for more information.
     37
     38Rousseau.
  • trunk/BOOTCODE/AIR-BOOT.ASM

    r36 r37  
    1818
    1919
     20;IFDEF   JWASM
     21;    db  'JWASM'
     22;ENDIF
     23;IFDEF   TASM
     24;    db  'TASM'
     25;ENDIF
     26
     27
     28
     29;IF  DEBUG_LEVEL EQ  0
     30;    db  'L0'
     31;ELSE
     32;    db  'Lx'
     33;ENDIF
     34
    2035
    2136; ---------------------------------
     
    2338; ---------------------------------
    2439;
    25 ; v1.0.8
    26 ; ------
     40; v1.0.8-rc2-bld20120213
     41;-----------------------
     42; # Removed requirement for LVM P and V name to be the same to edit #
     43;   However, when both are the same before the edit, the V name will be
     44;   synved to the P name to have them both the same again after the edit.
     45;   If they differ, only the V name is updated.
     46;
     47; # Trying to edit the label of a type 0x35 partition now shows a popup #
     48;   The user is informed that type 0x35 labels cannot be edited.
     49;
     50; # Type 0x35 partitions cannot be added to the AB-menu anymore #
     51;   They are not bootable anyway. The user is informed by a popup.
     52;
     53; # De-tasemized the Assembler sources for JWasm compatibility #
     54;   AiR-BOOT can now be built using JWasm, which is now the preferred
     55;   assembler.
     56;
     57; # Completely reworked the build-system #
     58;   Everything is now done with Makefiles using WMake, Wlink and the
     59;   C/C++ Compilers from the Open Watcom development tools together with JWasm.
     60;   This obsoletes tasm, tlink and exe2bin.
     61;
     62; # Cross-Platform support #
     63;   AiR-BOOT and it's helpers can now be built on: DOS, Win32, OS/2 and Linux.
     64;
     65; # Rewrote FIXCODE.ASM in C so the tool-chain is not dependent on a DOS .COM
     66;   program for embedding the MBR-protection. DOS,Win32,OS/2 and Linux
     67;   versions of FIXCODE are now used. (EXE[MZ|PE|LX] and ELF)
     68;
     69; v1.0.8-rc1-bld20120124
     70; ----------------------
    2771; # Changed version format to be more WarpIN compatible #
    2872;   This is a cosmetic change only, the internal format has not changed.
     
    218262; It should be off in release code.
    219263;
    220 ;ModuleNames                equ      1
     264;ModuleNames             equ     1
     265
     266
     267
     268
     269
     270;
     271; An ORG directive resets the location counter where code and data is
     272; generated. If the location counter is reset back to a point where
     273; code or data already has been generated, this will be overwritten
     274; without warning.
     275; This macro is run at every ORG directive to check for this condition,
     276; and when it occurs further assembly is terminated.
     277; FIXME: Get JWasm and Tasm use some common ECHO/%OUT method.
     278;        (Tasm only pases first word of non-quoted string to a macro)
     279;
     280check_overlap   MACRO   loc
     281
     282    ; Exit macro immediately if no overlap.
     283    ; We don't want to assign values to z_last_... if there is no
     284    ; overlap because they would then hold the values the last time this
     285    ; macro was called and not those of the last overlap.
     286    IF (loc - $) LE 0
     287        EXITM
     288    ENDIF
     289
     290    ; Calculate the overlap.
     291    z_last_overlap_location = loc
     292    z_last_overlap_size = (loc - $)
     293
     294    IFDEF   JWASM
     295        ; Output message.
     296        ECHO
     297        ECHO ** ERROR: LOCATION OVERLAP DETECTED [JWASM] ! **
     298        ECHO .         THIS IS MOST LIKELY CAUSED BY CODE / DATA
     299        ECHO .         EXPANSION TOWARDS AN 'ORG' DIRECTIVE.
     300        ECHO .         LOOK AT 'z_last_overlap_location' TO SEE WHERE.
     301        ECHO .         LOOK AT 'z_last_overlap_size' TO SEE SIZE.
     302        ECHO .         FORCING ERROR...
     303        ECHO
     304    ENDIF
     305    IFDEF   TASM
     306        IF2
     307            ; Output message (only on pass2).
     308            %OUT
     309            %OUT ** ERROR: LOCATION OVERLAP DETECTED [TASM] ! **
     310            %OUT .         THIS IS MOST LIKELY CAUSED BY CODE / DATA
     311            %OUT .         EXPANSION TOWARDS AN 'ORG' DIRECTIVE.
     312            %OUT .         LOOK AT 'z_last_overlap_location' TO WHERE.
     313            %OUT .         LOOK AT 'z_last_overlap_size' TO SEE SIZE.
     314            %OUT .         FORCING ERROR...
     315            %OUT
     316        ENDIF
     317    ENDIF
     318
     319    ; Terminate assembly by forcing an error.
     320    .ERR
     321
     322ENDM
     323
    221324
    222325
     
    228331; in the BSS.
    229332;
    230 MaxDisks                   equ      64
     333MaxDisks                equ     64
    231334
    232335;
    233336; If defined then include DEBUG.ASM and output debug-info to serial-port.
    234337;
    235 ;AuxDebug                   equ      1
     338;AuxDebug                equ     1
    236339
    237340; Com-port for debugging, 0 is disabled
    238 BiosComPort                equ      0
     341BiosComPort             equ     0
    239342
    240343
     
    251354
    252355; 9600 bps, no parity, 1 stop-bit, 8 bits per char
    253 AuxInitParms               equ      11100011b
     356AuxInitParms            equ     11100011b
    254357
    255358; Default word value for BIOS_AuxParms variable
    256359; Note that is has moved since v1.07
    257 BIOS_AuxParmsDefault       equ      (AuxInitParms SHL 8) OR BiosComPort
     360BIOS_AuxParmsDefault    equ     (AuxInitParms SHL 8) OR BiosComPort
    258361
    259362;
    260363; If ReleaseCode is not defined, it will produce debug-able code...
    261364;
    262 ReleaseCode                equ      -1
    263 
    264 
    265 
    266 
    267 
    268 ;
    269 ; All Special Equs for this project
     365ReleaseCode             equ     -1
     366
     367
     368
     369
     370
     371;
     372; All Special Equ's for this project
    270373;
    271374
    272375; Use different addresses depending on whether in pre-boot
    273 ; or debug environment.
     376; or debug (dos) environment.
    274377IFDEF ReleaseCode
    275    StartBaseSeg             equ     00000h   ; Pre-boot, we are in low memory
    276    StartBasePtr             equ     07C00h   ; BIOS starts our MBR at 0:7C00
    277   ELSE
    278    StartBaseSeg             equ     03A98h   ; Adjust to DOS segment
    279                                              ; Rousseau: where does this value
    280                                              ; come from ?
    281                                              ; Should be CS;
    282                                              ; Rectified in actual code by
    283                                              ; ignoring this value.
    284    StartBasePtr             equ     00100h   ; We are a .com file,DOS is active
     378    StartBaseSeg    equ     00000h  ; Pre-boot, we are in low memory
     379    StartBasePtr    equ     07C00h  ; BIOS starts our MBR at 0:7C00
     380ELSE
     381    ; Rousseau: where does this value come from ?
     382    ; Should be CS.
     383    ; Rectified in actual code by ignoring this value.
     384    StartBaseSeg    equ     03A98h  ; Adjust to DOS segment
     385    StartBasePtr    equ     00100h  ; We are a .COM file, DOS is active
    285386ENDIF
    286387
     
    299400
    300401; Include
    301 Include ..\INCLUDE\asm.inc
    302 ;Include ..\INCLUDE\DOS\airboot.inc    ; does not exist anymore
     402Include ../INCLUDE/ASM.INC
    303403
    304404; Special line-drawing characters
    305 TextChar_WinLineRight       equ       0C4h ; 'Ä'
    306 TextChar_WinLineDown        equ       0B3h ; '³'
    307 TextChar_WinRep1            equ       0D1h ; 'Ñ'
    308 TextChar_WinRep2            equ       0C5h ; 'Ã
    309 '
    310 TextChar_WinRep3            equ       0CFh ; 'Ï'
    311 TextChar_WinRep4            equ       0B5h ; 'µ'
    312 TextChar_WinRep5            equ       0C6h ; 'Æ'
    313 TextChar_WinRep6            equ       0D8h ; 'Ø'
     405TextChar_WinLineRight       equ     0C4h ; 'Ä'
     406TextChar_WinLineDown        equ     0B3h ; '³'
     407TextChar_WinRep1            equ     0D1h ; 'Ñ'
     408TextChar_WinRep2            equ     0C5h ; 'Å'
     409TextChar_WinRep3            equ     0CFh ; 'Ï'
     410TextChar_WinRep4            equ     0B5h ; 'µ'
     411TextChar_WinRep5            equ     0C6h ; 'Æ'
     412TextChar_WinRep6            equ     0D8h ; 'Ø'
    314413
    315414; Offsets for Partition-Entries in MBR/EPRs
    316 LocBRPT_LenOfEntry          equ         16   ; Length of a standard MBR or EPR entry
    317 LocBRPT_Flags               equ          0   ; Bootable, Hidden, etc.
    318 LocBRPT_BeginCHS            equ          1   ; Combined 10-bits cyl with 6 bits
    319 LocBRPT_BeginHead           equ          1   ; Start head      (0<=H<255)    255 is invalid !
    320 LocBRPT_BeginSector         equ          2   ; Start sector    (1<=S<=255)
    321 LocBRPT_BeginCylinder       equ          3   ; Start cylinder  (0<=C<[1024,16384,65536,n])
    322 LocBRPT_SystemID            equ          4   ; Type of system using the partition
    323 LocBRPT_EndCHS              equ          5   ; Same for end of partition
    324 LocBRPT_EndHead             equ          5
    325 LocBRPT_EndSector           equ          6
    326 LocBRPT_EndCylinder         equ          7
    327 LocBRPT_RelativeBegin       equ          8
    328 LocBRPT_AbsoluteLength      equ         12
    329 
    330 LocBR_Magic                 equ        510
     415LocBRPT_LenOfEntry          equ     16  ; Length of a standard MBR or EPR entry
     416LocBRPT_Flags               equ     0   ; Bootable, Hidden, etc.
     417LocBRPT_BeginCHS            equ     1   ; Combined 10-bits cyl with 6 bits
     418LocBRPT_BeginHead           equ     1   ; Start head      (0<=H<255)    255 is invalid !
     419LocBRPT_BeginSector         equ     2   ; Start sector    (1<=S<=255)
     420LocBRPT_BeginCylinder       equ     3   ; Start cylinder  (0<=C<[1024,16384,65536,n])
     421LocBRPT_SystemID            equ     4   ; Type of system using the partition
     422LocBRPT_EndCHS              equ     5   ; Same for end of partition
     423LocBRPT_EndHead             equ     5
     424LocBRPT_EndSector           equ     6
     425LocBRPT_EndCylinder         equ     7
     426LocBRPT_RelativeBegin       equ     8
     427LocBRPT_AbsoluteLength      equ     12
     428
     429LocBR_Magic                 equ     510
    331430
    332431
    333432; Used as a quick compare in LVM.ASM
    334 LocLVM_SignatureByte0       equ         02h
     433LocLVM_SignatureByte0       equ     02h
    335434
    336435; Offsets for LVM Information Sector.
    337436; These are relative to the start of the LVM sector.
    338 LocLVM_SignatureStart       equ         00h ; 02h,'RMBPMFD' (8 bytes)
    339 LocLVM_CRC                  equ         08h ; CRC is a DWORD
    340 LocLVM_Heads                equ         1ch ; Number of heads
    341 LocLVM_Secs                 equ         20h ; Sectors per Track
    342 LocLVM_DiskName             equ         24h ; Name of the disk
    343 LocLVM_StartOfEntries       equ         3ch ; (contains maximum of 4 entries)
    344 LocLVM_LenOfEntry           equ         3ch ; Length of an LVM-entry
     437LocLVM_SignatureStart       equ     00h ; 02h,'RMBPMFD' (8 bytes)
     438LocLVM_CRC                  equ     08h ; CRC is a DWORD
     439LocLVM_Heads                equ     1ch ; Number of heads
     440LocLVM_Secs                 equ     20h ; Sectors per Track
     441LocLVM_DiskName             equ     24h ; Name of the disk
     442LocLVM_StartOfEntries       equ     3ch ; (contains maximum of 4 entries)
     443LocLVM_LenOfEntry           equ     3ch ; Length of an LVM-entry
    345444
    346445; An LVM info-sector can contain information on max. 4 partitions.
     
    349448; of the logical partition and only one LVM entry is used in that logical
    350449; LVM info-sector.
    351 LocLVM_MaxEntries           equ          4  ; Max entries in an LVM-sector
     450LocLVM_MaxEntries           equ     4   ; Max entries in an LVM-sector
    352451
    353452; Offsets for LVM entry.
    354453; These are relative to the start of the entry.
    355 LocLVM_VolumeID             equ         00h ; is DWORD
    356 LocLVM_PartitionID          equ         04h ; is DWORD
    357 LocLVM_PartitionSize        equ         08h ; is DWORD
    358 LocLVM_PartitionStart       equ         0ch ; is DWORD
    359 LocLVM_OnBootMenu           equ         10h ; is on IBM BM Bootmenu
    360 LocLVM_Startable            equ         11h ; is Startable (newly installed system)
    361 LocLVM_VolumeLetter         equ         12h ; is Drive Letter for partition (C-Z or 0)
    362 LocLVM_Unknown              equ         13h ; unknown BYTE
     454LocLVM_VolumeID             equ     00h ; is DWORD
     455LocLVM_PartitionID          equ     04h ; is DWORD
     456LocLVM_PartitionSize        equ     08h ; is DWORD
     457LocLVM_PartitionStart       equ     0ch ; is DWORD
     458LocLVM_OnBootMenu           equ     10h ; is on IBM BM Bootmenu
     459LocLVM_Startable            equ     11h ; is Startable (newly installed system)
     460LocLVM_VolumeLetter         equ     12h ; is Drive Letter for partition (C-Z or 0)
     461LocLVM_Unknown              equ     13h ; unknown BYTE
     462
    363463; Truncated to 11 chars when  displayed in menu.
    364464; MiniLVM sets both to the same value.
    365465; Also, MiniLVM uses a 0-byte terminator, so the maximum length is 19d.
    366466; Same goes for LocLVM_DiskName.
    367 LocLVM_VolumeName           equ         14h ; 20 bytes
    368 LocLVM_PartitionName        equ         28h ; 20 bytes (Used in menu)
     467LocLVM_VolumeName           equ     14h ; 20 bytes
     468LocLVM_PartitionName        equ     28h ; 20 bytes (Used in menu)
    369469
    370470
    371471
    372472; Offsets for IPT (Internal Partition Table)
    373 LocIPT_MaxPartitions        equ         partition_count  ; 45 in v1.07
    374 LocIPT_LenOfSizeElement     equ          6   ; Size of one Size-Element
    375 LocIPT_LenOfIPT             equ         34   ; Length of an IPT-entry
    376 LocIPT_Serial               equ          0   ; Serial from MBR ?
    377 LocIPT_Name                 equ          4   ; Name from FS or LVM  (part/vol)
    378 LocIPT_Drive                equ         15   ; Drive-ID             (80h,81h)
    379 LocIPT_SystemID             equ         16   ; Partition-Type       (06,07,etc)
    380 LocIPT_Flags                equ         17   ; AiR-BOOT Flags for partition (see below)
    381 LocIPT_BootRecordCRC        equ         18   ; CRC of Boot-Record
    382 LocIPT_LocationBegin        equ         20   ; Begin of Partition
    383 LocIPT_LocationPartTable    equ         23   ; PartitionTable of Partition
    384 LocIPT_AbsoluteBegin        equ         26   ; Absolute Sector of Begin
    385 LocIPT_AbsolutePartTable    equ         30   ; Absolute Sector of PartTable
     473LocIPT_MaxPartitions        equ     partition_count ; 45 in v1.07
     474LocIPT_LenOfSizeElement     equ     6   ; Size of one Size-Element
     475LocIPT_LenOfIPT             equ     34  ; Length of an IPT-entry
     476LocIPT_Serial               equ     0   ; Serial from MBR ?
     477LocIPT_Name                 equ     4   ; Name from FS or LVM  (part/vol)
     478LocIPT_Drive                equ     15  ; Drive-ID             (80h,81h)
     479LocIPT_SystemID             equ     16  ; Partition-Type       (06,07,etc)
     480LocIPT_Flags                equ     17  ; AiR-BOOT Flags for partition (see below)
     481LocIPT_BootRecordCRC        equ     18  ; CRC of Boot-Record
     482LocIPT_LocationBegin        equ     20  ; Begin of Partition
     483LocIPT_LocationPartTable    equ     23  ; PartitionTable of Partition
     484LocIPT_AbsoluteBegin        equ     26  ; Absolute Sector of Begin
     485LocIPT_AbsolutePartTable    equ     30  ; Absolute Sector of PartTable
    386486
    387487; AiR-BOOT IPT-Flags
    388 LocIPT_DefaultFlags         equ   00000011b  ; Don't know if boot-able :)
    389 LocIPT_DefaultNonBootFlags  equ   00000010b  ; ...VIBR Detection is always on
    390 
    391 Flags_BootAble              equ   00000001b
    392 Flags_VIBR_Detection        equ   00000010b
    393 Flags_HideFeature           equ   00000100b
    394 Flags_DriveLetter           equ   00001000b  ; OS/2 FAT16/HPFS only
    395 Flags_ExtPartMShack         equ   00010000b  ; Extended Partition M$-Hack req ?
    396 Flags_NoPartName            equ   01000000b
    397 Flags_NowFound              equ   10000000b  ; temp only in OldPartTable
    398 Flags_SpecialMarker         equ   10000000b  ; temp only for HiddenSetup
    399 
    400 FileSysFlags_BootAble       equ   00000001b  ; Is this Partition boot-able ?
    401 FileSysFlags_FAT32          equ   00010000b  ; FAT 32 specific name getting
    402 FileSysFlags_NoName         equ   00100000b  ; No Name - use PartitionName
    403 FileSysFlags_DriveLetter    equ   01000000b  ; DriveLetter Feature possible
     488LocIPT_DefaultFlags         equ     00000011b   ; Don't know if boot-able :)
     489LocIPT_DefaultNonBootFlags  equ     00000010b   ; ...VIBR Detection is always on
     490
     491Flags_Bootable              equ     00000001b
     492Flags_VIBR_Detection        equ     00000010b
     493Flags_HideFeature           equ     00000100b
     494Flags_DriveLetter           equ     00001000b   ; OS/2 FAT16/HPFS only
     495Flags_ExtPartMShack         equ     00010000b   ; Extended Partition M$-Hack req ?
     496Flags_NoPartName            equ     01000000b
     497Flags_NowFound              equ     10000000b   ; temp only in OldPartTable
     498Flags_SpecialMarker         equ     10000000b   ; temp only for HiddenSetup
     499
     500FileSysFlags_BootAble       equ     00000001b   ; Is this Partition boot-able ?
     501FileSysFlags_FAT32          equ     00010000b   ; FAT 32 specific name getting
     502FileSysFlags_NoName         equ     00100000b   ; No Name - use PartitionName
     503FileSysFlags_DriveLetter    equ     01000000b   ; DriveLetter Feature possible
    404504
    405505; Navigation keys
    406 Keys_Up                     equ         48h
    407 Keys_Down                   equ         50h
    408 Keys_Left                   equ         4Bh
    409 Keys_Right                  equ         4Dh
    410 Keys_PageUp                 equ         49h
    411 Keys_PageDown               equ         51h
    412 Keys_GrayPlus               equ         4Eh
    413 Keys_GrayMinus              equ         4Ah
    414 Keys_Plus                   equ         1Bh
    415 Keys_Minus                  equ         35h
    416 Keys_Enter                  equ         1Ch
    417 Keys_ESC                    equ          1h
    418 Keys_F1                     equ         3Bh
    419 Keys_F10                    equ         44h
    420 Keys_C                      equ         2Eh ; Add. Check auf Ctrl!
    421 Keys_Y                      equ         2Ch
    422 Keys_Z                      equ         15h
    423 Keys_N                      equ         31h
    424 Keys_TAB                    equ         0Fh
    425 Keys_Delete                 equ         53h
    426 Keys_Backspace              equ         0Eh
    427 Keys_Space                  equ         20h
    428 
    429 Keys_Flags_EnterSetup       equ       1100b ; Strg+Alt (AL)
    430 
    431 
    432       ; ------------------------------------------
    433       ; Rousseau: # Changed this from .386 to .286
    434       ; ------------------------------------------
    435       ; Because of the TASM-bug the processor had to be changed to turn JUMPS
    436       ; off. Existing movzx instructions were replaced with 286 equivalent code.
    437       ; Out of range relative jumps have been recoded.
    438       ; AiR-BOOT can now run on a 286 processor :-)
    439                 .286
    440 
    441                ; This influences the uses directive and other stuff,
    442                ; like calling-style.
    443                ; The model itself,large, has no effect because we generate
    444                ; a binairy image and not a segmented executable.
    445                .model large, basic
     506Keys_Up                     equ     48h
     507Keys_Down                   equ     50h
     508Keys_Left                   equ     4Bh
     509Keys_Right                  equ     4Dh
     510Keys_PageUp                 equ     49h
     511Keys_PageDown               equ     51h
     512Keys_GrayPlus               equ     4Eh
     513Keys_GrayMinus              equ     4Ah
     514Keys_Plus                   equ     1Bh
     515Keys_Minus                  equ     35h
     516Keys_ENTER                  equ     1Ch
     517Keys_ESC                    equ     1h
     518Keys_F1                     equ     3Bh
     519Keys_F10                    equ     44h
     520Keys_C                      equ     2Eh     ; Add. Check auf Ctrl!
     521Keys_Y                      equ     2Ch
     522Keys_Z                      equ     15h
     523Keys_N                      equ     31h
     524Keys_TAB                    equ     0Fh
     525Keys_Delete                 equ     53h
     526Keys_Backspace              equ     0Eh
     527Keys_Space                  equ     20h
     528
     529Keys_Flags_EnterSetup       equ     1100b   ; Strg+Alt (AL)
     530
     531
     532                ; ------------------------------------------
     533                ; Rousseau: # Changed this from .386 to .286
     534                ; ------------------------------------------
     535                ; Because of the TASM-bug the processor had to be changed to turn JUMPS
     536                ; off. Existing movzx instructions were replaced with 286 equivalent code.
     537                ; Out of range relative jumps have been recoded.
     538                ; TASM still generates an extra NOP after test [mem],1
     539                ; instructions.
     540                ; JWasm produces tighter code.
     541                ; JWasm:
     542                ; With segment overrides, the address is expanded to the bit-width.
     543                ; So, .386 will generate a 32-bit address, even in a USE16 segment.
     544                .286
     545
     546                ; This influences the uses directive and other stuff,
     547                ; like calling-style and local variables.
     548                ; The model itself,large, has no effect because we generate
     549                ; a binairy image and not a segmented executable.
     550
     551                ; Tasm needs a memory model for USES on PROC to work.
     552                IFDEF   TASM
     553                ;.model large, basic
     554                .model  tiny,c
     555                ENDIF
     556
     557;
     558; This is used to switch between the original 1-segment (code_seg) and the
     559; 2-segment (code_seg and bss_data).
     560; The 2-segment layout was needed for JWasm because it does not treat
     561; db ? in a code segment as bss-data, even if at the end of the code segment.
     562; Therefore, a true BSS segment is now used.
     563; Both the code_seg and the bss_data are grouped to the logical airboot
     564; segment.
     565; Note that this influences the offsets in the BSS in the list-file and
     566; the wdis disassembly file (.WDA).
     567; They are now segment-relative. The true offset is resolved at link
     568; time.
     569;
     570SEGMENTED   EQU 1
     571
     572IFDEF   SEGMENTED
     573            AIRBOOT     GROUP   IMAGE,VOLATILE
     574ENDIF
    446575
    447576; Our code-segment starts here.
    448 ; We are running in 16-bit and we like it
    449 code_seg        segment public use16
    450                 assume  cs:code_seg, ds:code_seg, es:nothing, ss:nothing
    451 
     577IMAGE       SEGMENT     USE16   PUBLIC  'MIXED'
     578
     579IFDEF   SEGMENTED
     580            ASSUME      CS:AIRBOOT, DS:AIRBOOT, ES:nothing, SS:nothing
     581ELSE
     582            ASSUME      CS:IMAGE,   DS:IMAGE,   ES:nothing, SS:nothing
     583ENDIF
    452584
    453585
     
    456588
    457589
    458                            ; We are not a .com file at 100h but a binary image
    459                            ; of which only the 1st sector gets loaded at 07c00h.
    460                            org 00000h                          ; Sector 1
     590                ; We are not a .com file at 100h but a binary image
     591                ; of which only the 1st sector gets loaded at 07c00h.
     592                org 00000h                          ; Sector 1
    461593
    462594; Start of sector 1
     
    481613
    482614;------------------------------------------------------------------------------
    483 AiR_BOOT:     cli                         ; Some M$ operating systems need a CLI
    484                                           ;  here otherwise they will go beserk
    485                                           ;  and will do funny things during
    486                                           ;  boot phase, it's laughable!
    487               db      0EBh                ; JMP-Short -> MBR_Start
    488               ; Uses the 'A' as the displacement !
    489               db      'AiRBOOT', 24h, 01h, 20h, 12h, 01h, 08h, TXT_LanguageID
    490 
    491               ; ID String, Date (DD,MM,CC,YY), Version Number, Language ID
    492               db      1                   ; Total Sectors Count,
    493                                           ; Will get overwritten by FIXBSET.exe
    494 MBR_CheckCode dw      0                   ; Check-Sum for Code
     615AiR_BOOT:
     616
     617                ; Some M$ operating systems need a CLI
     618                ; here otherwise they will go beserk
     619                ; and will do funny things during
     620                ; boot phase, it's laughable!
     621                cli
     622
     623                ; JMP-Short -> MBR_Start
     624                ; Uses the 'A' from the signature as the displacement !
     625                db      0EBh
     626
     627                ; ID String, Date (DD,MM,CC,YY), Version Number, Language ID
     628                db      'AiRBOOT', 15h, 02h, 20h, 12h, 01h, 08h, TXT_LanguageID
     629
     630                ; Total Sectors Count.
     631                ; Will get overwritten by FIXCODE.
     632                db      1
     633
     634                ; Total Sectors Count,
     635                ; Dynamic calculation.
     636                ;~ db      (CODE_END-$)/512
     637
     638
     639MBR_CheckCode   dw      0               ; Check-Sum for Code
    495640
    496641;
     
    498643; below as this will cause the jump-link to go haywire.
    499644;
    500 MBR_Start:    sti                         ;    This opcode is dedicated to:
    501               cld                         ;    =MICROSOFT JUMP DEPARTMENT=
    502 
    503               ; Setup some base stuff
    504               ; AX got loaded wrongly for debug, changed the instructions
    505               ; without modifying the number of bytes.
    506               ; Don't comment-out the redundant instruction below because this
    507               ; *will* change the number of bytes and break the jump-chain.
    508               mov     ax, StartBaseSeg    ; The segment we are moving ourself from (NOT USED)
    509               ;mov     ds, ax
    510               push   cs
    511               pop    ds
    512               mov     si, StartBasePtr    ; The offset we are moving ourself from
    513               mov     ax, BootBaseSeg     ; The target segment we are moving ourself to
    514               mov     es, ax
    515               mov     di, BootBasePtr     ; The target offset we are moving ourself to
    516 
    517               ; Depending on pre-boot or debug,
    518               ; only move first 512 bytes or the whole she-bang++ (65400 bytes)
    519               IFDEF ReleaseCode
    520                  mov     cx, 256          ; Pre-boot environment
    521                 ELSE
    522                  mov     cx, 32700        ; Debug environment (move ~64kB)
    523               ENDIF
    524 
    525               ;
    526               ; LET's MOVE OURSELVES !
    527               ;
    528               rep     movsw
    529 
    530               ; Code an intersegment jump to the new location
    531               db      0EAh
    532               dw      BootBaseExec        ; This is MBR_RealStart + BootBasePtr
    533               dw      BootBaseSeg         ; This is 08000h
    534               ; jmp     far ptr BootBaseSeg:BootBaseExec
     645MBR_Start:
     646                sti                     ;    This opcode is dedicated to:
     647                cld                     ;    =MICROSOFT JUMP DEPARTMENT=
     648
     649                ; Setup some base stuff
     650                ; AX got loaded wrongly for debug, changed the instructions
     651                ; without modifying the number of bytes.
     652                ; Don't comment-out the redundant instruction below because this
     653                ; *will* change the number of bytes and break the jump-chain.
     654                mov     ax, StartBaseSeg    ; The segment we are moving ourself from (NOT USED)
     655                ;mov     ds, ax
     656                push    cs
     657                pop     ds
     658                mov     si, StartBasePtr    ; The offset we are moving ourself from
     659                mov     ax, BootBaseSeg     ; The target segment we are moving ourself to
     660                mov     es, ax
     661                mov     di, BootBasePtr     ; The target offset we are moving ourself to
     662
     663            ; Depending on pre-boot or debug,
     664            ; only move first 512 bytes or the whole she-bang++ (65400 bytes)
     665            IFDEF ReleaseCode
     666                mov     cx, 256          ; Pre-boot environment
     667            ELSE
     668                mov     cx, 32700        ; Debug environment (move ~64kB)
     669            ENDIF
     670
     671                ;
     672                ; LET's MOVE OURSELVES !
     673                ;
     674                rep     movsw
     675
     676                ; Code an intersegment jump to the new location
     677                db      0EAh
     678                dw      BootBaseExec        ; This is MBR_RealStart + BootBasePtr
     679                dw      BootBaseSeg         ; This is 08000h
     680                ;jmp     far ptr BootBaseSeg:BootBaseExec
    535681
    536682
     
    543689;
    544690MBR_HaltSystem:
    545               mov     ax, 8600h
    546               xor     cx, cx
    547               mov     dx, 500
    548               int     15h                ; Wait to display the whole screen :]
    549 MBR_HaltSys:  cli
    550               jmp     MBR_HaltSys
    551 
    552 
    553 
    554                      ; Comport settings
    555                      ; It had to be moved to create room for the double I13X
    556                      ; signature.
    557                      ; It cannot be in the config-area (sector 55)
    558                      ; because that area
    559                      ; is crc-protected.
    560 BIOS_AuxParms        dw     BIOS_AuxParmsDefault
     691                mov     ax, 8600h
     692                xor     cx, cx
     693                mov     dx, 500
     694                int     15h                 ; Wait to display the whole screen :]
     695MBR_HaltSys:    cli
     696                jmp     MBR_HaltSys
     697
     698
     699
     700; Comport settings
     701; It had to be moved to create room for the double I13X
     702; signature.
     703; It cannot be in the config-area (sector 55)
     704; because that area
     705; is crc-protected.
     706BIOS_AuxParms   dw      BIOS_AuxParmsDefault
    561707
    562708;
     
    564710; Should check overflow here, later...
    565711;
    566 reserved       db     6 dup(0)
    567 
    568 
    569                ;
    570                ; We jump here after the first instructions of the
    571                ; AiR-BOOT signature.
    572                ; So we ensure the jump is always at this offset.
    573                org      044h
    574                jmp      MBR_Start      ; We jump here, because I needed to
    575                                        ; insert a CLI on start and did not
    576                                        ; want to change AiR-BOOT detection
    577                                        ; because of Microsoft inventions...
     712reserved        db      6   dup('X')
     713
     714
     715                ;
     716                ; We arrive here after the first jump using the 'A' of the
     717                ; AiR-BOOT signature.
     718                ; So we ensure the jump is always at this offset.
     719                ; We jump here, because Martin needed to
     720                ; insert a CLI on start and did not
     721                ; want to change the AiR-BOOT signature
     722                ; because of Microsoft inventions...
     723
     724
     725
     726
     727
     728here = $
     729                org     044h
     730                check_overlap   here
     731
     732
     733
     734                ; Jump again...
     735                ; This time to the setup-code.
     736                jmp     MBR_Start
     737
    578738;
    579739; Entry-point when loading fails.
    580740;
    581               db      'LOAD ERROR!', 0
    582 MBR_LoadError                 Proc Near
    583       mov      si, offset $-12
    584       push     cs
    585       pop      ds
    586       call     MBR_Teletype
    587    MBRLE_Halt:
    588       jmp      MBRLE_Halt
    589 MBR_LoadError                 EndP
     741                db      'LOAD ERROR!', 0
     742MBR_LoadError   Proc Near
     743        mov     si, offset $-12
     744        push    cs
     745        pop     ds
     746        call    MBR_Teletype
     747    MBRLE_Halt:
     748        jmp     MBRLE_Halt
     749MBR_LoadError   EndP
    590750
    591751
     
    593753; Entry-point when saving fails.
    594754;
    595               db      'SAVE ERROR!', 0
    596 MBR_SaveError                 Proc Near
    597       mov      si, offset $-12
    598       push     cs
    599       pop      ds
    600       call     MBR_Teletype
    601    MBRSE_Halt:
    602       jmp      MBRSE_Halt
    603 MBR_SaveError                 EndP
     755                db      'SAVE ERROR!', 0
     756MBR_SaveError   Proc Near
     757        mov     si, offset $-12
     758        push    cs
     759        pop     ds
     760        call    MBR_Teletype
     761    MBRSE_Halt:
     762        jmp     MBRSE_Halt
     763MBR_SaveError   EndP
    604764
    605765
     
    608768;        In: SI - Pointer to begin of string (EOS is 0)
    609769; Destroyed: SI
    610 MBR_Teletype                    Proc Near   Uses ax bx cx
    611       mov      ah, 0Eh
    612       mov      bx, 7
    613    MBRT_Loop:
    614       lodsb
    615       or       al, al
    616       jz       MBRT_End
    617       int      10h
    618       jmp      MBRT_Loop
    619    MBRT_End:
    620       ret
    621 MBR_Teletype                    EndP
     770MBR_Teletype    Proc Near   Uses ax bx cx
     771        mov     ah, 0Eh
     772        mov     bx, 7
     773    MBRT_Loop:
     774        lodsb
     775        or      al, al
     776        jz      MBRT_End
     777        int     10h
     778        jmp     MBRT_Loop
     779    MBRT_End:
     780        ret
     781MBR_Teletype    EndP
    622782
    623783;
     
    628788;       Out: BX - Base Check Result
    629789; Destroyed: SI will get updated (+512)
    630 MBR_GetCheckOfSector            Proc Near   Uses ax cx
    631    mov    cx, 256
    632   MBRGCOS_Loop:
    633        lodsw
    634        xor    ax, 0BABEh
    635        xor    bx, ax
    636    loop   MBRGCOS_Loop
    637    or     bx, bx
    638    jnz    MBRGCOS_NoFixUp
    639    mov    bx, 1                          ; dont allow 0, cause 0 == empty
    640   MBRGCOS_NoFixUp:
    641    ret
    642 MBR_GetCheckOfSector            EndP
     790MBR_GetCheckOfSector    Proc Near   Uses ax cx
     791        mov     cx, 256
     792    MBRGCOS_Loop:
     793        lodsw
     794        xor     ax, 0BABEh
     795        xor     bx, ax
     796        loop    MBRGCOS_Loop
     797        or      bx, bx
     798        jnz     MBRGCOS_NoFixUp
     799        mov     bx, 1                   ; dont allow 0, cause 0 == empty
     800    MBRGCOS_NoFixUp:
     801        ret
     802MBR_GetCheckOfSector    EndP
    643803
    644804
     
    653813;------------------------------------------------------------------------------
    654814MBR_RealStart:
    655               mov     ax, StackSeg        ; 07000h, below the moved code
    656               mov     ss, ax
    657               ;mov     sp, 7FFFh          ; Odd stack-pointer ??
    658               mov     sp, 7FFEh           ; Even is better
    659               mov     ax, es              ; ES holds segment where we moved to
    660               mov     ds, ax              ; Set DS==ES to Code Segment
    661 
    662               ; If we are in debug-mode, all code is moved already,
    663               ; so we can directly jump to it.
    664               ; One difference is that in debug-mode, the whole .com image is
    665               ; loaded by dos while when air-boot is active from the MBR it
    666               ; does the loading itself.
    667               IFNDEF ReleaseCode
    668                  jmp     AiR_BOOT_Start
    669               ENDIF
    670 
    671 
    672               ; Load missing parts from harddrive...
    673 ;              mov     ax, cs              ; actually obsolete
    674 ;              mov     es, ax              ; actually obsolete
    675 
    676               ; Load the configuration-sectors from disk.
    677               mov     bx, offset Configuration
    678               mov     dx, 0080h           ; First harddrive, Sector 55
    679               mov     cx, 0037h           ; Is 55d is config-sector
    680 
    681               ; Call the i/o-part
    682               call MBR_LoadConfig
    683 
    684               jnc     MBR_ConfigCopy_NoError
    685 
    686               ; Some error occured
    687              MBR_ConfigCopy_LoadError:
    688               call    MBR_LoadError       ; Will Abort BootUp
    689 
    690               ; Load the code sectors
    691              MBR_ConfigCopy_NoError:
    692               mov     bx, offset FurtherMoreLoad
    693               mov     dx, 0080h           ; First harddrive
    694               mov     cx, 0002h           ; Second sector
    695               mov     ah, 02h
    696 
    697               mov     al, ds:[10h]        ; Number of code sectors
    698               int     13h
    699               jnc     MBR_RealStart_NoError
    700               jmp     MBR_ConfigCopy_LoadError
    701 
    702 
    703 
    704               ; [v1.05+]
    705               ; Signature for IBM's LVM to detect our "powerful" features ;)
    706               ; [v1.0.8+]
    707               ; Reworked MBR code to be able to create a double 'I13X' signature.
    708               ; MBR's created with LVM eCS v1.x have the signature at 0d5h
    709               ; MBR's created with LVM eCS v2.x have the signature at 0d0h
    710               ; See eCS bugtracker issue #3002
    711               db      0,'I13X',0,'I13X'
    712 
    713 
    714              MBR_RealStart_NoError:
    715               ; Now Check Code with CheckSum
    716               mov     si, offset FurtherMoreLoad
    717 
    718               ;movzx   cx, bptr ds:[10h]
    719               mov    cl, ds:[10h]
    720               mov    ch,0
    721 
    722               xor     bx, bx
    723              MBR_RealStart_CheckCodeLoop:
    724                  call    MBR_GetCheckOfSector
    725               loop    MBR_RealStart_CheckCodeLoop
    726 
    727 
    728               cmp     MBR_CheckCode, bx
    729               je      MBR_RealStart_CheckSuccess
    730 
    731               mov     si, offset TXT_ERROR_Attention
    732               call    MBR_Teletype
    733               mov     si, offset TXT_ERROR_CheckCode
    734               call    MBR_Teletype
    735               mov     si, offset TXT_ERROR_CheckFailed
    736               call    MBR_Teletype
    737               jmp     MBR_HaltSystem
    738              MBR_RealStart_CheckSuccess:
    739               jmp     AiR_BOOT_Start
     815                mov     ax, StackSeg    ; 07000h, below the moved code
     816                mov     ss, ax
     817                ;mov     sp, 7FFFh      ; Odd stack-pointer ??
     818                mov     sp, 7FFEh       ; Even is better
     819                mov     ax, es          ; ES holds segment where we moved to
     820                mov     ds, ax          ; Set DS==ES to Code Segment
     821
     822            ; If we are in debug-mode, all code is moved already,
     823            ; so we can directly jump to it.
     824            ; One difference is that in debug-mode, the whole .com image is
     825            ; loaded by dos while when air-boot is active from the MBR it
     826            ; does the loading itself.
     827            IFNDEF ReleaseCode
     828                jmp     AiR_BOOT_Start
     829            ENDIF
     830
     831
     832                ; Load missing parts from harddrive...
     833                ;mov     ax, cs          ; actually obsolete
     834                ;mov     es, ax          ; actually obsolete
     835
     836                ; Load the configuration-sectors from disk.
     837                mov     bx, offset Configuration
     838                mov     dx, 0080h       ; First harddrive, Sector 55
     839                mov     cx, 0037h       ; Is 55d is config-sector
     840
     841                ; Call the i/o-part
     842                call    MBR_LoadConfig
     843
     844                jnc     MBR_ConfigCopy_NoError
     845
     846                ; Some error occured
     847    MBR_ConfigCopy_LoadError:
     848                call    MBR_LoadError   ; Will Abort BootUp
     849
     850                ; Load the code sectors
     851    MBR_ConfigCopy_NoError:
     852                mov     bx, offset FurtherMoreLoad
     853                mov     dx, 0080h       ; First harddrive
     854                mov     cx, 0002h       ; Second sector
     855                mov     ah, 02h
     856
     857                ; This location is in the code-segment.
     858                ; When segment overrides are applied, the address is
     859                ; expanded to the bit-with.
     860                ; So the .286 or .386 directive influences the length
     861                ; of the instruction, even with a USE16 segment.
     862                mov     al, ds:[10h]    ; Number of code sectors
     863                int     13h
     864                jnc     MBR_RealStart_NoError
     865                jmp     MBR_ConfigCopy_LoadError
     866
     867
     868
     869                ; [v1.05+]
     870                ; Signature for IBM's LVM to detect our "powerful" features ;)
     871                ; [v1.0.8+]
     872                ; Reworked MBR code to be able to create a
     873                ; double 'I13X' signature.
     874                ; MBR's created with LVM eCS v1.x have the signature at 0d5h
     875                ; MBR's created with LVM eCS v2.x have the signature at 0d0h
     876                ; See eCS bugtracker issue #3002
     877                ; Update: These are actually MOV EAX,'X31I' instructions
     878                ; in the eCS LVM MBR-code. They are at different places in
     879                ; the v1.x and v2.x LVM code.
     880                ; Let's protect them with an org directive.
     881
     882here = $
     883                org     00d0h
     884                check_overlap   here
     885                ;org     00d0h
     886                db      'I13X',0,'I13X',0
     887
     888
     889    MBR_RealStart_NoError:
     890                ; Now Check Code with CheckSum
     891                mov     si, offset FurtherMoreLoad
     892
     893                ;movzx   cx, bptr ds:[10h]
     894                mov     cl, ds:[10h]
     895                mov     ch,0
     896
     897                xor     bx, bx
     898    MBR_RealStart_CheckCodeLoop:
     899                call    MBR_GetCheckOfSector
     900                loop    MBR_RealStart_CheckCodeLoop
     901
     902
     903                cmp     MBR_CheckCode, bx
     904                je      MBR_RealStart_CheckSuccess
     905
     906                mov     si, offset TXT_ERROR_Attention
     907                call    MBR_Teletype
     908                mov     si, offset TXT_ERROR_CheckCode
     909                call    MBR_Teletype
     910                mov     si, offset TXT_ERROR_CheckFailed
     911                call    MBR_Teletype
     912                jmp     MBR_HaltSystem
     913    MBR_RealStart_CheckSuccess:
     914                jmp     AiR_BOOT_Start
    740915
    741916
     
    744919
    745920;------------------------------------------------------------------------------
    746    Include TEXT\TXTMBR.asm                     ; All translateable Text in MBR
     921   Include TEXT/TXTMBR.ASM                     ; All translateable Text in MBR
    747922;------------------------------------------------------------------------------
    748923
    749 eot:
    750 
    751 ; Check for overlap
    752 slack00 = eos1 - eot
    753 IF slack00 LT 0
    754    .ERR2 "Location Overlap slack00 !"
    755 ENDIF
    756 
    757 
    758 ; bios aux
    759 
    760 eos1:
     924
    761925
    762926; This is an ugly kludge function to create space for the
     
    765929; in this function. That's done around line 500.
    766930; Putting this few bytes here creates just enough room.
    767 MBR_LoadConfig                Proc Near
    768               ; Changed from conditional assembler to calculated value
    769               ; Fixes issue: #2987 -- "air-boot doesn't remember drive letter"
    770               ; Size of the ab-configuration in 512 byte sectors
    771               mov     al, (MBR_BackUpMBR - Configuration) / 200h
    772               mov     ah,02h
    773               int     13h
    774       ret
    775 MBR_LoadConfig                EndP
    776 
    777                            org   001B8h
    778 
    779                            ; Disk Signature
    780                            ; Note that in an LVM 2.x MBR this collides
    781                            ; with the dummy PTE that it used to look for IBM-BM
    782                            ; on the second harddisk.
    783                            db    'DSIG'
    784 
    785                            ; Unused word at 01BCh
    786                            ; An LVM 2.x MBR puts 'CC33' here.
    787                            dw    '$$'
    788 
    789                            ; Partition Table
    790                            db    16    dup('0')
    791                            db    16    dup('1')
    792                            db    16    dup('2')
    793                            db    16    dup('3')
    794 
    795                            ; Boot Sigbature
    796                            dw    0aa55h
    797 
    798                            org   00200h
     931MBR_LoadConfig  Proc Near
     932        ; Changed from conditional assembler to calculated value
     933        ; Fixes issue: #2987 -- "air-boot doesn't remember drive letter"
     934        ; Size of the ab-configuration in 512 byte sectors
     935        mov     al, (MBR_BackUpMBR - Configuration) / 200h
     936        mov     ah,02h
     937        int     13h
     938        ret
     939MBR_LoadConfig  EndP
     940
     941
     942here = $
     943                org     001b8h
     944                check_overlap   here
     945
     946                ; Disk Signature
     947                ; Note that in an LVM 2.x MBR this collides
     948                ; with the dummy PTE that it uses to look for IBM-BM
     949                ; on the second harddisk.
     950                db      'DSIG'
     951
     952                ; Unused word at 01BCh
     953                ; An LVM 2.x MBR puts 'CC33' here.
     954                dw      '$$'
     955
     956
     957                ; Partition Table
     958                db      16  dup('0')
     959                db      16  dup('1')
     960                db      16  dup('2')
     961                db      16  dup('3')
     962
     963                ; Boot Sigbature
     964                dw      0aa55h
     965
    799966; End of sector 1
    800967eos1a:
    801968
    802 ; Check for overlap
    803 slack01 = sos2 - eos1a
    804 IF slack01 LT 0
    805    .ERR2 "Location Overlap slack01 !"
    806 ENDIF
     969
    807970
    808971
     
    810973                                                                    ; Sector 2
    811974
    812                            ;
    813                            ; Here starts the second sector, sector 2
    814                            ;
    815                             org 00200h
     975                ;
     976                ; Here starts the second sector, sector 2
     977                ;
     978                org    00200h
    816979; Start of sector 2.
    817980sos2:
     
    827990;
    828991
    829                         ; first Normal-Partition-ID, Hidden-Partition-ID
    830                         ;  and Default-Partition-Flags.
    831                         ; 01h -> Boot-Able
    832                         ; 10h -> FAT32 - Name Getting Scheme
    833                         ; 20h -> No Name To Get (use Partition Name from IPT)
    834                         ; 40h -> 'L' flag possible
     992                ; first Normal-Partition-ID, Hidden-Partition-ID
     993                ;  and Default-Partition-Flags.
     994                ; 01h -> Boot-Able
     995                ; 10h -> FAT32 - Name Getting Scheme
     996                ; 20h -> No Name To Get (use Partition Name from IPT)
     997                ; 40h -> 'L' flag possible
    835998                db      'AiRSYS-TABLE'
    836 FileSysIDs:     db      01h, 11h,01h, 04h,014h,01h, 06h,016h,41h, 0Eh,00Eh,01h
     999FileSysIDs      db      01h, 11h,01h, 04h,014h,01h, 06h,016h,41h, 0Eh,00Eh,01h
    8371000                db      07h, 17h,41h, 08h,017h,21h, 35h,035h,20h,0FCh,017h,41h
    8381001                db      09h, 19h,11h, 0Bh,01Bh,11h, 0Ch,01Ch,11h,0EBh,0EBh,01h
     
    8471010                db      16 dup (0)
    8481011
    849 FileSysNames:   db      'FAT12   ', 'FAT16   ', 'FAT16Big', 'FAT16Big'
     1012FileSysNames    db      'FAT12   ', 'FAT16   ', 'FAT16Big', 'FAT16Big'
    8501013                db      'HPFS    ', 'NTFS    ', 'LVM-Data', 'JFS     '
    8511014                db      'FAT32   ', 'FAT32   ', 'FAT32   ', 'BeOS    '
     
    8661029
    8671030
    868 ; Check for overlap
    869 slack02 = sos3 - eos2
    870 IF slack02 LT 0
    871    .ERR2 "Location Overlap slack02 !"
    872 ENDIF
    8731031
    8741032
     
    8781036;==============================================================================
    8791037                                                                    ; Sector 3
    880                             org 00400h
     1038here = $
     1039                org     00400h
     1040                check_overlap   here
     1041
     1042
    8811043; Start of sector 3.
    8821044sos3:
     
    8961058
    8971059
    898                   ; ##############################################
    899                   ; ## ENTRY-POINT AFTER ALL THE INITIAL HASSLE ##
    900                   ; ##############################################
     1060                ; ##############################################
     1061                ; ## ENTRY-POINT AFTER ALL THE INITIAL HASSLE ##
     1062                ; ##############################################
    9011063
    9021064
     
    9201082        ; segment.
    9211083        ;
    922         pusha
    923         push    es
    924         xor     ax,ax
    925         mov     es,ax
    926         mov     si,offset BootBasePtr
    927         mov     di,7e00h
    928         mov     cx,100h
    929         cld
    930         rep     movsw
    931         pop     es
    932         popa
    933 
    934 
    935 
    936                ;jmp skip
    937 
    938                ; Rousseau:
    939                ; I should cleanup my garbage here...
    940 
    941                  ; Initialize Variable-Tables, Detections, etc.
    942                  call    PRECRAP_Main
    943 
    944                  ; Number of harddisks is now known
    945 
    946                  call    PARTSCAN_ScanForPartitions
    947 
    948 
    949                   ; Number of disks found
    950                  mov     si, offset DisksFound
    951                  call    MBR_Teletype
    952 
    953                  mov     al, [TotalHarddiscs]
    954                  call    VideoIO_SyncPos
    955                  call    VideoIO_PrintByteDynamicNumber
    956                  xor     si,si
    957                  call    MBR_TeletypeNL
    958 
    959                   ; Number of bootable systems indicator
    960                  mov     si, offset PartitionsFound
    961                  call    MBR_Teletype
    962 
    963                  mov     al, [CFG_Partitions]
    964                  call    VideoIO_SyncPos
    965                  call    VideoIO_PrintByteDynamicNumber
    966 
    967                   xor     si,si
    968                   call  MBR_TeletypeNL
    969                   call  MBR_TeletypeNL
    970 
    971                   call  VideoIO_SyncPos
    972 
    973                   mov   dl,80h
    974                   call  VideoIO_DumpDiskInfo
    975 
    976                  ;
    977                  ; Enumberate Bootable Systems by name
    978                  ; and prepare Phase 1 if active.
    979                  ;
    980                  ; This can also be implemented using the
    981                  ; Installable LVM-flag I think.
    982                  ; But at the time I had lesser knowledge about LVM...
    983                  ;
    984                  mov     si, offset PartitionTable
    985                  xor     cx,cx
    986                  mov     cl,[CFG_Partitions]
    987                MBR_Parts:
    988                  add     si, 4
    989                  push    si
    990                  push    si
    991                  ;call    MBR_TeletypeVolName
    992                  pop     si
    993                  call    PART_IsInstallVolume
    994                  jnc     MBR_Parts_NI
    995 
    996                  ; Install Volume
    997                  mov     al,' '
    998                  mov     bl,7
    999                  mov     ah, 0eh
    1000                  int     10h
    1001 
    1002                  mov     al,'('
    1003                  mov     bl,7
    1004                  mov     ah, 0eh
    1005                  int     10h
    1006 
    1007                  mov     al,[CFG_Partitions]
    1008                  sub     al,cl
    1009                  ;inc     al
    1010                  ;mov     [Menu_EntryAutomatic],al
    1011                  mov     [CFG_PartAutomatic],al       ; Setup entry for install-volume
    1012                  mov     [CFG_PartLast],al
    1013                  mov     ah, [eCS_InstallVolume]      ; 1st byte is 0 if no phase 1 active
    1014                  test    ah,ah                        ; test the byte, ZF is 0 if phase 1 active
    1015                  lahf                                 ; flags in ah
    1016                  xor     ah, 40h                      ; complement ZF
    1017                  and     ah, 40h                      ; mask ZF
    1018                  shr     ah, 6                        ; move ZF to LSB
    1019                  mov     [CFG_AutomaticBoot], ah      ; automatic boot if phase 1 is active
    1020 
    1021 
    1022                  add     al,'1'
    1023                  mov     bl,7
    1024                  mov     ah, 0eh
    1025                  int     10h
    1026 
    1027                   mov     al,')'
    1028                  mov     bl,7
    1029                  mov     ah, 0eh
    1030                  int     10h
    1031 
    1032                  mov     bx,cx
    1033 
    1034                MBR_Parts_NI:
    1035                  xor     si,si
    1036                  ;call    MBR_TeletypeNL
    1037                  pop     si
    1038                  add     si, 30
    1039                  loop    MBR_Parts
    1040 
    1041 
    1042 
    1043 
    1044                   ; Index of automatic start partition
    1045 ;                 mov     si, offset AutoStartPart
    1046                  ;call    MBR_Teletype
    1047 
    1048                  ;mov     al, [CFG_PartAutomatic]
    1049                  ;add     al, 31h
    1050                  ;mov     ah, 09h
    1051                  ;mov     bx, 15
    1052                  ;mov     cx, 1
    1053                  ;int     10h
    1054 
    1055                  ;mov     al, [CFG_PartAutomatic]
    1056                  ;add     al, 31h
    1057                  ;mov     ah, 0eh
    1058                  ;mov     bx, 15
    1059                  ;mov     cx, 1
    1060                  ;int     10h
    1061 
    1062                  xor     si,si
    1063                  call    MBR_TeletypeNL
    1064                  xor     si,si
    1065                  call    MBR_TeletypeNL
    1066 
    1067                  ;mov    ax,[BIOS_AuxParms]
    1068                  ;call   VideoIO_SyncPos
    1069                  ;push   ax
    1070                  ;add    al,'0'
    1071                  ;mov     bl,7
    1072                  ;mov     ah, 0eh
    1073                  ;int     10h
    1074                  ;pop    ax
    1075                  ;xchg   al,ah
    1076                  ;sub    al,0a2h
    1077                  ;mov     bl,7
    1078                  ;mov     ah, 0eh
    1079                  ;int     10h
    1080 
    1081 
    1082                  call      MBR_TeletypeSyncPos
    1083 
    1084                   xor      si,si
    1085                   call     MBR_TeletypeNL
    1086                   call     MBR_TeletypeNL
    1087 
    1088 
    1089 
    1090                  mov       si, offset ShowMenu
    1091                  call      MBR_TeletypeBold
     1084        pusha                           ; Save all the general purpose regs
     1085        push    es                      ; We need ES too, so save its value
     1086        xor     ax,ax                   ; Segment 0000h
     1087        mov     es,ax                   ; Make ES point to it
     1088        mov     si,offset BootBasePtr   ; Start of AiR-BOOT which has the MBR
     1089        mov     di,7e00h                ; Destination for the MBR for IBM-BM
     1090        mov     cx,100h                 ; 256 words = 512 bytes
     1091        cld                             ; Direction from low to high
     1092        rep     movsw                   ; Copy the 256 words of the MBR
     1093        pop     es                      ; Restore previous value of ES
     1094        popa                            ; Restore all the general purpose regs
     1095
     1096
     1097
     1098                ;jmp skip
     1099
     1100                ; Rousseau:
     1101                ; I should cleanup my garbage here...
     1102
     1103                ; Initialize Variable-Tables, Detections, etc.
     1104                call    PRECRAP_Main
     1105
     1106                ; Number of harddisks is now known
     1107
     1108                call    PARTSCAN_ScanForPartitions
     1109
     1110
     1111                ; Number of disks found
     1112                mov     si, offset DisksFound
     1113                call    MBR_Teletype
     1114
     1115                mov     al, [TotalHarddiscs]
     1116                call    VideoIO_SyncPos
     1117                call    VideoIO_PrintByteDynamicNumber
     1118                xor     si,si
     1119                call    MBR_TeletypeNL
     1120
     1121                ; Number of bootable systems indicator
     1122                mov     si, offset PartitionsFound
     1123                call    MBR_Teletype
     1124
     1125                mov     al, [CFG_Partitions]
     1126                call    VideoIO_SyncPos
     1127                call    VideoIO_PrintByteDynamicNumber
     1128
     1129                xor     si,si
     1130                call    MBR_TeletypeNL
     1131                call    MBR_TeletypeNL
     1132
     1133                call    VideoIO_SyncPos
     1134
     1135                mov     dl,80h
     1136                call    VideoIO_DumpDiskInfo
     1137
     1138                ;
     1139                ; Enumberate Bootable Systems by name
     1140                ; and prepare Phase 1 if active.
     1141                ;
     1142                ; This can also be implemented using the
     1143                ; Installable LVM-flag I think.
     1144                ; But at the time I had lesser knowledge about LVM...
     1145                ; So this algorithm may change in the future.
     1146                ;
     1147                mov     si, offset PartitionTable
     1148                xor     cx,cx
     1149                mov     cl,[CFG_Partitions]
     1150    MBR_Parts:
     1151                add     si, 4
     1152                push    si
     1153                push    si
     1154                ;call    MBR_TeletypeVolName
     1155                pop     si
     1156                call    PART_IsInstallVolume
     1157                jnc     MBR_Parts_NI
     1158
     1159                ; Install Volume
     1160                mov     al,' '
     1161                mov     bl,7
     1162                mov     ah, 0eh
     1163                int     10h
     1164
     1165                mov     al,'('
     1166                mov     bl,7
     1167                mov     ah, 0eh
     1168                int     10h
     1169
     1170                mov     al,[CFG_Partitions]
     1171                sub     al,cl
     1172                ;inc     al
     1173                ;mov     [Menu_EntryAutomatic],al
     1174                mov     [CFG_PartAutomatic],al  ; Setup entry for install-volume
     1175                mov     [CFG_PartLast],al
     1176                mov     ah, [eCS_InstallVolume] ; 1st byte is 0 if no phase 1 active
     1177                test    ah,ah                   ; test the byte, ZF is 0 if phase 1 active
     1178                lahf                            ; flags in ah
     1179                xor     ah, 40h                 ; complement ZF
     1180                and     ah, 40h                 ; mask ZF
     1181                shr     ah, 6                   ; move ZF to LSB
     1182                mov     [CFG_AutomaticBoot], ah ; automatic boot if phase 1 is active
     1183
     1184
     1185                add     al,'1'
     1186                mov     bl,7
     1187                mov     ah, 0eh
     1188                int     10h
     1189
     1190                mov     al,')'
     1191                mov     bl,7
     1192                mov     ah, 0eh
     1193                int     10h
     1194
     1195                mov     bx,cx
     1196
     1197    MBR_Parts_NI:
     1198                xor     si,si
     1199                ;call    MBR_TeletypeNL
     1200                pop     si
     1201                add     si, 30
     1202                loop    MBR_Parts
     1203
     1204
     1205
     1206
     1207                ; Index of automatic start partition
     1208                ;mov     si, offset AutoStartPart
     1209                ;call    MBR_Teletype
     1210
     1211                ;mov     al, [CFG_PartAutomatic]
     1212                ;add     al, 31h
     1213                ;mov     ah, 09h
     1214                ;mov     bx, 15
     1215                ;mov     cx, 1
     1216                ;int     10h
     1217
     1218                ;mov     al, [CFG_PartAutomatic]
     1219                ;add     al, 31h
     1220                ;mov     ah, 0eh
     1221                ;mov     bx, 15
     1222                ;mov     cx, 1
     1223                ;int     10h
     1224
     1225                xor     si,si
     1226                call    MBR_TeletypeNL
     1227                xor     si,si
     1228                call    MBR_TeletypeNL
     1229
     1230                ;mov    ax,[BIOS_AuxParms]
     1231                ;call   VideoIO_SyncPos
     1232                ;push   ax
     1233                ;add    al,'0'
     1234                ;mov     bl,7
     1235                ;mov     ah, 0eh
     1236                ;int     10h
     1237                ;pop    ax
     1238                ;xchg   al,ah
     1239                ;sub    al,0a2h
     1240                ;mov     bl,7
     1241                ;mov     ah, 0eh
     1242                ;int     10h
     1243
     1244
     1245                call    MBR_TeletypeSyncPos
     1246
     1247                xor     si,si
     1248                call    MBR_TeletypeNL
     1249                call    MBR_TeletypeNL
     1250
     1251
     1252
     1253                mov     si, offset ShowMenu
     1254                call    MBR_TeletypeBold
    10921255
    10931256
     
    10961259
    10971260
    1098                ;
    1099                ; ####################### WAIT FOR KEY #########################
    1100                ;
    1101 
    1102 
    1103                ; Rousseau:
    1104                ; Wait for key so we can see debug log if ab-menu hangs.
    1105                ;;xor     ax, ax
    1106                ;;int     16h
    1107 
    1108                ;call     SOUND_Beep
    1109 
    1110                   ; Rousseau: delayed save of video-page
    1111 
    1112                  mov     ax, VideoIO_Page1
    1113                  call    VideoIO_BackUpTo   ; Copy BIOS POST to Second Page
    1114 
    1115                ;call     SOUND_Beep
    1116 
    1117 
    1118                ;
    1119                ; COM-PORT DEBUG
    1120                ;
    1121 ;               call     AuxIO_TeletypeNL
    1122                mov      si, offset PartitionTable
    1123 ;               call     AuxIO_DumpSector
    1124 ;               call     AuxIO_TeletypeNL
    1125 
    1126 
    1127                  ; Save configuration so phase1 boot-through is disabled
    1128                  ; on next boot.
    1129                  ; Moved here to fix that Esc out of SETUP would also save.
    1130                  ; So moved above the MBR_Main_ReEnterSetup label.
    1131                  mov     [eCS_InstallVolume], 0       ; disable phase 1 for next boot
    1132                  call    DriveIO_SaveConfiguration
    1133 
    1134 
    1135 
    1136                ;
    1137                ; RE-ENTER SETUP
    1138                ;
    1139                 MBR_Main_ReEnterSetup:
    1140                  call    SETUP_CheckEnterSETUP
    1141 
    1142                ;call     SOUND_Beep
    1143 
    1144                  ; Rousseau: Every time I see "AfterCrap" I have to laugh :-)
    1145                  call    AFTERCRAP_Main
    1146 
    1147 ; [Linux support removed since v1.02]
    1148 ;                 ; Now get FAT16-Linux Kernel Partition, If requested
    1149 ;                 cmp     [CFG_LinuxKrnlPartition], 0FFh
    1150 ;                 je      MBR_Main_NoLinuxKrnlPartition
    1151 ;                 call    LINUX_InitFAT16access
    1152 ;                MBR_Main_NoLinuxKrnlPartition:
    1153 
    1154 
    1155 MBR_Main_ReEnterBootMenuPre:
    1156 
    1157                  ; SetUp PartitionPointers for BootMenu (filter non-bootable)
    1158                  call    PART_CalculateMenuPartPointers
    1159 
    1160                  ; ...and count that one...
    1161                  cmp     PartitionPointerCount, 0
    1162                  jne     MBR_Main_SomethingBootAble
    1163                  mov     si, offset TXT_NoBootAble
    1164                  call    MBR_Teletype
    1165                  jmp     MBR_HaltSystem
    1166 
    1167                 MBR_Main_SomethingBootAble:
    1168                  ; FixUp Values, define Timed Setup booting, etc.
    1169                  call    PART_FixUpDefaultPartitionValues
    1170 
    1171 
    1172 
    1173                  ; -------------------------------------------------- BOOT-MENU
    1174                 MBR_Main_ReEnterBootMenu:
    1175                  call    BOOTMENU_ResetMenuVars ; reset has to be done
    1176                  test    CFG_AutomaticBoot, 1
    1177                  jz      MBR_Main_NoAutomaticBooting
    1178                  ; ------------------------------------------ AUTOMATIC BOOTING
    1179                  ; Select automatic partition, disable automatic booting for
    1180                  ;  next time and boot system...
    1181                  mov     CFG_AutomaticBoot, 0
    1182                  call    PASSWORD_AskSystemPwd
    1183                  mov     al, Menu_EntryAutomatic
    1184 
    1185                  ;mov     al, 2
    1186 
    1187                  mov     Menu_EntrySelected, al    ; zero based
    1188                  jmp     MBR_Main_NoBootMenu
     1261                ;
     1262                ; ####################### WAIT FOR KEY ########################
     1263                ;
     1264
     1265
     1266                ; Rousseau:
     1267                ; Wait for key so we can see debug log if ab-menu hangs.
     1268                ;;xor     ax, ax
     1269                ;;int     16h
     1270
     1271                ;call     SOUND_Beep
     1272
     1273                ; Rousseau: delayed save of video-page
     1274
     1275                mov     ax, VideoIO_Page1
     1276                call    VideoIO_BackUpTo    ; Copy BIOS POST to Second Page
     1277
     1278                ;call     SOUND_Beep
     1279
     1280
     1281                ;
     1282                ; COM-PORT DEBUG
     1283                ;
     1284                ;call    AuxIO_TeletypeNL
     1285                mov     si, offset PartitionTable
     1286                ;call    AuxIO_DumpSector
     1287                ;call    AuxIO_TeletypeNL
     1288
     1289
     1290                ; Save configuration so phase1 boot-through is disabled
     1291                ; on next boot.
     1292                ; Moved here to fix that Esc out of SETUP would also save.
     1293                ; So moved above the MBR_Main_ReEnterSetup label.
     1294                mov     [eCS_InstallVolume], 0  ; disable phase 1 for next boot
     1295                call    DriveIO_SaveConfiguration
     1296
     1297
     1298
     1299                ;
     1300                ; RE-ENTER SETUP
     1301                ;
     1302    MBR_Main_ReEnterSetup:
     1303                call    SETUP_CheckEnterSETUP
     1304
     1305                ;call    SOUND_Beep
     1306
     1307                ; Rousseau: Every time I see "AfterCrap" I have to laugh :-)
     1308                call    AFTERCRAP_Main
     1309
     1310                ; [Linux support removed since v1.02]
     1311                ; Now get FAT16-Linux Kernel Partition, If requested
     1312                ;cmp     [CFG_LinuxKrnlPartition], 0FFh
     1313                ;je      MBR_Main_NoLinuxKrnlPartition
     1314                ;call    LINUX_InitFAT16access
     1315    ;MBR_Main_NoLinuxKrnlPartition:
     1316
     1317
     1318    MBR_Main_ReEnterBootMenuPre:
     1319
     1320                ; SetUp PartitionPointers for BootMenu (filter non-bootable)
     1321                call    PART_CalculateMenuPartPointers
     1322
     1323                ; ...and count that one...
     1324                cmp     PartitionPointerCount, 0
     1325                jne     MBR_Main_SomethingBootAble
     1326                mov     si, offset TXT_NoBootAble
     1327                call    MBR_Teletype
     1328                jmp     MBR_HaltSystem
     1329
     1330    MBR_Main_SomethingBootAble:
     1331                ; FixUp Values, define Timed Setup booting, etc.
     1332                call    PART_FixUpDefaultPartitionValues
     1333
     1334
     1335
     1336                ; -------------------------------------------------- BOOT-MENU
     1337    MBR_Main_ReEnterBootMenu:
     1338                call    BOOTMENU_ResetMenuVars ; reset has to be done
     1339                test    CFG_AutomaticBoot, 1
     1340                jz      MBR_Main_NoAutomaticBooting
     1341                ; ------------------------------------------ AUTOMATIC BOOTING
     1342                ; Select automatic partition, disable automatic booting for
     1343                ;  next time and boot system...
     1344                mov     CFG_AutomaticBoot, 0
     1345                call    PASSWORD_AskSystemPwd
     1346                mov     al, Menu_EntryAutomatic
     1347
     1348                ;mov     al, 2
     1349
     1350                mov     Menu_EntrySelected, al      ; zero based
     1351                jmp     MBR_Main_NoBootMenu
    11891352
    11901353                MBR_Main_NoAutomaticBooting:
    11911354
    1192                  ;call   SOUND_Beep
    1193 
    1194                  test    CFG_BootMenuActive, 0FFh
    1195                  jnz     MBR_Main_GotBootMenu
    1196                  ; ----------------------------------------------- NO BOOT-MENU
    1197                  ; Select default partition and boot system...
    1198                  call    PASSWORD_AskSystemPwd
    1199 
    1200                  ;call    VideoIO_DBG_WriteString2
    1201 
    1202                  mov     al, Menu_EntryDefault
    1203                  ;mov al,0                         ; zero based
    1204                  mov     Menu_EntrySelected, al
    1205                  jmp     MBR_Main_NoBootMenu
    1206 
    1207                 MBR_Main_GotBootMenu:
    1208                  ; ------------------------------------------ BOOT-MENU VISUALS
    1209                  call    FX_StartScreen
    1210 
    1211                  ;call   SOUND_Beep
    1212 
    1213                  call    BOOTMENU_BuildBackground
    1214                  call    BOOTMENU_BuildMain
    1215                  call    FX_EndScreenRight
    1216                  call    PASSWORD_AskSystemPwd
    1217                  call    BOOTMENU_ResetTimedBoot
    1218 
    1219                  ;call   SOUND_Beep
    1220 
    1221                  call    BOOTMENU_Execute
    1222 
    1223                  ;call   SOUND_Beep
    1224 
    1225                  jc      MBR_Main_ReEnterSetup
    1226                  call    BOOTMENU_SetVarsAfterMenu
    1227 
    1228                  ;call   SOUND_Beep
    1229 
    1230                  ; ---------------------------------------------------- BOOTING
    1231                 MBR_Main_NoBootMenu:
    1232                  call    FX_StartScreen
    1233                  call    BOOTMENU_BuildGoodBye
    1234                  call    FX_EndScreenRight
    1235                  call    PASSWORD_AskChangeBootPwd
    1236 
    1237                  IFNDEF ReleaseCode
    1238                     ; Debug Code to terminate DOS .COM program - used for
    1239                     ;  testing AiR-BOOT
    1240                     int 3
    1241                     mov     ax, 6200h
    1242                     int     21h
    1243                     mov     es, bx
    1244                     mov     ax, 4C00h    ; Quit program
    1245                     int     21h
    1246                  ENDIF
    1247                  call    ANTIVIR_SaveBackUpMBR
    1248                  mov     dl, Menu_EntrySelected
    1249 
    1250                  ; -------------------------------------------- START PARTITION
    1251                  call    PART_StartPartition
     1355                ;call   SOUND_Beep
     1356
     1357                test    CFG_BootMenuActive, 0FFh
     1358                jnz     MBR_Main_GotBootMenu
     1359                ; ----------------------------------------------- NO BOOT-MENU
     1360                ; Select default partition and boot system...
     1361                call    PASSWORD_AskSystemPwd
     1362
     1363                ;call    VideoIO_DBG_WriteString2
     1364
     1365                mov     al, Menu_EntryDefault
     1366                ;mov    al,0                         ; zero based
     1367                mov     Menu_EntrySelected, al
     1368                jmp     MBR_Main_NoBootMenu
     1369
     1370    MBR_Main_GotBootMenu:
     1371                ; ------------------------------------------ BOOT-MENU VISUALS
     1372                call    FX_StartScreen
     1373
     1374                ;call    SOUND_Beep
     1375
     1376                call    BOOTMENU_BuildBackground
     1377                call    BOOTMENU_BuildMain
     1378                call    FX_EndScreenRight
     1379                call    PASSWORD_AskSystemPwd
     1380                call    BOOTMENU_ResetTimedBoot
     1381
     1382                ;call    SOUND_Beep
     1383
     1384                call    BOOTMENU_Execute
     1385
     1386                ;call    SOUND_Beep
     1387
     1388                jc      MBR_Main_ReEnterSetup
     1389                call    BOOTMENU_SetVarsAfterMenu
     1390
     1391                ;call    SOUND_Beep
     1392
     1393                ; ---------------------------------------------------- BOOTING
     1394    MBR_Main_NoBootMenu:
     1395                call    FX_StartScreen
     1396                call    BOOTMENU_BuildGoodBye
     1397                call    FX_EndScreenRight
     1398                call    PASSWORD_AskChangeBootPwd
     1399
     1400            IFNDEF ReleaseCode
     1401                ; Debug Code to terminate DOS .COM program - used for
     1402                ;  testing AiR-BOOT
     1403                int    3
     1404                mov     ax, 6200h
     1405                int     21h
     1406                mov     es, bx
     1407                mov     ax, 4C00h    ; Quit program
     1408                int     21h
     1409            ENDIF
     1410                call    ANTIVIR_SaveBackUpMBR
     1411                mov     dl, Menu_EntrySelected
     1412
     1413                ; -------------------------------------------- START PARTITION
     1414                call    PART_StartPartition
    12521415
    12531416
     
    12591422;
    12601423b_std_txt:
    1261 Include REGULAR\STD_TEXT.asm     ; Standard (non-translateable text)
     1424Include REGULAR/STD_TEXT.ASM    ; Standard (non-translateable text)
    12621425size_std_txt = $-b_std_txt
    12631426
    12641427b_driveio:
    1265 Include REGULAR\DRIVEIO.asm      ; Drive I/O, Config Load/Save
     1428Include REGULAR/DRIVEIO.ASM     ; Drive I/O, Config Load/Save
    12661429size_driveio = $-b_driveio
    12671430
    12681431b_videoio:
    1269 Include REGULAR\ViDEOIO.asm      ; Video I/O
     1432Include REGULAR/VIDEOIO.ASM     ; Video I/O
    12701433size_videoio = $-b_videoio
    12711434
    12721435b_timer:
    1273 Include REGULAR\TIMER.asm        ; Timer
     1436Include REGULAR/TIMER.ASM       ; Timer
    12741437size_timer = $-b_timer
    12751438
    12761439b_partmain:
    1277 Include REGULAR\PARTMAIN.asm     ; Regular Partition Routines
     1440Include REGULAR/PARTMAIN.ASM    ; Regular Partition Routines
    12781441size_partmain = $-b_partmain
    12791442
    12801443b_partscan:
    1281 Include REGULAR\PARTSCAN.asm     ; Partition Scanning
     1444Include REGULAR/PARTSCAN.ASM    ; Partition Scanning
    12821445size_partscan = $-b_partscan
    12831446
    12841447b_bootmenu:
    1285 Include REGULAR\BOOTMENU.asm     ; Boot-Menu
     1448Include REGULAR/BOOTMENU.ASM    ; Boot-Menu
    12861449size_bootmenu = $-b_bootmenu
    12871450
    12881451b_password:
    1289 Include REGULAR\PASSWORD.asm     ; Password related
     1452Include REGULAR/PASSWORD.ASM    ; Password related
    12901453size_password = $-b_password
    12911454
    12921455b_other:
    1293 Include REGULAR\OTHER.asm        ; Other Routines
     1456Include REGULAR/OTHER.ASM       ; Other Routines
    12941457size_other = $-b_other
    12951458
    12961459; Rousseau: Special modules moved upwards.
    12971460b_main:
    1298 Include SETUP\MAiN.ASM           ; The whole AiR-BOOT SETUP
     1461Include SETUP/MAIN.ASM          ; The whole AiR-BOOT SETUP
    12991462size_main = $-b_main
    13001463
     
    13021465IFDEF TXT_IncludeCyrillic
    13031466b_ccharset:
    1304    Include SPECiAL\CHARSET.asm   ; Charset Support (e.g. Cyrillic)
     1467   Include SPECIAL/CHARSET.ASM  ; Charset Support (e.g. Cyrillic)
    13051468size_ccharset = $-b_ccharset
    13061469ENDIF
    13071470
    13081471b_math:
    1309 Include REGULAR\MATH.ASM         ; Math functions (like 32-bit multiply)
     1472Include REGULAR/MATH.ASM        ; Math functions (like 32-bit multiply)
    13101473size_math = $-b_math
    13111474
     
    13141477IFDEF AuxDebug
    13151478b_debug:
    1316 ;   Include REGULAR\DEBUG.ASM     ; Various debugging routines,
    1317                                  ; uses AUXIO and CONV
     1479;   Include REGULAR/DEBUG.ASM     ; Various debugging routines,
     1480                                ; uses AUXIO and CONV
    13181481size_debug = $-b_debug
    13191482ENDIF
    13201483
    13211484b_auxio:
    1322 ;Include REGULAR\AUXIO.ASM        ; Com-port support for debugging
     1485;Include REGULAR/AUXIO.ASM       ; Com-port support for debugging
    13231486size_auxio = $-b_auxio
    13241487
    13251488; Rousseau: moved upwards
    13261489;IFDEF TXT_IncludeCyrillic
    1327 ;   Include SPECiAL\CHARSET.asm           ; Charset Support (e.g. Cyrillic)
     1490;   Include SPECIAL/CHARSET.ASM  ; Charset Support (e.g. Cyrillic)
    13281491;ENDIF
    13291492
    13301493b_lvm:
    1331 Include SPECiAL\LVM.asm                  ; LVM-specific code
     1494Include SPECIAL/LVM.ASM         ; LVM-specific code
    13321495size_lvm = $-b_lvm
    13331496
     
    13371500
    13381501
    1339 ; Check for overlap
    1340 slack03 = sos36 - eos3
    1341 IF slack03 LT 0
    1342    .ERR2 "Location Overlap slack03 !"
    1343 ENDIF
     1502
    13441503
    13451504
    13461505;==============================================================================
    13471506
    1348                            ;
    1349                            ; This is the AiR-BOOT MBR-Protection Image.
    1350                            ; 04600 / 200h = 23h = 35d sectors are before this point.
    1351                            ; The stuff generated here gets overwritten when the MBR_PROT.ASM
    1352                            ; module, which is assembled separately, gets merged.
    1353                            ; So you won't find the string below in the generated binary.
    1354                            ;
    1355                             org 04600h                          ; Sector 36-37
     1507                ;
     1508                ; This is the AiR-BOOT MBR-Protection Image.
     1509                ; 04600 / 200h = 23h = 35d sectors are before this point.
     1510                ; The stuff generated here gets overwritten when the MBR_PROT.ASM
     1511                ; module, which is assembled separately, gets merged.
     1512                ; So you won't find the string below in the generated binary.
     1513                ;
     1514                ; MOVED TO 6800h to create space and have a continuous
     1515                ; code block.
     1516                ; This makes the RU version buildable again with Tasm.
     1517                ;
     1518                ;org     04600h                                  ; Sector 36-37
    13561519
    13571520; Start of sector 36.
    13581521sos36:
    13591522
    1360 MBR_Protection:              db 'AiR-BOOT MBR-Protection Image'
    1361 ; Hardcoded to 1k (1024 bytes)
    1362    db 1024-($-MBR_Protection)  dup('X')
     1523
    13631524
    13641525; End of sector 37, yes this section is 2 sectors long.
     
    13671528
    13681529
    1369 ; Check for overlap
    1370 slack04 = sos38 - eos37
    1371 IF slack04 LT 0
    1372    .ERR2 "Location Overlap slack04 !"
    1373 ENDIF
     1530
    13741531
    13751532
     
    13781535;==============================================================================
    13791536                                                                 ; Sector 38-x
    1380                            ;
    1381                            ; This section contains translatable texts.
    1382                            ;
    1383                            org 04A00h
     1537                ;
     1538                ; This section contains translatable texts.
     1539                ;
     1540                ;org    04A00h
    13841541
    13851542; Start of sector 28.
     
    13871544
    13881545b_txtother:
    1389 Include TEXT\TXTOTHER.asm                ; All translateable Text-Strings
     1546Include TEXT/TXTOTHER.ASM       ; All translateable Text-Strings
    13901547size_txtother = $-b_txtother
    13911548
    13921549b_txtmenus:
    1393 Include TEXT\TXTMENUS.asm                ; All translateable Menu-text
     1550Include TEXT/TXTMENUS.ASM       ; All translateable Menu-text
    13941551size_txtmenus = $-b_txtmenus
    13951552
    13961553b_charset:
    1397 Include TEXT\CHARSET.asm                 ; Special Video Charsets (if needed)
     1554Include TEXT/CHARSET.ASM        ; Special Video Charsets (if needed)
    13981555size_charset = $-b_charset
    13991556
    14001557b_conv:
    1401 Include REGULAR\CONV.ASM                 ; Various conversion routines
     1558Include REGULAR/CONV.ASM        ; Various conversion routines
    14021559size_conv = $-b_conv
    14031560
    14041561b_virus:
    1405 Include SPECiAL\ViRUS.asm                ; Virus Detection / Anti-Virus
     1562Include SPECIAL/VIRUS.ASM       ; Virus Detection / Anti-Virus
    14061563size_virus = $-b_virus
    14071564; [Linux support removed since v1.02]
    1408 ;Include SPECiAL\FAT16.asm                ; FAT-16 Support
    1409 ;Include SPECiAL\LINUX.asm                ; Linux Kernel Support
     1565;Include SPECIAL/FAT16.ASM       ; FAT-16 Support
     1566;Include SPECIAL/LINUX.ASM       ; Linux Kernel Support
    14101567b_billsuxx:
    1411 Include SPECiAL\F00K\BILLSUXX.asm        ; Extended Partition - Microsoft-Hack
     1568Include SPECIAL/F00K/BILLSUXX.ASM   ; Extended Partition - Microsoft-Hack
    14121569size_billsuxx = $-b_billsuxx
    14131570
    14141571b_sound:
    1415 Include SPECiAL\SOUND.asm                ; Sound
     1572Include SPECIAL/SOUND.ASM       ; Sound
    14161573size_sound = $-b_sound
    14171574
    14181575b_apm:
    1419 Include SPECiAL\APM.asm                  ; Power Managment Support
     1576Include SPECIAL/APM.ASM         ; Power Managment Support
    14201577size_apm = $-b_apm
    14211578
    14221579b_fx:
    1423 Include SPECiAL\FX.asm                   ; l33t Cooper-Bars/Scrolling <bg>
     1580Include SPECIAL/FX.ASM          ; l33t Cooper-Bars/Scrolling <bg>
    14241581size_fx = $-b_fx
    14251582
     
    14281585; Let's make this always the last module in this section.
    14291586;
    1430 Include BLDDATE.asm                      ; Build Date generated by _build.cmd
     1587Include BLDDATE.ASM                      ; Build Date generated by _build.cmd
    14311588
    14321589; End of sector x depending on size of translatable texts.
    14331590eosx:
    14341591
    1435                            org 06A00h - 4
    1436                            ;db    'BABE'
    1437 
    1438                            org 06A00h
    1439                           ; db    'FACE'
    1440 
    1441 ; Check for overlap
    1442 slack05 = sos55 - eosx
    1443 IF slack05 LT 0
    1444    .ERR2 "Location Overlap slack05 !"
    1445 ENDIF
    1446 
    1447 
     1592
     1593
     1594CODE_END:
     1595
     1596                ;org     06A00h - 4
     1597                db      'BABE'
     1598
     1599                ;org     06A00h
     1600                db      'FACE'
     1601
     1602                ;
     1603                ; This is the AiR-BOOT MBR-Protection Image.
     1604                ; 04600 / 200h = 34h = 52d sectors are before this point.
     1605                ; The stuff generated here gets overwritten when the MBR_PROT.ASM
     1606                ; module, which is assembled separately, gets merged.
     1607                ; So you won't find the string below in the generated binary.
     1608                ;
     1609here = $
     1610                org     06800h
     1611                check_overlap   here
     1612
     1613MBR_Protection  db 'AiR-BOOT MBR-Protection Image'
     1614; Hardcoded to 1k (1024 bytes)
     1615                db  1024-($-MBR_Protection)  dup(0)
     1616
     1617
     1618;CODE_SEG        ENDS
     1619
     1620;DATA_SEG        SEGMENT     USE16   PUBLIC  'CODE'
    14481621
    14491622;==============================================================================
    14501623                                                                   ; Sector 55
    14511624
    1452                            ;
    1453                            ; This section contains the AiR-BOOT configuration.
    1454                            ; Note that it has a version that should be updated
    1455                            ; when stuff is added.
    1456                            ; Also add stuff to the end so that offsets of other
    1457                            ; variables remain vaild.
    1458                            ;
    1459                            org 06C00h
     1625                ;
     1626                ; This section contains the AiR-BOOT configuration.
     1627                ; Note that it has a version that should be updated
     1628                ; when stuff is added.
     1629                ; Also add stuff to the end so that offsets of other
     1630                ; variables remain vaild.
     1631                ;
     1632here = $
     1633                org     06C00h
     1634                check_overlap   here
    14601635sos55:
    14611636
    14621637
    14631638
    1464 Configuration:               ; THERE IS AN INVISIBLE CHAR HERE !!
    1465                              ; Your editor may not display the invisible
    1466                              ; character at the end if the 'AiRCFG-TABLE'
    1467                              ; string. When this character get's deleted,
    1468                              ; AiR-BOOT will not function because it cannot
    1469                              ; find the config-signature which includes this
    1470                              ; invisible character. The code is: 0x0ad.
    1471                              db 'AiRCFG-TABLE­'
    1472                              db 01h, 07h, 'U' ; "Compressed" ID String
    1473                              ; This is now version 1.07 to have it in sync with
    1474                              ; the new code version for eCS.
    1475                              ; Version 1.02 was for code 1.06, 1.03 was internal
    1476                              ; and 1.04,1.05 and 1.06 do not exist.
    1477                              ; It is not required for the config to have the
    1478                              ; same version as the code, so in the future
    1479                              ; the code version might be higher than the
    1480                              ; config version if there are no changes to the latter.
    1481 
    1482 CFG_LastTimeEditLow          dw     0    ; Last Time Edited Stamp (will incr every setup)
    1483 CFG_LastTimeEditHi           dw     0    ; second 16 bit part...
    1484 
    1485 CFG_CheckConfig              dw     0    ; Check-Sum for Configuration
    1486 
    1487 CFG_Partitions               db     0    ; Count of partitions in IPT
    1488                              db     0    ; Was BootParts - Removed since v0.28b
    1489 CFG_PartDefault              db     0    ; Default-Partition (Base=0)
    1490 
    1491 CFG_PartLast                 db     0    ; Which Partition was booted last time ? (Base=0)
    1492 CFG_TimedBoot                db     1    ; Timed Boot Enable (for REAL Enable look TimedBootEnable)
    1493 CFG_TimedSecs                db    15    ; Timed Boot - How Many Seconds Till Boot
    1494 CFG_TimedDelay               dw   123    ; Timed Boot - Delay
    1495 CFG_TimedBootLast            db     1    ; Timed Boot - Boot From Last Drive Booted From
    1496 CFG_RememberBoot             db     1    ; Remember Manual Boot Choice
    1497 CFG_RememberTimed            db     0    ; Remember if Timed Boot (if both disabled: Boot Default)
    1498 CFG_IncludeFloppy            db     1    ; Include Floppy Drives in Boot-Menu
    1499 CFG_BootMenuActive           db     1    ; Display Boot-Menu (if Disabled: Boot Default)
     1639Configuration:
     1640                ; THERE IS AN INVISIBLE CHAR HERE !!
     1641                ; Your editor may not display the invisible
     1642                ; character at the end if the 'AiRCFG-TABLE'
     1643                ; string. When this character get's deleted,
     1644                ; AiR-BOOT will not function because it cannot
     1645                ; find the config-signature which includes this
     1646                ; invisible character. The code is: 0x0ad.
     1647                db  'AiRCFG-TABLE­'
     1648                db  01h, 07h, 'U' ; "Compressed" ID String
     1649                ; This is now version 1.07 to have it in sync with
     1650                ; the new code version for eCS.
     1651                ; Version 1.02 was for code 1.06, 1.03 was internal
     1652                ; and 1.04,1.05 and 1.06 do not exist.
     1653                ; It is not required for the config to have the
     1654                ; same version as the code, so in the future
     1655                ; the code version might be higher than the
     1656                ; config version if there are no changes to the latter.
     1657
     1658CFG_LastTimeEditLow     dw  0   ; Last Time Edited Stamp (will incr every setup)
     1659CFG_LastTimeEditHi      dw  0   ; second 16 bit part...
     1660
     1661CFG_CheckConfig         dw  0   ; Check-Sum for Configuration
     1662
     1663CFG_Partitions          db  0   ; Count of partitions in IPT
     1664                        db  0   ; Was BootParts - Removed since v0.28b
     1665CFG_PartDefault         db  0   ; Default-Partition (Base=0)
     1666
     1667CFG_PartLast            db  0   ; Which Partition was booted last time ? (Base=0)
     1668CFG_TimedBoot           db  0   ; Timed Boot Enable (for REAL Enable look TimedBootEnable)
     1669CFG_TimedSecs           db  15  ; Timed Boot - How Many Seconds Till Boot
     1670CFG_TimedDelay          dw  123 ; Timed Boot - Delay
     1671CFG_TimedBootLast       db  1   ; Timed Boot - Boot From Last Drive Booted From
     1672CFG_RememberBoot        db  1   ; Remember Manual Boot Choice
     1673CFG_RememberTimed       db  0   ; Remember if Timed Boot (if both disabled: Boot Default)
     1674CFG_IncludeFloppy       db  1   ; Include Floppy Drives in Boot-Menu
     1675CFG_BootMenuActive      db  1   ; Display Boot-Menu (if Disabled: Boot Default)
    15001676                                         ; v0.29+ -> 2 - Detailed Bootmenu
    1501 CFG_PartitionsDetect         db     1    ; Autodetect New Partitions (Auto-Add!)
    1502 CFG_PasswordSetup            db     0    ; Ask Password when entering Setup
    1503 CFG_PasswordSystem           db     0    ; Ask Password when booting System
    1504 CFG_PasswordChangeBoot       db     0    ; Ask Password when changing boot partition
    1505 CFG_ProtectMBR               db     0    ; Protect MBR via TSR ?
    1506 CFG_IgnoreWriteToMBR         db     0    ; Just ignore writes to MBR, otherwise crash
    1507 CFG_FloppyBootGetName        db     0    ; Gets floppy name for display purposes
    1508 CFG_DetectVirus              db     0    ; Detect Virus ?
    1509 CFG_DetectStealth            db     0    ; Detect Stealth-Virus ?
    1510 CFG_DetectVIBR               db     0    ; Detect BootRecord-Virus ?
    1511 CFG_AutoEnterSetup           db     0    ; Automatic Enter Setup (first install!)
    1512 CFG_MasterPassword           dw 0101Fh   ; Encoded Password (this is just CR)
    1513                              dw 07A53h
    1514                              dw 0E797h
    1515                              dw 0A896h
    1516 CFG_BootPassword             dw 0101Fh   ; Another CR... ;-)
    1517                              dw 07A53h
    1518                              dw 0E797h
    1519                              dw 0A896h
    1520                              db     0    ; Rude-Protection - Removed since v0.28b
    1521 CFG_LinuxRootPartition       db     0    ; Linux Root Partition (Base=0)
    1522 CFG_TimedKeyHandling         db     0    ; Timed Key Handling (for Timed Boot)
    1523                                          ; 0 - Do Nothing
    1524                                          ; 1 - Reset Time
    1525                                          ; 2 - Stop Time
    1526 CFG_MakeSound                db     0    ; Should be clear ;)
    1527 CFG_FloppyBootGetTimer       db     0    ; Floppy Name will get updated every 2 secs
    1528 CFG_ResumeBIOSbootSeq        db     0    ; If BIOS Boot Sequence should be resumed
    1529                                          ; 0 - Disabled
    1530                                          ; 1 - CD-ROM
    1531                                          ; 2 - Network
    1532                                          ; 3 - ZIP/LS120
    1533 CFG_CooperBars               db     0    ; If Cooper Bars should be shown
    1534 CFG_LinuxCommandLine         db    75 dup (0) ; Linux Command Line
    1535 CFG_LinuxKrnlPartition       db   0FFh   ; FAT-16 Linux Kernel Partition (Base=0)
    1536                                          ;  FFh -> Disabled
    1537 CFG_LinuxDefaultKernel       db 'DEFAULT', 4 dup (32), 0 ; Default Kernel Name
    1538 CFG_LinuxLastKernel          db    11 dup (32), 0 ; Last-Booted Kernel Name
    1539 CFG_ExtPartitionMShack       db     0    ; Extended Partition M$-Hack Global Enable
    1540 CFG_AutomaticBoot            db     0    ; Automatic Booting (only one bootup)
    1541 CFG_PartAutomatic            db     0    ; Partition-No for automatic booting
    1542 CFG_ForceLBAUsage            db     1    ; LBA-BIOS-API forced on any HDD I/O
    1543 CFG_IgnoreLVM                db     0    ; Ignores any LVM-Information
     1677CFG_PartitionsDetect    db  1   ; Autodetect New Partitions (Auto-Add!)
     1678CFG_PasswordSetup       db  0   ; Ask Password when entering Setup
     1679CFG_PasswordSystem      db  0   ; Ask Password when booting System
     1680CFG_PasswordChangeBoot  db  0   ; Ask Password when changing boot partition
     1681CFG_ProtectMBR          db  0   ; Protect MBR via TSR ?
     1682CFG_IgnoreWriteToMBR    db  0   ; Just ignore writes to MBR, otherwise crash
     1683CFG_FloppyBootGetName   db  0   ; Gets floppy name for display purposes
     1684CFG_DetectVirus         db  0   ; Detect Virus ?
     1685CFG_DetectStealth       db  0   ; Detect Stealth-Virus ?
     1686CFG_DetectVIBR          db  0   ; Detect BootRecord-Virus ?
     1687CFG_AutoEnterSetup      db  0   ; Automatic Enter Setup (first install!)
     1688CFG_MasterPassword      dw  0101Fh  ; Encoded Password (this is just CR)
     1689                        dw 07A53h
     1690                        dw 0E797h
     1691                        dw 0A896h
     1692CFG_BootPassword        dw  0101Fh  ; Another CR... ;-)
     1693                        dw 07A53h
     1694                        dw 0E797h
     1695                        dw 0A896h
     1696                        db  0   ; Rude-Protection - Removed since v0.28b
     1697CFG_LinuxRootPartition  db  0   ; Linux Root Partition (Base=0)
     1698CFG_TimedKeyHandling    db  0   ; Timed Key Handling (for Timed Boot)
     1699                                    ; 0 - Do Nothing
     1700                                    ; 1 - Reset Time
     1701                                    ; 2 - Stop Time
     1702CFG_MakeSound           db  0   ; Should be clear ;)
     1703CFG_FloppyBootGetTimer  db  0   ; Floppy Name will get updated every 2 secs
     1704CFG_ResumeBIOSbootSeq   db  0   ; If BIOS Boot Sequence should be resumed
     1705                                    ; 0 - Disabled
     1706                                    ; 1 - CD-ROM
     1707                                    ; 2 - Network
     1708                                    ; 3 - ZIP/LS120
     1709CFG_CooperBars          db  0   ; If Cooper Bars should be shown
     1710CFG_LinuxCommandLine    db  75 dup (0) ; Linux Command Line
     1711CFG_LinuxKrnlPartition  db  0FFh    ; FAT-16 Linux Kernel Partition (Base=0)
     1712                                        ;  FFh -> Disabled
     1713CFG_LinuxDefaultKernel  db  'DEFAULT', 4 dup (32), 0    ; Default Kernel Name
     1714CFG_LinuxLastKernel     db  11 dup (32), 0 ; Last-Booted Kernel Name
     1715CFG_ExtPartitionMShack  db  0   ; Extended Partition M$-Hack Global Enable
     1716CFG_AutomaticBoot       db  0   ; Automatic Booting (only one bootup)
     1717CFG_PartAutomatic       db  0   ; Partition-No for automatic booting
     1718CFG_ForceLBAUsage       db  1   ; LBA-BIOS-API forced on any HDD I/O
     1719CFG_IgnoreLVM           db  0   ; Ignores any LVM-Information
    15441720
    15451721
     
    15481724;
    15491725
    1550 
     1726; 6cae
    15511727eoc:
    15521728
    1553 ; Check for overlap
    1554 slack05a = soiv - eoc
    1555 IF slack05a LT 0
    1556    .ERR2 "Location Overlap slack05a !"
    1557 ENDIF
    1558 
    1559                               ; Allways have the name of the installation volume
    1560                               ; at this offset.
    1561                               ; So future config changes will not break auto-install.
    1562                               org   06D00h
     1729
     1730
     1731                ; Allways have the name of the installation volume
     1732                ; at this offset.
     1733                ; So future config changes will not break auto-install.
     1734here = $
     1735                org     06D00h
     1736                check_overlap   here
    15631737
    15641738soiv:
     
    15671741; It is truncated to 11 chars because AiR-BOOT currently does not support
    15681742; longer labelnames. The name is also capitalized.
    1569 ;eCS_InstallVolume            db     12 dup (0)
    1570 ;eCS_InstallVolume            db     'HIGHLOG' ,0
    1571 eCS_InstallVolume            db     0,'NOPHASEONE' ,0
    1572 ;eCS_InstallVolume            db     'ECS-MIDDLE',0,0
    1573 ;eCS_InstallVolume            db     'ECS-HIGH',0,0,0,0
    1574 ;eCS_InstallVolume            db     'ECS-HIGH',0,'NO',0
    1575 
    1576 
    1577 
     1743;eCS_InstallVolume       db  12 dup (0)
     1744;eCS_InstallVolume       db  'HIGHLOG' ,0
     1745eCS_InstallVolume       db  0,'NOPHASEONE' ,0
     1746;eCS_InstallVolume       db  'ECS-MIDDLE',0,0
     1747;eCS_InstallVolume       db  'ECS-HIGH',0,0,0,0
     1748;eCS_InstallVolume       db  'ECS-HIGH',0,'NO',0
     1749
     1750
     1751; 6d0c
    15781752; End of sector 55.
    15791753eos55:
     
    15811755
    15821756
    1583 ; Check for overlap
    1584 slack06 = sosvs - eos55
    1585 IF slack06 LT 0
    1586    .ERR2 "Location Overlap slack06 !"
    1587 ENDIF
    1588 
    1589 
     1757
     1758
     1759
     1760;
     1761; THERE IS ROOM RESERVED HERE FOR MORE VARIABLES
     1762;
     1763
     1764
     1765
     1766                ;
     1767                ; 06DABh - 06C00h = 01ABh = 427 bytes.
     1768                ; Entries allocated down from 06E00 boundary.
     1769                ;
     1770here = $
     1771                org     06DABh                                  ; 427 Boundry
     1772                check_overlap   here
     1773sosvs:
     1774
     1775; (432 - 5 = 427)
     1776AutoDrvLetter           db  0
     1777AutoDrvLetterSerial     dd  0
     1778
     1779; This entry is also 34 bytes long (466 - 34 = 432)
     1780BIOScontIPTentry:
     1781                        db  0, 0, 0, 0, '           '
     1782                        db  0, 0FEh, Flags_Bootable
     1783                        dw  0     ; No Checksum :)
     1784                        db  0, 1, 0
     1785                        db  0, 1, 0 ; Location of Partition/Boot Record
     1786                        dd  0, 0
    15901787
    15911788; VIR variables are for the AiR-BOOT Anti Virus Code
     
    16031800; off or just reset it by switching 'VIBR Detection'.
    16041801
    1605 
    1606                            ;
    1607                            ; 06DABh - 06C00h = 01ABh = 427 bytes.
    1608                            ;
    1609                             org 06DABh                          ; 427 Boundry
    1610 
    1611 sosvs:
    1612 
    1613 AutoDrvLetter                db     0
    1614 AutoDrvLetterSerial          dd     0
    1615 
     1802; 478 - 12 = 466                                                ; 466 Sub-Part
     1803CFG_VIR_INT08           dd  0    ; pointer to saved 08h entry point
     1804CFG_VIR_INT13           dd  0    ; pointer to saved 13h entry point
     1805CFG_VIR_INT1C           dd  0    ; pointer to saved 1Ch entry point
     1806
     1807; 478 Boundry (512-34)
    16161808; This entry is also 34 bytes long
    1617 BIOScontIPTentry:
    1618                              db     0, 0, 0, 0, '           '
    1619                              db     0, 0FEh, Flags_BootAble
    1620                              dw     0     ; No Checksum :)
    1621                              db     0, 1, 0
    1622                              db     0, 1, 0 ; Location of Partition/Boot Record
    1623                              dd     0, 0
    1624 
    1625                                                                 ; 466 Sub-Part
    1626 CFG_VIR_INT08                dd     0    ; pointer to saved 08h entry point
    1627 CFG_VIR_INT13                dd     0    ; pointer to saved 13h entry point
    1628 CFG_VIR_INT1C                dd     0    ; pointer to saved 1Ch entry point
    1629 
    1630 ; 478 Boundry
    1631 ; This entry is also 34 bytes long
    1632 FloppyIPTentry:              db     0, 0, 0, 0, 'FloppyDrive'
    1633                              db     0, 0FFh, Flags_BootAble
    1634                              dw     0     ; No Checksum :)
    1635                              db     0, 1, 0
    1636                              db     0, 1, 0 ; Location of Partition/Boot Record
    1637                              dd     0, 0
     1809FloppyIPTentry          db  0, 0, 0, 0, 'FloppyDrive'
     1810                        db  0, 0FFh, Flags_Bootable
     1811                        dw  0           ; No Checksum :)
     1812                        db  0, 1, 0
     1813                        db  0, 1, 0     ; Location of Partition/Boot Record
     1814                        dd  0, 0
    16381815;------------------------------------------------------------------------------
    16391816
    16401817eosvs:
    16411818
    1642 ; Check for overlap
    1643 slack07 = sos56 - eosvs
    1644 IF slack07 LT 0
    1645    .ERR2 "Location Overlap slack07 !"
    1646 ENDIF
    1647 
    1648 
    1649                             ;org 06E00h                         ; Sector 56-57
    1650                             org image_size - 0a00h - (image_size - image_size_60secs)
     1819
     1820
     1821
     1822                ;org 06E00h                                     ; Sector 56-57
     1823
     1824here = $
     1825                org     image_size - 0a00h - (image_size - image_size_60secs)
     1826                check_overlap   here
     1827
    16511828sos56:
    16521829
     
    16551832; Rousseau: This is the start of the AiR-BOOT IPT
    16561833
    1657 PartitionTable: ; no-partitions detected... :]
     1834PartitionTable:  ; no-partitions detected... :]
    16581835;                             db    1, 0, 0, 0, 'Harddisc  1'
    16591836;                             db    0, 0FFh, Flags_BootAble
     
    16631840;                             dd    0, 0
    16641841
    1665                 ; Format is:
    1666                 ;============
    1667                 ; SerialNumber    * 4
    1668                 ; PartitionName   * 11
    1669                 ; Drive           * 1
    1670                 ; SystemID        * 1 (means the partition type)
    1671                 ; Flags           * 1
    1672                 ; Checksum        * 2 (for virus checking)
    1673                 ; LocationBegin   * 3 (where the partition begins)
    1674                 ; LocationPartTab * 3 (where the partition table is)
    1675                 ; AbsoluteBegin   * 4 (where the partition begins, in absolute sectors)
    1676                 ; AbsolutePartTab * 4 (where the partition table is, in absolute sectors)
    1677                 ; --------------------> 34 Bytes (total maximum partition-entries = 30)
    1678 
    1679    db (partition_count * 34) dup ('0')
    1680 
     1842    ; Format is:
     1843    ;============
     1844    ; SerialNumber    * 4
     1845    ; PartitionName   * 11
     1846    ; Drive           * 1
     1847    ; SystemID        * 1 (means the partition type)
     1848    ; Flags           * 1
     1849    ; Checksum        * 2 (for virus checking)
     1850    ; LocationBegin   * 3 (where the partition begins)
     1851    ; LocationPartTab * 3 (where the partition table is)
     1852    ; AbsoluteBegin   * 4 (where the partition begins, in absolute sectors)
     1853    ; AbsolutePartTab * 4 (where the partition table is, in absolute sectors)
     1854    ; --------------------> 34 Bytes (total maximum partition-entries = 30)
     1855
     1856    db  (partition_count * 34) dup (0)
     1857
     1858
     1859; 73fa !!!!!!!!!!!!!!
    16811860eos56:
    16821861
    1683 ; Check for overlap
    1684 slack08 = eoiptsig - eos56
    1685 IF slack08 LT 0
    1686    .ERR2 "Location Overlap slack08 !"
    1687 ENDIF
    1688 
    1689 
    1690                             ;org 071F6h
    1691                             org image_size - 600h - (image_size - image_size_60secs) / 2 - 0ah
     1862
     1863
     1864
     1865                ;org 071F6h
     1866; 73F6
     1867
     1868                ; No need to check overlap here because this string will
     1869                ; be overwritten if the maximum partition count is reached.
     1870                ; So this is not a critical boundary.
     1871                org     image_size - 600h - (image_size - image_size_60secs) / 2 - 0ah
     1872
    16921873soiptsig:
    1693                              db 'AiRBOOTPAR' ; 1K internal partition table
     1874                db 'AiRBOOTPAR' ; 1K internal partition table
    16941875
    16951876
     
    16971878eoiptsig:
    16981879
    1699 ; Check for overlap
    1700 slack09 = soipt - eoiptsig
    1701 IF slack09 LT 0
    1702    .ERR2 "Location Overlap slack09 !"
    1703 ENDIF
     1880
    17041881
    17051882;------------------------------------------------------------------------------
    17061883                            ;org 07200h                            ; Sector 58
    1707                             org image_size - 600h - (image_size - image_size_60secs) / 2
     1884
     1885here = $
     1886                org image_size - 600h - (image_size - image_size_60secs) / 2
     1887                check_overlap   here
    17081888soipt:
    17091889sos58:
    1710 
    1711 HidePartitionTable:          db   (partition_count * 30) dup (0FFh)
    1712                                          ; Format is:
    1713                                          ;============
    1714                                          ; PartitionPtr : BYTE * 30
    1715                                          ; --------------------> 30 Bytes * 30
    1716 
    1717 DriveLetters:                db    partition_count dup (0)
    1718                                          ; Format is:
    1719                                          ;============
    1720                                          ; Drive-Letter : BYTE (80h-C:, 81h-D:)
    1721                                          ; --------------------> 1 Byte * 30
     1890; 7400h
     1891HidePartitionTable      db  (partition_count * 30) dup (0FFh)
     1892                        ; Format is:
     1893                        ;============
     1894                        ; PartitionPtr : BYTE * 30
     1895                        ; --------------------> 30 Bytes * 30
     1896
     1897DriveLetters            db  partition_count dup ('L')
     1898                        ; Format is:
     1899                        ;============
     1900                        ; Drive-Letter : BYTE (80h-C:, 81h-D:)
     1901                        ; --------------------> 1 Byte * 30
    17221902
    17231903        ;
     
    17291909eoipt:
    17301910
    1731 ; Check foroverlap
    1732 slack10 = sohidsig - eoipt
    1733 IF slack10 LT 0
    1734    .ERR2 "Location Overlap slack10 !"
    1735 ENDIF
    1736 
    1737 
    1738 
    1739                             ;org 075F6h
    1740                             org image_size - 200h -0ah
     1911
     1912
     1913
     1914                ;org 075F6h
     1915                ; No need to check overlap here because this string will
     1916                ; be overwritten if the maximum partition count is reached.
     1917                ; So this is not a critical boundary.
     1918                org     image_size - 200h -0ah
     1919                check_overlap   here
    17411920
    17421921sohidsig:
    1743                              db 'AiRBOOTHID' ; 1K internal Hide-partition table
     1922;
     1923                        db  'AiRBOOTHID'    ; 1K internal Hide-partition table
     1924
    17441925
    17451926eohidsig:
    17461927
    1747 ; Check for overlap
    1748 slack11 = sohid - eohidsig
    1749 IF slack11 LT 0
    1750    .ERR2 "Location Overlap slack11 !"
    1751 ENDIF
     1928
    17521929
    17531930
     
    17551932
    17561933;------------------------------------------------------------------------------
    1757                             ;org 07600h                            ; Sector 60
    1758                             org image_size - 200h                  ; Sector 60
     1934                ;org 07600h
     1935
     1936here = $
     1937                org     image_size - 200h                       ; Sector 60
     1938                check_overlap   here
     1939
    17591940sohid:
    17601941sos60:
    17611942
    1762 MBR_BackUpMBR                db 'AiR-BOOT MBR-BackUp - Just to fill this sector with something',0
    1763 AirBootRocks                 db     'AiR-BOOT Rocks!',0
    1764 
    1765                              db 512-($-sohid)-2  dup(0)
     1943MBR_BackUpMBR           db 'AiR-BOOT MBR-BackUp - Just to fill this sector with something',0
     1944AirBootRocks            db  'AiR-BOOT Rocks!',0
     1945
     1946                        db 512-($-sohid)-2  dup(0)
    17661947
    17671948eos60:
    17681949eohid:
    17691950
    1770 ; Check for overlap
    1771 slack12 = eoab - eohid -2
    1772 IF slack12 LT 0
    1773    .ERR2 "Location Overlap slack12 !"
     1951
     1952
     1953
     1954                ;org 077FEh
     1955
     1956here = $
     1957                org     image_size - 2
     1958                check_overlap   here
     1959                        dw      0BABEh
     1960
     1961eoab:
     1962
     1963
     1964IFDEF   SEGMENTED
     1965;
     1966; End of AiR-BOOT code and data.
     1967;
     1968
     1969IMAGE           ENDS
     1970
     1971;DATA_SEG        ENDS
     1972
     1973;
     1974; Uninitialized Data (BSS)
     1975;
     1976VOLATILE        SEGMENT     USE16   PUBLIC  'BSS'
     1977
    17741978ENDIF
    17751979
    1776 
    1777                            ;org 077FEh
    1778                            org image_size - 2
    1779                            dw     0BABEh
    1780 
    1781 eoab:
    1782 
    1783 ;
    1784 ; End of AiR-BOOT code and data.
    1785 ;
    1786 
    1787 
    1788 ;
    1789 ; Below functions like a BSS segment, thus uninitialized data.
    1790 ;
    17911980sobss:
    17921981;------------------------------------------------------------------------------
    1793                             org 0A000h                         ; Uninitialized
     1982                            ;
     1983                            ; Disabling the org, so it comes directly after the
     1984                            ; image, does not work. All floppy entries.
     1985                            ; Something goes wrong, so we offset the BSS for
     1986                            ; now.
     1987                            ;
     1988                            org 02000h                         ; Uninitialized
     1989
     1990
    17941991; This space actually gets initialized in PreCrap to NUL (till EndOfVariables)
    17951992BeginOfVariables:
    1796 PartitionSector              db   512 dup (?) ; Temporary Sector for Partition
    1797 JfsPBR                       db   512 dup (?) ; Temporary Sector for JFS PBR writeback
    1798 LVMSector:                   db   512 dup (?) ; Temporary Sector for LVM
    1799 TmpSector:                   db   512 dup (?) ; Temporary Sector
     1993PartitionSector             db  512 dup (?) ; Temporary Sector for Partition
     1994JfsPBR                      db  512 dup (?) ; Temporary Sector for JFS PBR writeback
     1995LVMSector                   db  512 dup (?) ; Temporary Sector for LVM
     1996TmpSector                   db  512 dup (?) ; Temporary Sector
    18001997
    18011998; Everything used to build a new IPT and reference it to the old one
    1802 NewPartTable:                db  1536 dup (?)                  ; New Partition Table
    1803 NewHidePartTable:            db   partition_count * 30 dup (?) ; New Hide-Partition Table
    1804 NewDriveLetters:             db    partition_count dup (?)     ; Logical Drive-Letters
    1805 
    1806 PartitionSizeTable:          db   partition_count * 6 dup (?) ; Size-Table (6 bytes per partition)
    1807 PartitionPointers            dw    52 dup (?)   ; Maximum is 52 entries till now
    1808 PartitionPointerCount        db     ?           ; Count of total Partition Pointers
    1809 PartitionXref                db    partition_count dup (?) ; X-Reference Table
    1810 PartitionVolumeLetters       db    partition_count dup (?) ; Volume-Letters
     1999NewPartTable                db  1536 dup (?)                    ; New Partition Table
     2000NewHidePartTable            db  partition_count * 30 dup (?)    ; New Hide-Partition Table
     2001NewDriveLetters             db  partition_count dup (?)         ; Logical Drive-Letters
     2002
     2003PartitionSizeTable          db  partition_count * 6 dup (?) ; Size-Table (6 bytes per partition)
     2004PartitionPointers           dw  52 dup (?)  ; Maximum is 52 entries till now
     2005PartitionPointerCount       db  ?           ; Count of total Partition Pointers
     2006PartitionXref               db  partition_count dup (?) ; X-Reference Table
     2007PartitionVolumeLetters      db  partition_count dup (?) ; Volume-Letters
    18112008                                                ;  0 - no LVM support
    18122009                                                ;  1 - LVM support, but no letter
    18132010                                                ;  'C'-'Z' - assigned drive letter
    18142011
    1815 TotalHarddiscs               db     ?           ; Total harddrives (by POST)
    1816 LBASwitchTable               db   128 dup (?)  ; Bit 25-18 for CHS/LBA Switching
    1817 NewPartitions                db     ?           ; Freshly found partitions
    1818                                                 ; Independent of SaveConfiguration
    1819 
    1820 VideoIO_Segment              dw     ?           ; Segment for Video I/O
    1821 
    1822 ExtendedAbsPos               dd     ?           ; Extended Partition Absolute Position
    1823 ExtendedAbsPosSet            db     ?           ; If Absolute Position set
    1824 
    1825 CurPartition_Location        dw     4 dup (?)   ; Where did current partition come from?
    1826 CurIO_UseExtension           db     ?           ; 1-Use INT 13h EXTENSIONS
    1827                                                 ; (filled out by PreCrap)
    1828 CurIO_Scanning               db     ?           ; 1-AiR-BOOT is scanning partitions
    1829                                                 ; (for detailed error message)
     2012TotalHarddiscs              db  ?           ; Total harddrives (by POST)
     2013LBASwitchTable              db  128 dup (?) ; Bit 25-18 for CHS/LBA Switching
     2014NewPartitions               db  ?           ; Freshly found partitions
     2015                                            ; Independent of SaveConfiguration
     2016
     2017VideoIO_Segment             dw  ?           ; Segment for Video I/O
     2018
     2019ExtendedAbsPos              dd  ?           ; Extended Partition Absolute Position
     2020ExtendedAbsPosSet           db  ?           ; If Absolute Position set
     2021
     2022CurPartition_Location       dw  4 dup (?)   ; Where did current partition come from?
     2023CurIO_UseExtension          db  ?           ; 1-Use INT 13h EXTENSIONS
     2024                                            ; (filled out by PreCrap)
     2025CurIO_Scanning              db  ?           ; 1-AiR-BOOT is scanning partitions
     2026                                            ; (for detailed error message)
    18302027
    18312028; [Linux support removed since v1.02]
    18322029;GotLinux                     db     ?    ; 1-Linux found
    18332030
    1834 Menu_EntrySelected           db     ?    ; Which partition we boot this time...
    1835 Menu_UpperPart               db     ?    ; Which number (Base=0) is the partition upper pos
    1836 Menu_AbsoluteX               db     ?    ; Pos where Menu stuff starts
    1837 Menu_TotalParts              db     ?    ; Copy of CFG_BootParts
    1838 Menu_TotalLines              db     ?    ; Total Lines on Screen used for BootMenu
    1839 Menu_EntryDefault            db     ?    ; Default Entry in filtered View
    1840 Menu_EntryLast               db     ?    ; LastBooted Entry in filtered View
    1841 Menu_EntryAutomatic          db     ?    ; Automatic Entry in filtered View
     2031Menu_EntrySelected          db  ?   ; Which partition we boot this time...
     2032Menu_UpperPart              db  ?   ; Which number (Base=0) is the partition upper pos
     2033Menu_AbsoluteX              db  ?   ; Pos where Menu stuff starts
     2034Menu_TotalParts             db  ?   ; Copy of CFG_BootParts
     2035Menu_TotalLines             db  ?   ; Total Lines on Screen used for BootMenu
     2036Menu_EntryDefault           db  ?   ; Default Entry in filtered View
     2037Menu_EntryLast              db  ?   ; LastBooted Entry in filtered View
     2038Menu_EntryAutomatic         db  ?   ; Automatic Entry in filtered View
    18422039                                         ;  - All adjusted to menu locations
    18432040
    1844 PartSetup_UpperPart          db     ?    ; Partition-Setup (like Menu_UpperPart)
    1845 PartSetup_ActivePart         db     ?    ; Active Partition
    1846 PartSetup_HiddenUpper        db     ?    ; (like Menu_UpperPart)
    1847 PartSetup_HiddenX            db     ?    ; Pos for Hidden-Setup
    1848 PartSetup_HiddenAdd          db     ?    ; Adjust for Hidden-Setup
    1849 
    1850 TimedBootEnable              db     ?    ; Local Enable/Disable for timed boot
    1851 TimedTimeOut                 dd     ?    ; TimeOut Timer for TimedBoot (too much time here ;)
    1852 TimedSecondLeft              db     ?    ; How many seconds are left till boom ?
    1853 TimedSecondBack              db     ?    ; To get a modification noticed
    1854 TimedBootUsed                db     ?    ; Timed Boot used for bootup ?
    1855 FloppyGetNameTimer           dd     ?    ; Timer for Floppy-Get-Name
    1856 SETUP_KeysOnEntry            db     ?    ; which Shift Status was there, when booting ?
    1857 SETUP_ExitEvent              db     ?    ; Exit Event to end SETUP
    1858 TempPasswordEntry            db    17 dup (?)
    1859 SETUP_OldPwd                 db    17 dup (?)
    1860 SETUP_NewPwd                 db    17 dup (?)
    1861 SETUP_VerifyPwd              db    17 dup (?)
    1862 StartSoundPlayed             db     ?
    1863 ChangePartNameSave           db     ?
    1864 
    1865 FX_UseCount                  dw     ?
    1866 FX_OverallTimer              dw     ?
    1867 FX_WideScrollerTimer         dw     ?
    1868 FX_WideScrollerCurPos        dw     ?
    1869 FX_WideScrollerSpeed         db     ?
    1870 FX_WideScrollerSpeedState    db     ?
    1871 FX_WideScrollerDirection     db     ?
    1872 FX_WideScrollerAbsDirection  db     ?
    1873 FX_WideScrollerBounceSpeed   db     ?
    1874 FX_CooperBarsTimer           dw     ?
     2041PartSetup_UpperPart         db  ?   ; Partition-Setup (like Menu_UpperPart)
     2042PartSetup_ActivePart        db  ?   ; Active Partition
     2043PartSetup_HiddenUpper       db  ?   ; (like Menu_UpperPart)
     2044PartSetup_HiddenX           db  ?   ; Pos for Hidden-Setup
     2045PartSetup_HiddenAdd         db  ?   ; Adjust for Hidden-Setup
     2046
     2047TimedBootEnable             db  ?   ; Local Enable/Disable for timed boot
     2048TimedTimeOut                dd  ?   ; TimeOut Timer for TimedBoot (too much time here ;)
     2049TimedSecondLeft             db  ?   ; How many seconds are left till boom ?
     2050TimedSecondBack             db  ?   ; To get a modification noticed
     2051TimedBootUsed               db  ?   ; Timed Boot used for bootup ?
     2052FloppyGetNameTimer          dd  ?   ; Timer for Floppy-Get-Name
     2053SETUP_KeysOnEntry           db  ?   ; which Shift Status was there, when booting ?
     2054SETUP_ExitEvent             db  ?   ; Exit Event to end SETUP
     2055TempPasswordEntry           db  17 dup (?)
     2056SETUP_OldPwd                db  17 dup (?)
     2057SETUP_NewPwd                db  17 dup (?)
     2058SETUP_VerifyPwd             db  17 dup (?)
     2059StartSoundPlayed            db  ?
     2060ChangePartNameSave          db  ?
     2061
     2062FX_UseCount                 dw  ?
     2063FX_OverallTimer             dw  ?
     2064FX_WideScrollerTimer        dw  ?
     2065FX_WideScrollerCurPos       dw  ?
     2066FX_WideScrollerSpeed        db  ?
     2067FX_WideScrollerSpeedState   db  ?
     2068FX_WideScrollerDirection    db  ?
     2069FX_WideScrollerAbsDirection db  ?
     2070FX_WideScrollerBounceSpeed  db  ?
     2071FX_CooperBarsTimer          dw  ?
    18752072
    18762073; [Linux support removed since v1.02]
     
    18922089
    18932090; Dynamically Generated Tables - do not need to get initialized with NUL
    1894 FX_CooperColors              db   672 dup (?) ; 7 cooper bars*96 - runtime calculated
    1895 FX_CooperState:              db     7 dup (?)
    1896 FX_SinusPos:                 db     7 dup (?)
    1897 FX_CooperPos:                dw     7 dup (?)
    1898 CharsetTempBuffer            db  4096 dup (?) ; Uninitialized Charset buffer
    1899 LVM_CRCTable:                dd   256 dup (?) ; LVM-CRC (->SPECiAL\LVM.asm)
     2091FX_CooperColors             db   672 dup (?) ; 7 cooper bars*96 - runtime calculated
     2092FX_CooperState              db     7 dup (?)
     2093FX_SinusPos                 db     7 dup (?)
     2094FX_CooperPos                dw     7 dup (?)
     2095CharsetTempBuffer           db  4096 dup (?) ; Uninitialized Charset buffer
     2096LVM_CRCTable                dd   256 dup (?) ; LVM-CRC (->SPECiAL\LVM.asm)
    19002097
    19012098
     
    19072104
    19082105                              ;EVEN
    1909 HugeDisk                      db    MaxDisks  dup(?)
    1910 TrueSecs                      dd    MaxDisks  dup(?)
     2106HugeDisk                    db      MaxDisks  dup(?)
     2107TrueSecs                    dd      MaxDisks  dup(?)
    19112108
    19122109; BIOS geometry of the boot-drive
    19132110; Note that heads cannot be 256 due to legacy DOS/BIOS bug
    19142111; If Int13X is supported those values are used, otherwise the legacy values.
    1915 BIOS_Cyls                     dd    MaxDisks  dup(?)
    1916 BIOS_Heads                    dd    MaxDisks  dup(?)
    1917 BIOS_Secs                     dd    MaxDisks  dup(?)
    1918 BIOS_Bytes                    dw    MaxDisks  dup(?)
    1919 BIOS_TotalSecs                dq    MaxDisks  dup(?)
     2112BIOS_Cyls                   dd      MaxDisks  dup(?)
     2113BIOS_Heads                  dd      MaxDisks  dup(?)
     2114BIOS_Secs                   dd      MaxDisks  dup(?)
     2115BIOS_Bytes                  dw      MaxDisks  dup(?)
     2116BIOS_TotalSecs              dq      MaxDisks  dup(?)
    19202117
    19212118; LBA geometry of the boot-drive
    19222119; Note that these values are taken from the BPB of a partition boot-record
    1923 LVM_Cyls                      dd    MaxDisks  dup(?)
    1924 LVM_Heads                     dd    MaxDisks  dup(?)
    1925 LVM_Secs                      dd    MaxDisks  dup(?)
    1926 LVM_Bytes                     dw    MaxDisks  dup(?)
    1927 LVM_TotalSecs                 dq    MaxDisks  dup(?)
     2120LVM_Cyls                    dd      MaxDisks  dup(?)
     2121LVM_Heads                   dd      MaxDisks  dup(?)
     2122LVM_Secs                    dd      MaxDisks  dup(?)
     2123LVM_Bytes                   dw      MaxDisks  dup(?)
     2124LVM_TotalSecs               dq      MaxDisks  dup(?)
    19282125
    19292126; OS/2 geometry of the boot-drive
    19302127; Note that these values are taken from the BPB of a partition boot-record
    1931 LOG_Cyls                      dd    MaxDisks  dup(?)
    1932 LOG_Heads                     dd    MaxDisks  dup(?)
    1933 LOG_Secs                      dd    MaxDisks  dup(?)
    1934 LOG_Bytes                     dw    MaxDisks  dup(?)
    1935 LOG_TotalSecs                 dq    MaxDisks  dup(?)
     2128LOG_Cyls                    dd      MaxDisks  dup(?)
     2129LOG_Heads                   dd      MaxDisks  dup(?)
     2130LOG_Secs                    dd      MaxDisks  dup(?)
     2131LOG_Bytes                   dw      MaxDisks  dup(?)
     2132LOG_TotalSecs               dq      MaxDisks  dup(?)
    19362133
    19372134; Rousseau: moved here
     
    19452142           ;db     1  dup(?)
    19462143
    1947 i13xbuf    dw     1  dup (?)                       ; Size of the buffer;
    1948                                                    ; this param *must* be present.
    1949                                                    ; Code inserts it.
    1950            db     126 dup(?)                       ; The buffer itself.
    1951            i13xbuf_size = $-offset i13xbuf-2       ; Size of buffer
    1952                                                    ; (excluding the size word at the start).
     2144i13xbuf     dw  1   dup (?)     ; Size of the buffer;
     2145                                ; this param *must* be present.
     2146                                ; Code inserts it.
     2147            db  126 dup(?)      ; The buffer itself.
     2148            i13xbuf_size = $-offset i13xbuf-2   ; Size of buffer
     2149                                                ; (excluding the size word at the start).
    19532150
    19542151eobss:
    19552152
    1956 
    1957 code_seg        ends
    1958                 end     air_boot
     2153IFDEF   SEGMENTED
     2154VOLATILE    ENDS
     2155ELSE
     2156CODE_SEG    ENDS
     2157ENDIF
     2158            END     AIR_BOOT
     2159
     2160
     2161
  • trunk/BOOTCODE/MBR-PROT/MBR_PROT.ASM

    r30 r37  
    1919;                         AiR-BOOT SETUP / GENERIC & GENERAL SETUP ROUTINES
    2020;---------------------------------------------------------------------------
     21                ;
     22                ; First define processor so when a model is specified
     23                ; the correct default segments are created.
     24                ;
     25                .286
     26                ;.model large,c
    2127
     28;_TEXT           SEGMENT     USE16   PUBLIC  'CODE'
     29;_TEXT           ENDS
     30
     31MBRPROT         GROUP       CODE_SEG
     32;DGROUP          GROUP       CODE_SEG
     33
     34CODE_SEG        SEGMENT     USE16   PUBLIC  'CODE'
     35
     36                ;assume cs:MBRPROT, ds:MBRPROT, es:nothing, ss:nothing
     37                assume cs:MBRPROT, ds:MBRPROT, es:nothing, ss:nothing
     38
     39                org 0000h
    2240                .386p
    23                 .model large, basic
    24 
    25 code_seg        segment public use16
    26                 assume cs:code_seg, ds:nothing, es:nothing, ss:nothing
    27                 org 0000h
    2841
    2942; Yes you are :-)
     
    114127    jmp     WindowsProcessing
    115128
    116 MBRProt_WriteLine              Proc Near
     129MBRProt_WriteLine              Proc Near    Uses ax bx cx dx
    117130    add     di, 26
    118131    mov     ah, 4Ch                      ; red/brightred
     
    148161MBRProt_WriteBorderLine        EndP
    149162
    150 MBRP_Line1:     db      'ÕÍÍŽ!ATTENTION! -> A V1RU5 WAS FOUND <- !ATTENTION!ÃÍÍž'
    151 MBRP_EmptyLine: db      '³                                                     ³'
     163MBRP_Line1      db      'ÕÍÍŽ!ATTENTION! -> A V1RU5 WAS FOUND <- !ATTENTION!ÃÍÍž'
     164MBRP_EmptyLine  db      '³                                                     ³'
    152165                db      '³ A program tried to write to your Master Boot Record ³'
    153166                db      '³     AiR-BOOT supposes this as a viral act, so it    ³'
    154167                db      '³        intercepted it and crashed the system.       ³'
    155 MBRP_Line2:     db      '³ If you tried to install a OS or something like that ³'
     168MBRP_Line2      db      '³ If you tried to install a OS or something like that ³'
    156169                db      '³  you have to deactivate MBR PROTECTION in AiR-BOOT  ³'
    157170                db      '³             or contact your supervisor.             ³'
    158 ;MBRP_Line3:     db      'ÔÍÍÍŽAiR-BOOT (c) Copyright by M. Kiewitz 1999-2009ÃÍÍŸ'
    159 MBRP_Line3:     db      'ÔÍÍÍŽAiR-BOOT (c) Copyright by M. Kiewitz 1999-2011ÃÍÍŸ'
     171;MBRP_Line3      db      'ÔÍÍÍŽAiR-BOOT (c) Copyright by M. Kiewitz 1999-2009ÃÍÍŸ'
     172MBRP_Line3      db      'ÔÍÍÍŽAiR-BOOT (c) Copyright by M. Kiewitz 1999-2012ÃÍÍŸ'
    160173
    161174org             1023
    162175                db 0
    163176
    164 code_seg        EndS
     177CODE_SEG        ENDS
    165178                end
  • trunk/BOOTCODE/REGULAR/BOOTMENU.ASM

    r31 r37  
    718718; Will Set some Vars after user selected entry to boot...
    719719;  ...don't select Straight View !
    720 BOOTMENU_SetVarsAfterMenu Proc Near  Uses
     720BOOTMENU_SetVarsAfterMenu Proc Near
    721721   ; No Straight View in here...we got filtered view since BootMenu-Startup...
    722722   mov     al, CFG_RememberTimed
     
    780780   jz      BME_NoTimedBoot
    781781      ; ------------------------------------------------ TIMED BOOT
    782       push    ax dx
     782      push    ax
     783      push    dx
    783784         call    TIMER_GetTicCount
    784785         mov     dx, word ptr [TimedTimeOut]
     
    793794         cmp     al, 0
    794795         jne     BME_NoTimeOut
    795       pop     dx ax
     796      pop     dx
     797      pop     ax
    796798      mov     dl, Menu_EntryDefault
    797799      and     CFG_TimedBootLast, 1
     
    805807
    806808     BME_NoTimeOut:
    807       pop     dx ax
     809      pop     dx
     810      pop     ax
    808811  BME_NoTimedBoot:
    809812   ; ------------------------------------------------ FLOPPY-NAME TIMER
     
    811814   jz      BME_NoFloppyNameTimer
    812815      ; Wait 2 Seconds everytime
    813       push    ax dx
     816      push    ax
     817      push    dx
    814818         call    TIMER_GetTicCount
    815819         cmp     dx, wptr [FloppyGetNameTimer+2]
     
    819823        BME_ExpiredGetFloppy:
    820824         call    BOOTMENU_ResetGetFloppy
    821       pop     dx ax
     825      pop     dx
     826      pop     ax
    822827      jmp     BME_RefreshFloppyName
    823828        BME_NoFloppyNameExpired:
    824       pop     dx ax
     829      pop     dx
     830      pop     ax
    825831  BME_NoFloppyNameTimer:
    826832   ; ------------------------------------------------ KEYBOARD
     
    848854      int     16h
    849855   pop     dx
    850    cmp     ah, Keys_Enter
     856   cmp     ah, Keys_ENTER
    851857   je      BME_KeyEnter
    852858   cmp     ah, Keys_F10
  • trunk/BOOTCODE/REGULAR/DRIVEIO.ASM

    r36 r37  
    153153
    154154DriveIO_GetHardDriveCount       Proc Near   Uses ds si
    155    push    ds si
     155   push    ds
     156   push    si
    156157      push    0040h
    157158      pop     ds
    158159      mov     si, 0075h
    159160      mov     dh, ds:[si]                ; 40:75 -> POST: Total Harddiscs == DL
    160    pop     si ds
     161   pop     si
     162   pop     ds
    161163   mov     TotalHarddiscs, dh
    162164   ret
     
    173175   mov     dl, 80h
    174176  DIOILUT_DriveLoop:
    175       push    dx di
     177      push    dx
     178      push    di
    176179         mov     ah, 08h
    177180         int     13h            ; DISK - GET DRIVE PARAMETERS
     
    190193                                ;  bit 16-23 of the LBA address
    191194        DIOILUT_Error:
    192       pop     di dx
     195      pop     di
     196      pop     dx
    193197      mov     bptr ds:[di], ah  ; Save that value
    194198      inc     di                ; Go to next BYTE
     
    206210; Rousseau: Enhanced to handle sector-numbers 127 and 255 besides 63 for LVM-info sectors.
    207211;           Ugly, need to cleanup.
    208 DriveIO_LVMAdjustToInfoSector   Proc Near   Uses
     212DriveIO_LVMAdjustToInfoSector   Proc Near
    209213
    210214
     
    471475DriveIO_LVMAdjustToInfoSector   EndP
    472476
    473 drive:                  db 'drive                    : ',0
    474 before_lvm_adjust:      db 'before lvm adjust        : ',0
    475 after_lvm_adjust:       db 'after lvm adjust         : ',0
    476 before_lvm_adjust_log:  db 'before lvm logical adjust: ',0
    477 after_lvm_adjust_log:   db 'after lvm logical adjust : ',0
    478 spt_used:               db 'spt used                 : ',0
     477drive                   db 'drive                    : ',0
     478before_lvm_adjust       db 'before lvm adjust        : ',0
     479after_lvm_adjust        db 'after lvm adjust         : ',0
     480before_lvm_adjust_log   db 'before lvm logical adjust: ',0
     481after_lvm_adjust_log    db 'after lvm logical adjust : ',0
     482spt_used                db 'spt used                 : ',0
    479483
    480484
     
    551555
    552556; Keeps DS:SI for caller
    553 DriveIO_LoadTmpSector           Proc Near  Uses
     557DriveIO_LoadTmpSector           Proc Near
    554558   mov     si, offset TmpSector
    555559   call    DriveIO_LoadSector                                                    ; Uses INT13X if needed
     
    558562
    559563; Keeps DS:SI for caller
    560 DriveIO_SaveTmpSector           Proc Near  Uses
     564DriveIO_SaveTmpSector           Proc Near
    561565   mov     si, offset TmpSector
    562566   call    DriveIO_SaveSector
     
    626630
    627631; Memory-Block that holds information for LBA-access via INT 13h
    628 DriveIO_DAP:               db       10h  ; Size of paket
     632DriveIO_DAP                db       10h  ; Size of paket
    629633                           db        0   ; Reserved
    630634DriveIO_DAP_NumBlocks      dw        0   ; Number of blocks
     
    652656   mov     bptr [si+5], dl
    653657   call    MBR_Teletype
    654    jmp     MBRLE_Halt
     658
     659   ; JWasm: cannot jump to local label in procedure.
     660   ; Changed to halt here.
     661   ;jmp     MBRLE_Halt
     662  DriveIO_GotLoadError_halt:
     663   jmp     DriveIO_GotLoadError_halt
    655664DriveIO_GotLoadError            EndP
    656665
     
    12371246
    12381247; Values for sectors per track table corresponding to DriveIO_IsHugeDrive return value.
    1239 secs_per_track_table:   db    63,127,255,255,255,255
     1248secs_per_track_table    db    63,127,255,255,255,255
    12401249
    12411250;db_lmlvm:   db 'Load Master LVM -- disk: ',0
  • trunk/BOOTCODE/REGULAR/OTHER.ASM

    r36 r37  
    8383GetLenOfStrings                EndP
    8484
    85 PRECRAP_Main                    Proc Near  Uses
     85PRECRAP_Main                    Proc Near
    8686   ; First initialize Variable-Area (everything with NUL)
    8787   mov     di, offset BeginOfVariables
     
    264264
    265265               MBR_Main_BootThrough:
    266                  call    MBR_TeleType
     266                 call    MBR_Teletype
    267267                 xor     si,si
    268268                 call    MBR_TeletypeNL
     
    357357
    358358
    359 AFTERCRAP_Main                  Proc Near  Uses
     359AFTERCRAP_Main                  Proc Near
    360360   ; ===================================================
    361361   ;  Now get volume label of FloppyDrive, if wanted...
  • trunk/BOOTCODE/REGULAR/PARTMAIN.ASM

    r36 r37  
    114114      call    PART_GetPartitionPointer   ; Gets SI for partition DL
    115115      mov     al, ds:[si+LocIPT_Flags]
    116       and     al, Flags_BootAble
     116      and     al, Flags_Bootable
    117117      jnz     PFUPN_Found
    118118      dec     cl
     
    290290;        In: DL - Number of partition in filtered view
    291291;       Out: DL - Number of partition in straight view
    292 PART_ConvertToStraight          Proc Near   Uses
     292PART_ConvertToStraight          Proc Near
    293293   ;movzx   bx, dl
    294294   mov   bl,dl                                  ; partition number to bl
     
    928928
    929929  PSP_ForceI13X:
    930         push    es di si
     930        push    es
     931        push    di
     932        push    si
    931933
    932934        ; Setup ES and FS.
     
    952954        mov     wptr es:[di+06], ax
    953955
    954         pop     si di es
     956        pop     si
     957        pop     di
     958        pop     es
    955959
    956960
     
    11511155   jz      PSP_NoMBRprotect
    11521156   ; -------------------------------------------------- INSTALLS MBR-PROTECTION
    1153    push    ds si                         ; We need DS:SI later...
     1157   ; We need DS:SI later...
     1158   push    ds
     1159   push    si
    11541160      ; First subtract 1024 bytes from Base-Memory...
    11551161      push    ds
     
    11951201      mov     ds:[si+2], dx              ; Vector hardcoded at DS:0009
    11961202      ; MBR-Protection now active :)
    1197    pop     si ds                         ; Restore DS:SI
     1203   ; Restore DS:SI
     1204   pop     si
     1205   pop     ds
    11981206
    11991207
     
    12791287        mov     ax,bx
    12801288        call    VideoIO_PrintHexWord
     1289        mov     ax,[si+LocIPT_AbsolutePartTable+02]
     1290        call    VideoIO_PrintHexWord
     1291        mov     ax,[si+LocIPT_AbsolutePartTable+00]
     1292        call    VideoIO_PrintHexWord
     1293        mov     al,[ExtendedAbsPosSet]
     1294        call    VideoIO_PrintHexByte
    12811295        popa
    12821296
     
    12941308
    12951309        ;
    1296         ; Update the phys-drive field
     1310        ; Update the phys-disk field
     1311        ; DI points to PartitionSector
     1312        ; BX holds index to phys-disk field
    12971313        ;
    12981314        mov     al,byte ptr [si+LocIPT_Drive]
     
    16671683        ;popa
    16681684
    1669 
    1670         ; About 1.5 seconds
    1671         mov     al,30
     1685        ;~ jmp     skip_delay
     1686
     1687
     1688        ;
     1689        ; Show "wait dots"
     1690        ;
     1691        pusha
     1692        ; Color white on black
     1693        mov     ch,7
     1694        mov     cl,0
     1695        call    VideoIO_Color
     1696        ; Locate cursor for output of debug-info
     1697        mov     ch,8
     1698        mov     cl,1
     1699        call    VideoIO_Locate
     1700
     1701        ; Print dots with interval.
     1702        mov     cx,10
     1703    print_next_dot:
     1704        mov     al,'.'
     1705        call    VideoIO_PrintSingleChar
     1706        ; Value 30 is about 1.5 seconds
     1707        mov     al,1
    16721708        call    TIMER_WaitTicCount
     1709        loop    print_next_dot
     1710        popa
     1711
     1712    ;
     1713    ; Enter here to skip delay.
     1714    ;
     1715    skip_delay:
     1716
     1717
    16731718
    16741719        ;
     
    20772122; CY    = Set if BOOTMGR found, clear if not
    20782123;
    2079 PART_IsWinBMGR  Proc Near  Uses ax bx cx dx si di ds es
    2080 
    2081         ; Load specified LBA sector (BX:CX) from the disk in DL
    2082         mov     di,ds
    2083         mov     si,offset [TmpSector]
    2084         call    DriveIO_LoadSectorLBA
    2085 
    2086         ; Point to location of 'BOOTMGR' signature.
    2087         add     si,169h
    2088 
    2089         ; DL holds equality status
    2090         xor     dl,dl
    2091         cld
    2092 
    2093         ; Load letter into AL, xor with letter will result 0 if the same.
    2094         ; Then or to DL.
    2095         ; If at the end of the sequence DL is zero, the signature is present.
    2096         lodsb
    2097         xor     al,'B'
    2098         or      dl,al
    2099         lodsb
    2100         xor     al,'O'
    2101         or      dl,al
    2102         lodsb
    2103         xor     al,'O'
    2104         or      dl,al
    2105         lodsb
    2106         xor     al,'T'
    2107         or      dl,al
    2108         lodsb
    2109         xor     al,'M'
    2110         or      dl,al
    2111         lodsb
    2112         xor     al,'G'
    2113         or      dl,al
    2114         lodsb
    2115         xor     al,'R'
    2116         or      dl,al
    2117 
    2118         ; Assume not present
    2119         clc
    2120         jnz     PART_IsWinBMGR_exit
    2121 
    2122         ; BOOTMGR signature found
    2123         stc
    2124 
    2125     PART_IsWinBMGR_exit:
    2126         ret
    2127 PART_IsWinBMGR  Endp
     2124;PART_IsWinBMGR  Proc Near  Uses ax bx cx dx si di ds es
     2125;
     2126;        ; Load specified LBA sector (BX:CX) from the disk in DL
     2127;        mov     di,ds
     2128;        mov     si,offset [TmpSector]
     2129;        call    DriveIO_LoadSectorLBA
     2130
     2131;        ; Point to location of 'BOOTMGR' signature.
     2132;        add     si,169h
     2133
     2134;        ; DL holds equality status
     2135;        xor     dl,dl
     2136;        cld
     2137
     2138;        ; Load letter into AL, xor with letter will result 0 if the same.
     2139;        ; Then or to DL.
     2140;        ; If at the end of the sequence DL is zero, the signature is present.
     2141;        lodsb
     2142;        xor     al,'B'
     2143;        or      dl,al
     2144;        lodsb
     2145;        xor     al,'O'
     2146;        or      dl,al
     2147;        lodsb
     2148;        xor     al,'O'
     2149;        or      dl,al
     2150;        lodsb
     2151;        xor     al,'T'
     2152;        or      dl,al
     2153;        lodsb
     2154;        xor     al,'M'
     2155;        or      dl,al
     2156;        lodsb
     2157;        xor     al,'G'
     2158;        or      dl,al
     2159;        lodsb
     2160;        xor     al,'R'
     2161;        or      dl,al
     2162
     2163;        ; Assume not present
     2164;        clc
     2165;        jnz     PART_IsWinBMGR_exit
     2166
     2167;        ; BOOTMGR signature found
     2168;        stc
     2169
     2170;    PART_IsWinBMGR_exit:
     2171;        ret
     2172;PART_IsWinBMGR  Endp
    21282173
    21292174
  • trunk/BOOTCODE/REGULAR/PARTSCAN.ASM

    r36 r37  
    2828;        here.
    2929
    30 PARTSCAN_ScanForPartitions      Proc Near  Uses
     30PARTSCAN_ScanForPartitions      Proc Near
    3131   ; Reset X-Reference
    3232   call    PARTSCAN_ResetXref
     
    120120; Falls eine fehlerhafte Partition gefunden wird, wird abgebrochen.
    121121; falls eine Extended Partition (DOS) gefunden wird, wird erneut gescannt.
    122 PARTSCAN_ScanDriveForPartitions Proc Near  Uses
     122PARTSCAN_ScanDriveForPartitions Proc Near
    123123   xor     ax, ax
    124124   xor     bx, bx     ; Location Absoluter Sektor 0
     
    283283   ; First check, if LVM Information Sector is available and this partition
    284284   ;  is supported.
    285    push    ax dx si di
     285   push    ax
     286   push    dx
     287   push    si
     288   push    di
    286289      mov     si, wptr [PartPtr]
    287290      mov     ax, wptr [si+LocBRPT_RelativeBegin] ; Absolute Sector
     
    335338
    336339   PCCTP_NoIbmBm:
    337    pop     di si dx ax
     340   pop     di
     341   pop     si
     342   pop     dx
     343   pop     ax
    338344   mov     si, offset MBR_NoName_Patched
    339345   xor     ah, ah                        ; no Flags_NoPartName
     
    341347
    342348     PCCTP_CheckBootRecord:
    343    pop     di si dx ax
     349   pop     di
     350   pop     si
     351   pop     dx
     352   pop     ax
    344353   test    ah, FileSysFlags_NoName       ; No-Name-Flag ? -> No Partition Name
    345354
     
    391400         ; Now compare IPT with current Partition
    392401         mov     cx, 15                  ; Serial&Name (15-Bytes)
    393          push    si di
     402         push    si
     403         push    di
    394404            repz    cmpsb
    395          pop     di si
     405         pop     di
     406         pop     si
    396407
    397408         jne   PCCTP_NoMatchYet
     
    415426         ; Now compare IPT with current Partition
    416427         mov     cx, 11                  ; Name only (11-Bytes)
    417          push    si di
     428         push    si
     429         push    di
    418430            add     si, 4
    419431            add     di, 4                ; Skip over Serial-Field
    420432            repz    cmpsb
    421          pop     di si
     433         pop     di
     434         pop     si
    422435         jne     PCCTP_NameNoMatch
    423436         mov     cx, [si+0]           ; Get Serial
     
    488501      ; Build a standard-Volume Label from FileSystemNamePtr
    489502      ;  We have to call SearchFileSysName again because of NTFS
    490       push    ax cx
     503      push    ax
     504      push    cx
    491505         mov     al, dh
    492506         call    PART_SearchFileSysName   ; We want SI here <- FileSystemNamePtr
     
    501515         stosb                           ; Fill last 3 bytes with "NUL"
    502516         mov     si, offset MBR_NoName_Patched
    503       pop     cx ax
     517      pop     cx
     518      pop     ax
    504519      ;=======================================================
    505520      ; LOCATION SEARCH in IPT-Table
     
    812827PARTSCAN_SyncHideConfigWithXref EndP
    813828
    814 ibm_bm_name:   db 'OS2 BootMgr',0
    815 ;win_bm_name:   db 'BOOTMGR',0
     829ibm_bm_name     db 'OS2 BootMgr',0
     830;win_bm_name:    db 'BOOTMGR',0
  • trunk/BOOTCODE/REGULAR/PASSWORD.ASM

    r30 r37  
    142142PASSWORD_AskSpecifiedPassword   EndP
    143143
    144 PasswordSpace:               db 16 dup (0) ; Space for Password-Encoding...
     144PasswordSpace                db 16 dup (0) ; Space for Password-Encoding...
    145145                             dw 0BABEh     ; All of these 8 bytes are insider
    146146                             dw 0FC77h     ;  jokes. I bet no one will solve
  • trunk/BOOTCODE/REGULAR/STD_TEXT.ASM

    r36 r37  
    4040;Copyright             db ' AiR-BOOT v1.0.8-internal-beta - ** !! NOT FOR DISTRIBUTION !! **', 0
    4141;Copyright             db ' AiR-BOOT v1.0.8 - (c) 2012 M. Kiewitz    <<Release Candidate>>    (build: #18)', 0
    42 Copyright             db ' AiR-BOOT v1.0.8 - (c) 2012 M. Kiewitz  <<Release Candidate 1>> (bld: 20120124)', 0
     42;Copyright             db ' AiR-BOOT v1.0.8 - (c) 2012 M. Kiewitz  <<Release Candidate 1>> (bld: 20120124)', 0
     43Copyright             db ' AiR-BOOT v1.0.8 - (c) 2012 M. Kiewitz  <<Release Candidate 2>> (bld: 20120214)', 0
    4344;Copyright             db ' AiR-BOOT v1.0.8 - (c) 1998-2012 M. Kiewitz, Dedicated to Gerd Kiewitz', 0
     45
     46; Message in case the user wants to edit the label of a type 0x35 partition
     47TXT_SETUP_NoEditType35         db 'The label of an LVM-Data partition cannot be edited', 0
     48; Message in case the user wants to make a type 0x35 partition bootable
     49TXT_SETUP_NoBootType35         db 'An LVM-Data partition cannot be set bootable', 0
    4450
    4551; Rousseau: switch around
  • trunk/BOOTCODE/REGULAR/VIDEOIO.ASM

    r36 r37  
    2424ENDIF
    2525
    26 VideoIO_WaitRetrace             Proc Near   Uses ax dx
    27    mov     dx, 3DAh
    28  VIOWR_Jump1:
    29    in      al, dx
    30    test    al, 8
    31    jnz     VIOWR_Jump1
    32  VIOWR_Jump2:
    33    in      al, dx
    34    test    al, 8
    35    jz      VIOWR_Jump2
    36    ret
    37 VideoIO_WaitRetrace             EndP
     26VideoIO_WaitRetrace Proc Near   Uses ax dx
     27        mov     dx, 3DAh
     28    VIOWR_Jump1:
     29        in      al, dx
     30        test    al, 8
     31        jnz     VIOWR_Jump1
     32    VIOWR_Jump2:
     33        in      al, dx
     34        test    al, 8
     35        jz      VIOWR_Jump2
     36        ret
     37VideoIO_WaitRetrace EndP
    3838
    3939
     
    4141; Holds the current position. Yeah, I know this is in the code area, but who
    4242;  cares :))
    43 TextPosY                     db     0h
    44 TextPosX                     db     0h
    45 TextColorFore                db     7h
    46 TextColorBack                db     0h
     43TextPosY                    db  0h
     44TextPosX                    db  0h
     45TextColorFore               db  7h
     46TextColorBack               db  0h
    4747
    4848;        In: CH - Cursor Column, CL - Cursor Row (Start at 1,1)
    4949; Destroyed: None
    50 VideoIO_Locate                  Proc Near   Uses cx
    51    or      ch, ch
    52    jz      VIOL_IgnoreY
    53    dec     ch
    54    mov     TextPosY, ch
    55   VIOL_IgnoreY:
    56    or      cl, cl
    57    jz      VIOL_IgnoreX
    58    dec     cl
    59    mov     TextPosX, cl
    60   VIOL_IgnoreX:
    61    ret
    62 VideoIO_Locate                  EndP
     50VideoIO_Locate  Proc Near   Uses cx
     51        or      ch, ch
     52        jz      VIOL_IgnoreY
     53        dec     ch
     54        mov     TextPosY, ch
     55    VIOL_IgnoreY:
     56        or      cl, cl
     57        jz      VIOL_IgnoreX
     58        dec     cl
     59        mov     TextPosX, cl
     60    VIOL_IgnoreX:
     61        ret
     62VideoIO_Locate  EndP
    6363
    6464;        In: CH - Cursor Column, CL - Center Cursor Row (Start at 1,1)
     
    549549         cmp     ah, Keys_ESC
    550550         je      VIOLUES_KeyESC
    551          cmp     ah, Keys_Enter
     551         cmp     ah, Keys_ENTER
    552552         je      VIOLUES_KeyENTER
    553553         cmp     ah, Keys_Backspace
     
    836836
    837837; Disk Info to Dump to AB LogScreen
    838 Disk:             db "DISK ",0
    839 ;BiosCyls:         db "Cyls    :",0
    840 BiosHeads:        db "Heads   :",0
    841 BiosSecs:         db "Secs    :",0
    842 LvmSecs:          db "SecsLVM :",0
    843 BiosLBA:          db "LBA Secs:",0
    844 
    845 
    846 HugeBootDisk:     db "Boot Disk is Huge    : ",0
    847 DisksFound:       db "Disks Found          : ",0
    848 PartitionsFound:  db "Partitions Found     : ",0
    849 ;AutoStartPart:    db "Auto Start Partition : ",0
    850 
    851 Phase1:           db "eCS Install Phase 1  : ",0
    852 
    853 
    854 ShowMenu:         db "Press TAB to return to the AiR-BOOT Menu",0
    855 ;ShowBootLog:      db "Press TAB to see the Boot Log...",0
    856 
    857 Yes:              db "YES",0
    858 No:               db "NO",0
    859 On:               db "ON",0
    860 Off:              db "OFF",0
    861 None:             db "NONE",0
    862 Active:           db "ACTIVE",0
    863 NotActive:        db "NOT ACTIVE",0
     838Disk              db "DISK ",0
     839;BiosCyls          db "Cyls    :",0
     840BiosHeads         db "Heads   :",0
     841BiosSecs          db "Secs    :",0
     842LvmSecs           db "SecsLVM :",0
     843BiosLBA           db "LBA Secs:",0
     844
     845
     846HugeBootDisk      db "Boot Disk is Huge    : ",0
     847DisksFound        db "Disks Found          : ",0
     848PartitionsFound   db "Partitions Found     : ",0
     849;AutoStartPart     db "Auto Start Partition : ",0
     850
     851Phase1            db "eCS Install Phase 1  : ",0
     852
     853
     854ShowMenu          db "Press TAB to return to the AiR-BOOT Menu",0
     855;ShowBootLog       db "Press TAB to see the Boot Log...",0
     856
     857Yes               db "YES",0
     858No                db "NO",0
     859On                db "ON",0
     860Off               db "OFF",0
     861None              db "NONE",0
     862Active            db "ACTIVE",0
     863NotActive         db "NOT ACTIVE",0
    864864
    865865; New Line for use by MBR_Teletype
    866 NL:         db 0dh, 0ah, 0
     866NL          db 0dh, 0ah, 0
  • trunk/BOOTCODE/SETUP/MAIN.ASM

    r30 r37  
    3030LocMENU_ItemPack             equ          8 ; only if VariablePtr>0
    3131
    32 SETUP_UpperFixString:         db 'SETUP ',0 ; AddOn fr "AiR-BOOT SETUP vX.XX"
    33 
    34 Include SETUP\MENUS.ASM                  ; Menu structures
    35 Include SETUP\PART_SET.ASM               ; Partition Setup (in extra file)
     32SETUP_UpperFixString          db 'SETUP ',0 ; AddOn for "AiR-BOOT SETUP vX.XX"
     33
     34Include SETUP/MENUS.ASM                  ; Menu structures
     35Include SETUP/PART_SET.ASM               ; Partition Setup (in extra file)
    3636
    3737;            CH - Current Item Number
     
    6969SETUP_SwitchToSelectedItem      EndP
    7070
    71 SETUP_CheckEnterSETUP           Proc Near   Uses
     71SETUP_CheckEnterSETUP           Proc Near
    7272
    7373
     
    117117;        In: BP - Pointer to Menu
    118118;   CurMenu: Left Side 0-6, Right Side 8-14 (Bit 3!)
    119 SETUP_MenuTask                  Proc Near   Uses ; the main-menu routine
     119SETUP_MenuTask                  Proc Near   ; the main-menu routine
    120120   cmp     SETUP_ExitEvent, 1
    121121   jne     SMT_NoImmediateExit
     
    129129
    130130   mov     ax, ds:[bp+1]   ; Help Pointer
    131    cmp     ax, offset TXT_SETUPHELP_MAIN ; ask only in main-menu...
     131   cmp     ax, offset TXT_SETUPHELP_Main ; ask only in main-menu...
    132132   jne     SMT_NotMainMenu
    133133   call    FX_EndScreenLeft              ; Do FX, if requested...
     
    155155      cmp     ah, Keys_Right
    156156      je      SMT_KeyLeftRight
    157       cmp     ah, Keys_Enter
    158       je      SMT_KeyEnter
     157      cmp     ah, Keys_ENTER
     158      je      SMT_KeyENTER
    159159      cmp     ah, Keys_Plus
    160160      je      SMT_KeyPlus
     
    199199   jmp     SMT_FixUpModify
    200200
    201   SMT_KeyEnter:                          ; Enters Menu, if no ItemPack available
     201  SMT_KeyENTER:                          ; Enters Menu, if no ItemPack available
    202202   mov     ch, dh
    203203   call    SETUP_SwitchToSelectedItem    ; Calculates SI for Item-No (CH)
     
    238238  SMT_KeyEsc:
    239239   mov     ax, ds:[bp+1]                 ; Help Pointer
    240    cmp     ax, offset TXT_SETUPHELP_MAIN ; embarassing? ;-)
     240   cmp     ax, offset TXT_SETUPHELP_Main ; embarassing? ;-)
    241241   jne     SMT_ReturnPrev
    242242   jmp     SMT_ExitWithoutSaving
     
    294294;        In: BP - Pointer to Menu
    295295;       Out: DH - Active Item on Screen
    296 SETUP_DrawMenuOnScreen          Proc Near   Uses
     296SETUP_DrawMenuOnScreen          Proc Near
    297297   call    SETUP_DrawMenuWindow
    298298   mov     cx, CLR_MENU_WINDOW_BM
     
    396396   add     ch, 6                         ; Fix coordinate...
    397397   ; Display the Name and a double-point first
    398    push    cx si                         ; BackUp Coordinates and ItemPackPtr
     398   ; BackUp Coordinates and ItemPackPtr
     399   push    cx
     400   push    si
    399401      push    cx
    400402         cmp     cl, 40
     
    420422      call    VideoIO_PrintSingleChar    ; Write double-point
    421423      mov     word ptr TextColorFore, dx
    422    pop     si cx
     424   pop     si
     425   pop     cx
    423426   add     cl, 26                        ; Fix X-coordinate (for ItemPack)
    424427   call    VideoIO_Locate
     
    498501SETUP_DrawMenuWindow            EndP
    499502
    500 SETUP_DrawMenuBase              Proc Near   Uses
    501    call    BOOTMENU_BuildBackGround
     503SETUP_DrawMenuBase              Proc Near
     504   call    BOOTMENU_BuildBackground
    502505   ; -------------------------------------------- Upper Copyright...
    503506   mov     cx, 0F00h
     
    705708;SETUP_EnterMenu_LinuxCommandLine EndP
    706709
    707 SETUP_EnterMenu_DefineMasterPassword Proc Near Uses
     710SETUP_EnterMenu_DefineMasterPassword Proc Near
    708711   mov     di, offset CFG_MasterPassword
    709712   call    SETUP_EnterMenu_DefinePassword
     
    711714SETUP_EnterMenu_DefineMasterPassword EndP
    712715
    713 SETUP_EnterMenu_DefineBootPassword Proc Near Uses
     716SETUP_EnterMenu_DefineBootPassword Proc Near
    714717   mov     di, offset CFG_BootPassword
    715718   call    SETUP_EnterMenu_DefinePassword
     
    720723
    721724; [Linux support removed since v1.02]
    722 ;SETUP_EnterMenu_EnterLinuxCmdLine Proc Near Uses
     725;SETUP_EnterMenu_EnterLinuxCmdLine Proc Near
    723726;   mov     cx, 0D05h
    724727;   call    VideoIO_Color
     
    845848   mov     ax, VideoIO_Page2
    846849   call    VideoIO_BackUpTo
    847    push    ax di
     850   push    ax
     851   push    di
    848852      mov     ax, 20h                    ; Space
    849853      mov     cx, 16
    850854      rep     stosb                      ; Kill new password
    851855      mov     es:[di], ah                ; ending NUL
    852    pop     di ax
     856   pop     di
     857   pop     ax
    853858   cmp     ax, 0ABABh                    ; Magic Processing...
    854859   je      SLEP_MagicLayOut
     
    10391044  SEMSAES_DoThis:
    10401045   xor     al, al
    1041    mov     CFG_AutoEnterSETUP, al
     1046   mov     CFG_AutoEnterSetup, al
    10421047   add     CFG_LastTimeEditLow, 1
    10431048   adc     CFG_LastTimeEditHi, 0         ; Update Time-Stamp
     
    10551060   jnz     SEMEWS_UserAbort
    10561061   ; If we were forced to enter Setup, save configuration anyway...
    1057    test    CFG_AutoEnterSETUP, 1
     1062   test    CFG_AutoEnterSetup, 1
    10581063   jz      SEMEWS_DoThis
    10591064   jmp     SEMEWS_DoThis                 ; Cross-Jump to SaveAndExitSetup!
     
    10721077;       Out: Non-Zero Flag set -> User is sure
    10731078; Destroyed: None
    1074 SETUP_Warning_AreYouSure        Proc Near Uses
     1079SETUP_Warning_AreYouSure        Proc Near
    10751080   mov     cx, 0C04h
    10761081   call    VideoIO_Color
     
    11671172
    11681173; Cur Value in DL, Maximum Value in DH. Add/Sub in CL
    1169 SETUPMAGIC_InternalCheckUp      Proc Near   Uses
     1174SETUPMAGIC_InternalCheckUp      Proc Near
    11701175   or      cl, cl                        ; CL==0?    -> Decrease
    11711176   jz      SMICU_Substract               ; otherwise -> Increase
     
    12221227   mov     al, dl
    12231228   call    VideoIO_PrintByteDynamicNumber
    1224    push    ds es
    1225    pop     ds es                         ; Pseudo-(XCHG DS, ES)
     1229   ; Pseudo-(XCHG DS, ES)
     1230   push    ds
     1231   push    es
     1232   pop     ds
     1233   pop     es
     1234
    12261235   mov     di, si
    12271236   add     di, LocMENU_ItemPack          ; ES:DI - ItemPack
    12281237   mov     si, 4000                      ; DS:SI - Screen Page 1
    1229    push    es di
     1238   push    es
     1239   push    di
    12301240      mov     cx, 4
    12311241     SMCBD_Loop:
     
    12331243         stosb
    12341244      loop    SMCBD_Loop                 ; okay we got it...trick!
    1235    pop     si ds                         ; DS:SI - ItemPack
     1245   ; DS:SI - ItemPack
     1246   pop     si
     1247   pop     ds
    12361248   mov     cx, 12
    12371249   call    GetLenOfName                  ; Gets the length of the number
     
    12991311      call    PART_GetPartitionPointer
    13001312      mov     ax, ds:[si+LocIPT_Flags]
    1301       test    ax, Flags_BootAble
     1313      test    ax, Flags_Bootable
    13021314      jz      SMCP_Inc_RejectPartition
    13031315      jmp     SMCP_GotSelection
     
    13301342      call    PART_GetPartitionPointer
    13311343      mov     ax, ds:[si+LocIPT_Flags]
    1332       test    ax, Flags_BootAble
     1344      test    ax, Flags_Bootable
    13331345      jz      SMCP_Dec_RejectPartition
    13341346
  • trunk/BOOTCODE/SETUP/MENUS.ASM

    r30 r37  
    6969SETUP_MainMenu:
    7070                db      0                ; Where Current Item will get saved
    71                 dw      offset TXT_SETUPHELP_MAIN ; Pointer to help information
     71                dw      offset TXT_SETUPHELP_Main ; Pointer to help information
    7272                ; The Menu-Items start here...
    7373                dw      offset SETUP_EnterMenu_PartitionSetup, 0
     
    103103SETUP_BasicOptions:
    104104                db      0                ; Where Current Item will get saved
    105                 dw      offset TXT_SETUPHELP_SUBMENU ; Pointer to help info
     105                dw      offset TXT_SETUPHELP_SubMenu ; Pointer to help info
    106106                ; The Menu-Items start here...
    107107                dw      offset SETUPMAGIC_ChangeDefaultSelection, offset CFG_PartDefault
     
    135135                dw      0, 0
    136136                dw      offset SETUPMAGIC_EnableDisable, offset CFG_ProtectMBR
    137                 dw      offset TXT_SETUP_MBRprotection, offset TXT_SETUPHELP_MBRprotection
     137                dw      offset TXT_SETUP_MbrProtection, offset TXT_SETUPHELP_MbrProtection
    138138                dw      6 dup (0)
    139139                dw      offset SETUPMAGIC_EnableDisable, offset CFG_IgnoreWriteToMBR
    140                 dw      offset TXT_SETUP_IgnoreMBRwrites, offset TXT_SETUPHELP_IGNOREMBRWRITES
     140                dw      offset TXT_SETUP_IgnoreMbrWrites, offset TXT_SETUPHELP_IgnoreMbrWrites
    141141                dw      6 dup (0)
    142142                dw      0, 0
     
    151151SETUP_AdvancedOptions:
    152152                db      0                ; Where Current Item will get saved
    153                 dw      offset TXT_SETUPHELP_SUBMENU ; Pointer to help info
     153                dw      offset TXT_SETUPHELP_SubMenu ; Pointer to help info
    154154                ; The Menu-Items start here...
    155155                dw      offset SETUPMAGIC_ChangeBootMenu, offset CFG_BootMenuActive
     
    163163                ; Separator Line
    164164                dw      0, 0
    165                 dw      offset TXT_SETUP_SECURITYOPTIONS, 0
     165                dw      offset TXT_SETUP_SecurityOptions, 0
    166166                dw      offset SETUPMAGIC_EnableDisable, offset CFG_PasswordSetup
    167167                dw      offset TXT_SETUP_PasswordedSetup, offset TXT_SETUPHELP_PasswordedSetup
     
    198198SETUP_ExtendedBootOptions:
    199199                db      0                ; Where Current Item will get saved
    200                 dw      offset TXT_SETUPHELP_SUBMENU ; Pointer to help information
     200                dw      offset TXT_SETUPHELP_SubMenu ; Pointer to help information
    201201                ; The Menu-Items start here...
    202202; [Linux support removed since v1.02]
  • trunk/BOOTCODE/SETUP/PART_SET.ASM

    r36 r37  
    2525
    2626; This here is called from Menu in AIR-BSET.asm
    27 PARTSETUP_Main                  Proc Near   Uses
     27PARTSETUP_Main                  Proc Near
    2828   ; Build Fixed Content...
    2929   call    PARTSETUP_DrawMenuBase
     
    5353      cmp     ah, Keys_F1
    5454      je      PSM_KeyF1
    55       cmp     ah, Keys_Enter
     55      cmp     ah, Keys_ENTER
    5656      je      PSM_KeyENTER
    5757      ; Flags-Change
     
    110110   jmp     PSM_MainLoop
    111111
     112    ; Disabling editing for type 0x35 is currently implemented
     113    ; in PARTSETUP_ChangePartitionName.
    112114  PSM_KeyENTER:
    113115   call    PARTSETUP_ChangePartitionName
     
    120122  PSM_KeyBootAble:
    121123   call    PART_GetPartitionPointer      ; Gets Partition (DL) Pointer -> SI
     124   ; See if this is an eCS LVM Volume.
     125   ; In that case, we don't allow it to be made bootable.
     126   ; We also show a popup to inform the user.
     127   call    PARTSETUP_IsType35
     128   je      PSM_KeyBootAble_istype35
     129
     130  PSM_KeyBootAble_notype35:
    122131   mov     al, [si+LocIPT_Flags]
    123    xor     al, Flags_BootAble
     132   xor     al, Flags_Bootable
    124133   mov     [si+LocIPT_Flags], al
    125134   call    PARTSETUP_DrawPartitionInfo
    126135   call    PARTSETUP_BuildChoiceBar
     136  PSM_KeyBootAble_istype35:
    127137   jmp     PSM_MainLoop
    128138
     
    164174PARTSETUP_Main                  EndP
    165175
     176
     177; See if this is a partition of type 0x35 and display error
     178; when user tries to set it as bootable.
     179; IN:   SI = Pointer to partition
     180; OUT:  ZF = Set if 0x35, clear otherwise
     181PARTSETUP_IsType35      Proc    Near
     182   mov     al, [si+LocIPT_SystemID]
     183   cmp     al, 35h
     184   jne     PARTSETUP_IsType35_end
     185   pushf
     186   pusha
     187   ; Cannot boot LVM-Data partitions
     188   mov     cx, 0C04h
     189   mov     si, offset TXT_SETUP_NoBootType35
     190   call    SETUP_ShowErrorBox
     191   popa
     192   call    PARTSETUP_DrawMenuBase
     193   call    PARTSETUP_RefreshPartitions
     194   call    PARTSETUP_BuildChoiceBar
     195   popf
     196  PARTSETUP_IsType35_end:
     197   ret
     198PARTSETUP_IsType35      EndP
     199
     200
    166201; Draw all standard-things for Partition Setup, dynamic content not included.
    167202PARTSETUP_DrawMenuBase          Proc Near   Uses dx
     
    251286   call    VideoIO_FixedPrint
    252287
    253    mov     si, offset TXT_SETUPHELP_PARTSETUP
     288   mov     si, offset TXT_SETUPHELP_PartSetup
    254289   call    SETUP_DrawMenuHelp
    255290   ret
     
    370405         mov     cl, 11
    371406         call    VideoIO_FixedPrint
    372    pop     si cx
     407   pop     si
     408   pop     cx
    373409
    374410   ; Display "Flags" field aka "BVHL"
     
    379415   mov     bh, bl
    380416   mov     al, TXT_SETUP_FlagLetterBootable
    381    and     bl, Flags_BootAble
     417   and     bl, Flags_Bootable
    382418   call    PARTSETUP_DrawOneFlag
    383419   mov     bl, bh
     
    429465;            DH - New Active (to be activated)
    430466; Destroyed: None
    431 PARTSETUP_BuildChoiceBar        Proc Near   Uses
     467PARTSETUP_BuildChoiceBar        Proc Near
    432468   cmp     dl, dh
    433469   je      PSBCB_SkipRetrace
     
    666702        cmp     byte ptr [si+LocIPT_SystemID], 035h
    667703        jnz     no_type_35h
     704
     705   ; Cannot boot LVM-Data partitions
     706   pusha
     707   mov     cx, 0C04h
     708   mov     si, offset TXT_SETUP_NoEditType35
     709   call    SETUP_ShowErrorBox
     710   popa
     711
     712
    668713        jmp     PSCPN_AllDone
    669714    no_type_35h:
    670715
    671716   mov     cx, 11                        ; Partition-Name-Length = 11 Bytes
    672    push    si di
     717   push    si
     718   push    di
    673719      add     si, LocIPT_Name            ; DS:SI -> Partition-Name
    674720      repz    cmpsb
    675    pop     di si
     721   pop     di
     722   pop     si
    676723   jne     PSCPN_LetUserEditPartName     ; -> No BR/LVM Changing/Saving
    677724
     
    741788
    742789   ; ----------------------------------------------[LVM SAVE PARTITION NAME]---
    743    ; Copy 11 bytes from IPT into LVM PartitonName, back-padd with zero's
     790   ; Copy 11 bytes from IPT into LVM PartitionName, back-padd with zero's
    744791   mov     cx, 11
    745792   push    si
     
    848895      cmp     ah, Keys_F1
    849896      je      PHSM_KeyF1
    850       cmp     ah, Keys_Enter
     897      cmp     ah, Keys_ENTER
    851898      je      PHSM_KeyToogle
    852899      cmp     ah, Keys_Plus
     
    9581005   sub     dl, cl                        ; Adjust position
    9591006   sub     dl, 2
    960    push    cx si                         ; SI == Label Field
     1007   push    cx
     1008   push    si                         ; SI == Label Field
    9611009      mov     cx, dx
    9621010      call    VideoIO_Locate
     
    9651013      mov     si, offset TXT_SETUP_HideFeature2
    9661014      call    VideoIO_Print
    967    pop     si cx
     1015   pop     si
     1016   pop     cx
    9681017   call    VideoIO_FixedPrint
    9691018   mov     al, '>'
     
    11341183;            DH - New Active (to be activated)
    11351184; Destroyed: None
    1136 PARTHIDESETUP_BuildChoiceBar    Proc Near   Uses
     1185PARTHIDESETUP_BuildChoiceBar    Proc Near
    11371186   cmp     dl, dh
    11381187   je      PHSBCB_SkipRetrace
     
    12651314   mov     di, offset HidePartitionTable
    12661315   add     di, ax                        ; We got the pointer
    1267    push    di di
     1316   push    di
     1317   push    di
    12681318      mov     cx, LocIPT_MaxPartitions
    12691319      mov     al, 0FFh
     
    13671417         cmp     ah, Keys_ESC
    13681418         je      PSDLS_KeyDONE
    1369          cmp     ah, Keys_Enter
     1419         cmp     ah, Keys_ENTER
    13701420         je      PSDLS_KeyDONE
    13711421         ; Direct-Letter-Input
  • trunk/BOOTCODE/SPECIAL/F00K/BILLSUXX.ASM

    r30 r37  
    5151   jz      MSHPPT_NoMShack
    5252  MSHPPT_HarddriveLoop:
    53       push    ax bx cx dx
     53      push    ax
     54      push    bx
     55      push    cx
     56      push    dx
    5457         xor     ax, ax
    5558         xor     bx, bx     ; Location Absolute Sector 0
     
    5760         xor     dh, dh     ; Location Cylinder 0, Head 0, Sector 1 MBR/PPT
    5861         call    DriveIO_LoadPartition
    59       pop     dx cx bx ax
     62      pop     dx
     63      pop     cx
     64      pop     bx
     65      pop     ax
    6066      jc      MSHPPT_Failure
    6167
  • trunk/BOOTCODE/SPECIAL/FAT16.ASM

    r30 r37  
    103103   xor    di, di
    104104  FAT16SE_SearchLoop:
    105       push   si di
     105      push   si
     106      push   di
    106107         mov    cx, 11
    107108         repe   cmpsb                    ; Compare total 11-bytes
    108       pop    di si
     109      pop    di
     110      pop    si
    109111      je     FAT16SE_EntryFound
    110112      add    di, 32                      ; Skip 1 FAT16-Entry now :)
     
    221223
    222224      ; Set Size-Entry in KernelSizeTable
    223       push   ds si di
     225      push   ds
     226      push   si
     227      push   di
    224228         mov    bx, ds:[si+30]
    225229         mov    ax, ds:[si+28]           ; BX:AX - Size of file in Bytes
     
    240244         mov    di, si
    241245         call   PART_FillOutSizeElement  ; BX:AX -> ES:DI (Size Element)
    242       pop    di si ds
     246      pop    di
     247      pop    si
     248      pop    ds
    243249
    244250      ; Copy entry and make append extension to basename
  • trunk/BOOTCODE/SPECIAL/FX.ASM

    r30 r37  
    2727;  If you rip this code, I will ./ your ass. =]
    2828
    29 Include SPECIAL\FXTABLES.asm
     29Include SPECIAL/FXTABLES.ASM
    3030
    3131FX_MaxScanLine                equ 384
    3232FX_TotalCooperBars            equ   7
    3333
    34 FX_CalculateTables              Proc Near   Uses
     34FX_CalculateTables              Proc Near
    3535   ; Calculate the Cooper-Bar Color-Table -> FX_CooperColors
    3636   mov    di, offset FX_CooperColors
     
    5757;       Out: *none*
    5858; Destroyed: DI - updated, +96
    59 FX_MakeCooperBarColors          Proc Near   Uses
     59FX_MakeCooperBarColors          Proc Near
    6060   mov    bh, ah
    6161   shl    bh, 4
     
    8282      add    di, 3
    8383   loop   FX_MCBC_BuildColorLoop1
    84    push   ax bx
     84   push   ax
     85   push   bx
    8586      add    ax, 0101h
    8687      add    bl, 01h
     
    9293      mov    es:[di+5], bl
    9394      add    di, 6
    94    pop    bx ax
     95   pop    bx
     96   pop    ax
    9597   mov    cx, 15
    9698  FX_MCBC_BuildColorLoop2:
     
    109111;  If FX is active, we will modify the base segment for videoio to page 2,
    110112;  so the screen will be generated there instead of the current page.
    111 FX_StartScreen                  Proc Near   Uses
     113FX_StartScreen                  Proc Near
    112114   test    CFG_CooperBars, 1
    113115   jz      FXSS_NoFX
     
    120122;  If FX is active, we will copy the new screen to scroll area, do the FX,
    121123;  copy the new screen to Page 0 and activate it.
    122 FX_EndScreenLeft                Proc Near   Uses
     124FX_EndScreenLeft                Proc Near
    123125   test    CFG_CooperBars, 1
    124126   jnz     FXESL_Go
     
    141143FX_EndScreenLeft                EndP
    142144
    143 FX_ScrollScreenLeft             Proc Near   Uses
     145FX_ScrollScreenLeft             Proc Near
    144146   mov     FX_WideScrollerCurPos, 640
    145147   mov     FX_WideScrollerDirection, 0
     
    149151FX_ScrollScreenLeft             EndP
    150152
    151 FX_EndScreenRight               Proc Near   Uses
     153FX_EndScreenRight               Proc Near
    152154   test    CFG_CooperBars, 1
    153155   jnz     FXESR_Go
     
    170172FX_EndScreenRight               EndP
    171173
    172 FX_ScrollScreenRight            Proc Near   Uses
     174FX_ScrollScreenRight            Proc Near
    173175   mov     FX_WideScrollerCurPos, 0
    174176   mov     FX_WideScrollerDirection, 1
     
    178180FX_ScrollScreenRight            EndP
    179181
    180 FX_EndScreenInternalGo          Proc Near   Uses
     182FX_EndScreenInternalGo          Proc Near
    181183   mov     FX_WideScrollerSpeed, 1
    182184   mov     FX_WideScrollerSpeedState, 1
     
    199201FX_EndScreenInternalGo          EndP
    200202
    201 FX_EndScreenInternalCleanUp     Proc Near   Uses
     203FX_EndScreenInternalCleanUp     Proc Near
    202204   mov     ax, -1
    203205   call    FX_SetVideoStart
     
    357359;       Out: *none*
    358360; Destroyed: all
    359 FX_CalculateCoopers             Proc Near   Uses
     361FX_CalculateCoopers             Proc Near
    360362   ; Logic: When Intro-State: Increase CooperPos by 1 till 256 -> then active
    361363   ;             Active-State: Use SinusTable, till SinusPos=7Fh -> then Extro
     
    414416FX_CalculateCoopers             EndP
    415417
    416 FX_CalculateWideScroller        Proc Near   Uses
     418FX_CalculateWideScroller        Proc Near
    417419   mov     bx, FX_WideScrollerCurPos
    418420   ;movzx   cx, FX_WideScrollerSpeed
     
    515517FX_CalculateWideScroller        EndP
    516518
    517 FX_WaitRetrace                  Proc Near   Uses
     519FX_WaitRetrace                  Proc Near
    518520   mov    dx, 3DAh
    519521  FX_WR1:
     
    528530FX_WaitRetrace                  EndP
    529531
    530 FX_WaitVRetrace                 Proc Near   Uses
     532FX_WaitVRetrace                 Proc Near
    531533   mov    dx, 3DAh
    532534  FX_WVR1:
  • trunk/BOOTCODE/SPECIAL/LINUX.ASM

    r30 r37  
    188188   add     di, LocIPT_Name
    189189  LSKN_SearchLoop:
    190       push    cx si di
     190      push    cx
     191      push    si
     192      push    di
    191193         mov     cx, 11
    192194         repe    cmpsb                   ; Compare total 11-bytes
    193       pop     di si cx
     195      pop     di
     196      pop     si
     197      pop     cx
    194198      je      LSKN_Found
    195199      add     di, LocIPT_LenOfIPT
     
    224228   ; Linux has 1 'BR' (which is crap) and some setup sectors
    225229   ; we load them at 9000:0, what a luck, we are at 8000:0 :-))
    226    push    ds es
     230   push    ds
     231   push    es
    227232      mov     ax, 9000h
    228233      mov     es, ax
     
    255260      mov     ax, 6000h
    256261      mov     es, ax
    257       push    cx si                      ; Push Kernel-Entry-Pointer
     262      ; Push Kernel-Entry-Pointer
     263      push    cx
     264      push    si
    258265         mov     si, di
    259266         shl     cx, 9                   ; Sectors to Byte Count
     
    262269         shr     cx, 1
    263270         rep     movsw                   ; Copy Data...
    264       pop     si cx                      ; Get Kernel-Entry-Pointer back
     271      ; Get Kernel-Entry-Pointer back
     272      pop     si
     273      pop     cx
    265274     LLL_GotAll:
    266    pop     es ds
    267 
    268    push    cx dx                          ; Push Missing-Sectors, StartCluster
     275   pop     es
     276   pop     ds
     277
     278   ; Push Missing-Sectors, StartCluster
     279   push    cx
     280   push    dx
    269281      mov     ax, 9000h
    270282      mov     ds, ax
     
    336348         stosb                            ; Write another NUL
    337349      pop     cx
    338    pop     dx bx                          ; Pop StartCluster, Missing-Sectors
     350   ; Pop StartCluster, Missing-Sectors
     351   pop     dx
     352   pop     bx
    339353   ; CX - Sector-Count of Kernel Image, DX - Starting Cluster of Kernel Image
    340354   ; BX - Sector-Count left over in 6000:0 area from Setup Code loading
  • trunk/BOOTCODE/SPECIAL/LVM.ASM

    r36 r37  
    2424ENDIF
    2525
    26 LVM_InitCRCTable                Proc Near   Uses
     26LVM_InitCRCTable                Proc Near
    2727   ; Initializes our LVM-CRC-Table
    2828   xor    cl, cl
     
    9090;       Out: Carry set, if valid LVM signature found
    9191; Destroyed: None
    92 LVM_CheckSectorSignature        Proc Near   Uses
     92LVM_CheckSectorSignature        Proc Near
    9393   test    [CFG_IgnoreLVM], 1            ; We are supposed to ignore LVM, so
    9494   jnz     LVMCSS_InvalidSignature       ;  any sector is bad!
     
    176176LVM_GetDriveLetter      Proc Near   Uses bx cx dx si di ds es
    177177        ; For primary partitions this information is stored in the last
    178         ; sector of track0; for all four partition entries should they
    179         ; all be primary ones.
     178        ; sector of track0; for all four partition entries in case they
     179        ; they are all primary ones.
    180180        ;
    181181        ; LVM DLAT info for logical partitions is stored in the sector
  • trunk/BOOTCODE/SPECIAL/VIRUS.ASM

    r30 r37  
    3333   mov     di, offset CFG_VIR_INT08
    3434   push    di
    35       rep     scasb
     35      repe     scasb
    3636   pop     di
    3737   jne     VCFS_AlreadyInitiated
     
    102102   int     16h                           ; Waits for any keystroke
    103103   jmp     VCFS_InitNow
     104
    104105  VCFS_WhewThisIsOne:
    105    mov     si, offset TXT_VirusFoundMain
    106    call    MBR_Teletype
    107    ; Now check BackUp MBR for validation (AiRBOOT signature), do this
    108    ; using direct-calls to original bios handler.
    109    call    ANTIVIR_RestoreMBR
    110    jnc     VCFS_ValidRestore
    111    mov     si, offset TXT_VirusFound1damn
    112    call    MBR_Teletype
    113    call    MBR_Teletype                  ; VirusFound1any
    114    mov     si, offset TXT_VirusFoundEnd
    115    call    MBR_Teletype
    116    jmp     MBR_HaltSystem
    117 
    118   VCFS_ValidRestore:
    119    mov     si, offset TXT_VirusFound1ok
    120    call    MBR_Teletype
    121    mov     si, offset TXT_VirusFound1any
    122    call    MBR_Teletype
    123    mov     si, offset TXT_VirusFoundEnd
    124    call    MBR_Teletype
    125    jmp     MBR_HaltSystem
     106   call    VIRUS_TryRestore
     107
     108   ; Code should no reach this since we halt the system in VIRUS_TryRestore.
     109   ret
    126110VIRUS_CheckForStealth           EndP
     111
     112;
     113; This procedure is created to avoid jumping to labels that are local to
     114; procedures. JWasm does not allow that.
     115; Should be fixed better later.
     116;
     117VIRUS_TryRestore    Proc Near
     118        mov     si, offset TXT_VirusFoundMain
     119        call    MBR_Teletype
     120        ; Now check BackUp MBR for validation (AiRBOOT signature), do this
     121        ; using direct-calls to original bios handler.
     122        call    ANTIVIR_RestoreMBR
     123        jnc     VIRUS_TryRestore_ValidRestore
     124
     125        mov     si, offset TXT_VirusFound1damn
     126        call    MBR_Teletype
     127        call    MBR_Teletype                  ; VirusFound1any
     128        mov     si, offset TXT_VirusFoundEnd
     129        call    MBR_Teletype
     130        jmp     MBR_HaltSystem
     131
     132    VIRUS_TryRestore_ValidRestore:
     133        mov     si, offset TXT_VirusFound1ok
     134        call    MBR_Teletype
     135        mov     si, offset TXT_VirusFound1any
     136        call    MBR_Teletype
     137        mov     si, offset TXT_VirusFoundEnd
     138        call    MBR_Teletype
     139        jmp     MBR_HaltSystem
     140
     141        ; Code should not reach this since we halt the system.
     142VIRUS_TryRestore    Endp
     143
    127144
    128145; Checks system for normal-MBR-virus... (done by comparing current MBR with
     
    131148; Segment Registers preserved
    132149VIRUS_CheckForVirus             Proc Near  Uses ds si es di
    133    push    cs cs
    134    pop     ds es
     150   push    cs
     151   push    cs
     152   pop     ds
     153   pop     es
    135154   mov     bx, offset TmpSector
    136155   mov     dx, 0080h
     
    145164   mov     cx, 223                       ; Compare 446 bytes
    146165   repz    cmpsw                         ; if fail: Cross call to Stealth-Virus
    147    jne     VCFS_WhewThisIsOne
     166   ;jne     VCFS_WhewThisIsOne
     167   je      VIRUS_CheckForVirus_end
     168   call    VIRUS_TryRestore
     169  VIRUS_CheckForVirus_end:
    148170   ret
    149171VIRUS_CheckForVirus             EndP
     
    167189
    168190; Will report Carry-Clear, if BackUp MBR is valid (supposingly)
    169 ANTIVIR_CheckBackUpMBR          Proc Near  Uses
    170    push    cs cs
    171    pop     es ds
     191ANTIVIR_CheckBackUpMBR          Proc Near
     192   push    cs
     193   push    cs
     194   pop     es
     195   pop     ds
    172196   mov     bx, offset TmpSector
    173197   mov     dx, 0080h
     
    190214ANTIVIR_CheckBackUpMBR          EndP
    191215
    192 ANTIVIR_RestoreMBR              Proc Near  Uses
     216ANTIVIR_RestoreMBR              Proc Near
    193217   call    ANTIVIR_CheckBackUpMBR
    194218   jnc     ARMBR_DoIt
  • trunk/BOOTCODE/TEXT/DE/MENUS.ASM

    r36 r37  
    109109; Setup Control Help - Max Length: 33
    110110;----------------------------------|-------------------------------|--------
    111 TXT_SETUPHELP_Main:            db 24,32,25,32,26,32,27,' : Aktion Ausw„hlen', 0
     111TXT_SETUPHELP_Main             db 24,32,25,32,26,32,27,' : Aktion Ausw„hlen', 0
    112112                               db               'Enter   : Aktion Best„tigen', 0
    113113                               db               'F10 : Speichern&Beenden', 0
    114114                               db               'Esc : Beenden', 0
    115115
    116 TXT_SETUPHELP_SubMenu:         db 24,32,25,32,26,32,27,' : Option Ausw„hlen', 0
     116TXT_SETUPHELP_SubMenu          db 24,32,25,32,26,32,27,' : Option Ausw„hlen', 0
    117117                               db               'Bild ',24,25,' : Option Žndern', 0
    118118                               db               'F1  : Zeige Hilfe ber Option', 0
    119119                               db               'Esc : Zurck ins Hauptmen', 0
    120120
    121 TXT_SETUPHELP_PartSetup:       db 24,32,25,32,26,32,27,' : Partition Ausw„hlen', 0
     121TXT_SETUPHELP_PartSetup        db 24,32,25,32,26,32,27,' : Partition Ausw„hlen', 0
    122122                               db               'Enter   : Label editieren', 0
    123123                               db               'F1  : Optionen', 0
     
    128128                                  ;1234567890123456789012
    129129;----------------------------------|--------------------|-------------------
    130 TXT_SETUPHELP_PartitionSetup:  db 'Partionen als Bootbar', 0
     130TXT_SETUPHELP_PartitionSetup   db 'Partionen als Bootbar', 0
    131131                               db 'definieren, Namen', 0
    132132                               db '„ndern und einiges', 0
    133133                               db 'mehr.', 0
    134134                               db 0
    135 TXT_SETUPHELP_BasicOptions:    db 'Diese Optionen sind', 0
     135TXT_SETUPHELP_BasicOptions     db 'Diese Optionen sind', 0
    136136                               db 'fr unerfahrene User.', 0
    137137                               db 0
    138 TXT_SETUPHELP_AdvOptions:      db 'Diese Optionen sind', 0
     138TXT_SETUPHELP_AdvOptions       db 'Diese Optionen sind', 0
    139139                               db 'fr erfahrene User.', 0
    140140                               db 'Ver„ndern Sie nichts,', 0
     
    143143                               db 0
    144144;----------------------------------|--------------------|-------------------
    145 TXT_SETUPHELP_ExtOptions:      db 'Spezial Optionen fr', 0
     145TXT_SETUPHELP_ExtOptions       db 'Spezial Optionen fr', 0
    146146                               db 'bestimmte Betriebs-', 0
    147147                               db 'system.', 0
    148148                               db 0
    149 TXT_SETUPHELP_DefMasterPwd:    db 'Definiert ein Passwort', 0
     149TXT_SETUPHELP_DefMasterPwd     db 'Definiert ein Passwort', 0
    150150                               db 'fr Setup und System.', 0
    151151                               db 0
    152 TXT_SETUPHELP_DefBootPwd:      db 'Definiert ein Passwort', 0
     152TXT_SETUPHELP_DefBootPwd       db 'Definiert ein Passwort', 0
    153153                               db 'frs Booten.', 0
    154154                               db 0
    155 TXT_SETUPHELP_SaveAndExit:     db 'Mit dem Boot-Prozess', 0
     155TXT_SETUPHELP_SaveAndExit      db 'Mit dem Boot-Prozess', 0
    156156                               db 'fortfahren und die', 0
    157157                               db 'Optionen speichern.', 0
    158158                               db 0
    159 TXT_SETUPHELP_JustExit:        db 'Mit dem Boot-Prozess', 0
     159TXT_SETUPHELP_JustExit         db 'Mit dem Boot-Prozess', 0
    160160                               db 'fortfahren und die', 0
    161161                               db 'Žnderungen verwerfen.', 0
     
    169169                               db 0
    170170
    171 TXT_SETUPHELP_HideSetup:       db 'Status w„hlen, indem', 0
     171TXT_SETUPHELP_HideSetup        db 'Status w„hlen, indem', 0
    172172                               db 'sich die Partitionen', 0
    173173                               db 'befinden sollen, wenn', 0
  • trunk/BOOTCODE/TEXT/DE/OTHER.ASM

    r36 r37  
    2727; Maximum 2/10/11/6 chars
    2828;----------------------------------||---------------------------------------
    29 TXT_TopInfos_No:               db 'Nr', 0
    30 TXT_TopInfos_Hd:               db 'Hd', 0
     29TXT_TopInfos_No                db 'Nr', 0
     30TXT_TopInfos_Hd                db 'Hd', 0
    3131;----------------------------------|--------|-------------------------------
    32 TXT_TopInfos_HdSize:           db 'Hd/Gr”áe:', 0
     32TXT_TopInfos_HdSize            db 'Hd/Gr”áe:', 0
    3333;----------------------------------|--------|-------------------------------
    34 TXT_TopInfos_Label:            db 'Name:', 0
     34TXT_TopInfos_Label             db 'Name:', 0
    3535;----------------------------------|---------|------------------------------
    36 TXT_TopInfos_Type:             db 'Typ:', 0
     36TXT_TopInfos_Type              db 'Typ:', 0
    3737;----------------------------------|----|-----------------------------------
    38 TXT_TopInfos_Flags:            db 'Flags:', 0      ; <-- for Partition Setup
     38TXT_TopInfos_Flags             db 'Flags:', 0      ; <-- for Partition Setup
    3939
    4040; Will be added together to one line, maximum 76 chars
    41 TXT_TimedBootLine:             db 'Zeitgesteuerter Boot aktiviert. System l„dt '''
     41TXT_TimedBootLine              db 'Zeitgesteuerter Boot aktiviert. System l„dt '''
    4242TXT_TimedBootEntryName         db 12 dup (0) ; Space for Default-Entry-Name
    43 TXT_TimedBootLine2:            db      ''' in ', 0
    44 TXT_TimedBootSeconds:          db ' Sekunden. ', 0
    45 TXT_TimedBootSecond:           db ' Sekunde. ', 0 ; if only one is left, ELiTE :]
     43TXT_TimedBootLine2             db      ''' in ', 0
     44TXT_TimedBootSeconds           db ' Sekunden. ', 0
     45TXT_TimedBootSecond            db ' Sekunde. ', 0 ; if only one is left, ELiTE :]
    4646; Maximum 76 chars
    4747;----------------------------------|--------------------------------------------------------------------------|
    48 TXT_TimedBootDisabled:         db 'Zeitgesteuerter Boot deaktiviert.', 0
    49 TXT_BootMenuHelpText1:         db '[Esc] um Automatischen Boot an/auszuschalten, [Enter] um Auswahl zu booten', 0
    50 TXT_BootMenuHelpText2:         db 'Mit den Pfeiltasten ausw„hlen oder [TAB] fr den BIOS POST Bildschirm.', 0
     48TXT_TimedBootDisabled          db 'Zeitgesteuerter Boot deaktiviert.', 0
     49TXT_BootMenuHelpText1          db '[Esc] um Automatischen Boot an/auszuschalten, [Enter] um Auswahl zu booten', 0
     50TXT_BootMenuHelpText2          db 'Mit den Pfeiltasten ausw„hlen oder [TAB] fr den BIOS POST Bildschirm.', 0
    5151; Maximum 30 chars
    5252;----------------------------------|----------------------------|
     
    5454
    5555; Dynamic Length (till 80 chars)
    56 TXT_BrokenPartitionTable:      db 13, 10, ' - Mindestens einer Ihrer Partitionseintr„ge ist ungltig oder Ihre Festplatte'
     56TXT_BrokenPartitionTable       db 13, 10, ' - Mindestens einer Ihrer Partitionseintr„ge ist ungltig oder Ihre Festplatte'
    5757                               db 13, 10, '   beinhaltet defekte Sektoren. System angehalten.', 0
    58 TXT_TooManyPartitions:         db 13, 10, ' - Zuviele Partitionen gefunden. AiR-BOOT untersttzt maximal 45.', 0
    59 TXT_NoBootAble:                db 13, 10, ' - Keine bootbare Partition definiert. System angehalten.', 0
    60 TXT_BIOSchanged:               db 13, 10, ' - BIOS HAT SICH VERŽNDERT. šberprfen Sie ihr System auf Viren.'
     58TXT_TooManyPartitions          db 13, 10, ' - Zuviele Partitionen gefunden. AiR-BOOT untersttzt maximal 45.', 0
     59TXT_NoBootAble                 db 13, 10, ' - Keine bootbare Partition definiert. System angehalten.', 0
     60TXT_BIOSchanged                db 13, 10, ' - BIOS HAT SICH VERŽNDERT. šberprfen Sie ihr System auf Viren.'
    6161                               db 13, 10, '   Drcken Sie eine Taste um fortzufahren...', 0
    6262
    63 TXT_VirusFoundMain:            db 13, 10, ' - !ACHTUNG! -> EIN VIRUS WURDE GEFUNDEN <- !ACHTUNG!', 13, 10, 0
    64 TXT_VirusFound1ok:             db '    Er wurde zerst”rt, es kann allerdings sein, daá Ihr System nicht mehr', 13, 10
     63TXT_VirusFoundMain             db 13, 10, ' - !ACHTUNG! -> EIN VIRUS WURDE GEFUNDEN <- !ACHTUNG!', 13, 10, 0
     64TXT_VirusFound1ok              db '    Er wurde zerst”rt, es kann allerdings sein, daá Ihr System nicht mehr', 13, 10
    6565                               db '    hochf„hrt. In diesem Fall booten Sie bitte von der AiR-BOOT Install-Disk.', 13, 10, 0
    66 TXT_VirusFound1damn:           db '    Leider hat er das BackUp von AiR-BOOT zerst”rt. Sie mssen mit der AiR-BOOT', 13, 10
     66TXT_VirusFound1damn            db '    Leider hat er das BackUp von AiR-BOOT zerst”rt. Sie mssen mit der AiR-BOOT', 13, 10
    6767                               db '    Install-Diskette booten.', 13, 10, 0
    68 TXT_VirusFound1any:            db '    Sicherheitshalber sollten Sie Ihre Festplatte auf Viren untersuchen.', 13, 10, 0
    69 TXT_VirusFound2:               db '    Er ist im Boot-Record der Partition, die Sie gerade booten wollten.', 13, 10
     68TXT_VirusFound1any             db '    Sicherheitshalber sollten Sie Ihre Festplatte auf Viren untersuchen.', 13, 10, 0
     69TXT_VirusFound2                db '    Er ist im Boot-Record der Partition, die Sie gerade booten wollten.', 13, 10
    7070                               db '    Bentzen Sie einen Viren-Scanner. Es k”nnte sich auch um einen falschen', 13, 10
    7171                               db '    Alarm handeln. Sie k”nnen diese Fehlermeldung unterbinden, indem Sie ins', 13, 10
     
    7373                               db '    Falls diese Meldung dann wieder erscheint, sollten Sie VIBR fr diese', 13, 10
    7474                               db '    Partition ausschaltet lassen.', 13, 10, 0
    75 TXT_VirusFoundEnd:             db '    System angehalten. Bitte drcken Sie RESET.', 0
    76 TXT_HowEnterSetup:             db 13, 10, ' - Drcken und halten Sie Strg/Ctrl oder Alt um ins AiR-BOOT SETUP zu gelangen.', 0
     75TXT_VirusFoundEnd              db '    System angehalten. Bitte drcken Sie RESET.', 0
     76TXT_HowEnterSetup              db 13, 10, ' - Drcken und halten Sie Strg/Ctrl oder Alt um ins AiR-BOOT SETUP zu gelangen.', 0
    7777
    78 TXT_BootingNow1:               db 'Booten des Systems durch ', 0
     78TXT_BootingNow1                db 'Booten des Systems durch ', 0
    7979; DO NOT MODIFY HERE
    80 TXT_BootingNow2:               db '''', 0
    81 TXT_BootingNowPartName:        db 12 dup (0) ; Space for BootThisPart-Name
     80TXT_BootingNow2                db '''', 0
     81TXT_BootingNowPartName         db 12 dup (0) ; Space for BootThisPart-Name
    8282; DO NOT MODIFY TILL HERE
    83 TXT_BootingNowPartition:       db ' Partition', 0
    84 TXT_BootingNowKernel:          db ' Kernel', 0
    85 TXT_BootingNow3:               db '''', 0
    86 TXT_BootingHide:               db '; Hide aktiv', 0
    87 TXT_BootingWait:               db '; Bitte warten...', 13, 10, 13, 10, 0
     83TXT_BootingNowPartition        db ' Partition', 0
     84TXT_BootingNowKernel           db ' Kernel', 0
     85TXT_BootingNow3                db '''', 0
     86TXT_BootingHide                db '; Hide aktiv', 0
     87TXT_BootingWait                db '; Bitte warten...', 13, 10, 13, 10, 0
    8888
    8989; FIXED LENGTH - 11 chars each string
    9090;----------------------------------|---------|------------------------------
    91 TXT_Floppy_NoName:             db 'kein Name  '
    92 TXT_Floppy_Drive:              db 'Floppy-Disk'
    93 TXT_Floppy_NoDisc:             db 'Keine Disk '
     91TXT_Floppy_NoName              db 'kein Name  '
     92TXT_Floppy_Drive               db 'Floppy-Disk'
     93TXT_Floppy_NoDisc              db 'Keine Disk '
    9494
    9595; Maximum 60 chars (should not be reached)
  • trunk/BOOTCODE/TEXT/EN/MENUS.ASM

    r36 r37  
    109109; Setup Control Help - Max Length: 33
    110110;----------------------------------|-------------------------------|--------
    111 TXT_SETUPHELP_Main:            db 24,32,25,32,26,32,27,' : Choose Action', 0
     111TXT_SETUPHELP_Main             db 24,32,25,32,26,32,27,' : Choose Action', 0
    112112                               db               'Enter   : Select Action', 0
    113113                               db               'F10 : Save&Exit Setup', 0
    114114                               db               'Esc : Quit Setup', 0
    115115
    116 TXT_SETUPHELP_SubMenu:         db 24,32,25,32,26,32,27,' : Choose Item', 0
     116TXT_SETUPHELP_SubMenu          db 24,32,25,32,26,32,27,' : Choose Item', 0
    117117                               db               'PgUp/Dn : Change Item', 0
    118118                               db               'F1  : Show help for Item', 0
    119119                               db               'Esc : Return to main-menu', 0
    120120
    121 TXT_SETUPHELP_PartSetup:       db 24,32,25,32,26,32,27,' : Choose partition', 0
     121TXT_SETUPHELP_PartSetup        db 24,32,25,32,26,32,27,' : Choose partition', 0
    122122                               db               'Enter   : Edit label', 0
    123123                               db               'F1  : Flags (press key to toogle)', 0
     
    128128                                  ;1234567890123456789012
    129129;----------------------------------|--------------------|-------------------
    130 TXT_SETUPHELP_PartitionSetup:  db 'Make your partitions', 0
     130TXT_SETUPHELP_PartitionSetup   db 'Make your partitions', 0
    131131                               db 'bootable, change their', 0
    132132                               db 'name, define hiding', 0
    133133                               db 'and much more.', 0
    134134                               db 0
    135 TXT_SETUPHELP_BasicOptions:    db 'These options are for', 0
     135TXT_SETUPHELP_BasicOptions     db 'These options are for', 0
    136136                               db 'non-experienced users.', 0
    137137                               db 0
    138 TXT_SETUPHELP_AdvOptions:      db 'These are for advanced', 0
     138TXT_SETUPHELP_AdvOptions       db 'These are for advanced', 0
    139139                               db 'users. If you do not', 0
    140140                               db 'what they do, leave', 0
    141141                               db 'them like they are.', 0
    142142                               db 0
    143 TXT_SETUPHELP_ExtOptions:      db 'Extended options for', 0
     143TXT_SETUPHELP_ExtOptions       db 'Extended options for', 0
    144144                               db 'specific OSes.', 0
    145145                               db 0
    146 TXT_SETUPHELP_DefMasterPwd:    db 'Define a password for', 0
     146TXT_SETUPHELP_DefMasterPwd     db 'Define a password for', 0
    147147                               db 'access to setup and', 0
    148148                               db 'system.', 0
    149149                               db 0
    150 TXT_SETUPHELP_DefBootPwd:      db 'Define a password for', 0
     150TXT_SETUPHELP_DefBootPwd       db 'Define a password for', 0
    151151                               db 'access to system.', 0
    152152                               db 0
    153 TXT_SETUPHELP_SaveAndExit:     db 'Will continue boot-', 0
     153TXT_SETUPHELP_SaveAndExit      db 'Will continue boot-', 0
    154154                               db 'process and save the', 0
    155155                               db 'current options.', 0
    156156                               db 0
    157 TXT_SETUPHELP_JustExit:        db 'Will continue, but', 0
     157TXT_SETUPHELP_JustExit         db 'Will continue, but', 0
    158158                               db 'discard any changes', 0
    159159                               db 'done to options.', 0
     
    167167                               db 0
    168168
    169 TXT_SETUPHELP_HideSetup:       db 'Select the state at', 0
     169TXT_SETUPHELP_HideSetup        db 'Select the state at', 0
    170170                               db 'which the partitions', 0
    171171                               db 'shall be, when the', 0
     
    344344TXT_SETUP_NoLDLpartition       db 'The selected partition is not HPFS/FAT16/JFS', 0
    345345
     346;;;;;;;;;
     347
    346348; Maximum 34 chars (should not be reached)
    347349;----------------------------------|--------------------------------|-------
  • trunk/BOOTCODE/TEXT/EN/OTHER.ASM

    r36 r37  
    2727; Maximum 2/10/11/6 chars
    2828;----------------------------------||---------------------------------------
    29 TXT_TopInfos_No:               db 'No', 0
    30 TXT_TopInfos_Hd:               db 'Hd', 0
     29TXT_TopInfos_No                db 'No', 0
     30TXT_TopInfos_Hd                db 'Hd', 0
    3131;----------------------------------|--------|-------------------------------
    32 TXT_TopInfos_HdSize:           db 'Hd/Size:', 0
     32TXT_TopInfos_HdSize            db 'Hd/Size:', 0
    3333;----------------------------------|--------|-------------------------------
    34 TXT_TopInfos_Label:            db 'Label:', 0
     34TXT_TopInfos_Label             db 'Label:', 0
    3535;----------------------------------|---------|------------------------------
    36 TXT_TopInfos_Type:             db 'Type:', 0
     36TXT_TopInfos_Type              db 'Type:', 0
    3737;----------------------------------|----|-----------------------------------
    38 TXT_TopInfos_Flags:            db 'Flags:', 0      ; <-- for Partition Setup
     38TXT_TopInfos_Flags             db 'Flags:', 0      ; <-- for Partition Setup
    3939
    4040; Will be added together to one line, maximum 76 chars
    41 TXT_TimedBootLine:             db 'Timed boot enabled. System will boot '''
     41TXT_TimedBootLine              db 'Timed boot enabled. System will boot '''
    4242TXT_TimedBootEntryName         db 12 dup (0) ; Space for Default-Entry-Name
    43 TXT_TimedBootLine2:            db      ''' in ', 0
    44 TXT_TimedBootSeconds:          db ' seconds. ', 0
    45 TXT_TimedBootSecond:           db ' second. ', 0 ; if only one is left, ELiTE :]
     43TXT_TimedBootLine2             db      ''' in ', 0
     44TXT_TimedBootSeconds           db ' seconds. ', 0
     45TXT_TimedBootSecond            db ' second. ', 0 ; if only one is left, ELiTE :]
    4646; Maximum 76 chars
    4747;----------------------------------|--------------------------------------------------------------------------|
    48 TXT_TimedBootDisabled:         db 'Timed boot disabled; no timeout will occur.', 0
    49 TXT_BootMenuHelpText1:         db 'Press [Esc] to toggle timed boot, [Enter] to accept current selection.', 0
    50 TXT_BootMenuHelpText2:         db 'Select another with the arrow keys, or press [TAB] to see BIOS POST message.', 0
     48TXT_TimedBootDisabled          db 'Timed boot disabled; no timeout will occur.', 0
     49TXT_BootMenuHelpText1          db 'Press [Esc] to toggle timed boot, [Enter] to accept current selection.', 0
     50TXT_BootMenuHelpText2          db 'Select another with the arrow keys, or press [TAB] to see BIOS POST message.', 0
    5151; Maximum 30 chars
    5252;----------------------------------|----------------------------|
     
    5555
    5656; Dynamic Length (till 80 chars)
    57 TXT_BrokenPartitionTable:      db 13, 10, ' - Your system has at least one broken partition table entry or your harddrive'
     57TXT_BrokenPartitionTable       db 13, 10, ' - Your system has at least one broken partition table entry or your harddrive'
    5858                               db 13, 10, '   contains bad sectors. System halted.', 0
    59 TXT_TooManyPartitions:         db 13, 10, ' - Too many partitions found. AiR-BOOT is supporting up to 45.', 0
    60 TXT_NoBootAble:                db 13, 10, ' - No bootable partition defined. System halted.', 0
    61 TXT_BIOSchanged:               db 13, 10, ' - BIOS CHANGED, please check your system for any virus, just to be sure.'
     59TXT_TooManyPartitions          db 13, 10, ' - Too many partitions found. AiR-BOOT is supporting up to 45.', 0
     60TXT_NoBootAble                 db 13, 10, ' - No bootable partition defined. System halted.', 0
     61TXT_BIOSchanged                db 13, 10, ' - BIOS CHANGED, please check your system for any virus, just to be sure.'
    6262                               db 13, 10, '   Press any key to continue...', 0
    6363
    64 TXT_VirusFoundMain:            db 13, 10, ' - !ATTENTION! -> A V1RU5 WAS FOUND <- !ATTENTION!', 13, 10, 0
    65 TXT_VirusFound1ok:             db '    It got squashed, but the system may not reboot correctly. If this happens,', 13, 10
     64TXT_VirusFoundMain             db 13, 10, ' - !ATTENTION! -> A V1RU5 WAS FOUND <- !ATTENTION!', 13, 10, 0
     65TXT_VirusFound1ok              db '    It got squashed, but the system may not reboot correctly. If this happens,', 13, 10
    6666                               db '    use your AiR-BOOT system disc.', 13, 10, 0
    67 TXT_VirusFound1damn:           db '    Unfortunately it destroyed AiR-BOOTs backup. You have to reboot using your', 13, 10
     67TXT_VirusFound1damn            db '    Unfortunately it destroyed AiR-BOOTs backup. You have to reboot using your', 13, 10
    6868                               db '    AiR-BOOT system disc.', 13, 10, 0
    69 TXT_VirusFound1any:            db '    For security, you should check your harddisc against remaining virus parts.', 13, 10, 0
    70 TXT_VirusFound2:               db '    It is located in the boot-record of the partition, you wanted to boot.', 13, 10
     69TXT_VirusFound1any             db '    For security, you should check your harddisc against remaining virus parts.', 13, 10, 0
     70TXT_VirusFound2                db '    It is located in the boot-record of the partition, you wanted to boot.', 13, 10
    7171                               db '    Use a virus-checking program. It could be false alarm either.', 13, 10
    7272                               db '    After removal, you have to reinit the detection variables, go into ', 13, 10
    7373                               db '    ''PARTITION SETUP'' and switch VIBR-detection two times (off/on).', 13, 10
    7474                               db '    If this was just a false alarm, leave it in off-state.', 13, 10, 0
    75 TXT_VirusFoundEnd:             db '    System halted. Please press RESET.', 0
    76 TXT_HowEnterSetup:             db 13, 10, ' - Press and hold Strg/Ctrl or Alt to enter AiR-BOOT Setup.', 0
     75TXT_VirusFoundEnd              db '    System halted. Please press RESET.', 0
     76TXT_HowEnterSetup              db 13, 10, ' - Press and hold Strg/Ctrl or Alt to enter AiR-BOOT Setup.', 0
    7777
    78 TXT_BootingNow1:               db 'Booting the system using ', 0
     78TXT_BootingNow1                db 'Booting the system using ', 0
    7979; DO NOT MODIFY HERE
    80 TXT_BootingNow2:               db '''', 0
    81 TXT_BootingNowPartName:        db 12 dup (0) ; Space for BootThisPart-Name
     80TXT_BootingNow2                db '''', 0
     81TXT_BootingNowPartName         db 12 dup (0) ; Space for BootThisPart-Name
    8282; DO NOT MODIFY TILL HERE
    83 TXT_BootingNowPartition:       db ' partition', 0
    84 TXT_BootingNowKernel:          db ' kernel', 0
    85 TXT_BootingHide:               db '; hide active', 0
    86 TXT_BootingWait:               db '; please wait...', 13, 10, 13, 10, 0
     83TXT_BootingNowPartition        db ' partition', 0
     84TXT_BootingNowKernel           db ' kernel', 0
     85TXT_BootingHide                db '; hide active', 0
     86TXT_BootingWait                db '; please wait...', 13, 10, 13, 10, 0
    8787
    8888; FIXED LENGTH - 11 chars each string
    8989;----------------------------------|---------|------------------------------
    90 TXT_Floppy_NoName:             db 'No Name    '
    91 TXT_Floppy_Drive:              db 'FloppyDrive'
    92 TXT_Floppy_NoDisc:             db 'No Disc    '
     90TXT_Floppy_NoName              db 'No Name    '
     91TXT_Floppy_Drive               db 'FloppyDrive'
     92TXT_Floppy_NoDisc              db 'No Disc    '
    9393
    9494; Maximum 60 chars (should not be reached)
  • trunk/BOOTCODE/TEXT/FR/MENUS.ASM

    r36 r37  
    110110; Setup Control Help - Max Length: 33
    111111;----------------------------------|-------------------------------|--------
    112 TXT_SETUPHELP_Main:            db 24,32,25,32,26,32,27,' : Choisir Action', 0
     112TXT_SETUPHELP_Main             db 24,32,25,32,26,32,27,' : Choisir Action', 0
    113113                               db 'Enter   : S‚lectionner Action', 0
    114114                               db 'F10 : Sauver & Sortir', 0
    115115                               db 'Esc : Quitter', 0
    116116
    117 TXT_SETUPHELP_SubMenu:         db 24,32,25,32,26,32,27,' : Choisir Item', 0
     117TXT_SETUPHELP_SubMenu          db 24,32,25,32,26,32,27,' : Choisir Item', 0
    118118                               db 'PgUp/Dn : Changer Item', 0
    119119                               db 'F1  : Afficher Aide', 0
    120120                               db 'Esc : Retour au menu principal', 0
    121121
    122 TXT_SETUPHELP_PartSetup:       db 24,32,25,32,26,32,27,' : Choisir partition', 0
     122TXT_SETUPHELP_PartSetup        db 24,32,25,32,26,32,27,' : Choisir partition', 0
    123123                               db 'Enter   : Editer ‚tiquette', 0
    124124                               db 'F1  : Drapeaux (lettre=bascule)', 0
     
    129129                                  ;1234567890123456789012
    130130;----------------------------------|--------------------|-------------------
    131 TXT_SETUPHELP_PartitionSetup:  db 'Mettre vos partitions', 0
     131TXT_SETUPHELP_PartitionSetup   db 'Mettre vos partitions', 0
    132132                               db 'amor‡ables, changer', 0
    133133                               db 'les noms, d‚finir', 0
    134134                               db 'cach‚ et plus encore.', 0
    135135                               db 0
    136 TXT_SETUPHELP_BasicOptions:    db 'Ces options sont pour', 0
     136TXT_SETUPHELP_BasicOptions     db 'Ces options sont pour', 0
    137137                               db 'les usagers d‚butants.', 0
    138138                               db 0
    139 TXT_SETUPHELP_AdvOptions:      db 'Pour usagers avanc‚s.', 0
     139TXT_SETUPHELP_AdvOptions       db 'Pour usagers avanc‚s.', 0
    140140                               db 'Si vous ignorez leurs', 0
    141141                               db 'fonctions, ne les', 0
    142142                               db 'modifiez pas.', 0
    143143                               db 0
    144 TXT_SETUPHELP_ExtOptions:      db 'Options ‚tendues pour', 0
     144TXT_SETUPHELP_ExtOptions       db 'Options ‚tendues pour', 0
    145145                               db 'S.E. sp‚cifiques.', 0
    146146                               db 0
    147 TXT_SETUPHELP_DefMasterPwd:    db 'D‚finir mot de passe', 0
     147TXT_SETUPHELP_DefMasterPwd     db 'D‚finir mot de passe', 0
    148148                               db 'pour accŠs au', 0
    149149                               db 'param‚trage et au', 0
    150150                               db 'systŠme.', 0
    151151                               db 0
    152 TXT_SETUPHELP_DefBootPwd:      db 'D‚finir mot de passe', 0
     152TXT_SETUPHELP_DefBootPwd       db 'D‚finir mot de passe', 0
    153153                               db 'pour accŠs au systŠme.', 0
    154154                               db 0
    155 TXT_SETUPHELP_SaveAndExit:     db 'Continuera amor‡age-', 0
     155TXT_SETUPHELP_SaveAndExit      db 'Continuera amor‡age-', 0
    156156                               db 'traite et sauve les', 0
    157157                               db 'options courantes.', 0
    158158                               db 0
    159 TXT_SETUPHELP_JustExit:        db 'Continuera, mais', 0
     159TXT_SETUPHELP_JustExit         db 'Continuera, mais', 0
    160160                               db 'annulera tout', 0
    161161                               db 'changement aux', 0
     
    170170                               db 0
    171171
    172 TXT_SETUPHELP_HideSetup:       db 'Choisir l''‚tat des', 0
     172TXT_SETUPHELP_HideSetup        db 'Choisir l''‚tat des', 0
    173173                               db 'partitions lorsque', 0
    174174                               db 'la partition pr‚sen-', 0
  • trunk/BOOTCODE/TEXT/FR/OTHER.ASM

    r36 r37  
    2727; Maximum 2/10/11/6 chars
    2828;----------------------------------||---------------------------------------
    29 TXT_TopInfos_No:               db 'No', 0
    30 TXT_TopInfos_Hd:               db 'Dd', 0
     29TXT_TopInfos_No                db 'No', 0
     30TXT_TopInfos_Hd                db 'Dd', 0
    3131;----------------------------------|--------|-------------------------------
    32 TXT_TopInfos_HdSize:           db 'Dd/Cap.:', 0
     32TXT_TopInfos_HdSize            db 'Dd/Cap.:', 0
    3333;----------------------------------|--------|-------------------------------
    34 TXT_TopInfos_Label:            db 'tiq.:', 0
     34TXT_TopInfos_Label             db 'tiq.:', 0
    3535;----------------------------------|---------|------------------------------
    36 TXT_TopInfos_Type:             db 'Type:', 0
     36TXT_TopInfos_Type              db 'Type:', 0
    3737;----------------------------------|----|-----------------------------------
    38 TXT_TopInfos_Flags:            db 'Drap.:', 0      ; <-- for Partition Setup
     38TXT_TopInfos_Flags             db 'Drap.:', 0      ; <-- for Partition Setup
    3939
    4040; Will be added together to one line, maximum 76 chars
    41 TXT_TimedBootLine:             db 'Amor‡age temporis‚ actif. D‚marrage de '''
     41TXT_TimedBootLine              db 'Amor‡age temporis‚ actif. D‚marrage de '''
    4242TXT_TimedBootEntryName         db 12 dup (0) ; Space for Default-Entry-Name
    43 TXT_TimedBootLine2:            db      ''' dans ', 0
    44 TXT_TimedBootSeconds:          db ' secondes. ', 0
    45 TXT_TimedBootSecond:           db ' seconde. ', 0 ; if only one is left, ELiTE :]
     43TXT_TimedBootLine2             db      ''' dans ', 0
     44TXT_TimedBootSeconds           db ' secondes. ', 0
     45TXT_TimedBootSecond            db ' seconde. ', 0 ; if only one is left, ELiTE :]
    4646; Maximum 76 chars
    4747;----------------------------------|--------------------------------------------------------------------------|
    48 TXT_TimedBootDisabled:         db 'Amor‡age temporis‚ d‚sactiv‚; aucune temporisation n''arrivera.', 0
    49 TXT_BootMenuHelpText1:         db '[Esc] bascule l''amor‡age temporis‚, [Enter] accepte la s‚lection courante.', 0
    50 TXT_BootMenuHelpText2:         db 'FlŠches pour choisir une autre, ou [TAB] pour voir les messages POST BIOS.', 0
     48TXT_TimedBootDisabled          db 'Amor‡age temporis‚ d‚sactiv‚; aucune temporisation n''arrivera.', 0
     49TXT_BootMenuHelpText1          db '[Esc] bascule l''amor‡age temporis‚, [Enter] accepte la s‚lection courante.', 0
     50TXT_BootMenuHelpText2          db 'FlŠches pour choisir une autre, ou [TAB] pour voir les messages POST BIOS.', 0
    5151; Maximum 30 chars
    5252;----------------------------------|----------------------------|
     
    5454
    5555; Dynamic Length (till 80 chars)
    56 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'
    5757                               db 13, 10, '   la disque d–r a des cass‚e secteurs. SystŠme arrˆt‚.', 0
    58 TXT_TooManyPartitions:         db 13, 10, ' - Trop de partitions trouv‚es. AiR-BOOT supporte un maximum de 45.', 0
    59 TXT_NoBootAble:                db 13, 10, ' - Aucune partition amor‡able d‚finie. SystŠme arrˆt‚.', 0
    60 TXT_BIOSchanged:               db 13, 10, ' - BIOS CHANG! Veuillez v‚rifier votre systŠme contre un virus.'
     58TXT_TooManyPartitions          db 13, 10, ' - Trop de partitions trouv‚es. AiR-BOOT supporte un maximum de 45.', 0
     59TXT_NoBootAble                 db 13, 10, ' - Aucune partition amor‡able d‚finie. SystŠme arrˆt‚.', 0
     60TXT_BIOSchanged                db 13, 10, ' - BIOS CHANG! Veuillez v‚rifier votre systŠme contre un virus.'
    6161                               db 13, 10, '   Appuyez sur une touche pour continuer...', 0
    6262
    63 TXT_VirusFoundMain:            db 13, 10, ' - !ATTENTION! -> UN VIRUS A T TROUV <- !ATTENTION!', 13, 10, 0
    64 TXT_VirusFound1ok:             db '    Il est ‚radiqu‚, mais le systŠme peut ne pas red‚marrer correctement.', 13, 10
     63TXT_VirusFoundMain             db 13, 10, ' - !ATTENTION! -> UN VIRUS A T TROUV <- !ATTENTION!', 13, 10, 0
     64TXT_VirusFound1ok              db '    Il est ‚radiqu‚, mais le systŠme peut ne pas red‚marrer correctement.', 13, 10
    6565                               db '    Si c''est le cas, utiliser votre disquette systŠme AiR-BOOT.', 13, 10, 0
    66 TXT_VirusFound1damn:           db '    Malheureusement, il a d‚truit la copie de sauvgarde de AiR-BOOT. Vous', 13, 10
     66TXT_VirusFound1damn            db '    Malheureusement, il a d‚truit la copie de sauvgarde de AiR-BOOT. Vous', 13, 10
    6767                               db '    devez red‚marrer en utilisant votre disquette systŠme AiR-BOOT.', 13, 10, 0
    68 TXT_VirusFound1any:            db '    Pour plus de s–ret‚, v‚rifiez votre disque contre des r‚sidus du virus.', 13, 10, 0
    69 TXT_VirusFound2:               db '    Il est localis‚ dans le secteur d amor‡age de la partition d‚sir‚e.', 13, 10
     68TXT_VirusFound1any             db '    Pour plus de s–ret‚, v‚rifiez votre disque contre des r‚sidus du virus.', 13, 10, 0
     69TXT_VirusFound2                db '    Il est localis‚ dans le secteur d amor‡age de la partition d‚sir‚e.', 13, 10
    7070                               db '    Utilisez un logiciel antivirus. Ce peut ˆtre aussi une fausse alerte.', 13, 10
    7171                               db '    AprŠs ‚radiquation, r‚initialiser les variables de d‚tection. Allez dans', 13, 10
    7272                               db '    ''PARAMTRAGE PARTITION'' et basculez D‚tection-VIBR deux fois (off/on).', 13, 10
    7373                               db '    Si c''‚tait une fausse alerte, laissez-le d‚sactiv‚.', 13, 10, 0
    74 TXT_VirusFoundEnd:             db '    SystŠme arrˆt‚. Veuillez appuyez sur RESET.', 0
    75 TXT_HowEnterSetup:             db 13, 10, ' - Appuyez et tenez Strg/Ctrl ou Alt pour configurer AiR-BOOT.', 0
     74TXT_VirusFoundEnd              db '    SystŠme arrˆt‚. Veuillez appuyez sur RESET.', 0
     75TXT_HowEnterSetup              db 13, 10, ' - Appuyez et tenez Strg/Ctrl ou Alt pour configurer AiR-BOOT.', 0
    7676
    77 TXT_BootingNow1:               db 'Amor‡age du systŠme avec ', 0
     77TXT_BootingNow1                db 'Amor‡age du systŠme avec ', 0
    7878; DO NOT MODIFY HERE
    79 TXT_BootingNow2:               db '''', 0
    80 TXT_BootingNowPartName:        db 12 dup (0) ; Space for BootThisPart-Name
     79TXT_BootingNow2                db '''', 0
     80TXT_BootingNowPartName         db 12 dup (0) ; Space for BootThisPart-Name
    8181; DO NOT MODIFY TILL HERE
    82 TXT_BootingNowPartition:       db '', 0
    83 TXT_BootingNowKernel:          db '', 0
    84 TXT_BootingHide:               db '; cach‚ actif', 0
    85 TXT_BootingWait:               db '; veuillez patienter...', 13, 10, 13, 10, 0
     82TXT_BootingNowPartition        db '''', 0
     83TXT_BootingNowKernel           db '''', 0
     84TXT_BootingHide                db '; cach‚ actif', 0
     85TXT_BootingWait                db '; veuillez patienter...', 13, 10, 13, 10, 0
    8686
    8787; FIXED LENGTH - 11 chars each string
    8888;----------------------------------|---------|------------------------------
    89 TXT_Floppy_NoName:             db 'Sans nom   '
    90 TXT_Floppy_Drive:              db 'Disquette  '
    91 TXT_Floppy_NoDisc:             db 'Sans Disq. '
     89TXT_Floppy_NoName              db 'Sans nom   '
     90TXT_Floppy_Drive               db 'Disquette  '
     91TXT_Floppy_NoDisc              db 'Sans Disq. '
    9292
    9393; Maximum 60 chars (should not be reached)
  • trunk/BOOTCODE/TEXT/IT/MENUS.ASM

    r36 r37  
    110110; Setup Control Help - Max Length: 33
    111111;----------------------------------|-------------------------------|--------
    112 TXT_SETUPHELP_Main:            db 24,32,25,32,26,32,27,' : Scelta Azione', 0
     112TXT_SETUPHELP_Main             db 24,32,25,32,26,32,27,' : Scelta Azione', 0
    113113                               db               'Enter   : Conferma Azione', 0
    114114                               db               'F10 : Salva Config. & Esci', 0
    115115                               db               'Esc : Abbandona Config.', 0
    116116
    117 TXT_SETUPHELP_SubMenu:         db 24,32,25,32,26,32,27,' : Scelta Opzione', 0
     117TXT_SETUPHELP_SubMenu          db 24,32,25,32,26,32,27,' : Scelta Opzione', 0
    118118                               db               'PgUp/Dn : Cambio Opzione', 0
    119119                               db               'F1  : Mostra Aiuto Opzione', 0
    120120                               db               'Esc : Ritorna al Menu Principale', 0
    121121
    122 TXT_SETUPHELP_PartSetup:       db 24,32,25,32,26,32,27,' : Scelta Partizione', 0
     122TXT_SETUPHELP_PartSetup        db 24,32,25,32,26,32,27,' : Scelta Partizione', 0
    123123                               db               'Enter   : Modifica Etichetta', 0
    124124                               db               'F1  : Opz. (premi tasto x camb.)', 0
     
    129129                                  ;1234567890123456789012
    130130;----------------------------------|--------------------|-------------------
    131 TXT_SETUPHELP_PartitionSetup:  db 'Rende le partizioni ', 0
     131TXT_SETUPHELP_PartitionSetup   db 'Rende le partizioni ', 0
    132132                               db 'avviabili, cambia il', 0
    133133                               db 'loro nome, le nasconde', 0
    134134                               db 'etc.', 0
    135135                               db 0
    136 TXT_SETUPHELP_BasicOptions:    db 'Opzioni disponibili', 0
     136TXT_SETUPHELP_BasicOptions     db 'Opzioni disponibili', 0
    137137                               db 'per utenti anche non', 0
    138138                               db 'esperti', 0
    139139                               db 0
    140 TXT_SETUPHELP_AdvOptions:      db 'Opzioni solo per', 0
     140TXT_SETUPHELP_AdvOptions       db 'Opzioni solo per', 0
    141141                               db 'utenti esperti. Se si', 0
    142142                               db 'ignora come agiscono', 0
    143143                               db 'non utilizzarle', 0
    144144                               db 0
    145 TXT_SETUPHELP_ExtOptions:      db 'Opzioni speciali per', 0
     145TXT_SETUPHELP_ExtOptions       db 'Opzioni speciali per', 0
    146146                               db 'specifici sistemi', 0
    147147                               db 'operativi', 0
    148148                               db 0
    149 TXT_SETUPHELP_DefMasterPwd:    db 'Definisce la password', 0
     149TXT_SETUPHELP_DefMasterPwd     db 'Definisce la password', 0
    150150                               db 'per accedere alla', 0
    151151                               db 'configurazione del', 0
    152152                               db 'sistema', 0
    153153                               db 0
    154 TXT_SETUPHELP_DefBootPwd:      db 'Definisce la password', 0
     154TXT_SETUPHELP_DefBootPwd       db 'Definisce la password', 0
    155155                               db 'per accedere al', 0
    156156                               db 'sistema', 0
    157157                               db 0
    158 TXT_SETUPHELP_SaveAndExit:     db 'Continua l''avvio e', 0
     158TXT_SETUPHELP_SaveAndExit      db 'Continua l''avvio e', 0
    159159                               db 'salva le impostazioni', 0
    160160                               db 'correnti', 0
    161161                               db 0
    162 TXT_SETUPHELP_JustExit:        db 'Continua l''avvio, ', 0
     162TXT_SETUPHELP_JustExit         db 'Continua l''avvio, ', 0
    163163                               db 'ma non salva', 0
    164164                               db 'le impostazioni', 0
     
    172172                               db 0
    173173
    174 TXT_SETUPHELP_HideSetup:       db 'Definisce lo stato', 0
     174TXT_SETUPHELP_HideSetup        db 'Definisce lo stato', 0
    175175                               db 'delle altre partizioni', 0
    176176                               db 'quando la partizione', 0
     
    305305;                               db 'root di Linux', 0
    306306;                               db 0
    307 ;TXT_SETUPHELP_DefLinuxCmd:     db 'Definisce la linea di', 0
     307;TXT_SETUPHELP_DefLinuxCmd      db 'Definisce la linea di', 0
    308308;                               db 'comando per Linux, se', 0
    309309;                               db 'disponibile', 0
  • trunk/BOOTCODE/TEXT/IT/OTHER.ASM

    r36 r37  
    2727; Maximum 2/10/11/6 chars
    2828;----------------------------------||---------------------------------------
    29 TXT_TopInfos_No:               db 'Nr', 0
    30 TXT_TopInfos_Hd:               db 'Hd', 0
     29TXT_TopInfos_No                db 'Nr', 0
     30TXT_TopInfos_Hd                db 'Hd', 0
    3131;----------------------------------|--------|-------------------------------
    32 TXT_TopInfos_HdSize:           db 'Hd/Size:', 0
     32TXT_TopInfos_HdSize            db 'Hd/Size:', 0
    3333;----------------------------------|--------|-------------------------------
    34 TXT_TopInfos_Label:            db 'Etichetta:', 0
     34TXT_TopInfos_Label             db 'Etichetta:', 0
    3535;----------------------------------|---------|------------------------------
    36 TXT_TopInfos_Type:             db 'Tipo:', 0
     36TXT_TopInfos_Type              db 'Tipo:', 0
    3737;----------------------------------|----|-----------------------------------
    38 TXT_TopInfos_Flags:            db 'Flags:', 0      ; <-- for Partition Setup
     38TXT_TopInfos_Flags             db 'Flags:', 0      ; <-- for Partition Setup
    3939
    4040; Will be added together to one line, maximum 76 chars
    41 TXT_TimedBootLine:             db 'Timer di Avvio Attivato. Avvio con '''
     41TXT_TimedBootLine              db 'Timer di Avvio Attivato. Avvio con '''
    4242TXT_TimedBootEntryName         db 12 dup (0) ; Space for Default-Partition-Name
    43 TXT_TimedBootLine2:            db      ''' tra ', 0
    44 TXT_TimedBootSeconds:          db ' secondi. ', 0
    45 TXT_TimedBootSecond:           db ' secondo. ', 0 ; if only one is left, ELiTE :]
     43TXT_TimedBootLine2             db      ''' tra ', 0
     44TXT_TimedBootSeconds           db ' secondi. ', 0
     45TXT_TimedBootSecond            db ' secondo. ', 0 ; if only one is left, ELiTE :]
    4646; Maximum 76 chars
    4747;----------------------------------|--------------------------------------------------------------------------|
    48 TXT_TimedBootDisabled:         db 'Avvio Temporizzato Disabilitato. Pausa.', 0
    49 TXT_BootMenuHelpText1:         db 'Premere [Esc] per resettare il timer, [Invio] per accettare la selezione.', 0
    50 TXT_BootMenuHelpText2:         db 'Selezionare con i tasti freccia, oppure [TAB] per i messaggi POST del BIOS.', 0
     48TXT_TimedBootDisabled          db 'Avvio Temporizzato Disabilitato. Pausa.', 0
     49TXT_BootMenuHelpText1          db 'Premere [Esc] per resettare il timer, [Invio] per accettare la selezione.', 0
     50TXT_BootMenuHelpText2          db 'Selezionare con i tasti freccia, oppure [TAB] per i messaggi POST del BIOS.', 0
    5151; Maximum 30 chars
    5252;----------------------------------|----------------------------|
     
    5454
    5555; Dynamic Length (till 80 chars)
    56 TXT_BrokenPartitionTable:      db 13, 10, ' - Il sistema ha almeno una partizione corrotta nel tuo hard-disk contiene'
     56TXT_BrokenPartitionTable       db 13, 10, ' - Il sistema ha almeno una partizione corrotta nel tuo hard-disk contiene'
    5757                               db 13, 10, '   settori danneggiati. Sistema bloccato.', 0
    58 TXT_TooManyPartitions:         db 13, 10, ' - Trovate troppe partizioni. AiR-BOOT ne supporta fino a 45.', 0
    59 TXT_NoBootAble:                db 13, 10, ' - Nessuna partizione avviabile definita. Sistema bloccato.', 0
    60 TXT_BIOSchanged:               db 13, 10, ' - BIOS MODIFICATO! Controllare il sistema contro eventuali virus.'
     58TXT_TooManyPartitions          db 13, 10, ' - Trovate troppe partizioni. AiR-BOOT ne supporta fino a 45.', 0
     59TXT_NoBootAble                 db 13, 10, ' - Nessuna partizione avviabile definita. Sistema bloccato.', 0
     60TXT_BIOSchanged                db 13, 10, ' - BIOS MODIFICATO! Controllare il sistema contro eventuali virus.'
    6161                               db 13, 10, '   Premere un tasto per continuare...', 0
    6262
    63 TXT_VirusFoundMain:            db 13, 10, ' - !ATTENZIONE! -> RILEVATO UN VIRUS <- !ATTENZIONE!', 13, 10, 0
    64 TXT_VirusFound1ok:             db '    Ora sara'' sovrascritto, ma il sistema potrebbe non riavviarsi', 13, 10
     63TXT_VirusFoundMain             db 13, 10, ' - !ATTENZIONE! -> RILEVATO UN VIRUS <- !ATTENZIONE!', 13, 10, 0
     64TXT_VirusFound1ok              db '    Ora sara'' sovrascritto, ma il sistema potrebbe non riavviarsi', 13, 10
    6565                               db '    correttamente. In tal caso utilizzare il dischetto di AiR-BOOT.', 13, 10, 0
    66 TXT_VirusFound1damn:           db '    Purtroppo il backup di AiR-BOOT non funziona. Riavviare con il', 13, 10
     66TXT_VirusFound1damn            db '    Purtroppo il backup di AiR-BOOT non funziona. Riavviare con il', 13, 10
    6767                               db '    dischetto di AiR-BOOT.', 13, 10, 0
    68 TXT_VirusFound1any:            db '    Per sicurezza, controllare i dischi in caso di altre tracce virali. ', 13, 10, 0
    69 TXT_VirusFound2:               db '    Il virus risiede nel boot-record della partizione in avvio.', 13, 10
     68TXT_VirusFound1any             db '    Per sicurezza, controllare i dischi in caso di altre tracce virali. ', 13, 10, 0
     69TXT_VirusFound2                db '    Il virus risiede nel boot-record della partizione in avvio.', 13, 10
    7070                               db '    Usare un programma antivirus. Potrebbe anche essere un falso allarme.', 13, 10
    7171                               db '    Dopo la rimozione occorre reinizializzare il rilevamento virus. Andare', 13, 10
    7272                               db '    in ''CONFIGURAZIONE PARTIZIONI'' e modificare due volte Rilevamento VIBR', 13, 10
    7373                               db '     (off/on). Se si tratta di falso allarme, lasciarlo disinserito (off).', 13, 10, 0
    74 TXT_VirusFoundEnd:             db '    Sistema bloccato. Premere RESET.', 0
    75 TXT_HowEnterSetup:             db 13, 10, ' - Premere e tenere premuto Ctrl o Alt per configurare AiR-BOOT.', 0
     74TXT_VirusFoundEnd              db '    Sistema bloccato. Premere RESET.', 0
     75TXT_HowEnterSetup              db 13, 10, ' - Premere e tenere premuto Ctrl o Alt per configurare AiR-BOOT.', 0
    7676
    77 TXT_BootingNow1:               db 'Avvio del sistema con ', 0
     77TXT_BootingNow1                db 'Avvio del sistema con ', 0
    7878; DO NOT MODIFY HERE
    79 TXT_BootingNow2:               db ''''
    80 TXT_BootingNowPartName:        db 12 dup (0) ; Space for BootThisPart-Name
     79TXT_BootingNow2                db ''''
     80TXT_BootingNowPartName         db 12 dup (0) ; Space for BootThisPart-Name
    8181; DO NOT MODIFY TILL HERE
    82 TXT_BootingNowPartition:       db '', 0
    83 TXT_BootingNowKernel:          db ' kernel', 0
    84 TXT_BootingHide:               db '; part. attiva nascosta', 0
    85 TXT_BootingWait:               db '; attendere, prego...', 13, 10, 13, 10, 0
     82TXT_BootingNowPartition        db '''', 0
     83TXT_BootingNowKernel           db ' kernel', 0
     84TXT_BootingHide                db '; part. attiva nascosta', 0
     85TXT_BootingWait                db '; attendere, prego...', 13, 10, 13, 10, 0
    8686
    8787; FIXED LENGTH - 11 chars each string
    8888;----------------------------------|---------|------------------------------
    89 TXT_Floppy_NoName:             db 'Nessun Nome'
    90 TXT_Floppy_Drive:              db 'FloppyDrive'
    91 TXT_Floppy_NoDisc:             db 'No Disco   '
     89TXT_Floppy_NoName              db 'Nessun Nome'
     90TXT_Floppy_Drive               db 'FloppyDrive'
     91TXT_Floppy_NoDisc              db 'No Disco   '
    9292
    9393; Maximum 60 chars (should not be reached)
  • trunk/BOOTCODE/TEXT/NL/MBR.ASM

    r30 r37  
    2121;------------------------------------------------------------------------------
    2222
    23 TXT_LanguageID                equ 'D'
     23TXT_LanguageID                equ 'N'
    2424
    2525; Those strings are saved within MBR.
  • trunk/BOOTCODE/TEXT/NL/MENUS.ASM

    r36 r37  
    110110; Setup Control Help - Max Length: 33
    111111;----------------------------------|-------------------------------|--------
    112 TXT_SETUPHELP_Main:            db 24,32,25,32,26,32,27,' : Maak uw keuze', 0
     112TXT_SETUPHELP_Main             db 24,32,25,32,26,32,27,' : Maak uw keuze', 0
    113113                               db 'Enter   : Keuze bevestigen', 0
    114114                               db 'F10 : Opslaan en afsluiten', 0
    115115                               db 'Esc : Setup afsluiten', 0
    116116
    117 TXT_SETUPHELP_SubMenu:         db 24,32,25,32,26,32,27,' : Item kiezen', 0
     117TXT_SETUPHELP_SubMenu          db 24,32,25,32,26,32,27,' : Item kiezen', 0
    118118                               db 'PgUp/Dn : Onderdelen van het item', 0
    119119                               db 'F1  : Hulp voor dit item', 0
    120120                               db 'Esc : Terug naar het hoofdmenu', 0
    121121
    122 TXT_SETUPHELP_PartSetup:       db 24,32,25,32,26,32,27,' : Partitie kiezen', 0
     122TXT_SETUPHELP_PartSetup        db 24,32,25,32,26,32,27,' : Partitie kiezen', 0
    123123                               db 'Enter   : Label bewerken', 0
    124124                               db 'F1  : Uitleg bij de toetsen', 0
     
    129129                                  ;1234567890123456789012
    130130;----------------------------------|--------------------|--------------------
    131 TXT_SETUPHELP_PartitionSetup:  db 'Partities opstartbaar', 0
     131TXT_SETUPHELP_PartitionSetup   db 'Partities opstartbaar', 0
    132132                               db 'maken, label wijzigen,', 0
    133133                               db 'partities verbergen of', 0
     
    135135                               db 'en nog veel meer.', 0
    136136                               db 0
    137 TXT_SETUPHELP_BasicOptions:    db 'Opties voor minder', 0
     137TXT_SETUPHELP_BasicOptions     db 'Opties voor minder', 0
    138138                               db 'ervaren gebruikers.', 0
    139139                               db 0
    140 TXT_SETUPHELP_AdvOptions:      db 'Opties voor ervaren', 0
     140TXT_SETUPHELP_AdvOptions       db 'Opties voor ervaren', 0
    141141                               db 'gebruikers. Stel hier', 0
    142142                               db 'niets in tenzij u goed', 0
    143143                               db 'weet waarover het gaat.', 0
    144144                               db 0
    145 TXT_SETUPHELP_ExtOptions:      db 'Opties enkel bedoeld', 0
     145TXT_SETUPHELP_ExtOptions       db 'Opties enkel bedoeld', 0
    146146                               db 'voor een bepaald sy-', 0
    147147                               db 'steem.', 0
    148148                               db 0
    149 TXT_SETUPHELP_DefMasterPwd:    db 'Wachtwoord instellen', 0
     149TXT_SETUPHELP_DefMasterPwd     db 'Wachtwoord instellen', 0
    150150                               db 'voor de setup en voor', 0
    151151                               db 'het systeem.', 0
    152152                               db 0
    153 TXT_SETUPHELP_DefBootPwd:      db 'Wachtwoord instellen', 0
     153TXT_SETUPHELP_DefBootPwd       db 'Wachtwoord instellen', 0
    154154                               db 'voor de toegang', 0
    155155                               db 'tot het systeeem.', 0
    156156                               db 0
    157 TXT_SETUPHELP_SaveAndExit:     db 'Het opstarten wordt nu', 0
     157TXT_SETUPHELP_SaveAndExit      db 'Het opstarten wordt nu', 0
    158158                               db 'verder gezet terwijl', 0
    159159                               db 'de nieuwe instellingen' , 0
    160160                               db 'bewaard worden.', 0
    161161                               db 0
    162 TXT_SETUPHELP_JustExit:        db 'Het opstarten wordt nu', 0
     162TXT_SETUPHELP_JustExit         db 'Het opstarten wordt nu', 0
    163163                               db 'verder gezet terwijl', 0
    164164                               db 'de nieuwe instellingen' , 0
     
    172172                               db 0
    173173
    174 TXT_SETUPHELP_HideSetup:       db 'Bepaal hoe de andere', 0
     174TXT_SETUPHELP_HideSetup        db 'Bepaal hoe de andere', 0
    175175                               db 'partities moeten wor-', 0
    176176                               db 'den getoond wanneer', 0
  • trunk/BOOTCODE/TEXT/NL/OTHER.ASM

    r36 r37  
    2727; Maximum 2/10/11/6 chars
    2828;----------------------------------||---------------------------------------
    29 TXT_TopInfos_No:               db 'Nr', 0
    30 TXT_TopInfos_Hd:               db 'Hd', 0
     29TXT_TopInfos_No                db 'Nr', 0
     30TXT_TopInfos_Hd                db 'Hd', 0
    3131;----------------------------------|----------|-----------------------------
    32 TXT_TopInfos_HdSize:           db 'Hd/Grootte:', 0
     32TXT_TopInfos_HdSize            db 'Hd/Grootte:', 0
    3333;----------------------------------|--------|-------------------------------
    34 TXT_TopInfos_Label:            db 'Benamimg:', 0
     34TXT_TopInfos_Label             db 'Benamimg:', 0
    3535;----------------------------------|---------|------------------------------
    36 TXT_TopInfos_Type:             db 'Type:', 0
     36TXT_TopInfos_Type              db 'Type:', 0
    3737;----------------------------------|----|-----------------------------------
    38 TXT_TopInfos_Flags:            db 'Flags:', 0      ; <-- for Partition Setup
     38TXT_TopInfos_Flags             db 'Flags:', 0      ; <-- for Partition Setup
    3939
    4040; Will be added together to one line, maximum 76 chars
    41 TXT_TimedBootLine:             db 'Tijd over: er wordt opgestart van '''
     41TXT_TimedBootLine              db 'Tijd over: er wordt opgestart van '''
    4242TXT_TimedBootEntryName         db 12 dup (0) ; Space for Default-Entry-Name
    43 TXT_TimedBootLine2:            db      ''' de partitie na ', 0
    44 TXT_TimedBootSeconds:          db ' seconden. ', 0
    45 TXT_TimedBootSecond:           db ' second. ', 0 ; if only one is left, ELiTE :]
     43TXT_TimedBootLine2             db      ''' de partitie na ', 0
     44TXT_TimedBootSeconds           db ' seconden. ', 0
     45TXT_TimedBootSecond            db ' second. ', 0 ; if only one is left, ELiTE :]
    4646; Maximum 76 chars
    4747;----------------------------------|--------------------------------------------------------------------------|
    48 TXT_TimedBootDisabled:         db 'Het opstarten werd onderbroken. Tik op [Esc] om verder te gaan.', 0
    49 TXT_BootMenuHelpText1:         db '[Esc] om te onderbreken/vervolgen.[Enter] om de keuze te starten.', 0
    50 TXT_BootMenuHelpText2:         db 'Andere keuze met de pijltjestoetsen, tik [TAB] om de bios uitvoer te zien.', 0
     48TXT_TimedBootDisabled          db 'Het opstarten werd onderbroken. Tik op [Esc] om verder te gaan.', 0
     49TXT_BootMenuHelpText1          db '[Esc] om te onderbreken/vervolgen.[Enter] om de keuze te starten.', 0
     50TXT_BootMenuHelpText2          db 'Andere keuze met de pijltjestoetsen, tik [TAB] om de bios uitvoer te zien.', 0
    5151; Maximum 30 chars
    5252;----------------------------------|----------------------------|
     
    5454
    5555; Dynamic Length (till 80 chars)
    56 TXT_BrokenPartitionTable:      db 13, 10, ' - U hard disk bevat minstens 1 beschadigde paritietabel element of u hard disk'
     56TXT_BrokenPartitionTable       db 13, 10, ' - U hard disk bevat minstens 1 beschadigde paritietabel element of u hard disk'
    5757                               db 13, 10, '   bevat bad sector. Systeem is gestopt.', 0
    58 TXT_TooManyPartitions:         db 13, 10, ' - Er zijn teveel partities aanwezig. Het maximum is 45.', 0
    59 TXT_NoBootAble:                db 13, 10, ' - Geen opstartpartitie beschikbaar. Systeem is gestopt.', 0
    60 TXT_BIOSchanged:               db 13, 10, ' - Het BIOS werd gewijzigd! Controleer eerst op virussen.'
     58TXT_TooManyPartitions          db 13, 10, ' - Er zijn teveel partities aanwezig. Het maximum is 45.', 0
     59TXT_NoBootAble                 db 13, 10, ' - Geen opstartpartitie beschikbaar. Systeem is gestopt.', 0
     60TXT_BIOSchanged                db 13, 10, ' - Het BIOS werd gewijzigd! Controleer eerst op virussen.'
    6161                               db 13, 10, '   Tik op een toets om verder te gaan...', 0
    6262;----------------------------------|--------------------------------------------------------------------------|
    63 TXT_VirusFoundMain:            db 13, 10, ' - !OPGELET! -> Virusje gevonden! <- !OPGELET!', 13, 10, 0
    64 TXT_VirusFound1ok:             db '    verwijderd, maar er kan misschien niet meer juist worden opgestart. Is,', 13, 10
     63TXT_VirusFoundMain             db 13, 10, ' - !OPGELET! -> Virusje gevonden! <- !OPGELET!', 13, 10, 0
     64TXT_VirusFound1ok              db '    verwijderd, maar er kan misschien niet meer juist worden opgestart. Is,', 13, 10
    6565                               db '    dit het geval, herstart vanaf de AiR-BOOT systeem diskette.', 13, 10, 0
    66 TXT_VirusFound1damn:           db '    Ook uw AiR-BOOT backup werd vernietigd. U moet dus terug opstarten', 13, 10
     66TXT_VirusFound1damn            db '    Ook uw AiR-BOOT backup werd vernietigd. U moet dus terug opstarten', 13, 10
    6767                               db '    vanaf uw AiR-BOOT systeem diskette.', 13, 10, 0
    68 TXT_VirusFound1any:            db '    U doet er best aan eerst te controleren virus achterblijvertjes.', 13, 10, 0
    69 TXT_VirusFound2:               db '    Deze bevinden zich in het MBR van de partitie die u wou opstarten.', 13, 10
     68TXT_VirusFound1any             db '    U doet er best aan eerst te controleren virus achterblijvertjes.', 13, 10, 0
     69TXT_VirusFound2                db '    Deze bevinden zich in het MBR van de partitie die u wou opstarten.', 13, 10
    7070                               db '    Gebruik hiervoor een anti-virusprogramma. Mogelijks slechts alarm.', 13, 10
    7171                               db '    Na de vewijdering moet u een en ander opnieuw instellen. Ga naar', 13, 10
    7272                               db '    ''Partities instellen'' en schakel VIBR-detectie tweemaal (aan/uit).', 13, 10
    7373                               db '    Indien slechts vals alarm, "uit" laten staan.', 13, 10, 0
    74 TXT_VirusFoundEnd:             db '    Afgebroken! Tik op de RESET knop.', 0
    75 TXT_HowEnterSetup:             db 13, 10, ' - Shift/Ctrl of Alt ingeduwd houden voor de AiR-BOOT Setup.', 0
     74TXT_VirusFoundEnd              db '    Afgebroken! Tik op de RESET knop.', 0
     75TXT_HowEnterSetup              db 13, 10, ' - Shift/Ctrl of Alt ingeduwd houden voor de AiR-BOOT Setup.', 0
    7676
    77 TXT_BootingNow1:               db 'Er wordt nu opgestart van de ', 0
     77TXT_BootingNow1                db 'Er wordt nu opgestart van de ', 0
    7878; DO NOT MODIFY HERE
    79 TXT_BootingNow2:               db '''', 0
    80 TXT_BootingNowPartName:        db 12 dup (0) ; Space for BootThisPart-Name
     79TXT_BootingNow2                db '''', 0
     80TXT_BootingNowPartName         db 12 dup (0) ; Space for BootThisPart-Name
    8181; DO NOT MODIFY TILL HERE
    82 TXT_BootingNowPartition:       db ' partitie', 0
    83 TXT_BootingNowKernel:          db ' kernel', 0
    84 TXT_BootingHide:               db '; actieve verbergen', 0
    85 TXT_BootingWait:               db '; Wachten graag...', 13, 10, 13, 10, 0
     82TXT_BootingNowPartition        db ' partitie', 0
     83TXT_BootingNowKernel           db ' kernel', 0
     84TXT_BootingHide                db '; actieve verbergen', 0
     85TXT_BootingWait                db '; Wachten graag...', 13, 10, 13, 10, 0
    8686
    8787; FIXED LENGTH - 11 chars each string
    8888;----------------------------------|---------|------------------------------
    89 TXT_Floppy_NoName:             db 'Geen label '
    90 TXT_Floppy_Drive:              db 'Station A: '
    91 TXT_Floppy_NoDisc:             db 'Geen media '
     89TXT_Floppy_NoName              db 'Geen label '
     90TXT_Floppy_Drive               db 'Station A: '
     91TXT_Floppy_NoDisc              db 'Geen media '
    9292
    9393; Maximum 60 chars (should not be reached)
  • trunk/BOOTCODE/TEXT/RU/MENUS.ASM

    r36 r37  
    117117; Setup Control Help - Max Length: 33
    118118;----------------------------------|-------------------------------|--------
    119 TXT_SETUPHELP_Main:            db 24,32,25,32,26,32,27,' : ‚ë¡®à €¥©á⢚ï', 0
     119TXT_SETUPHELP_Main             db 24,32,25,32,26,32,27,' : ‚ë¡®à €¥©á⢚ï', 0
    120120                               db               'Enter   : ®€â¢¥àŠ€¥­š¥', 0
    121121                               db               'F10 : ‘®åà ­šâì š ¢ë©âš', 0
    122122                               db               'Esc : ‚ë©âš', 0
    123123
    124 TXT_SETUPHELP_SubMenu:         db 24,32,25,32,26,32,27,' : ‚ë¡®à ¯ã­ªâ', 0
     124TXT_SETUPHELP_SubMenu          db 24,32,25,32,26,32,27,' : ‚ë¡®à ¯ã­ªâ', 0
    125125                               db               'PgUp/Dn : ‘¬¥­  ¯ã­ªâ ', 0
    126126                               db               'F1  : ®ª § âì ¯®¬®éì', 0
    127127                               db               'Esc : ƒ« ¢­®¥ ¬¥­î', 0
    128128
    129 TXT_SETUPHELP_PartSetup:       db 24,32,25,32,26,32,27,' : ‚ë¡®à à §€¥« ', 0
     129TXT_SETUPHELP_PartSetup        db 24,32,25,32,26,32,27,' : ‚ë¡®à à §€¥« ', 0
    130130                               db               'Enter   : ‘¬¥­  ¬¥âªš', 0
    131131                               db               'F1  : ”« £š (ª«îçš)', 0
     
    137137;----------------------------------|--------------------|-------------------
    138138
    139 TXT_SETUPHELP_PartitionSetup:  db 'Œ®Š¥â¥ § € âì à §€¥«ë', 0
     139TXT_SETUPHELP_PartitionSetup   db 'Œ®Š¥â¥ § € âì à §€¥«ë', 0
    140140                               db '§ £à㊠¥¬ë¬š, ᬥ­šâì', 0
    141141                               db 'šå ­ §¢ ­š¥, á¯àïâ âì', 0
    142142                               db 'š ¬­®£®¥ €à㣮¥.', 0
    143143                               db 0
    144 TXT_SETUPHELP_BasicOptions:    db 'â® ­ áâனªš €«ï', 0
     144TXT_SETUPHELP_BasicOptions     db 'â® ­ áâனªš €«ï', 0
    145145                               db '­ çš­ îéšå ¯®«ì§®-.', 0
    146146                               db '¢ â¥«¥©.', 0
    147147                               db 0
    148 TXT_SETUPHELP_AdvOptions:      db 'âš ­ áâனªš €«ï', 0
     148TXT_SETUPHELP_AdvOptions       db 'âš ­ áâனªš €«ï', 0
    149149                               db '®¯ëâ­ëå ¯®«ì§®¢ â¥«¥©.', 0
    150150                               db '
     
    153153                               db '¬¥­ï©â¥.', 0
    154154                               db 0
    155 TXT_SETUPHELP_ExtOptions:      db ' áèšà¥­­ë¥ ®¯æšš €«ï', 0
     155TXT_SETUPHELP_ExtOptions       db ' áèšà¥­­ë¥ ®¯æšš €«ï', 0
    156156                               db 'à §­ëå ášá⥬.', 0
    157157                               db 0
    158 TXT_SETUPHELP_DefMasterPwd:    db '‡ € ­š¥ ¯ à®«ï €«ï', 0
     158TXT_SETUPHELP_DefMasterPwd     db '‡ € ­š¥ ¯ à®«ï €«ï', 0
    159159                               db '€®áâ㯠 ª ­ áâனª ¬', 0
    160160                               db 'š ášá⥬¥.', 0
    161161                               db 0
    162 TXT_SETUPHELP_DefBootPwd:      db '‡ € ­š¥ ¯ à®«ï €«ï', 0
     162TXT_SETUPHELP_DefBootPwd       db '‡ € ­š¥ ¯ à®«ï €«ï', 0
    163163                               db '€®áâ㯠 ª ášá⥬¥.', 0
    164164                               db 0
    165 TXT_SETUPHELP_SaveAndExit:     db 'à®€®«Ššâì § £à㧪㠚', 0
     165TXT_SETUPHELP_SaveAndExit      db 'à®€®«Ššâì § £à㧪㠚', 0
    166166                               db 'á®å­ ­šâì ⥪ã隥', 0
    167167                               db '­ áâனªš.', 0
    168168                               db 0
    169 TXT_SETUPHELP_JustExit:        db 'à®€®«Ššâì § £à㧪ã,', 0
     169TXT_SETUPHELP_JustExit         db 'à®€®«Ššâì § £à㧪ã,', 0
    170170                               db '­® ®â¬¥­šâì ¢á¥', 0
    171171                               db '𧬥­¥­šï ­ áâ஥ª.', 0
     
    179179                               db 0
    180180
    181 TXT_SETUPHELP_HideSetup:       db '‚ë¡¥àšâ¥ á®áâ®ï­š¥,', 0
     181TXT_SETUPHELP_HideSetup        db '‚ë¡¥àšâ¥ á®áâ®ï­š¥,', 0
    182182                               db '¢ ª®â®à®¬ à §€¥«', 0
    183183                               db '€®«Š¥­ ¡ëâì, ª®£€ ', 0
  • trunk/BOOTCODE/TEXT/RU/OTHER.ASM

    r36 r37  
    2727; Maximum 2/10/11/6 chars
    2828;----------------------------------||---------------------------------------
    29 TXT_TopInfos_No:               db 'No', 0
    30 TXT_TopInfos_Hd:               db 'Hd', 0
     29TXT_TopInfos_No                db 'No', 0
     30TXT_TopInfos_Hd                db 'Hd', 0
    3131;----------------------------------|--------|-------------------------------
    32 TXT_TopInfos_HdSize:           db 'Hd/ §¬¥à:', 0
     32TXT_TopInfos_HdSize            db 'Hd/ §¬¥à:', 0
    3333;----------------------------------|--------|-------------------------------
    34 TXT_TopInfos_Label:            db 'ˆ¬ï:', 0
     34TXT_TopInfos_Label             db 'ˆ¬ï:', 0
    3535;----------------------------------|---------|------------------------------
    36 TXT_TopInfos_Type:             db '’š¯:', 0
     36TXT_TopInfos_Type              db '’š¯:', 0
    3737;----------------------------------|----|-----------------------------------
    38 TXT_TopInfos_Flags:            db '”« £š:', 0      ; <-- for Partition Setup
     38TXT_TopInfos_Flags             db '”« £š:', 0      ; <-- for Partition Setup
    3939
    4040; Will be added together to one line, maximum 76 chars
    41 TXT_TimedBootLine:             db '€¢â®§ £à㧪  ¢ª«ç . ã€¥â § £à㊥­  '''
     41TXT_TimedBootLine              db '€¢â®§ £à㧪  ¢ª«ç . ã€¥â § £à㊥­  '''
    4242TXT_TimedBootEntryName         db 12 dup (0) ; Space for Default-Entry-Name
    43 TXT_TimedBootLine2:            db      ''' ç¥à¥§ ', 0
    44 TXT_TimedBootSeconds:          db ' ᥪ㭀. ', 0
    45 TXT_TimedBootSecond:           db ' ᥪ㭀ã. ', 0 ; if only one is left, ELiTE :]
     43TXT_TimedBootLine2             db      ''' ç¥à¥§ ', 0
     44TXT_TimedBootSeconds           db ' ᥪ㭀. ', 0
     45TXT_TimedBootSecond            db ' ᥪ㭀ã. ', 0 ; if only one is left, ELiTE :]
    4646; Maximum 76 chars
    4747;----------------------------------|--------------------------------------------------------------------------|
    48 TXT_TimedBootDisabled:         db '€¢â®§ £à㧪  ®âª«î祭 , â ©¬¥à ®âª«î祭.', 0
    49 TXT_BootMenuHelpText1:         db ' Š¬šâ¥ [Esc] €«ï ¯¥à¥ª«î祭šï  ¢â®§ £à㧪š, [Enter] €«ï ¢ë¡®à  à §€¥« .', 0
    50 TXT_BootMenuHelpText2:         db '‚ë¡¥àšâ¥ à §€¥« š«š ­ Š¬šâ¥ [TAB], ç⮡ë 㢚€¥âì á®®¡é¥­šï BIOS POST.', 0
     48TXT_TimedBootDisabled          db '€¢â®§ £à㧪  ®âª«î祭 , â ©¬¥à ®âª«î祭.', 0
     49TXT_BootMenuHelpText1          db ' Š¬šâ¥ [Esc] €«ï ¯¥à¥ª«î祭šï  ¢â®§ £à㧪š, [Enter] €«ï ¢ë¡®à  à §€¥« .', 0
     50TXT_BootMenuHelpText2          db '‚ë¡¥àšâ¥ à §€¥« š«š ­ Š¬šâ¥ [TAB], ç⮡ë 㢚€¥âì á®®¡é¥­šï BIOS POST.', 0
    5151; Maximum 30 chars
    5252;----------------------------------|----------------------------|
     
    5454
    5555; Dynamic Length (till 80 chars)
    56 TXT_BrokenPartitionTable:      db 13, 10, ' - Ž¡­ à㊥­ ¬š­š¬ã¬ ®€š­ šá¯®à祭­ë© à §€¥«, «š¡® â ¡«šæ  à §€¥«®¢ ᮀ¥àŠšâ'
     56TXT_BrokenPartitionTable       db 13, 10, ' - Ž¡­ à㊥­ ¬š­š¬ã¬ ®€š­ šá¯®à祭­ë© à §€¥«, «š¡® â ¡«šæ  à §€¥«®¢ ᮀ¥àŠšâ'
    5757                               db 13, 10, '   á¡®©­ë¥ ¡«®ªš. ‘šá⥬  ®áâ ­®¢«¥­ .', 0
    58 TXT_TooManyPartitions:         db 13, 10, ' - ‘«šèª®¬ ¬­®£® à §€¥«®¢ ­ ©€¥­®. AiR-BOOT ¯®€€¥àŠš¢ ¥â €® 45.', 0
    59 TXT_NoBootAble:                db 13, 10, ' - ¥ ­ ©€¥­® § £à㊠¥¬ëå à §€¥«®¢. ‘šá⥬  ®áâ ­®¢«¥­ .', 0
    60 TXT_BIOSchanged:               db 13, 10, ' - BIOS ˆ‡Œ
     58TXT_TooManyPartitions          db 13, 10, ' - ‘«šèª®¬ ¬­®£® à §€¥«®¢ ­ ©€¥­®. AiR-BOOT ¯®€€¥àŠš¢ ¥â €® 45.', 0
     59TXT_NoBootAble                 db 13, 10, ' - ¥ ­ ©€¥­® § £à㊠¥¬ëå à §€¥«®¢. ‘šá⥬  ®áâ ­®¢«¥­ .', 0
     60TXT_BIOSchanged                db 13, 10, ' - BIOS ˆ‡Œ
    6161ˆ‹‘Ÿ, ¯à®¢¥àì⥠᢮î ášá⥬㠭  ¯à¥€¬¥â ¢šàãᮢ.'
    6262                               db 13, 10, '    Š¬šâ¥ «î¡ãî ª« ¢šèã €«ï ¯à®€®«Š¥­šï...', 0
    6363
    64 TXT_VirusFoundMain:            db 13, 10, ' - !‚ˆŒ€ˆ
     64TXT_VirusFoundMain             db 13, 10, ' - !‚ˆŒ€ˆ
    6565! -> €‰„
    6666 ‚ˆ“‘ <- !‚ˆŒ€ˆ
    6767!', 13, 10, 0
    68 TXT_VirusFound1ok:             db '    Ž­ ¡ë« ã­âšç⮊¥­, ­® ášá⥬  ¬®Š¥â ­¥ § £àã§šâìáï ¯à ¢š«ì­®.
     68TXT_VirusFound1ok              db '    Ž­ ¡ë« ã­âšç⮊¥­, ­® ášá⥬  ¬®Š¥â ­¥ § £àã§šâìáï ¯à ¢š«ì­®.
    6969᫚ íâ®', 13, 10
    7070                               db '    íâ® ¯à®š§®©€¥â, šá¯®«ì§ã©â¥ ‚ è €šáª AiR-BOOT.', 13, 10, 0
    71 TXT_VirusFound1damn:           db '    Š ᮊ «¥­šî, ®­ áâ¥à ­ áâனªš AiR-BOOT. ‚ë €®«Š­ë § £àã§šâìáï, šá¯®«ì§ãï', 13, 10
     71TXT_VirusFound1damn            db '    Š ᮊ «¥­šî, ®­ áâ¥à ­ áâனªš AiR-BOOT. ‚ë €®«Š­ë § £àã§šâìáï, šá¯®«ì§ãï', 13, 10
    7272                               db '    ‚ è €šáª AiR-BOOT.', 13, 10, 0
    73 TXT_VirusFound1any:            db '    „«ï ¡¥§®¯ á­®áâš, ‚ ¬ á«¥€ã¥â ¯à®¢¥àšâì ‚ èš Š¥á⪚¥ €šáªš ­  ¢šàãáë.', 13, 10, 0
    74 TXT_VirusFound2:               db '    ‚šàãá ­ å®€šâáï ¢ MBR à §€¥« , ª®â®àë© ‚ë å®âšâ¥ § £àã§šâì.', 13, 10
     73TXT_VirusFound1any             db '    „«ï ¡¥§®¯ á­®áâš, ‚ ¬ á«¥€ã¥â ¯à®¢¥àšâì ‚ èš Š¥á⪚¥ €šáªš ­  ¢šàãáë.', 13, 10, 0
     74TXT_VirusFound2                db '    ‚šàãá ­ å®€šâáï ¢ MBR à §€¥« , ª®â®àë© ‚ë å®âšâ¥ § £àã§šâì.', 13, 10
    7575                               db '    ˆá¯®«ì§ã©â¥ ¯à®£à ¬¬ë ¯®šáª  ¢šàãᮢ. ’ ªŠ¥ íâ® ¬®Š¥â ¡ëâì ®èš¡®ç­ë¬', 13, 10
    7676                               db '    ¯à¥€ã¯à¥Š€¥­š¥¬. ®á«¥ 〠«¥­šï ¢šàãá , ‚ë €®«Š­ë ¯¥à¥§ € âì ¯¥à¥¬¥­­ë¥', 13, 10
     
    8181᫚ íâ® ¡ë«® ®èš¡®ç­®¥ ¯à¥€ã¯à¥Š€¥­š¥', 13, 10
    8282                               db '    ®áâ ¢ì⥠¥£® ¢ "¢ëª«".', 13, 10, 0
    83 TXT_VirusFoundEnd:             db '    ‘šá⥬  ®áâ ­®¢«¥­ . ®Š «ã©áâ , ­ Š¬šâ¥ RESET.', 0
    84 TXT_HowEnterSetup:             db 13, 10, ' -  Š¬šâ¥ š €¥àŠšâ¥ Ctrl š«š Alt €«ï ¢å®€  ¢ ­ áâனªš AiR-BOOT.', 0
     83TXT_VirusFoundEnd              db '    ‘šá⥬  ®áâ ­®¢«¥­ . ®Š «ã©áâ , ­ Š¬šâ¥ RESET.', 0
     84TXT_HowEnterSetup              db 13, 10, ' -  Š¬šâ¥ š €¥àŠšâ¥ Ctrl š«š Alt €«ï ¢å®€  ¢ ­ áâனªš AiR-BOOT.', 0
    8585
    86 TXT_BootingNow1:               db '‡ £à㧪  ášá⥬ë, šá¯®«ì§ãï ', 0
     86TXT_BootingNow1                db '‡ £à㧪  ášá⥬ë, šá¯®«ì§ãï ', 0
    8787; DO NOT MODIFY HERE
    88 TXT_BootingNow2:               db '''', 0
    89 TXT_BootingNowPartName:        db 12 dup (0) ; Space for BootThisPart-Name
     88TXT_BootingNow2                db '''', 0
     89TXT_BootingNowPartName         db 12 dup (0) ; Space for BootThisPart-Name
    9090; DO NOT MODIFY TILL HERE
    91 TXT_BootingNowPartition:       db ' à §€¥«', 0
    92 TXT_BootingNowKernel:          db ' ï€à®', 0
    93 TXT_BootingHide:               db '; ᮪àë⚥  ªâ𢭮', 0
    94 TXT_BootingWait:               db '; ¯®Š «ã©áâ , ¯®€®Š€šâ¥...', 13, 10, 13, 10, 0
     91TXT_BootingNowPartition        db ' à §€¥«', 0
     92TXT_BootingNowKernel           db ' ï€à®', 0
     93TXT_BootingHide                db '; ᮪àë⚥  ªâ𢭮', 0
     94TXT_BootingWait                db '; ¯®Š «ã©áâ , ¯®€®Š€šâ¥...', 13, 10, 13, 10, 0
    9595
    9696; FIXED LENGTH - 11 chars each string
    9797;----------------------------------|---------|------------------------------
    98 TXT_Floppy_NoName:             db '¥§ 𬥭š  '
    99 TXT_Floppy_Drive:              db '„šáª®¢®€   '
    100 TXT_Floppy_NoDisc:             db '¥â €šáª   '
     98TXT_Floppy_NoName              db '¥§ 𬥭š  '
     99TXT_Floppy_Drive               db '„šáª®¢®€   '
     100TXT_Floppy_NoDisc              db '¥â €šáª   '
    101101
    102102; Maximum 60 chars (should not be reached)
  • trunk/BOOTCODE/TEXT/SW/MENUS.ASM

    r36 r37  
    110110; Setup Control Help - Max Length: 33
    111111;----------------------------------|-------------------------------|--------
    112 TXT_SETUPHELP_Main:            db 24,32,25,32,26,32,27,' : V„lj Aktion', 0
     112TXT_SETUPHELP_Main             db 24,32,25,32,26,32,27,' : V„lj Aktion', 0
    113113                               db               'Enter   : V„lj Aktion', 0
    114114                               db               'F10 : Spara&Avsluta Setup', 0
    115115                               db               'Esc : L„mna Setup', 0
    116116
    117 TXT_SETUPHELP_SubMenu:         db 24,32,25,32,26,32,27,' : V„lj Post', 0
     117TXT_SETUPHELP_SubMenu          db 24,32,25,32,26,32,27,' : V„lj Post', 0
    118118                               db               'PgUp/Dn : Žndra Post', 0
    119119                               db               'F1  : Visa hj„lp f”r post', 0
    120120                               db               'Esc : terv„nd till huvud-menyn', 0
    121121
    122 TXT_SETUPHELP_PartSetup:       db 24,32,25,32,26,32,27,' : V„lj partition', 0
     122TXT_SETUPHELP_PartSetup        db 24,32,25,32,26,32,27,' : V„lj partition', 0
    123123                               db               'Enter   : Editera etikett', 0
    124124                               db               'F1  : Flagga (tryck tg f”r v„xl)', 0
     
    129129                                  ;1234567890123456789012
    130130;----------------------------------|--------------------|-------------------
    131 TXT_SETUPHELP_PartitionSetup:  db 'G”r dina partitioner', 0
     131TXT_SETUPHELP_PartitionSetup   db 'G”r dina partitioner', 0
    132132                               db 'bootningsbara, „ndra', 0
    133133                               db 'deras namn, definiera', 0
     
    135135                               db 'annat.', 0
    136136                               db 0
    137 TXT_SETUPHELP_BasicOptions:    db 'Dessa optioner „r f”r', 0
     137TXT_SETUPHELP_BasicOptions     db 'Dessa optioner „r f”r', 0
    138138                               db 'oerfarna anv„ndare.', 0
    139 TXT_SETUPHELP_AdvOptions:      db 'Dessa „r f”r', 0
     139TXT_SETUPHELP_AdvOptions       db 'Dessa „r f”r', 0
    140140                               db 'avancerade anv„ndare.', 0
    141141                               db 'Om du inte vet vad de', 0
    142142                               db 'g”r, l„mna som de „r.', 0
    143143                               db 0
    144 TXT_SETUPHELP_ExtOptions:      db 'Ut”kade optioner f”r', 0
     144TXT_SETUPHELP_ExtOptions       db 'Ut”kade optioner f”r', 0
    145145                               db 'specifika OS.', 0
    146146                               db 0
    147 TXT_SETUPHELP_DefMasterPwd:    db 'Definiera ett', 0
     147TXT_SETUPHELP_DefMasterPwd     db 'Definiera ett', 0
    148148                               db 'l”senord f”r access', 0
    149149                               db 'till setup och', 0
    150150                               db 'system.', 0
    151151                               db 0
    152 TXT_SETUPHELP_DefBootPwd:      db 'Definiera ett', 0
     152TXT_SETUPHELP_DefBootPwd       db 'Definiera ett', 0
    153153                               db 'l”senord f”r access', 0
    154154                               db 'till system.',0
    155155                               db 0
    156 TXT_SETUPHELP_SaveAndExit:     db 'Kommer att fors„tta', 0
     156TXT_SETUPHELP_SaveAndExit      db 'Kommer att fors„tta', 0
    157157                               db 'bootprocessen och', 0
    158158                               db 'spara de aktuella', 0
    159159                               db 'optionerna.',0
    160160                               db 0
    161 TXT_SETUPHELP_JustExit:        db 'Kommer att fors„tta', 0
     161TXT_SETUPHELP_JustExit         db 'Kommer att fors„tta', 0
    162162                               db 'men ignorerar alla', 0
    163163                               db '„ndringar som gjorts', 0
     
    172172                               db 0
    173173
    174 TXT_SETUPHELP_HideSetup:       db 'V„lj status f”r', 0
     174TXT_SETUPHELP_HideSetup        db 'V„lj status f”r', 0
    175175                               db 'vilka partitioner', 0
    176176                               db 'som skall d”ljas,', 0
     
    211211                               db 'Annars kommer den', 0
    212212                               db 'att anv„nda standard', 0
    213                                db 0
     213                                           db 0
    214214TXT_SETUPHELP_RememberLastBoot db 'AiR-BOOT kommer att', 0
    215215                               db 'h†lla meny-raden p†', 0
     
    222222                               db 'raden ocks† f”r', 0
    223223                               db 'Tidsstyrd Bootning.', 0
    224                                db 0
     224                                           db 0
    225225TXT_SETUPHELP_IncludeFloppy    db 'AiR-BOOT kommer att', 0
    226226                               db 'till†ta booting', 0
     
    232232                               db 'Kan vara inkompatibelt', 0
    233233                               db 'med vissa OS.', 0
    234                                db 0
     234                                           db 0
    235235TXT_SETUPHELP_IgnoreMbrWrites  db 'Om det „r aktiverat,', 0
    236236                               db 'kommer all skrivning', 0
     
    238238                               db 'kommer systemet att', 0
    239239                               db '"krascha".', 0
    240                                db 0
     240                               db 0
    241241TXT_SETUPHELP_MakeSounds       db 'AiR-BOOT kan f†s att', 0
    242242                               db 'utf”ra ljud med din', 0
  • trunk/BOOTCODE/TEXT/SW/OTHER.ASM

    r36 r37  
    2727; Maximum 2/10/11/6 chars
    2828;----------------------------------||---------------------------------------
    29 TXT_TopInfos_No:               db 'No', 0
    30 TXT_TopInfos_Hd:               db 'Hd', 0
     29TXT_TopInfos_No                db 'No', 0
     30TXT_TopInfos_Hd                db 'Hd', 0
    3131;----------------------------------|--------|-------------------------------
    32 TXT_TopInfos_HdSize:           db 'Hd/Storl:', 0
     32TXT_TopInfos_HdSize            db 'Hd/Storl:', 0
    3333;----------------------------------|--------|-------------------------------
    34 TXT_TopInfos_Label:            db 'Etikett:', 0
     34TXT_TopInfos_Label             db 'Etikett:', 0
    3535;----------------------------------|---------|------------------------------
    36 TXT_TopInfos_Type:             db 'Typ:', 0
     36TXT_TopInfos_Type              db 'Typ:', 0
    3737;----------------------------------|----|-----------------------------------
    38 TXT_TopInfos_Flags:            db 'Flag:', 0      ; <-- for Partition Setup
     38TXT_TopInfos_Flags             db 'Flag:', 0      ; <-- for Partition Setup
    3939
    4040; Will be added together to one line, maximum 76 chars
    41 TXT_TimedBootLine:             db 'Tidsbootning aktiverad. Systemet kommer att boota '''
     41TXT_TimedBootLine              db 'Tidsbootning aktiverad. Systemet kommer att boota '''
    4242TXT_TimedBootEntryName         db 12 dup (0)
    43 TXT_TimedBootLine2:            db      ''' om ', 0
    44 TXT_TimedBootSeconds:          db ' sekunder. ', 0
    45 TXT_TimedBootSecond:           db ' sekund. ', 0
     43TXT_TimedBootLine2             db      ''' om ', 0
     44TXT_TimedBootSeconds           db ' sekunder. ', 0
     45TXT_TimedBootSecond            db ' sekund. ', 0
    4646; Maximum 76 chars
    4747;----------------------------------|--------------------------------------------------------------------------|
    48 TXT_TimedBootDisabled:         db 'Tidstyrd bootning avaktiverad; ingen tidsgr„ns kommer att upptr„da.', 0
    49 TXT_BootMenuHelpText1:         db 'Tryck [Esc] f”r att v„xla tidsboot, [Enter] f”r att acceptera aktuellt val.', 0
    50 TXT_BootMenuHelpText2:         db 'V„lj annan med pilarna, eller tryck [TAB] f”r att se BIOS POST meddelande.', 0
     48TXT_TimedBootDisabled          db 'Tidstyrd bootning avaktiverad; ingen tidsgr„ns kommer att upptr„da.', 0
     49TXT_BootMenuHelpText1          db 'Tryck [Esc] f”r att v„xla tidsboot, [Enter] f”r att acceptera aktuellt val.', 0
     50TXT_BootMenuHelpText2          db 'V„lj annan med pilarna, eller tryck [TAB] f”r att se BIOS POST meddelande.', 0
    5151; Maximum 30 chars
    5252;----------------------------------|----------------------------|
     
    5454
    5555; Dynamic Length (till 80 chars)
    56 TXT_BrokenPartitionTable:      db 13, 10, ' - Ditt system har minst en bruten partitionstabellspost eller har din h†rddisk'
     56TXT_BrokenPartitionTable       db 13, 10, ' - Ditt system har minst en bruten partitionstabellspost eller har din h†rddisk'
    5757                               db 13, 10, '   trasiga sektorer. Systemet haltat.', 0
    58 TXT_TooManyPartitions:         db 13, 10, ' - F”r m†nga partitioner hittades. AiR-BOOT st”der endast upp till 45.', 0
    59 TXT_NoBootAble:                db 13, 10, ' - Ingen bootningsbar partition definierad. Systemet haltat.', 0
    60 TXT_BIOSchanged:               db 13, 10, ' - BIOS ŽNDRAT, var v„nlig kontrollera ditt system efter virus, f”r att vara s„ker.'
     58TXT_TooManyPartitions          db 13, 10, ' - F”r m†nga partitioner hittades. AiR-BOOT st”der endast upp till 45.', 0
     59TXT_NoBootAble                 db 13, 10, ' - Ingen bootningsbar partition definierad. Systemet haltat.', 0
     60TXT_BIOSchanged                db 13, 10, ' - BIOS ŽNDRAT, var v„nlig kontrollera ditt system efter virus, f”r att vara s„ker.'
    6161                               db 13, 10, '   Tryck n†gon tangent f”r att forts„tta...', 0
    6262
    63 TXT_VirusFoundMain:            db 13, 10, ' - !VARNING! -> ETT VIRUS HITTADES <- !VARNING!', 13, 10, 0
    64 TXT_VirusFound1ok:             db '    Det f”rst”rdes, men systemet kanske inte bootas om korrekt. Om det intr„ffar,', 13, 10
     63TXT_VirusFoundMain             db 13, 10, ' - !VARNING! -> ETT VIRUS HITTADES <- !VARNING!', 13, 10, 0
     64TXT_VirusFound1ok              db '    Det f”rst”rdes, men systemet kanske inte bootas om korrekt. Om det intr„ffar,', 13, 10
    6565                               db '    anv„nd din AiR-BOOT systemdisk.', 13, 10, 0
    66 TXT_VirusFound1damn:           db '    Olyckligtvis f”rst”rdes AiR-BOOTs backup. Du m†ste boota om genom att anv„nda din', 13, 10
     66TXT_VirusFound1damn            db '    Olyckligtvis f”rst”rdes AiR-BOOTs backup. Du m†ste boota om genom att anv„nda din', 13, 10
    6767                               db '    AiR-BOOT systemdisk.', 13, 10, 0
    68 TXT_VirusFound1any:            db '    F”r s„kerhets skull, b”r du kontrollera din h†rddisk mot ytterligare virus.', 13, 10, 0
    69 TXT_VirusFound2:               db '    Det finns i boot-sektorn hos den partition, som du ville boota.', 13, 10
     68TXT_VirusFound1any             db '    F”r s„kerhets skull, b”r du kontrollera din h†rddisk mot ytterligare virus.', 13, 10, 0
     69TXT_VirusFound2                db '    Det finns i boot-sektorn hos den partition, som du ville boota.', 13, 10
    7070                               db '    Anv„nd ett antivirus program. Det kan vara falskt alarm eller.', 13, 10
    7171                               db '    Efter avl„gsnande, m†ste du initiera om uppt„cktsvariablerna, g† till ', 13, 10
    7272                               db '    ''PARTITION SETUP'' och v„xla VIBR-uppt„ckt tv† g†nger (av/p†).', 13, 10
    7373                               db '    Om det bara var ett falskt alarm, l„mna det i av-l„ge.', 13, 10, 0
    74 TXT_VirusFoundEnd:             db '    Systemet haltat. Var v„nlig tryck RESET.', 0
    75 TXT_HowEnterSetup:             db 13, 10, ' - Tryck och h†ll Ctrl eller Alt f”r att komma till AiR-BOOT Setup.', 0
     74TXT_VirusFoundEnd              db '    Systemet haltat. Var v„nlig tryck RESET.', 0
     75TXT_HowEnterSetup              db 13, 10, ' - Tryck och h†ll Ctrl eller Alt f”r att komma till AiR-BOOT Setup.', 0
    7676
    77 TXT_BootingNow1:               db 'Bootar systemet anv„ndande ', 0
     77TXT_BootingNow1                db 'Bootar systemet anv„ndande ', 0
    7878; DO NOT MODIFY HERE
    79 TXT_BootingNow2:               db '''', 0
    80 TXT_BootingNowPartName:        db 12 dup (0) ; Space for BootThisPart-Name
     79TXT_BootingNow2                db '''', 0
     80TXT_BootingNowPartName         db 12 dup (0) ; Space for BootThisPart-Name
    8181; DO NOT MODIFY TILL HERE
    82 TXT_BootingNowPartition:       db ' partition', 0
    83 TXT_BootingNowKernel:          db ' k„rna', 0
    84 TXT_BootingHide:               db '; d”lj aktiv', 0
    85 TXT_BootingWait:               db '; var v„nlig v„nta...', 13, 10, 13, 10, 0
     82TXT_BootingNowPartition        db ' partition', 0
     83TXT_BootingNowKernel           db ' k„rna', 0
     84TXT_BootingHide                db '; d”lj aktiv', 0
     85TXT_BootingWait                db '; var v„nlig v„nta...', 13, 10, 13, 10, 0
    8686
    8787; FIXED LENGTH - 11 chars each string
    8888;----------------------------------|---------|------------------------------
    89 TXT_Floppy_NoName:             db 'Inget Namn '
    90 TXT_Floppy_Drive:              db 'Diskett    '
    91 TXT_Floppy_NoDisc:             db 'Ingen Disk '
     89TXT_Floppy_NoName              db 'Inget Namn '
     90TXT_Floppy_Drive               db 'Diskett    '
     91TXT_Floppy_NoDisc              db 'Ingen Disk '
    9292
    9393; Maximum 60 chars (should not be reached)
  • trunk/BOOTCODE/TEXT/TXTMBR.ASM

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

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

    r29 r37  
    1 Include TEXT\EN\OTHER.asm
     1Include TEXT/EN/OTHER.ASM       
  • trunk/BOOTCODE/_build.cmd

    r32 r37  
    1 /* REXX */
    2 
    3 date_file = 'BLDDATE.ASM';
    4 
    5 /*
    6 The language to build is passed by the master Makefile.
    7 Supported languages are: EN,DE,FR,SW,IT,NL,RU.
    8 Change lang to 'ALL' to build all language versions.
    9 */
    10 parse arg lang
    11 
    12 if (lang='') then do
    13         lang='EN';
    14 end
    15 
    16 
    17 /* Generate BUILD_DATE.ASM  */
    18 "@echo: BUILD_DATE: db 'Build Date: "||Date()||" at "||Time()||"',0    ; Generated by _build.cmd > "||date_file;
    19 '@CALL MAKEALL.BAT '||lang;
    20 Say '';
    21 Say '';
    22 Say '';
    23 Say '#';
    24 Say '# Language versions are in: RELEASE\BOOTCODE';
    25 Say '# If ALL languages are built the English version is copied to RELEASE\<PLATFORM> as AIRBOOT.BIN';
    26 Say '# If ONE language  is built this Language version is copied to RELEASE\<PLATFORM> as AIRBOOT.BIN';
    27 Say '#';
    28 Say '';
    29 'rem @pause';
    30 
     1@wmake dev
  • trunk/BOOTCODE/_clean.cmd

    r32 r37  
    1 /* REXX */
    2 
    3 '@if exist air-boot.com del air-boot.com';
    4 '@if exist air-boot.obj del air-boot.obj';
    5 '@if exist air-boot.lst del air-boot.lst';
    6 '@if exist air-boot.map del air-boot.map';
    7 '@if exist airboot.bin del airboot.bin';
    8 '@if exist blddate.asm del blddate.asm';
    9 
    10 '@if exist mbr-prot\*.obj del mbr-prot\*.obj';
    11 '@if exist mbr-prot\*.lst del mbr-prot\*.lst';
    12 '@if exist mbr-prot\*.com del mbr-prot\*.com';
    13 '@if exist mbr-prot\*.exe del mbr-prot\*.exe';
    14 
    15 '@if exist ..\RELEASE\BOOTCODE\AIRBT-*.BIN del ..\RELEASE\BOOTCODE\AIRBT-*.BIN';
    16 
    17 '@if exist ..\RELEASE\DOS\AIRBOOT.BIN del ..\RELEASE\DOS\AIRBOOT.BIN';
    18 '@if exist ..\RELEASE\DOS\*.COM del ..\RELEASE\DOS\*.COM';
    19 
    20 '@if exist ..\TOOLS\DOS\INITHDD\*.LST del ..\TOOLS\DOS\INITHDD\*.LST';
    21 
    22 '@if exist ..\INSTALL\DOS\*.LST del ..\INSTALL\DOS\*.LST';
    23 
    24 '@if exist ..\INSTALL\FLOPPY\*.LST del ..\INSTALL\FLOPPY\*.LST';
    25 
    26 '@if exist ..\TOOLS\INTERNAL\*.LST del ..\TOOLS\INTERNAL\*.LST';
    27 '@if exist ..\TOOLS\INTERNAL\*.COM del ..\TOOLS\INTERNAL\*.COM';
    28 
    29 '@if exist ..\RELEASE\OS2\AIRBOOT.BIN del ..\RELEASE\OS2\AIRBOOT.BIN';
    30 '@if exist ..\RELEASE\WINNT\AIRBOOT.BIN del ..\RELEASE\WINNT\AIRBOOT.BIN';
    31 '@if exist ..\RELEASE\LINUX\AIRBOOT.BIN del ..\RELEASE\LINUX\AIRBOOT.BIN';
    32 
     1@wmake clean rmbin
  • trunk/BUILD.NFO

    r32 r37  
    33======================================================
    44
     5Building AiR-BOOT and the support tools has been completely revamped
     6in this version. The code has been "de-tasmized" so it can now also
     7be assembled with JWasm, which is the preferred assembler as of this version.
     8
     9The DOS batch-files have been replaced by Open Watcom Makefiles that
     10can be used on: DOS, Windows, OS/2 and Linux.
     11This greatly enhances the build-environment, which was previously DOS-only.
     12
     13The Open Watcom Linker is now used, which obsoletes the use of the (DOS-only)
     14exe2bin and tlink programs. WLink replaces the functionality of both while
     15also adding extensive cross-platform support.
     16
     17The (DOS-only) FIXCODE.COM program that is used to embed the MBR-protection
     18in the AiR-BOOT image has been replaced by platform specific versions.
     19This does away with the need to run a DOS-only program in the tool-chain,
     20and thus enables building AiR-BOOT on Linux.
     21
     22The preferred assembler is now JWasm.
     23Note however that JWasm/DOS does not work so this environment will use
     24Tasm/DOS. The DOS build-environment will probably be discontinued in
     25the future due to it's many restrictions. DOS specific targets can
     26be built on the other platforms.
     27
     28The Open Watcom tool-chain in combination with JWasm is now the
     29default tool-chain. No syntax or operational compatibility with other
     30assemblers or compilers is attempted.
     31
    532Building AiR-BOOT v1.0.8 requires the following tools:
    6 - Borland Turbo Assembler v4.1 for DOS
    7   (TASM.EXE 136.018 bytes)
    8 - Borland Turbo Linker v4.0 for DOS
    9   (TLINK.EXE 72.585 bytes)
    10 - Caldera Exe2Bin R1.01 for DOS
    11   (EXE2BIN.EXE 9.845 bytes)
    12 - Open Watcom C/C++ v1.9
    13   (Used to build the installer and setaboot etc.)
     33- Open Watcom Make Utility v1.9 or higher
     34- Open Watcom 16-bits C-Compiler v1.9 or higher
     35- Open Watcom 32-bits C-Compiler v1.9 or higher
     36- Open Watcom Linker v1.9 or higher
     37- JWasm Assembler v2.06d
    1438
    15 Put these DOS executables (not Open Watcom) in a directory
    16 and append that directory to the PATH as defined in ?:\AUTOEXEC.BAT.
    17 This will enable DOS sessions to find them when called
    18 by the Rexx build scripts from an OS2 CMD session.
     39As a convenience a simple GNUmakefile also exists where a Makefile exists.
     40The GNUmakefile forwards to the normal Makefile enabing Linux users to run the
     41familiar "make" command. Target passing is supported.
    1942
    2043Note that only the loader, installer and setaboot targets are built.
  • trunk/COPYING

    r32 r37  
    1                     GNU GENERAL PUBLIC LICENSE
    2                        Version 2, June 1991
    3 
    4  Copyright (C) 1989, 1991 Free Software Foundation, Inc.
    5                           675 Mass Ave, Cambridge, MA 02139, USA
     1                    GNU GENERAL PUBLIC LICENSE
     2                       Version 3, 29 June 2007
     3
     4 Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
    65 Everyone is permitted to copy and distribute verbatim copies
    76 of this license document, but changing it is not allowed.
    87
    9                             Preamble
    10 
    11   The licenses for most software are designed to take away your
    12 freedom to share and change it.  By contrast, the GNU General Public
    13 License is intended to guarantee your freedom to share and change free
    14 software--to make sure the software is free for all its users.  This
    15 General Public License applies to most of the Free Software
    16 Foundation's software and to any other program whose authors commit to
    17 using it.  (Some other Free Software Foundation software is covered by
    18 the GNU Library General Public License instead.)  You can apply it to
     8                            Preamble
     9
     10  The GNU General Public License is a free, copyleft license for
     11software and other kinds of works.
     12
     13  The licenses for most software and other practical works are designed
     14to take away your freedom to share and change the works.  By contrast,
     15the GNU General Public License is intended to guarantee your freedom to
     16share and change all versions of a program--to make sure it remains free
     17software for all its users.  We, the Free Software Foundation, use the
     18GNU General Public License for most of our software; it applies also to
     19any other work released this way by its authors.  You can apply it to
    1920your programs, too.
    2021
     
    2223price.  Our General Public Licenses are designed to make sure that you
    2324have the freedom to distribute copies of free software (and charge for
    24 this service if you wish), that you receive source code or can get it
    25 if you want it, that you can change the software or use pieces of it
    26 in new free programs; and that you know you can do these things.
    27 
    28   To protect your rights, we need to make restrictions that forbid
    29 anyone to deny you these rights or to ask you to surrender the rights.
    30 These restrictions translate to certain responsibilities for you if you
    31 distribute copies of the software, or if you modify it.
     25them if you wish), that you receive source code or can get it if you
     26want it, that you can change the software or use pieces of it in new
     27free programs, and that you know you can do these things.
     28
     29  To protect your rights, we need to prevent others from denying you
     30these rights or asking you to surrender the rights.  Therefore, you have
     31certain responsibilities if you distribute copies of the software, or if
     32you modify it: responsibilities to respect the freedom of others.
    3233
    3334  For example, if you distribute copies of such a program, whether
    34 gratis or for a fee, you must give the recipients all the rights that
    35 you have.  You must make sure that they, too, receive or can get the
    36 source code.  And you must show them these terms so they know their
    37 rights.
    38 
    39   We protect your rights with two steps: (1) copyright the software, and
    40 (2) offer you this license which gives you legal permission to copy,
    41 distribute and/or modify the software.
    42 
    43   Also, for each author's protection and ours, we want to make certain
    44 that everyone understands that there is no warranty for this free
    45 software.  If the software is modified by someone else and passed on, we
    46 want its recipients to know that what they have is not the original, so
    47 that any problems introduced by others will not reflect on the original
    48 authors' reputations.
    49 
    50   Finally, any free program is threatened constantly by software
    51 patents.  We wish to avoid the danger that redistributors of a free
    52 program will individually obtain patent licenses, in effect making the
    53 program proprietary.  To prevent this, we have made it clear that any
    54 patent must be licensed for everyone's free use or not licensed at all.
     35gratis or for a fee, you must pass on to the recipients the same
     36freedoms that you received.  You must make sure that they, too, receive
     37or can get the source code.  And you must show them these terms so they
     38know their rights.
     39
     40  Developers that use the GNU GPL protect your rights with two steps:
     41(1) assert copyright on the software, and (2) offer you this License
     42giving you legal permission to copy, distribute and/or modify it.
     43
     44  For the developers' and authors' protection, the GPL clearly explains
     45that there is no warranty for this free software.  For both users' and
     46authors' sake, the GPL requires that modified versions be marked as
     47changed, so that their problems will not be attributed erroneously to
     48authors of previous versions.
     49
     50  Some devices are designed to deny users access to install or run
     51modified versions of the software inside them, although the manufacturer
     52can do so.  This is fundamentally incompatible with the aim of
     53protecting users' freedom to change the software.  The systematic
     54pattern of such abuse occurs in the area of products for individuals to
     55use, which is precisely where it is most unacceptable.  Therefore, we
     56have designed this version of the GPL to prohibit the practice for those
     57products.  If such problems arise substantially in other domains, we
     58stand ready to extend this provision to those domains in future versions
     59of the GPL, as needed to protect the freedom of users.
     60
     61  Finally, every program is threatened constantly by software patents.
     62States should not allow patents to restrict development and use of
     63software on general-purpose computers, but in those that do, we wish to
     64avoid the special danger that patents applied to a free program could
     65make it effectively proprietary.  To prevent this, the GPL assures that
     66patents cannot be used to render the program non-free.
    5567
    5668  The precise terms and conditions for copying, distribution and
    5769modification follow.
    5870
    59 
    60                     GNU GENERAL PUBLIC LICENSE
    61    TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
    62 
    63   0. This License applies to any program or other work which contains
    64 a notice placed by the copyright holder saying it may be distributed
    65 under the terms of this General Public License.  The "Program", below,
    66 refers to any such program or work, and a "work based on the Program"
    67 means either the Program or any derivative work under copyright law:
    68 that is to say, a work containing the Program or a portion of it,
    69 either verbatim or with modifications and/or translated into another
    70 language.  (Hereinafter, translation is included without limitation in
    71 the term "modification".)  Each licensee is addressed as "you".
    72 
    73 Activities other than copying, distribution and modification are not
    74 covered by this License; they are outside its scope.  The act of
    75 running the Program is not restricted, and the output from the Program
    76 is covered only if its contents constitute a work based on the
    77 Program (independent of having been made by running the Program).
    78 Whether that is true depends on what the Program does.
    79 
    80   1. You may copy and distribute verbatim copies of the Program's
    81 source code as you receive it, in any medium, provided that you
    82 conspicuously and appropriately publish on each copy an appropriate
    83 copyright notice and disclaimer of warranty; keep intact all the
    84 notices that refer to this License and to the absence of any warranty;
    85 and give any other recipients of the Program a copy of this License
    86 along with the Program.
    87 
    88 You may charge a fee for the physical act of transferring a copy, and
    89 you may at your option offer warranty protection in exchange for a fee.
    90 
    91   2. You may modify your copy or copies of the Program or any portion
    92 of it, thus forming a work based on the Program, and copy and
    93 distribute such modifications or work under the terms of Section 1
    94 above, provided that you also meet all of these conditions:
    95 
    96     a) You must cause the modified files to carry prominent notices
    97     stating that you changed the files and the date of any change.
    98 
    99     b) You must cause any work that you distribute or publish, that in
    100     whole or in part contains or is derived from the Program or any
    101     part thereof, to be licensed as a whole at no charge to all third
    102     parties under the terms of this License.
    103 
    104     c) If the modified program normally reads commands interactively
    105     when run, you must cause it, when started running for such
    106     interactive use in the most ordinary way, to print or display an
    107     announcement including an appropriate copyright notice and a
    108     notice that there is no warranty (or else, saying that you provide
    109     a warranty) and that users may redistribute the program under
    110     these conditions, and telling the user how to view a copy of this
    111     License.  (Exception: if the Program itself is interactive but
    112     does not normally print such an announcement, your work based on
    113     the Program is not required to print an announcement.)
    114 
    115 
    116 These requirements apply to the modified work as a whole.  If
    117 identifiable sections of that work are not derived from the Program,
    118 and can be reasonably considered independent and separate works in
    119 themselves, then this License, and its terms, do not apply to those
    120 sections when you distribute them as separate works.  But when you
    121 distribute the same sections as part of a whole which is a work based
    122 on the Program, the distribution of the whole must be on the terms of
    123 this License, whose permissions for other licensees extend to the
    124 entire whole, and thus to each and every part regardless of who wrote it.
    125 
    126 Thus, it is not the intent of this section to claim rights or contest
    127 your rights to work written entirely by you; rather, the intent is to
    128 exercise the right to control the distribution of derivative or
    129 collective works based on the Program.
    130 
    131 In addition, mere aggregation of another work not based on the Program
    132 with the Program (or with a work based on the Program) on a volume of
    133 a storage or distribution medium does not bring the other work under
    134 the scope of this License.
    135 
    136   3. You may copy and distribute the Program (or a work based on it,
    137 under Section 2) in object code or executable form under the terms of
    138 Sections 1 and 2 above provided that you also do one of the following:
    139 
    140     a) Accompany it with the complete corresponding machine-readable
    141     source code, which must be distributed under the terms of Sections
    142     1 and 2 above on a medium customarily used for software interchange; or,
    143 
    144     b) Accompany it with a written offer, valid for at least three
    145     years, to give any third party, for a charge no more than your
    146     cost of physically performing source distribution, a complete
    147     machine-readable copy of the corresponding source code, to be
    148     distributed under the terms of Sections 1 and 2 above on a medium
    149     customarily used for software interchange; or,
    150 
    151     c) Accompany it with the information you received as to the offer
    152     to distribute corresponding source code.  (This alternative is
    153     allowed only for noncommercial distribution and only if you
    154     received the program in object code or executable form with such
    155     an offer, in accord with Subsection b above.)
    156 
    157 The source code for a work means the preferred form of the work for
    158 making modifications to it.  For an executable work, complete source
    159 code means all the source code for all modules it contains, plus any
    160 associated interface definition files, plus the scripts used to
    161 control compilation and installation of the executable.  However, as a
    162 special exception, the source code distributed need not include
    163 anything that is normally distributed (in either source or binary
    164 form) with the major components (compiler, kernel, and so on) of the
    165 operating system on which the executable runs, unless that component
    166 itself accompanies the executable.
    167 
    168 If distribution of executable or object code is made by offering
    169 access to copy from a designated place, then offering equivalent
    170 access to copy the source code from the same place counts as
    171 distribution of the source code, even though third parties are not
    172 compelled to copy the source along with the object code.
    173 
    174 
    175   4. You may not copy, modify, sublicense, or distribute the Program
    176 except as expressly provided under this License.  Any attempt
    177 otherwise to copy, modify, sublicense or distribute the Program is
    178 void, and will automatically terminate your rights under this License.
    179 However, parties who have received copies, or rights, from you under
    180 this License will not have their licenses terminated so long as such
    181 parties remain in full compliance.
    182 
    183   5. You are not required to accept this License, since you have not
    184 signed it.  However, nothing else grants you permission to modify or
    185 distribute the Program or its derivative works.  These actions are
    186 prohibited by law if you do not accept this License.  Therefore, by
    187 modifying or distributing the Program (or any work based on the
    188 Program), you indicate your acceptance of this License to do so, and
    189 all its terms and conditions for copying, distributing or modifying
    190 the Program or works based on it.
    191 
    192   6. Each time you redistribute the Program (or any work based on the
    193 Program), the recipient automatically receives a license from the
    194 original licensor to copy, distribute or modify the Program subject to
    195 these terms and conditions.  You may not impose any further
    196 restrictions on the recipients' exercise of the rights granted herein.
    197 You are not responsible for enforcing compliance by third parties to
     71                       TERMS AND CONDITIONS
     72
     73  0. Definitions.
     74
     75  "This License" refers to version 3 of the GNU General Public License.
     76
     77  "Copyright" also means copyright-like laws that apply to other kinds of
     78works, such as semiconductor masks.
     79
     80  "The Program" refers to any copyrightable work licensed under this
     81License.  Each licensee is addressed as "you".  "Licensees" and
     82"recipients" may be individuals or organizations.
     83
     84  To "modify" a work means to copy from or adapt all or part of the work
     85in a fashion requiring copyright permission, other than the making of an
     86exact copy.  The resulting work is called a "modified version" of the
     87earlier work or a work "based on" the earlier work.
     88
     89  A "covered work" means either the unmodified Program or a work based
     90on the Program.
     91
     92  To "propagate" a work means to do anything with it that, without
     93permission, would make you directly or secondarily liable for
     94infringement under applicable copyright law, except executing it on a
     95computer or modifying a private copy.  Propagation includes copying,
     96distribution (with or without modification), making available to the
     97public, and in some countries other activities as well.
     98
     99  To "convey" a work means any kind of propagation that enables other
     100parties to make or receive copies.  Mere interaction with a user through
     101a computer network, with no transfer of a copy, is not conveying.
     102
     103  An interactive user interface displays "Appropriate Legal Notices"
     104to the extent that it includes a convenient and prominently visible
     105feature that (1) displays an appropriate copyright notice, and (2)
     106tells the user that there is no warranty for the work (except to the
     107extent that warranties are provided), that licensees may convey the
     108work under this License, and how to view a copy of this License.  If
     109the interface presents a list of user commands or options, such as a
     110menu, a prominent item in the list meets this criterion.
     111
     112  1. Source Code.
     113
     114  The "source code" for a work means the preferred form of the work
     115for making modifications to it.  "Object code" means any non-source
     116form of a work.
     117
     118  A "Standard Interface" means an interface that either is an official
     119standard defined by a recognized standards body, or, in the case of
     120interfaces specified for a particular programming language, one that
     121is widely used among developers working in that language.
     122
     123  The "System Libraries" of an executable work include anything, other
     124than the work as a whole, that (a) is included in the normal form of
     125packaging a Major Component, but which is not part of that Major
     126Component, and (b) serves only to enable use of the work with that
     127Major Component, or to implement a Standard Interface for which an
     128implementation is available to the public in source code form.  A
     129"Major Component", in this context, means a major essential component
     130(kernel, window system, and so on) of the specific operating system
     131(if any) on which the executable work runs, or a compiler used to
     132produce the work, or an object code interpreter used to run it.
     133
     134  The "Corresponding Source" for a work in object code form means all
     135the source code needed to generate, install, and (for an executable
     136work) run the object code and to modify the work, including scripts to
     137control those activities.  However, it does not include the work's
     138System Libraries, or general-purpose tools or generally available free
     139programs which are used unmodified in performing those activities but
     140which are not part of the work.  For example, Corresponding Source
     141includes interface definition files associated with source files for
     142the work, and the source code for shared libraries and dynamically
     143linked subprograms that the work is specifically designed to require,
     144such as by intimate data communication or control flow between those
     145subprograms and other parts of the work.
     146
     147  The Corresponding Source need not include anything that users
     148can regenerate automatically from other parts of the Corresponding
     149Source.
     150
     151  The Corresponding Source for a work in source code form is that
     152same work.
     153
     154  2. Basic Permissions.
     155
     156  All rights granted under this License are granted for the term of
     157copyright on the Program, and are irrevocable provided the stated
     158conditions are met.  This License explicitly affirms your unlimited
     159permission to run the unmodified Program.  The output from running a
     160covered work is covered by this License only if the output, given its
     161content, constitutes a covered work.  This License acknowledges your
     162rights of fair use or other equivalent, as provided by copyright law.
     163
     164  You may make, run and propagate covered works that you do not
     165convey, without conditions so long as your license otherwise remains
     166in force.  You may convey covered works to others for the sole purpose
     167of having them make modifications exclusively for you, or provide you
     168with facilities for running those works, provided that you comply with
     169the terms of this License in conveying all material for which you do
     170not control copyright.  Those thus making or running the covered works
     171for you must do so exclusively on your behalf, under your direction
     172and control, on terms that prohibit them from making any copies of
     173your copyrighted material outside their relationship with you.
     174
     175  Conveying under any other circumstances is permitted solely under
     176the conditions stated below.  Sublicensing is not allowed; section 10
     177makes it unnecessary.
     178
     179  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
     180
     181  No covered work shall be deemed part of an effective technological
     182measure under any applicable law fulfilling obligations under article
     18311 of the WIPO copyright treaty adopted on 20 December 1996, or
     184similar laws prohibiting or restricting circumvention of such
     185measures.
     186
     187  When you convey a covered work, you waive any legal power to forbid
     188circumvention of technological measures to the extent such circumvention
     189is effected by exercising rights under this License with respect to
     190the covered work, and you disclaim any intention to limit operation or
     191modification of the work as a means of enforcing, against the work's
     192users, your or third parties' legal rights to forbid circumvention of
     193technological measures.
     194
     195  4. Conveying Verbatim Copies.
     196
     197  You may convey verbatim copies of the Program's source code as you
     198receive it, in any medium, provided that you conspicuously and
     199appropriately publish on each copy an appropriate copyright notice;
     200keep intact all notices stating that this License and any
     201non-permissive terms added in accord with section 7 apply to the code;
     202keep intact all notices of the absence of any warranty; and give all
     203recipients a copy of this License along with the Program.
     204
     205  You may charge any price or no price for each copy that you convey,
     206and you may offer support or warranty protection for a fee.
     207
     208  5. Conveying Modified Source Versions.
     209
     210  You may convey a work based on the Program, or the modifications to
     211produce it from the Program, in the form of source code under the
     212terms of section 4, provided that you also meet all of these conditions:
     213
     214    a) The work must carry prominent notices stating that you modified
     215    it, and giving a relevant date.
     216
     217    b) The work must carry prominent notices stating that it is
     218    released under this License and any conditions added under section
     219    7.  This requirement modifies the requirement in section 4 to
     220    "keep intact all notices".
     221
     222    c) You must license the entire work, as a whole, under this
     223    License to anyone who comes into possession of a copy.  This
     224    License will therefore apply, along with any applicable section 7
     225    additional terms, to the whole of the work, and all its parts,
     226    regardless of how they are packaged.  This License gives no
     227    permission to license the work in any other way, but it does not
     228    invalidate such permission if you have separately received it.
     229
     230    d) If the work has interactive user interfaces, each must display
     231    Appropriate Legal Notices; however, if the Program has interactive
     232    interfaces that do not display Appropriate Legal Notices, your
     233    work need not make them do so.
     234
     235  A compilation of a covered work with other separate and independent
     236works, which are not by their nature extensions of the covered work,
     237and which are not combined with it such as to form a larger program,
     238in or on a volume of a storage or distribution medium, is called an
     239"aggregate" if the compilation and its resulting copyright are not
     240used to limit the access or legal rights of the compilation's users
     241beyond what the individual works permit.  Inclusion of a covered work
     242in an aggregate does not cause this License to apply to the other
     243parts of the aggregate.
     244
     245  6. Conveying Non-Source Forms.
     246
     247  You may convey a covered work in object code form under the terms
     248of sections 4 and 5, provided that you also convey the
     249machine-readable Corresponding Source under the terms of this License,
     250in one of these ways:
     251
     252    a) Convey the object code in, or embodied in, a physical product
     253    (including a physical distribution medium), accompanied by the
     254    Corresponding Source fixed on a durable physical medium
     255    customarily used for software interchange.
     256
     257    b) Convey the object code in, or embodied in, a physical product
     258    (including a physical distribution medium), accompanied by a
     259    written offer, valid for at least three years and valid for as
     260    long as you offer spare parts or customer support for that product
     261    model, to give anyone who possesses the object code either (1) a
     262    copy of the Corresponding Source for all the software in the
     263    product that is covered by this License, on a durable physical
     264    medium customarily used for software interchange, for a price no
     265    more than your reasonable cost of physically performing this
     266    conveying of source, or (2) access to copy the
     267    Corresponding Source from a network server at no charge.
     268
     269    c) Convey individual copies of the object code with a copy of the
     270    written offer to provide the Corresponding Source.  This
     271    alternative is allowed only occasionally and noncommercially, and
     272    only if you received the object code with such an offer, in accord
     273    with subsection 6b.
     274
     275    d) Convey the object code by offering access from a designated
     276    place (gratis or for a charge), and offer equivalent access to the
     277    Corresponding Source in the same way through the same place at no
     278    further charge.  You need not require recipients to copy the
     279    Corresponding Source along with the object code.  If the place to
     280    copy the object code is a network server, the Corresponding Source
     281    may be on a different server (operated by you or a third party)
     282    that supports equivalent copying facilities, provided you maintain
     283    clear directions next to the object code saying where to find the
     284    Corresponding Source.  Regardless of what server hosts the
     285    Corresponding Source, you remain obligated to ensure that it is
     286    available for as long as needed to satisfy these requirements.
     287
     288    e) Convey the object code using peer-to-peer transmission, provided
     289    you inform other peers where the object code and Corresponding
     290    Source of the work are being offered to the general public at no
     291    charge under subsection 6d.
     292
     293  A separable portion of the object code, whose source code is excluded
     294from the Corresponding Source as a System Library, need not be
     295included in conveying the object code work.
     296
     297  A "User Product" is either (1) a "consumer product", which means any
     298tangible personal property which is normally used for personal, family,
     299or household purposes, or (2) anything designed or sold for incorporation
     300into a dwelling.  In determining whether a product is a consumer product,
     301doubtful cases shall be resolved in favor of coverage.  For a particular
     302product received by a particular user, "normally used" refers to a
     303typical or common use of that class of product, regardless of the status
     304of the particular user or of the way in which the particular user
     305actually uses, or expects or is expected to use, the product.  A product
     306is a consumer product regardless of whether the product has substantial
     307commercial, industrial or non-consumer uses, unless such uses represent
     308the only significant mode of use of the product.
     309
     310  "Installation Information" for a User Product means any methods,
     311procedures, authorization keys, or other information required to install
     312and execute modified versions of a covered work in that User Product from
     313a modified version of its Corresponding Source.  The information must
     314suffice to ensure that the continued functioning of the modified object
     315code is in no case prevented or interfered with solely because
     316modification has been made.
     317
     318  If you convey an object code work under this section in, or with, or
     319specifically for use in, a User Product, and the conveying occurs as
     320part of a transaction in which the right of possession and use of the
     321User Product is transferred to the recipient in perpetuity or for a
     322fixed term (regardless of how the transaction is characterized), the
     323Corresponding Source conveyed under this section must be accompanied
     324by the Installation Information.  But this requirement does not apply
     325if neither you nor any third party retains the ability to install
     326modified object code on the User Product (for example, the work has
     327been installed in ROM).
     328
     329  The requirement to provide Installation Information does not include a
     330requirement to continue to provide support service, warranty, or updates
     331for a work that has been modified or installed by the recipient, or for
     332the User Product in which it has been modified or installed.  Access to a
     333network may be denied when the modification itself materially and
     334adversely affects the operation of the network or violates the rules and
     335protocols for communication across the network.
     336
     337  Corresponding Source conveyed, and Installation Information provided,
     338in accord with this section must be in a format that is publicly
     339documented (and with an implementation available to the public in
     340source code form), and must require no special password or key for
     341unpacking, reading or copying.
     342
     343  7. Additional Terms.
     344
     345  "Additional permissions" are terms that supplement the terms of this
     346License by making exceptions from one or more of its conditions.
     347Additional permissions that are applicable to the entire Program shall
     348be treated as though they were included in this License, to the extent
     349that they are valid under applicable law.  If additional permissions
     350apply only to part of the Program, that part may be used separately
     351under those permissions, but the entire Program remains governed by
     352this License without regard to the additional permissions.
     353
     354  When you convey a copy of a covered work, you may at your option
     355remove any additional permissions from that copy, or from any part of
     356it.  (Additional permissions may be written to require their own
     357removal in certain cases when you modify the work.)  You may place
     358additional permissions on material, added by you to a covered work,
     359for which you have or can give appropriate copyright permission.
     360
     361  Notwithstanding any other provision of this License, for material you
     362add to a covered work, you may (if authorized by the copyright holders of
     363that material) supplement the terms of this License with terms:
     364
     365    a) Disclaiming warranty or limiting liability differently from the
     366    terms of sections 15 and 16 of this License; or
     367
     368    b) Requiring preservation of specified reasonable legal notices or
     369    author attributions in that material or in the Appropriate Legal
     370    Notices displayed by works containing it; or
     371
     372    c) Prohibiting misrepresentation of the origin of that material, or
     373    requiring that modified versions of such material be marked in
     374    reasonable ways as different from the original version; or
     375
     376    d) Limiting the use for publicity purposes of names of licensors or
     377    authors of the material; or
     378
     379    e) Declining to grant rights under trademark law for use of some
     380    trade names, trademarks, or service marks; or
     381
     382    f) Requiring indemnification of licensors and authors of that
     383    material by anyone who conveys the material (or modified versions of
     384    it) with contractual assumptions of liability to the recipient, for
     385    any liability that these contractual assumptions directly impose on
     386    those licensors and authors.
     387
     388  All other non-permissive additional terms are considered "further
     389restrictions" within the meaning of section 10.  If the Program as you
     390received it, or any part of it, contains a notice stating that it is
     391governed by this License along with a term that is a further
     392restriction, you may remove that term.  If a license document contains
     393a further restriction but permits relicensing or conveying under this
     394License, you may add to a covered work material governed by the terms
     395of that license document, provided that the further restriction does
     396not survive such relicensing or conveying.
     397
     398  If you add terms to a covered work in accord with this section, you
     399must place, in the relevant source files, a statement of the
     400additional terms that apply to those files, or a notice indicating
     401where to find the applicable terms.
     402
     403  Additional terms, permissive or non-permissive, may be stated in the
     404form of a separately written license, or stated as exceptions;
     405the above requirements apply either way.
     406
     407  8. Termination.
     408
     409  You may not propagate or modify a covered work except as expressly
     410provided under this License.  Any attempt otherwise to propagate or
     411modify it is void, and will automatically terminate your rights under
     412this License (including any patent licenses granted under the third
     413paragraph of section 11).
     414
     415  However, if you cease all violation of this License, then your
     416license from a particular copyright holder is reinstated (a)
     417provisionally, unless and until the copyright holder explicitly and
     418finally terminates your license, and (b) permanently, if the copyright
     419holder fails to notify you of the violation by some reasonable means
     420prior to 60 days after the cessation.
     421
     422  Moreover, your license from a particular copyright holder is
     423reinstated permanently if the copyright holder notifies you of the
     424violation by some reasonable means, this is the first time you have
     425received notice of violation of this License (for any work) from that
     426copyright holder, and you cure the violation prior to 30 days after
     427your receipt of the notice.
     428
     429  Termination of your rights under this section does not terminate the
     430licenses of parties who have received copies or rights from you under
     431this License.  If your rights have been terminated and not permanently
     432reinstated, you do not qualify to receive new licenses for the same
     433material under section 10.
     434
     435  9. Acceptance Not Required for Having Copies.
     436
     437  You are not required to accept this License in order to receive or
     438run a copy of the Program.  Ancillary propagation of a covered work
     439occurring solely as a consequence of using peer-to-peer transmission
     440to receive a copy likewise does not require acceptance.  However,
     441nothing other than this License grants you permission to propagate or
     442modify any covered work.  These actions infringe copyright if you do
     443not accept this License.  Therefore, by modifying or propagating a
     444covered work, you indicate your acceptance of this License to do so.
     445
     446  10. Automatic Licensing of Downstream Recipients.
     447
     448  Each time you convey a covered work, the recipient automatically
     449receives a license from the original licensors, to run, modify and
     450propagate that work, subject to this License.  You are not responsible
     451for enforcing compliance by third parties with this License.
     452
     453  An "entity transaction" is a transaction transferring control of an
     454organization, or substantially all assets of one, or subdividing an
     455organization, or merging organizations.  If propagation of a covered
     456work results from an entity transaction, each party to that
     457transaction who receives a copy of the work also receives whatever
     458licenses to the work the party's predecessor in interest had or could
     459give under the previous paragraph, plus a right to possession of the
     460Corresponding Source of the work from the predecessor in interest, if
     461the predecessor has it or can get it with reasonable efforts.
     462
     463  You may not impose any further restrictions on the exercise of the
     464rights granted or affirmed under this License.  For example, you may
     465not impose a license fee, royalty, or other charge for exercise of
     466rights granted under this License, and you may not initiate litigation
     467(including a cross-claim or counterclaim in a lawsuit) alleging that
     468any patent claim is infringed by making, using, selling, offering for
     469sale, or importing the Program or any portion of it.
     470
     471  11. Patents.
     472
     473  A "contributor" is a copyright holder who authorizes use under this
     474License of the Program or a work on which the Program is based.  The
     475work thus licensed is called the contributor's "contributor version".
     476
     477  A contributor's "essential patent claims" are all patent claims
     478owned or controlled by the contributor, whether already acquired or
     479hereafter acquired, that would be infringed by some manner, permitted
     480by this License, of making, using, or selling its contributor version,
     481but do not include claims that would be infringed only as a
     482consequence of further modification of the contributor version.  For
     483purposes of this definition, "control" includes the right to grant
     484patent sublicenses in a manner consistent with the requirements of
    198485this License.
    199486
    200   7. If, as a consequence of a court judgment or allegation of patent
    201 infringement or for any other reason (not limited to patent issues),
    202 conditions are imposed on you (whether by court order, agreement or
     487  Each contributor grants you a non-exclusive, worldwide, royalty-free
     488patent license under the contributor's essential patent claims, to
     489make, use, sell, offer for sale, import and otherwise run, modify and
     490propagate the contents of its contributor version.
     491
     492  In the following three paragraphs, a "patent license" is any express
     493agreement or commitment, however denominated, not to enforce a patent
     494(such as an express permission to practice a patent or covenant not to
     495sue for patent infringement).  To "grant" such a patent license to a
     496party means to make such an agreement or commitment not to enforce a
     497patent against the party.
     498
     499  If you convey a covered work, knowingly relying on a patent license,
     500and the Corresponding Source of the work is not available for anyone
     501to copy, free of charge and under the terms of this License, through a
     502publicly available network server or other readily accessible means,
     503then you must either (1) cause the Corresponding Source to be so
     504available, or (2) arrange to deprive yourself of the benefit of the
     505patent license for this particular work, or (3) arrange, in a manner
     506consistent with the requirements of this License, to extend the patent
     507license to downstream recipients.  "Knowingly relying" means you have
     508actual knowledge that, but for the patent license, your conveying the
     509covered work in a country, or your recipient's use of the covered work
     510in a country, would infringe one or more identifiable patents in that
     511country that you have reason to believe are valid.
     512
     513  If, pursuant to or in connection with a single transaction or
     514arrangement, you convey, or propagate by procuring conveyance of, a
     515covered work, and grant a patent license to some of the parties
     516receiving the covered work authorizing them to use, propagate, modify
     517or convey a specific copy of the covered work, then the patent license
     518you grant is automatically extended to all recipients of the covered
     519work and works based on it.
     520
     521  A patent license is "discriminatory" if it does not include within
     522the scope of its coverage, prohibits the exercise of, or is
     523conditioned on the non-exercise of one or more of the rights that are
     524specifically granted under this License.  You may not convey a covered
     525work if you are a party to an arrangement with a third party that is
     526in the business of distributing software, under which you make payment
     527to the third party based on the extent of your activity of conveying
     528the work, and under which the third party grants, to any of the
     529parties who would receive the covered work from you, a discriminatory
     530patent license (a) in connection with copies of the covered work
     531conveyed by you (or copies made from those copies), or (b) primarily
     532for and in connection with specific products or compilations that
     533contain the covered work, unless you entered into that arrangement,
     534or that patent license was granted, prior to 28 March 2007.
     535
     536  Nothing in this License shall be construed as excluding or limiting
     537any implied license or other defenses to infringement that may
     538otherwise be available to you under applicable patent law.
     539
     540  12. No Surrender of Others' Freedom.
     541
     542  If conditions are imposed on you (whether by court order, agreement or
    203543otherwise) that contradict the conditions of this License, they do not
    204 excuse you from the conditions of this License.  If you cannot
    205 distribute so as to satisfy simultaneously your obligations under this
    206 License and any other pertinent obligations, then as a consequence you
    207 may not distribute the Program at all.  For example, if a patent
    208 license would not permit royalty-free redistribution of the Program by
    209 all those who receive copies directly or indirectly through you, then
    210 the only way you could satisfy both it and this License would be to
    211 refrain entirely from distribution of the Program.
    212 
    213 If any portion of this section is held invalid or unenforceable under
    214 any particular circumstance, the balance of the section is intended to
    215 apply and the section as a whole is intended to apply in other
    216 circumstances.
    217 
    218 It is not the purpose of this section to induce you to infringe any
    219 patents or other property right claims or to contest validity of any
    220 such claims; this section has the sole purpose of protecting the
    221 integrity of the free software distribution system, which is
    222 implemented by public license practices.  Many people have made
    223 generous contributions to the wide range of software distributed
    224 through that system in reliance on consistent application of that
    225 system; it is up to the author/donor to decide if he or she is willing
    226 to distribute software through any other system and a licensee cannot
    227 impose that choice.
    228 
    229 This section is intended to make thoroughly clear what is believed to
    230 be a consequence of the rest of this License.
    231 
    232 
    233   8. If the distribution and/or use of the Program is restricted in
    234 certain countries either by patents or by copyrighted interfaces, the
    235 original copyright holder who places the Program under this License
    236 may add an explicit geographical distribution limitation excluding
    237 those countries, so that distribution is permitted only in or among
    238 countries not thus excluded.  In such case, this License incorporates
    239 the limitation as if written in the body of this License.
    240 
    241   9. The Free Software Foundation may publish revised and/or new versions
    242 of the General Public License from time to time.  Such new versions will
     544excuse you from the conditions of this License.  If you cannot convey a
     545covered work so as to satisfy simultaneously your obligations under this
     546License and any other pertinent obligations, then as a consequence you may
     547not convey it at all.  For example, if you agree to terms that obligate you
     548to collect a royalty for further conveying from those to whom you convey
     549the Program, the only way you could satisfy both those terms and this
     550License would be to refrain entirely from conveying the Program.
     551
     552  13. Use with the GNU Affero General Public License.
     553
     554  Notwithstanding any other provision of this License, you have
     555permission to link or combine any covered work with a work licensed
     556under version 3 of the GNU Affero General Public License into a single
     557combined work, and to convey the resulting work.  The terms of this
     558License will continue to apply to the part which is the covered work,
     559but the special requirements of the GNU Affero General Public License,
     560section 13, concerning interaction through a network will apply to the
     561combination as such.
     562
     563  14. Revised Versions of this License.
     564
     565  The Free Software Foundation may publish revised and/or new versions of
     566the GNU General Public License from time to time.  Such new versions will
    243567be similar in spirit to the present version, but may differ in detail to
    244568address new problems or concerns.
    245569
    246 Each version is given a distinguishing version number.  If the Program
    247 specifies a version number of this License which applies to it and "any
    248 later version", you have the option of following the terms and conditions
    249 either of that version or of any later version published by the Free
    250 Software Foundation.  If the Program does not specify a version number of
    251 this License, you may choose any version ever published by the Free Software
    252 Foundation.
    253 
    254   10. If you wish to incorporate parts of the Program into other free
    255 programs whose distribution conditions are different, write to the author
    256 to ask for permission.  For software which is copyrighted by the Free
    257 Software Foundation, write to the Free Software Foundation; we sometimes
    258 make exceptions for this.  Our decision will be guided by the two goals
    259 of preserving the free status of all derivatives of our free software and
    260 of promoting the sharing and reuse of software generally.
    261 
    262                             NO WARRANTY
    263 
    264   11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
    265 FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
    266 OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
    267 PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
    268 OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
    269 MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
    270 TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
    271 PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
    272 REPAIR OR CORRECTION.
    273 
    274   12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
    275 WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
    276 REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
    277 INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
    278 OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
    279 TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
    280 YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
    281 PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
    282 POSSIBILITY OF SUCH DAMAGES.
    283 
    284                      END OF TERMS AND CONDITIONS
    285 
    286 
    287         Appendix: How to Apply These Terms to Your New Programs
     570  Each version is given a distinguishing version number.  If the
     571Program specifies that a certain numbered version of the GNU General
     572Public License "or any later version" applies to it, you have the
     573option of following the terms and conditions either of that numbered
     574version or of any later version published by the Free Software
     575Foundation.  If the Program does not specify a version number of the
     576GNU General Public License, you may choose any version ever published
     577by the Free Software Foundation.
     578
     579  If the Program specifies that a proxy can decide which future
     580versions of the GNU General Public License can be used, that proxy's
     581public statement of acceptance of a version permanently authorizes you
     582to choose that version for the Program.
     583
     584  Later license versions may give you additional or different
     585permissions.  However, no additional obligations are imposed on any
     586author or copyright holder as a result of your choosing to follow a
     587later version.
     588
     589  15. Disclaimer of Warranty.
     590
     591  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
     592APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
     593HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
     594OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
     595THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     596PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
     597IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
     598ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
     599
     600  16. Limitation of Liability.
     601
     602  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
     603WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
     604THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
     605GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
     606USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
     607DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
     608PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
     609EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
     610SUCH DAMAGES.
     611
     612  17. Interpretation of Sections 15 and 16.
     613
     614  If the disclaimer of warranty and limitation of liability provided
     615above cannot be given local legal effect according to their terms,
     616reviewing courts shall apply local law that most closely approximates
     617an absolute waiver of all civil liability in connection with the
     618Program, unless a warranty or assumption of liability accompanies a
     619copy of the Program in return for a fee.
     620
     621                     END OF TERMS AND CONDITIONS
     622
     623            How to Apply These Terms to Your New Programs
    288624
    289625  If you develop a new program, and you want it to be of the greatest
     
    293629  To do so, attach the following notices to the program.  It is safest
    294630to attach them to the start of each source file to most effectively
    295 convey the exclusion of warranty; and each file should have at least
     631state the exclusion of warranty; and each file should have at least
    296632the "copyright" line and a pointer to where the full notice is found.
    297633
    298634    <one line to give the program's name and a brief idea of what it does.>
    299     Copyright (C) 19yy  <name of author>
    300 
    301     This program is free software; you can redistribute it and/or modify
     635    Copyright (C) <year>  <name of author>
     636
     637    This program is free software: you can redistribute it and/or modify
    302638    it under the terms of the GNU General Public License as published by
    303     the Free Software Foundation; either version 2 of the License, or
     639    the Free Software Foundation, either version 3 of the License, or
    304640    (at your option) any later version.
    305641
     
    310646
    311647    You should have received a copy of the GNU General Public License
    312     along with this program; if not, write to the Free Software
    313     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
     648    along with this program.  If not, see <http://www.gnu.org/licenses/>.
    314649
    315650Also add information on how to contact you by electronic and paper mail.
    316651
    317 If the program is interactive, make it output a short notice like this
    318 when it starts in an interactive mode:
    319 
    320     Gnomovision version 69, Copyright (C) 19yy name of author
    321     Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
     652  If the program does terminal interaction, make it output a short
     653notice like this when it starts in an interactive mode:
     654
     655    <program>  Copyright (C) <year>  <name of author>
     656    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
    322657    This is free software, and you are welcome to redistribute it
    323658    under certain conditions; type `show c' for details.
    324659
    325660The hypothetical commands `show w' and `show c' should show the appropriate
    326 parts of the General Public License.  Of course, the commands you use may
    327 be called something other than `show w' and `show c'; they could even be
    328 mouse-clicks or menu items--whatever suits your program.
    329 
    330 You should also get your employer (if you work as a programmer) or your
    331 school, if any, to sign a "copyright disclaimer" for the program, if
    332 necessary.  Here is a sample; alter the names:
    333 
    334   Yoyodyne, Inc., hereby disclaims all copyright interest in the program
    335   `Gnomovision' (which makes passes at compilers) written by James Hacker.
    336 
    337   <signature of Ty Coon>, 1 April 1989
    338   Ty Coon, President of Vice
    339 
    340 This General Public License does not permit incorporating your program into
    341 proprietary programs.  If your program is a subroutine library, you may
    342 consider it more useful to permit linking proprietary applications with the
    343 library.  If this is what you want to do, use the GNU Library General
    344 Public License instead of this License.
     661parts of the General Public License.  Of course, your program's commands
     662might be different; for a GUI interface, you would use an "about box".
     663
     664  You should also get your employer (if you work as a programmer) or school,
     665if any, to sign a "copyright disclaimer" for the program, if necessary.
     666For more information on this, and how to apply and follow the GNU GPL, see
     667<http://www.gnu.org/licenses/>.
     668
     669  The GNU General Public License does not permit incorporating your program
     670into proprietary programs.  If your program is a subroutine library, you
     671may consider it more useful to permit linking proprietary applications with
     672the library.  If this is what you want to do, use the GNU Lesser General
     673Public License instead of this License.  But first, please read
     674<http://www.gnu.org/philosophy/why-not-lgpl.html>.
  • trunk/ENV/DOS.BAT

    r30 r37  
    11rem This file sets Assembler, Linker and EXE2BIN for DOS environment
    2 set assembler=tasm.exe /m9 /dReal /l
     2set assembler=tasm.exe /m9 /dReal /dTASM /l
    33rem set assembler=tasm.exe /m9 /dReal /t
    4 set linker=tlink.exe /3 /x
     4set linker=tlink.exe /3
    55set exe2bin=exe2bin.exe
  • trunk/INSTALL/DOS/AIRBOOT.ASM

    r35 r37  
    1717;
    1818
    19 JUMPS
    20 
    21 Include ..\..\include\asm.inc
     19;JUMPS
     20
     21Include ../../INCLUDE/ASM.INC
    2222
    2323                .386p
    24                 model large, basic
     24                .model small, basic
     25
     26airboot         group code_seg,bss_data
    2527
    2628code_seg        segment public use16
    27                 assume  cs:code_seg, ds:code_seg, es:nothing, ss:nothing
     29                ;assume  cs:code_seg, ds:code_seg, es:nothing, ss:nothing
     30                assume  cs:airboot, ds:airboot, es:nothing, ss:nothing
     31
    2832                org     100h
    2933COM_StartUp:    jmp     COM_Init
     
    7276                push    es
    7377                mov     es, bx           ; ES points now to PSP-Segment
    74                 movzx   dx, es:[80h]     ; CX - Length of Command-Line
     78                xor     dh,dh
     79                mov     byte ptr dl, es:[80h]     ; CX - Length of Command-Line
    7580                or      dx, dx
    7681                jz      COM_CmdLineDone
     
    115120
    116121COM_CheckCmdParm:
    117                 push    cx si di
     122                push    cx
     123                push    si
     124                push    di
    118125                   repe    cmpsb
    119                 pop     di si cx
     126                pop     di
     127                pop     si
     128                pop     cx
    120129                retn
    121130
     
    197206; =============================================================================
    198207; DS:SI - NUL-terminated message to display to console
    199 APIShowMessage: push    ax dx si
     208APIShowMessage: push    ax
     209                push    dx
     210                push    si
    200211                   mov     ah, 02h
    201212ASM_Loop:          lodsb
     
    205216                   int     21h           ; DOS: WRITE CHARACTER TO CONSOLE
    206217                   jmp     ASM_Loop
    207 ASM_Done:       pop     si dx ax
    208                 retn
    209 
    210 ; =============================================================================
    211 APIShowChar:    push    ax dx
     218ASM_Done:       pop     si
     219                pop     dx
     220                pop     ax
     221                retn
     222
     223; =============================================================================
     224APIShowChar:    push    ax
     225                push    dx
    212226                   mov     ah, 02h
    213227                   mov     dl, al
    214228                   int     21h           ; DOS: WRITE CHARACTER TO CONSOLE
    215                 pop     dx ax
     229                pop     dx
     230                pop     ax
    216231                retn
    217232
     
    227242                retn
    228243
    229 APILockVolume:  push    ax bx cx dx
     244APILockVolume:  push    ax
     245                push    bx
     246                push    cx
     247                push    dx
    230248                   mov     ax, 3000h
    231249                   int     21h           ; DOS: GET DOS VERSION
     
    238256                   int     21h           ; DOS 7.0: LOCK PHYSICAL DRIVE
    239257ALV_SkipLock:
    240                 pop     dx cx bx ax
     258                pop     dx
     259                pop     cx
     260                pop     bx
     261                pop     ax
    241262                jc      ALV_Error
    242263                retn
     
    244265                call    APIShowError
    245266
    246                 Include ..\INST_X86\install.inc ; Execute generic code
     267                Include ../INST_X86/INSTALL.INC ; Execute generic code
    247268COM_EndOfSegment:
    248269
    249270code_seg        ends
     271
     272bss_data    segment  public use16   'BSS'
     273; Space for bootcode-image
     274BootImage       db 31744 dup (?)
     275bss_data    ends
     276
    250277                end     COM_StartUp
  • trunk/INSTALL/DOS/MAKE.BAT

    r36 r37  
    88%exe2bin% airboot.exe airboot.com >nul
    99if errorlevel 1 goto Failed
    10 copy airboot.com ..\..\RELEASE\DOS\airboot.com
     10copy airboot.com ..\..\RELEASE\DOS\AIRBOOT.COM
    1111
    1212@ren airboot.LST airboot.TSL
  • trunk/INSTALL/DOS/MAKE.CMD

    r36 r37  
    11@echo off
    22rem Do actual build...
    3 call ..\..\env\dos.bat
     3call ..\..\env\os2.cmd
    44%assembler% airboot.asm
    55if errorlevel 1 goto Failed
    6 %linker% airboot.obj >nul
     6%linker% airboot.obj; >nul
    77if errorlevel 1 goto Failed
    88%exe2bin% airboot.exe airboot.com >nul
    99if errorlevel 1 goto Failed
    10 copy airboot.com ..\..\RELEASE\DOS\airboot.com
     10copy airboot.com ..\..\RELEASE\DOS\AIRBOOT.COM
    1111
    1212@ren airboot.LST airboot.TSL
  • trunk/INSTALL/FLOPPY/KERNEL.ASM

    r29 r37  
    3333StackSeg        equ     7000h
    3434
    35 Include ..\..\include\asm.inc
     35Include ../../INCLUDE/ASM.INC
    3636
    3737                .386p
     
    8484; =============================================================================
    8585; DS:SI - NUL-terminated message to display to console
    86 APIShowMessage: push    ax bx si
     86APIShowMessage: push    ax
     87                push    bx
     88                push    si
    8789                   mov     ah, 0Eh
    8890                   mov     bx, 7
     
    9294                   int     10h           ; BIOS: TELETYPE
    9395                   jmp     ASM_Loop
    94 ASM_Done:       pop     si bx ax
     96ASM_Done:       pop     si
     97                pop     bx
     98                pop     ax
    9599                retn
    96100
    97101; =============================================================================
    98 APIShowChar:    push    ax bx
     102APIShowChar:    push    ax
     103                push    bx
    99104                   mov     ah, 0Eh
    100105                   mov     bx, 7
    101106                   int     10h           ; BIOS: TELETYPE
    102                 pop     bx ax
     107                pop     bx
     108                pop     ax
    103109                retn
    104110
     
    116122APILockVolume:  retn
    117123
    118                 Include ..\INST_X86\install.inc ; Execute generic code
     124                Include ../INST_X86/INSTALL.INC ; Execute generic code
    119125COM_EndOfSegment:
    120126
  • trunk/INSTALL/FLOPPY/MAKEDISK.ASM

    r29 r37  
    129129                call    APIShowError
    130130
    131 ReadFloppyDone: push    bx dx
     131ReadFloppyDone: push    bx
     132                push    dx
    132133                   mov     dx, offset TXT_Okay
    133134                   call    APIShowMessage
    134                 pop     dx bx
     135                pop     dx
     136                pop     bx
    135137                ; Check, if floppy is formated using FAT
    136138                mov     si, bx
     
    143145                call    APIShowError
    144146
    145 FloppyIsFAT:    push    bx cx dx
     147FloppyIsFAT:    push    bx
     148                push    cx
     149                push    dx
    146150                   mov     dx, offset TXT_WritingFloppy
    147151                   call    APIShowMessage
     
    158162                   mov     cx, 450/2     ; Copy rest of FreeDOS BR
    159163                   rep     movsw
    160                 pop     dx cx bx
     164                pop     dx
     165                pop     cx
     166                pop     bx
    161167                ; Now we write it back...
    162168                mov     ax, 0301h
     
    258264                mov     dx, offset TXT_Done
    259265                call    APIShowMessage
    260                
     266
    261267                ; Terminate ourselves...
    262268GoByeBye:       mov     ax, 4C00h
  • trunk/INSTALL/INST_X86/INSTALL.INC

    r36 r37  
    238238                call    APIAfterQuit
    239239
    240 MenuWaitForEnter               Proc Near  Uses
     240MenuWaitForEnter               Proc Near
    241241   cmp     Option_Silent, 1
    242242   je      MWFE_Skip
     
    249249MenuWaitForEnter               EndP
    250250
    251 ProcessADD                     Proc Near  Uses
     251ProcessADD                     Proc Near
    252252   mov     si, offset TXT_PROCESS_Add
    253253   call    APIShowMessage
     
    286286ProcessADD                     EndP
    287287
    288 InstallCode                    Proc Near  Uses
     288InstallCode                    Proc Near
    289289   ; Calculates new code checksum...
    290290   mov     si, offset BootImage+512  ; Sector 2 (Start of Code-Image)
     
    316316
    317317InstallCode_MergeMBRs          Proc Near  Uses ds si es di
    318    push    ds es
    319    pop     ds es                     ; Exchange DS&ES, DS==HDD, ES==New BootCode
     318   ; Exchange DS&ES, DS==HDD, ES==New BootCode
     319   push    ds
     320   push    es
     321   pop     ds
     322   pop     es
    320323   xor     si, si
    321324   mov     di, offset BootImage
     
    327330InstallCode_MergeMBRs          EndP
    328331
    329 InstallConfig                  Proc Near  Uses
     332InstallConfig                  Proc Near
    330333   ; Calculate new Config-CheckSum
    331334   mov     si, offset BootImage+6C00h    ; Configuration location
     
    369372
    370373;       Out: Carry Flag SET if Harddisc failed 62-sectors test
    371 Init_CheckHarddisc             Proc Near  Uses
     374Init_CheckHarddisc             Proc Near
    372375   mov     ah, 08h
    373376   mov     dl, 80h
     
    387390LoadHDDSector                  Proc Near  Uses ax es
    388391  LHDDS_Retry:
    389    push    bx cx dx
     392   push    bx
     393   push    cx
     394   push    dx
    390395      mov     ax, 0201h  ; load one sector
    391396      int     13h
     
    394399      xor     dl, dl
    395400      int     13h              ; BIOS: READ SECTOR VIA CHS
    396    pop     dx cx bx
     401   pop     dx
     402   pop     cx
     403   pop     bx
    397404   jmp     LHDDS_Retry
    398405  LHDDS_Success:
    399    pop     dx cx bx
     406   pop     dx
     407   pop     cx
     408   pop     bx
    400409   add     bx, 512
    401410   inc     cl               ; sector fixing must be done manual
     
    410419   mov     bx, si                        ; ES:BX - sector buffer to write
    411420  SIS_Retry:
    412    push    bx cx dx
     421   push    bx
     422   push    cx
     423   push    dx
    413424      mov     ax, 0301h
    414425      int     13h                        ; BIOS: WRITE SECTOR
     
    417428      mov     dl, 00h
    418429      int     13h
    419    pop     dx cx bx
     430   pop     dx
     431   pop     cx
     432   pop     bx
    420433   jmp     SIS_Retry
    421434  SIS_Success:
    422    pop     dx cx bx
     435   pop     dx
     436   pop     cx
     437   pop     bx
    423438   add     si, 512                       ; go to next sector
    424439   inc     cl                            ; add 1 to sector
     
    576591
    577592; Verifies our bootcode installation image
    578 Init_VerifyImage               Proc Near   Uses
     593Init_VerifyImage               Proc Near
    579594   ; First we verify the image, this is done by using the same checksum method
    580595   ;  as on real harddrive images. This is mainly for detecting, that we are
     
    641656   mov     InstalledVersion_Code, cx      ; remember installed code version
    642657   cmp     cx, dx                         ; If version number in image is higher
    643    jb      IVC_MGU                        ;  -> Upgradeable
     658   jb      IVC_MGU_a                      ;  -> Upgradeable
    644659   mov     iStatus_Code, Status_Installed
    645660   ret
    646   IVC_MGU:
     661  IVC_MGU_a:
    647662   mov     iStatus_Code, Status_InstalledMGU
    648663   ret
    649664Init_VerifyCode                EndP
    650665
    651 Init_CheckForEZSETUP           Proc Near  Uses
     666Init_CheckForEZSETUP           Proc Near
    652667   mov     si, offset MBR_EZSETUPCodeSig
    653668   mov     di, 8Fh
     
    702717  IVC_NoUpgradeConfig:
    703718   ; We exchange DS and ES, be careful from now on!
    704    push    ds es
    705    pop     ds es                         ; DS = HDD, ES = BootCode
     719   push    ds
     720   push    es
     721   pop     ds
     722   pop     es                         ; DS = HDD, ES = BootCode
    706723   cmp     cx, 0027h
    707724   jbe     IVC_Upgrade027
     
    798815   ; ==========================================================================
    799816   ; Exchange DS and ES, so DS == HDD and ES == New BootCode
    800    push    ds es
    801    pop     ds es
     817   push    ds
     818   push    es
     819   pop     ds
     820   pop     es
    802821   mov     si, 7000h                     ; Current - Sector 57 (Prior config)
    803822   mov     di, 6C00h                     ; -> Current - Sector 55 (cur. config)
     
    808827   rep     movsw
    809828   ; Exchange DS and ES again, so state is normal...
    810    push    ds es
    811    pop     ds es
    812    jmp     IVC_CheckSumOK         ; Resume to upgrade config more
     829   push    ds
     830   push    es
     831   pop     ds
     832   pop     es
     833   ;jmp     IVC_CheckSumOK         ; Resume to upgrade config more
     834
     835   ; Duplicated from Init_VerifyCode to remove jump
     836   ; to procedure-local label. JWasm doesn't like that.
     837   ; FIXME: Restructure...
     838   mov     al, es:[000Fh]                 ; Current Language ID
     839   mov     InstalledLanguageID, al
     840   mov     cx, es:[000Dh]                 ; Current Version ID
     841   mov     dx, ImageVersion               ; My Image Version ID
     842   xchg    ch, cl
     843   mov     InstalledVersion_Code, cx      ; remember installed code version
     844   cmp     cx, dx                         ; If version number in image is higher
     845   jb      IVC_MGU_b                        ;  -> Upgradeable
     846   mov     iStatus_Code, Status_Installed
     847   ret
     848  IVC_MGU_b:
     849   mov     iStatus_Code, Status_InstalledMGU
     850   ret
     851
     852
     853
     854
    813855Init_VerifyConfig              EndP
    814856
     
    828870
    829871; Internal
    830 Init_CheckThisMBR              Proc Near  Uses
     872Init_CheckThisMBR              Proc Near
    831873   cmp     wptr es:[si+01FEh], 0AA55h
    832874   jne     ICTM_InvalidMBR
     
    878920; Copies BackUp MBR into current MBR area, so it will get installed
    879921Init_CopyBackupMBR             Proc Near  Uses ds si es di
    880    push    ds es
    881    pop     ds es                         ; Exchange DS&ES so DS==HDD, ES==New BootCode
     922   push    ds
     923   push    es
     924   pop     ds
     925   pop     es                         ; Exchange DS&ES so DS==HDD, ES==New BootCode
    882926   mov     si, 7600h                     ; Sector 60...
    883927   mov     di, offset BootImage          ;  -> to Sector 1 of New BootCode
     
    10341078; ---------------------------
    10351079
    1036 ; Space for bootcode-image
    1037 BootImage       db 31744 dup (?)
  • trunk/Makefile

    r36 r37  
     1###############################################################################
     2# Makefile :: Builds AiR-BOOT for all supported Languages.                    #
     3###############################################################################
     4
    15#
    2 # MAKEFILE -- Wrapper around the DOS .BAT files.
     6# The default language for the loader code is EN.
     7# Supported languages are: EN,DE,FR,SW,IT,NL,RU.
     8# The 1.06 version used 'DT' for the Dutch language,
     9# this has been changed to 'NL'.
     10# To build all languages, set the LANGUAGE macro below to ALL.
    311#
    4 
    512LANGUAGE=EN
    613
     
    1623#
    1724# Build the loader code, the installers and SETABOOT.
    18 #
    19 # The default language for the loader code is EN.
    20 # To build another language, edit BOOTCODE\_build.cmd and change the lang variable.
    21 # Supported languages are: EN,DE,FR,SW,IT,NL,RU.
    22 # To build all languages, edit BOOTCODE\_build.cmd and set the lang variable to 'ALL'.
    23 # The 1.06 version used 'DT' for the Dutch language, this has been changed to 'NL'.
    2425#
    2526all: .SYMBOLIC
     
    4849        cd BOOTCODE
    4950        call _clean.cmd
     51        cd MBR-PROT
     52        call _clean.cmd
     53        cd ..
    5054        cd ..
    5155
     
    5761        call _clean.cmd
    5862        cd ..\..\..
     63
     64        cd TOOLS\INTERNAL
     65        call _clean.cmd
     66        cd ..\..
  • trunk/TOOLS/DOS/INITHDD/INITHDD.ASM

    r30 r37  
    1717;
    1818
    19 JUMPS
     19;JUMPS
    2020
    21 Include ..\..\..\include\asm.inc
    22 ;include ..\..\..\include\dos\airboot.inc
     21Include ../../../INCLUDE/ASM.INC
    2322
    2423                .386p
    25                 model large, basic
     24                .model large, basic
    2625
    2726code_seg        segment public use16
     
    3029air_boot_setup: jmp     INITHDD_Start
    3130
    32 Introduction:           db 'INITHDD - AiR-BOOT Initialize HDD Utility (DOS) - (c) 2004 by M. Kiewitz',13,10
     31Introduction            db 'INITHDD - AiR-BOOT Initialize HDD Utility (DOS) - (c) 2004 by M. Kiewitz',13,10
    3332                        db 0
    3433
     
    6968   dw 00000h, 00000h, 00000h, 0AA55h
    7069
    71 ;   Include ..\..\..\include\DOS\Const.asm
     70;   Include ../../../INCLUDE\DOS\CONST.ASM
    7271
    7372INITHDD_Start:  mov     ax, cs
  • trunk/TOOLS/DOS/INITHDD/MAKE.BAT

    r30 r37  
    88%exe2bin% inithdd.exe inithdd.com >nul
    99if errorlevel 1 goto Failed
    10 copy inithdd.com ..\..\..\RELEASE\DOS\inithdd.com
     10copy inithdd.com ..\..\..\RELEASE\DOS\INITHDD.COM
     11
     12@ren inithdd.LST inithdd.TSL
     13@ren inithdd.TSL INITHDD.LST
    1114
    1215rem Cleanup
  • trunk/TOOLS/DOS/INITHDD/MAKE.CMD

    r36 r37  
    11@echo off
    22rem Do actual build...
    3 call ..\..\..\env\dos.bat
     3call ..\..\..\env\os2.cmd
    44%assembler% inithdd.asm
    55if errorlevel 1 goto Failed
    6 %linker% inithdd.obj >nul
     6%linker% inithdd.obj; >nul
    77if errorlevel 1 goto Failed
    88%exe2bin% inithdd.exe inithdd.com >nul
    99if errorlevel 1 goto Failed
    10 copy inithdd.com ..\..\..\RELEASE\DOS\inithdd.com
     10copy inithdd.com ..\..\..\RELEASE\DOS\INITHDD.COM
     11
     12@ren inithdd.LST inithdd.TSL
     13@ren inithdd.TSL INITHDD.LST
    1114
    1215rem Cleanup
  • trunk/TOOLS/DOS/SETABOOT/SETABOOT.ASM

    r29 r37  
    1919JUMPS
    2020
    21 Include ..\..\..\Include\asm.inc
    22 include ..\..\..\include\dos\airboot.inc
     21Include ../../../INCLUDE/ASM.INC
     22include ../../../INCLUDE/DOS/AIRBOOT.INC
    2323
    2424                .386p
     
    6060                        db ' detected.', 13, 10, 0
    6161
    62    Include ..\..\..\include\dos\Const.asm
     62   Include ../../../INCLUDE/DOS/CONST.ASM
    6363
    6464AiRBOOTdetected         db 0
     
    343343                ;  DL holds total IPT entries to go
    344344                ;  DH holds current partition number (base 0)
    345                 push    cx es di
     345                push    cx
     346                push    es
     347                push    di
    346348                   mov     ax, ds
    347349                   mov     es, ax        ; ES == DS for now
     
    351353                   mov     di, offset TrackZero+6E00h ; Starting at sector 56
    352354                  CmdLine_RebootToSearchLoop:
    353                       push    si di
     355                      push    si
     356                      push    di
    354357                         add     di, 4   ; Seek to "PartitionName" item
    355358                         mov     cx, bx
    356359                         rep     cmpsb
    357                       pop     di si
     360                      pop     di
     361                      pop     si
    358362                      je      CmdLine_RebootToSearchDone
    359363                      add     di, 34     ; Length of IPT entry
     
    363367                  CmdLine_RebootToSearchDone:
    364368                   mov     bl, ds:[di+17] ; Get "Flags"
    365                 pop     di es cx
     369                pop     di
     370                pop     es
     371                pop     cx
    366372                or      dl, dl           ; If no partitions left -> not found
    367373                jz      CmdLine_RebootToNotFound
  • trunk/TOOLS/INTERNAL/FIXCODE.ASM

    r31 r37  
    2121;  b) it writes totally used sectors to byte at offset 10h in the image
    2222
    23 JUMPS
    24 
    25 Include ..\..\include\asm.inc
    26 ; include ..\..\include\dos\airboot.inc
    27 
    28                 .386p
    29                 model large, basic
    30 
    31 code_seg        segment public use16
    32                 assume  cs:code_seg, ds:code_seg, es:nothing, ss:nothing
     23;JUMPS
     24
     25Include ../../INCLUDE/ASM.INC
     26
     27                .286p
     28                .model small, basic
     29
     30fixcode         group code_seg,bss_data
     31
     32code_seg        segment  use16 public 'CODE'
     33                ;assume  cs:code_seg, ds:code_seg, es:nothing, ss:nothing
     34                assume  cs:fixcode, ds:fixcode, es:nothing, ss:nothing
    3335                org     100h
    3436COM_StartUp:    jmp     COM_Init
     
    6365ShowMessage     EndP
    6466
    65 ShowError       Proc Near  Uses
     67ShowError       Proc Near
    6668   mov     ah, 09h
    6769   int     21h              ; DOS: WRITE STRING DS:DX TO CONSOLE
    68   EndProgram:
    69    mov     ax, 4C00h
    70    int     21h              ; DOS: TERMINATE PROGRAM
     70   jmp     EndProgram
     71   ret
    7172ShowError       EndP
    7273
    73 COM_Init:       mov     ax, cs
     74COM_Init:
     75                ; Setup and Copyright.
     76                mov     ax, cs
    7477                mov     ds, ax
    7578                mov     es, ax           ; CS==DS==ES
     
    7780                call    ShowMessage
    7881
    79                 ; =========================================== Load air-boot.bin
     82                ; Open AIR-BOOT.COM
    8083                mov     dx, offset COM_LoadCode
    8184                call    ShowMessage
     
    9093DoneOpenCode:   mov     bx, ax           ; BX = Filehandle
    9194
     95                ; Load AIR-BOOT.COM
    9296                mov     ah, 3Fh
    9397                mov     cx, image_size   ; Image size
     
    98102                call    ShowError
    99103
    100 DoneReadCode:   cmp     ax, image_size
     104
     105DoneReadCode:
     106                ; See if at least 'image-size' is loaded.
     107                cmp     ax, image_size
    101108                je      DoneReadCode2
    102109InvalidCode:    mov     dx, offset COM_FailedInvalidCode
    103110                call    ShowError
    104111
     112                ; Try to read again which is expected to fail.
     113                ; Otherwise image is too large.
    105114DoneReadCode2:  mov     ah, 3Fh
    106115                mov     cx, 1
     
    112121                jmp     InvalidCode
    113122
     123                ; It's loaded now, close it.
    114124DoneReadCode3:  mov     ah, 3Eh
    115125                int     21h              ; DOS: CLOSE FILE
     
    118128                call    ShowMessage
    119129
    120                 ; =================================== Load MBR-protection image
     130                ; Open MBR_PROT.COM
    121131                mov     dx, offset COM_LoadMBR
    122132                call    ShowMessage
     
    131141DoneOpenMBR:    mov     bx, ax           ; BX = Filehandle
    132142
     143                ; Load MBR_PROT.COM
    133144                mov     ah, 3Fh
    134145                mov     cx, 1024         ; Image size
     
    139150                call    ShowError
    140151
    141 DoneReadMBR:    cmp     ax, 1024
     152DoneReadMBR:
     153                ; See if at least 1kB is loaded.
     154                cmp     ax, 1024
    142155                je      DoneReadMBR2
    143156InvalidMBR:     mov     dx, offset COM_FailedInvalidMBR
    144157                call    ShowError
    145158
     159                ; Try to read again which is expected to fail.
     160                ; Otherwise image is too large.
    146161DoneReadMBR2:   mov     ah, 3Fh
    147162                mov     cx, 1
     
    153168                jmp     InvalidMBR
    154169
     170                ; It's loaded now, close file.
    155171DoneReadMBR3:   mov     ah, 3Eh
    156172                int     21h              ; DOS: CLOSE FILE
     
    159175                call    ShowMessage
    160176
     177
     178
    161179                ; ========================== Merge MBR-Protection into Bootcode
    162180                mov     dx, offset COM_MergeMBR
     
    164182
    165183                ; Search for signature in Bootcode
     184                ; Note the search is with sector granularity.
     185                ; This means the signature must be 512 bytes aligned.
    166186                mov     si, offset BootCode
    167187                mov     di, offset MBRProtectionSignature
    168188                mov     cx, MBRProtectionSignatureLen
    169                 mov     dx, 54 ; 54 sectors where signature may be (all sectors preceding config sector)
     189                ; 54 sectors where signature may be.
     190                ; (all sectors preceding config sector)
     191                mov     dx, 54
    170192COM_SignatureLoop:
    171                 push    cx si di
     193                push    cx
     194                push    si
     195                push    di
    172196                   repe    cmpsb
    173                 pop     di si cx
     197                pop     di
     198                pop     si
     199                pop     cx
    174200                je      COM_GotSignature
    175201                add     si, 512
     
    197223                mov     cx, 256
    198224                mov     dx, 53
    199 COM_CodeEndLoop:push    cx si di
     225COM_CodeEndLoop:push    cx
     226                push    si
     227                push    di
    200228COM_CodeEndLoop2:
    201229                   cmp     wptr ds:[si], 0
     
    205233                   jnz     COM_CodeEndLoop2
    206234COM_ExitCodeEndLoop:
    207                 pop     di si cx
     235                pop     di
     236                pop     si
     237                pop     cx
    208238                jne     COM_FoundCodeEnd
    209239                sub     si, 512
     
    249279                jmp     EndProgram
    250280
     281
     282EndProgram:
     283   ; DOS: TERMINATE PROGRAM
     284   mov     ax, 4C00h
     285   int     21h
     286
     287
     288
     289COM_EndOfSegment:
     290
     291code_seg        ends
     292
     293bss_data    segment  use16 public   'BSS'
    251294; Buffers for files
    252295BootCode        db  image_size dup (?)
    253296MBRProtection   db  1024 dup (?)
    254 
    255 COM_EndOfSegment:
    256 
    257 code_seg        ends
     297bss_data    ends
     298
    258299                end     COM_StartUp
  • trunk/WARNING.TXT

    r31 r37  
    33  a severe bug!! Building from these sources and then disabling
    44  the 'force LBA' feature while also using the drive-letter feature or
    5   editing the label can **destroy the MBR** on **all attached disks**!!
    6   DO NOT DISABLE 'FORCE LBA USAGE' WHEN BUILT FROM THE ABOVE COMMITS!!
     5  editing the label can **DESTROY THE MBR** on **ALL ATTACHED DISKS**!!
     6  DO NOT DISABLE 'FORCE LBA USAGE' WHEN BUILT FROM THE THESE COMMITS!!
  • trunk/_build.cmd

    r30 r37  
    1 /* REXX */
     1@wmake
    22
    3 'wmake';
  • trunk/_clean.cmd

    r30 r37  
    1 /* REXX */
    2 
    3 'wmake clean';
     1@wmake clean
Note: See TracChangeset for help on using the changeset viewer.