Changeset 37
- Timestamp:
 - Apr 11, 2014, 8:39:07 PM (12 years ago)
 - Location:
 - trunk
 - Files:
 - 
      
- 25 added
 - 4 deleted
 - 55 edited
 - 2 copied
 - 1 moved
 
- 
          
  1README.TXT (modified) (1 diff)
 - 
          
  AiR-BOOT.TXT (added)
 - 
          
  BOOTCODE/.build (added)
 - 
          
  BOOTCODE/.clean (added)
 - 
          
  BOOTCODE/AIR-BOOT.ASM (modified) (46 diffs)
 - 
          
  BOOTCODE/BLDDATE.ASM (added)
 - 
          
  BOOTCODE/GNUmakefile (added)
 - 
          
  BOOTCODE/MAKE.BAT (deleted)
 - 
          
  BOOTCODE/MAKEALL.BAT (deleted)
 - 
          
  BOOTCODE/MBR-PROT/.build (added)
 - 
          
  BOOTCODE/MBR-PROT/.clean (added)
 - 
          
  BOOTCODE/MBR-PROT/GNUmakefile (added)
 - 
          
  BOOTCODE/MBR-PROT/MAKE.BAT (deleted)
 - 
          
  BOOTCODE/MBR-PROT/MBR_PROT.ASM (modified) (3 diffs)
 - 
          
  BOOTCODE/MBR-PROT/Makefile (added)
 - 
          
  BOOTCODE/MBR-PROT/_build.cmd (added)
 - 
          
  BOOTCODE/MBR-PROT/_clean.cmd (added)
 - 
          
  BOOTCODE/Makefile (added)
 - 
          
  BOOTCODE/REGULAR/BOOTMENU.ASM (modified) (7 diffs)
 - 
          
  BOOTCODE/REGULAR/DRIVEIO.ASM (modified) (10 diffs)
 - 
          
  BOOTCODE/REGULAR/OTHER.ASM (modified) (3 diffs)
 - 
          
  BOOTCODE/REGULAR/PARTMAIN.ASM (modified) (10 diffs)
 - 
          
  BOOTCODE/REGULAR/PARTSCAN.ASM (modified) (10 diffs)
 - 
          
  BOOTCODE/REGULAR/PASSWORD.ASM (modified) (1 diff)
 - 
          
  BOOTCODE/REGULAR/STD_TEXT.ASM (modified) (1 diff)
 - 
          
  BOOTCODE/REGULAR/VIDEOIO.ASM (modified) (4 diffs)
 - 
          
  BOOTCODE/SETUP/MAIN.ASM (modified) (23 diffs)
 - 
          
  BOOTCODE/SETUP/MENUS.ASM (modified) (6 diffs)
 - 
          
  BOOTCODE/SETUP/PART_SET.ASM (modified) (17 diffs)
 - 
          
  BOOTCODE/SPECIAL/F00K/BILLSUXX.ASM (modified) (2 diffs)
 - 
          
  BOOTCODE/SPECIAL/FAT16.ASM (modified) (3 diffs)
 - 
          
  BOOTCODE/SPECIAL/FX.ASM (modified) (15 diffs)
 - 
          
  BOOTCODE/SPECIAL/LINUX.ASM (modified) (5 diffs)
 - 
          
  BOOTCODE/SPECIAL/LVM.ASM (modified) (3 diffs)
 - 
          
  BOOTCODE/SPECIAL/VIRUS.ASM (modified) (6 diffs)
 - 
          
  BOOTCODE/TEXT/DE/MENUS.ASM (modified) (4 diffs)
 - 
          
  BOOTCODE/TEXT/DE/OTHER.ASM (modified) (3 diffs)
 - 
          
  BOOTCODE/TEXT/EN/MENUS.ASM (modified) (4 diffs)
 - 
          
  BOOTCODE/TEXT/EN/OTHER.ASM (modified) (2 diffs)
 - 
          
  BOOTCODE/TEXT/FR/MENUS.ASM (modified) (3 diffs)
 - 
          
  BOOTCODE/TEXT/FR/OTHER.ASM (modified) (2 diffs)
 - 
          
  BOOTCODE/TEXT/IT/MENUS.ASM (modified) (4 diffs)
 - 
          
  BOOTCODE/TEXT/IT/OTHER.ASM (modified) (2 diffs)
 - 
          
  BOOTCODE/TEXT/NL/MBR.ASM (modified) (1 diff)
 - 
          
  BOOTCODE/TEXT/NL/MENUS.ASM (modified) (4 diffs)
 - 
          
  BOOTCODE/TEXT/NL/OTHER.ASM (modified) (2 diffs)
 - 
          
  BOOTCODE/TEXT/RU/MENUS.ASM (modified) (4 diffs)
 - 
          
  BOOTCODE/TEXT/RU/OTHER.ASM (modified) (3 diffs)
 - 
          
  BOOTCODE/TEXT/SW/MENUS.ASM (modified) (8 diffs)
 - 
          
  BOOTCODE/TEXT/SW/OTHER.ASM (modified) (2 diffs)
 - 
          
  BOOTCODE/TEXT/TXTMBR.ASM (modified) (1 diff)
 - 
          
  BOOTCODE/TEXT/TXTMENUS.ASM (modified) (1 diff)
 - 
          
  BOOTCODE/TEXT/TXTOTHER.ASM (modified) (1 diff)
 - 
          
  BOOTCODE/_build.cmd (modified) (1 diff)
 - 
          
  BOOTCODE/_clean.cmd (modified) (1 diff)
 - 
          
  BUILD.NFO (modified) (1 diff)
 - 
          
  COPYING (modified) (4 diffs)
 - 
          
  ENV/DOS.BAT (modified) (1 diff)
 - 
          
  ENV/OS2.CMD (added)
 - 
          
  INCLUDE/MAKEFILE.MIF (added)
 - 
          
  INCLUDE/MAKEFRWD.MIF (added)
 - 
          
  INSTALL/DOS/AIRBOOT.ASM (modified) (8 diffs)
 - 
          
  INSTALL/DOS/MAKE.BAT (modified) (1 diff)
 - 
          
  INSTALL/DOS/MAKE.CMD (copied) (copied from trunk/INSTALL/DOS/MAKE.BAT ) (1 diff)
 - 
          
  INSTALL/FLOPPY/KERNEL.ASM (modified) (4 diffs)
 - 
          
  INSTALL/FLOPPY/MAKEDISK.ASM (modified) (4 diffs)
 - 
          
  INSTALL/INST_X86/INSTALL.INC (modified) (18 diffs)
 - 
          
  JWASM.FLG (added)
 - 
          
  Makefile (moved) (moved from trunk/MAKEFILE ) (4 diffs)
 - 
          
  TOOLS/DOS/INITHDD/INITHDD.ASM (modified) (3 diffs)
 - 
          
  TOOLS/DOS/INITHDD/MAKE.BAT (modified) (1 diff)
 - 
          
  TOOLS/DOS/INITHDD/MAKE.CMD (copied) (copied from trunk/TOOLS/DOS/INITHDD/MAKE.BAT ) (1 diff)
 - 
          
  TOOLS/DOS/SETABOOT/MAKE.CMD (added)
 - 
          
  TOOLS/DOS/SETABOOT/SETABOOT.ASM (modified) (5 diffs)
 - 
          
  TOOLS/INTERNAL/.build (added)
 - 
          
  TOOLS/INTERNAL/.clean (added)
 - 
          
  TOOLS/INTERNAL/FIXCODE.ASM (modified) (15 diffs)
 - 
          
  TOOLS/INTERNAL/FIXCODE.C (added)
 - 
          
  TOOLS/INTERNAL/FIXCODE.H (added)
 - 
          
  TOOLS/INTERNAL/GNUmakefile (added)
 - 
          
  TOOLS/INTERNAL/MAKE.BAT (deleted)
 - 
          
  TOOLS/INTERNAL/Makefile (added)
 - 
          
  TOOLS/INTERNAL/_build.cmd (added)
 - 
          
  TOOLS/INTERNAL/_clean.cmd (added)
 - 
          
  WARNING.TXT (modified) (1 diff)
 - 
          
  _build.cmd (modified) (1 diff)
 - 
          
  _clean.cmd (modified) (1 diff)
 
 
Legend:
- Unmodified
 - Added
 - Removed
 
- 
      
trunk/1README.TXT
r32 r37 20 20 Note: 21 21 ----- 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. 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. 25 25 The latter can be found in README.MKW but note that the information 26 there about building AiR-BOOT is possibly outdated.26 in there about building AiR-BOOT is completely outdated. 27 27 28 Building 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 36 See BUILD.NFO for more information. 37 38 Rousseau.  - 
      
trunk/BOOTCODE/AIR-BOOT.ASM
r36 r37 18 18 19 19 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 20 35 21 36 ; --------------------------------- … … 23 38 ; --------------------------------- 24 39 ; 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 ; ---------------------- 27 71 ; # Changed version format to be more WarpIN compatible # 28 72 ; This is a cosmetic change only, the internal format has not changed. … … 218 262 ; It should be off in release code. 219 263 ; 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 ; 280 check_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 322 ENDM 323 221 324 222 325 … … 228 331 ; in the BSS. 229 332 ; 230 MaxDisks equ64333 MaxDisks equ 64 231 334 232 335 ; 233 336 ; If defined then include DEBUG.ASM and output debug-info to serial-port. 234 337 ; 235 ;AuxDebug equ1338 ;AuxDebug equ 1 236 339 237 340 ; Com-port for debugging, 0 is disabled 238 BiosComPort equ0341 BiosComPort equ 0 239 342 240 343 … … 251 354 252 355 ; 9600 bps, no parity, 1 stop-bit, 8 bits per char 253 AuxInitParms equ11100011b356 AuxInitParms equ 11100011b 254 357 255 358 ; Default word value for BIOS_AuxParms variable 256 359 ; Note that is has moved since v1.07 257 BIOS_AuxParmsDefault equ(AuxInitParms SHL 8) OR BiosComPort360 BIOS_AuxParmsDefault equ (AuxInitParms SHL 8) OR BiosComPort 258 361 259 362 ; 260 363 ; If ReleaseCode is not defined, it will produce debug-able code... 261 364 ; 262 ReleaseCode equ-1263 264 265 266 267 268 ; 269 ; All Special Equ s for this project365 ReleaseCode equ -1 366 367 368 369 370 371 ; 372 ; All Special Equ's for this project 270 373 ; 271 374 272 375 ; Use different addresses depending on whether in pre-boot 273 ; or debug environment.376 ; or debug (dos) environment. 274 377 IFDEF 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 380 ELSE 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 285 386 ENDIF 286 387 … … 299 400 300 401 ; Include 301 Include ..\INCLUDE\asm.inc 302 ;Include ..\INCLUDE\DOS\airboot.inc ; does not exist anymore 402 Include ../INCLUDE/ASM.INC 303 403 304 404 ; 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 ; 'Ã' 405 TextChar_WinLineRight equ 0C4h ; 'Ä' 406 TextChar_WinLineDown equ 0B3h ; '³' 407 TextChar_WinRep1 equ 0D1h ; 'Ñ' 408 TextChar_WinRep2 equ 0C5h ; 'Å' 409 TextChar_WinRep3 equ 0CFh ; 'Ï' 410 TextChar_WinRep4 equ 0B5h ; 'µ' 411 TextChar_WinRep5 equ 0C6h ; 'Æ' 412 TextChar_WinRep6 equ 0D8h ; 'Ø' 314 413 315 414 ; Offsets for Partition-Entries in MBR/EPRs 316 LocBRPT_LenOfEntry equ 16; Length of a standard MBR or EPR entry317 LocBRPT_Flags equ 0 ; Bootable, Hidden, etc.318 LocBRPT_BeginCHS equ 1 ; Combined 10-bits cyl with 6 bits319 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 partition323 LocBRPT_EndCHS equ 5 ; Same for end of partition324 LocBRPT_EndHead equ 5325 LocBRPT_EndSector equ 6326 LocBRPT_EndCylinder equ 7327 LocBRPT_RelativeBegin equ 8328 LocBRPT_AbsoluteLength equ 12329 330 LocBR_Magic equ 510415 LocBRPT_LenOfEntry equ 16 ; Length of a standard MBR or EPR entry 416 LocBRPT_Flags equ 0 ; Bootable, Hidden, etc. 417 LocBRPT_BeginCHS equ 1 ; Combined 10-bits cyl with 6 bits 418 LocBRPT_BeginHead equ 1 ; Start head (0<=H<255) 255 is invalid ! 419 LocBRPT_BeginSector equ 2 ; Start sector (1<=S<=255) 420 LocBRPT_BeginCylinder equ 3 ; Start cylinder (0<=C<[1024,16384,65536,n]) 421 LocBRPT_SystemID equ 4 ; Type of system using the partition 422 LocBRPT_EndCHS equ 5 ; Same for end of partition 423 LocBRPT_EndHead equ 5 424 LocBRPT_EndSector equ 6 425 LocBRPT_EndCylinder equ 7 426 LocBRPT_RelativeBegin equ 8 427 LocBRPT_AbsoluteLength equ 12 428 429 LocBR_Magic equ 510 331 430 332 431 333 432 ; Used as a quick compare in LVM.ASM 334 LocLVM_SignatureByte0 equ 02h433 LocLVM_SignatureByte0 equ 02h 335 434 336 435 ; Offsets for LVM Information Sector. 337 436 ; 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 DWORD340 LocLVM_Heads equ 1ch ; Number of heads341 LocLVM_Secs equ 20h ; Sectors per Track342 LocLVM_DiskName equ 24h ; Name of the disk343 LocLVM_StartOfEntries equ 3ch ; (contains maximum of 4 entries)344 LocLVM_LenOfEntry equ 3ch ; Length of an LVM-entry437 LocLVM_SignatureStart equ 00h ; 02h,'RMBPMFD' (8 bytes) 438 LocLVM_CRC equ 08h ; CRC is a DWORD 439 LocLVM_Heads equ 1ch ; Number of heads 440 LocLVM_Secs equ 20h ; Sectors per Track 441 LocLVM_DiskName equ 24h ; Name of the disk 442 LocLVM_StartOfEntries equ 3ch ; (contains maximum of 4 entries) 443 LocLVM_LenOfEntry equ 3ch ; Length of an LVM-entry 345 444 346 445 ; An LVM info-sector can contain information on max. 4 partitions. … … 349 448 ; of the logical partition and only one LVM entry is used in that logical 350 449 ; LVM info-sector. 351 LocLVM_MaxEntries equ 4; Max entries in an LVM-sector450 LocLVM_MaxEntries equ 4 ; Max entries in an LVM-sector 352 451 353 452 ; Offsets for LVM entry. 354 453 ; 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 454 LocLVM_VolumeID equ 00h ; is DWORD 455 LocLVM_PartitionID equ 04h ; is DWORD 456 LocLVM_PartitionSize equ 08h ; is DWORD 457 LocLVM_PartitionStart equ 0ch ; is DWORD 458 LocLVM_OnBootMenu equ 10h ; is on IBM BM Bootmenu 459 LocLVM_Startable equ 11h ; is Startable (newly installed system) 460 LocLVM_VolumeLetter equ 12h ; is Drive Letter for partition (C-Z or 0) 461 LocLVM_Unknown equ 13h ; unknown BYTE 462 363 463 ; Truncated to 11 chars when displayed in menu. 364 464 ; MiniLVM sets both to the same value. 365 465 ; Also, MiniLVM uses a 0-byte terminator, so the maximum length is 19d. 366 466 ; Same goes for LocLVM_DiskName. 367 LocLVM_VolumeName equ 14h ; 20 bytes368 LocLVM_PartitionName equ 28h ; 20 bytes (Used in menu)467 LocLVM_VolumeName equ 14h ; 20 bytes 468 LocLVM_PartitionName equ 28h ; 20 bytes (Used in menu) 369 469 370 470 371 471 372 472 ; Offsets for IPT (Internal Partition Table) 373 LocIPT_MaxPartitions equ partition_count; 45 in v1.07374 LocIPT_LenOfSizeElement equ 6 ; Size of one Size-Element375 LocIPT_LenOfIPT equ 34; Length of an IPT-entry376 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-Record382 LocIPT_LocationBegin equ 20; Begin of Partition383 LocIPT_LocationPartTable equ 23; PartitionTable of Partition384 LocIPT_AbsoluteBegin equ 26; Absolute Sector of Begin385 LocIPT_AbsolutePartTable equ 30; Absolute Sector of PartTable473 LocIPT_MaxPartitions equ partition_count ; 45 in v1.07 474 LocIPT_LenOfSizeElement equ 6 ; Size of one Size-Element 475 LocIPT_LenOfIPT equ 34 ; Length of an IPT-entry 476 LocIPT_Serial equ 0 ; Serial from MBR ? 477 LocIPT_Name equ 4 ; Name from FS or LVM (part/vol) 478 LocIPT_Drive equ 15 ; Drive-ID (80h,81h) 479 LocIPT_SystemID equ 16 ; Partition-Type (06,07,etc) 480 LocIPT_Flags equ 17 ; AiR-BOOT Flags for partition (see below) 481 LocIPT_BootRecordCRC equ 18 ; CRC of Boot-Record 482 LocIPT_LocationBegin equ 20 ; Begin of Partition 483 LocIPT_LocationPartTable equ 23 ; PartitionTable of Partition 484 LocIPT_AbsoluteBegin equ 26 ; Absolute Sector of Begin 485 LocIPT_AbsolutePartTable equ 30 ; Absolute Sector of PartTable 386 486 387 487 ; AiR-BOOT IPT-Flags 388 LocIPT_DefaultFlags equ 00000011b; Don't know if boot-able :)389 LocIPT_DefaultNonBootFlags equ 00000010b; ...VIBR Detection is always on390 391 Flags_Boot Able equ00000001b392 Flags_VIBR_Detection equ 00000010b393 Flags_HideFeature equ 00000100b394 Flags_DriveLetter equ 00001000b; OS/2 FAT16/HPFS only395 Flags_ExtPartMShack equ 00010000b; Extended Partition M$-Hack req ?396 Flags_NoPartName equ 01000000b397 Flags_NowFound equ 10000000b; temp only in OldPartTable398 Flags_SpecialMarker equ 10000000b; temp only for HiddenSetup399 400 FileSysFlags_BootAble equ 00000001b; Is this Partition boot-able ?401 FileSysFlags_FAT32 equ 00010000b; FAT 32 specific name getting402 FileSysFlags_NoName equ 00100000b; No Name - use PartitionName403 FileSysFlags_DriveLetter equ 01000000b; DriveLetter Feature possible488 LocIPT_DefaultFlags equ 00000011b ; Don't know if boot-able :) 489 LocIPT_DefaultNonBootFlags equ 00000010b ; ...VIBR Detection is always on 490 491 Flags_Bootable equ 00000001b 492 Flags_VIBR_Detection equ 00000010b 493 Flags_HideFeature equ 00000100b 494 Flags_DriveLetter equ 00001000b ; OS/2 FAT16/HPFS only 495 Flags_ExtPartMShack equ 00010000b ; Extended Partition M$-Hack req ? 496 Flags_NoPartName equ 01000000b 497 Flags_NowFound equ 10000000b ; temp only in OldPartTable 498 Flags_SpecialMarker equ 10000000b ; temp only for HiddenSetup 499 500 FileSysFlags_BootAble equ 00000001b ; Is this Partition boot-able ? 501 FileSysFlags_FAT32 equ 00010000b ; FAT 32 specific name getting 502 FileSysFlags_NoName equ 00100000b ; No Name - use PartitionName 503 FileSysFlags_DriveLetter equ 01000000b ; DriveLetter Feature possible 404 504 405 505 ; 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 506 Keys_Up equ 48h 507 Keys_Down equ 50h 508 Keys_Left equ 4Bh 509 Keys_Right equ 4Dh 510 Keys_PageUp equ 49h 511 Keys_PageDown equ 51h 512 Keys_GrayPlus equ 4Eh 513 Keys_GrayMinus equ 4Ah 514 Keys_Plus equ 1Bh 515 Keys_Minus equ 35h 516 Keys_ENTER equ 1Ch 517 Keys_ESC equ 1h 518 Keys_F1 equ 3Bh 519 Keys_F10 equ 44h 520 Keys_C equ 2Eh ; Add. Check auf Ctrl! 521 Keys_Y equ 2Ch 522 Keys_Z equ 15h 523 Keys_N equ 31h 524 Keys_TAB equ 0Fh 525 Keys_Delete equ 53h 526 Keys_Backspace equ 0Eh 527 Keys_Space equ 20h 528 529 Keys_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 ; 570 SEGMENTED EQU 1 571 572 IFDEF SEGMENTED 573 AIRBOOT GROUP IMAGE,VOLATILE 574 ENDIF 446 575 447 576 ; 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 577 IMAGE SEGMENT USE16 PUBLIC 'MIXED' 578 579 IFDEF SEGMENTED 580 ASSUME CS:AIRBOOT, DS:AIRBOOT, ES:nothing, SS:nothing 581 ELSE 582 ASSUME CS:IMAGE, DS:IMAGE, ES:nothing, SS:nothing 583 ENDIF 452 584 453 585 … … 456 588 457 589 458 ; We are not a .com file at 100h but a binary image459 ; of which only the 1st sector gets loaded at 07c00h.460 org 00000h ; Sector 1590 ; 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 461 593 462 594 ; Start of sector 1 … … 481 613 482 614 ;------------------------------------------------------------------------------ 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 615 AiR_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 639 MBR_CheckCode dw 0 ; Check-Sum for Code 495 640 496 641 ; … … 498 643 ; below as this will cause the jump-link to go haywire. 499 644 ; 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 645 MBR_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 535 681 536 682 … … 543 689 ; 544 690 MBR_HaltSystem: 545 mov ax, 8600h546 xor cx, cx547 mov dx, 500548 int 15h; Wait to display the whole screen :]549 MBR_HaltSys: cli550 jmp MBR_HaltSys551 552 553 554 ; Comport settings555 ; It had to be moved to create room for the double I13X556 ; signature.557 ; It cannot be in the config-area (sector 55)558 ; because that area559 ; is crc-protected.560 BIOS_AuxParms dwBIOS_AuxParmsDefault691 mov ax, 8600h 692 xor cx, cx 693 mov dx, 500 694 int 15h ; Wait to display the whole screen :] 695 MBR_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. 706 BIOS_AuxParms dw BIOS_AuxParmsDefault 561 707 562 708 ; … … 564 710 ; Should check overflow here, later... 565 711 ; 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... 712 reserved 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 728 here = $ 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 578 738 ; 579 739 ; Entry-point when loading fails. 580 740 ; 581 db 'LOAD ERROR!', 0582 MBR_LoadError Proc Near583 movsi, offset $-12584 pushcs585 popds586 callMBR_Teletype587 MBRLE_Halt:588 jmpMBRLE_Halt589 MBR_LoadError EndP741 db 'LOAD ERROR!', 0 742 MBR_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 749 MBR_LoadError EndP 590 750 591 751 … … 593 753 ; Entry-point when saving fails. 594 754 ; 595 db 'SAVE ERROR!', 0596 MBR_SaveError Proc Near597 movsi, offset $-12598 pushcs599 popds600 callMBR_Teletype601 MBRSE_Halt:602 jmpMBRSE_Halt603 MBR_SaveError EndP755 db 'SAVE ERROR!', 0 756 MBR_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 763 MBR_SaveError EndP 604 764 605 765 … … 608 768 ; In: SI - Pointer to begin of string (EOS is 0) 609 769 ; Destroyed: SI 610 MBR_Teletype Proc Near Uses ax bx cx611 movah, 0Eh612 movbx, 7613 MBRT_Loop:614 lodsb615 oral, al616 jzMBRT_End617 int10h618 jmpMBRT_Loop619 MBRT_End:620 ret621 MBR_Teletype EndP770 MBR_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 781 MBR_Teletype EndP 622 782 623 783 ; … … 628 788 ; Out: BX - Base Check Result 629 789 ; Destroyed: SI will get updated (+512) 630 MBR_GetCheckOfSector Proc Near Uses ax cx631 movcx, 256632 MBRGCOS_Loop:633 lodsw634 xorax, 0BABEh635 xorbx, ax636 loopMBRGCOS_Loop637 orbx, bx638 jnzMBRGCOS_NoFixUp639 mov bx, 1; dont allow 0, cause 0 == empty640 MBRGCOS_NoFixUp:641 ret642 MBR_GetCheckOfSector EndP790 MBR_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 802 MBR_GetCheckOfSector EndP 643 803 644 804 … … 653 813 ;------------------------------------------------------------------------------ 654 814 MBR_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 882 here = $ 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 740 915 741 916 … … 744 919 745 920 ;------------------------------------------------------------------------------ 746 Include TEXT \TXTMBR.asm; All translateable Text in MBR921 Include TEXT/TXTMBR.ASM ; All translateable Text in MBR 747 922 ;------------------------------------------------------------------------------ 748 923 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 761 925 762 926 ; This is an ugly kludge function to create space for the … … 765 929 ; in this function. That's done around line 500. 766 930 ; 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 931 MBR_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 939 MBR_LoadConfig EndP 940 941 942 here = $ 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 799 966 ; End of sector 1 800 967 eos1a: 801 968 802 ; Check for overlap 803 slack01 = sos2 - eos1a 804 IF slack01 LT 0 805 .ERR2 "Location Overlap slack01 !" 806 ENDIF 969 807 970 808 971 … … 810 973 ; Sector 2 811 974 812 ;813 ; Here starts the second sector, sector 2814 ;815 org00200h975 ; 976 ; Here starts the second sector, sector 2 977 ; 978 org 00200h 816 979 ; Start of sector 2. 817 980 sos2: … … 827 990 ; 828 991 829 ; first Normal-Partition-ID, Hidden-Partition-ID830 ; and Default-Partition-Flags.831 ; 01h -> Boot-Able832 ; 10h -> FAT32 - Name Getting Scheme833 ; 20h -> No Name To Get (use Partition Name from IPT)834 ; 40h -> 'L' flag possible992 ; 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 835 998 db 'AiRSYS-TABLE' 836 FileSysIDs :db 01h, 11h,01h, 04h,014h,01h, 06h,016h,41h, 0Eh,00Eh,01h999 FileSysIDs db 01h, 11h,01h, 04h,014h,01h, 06h,016h,41h, 0Eh,00Eh,01h 837 1000 db 07h, 17h,41h, 08h,017h,21h, 35h,035h,20h,0FCh,017h,41h 838 1001 db 09h, 19h,11h, 0Bh,01Bh,11h, 0Ch,01Ch,11h,0EBh,0EBh,01h … … 847 1010 db 16 dup (0) 848 1011 849 FileSysNames :db 'FAT12 ', 'FAT16 ', 'FAT16Big', 'FAT16Big'1012 FileSysNames db 'FAT12 ', 'FAT16 ', 'FAT16Big', 'FAT16Big' 850 1013 db 'HPFS ', 'NTFS ', 'LVM-Data', 'JFS ' 851 1014 db 'FAT32 ', 'FAT32 ', 'FAT32 ', 'BeOS ' … … 866 1029 867 1030 868 ; Check for overlap869 slack02 = sos3 - eos2870 IF slack02 LT 0871 .ERR2 "Location Overlap slack02 !"872 ENDIF873 1031 874 1032 … … 878 1036 ;============================================================================== 879 1037 ; Sector 3 880 org 00400h 1038 here = $ 1039 org 00400h 1040 check_overlap here 1041 1042 881 1043 ; Start of sector 3. 882 1044 sos3: … … 896 1058 897 1059 898 ; ##############################################899 ; ## ENTRY-POINT AFTER ALL THE INITIAL HASSLE ##900 ; ##############################################1060 ; ############################################## 1061 ; ## ENTRY-POINT AFTER ALL THE INITIAL HASSLE ## 1062 ; ############################################## 901 1063 902 1064 … … 920 1082 ; segment. 921 1083 ; 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 1092 1255 1093 1256 … … 1096 1259 1097 1260 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, ax1106 ;;int 16h1107 1108 ;call SOUND_Beep1109 1110 ; Rousseau: delayed save of video-page1111 1112 mov ax, VideoIO_Page11113 call VideoIO_BackUpTo; Copy BIOS POST to Second Page1114 1115 ;call SOUND_Beep1116 1117 1118 ;1119 ; COM-PORT DEBUG1120 ;1121 ; callAuxIO_TeletypeNL1122 movsi, offset PartitionTable1123 ; callAuxIO_DumpSector1124 ; callAuxIO_TeletypeNL1125 1126 1127 ; Save configuration so phase1 boot-through is disabled1128 ; 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 boot1132 call DriveIO_SaveConfiguration1133 1134 1135 1136 ;1137 ; RE-ENTER SETUP1138 ;1139 MBR_Main_ReEnterSetup:1140 call SETUP_CheckEnterSETUP1141 1142 ;callSOUND_Beep1143 1144 ; Rousseau: Every time I see "AfterCrap" I have to laugh :-)1145 call AFTERCRAP_Main1146 1147 ; [Linux support removed since v1.02]1148 ;; Now get FAT16-Linux Kernel Partition, If requested1149 ;cmp [CFG_LinuxKrnlPartition], 0FFh1150 ;je MBR_Main_NoLinuxKrnlPartition1151 ;call LINUX_InitFAT16access1152 ;MBR_Main_NoLinuxKrnlPartition:1153 1154 1155 MBR_Main_ReEnterBootMenuPre:1156 1157 ; SetUp PartitionPointers for BootMenu (filter non-bootable)1158 call PART_CalculateMenuPartPointers1159 1160 ; ...and count that one...1161 cmp PartitionPointerCount, 01162 jne MBR_Main_SomethingBootAble1163 mov si, offset TXT_NoBootAble1164 call MBR_Teletype1165 jmp MBR_HaltSystem1166 1167 MBR_Main_SomethingBootAble:1168 ; FixUp Values, define Timed Setup booting, etc.1169 call PART_FixUpDefaultPartitionValues1170 1171 1172 1173 ; -------------------------------------------------- BOOT-MENU1174 MBR_Main_ReEnterBootMenu:1175 call BOOTMENU_ResetMenuVars ; reset has to be done1176 test CFG_AutomaticBoot, 11177 jz MBR_Main_NoAutomaticBooting1178 ; ------------------------------------------ AUTOMATIC BOOTING1179 ; Select automatic partition, disable automatic booting for1180 ; next time and boot system...1181 mov CFG_AutomaticBoot, 01182 call PASSWORD_AskSystemPwd1183 mov al, Menu_EntryAutomatic1184 1185 ;mov al, 21186 1187 mov Menu_EntrySelected, al; zero based1188 jmp MBR_Main_NoBootMenu1261 ; 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 1189 1352 1190 1353 MBR_Main_NoAutomaticBooting: 1191 1354 1192 ;call SOUND_Beep1193 1194 test CFG_BootMenuActive, 0FFh1195 jnz MBR_Main_GotBootMenu1196 ; ----------------------------------------------- NO BOOT-MENU1197 ; Select default partition and boot system...1198 call PASSWORD_AskSystemPwd1199 1200 ;call VideoIO_DBG_WriteString21201 1202 mov al, Menu_EntryDefault1203 ;moval,0 ; zero based1204 mov Menu_EntrySelected, al1205 jmp MBR_Main_NoBootMenu1206 1207 MBR_Main_GotBootMenu:1208 ; ------------------------------------------ BOOT-MENU VISUALS1209 call FX_StartScreen1210 1211 ;callSOUND_Beep1212 1213 call BOOTMENU_BuildBackground1214 call BOOTMENU_BuildMain1215 call FX_EndScreenRight1216 call PASSWORD_AskSystemPwd1217 call BOOTMENU_ResetTimedBoot1218 1219 ;callSOUND_Beep1220 1221 call BOOTMENU_Execute1222 1223 ;callSOUND_Beep1224 1225 jc MBR_Main_ReEnterSetup1226 call BOOTMENU_SetVarsAfterMenu1227 1228 ;callSOUND_Beep1229 1230 ; ---------------------------------------------------- BOOTING1231 MBR_Main_NoBootMenu:1232 call FX_StartScreen1233 call BOOTMENU_BuildGoodBye1234 call FX_EndScreenRight1235 call PASSWORD_AskChangeBootPwd1236 1237 IFNDEF ReleaseCode1238 ; Debug Code to terminate DOS .COM program - used for1239 ; testing AiR-BOOT1240 int31241 mov ax, 6200h1242 int 21h1243 mov es, bx1244 mov ax, 4C00h ; Quit program1245 int 21h1246 ENDIF1247 call ANTIVIR_SaveBackUpMBR1248 mov dl, Menu_EntrySelected1249 1250 ; -------------------------------------------- START PARTITION1251 call PART_StartPartition1355 ;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 1252 1415 1253 1416 … … 1259 1422 ; 1260 1423 b_std_txt: 1261 Include REGULAR \STD_TEXT.asm; Standard (non-translateable text)1424 Include REGULAR/STD_TEXT.ASM ; Standard (non-translateable text) 1262 1425 size_std_txt = $-b_std_txt 1263 1426 1264 1427 b_driveio: 1265 Include REGULAR \DRIVEIO.asm; Drive I/O, Config Load/Save1428 Include REGULAR/DRIVEIO.ASM ; Drive I/O, Config Load/Save 1266 1429 size_driveio = $-b_driveio 1267 1430 1268 1431 b_videoio: 1269 Include REGULAR \ViDEOIO.asm; Video I/O1432 Include REGULAR/VIDEOIO.ASM ; Video I/O 1270 1433 size_videoio = $-b_videoio 1271 1434 1272 1435 b_timer: 1273 Include REGULAR \TIMER.asm; Timer1436 Include REGULAR/TIMER.ASM ; Timer 1274 1437 size_timer = $-b_timer 1275 1438 1276 1439 b_partmain: 1277 Include REGULAR \PARTMAIN.asm; Regular Partition Routines1440 Include REGULAR/PARTMAIN.ASM ; Regular Partition Routines 1278 1441 size_partmain = $-b_partmain 1279 1442 1280 1443 b_partscan: 1281 Include REGULAR \PARTSCAN.asm; Partition Scanning1444 Include REGULAR/PARTSCAN.ASM ; Partition Scanning 1282 1445 size_partscan = $-b_partscan 1283 1446 1284 1447 b_bootmenu: 1285 Include REGULAR \BOOTMENU.asm; Boot-Menu1448 Include REGULAR/BOOTMENU.ASM ; Boot-Menu 1286 1449 size_bootmenu = $-b_bootmenu 1287 1450 1288 1451 b_password: 1289 Include REGULAR \PASSWORD.asm; Password related1452 Include REGULAR/PASSWORD.ASM ; Password related 1290 1453 size_password = $-b_password 1291 1454 1292 1455 b_other: 1293 Include REGULAR \OTHER.asm; Other Routines1456 Include REGULAR/OTHER.ASM ; Other Routines 1294 1457 size_other = $-b_other 1295 1458 1296 1459 ; Rousseau: Special modules moved upwards. 1297 1460 b_main: 1298 Include SETUP \MAiN.ASM; The whole AiR-BOOT SETUP1461 Include SETUP/MAIN.ASM ; The whole AiR-BOOT SETUP 1299 1462 size_main = $-b_main 1300 1463 … … 1302 1465 IFDEF TXT_IncludeCyrillic 1303 1466 b_ccharset: 1304 Include SPEC iAL\CHARSET.asm; Charset Support (e.g. Cyrillic)1467 Include SPECIAL/CHARSET.ASM ; Charset Support (e.g. Cyrillic) 1305 1468 size_ccharset = $-b_ccharset 1306 1469 ENDIF 1307 1470 1308 1471 b_math: 1309 Include REGULAR \MATH.ASM; Math functions (like 32-bit multiply)1472 Include REGULAR/MATH.ASM ; Math functions (like 32-bit multiply) 1310 1473 size_math = $-b_math 1311 1474 … … 1314 1477 IFDEF AuxDebug 1315 1478 b_debug: 1316 ; Include REGULAR \DEBUG.ASM ; Various debugging routines,1317 ; uses AUXIO and CONV1479 ; Include REGULAR/DEBUG.ASM ; Various debugging routines, 1480 ; uses AUXIO and CONV 1318 1481 size_debug = $-b_debug 1319 1482 ENDIF 1320 1483 1321 1484 b_auxio: 1322 ;Include REGULAR \AUXIO.ASM; Com-port support for debugging1485 ;Include REGULAR/AUXIO.ASM ; Com-port support for debugging 1323 1486 size_auxio = $-b_auxio 1324 1487 1325 1488 ; Rousseau: moved upwards 1326 1489 ;IFDEF TXT_IncludeCyrillic 1327 ; Include SPEC iAL\CHARSET.asm; Charset Support (e.g. Cyrillic)1490 ; Include SPECIAL/CHARSET.ASM ; Charset Support (e.g. Cyrillic) 1328 1491 ;ENDIF 1329 1492 1330 1493 b_lvm: 1331 Include SPEC iAL\LVM.asm; LVM-specific code1494 Include SPECIAL/LVM.ASM ; LVM-specific code 1332 1495 size_lvm = $-b_lvm 1333 1496 … … 1337 1500 1338 1501 1339 ; Check for overlap 1340 slack03 = sos36 - eos3 1341 IF slack03 LT 0 1342 .ERR2 "Location Overlap slack03 !" 1343 ENDIF 1502 1344 1503 1345 1504 1346 1505 ;============================================================================== 1347 1506 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 1356 1519 1357 1520 ; Start of sector 36. 1358 1521 sos36: 1359 1522 1360 MBR_Protection: db 'AiR-BOOT MBR-Protection Image' 1361 ; Hardcoded to 1k (1024 bytes) 1362 db 1024-($-MBR_Protection) dup('X') 1523 1363 1524 1364 1525 ; End of sector 37, yes this section is 2 sectors long. … … 1367 1528 1368 1529 1369 ; Check for overlap 1370 slack04 = sos38 - eos37 1371 IF slack04 LT 0 1372 .ERR2 "Location Overlap slack04 !" 1373 ENDIF 1530 1374 1531 1375 1532 … … 1378 1535 ;============================================================================== 1379 1536 ; Sector 38-x 1380 ;1381 ; This section contains translatable texts.1382 ;1383 org04A00h1537 ; 1538 ; This section contains translatable texts. 1539 ; 1540 ;org 04A00h 1384 1541 1385 1542 ; Start of sector 28. … … 1387 1544 1388 1545 b_txtother: 1389 Include TEXT \TXTOTHER.asm; All translateable Text-Strings1546 Include TEXT/TXTOTHER.ASM ; All translateable Text-Strings 1390 1547 size_txtother = $-b_txtother 1391 1548 1392 1549 b_txtmenus: 1393 Include TEXT \TXTMENUS.asm; All translateable Menu-text1550 Include TEXT/TXTMENUS.ASM ; All translateable Menu-text 1394 1551 size_txtmenus = $-b_txtmenus 1395 1552 1396 1553 b_charset: 1397 Include TEXT \CHARSET.asm; Special Video Charsets (if needed)1554 Include TEXT/CHARSET.ASM ; Special Video Charsets (if needed) 1398 1555 size_charset = $-b_charset 1399 1556 1400 1557 b_conv: 1401 Include REGULAR \CONV.ASM; Various conversion routines1558 Include REGULAR/CONV.ASM ; Various conversion routines 1402 1559 size_conv = $-b_conv 1403 1560 1404 1561 b_virus: 1405 Include SPEC iAL\ViRUS.asm; Virus Detection / Anti-Virus1562 Include SPECIAL/VIRUS.ASM ; Virus Detection / Anti-Virus 1406 1563 size_virus = $-b_virus 1407 1564 ; [Linux support removed since v1.02] 1408 ;Include SPEC iAL\FAT16.asm; FAT-16 Support1409 ;Include SPEC iAL\LINUX.asm; Linux Kernel Support1565 ;Include SPECIAL/FAT16.ASM ; FAT-16 Support 1566 ;Include SPECIAL/LINUX.ASM ; Linux Kernel Support 1410 1567 b_billsuxx: 1411 Include SPEC iAL\F00K\BILLSUXX.asm; Extended Partition - Microsoft-Hack1568 Include SPECIAL/F00K/BILLSUXX.ASM ; Extended Partition - Microsoft-Hack 1412 1569 size_billsuxx = $-b_billsuxx 1413 1570 1414 1571 b_sound: 1415 Include SPEC iAL\SOUND.asm; Sound1572 Include SPECIAL/SOUND.ASM ; Sound 1416 1573 size_sound = $-b_sound 1417 1574 1418 1575 b_apm: 1419 Include SPEC iAL\APM.asm; Power Managment Support1576 Include SPECIAL/APM.ASM ; Power Managment Support 1420 1577 size_apm = $-b_apm 1421 1578 1422 1579 b_fx: 1423 Include SPEC iAL\FX.asm; l33t Cooper-Bars/Scrolling <bg>1580 Include SPECIAL/FX.ASM ; l33t Cooper-Bars/Scrolling <bg> 1424 1581 size_fx = $-b_fx 1425 1582 … … 1428 1585 ; Let's make this always the last module in this section. 1429 1586 ; 1430 Include BLDDATE. asm; Build Date generated by _build.cmd1587 Include BLDDATE.ASM ; Build Date generated by _build.cmd 1431 1588 1432 1589 ; End of sector x depending on size of translatable texts. 1433 1590 eosx: 1434 1591 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 1594 CODE_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 ; 1609 here = $ 1610 org 06800h 1611 check_overlap here 1612 1613 MBR_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' 1448 1621 1449 1622 ;============================================================================== 1450 1623 ; Sector 55 1451 1624 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 ; 1632 here = $ 1633 org 06C00h 1634 check_overlap here 1460 1635 sos55: 1461 1636 1462 1637 1463 1638 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) 1639 Configuration: 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 1658 CFG_LastTimeEditLow dw 0 ; Last Time Edited Stamp (will incr every setup) 1659 CFG_LastTimeEditHi dw 0 ; second 16 bit part... 1660 1661 CFG_CheckConfig dw 0 ; Check-Sum for Configuration 1662 1663 CFG_Partitions db 0 ; Count of partitions in IPT 1664 db 0 ; Was BootParts - Removed since v0.28b 1665 CFG_PartDefault db 0 ; Default-Partition (Base=0) 1666 1667 CFG_PartLast db 0 ; Which Partition was booted last time ? (Base=0) 1668 CFG_TimedBoot db 0 ; Timed Boot Enable (for REAL Enable look TimedBootEnable) 1669 CFG_TimedSecs db 15 ; Timed Boot - How Many Seconds Till Boot 1670 CFG_TimedDelay dw 123 ; Timed Boot - Delay 1671 CFG_TimedBootLast db 1 ; Timed Boot - Boot From Last Drive Booted From 1672 CFG_RememberBoot db 1 ; Remember Manual Boot Choice 1673 CFG_RememberTimed db 0 ; Remember if Timed Boot (if both disabled: Boot Default) 1674 CFG_IncludeFloppy db 1 ; Include Floppy Drives in Boot-Menu 1675 CFG_BootMenuActive db 1 ; Display Boot-Menu (if Disabled: Boot Default) 1500 1676 ; v0.29+ -> 2 - Detailed Bootmenu 1501 CFG_PartitionsDetect db 1; Autodetect New Partitions (Auto-Add!)1502 CFG_PasswordSetup db 0; Ask Password when entering Setup1503 CFG_PasswordSystem db 0; Ask Password when booting System1504 CFG_PasswordChangeBoot db 0; Ask Password when changing boot partition1505 CFG_ProtectMBR db 0; Protect MBR via TSR ?1506 CFG_IgnoreWriteToMBR db 0; Just ignore writes to MBR, otherwise crash1507 CFG_FloppyBootGetName db 0; Gets floppy name for display purposes1508 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 dw07A53h1514 dw0E797h1515 dw0A896h1516 CFG_BootPassword dw 0101Fh; Another CR... ;-)1517 dw07A53h1518 dw0E797h1519 dw0A896h1520 db 0; Rude-Protection - Removed since v0.28b1521 CFG_LinuxRootPartition db 0; Linux Root Partition (Base=0)1522 CFG_TimedKeyHandling db 0; Timed Key Handling (for Timed Boot)1523 ; 0 - Do Nothing1524 ; 1 - Reset Time1525 ; 2 - Stop Time1526 CFG_MakeSound db 0; Should be clear ;)1527 CFG_FloppyBootGetTimer db 0; Floppy Name will get updated every 2 secs1528 CFG_ResumeBIOSbootSeq db 0; If BIOS Boot Sequence should be resumed1529 ; 0 - Disabled1530 ; 1 - CD-ROM1531 ; 2 - Network1532 ; 3 - ZIP/LS1201533 CFG_CooperBars db 0; If Cooper Bars should be shown1534 CFG_LinuxCommandLine db 75 dup (0); Linux Command Line1535 CFG_LinuxKrnlPartition db 0FFh; FAT-16 Linux Kernel Partition (Base=0)1536 ; FFh -> Disabled1537 CFG_LinuxDefaultKernel db 'DEFAULT', 4 dup (32), 0; Default Kernel Name1538 CFG_LinuxLastKernel db 11 dup (32), 0; Last-Booted Kernel Name1539 CFG_ExtPartitionMShack db 0; Extended Partition M$-Hack Global Enable1540 CFG_AutomaticBoot db 0; Automatic Booting (only one bootup)1541 CFG_PartAutomatic db 0; Partition-No for automatic booting1542 CFG_ForceLBAUsage db 1; LBA-BIOS-API forced on any HDD I/O1543 CFG_IgnoreLVM db 0; Ignores any LVM-Information1677 CFG_PartitionsDetect db 1 ; Autodetect New Partitions (Auto-Add!) 1678 CFG_PasswordSetup db 0 ; Ask Password when entering Setup 1679 CFG_PasswordSystem db 0 ; Ask Password when booting System 1680 CFG_PasswordChangeBoot db 0 ; Ask Password when changing boot partition 1681 CFG_ProtectMBR db 0 ; Protect MBR via TSR ? 1682 CFG_IgnoreWriteToMBR db 0 ; Just ignore writes to MBR, otherwise crash 1683 CFG_FloppyBootGetName db 0 ; Gets floppy name for display purposes 1684 CFG_DetectVirus db 0 ; Detect Virus ? 1685 CFG_DetectStealth db 0 ; Detect Stealth-Virus ? 1686 CFG_DetectVIBR db 0 ; Detect BootRecord-Virus ? 1687 CFG_AutoEnterSetup db 0 ; Automatic Enter Setup (first install!) 1688 CFG_MasterPassword dw 0101Fh ; Encoded Password (this is just CR) 1689 dw 07A53h 1690 dw 0E797h 1691 dw 0A896h 1692 CFG_BootPassword dw 0101Fh ; Another CR... ;-) 1693 dw 07A53h 1694 dw 0E797h 1695 dw 0A896h 1696 db 0 ; Rude-Protection - Removed since v0.28b 1697 CFG_LinuxRootPartition db 0 ; Linux Root Partition (Base=0) 1698 CFG_TimedKeyHandling db 0 ; Timed Key Handling (for Timed Boot) 1699 ; 0 - Do Nothing 1700 ; 1 - Reset Time 1701 ; 2 - Stop Time 1702 CFG_MakeSound db 0 ; Should be clear ;) 1703 CFG_FloppyBootGetTimer db 0 ; Floppy Name will get updated every 2 secs 1704 CFG_ResumeBIOSbootSeq db 0 ; If BIOS Boot Sequence should be resumed 1705 ; 0 - Disabled 1706 ; 1 - CD-ROM 1707 ; 2 - Network 1708 ; 3 - ZIP/LS120 1709 CFG_CooperBars db 0 ; If Cooper Bars should be shown 1710 CFG_LinuxCommandLine db 75 dup (0) ; Linux Command Line 1711 CFG_LinuxKrnlPartition db 0FFh ; FAT-16 Linux Kernel Partition (Base=0) 1712 ; FFh -> Disabled 1713 CFG_LinuxDefaultKernel db 'DEFAULT', 4 dup (32), 0 ; Default Kernel Name 1714 CFG_LinuxLastKernel db 11 dup (32), 0 ; Last-Booted Kernel Name 1715 CFG_ExtPartitionMShack db 0 ; Extended Partition M$-Hack Global Enable 1716 CFG_AutomaticBoot db 0 ; Automatic Booting (only one bootup) 1717 CFG_PartAutomatic db 0 ; Partition-No for automatic booting 1718 CFG_ForceLBAUsage db 1 ; LBA-BIOS-API forced on any HDD I/O 1719 CFG_IgnoreLVM db 0 ; Ignores any LVM-Information 1544 1720 1545 1721 … … 1548 1724 ; 1549 1725 1550 1726 ; 6cae 1551 1727 eoc: 1552 1728 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. 1734 here = $ 1735 org 06D00h 1736 check_overlap here 1563 1737 1564 1738 soiv: … … 1567 1741 ; It is truncated to 11 chars because AiR-BOOT currently does not support 1568 1742 ; longer labelnames. The name is also capitalized. 1569 ;eCS_InstallVolume db12 dup (0)1570 ;eCS_InstallVolume db'HIGHLOG' ,01571 eCS_InstallVolume db0,'NOPHASEONE' ,01572 ;eCS_InstallVolume db'ECS-MIDDLE',0,01573 ;eCS_InstallVolume db'ECS-HIGH',0,0,0,01574 ;eCS_InstallVolume db'ECS-HIGH',0,'NO',01575 1576 1577 1743 ;eCS_InstallVolume db 12 dup (0) 1744 ;eCS_InstallVolume db 'HIGHLOG' ,0 1745 eCS_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 1578 1752 ; End of sector 55. 1579 1753 eos55: … … 1581 1755 1582 1756 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 ; 1770 here = $ 1771 org 06DABh ; 427 Boundry 1772 check_overlap here 1773 sosvs: 1774 1775 ; (432 - 5 = 427) 1776 AutoDrvLetter db 0 1777 AutoDrvLetterSerial dd 0 1778 1779 ; This entry is also 34 bytes long (466 - 34 = 432) 1780 BIOScontIPTentry: 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 1590 1787 1591 1788 ; VIR variables are for the AiR-BOOT Anti Virus Code … … 1603 1800 ; off or just reset it by switching 'VIBR Detection'. 1604 1801 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 1803 CFG_VIR_INT08 dd 0 ; pointer to saved 08h entry point 1804 CFG_VIR_INT13 dd 0 ; pointer to saved 13h entry point 1805 CFG_VIR_INT1C dd 0 ; pointer to saved 1Ch entry point 1806 1807 ; 478 Boundry (512-34) 1616 1808 ; 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 1809 FloppyIPTentry 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 1638 1815 ;------------------------------------------------------------------------------ 1639 1816 1640 1817 eosvs: 1641 1818 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-571650 org image_size - 0a00h - (image_size - image_size_60secs) 1819 1820 1821 1822 ;org 06E00h ; Sector 56-57 1823 1824 here = $ 1825 org image_size - 0a00h - (image_size - image_size_60secs) 1826 check_overlap here 1827 1651 1828 sos56: 1652 1829 … … 1655 1832 ; Rousseau: This is the start of the AiR-BOOT IPT 1656 1833 1657 PartitionTable: ; no-partitions detected... :]1834 PartitionTable: ; no-partitions detected... :] 1658 1835 ; db 1, 0, 0, 0, 'Harddisc 1' 1659 1836 ; db 0, 0FFh, Flags_BootAble … … 1663 1840 ; dd 0, 0 1664 1841 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 !!!!!!!!!!!!!! 1681 1860 eos56: 1682 1861 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 1692 1873 soiptsig: 1693 db 'AiRBOOTPAR' ; 1K internal partition table1874 db 'AiRBOOTPAR' ; 1K internal partition table 1694 1875 1695 1876 … … 1697 1878 eoiptsig: 1698 1879 1699 ; Check for overlap 1700 slack09 = soipt - eoiptsig 1701 IF slack09 LT 0 1702 .ERR2 "Location Overlap slack09 !" 1703 ENDIF 1880 1704 1881 1705 1882 ;------------------------------------------------------------------------------ 1706 1883 ;org 07200h ; Sector 58 1707 org image_size - 600h - (image_size - image_size_60secs) / 2 1884 1885 here = $ 1886 org image_size - 600h - (image_size - image_size_60secs) / 2 1887 check_overlap here 1708 1888 soipt: 1709 1889 sos58: 1710 1711 HidePartitionTable : db(partition_count * 30) dup (0FFh)1712 ; Format is:1713 ;============1714 ; PartitionPtr : BYTE * 301715 ; --------------------> 30 Bytes * 301716 1717 DriveLetters : db partition_count dup (0)1718 ; Format is:1719 ;============1720 ; Drive-Letter : BYTE (80h-C:, 81h-D:)1721 ; --------------------> 1 Byte * 301890 ; 7400h 1891 HidePartitionTable db (partition_count * 30) dup (0FFh) 1892 ; Format is: 1893 ;============ 1894 ; PartitionPtr : BYTE * 30 1895 ; --------------------> 30 Bytes * 30 1896 1897 DriveLetters db partition_count dup ('L') 1898 ; Format is: 1899 ;============ 1900 ; Drive-Letter : BYTE (80h-C:, 81h-D:) 1901 ; --------------------> 1 Byte * 30 1722 1902 1723 1903 ; … … 1729 1909 eoipt: 1730 1910 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 1741 1920 1742 1921 sohidsig: 1743 db 'AiRBOOTHID' ; 1K internal Hide-partition table 1922 ; 1923 db 'AiRBOOTHID' ; 1K internal Hide-partition table 1924 1744 1925 1745 1926 eohidsig: 1746 1927 1747 ; Check for overlap 1748 slack11 = sohid - eohidsig 1749 IF slack11 LT 0 1750 .ERR2 "Location Overlap slack11 !" 1751 ENDIF 1928 1752 1929 1753 1930 … … 1755 1932 1756 1933 ;------------------------------------------------------------------------------ 1757 ;org 07600h ; Sector 60 1758 org image_size - 200h ; Sector 60 1934 ;org 07600h 1935 1936 here = $ 1937 org image_size - 200h ; Sector 60 1938 check_overlap here 1939 1759 1940 sohid: 1760 1941 sos60: 1761 1942 1762 MBR_BackUpMBR db'AiR-BOOT MBR-BackUp - Just to fill this sector with something',01763 AirBootRocks db'AiR-BOOT Rocks!',01764 1765 db512-($-sohid)-2 dup(0)1943 MBR_BackUpMBR db 'AiR-BOOT MBR-BackUp - Just to fill this sector with something',0 1944 AirBootRocks db 'AiR-BOOT Rocks!',0 1945 1946 db 512-($-sohid)-2 dup(0) 1766 1947 1767 1948 eos60: 1768 1949 eohid: 1769 1950 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 1956 here = $ 1957 org image_size - 2 1958 check_overlap here 1959 dw 0BABEh 1960 1961 eoab: 1962 1963 1964 IFDEF SEGMENTED 1965 ; 1966 ; End of AiR-BOOT code and data. 1967 ; 1968 1969 IMAGE ENDS 1970 1971 ;DATA_SEG ENDS 1972 1973 ; 1974 ; Uninitialized Data (BSS) 1975 ; 1976 VOLATILE SEGMENT USE16 PUBLIC 'BSS' 1977 1774 1978 ENDIF 1775 1979 1776 1777 ;org 077FEh1778 org image_size - 21779 dw 0BABEh1780 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 ;1791 1980 sobss: 1792 1981 ;------------------------------------------------------------------------------ 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 1794 1991 ; This space actually gets initialized in PreCrap to NUL (till EndOfVariables) 1795 1992 BeginOfVariables: 1796 PartitionSector db512 dup (?) ; Temporary Sector for Partition1797 JfsPBR db512 dup (?) ; Temporary Sector for JFS PBR writeback1798 LVMSector : db512 dup (?) ; Temporary Sector for LVM1799 TmpSector : db512 dup (?) ; Temporary Sector1993 PartitionSector db 512 dup (?) ; Temporary Sector for Partition 1994 JfsPBR db 512 dup (?) ; Temporary Sector for JFS PBR writeback 1995 LVMSector db 512 dup (?) ; Temporary Sector for LVM 1996 TmpSector db 512 dup (?) ; Temporary Sector 1800 1997 1801 1998 ; Everything used to build a new IPT and reference it to the old one 1802 NewPartTable : db 1536 dup (?); New Partition Table1803 NewHidePartTable : db partition_count * 30 dup (?); New Hide-Partition Table1804 NewDriveLetters : db partition_count dup (?); Logical Drive-Letters1805 1806 PartitionSizeTable : dbpartition_count * 6 dup (?) ; Size-Table (6 bytes per partition)1807 PartitionPointers dw 52 dup (?); Maximum is 52 entries till now1808 PartitionPointerCount db? ; Count of total Partition Pointers1809 PartitionXref dbpartition_count dup (?) ; X-Reference Table1810 PartitionVolumeLetters dbpartition_count dup (?) ; Volume-Letters1999 NewPartTable db 1536 dup (?) ; New Partition Table 2000 NewHidePartTable db partition_count * 30 dup (?) ; New Hide-Partition Table 2001 NewDriveLetters db partition_count dup (?) ; Logical Drive-Letters 2002 2003 PartitionSizeTable db partition_count * 6 dup (?) ; Size-Table (6 bytes per partition) 2004 PartitionPointers dw 52 dup (?) ; Maximum is 52 entries till now 2005 PartitionPointerCount db ? ; Count of total Partition Pointers 2006 PartitionXref db partition_count dup (?) ; X-Reference Table 2007 PartitionVolumeLetters db partition_count dup (?) ; Volume-Letters 1811 2008 ; 0 - no LVM support 1812 2009 ; 1 - LVM support, but no letter 1813 2010 ; 'C'-'Z' - assigned drive letter 1814 2011 1815 TotalHarddiscs db? ; Total harddrives (by POST)1816 LBASwitchTable db 128 dup (?); Bit 25-18 for CHS/LBA Switching1817 NewPartitions db? ; Freshly found partitions1818 ; Independent of SaveConfiguration1819 1820 VideoIO_Segment dw? ; Segment for Video I/O1821 1822 ExtendedAbsPos dd? ; Extended Partition Absolute Position1823 ExtendedAbsPosSet db? ; If Absolute Position set1824 1825 CurPartition_Location dw4 dup (?) ; Where did current partition come from?1826 CurIO_UseExtension db? ; 1-Use INT 13h EXTENSIONS1827 ; (filled out by PreCrap)1828 CurIO_Scanning db? ; 1-AiR-BOOT is scanning partitions1829 ; (for detailed error message)2012 TotalHarddiscs db ? ; Total harddrives (by POST) 2013 LBASwitchTable db 128 dup (?) ; Bit 25-18 for CHS/LBA Switching 2014 NewPartitions db ? ; Freshly found partitions 2015 ; Independent of SaveConfiguration 2016 2017 VideoIO_Segment dw ? ; Segment for Video I/O 2018 2019 ExtendedAbsPos dd ? ; Extended Partition Absolute Position 2020 ExtendedAbsPosSet db ? ; If Absolute Position set 2021 2022 CurPartition_Location dw 4 dup (?) ; Where did current partition come from? 2023 CurIO_UseExtension db ? ; 1-Use INT 13h EXTENSIONS 2024 ; (filled out by PreCrap) 2025 CurIO_Scanning db ? ; 1-AiR-BOOT is scanning partitions 2026 ; (for detailed error message) 1830 2027 1831 2028 ; [Linux support removed since v1.02] 1832 2029 ;GotLinux db ? ; 1-Linux found 1833 2030 1834 Menu_EntrySelected db ?; Which partition we boot this time...1835 Menu_UpperPart db ?; Which number (Base=0) is the partition upper pos1836 Menu_AbsoluteX db ?; Pos where Menu stuff starts1837 Menu_TotalParts db ?; Copy of CFG_BootParts1838 Menu_TotalLines db ?; Total Lines on Screen used for BootMenu1839 Menu_EntryDefault db ?; Default Entry in filtered View1840 Menu_EntryLast db ?; LastBooted Entry in filtered View1841 Menu_EntryAutomatic db ?; Automatic Entry in filtered View2031 Menu_EntrySelected db ? ; Which partition we boot this time... 2032 Menu_UpperPart db ? ; Which number (Base=0) is the partition upper pos 2033 Menu_AbsoluteX db ? ; Pos where Menu stuff starts 2034 Menu_TotalParts db ? ; Copy of CFG_BootParts 2035 Menu_TotalLines db ? ; Total Lines on Screen used for BootMenu 2036 Menu_EntryDefault db ? ; Default Entry in filtered View 2037 Menu_EntryLast db ? ; LastBooted Entry in filtered View 2038 Menu_EntryAutomatic db ? ; Automatic Entry in filtered View 1842 2039 ; - All adjusted to menu locations 1843 2040 1844 PartSetup_UpperPart db ?; Partition-Setup (like Menu_UpperPart)1845 PartSetup_ActivePart db ?; Active Partition1846 PartSetup_HiddenUpper db ?; (like Menu_UpperPart)1847 PartSetup_HiddenX db ?; Pos for Hidden-Setup1848 PartSetup_HiddenAdd db ?; Adjust for Hidden-Setup1849 1850 TimedBootEnable db ?; Local Enable/Disable for timed boot1851 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 noticed1854 TimedBootUsed db ?; Timed Boot used for bootup ?1855 FloppyGetNameTimer dd ?; Timer for Floppy-Get-Name1856 SETUP_KeysOnEntry db ?; which Shift Status was there, when booting ?1857 SETUP_ExitEvent db ?; Exit Event to end SETUP1858 TempPasswordEntry db17 dup (?)1859 SETUP_OldPwd db17 dup (?)1860 SETUP_NewPwd db17 dup (?)1861 SETUP_VerifyPwd db17 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?2041 PartSetup_UpperPart db ? ; Partition-Setup (like Menu_UpperPart) 2042 PartSetup_ActivePart db ? ; Active Partition 2043 PartSetup_HiddenUpper db ? ; (like Menu_UpperPart) 2044 PartSetup_HiddenX db ? ; Pos for Hidden-Setup 2045 PartSetup_HiddenAdd db ? ; Adjust for Hidden-Setup 2046 2047 TimedBootEnable db ? ; Local Enable/Disable for timed boot 2048 TimedTimeOut dd ? ; TimeOut Timer for TimedBoot (too much time here ;) 2049 TimedSecondLeft db ? ; How many seconds are left till boom ? 2050 TimedSecondBack db ? ; To get a modification noticed 2051 TimedBootUsed db ? ; Timed Boot used for bootup ? 2052 FloppyGetNameTimer dd ? ; Timer for Floppy-Get-Name 2053 SETUP_KeysOnEntry db ? ; which Shift Status was there, when booting ? 2054 SETUP_ExitEvent db ? ; Exit Event to end SETUP 2055 TempPasswordEntry db 17 dup (?) 2056 SETUP_OldPwd db 17 dup (?) 2057 SETUP_NewPwd db 17 dup (?) 2058 SETUP_VerifyPwd db 17 dup (?) 2059 StartSoundPlayed db ? 2060 ChangePartNameSave db ? 2061 2062 FX_UseCount dw ? 2063 FX_OverallTimer dw ? 2064 FX_WideScrollerTimer dw ? 2065 FX_WideScrollerCurPos dw ? 2066 FX_WideScrollerSpeed db ? 2067 FX_WideScrollerSpeedState db ? 2068 FX_WideScrollerDirection db ? 2069 FX_WideScrollerAbsDirection db ? 2070 FX_WideScrollerBounceSpeed db ? 2071 FX_CooperBarsTimer dw ? 1875 2072 1876 2073 ; [Linux support removed since v1.02] … … 1892 2089 1893 2090 ; Dynamically Generated Tables - do not need to get initialized with NUL 1894 FX_CooperColors db 672 dup (?) ; 7 cooper bars*96 - runtime calculated1895 FX_CooperState :db 7 dup (?)1896 FX_SinusPos :db 7 dup (?)1897 FX_CooperPos :dw 7 dup (?)1898 CharsetTempBuffer db 4096 dup (?) ; Uninitialized Charset buffer1899 LVM_CRCTable :dd 256 dup (?) ; LVM-CRC (->SPECiAL\LVM.asm)2091 FX_CooperColors db 672 dup (?) ; 7 cooper bars*96 - runtime calculated 2092 FX_CooperState db 7 dup (?) 2093 FX_SinusPos db 7 dup (?) 2094 FX_CooperPos dw 7 dup (?) 2095 CharsetTempBuffer db 4096 dup (?) ; Uninitialized Charset buffer 2096 LVM_CRCTable dd 256 dup (?) ; LVM-CRC (->SPECiAL\LVM.asm) 1900 2097 1901 2098 … … 1907 2104 1908 2105 ;EVEN 1909 HugeDisk dbMaxDisks dup(?)1910 TrueSecs ddMaxDisks dup(?)2106 HugeDisk db MaxDisks dup(?) 2107 TrueSecs dd MaxDisks dup(?) 1911 2108 1912 2109 ; BIOS geometry of the boot-drive 1913 2110 ; Note that heads cannot be 256 due to legacy DOS/BIOS bug 1914 2111 ; If Int13X is supported those values are used, otherwise the legacy values. 1915 BIOS_Cyls ddMaxDisks dup(?)1916 BIOS_Heads ddMaxDisks dup(?)1917 BIOS_Secs ddMaxDisks dup(?)1918 BIOS_Bytes dwMaxDisks dup(?)1919 BIOS_TotalSecs dqMaxDisks dup(?)2112 BIOS_Cyls dd MaxDisks dup(?) 2113 BIOS_Heads dd MaxDisks dup(?) 2114 BIOS_Secs dd MaxDisks dup(?) 2115 BIOS_Bytes dw MaxDisks dup(?) 2116 BIOS_TotalSecs dq MaxDisks dup(?) 1920 2117 1921 2118 ; LBA geometry of the boot-drive 1922 2119 ; Note that these values are taken from the BPB of a partition boot-record 1923 LVM_Cyls ddMaxDisks dup(?)1924 LVM_Heads ddMaxDisks dup(?)1925 LVM_Secs ddMaxDisks dup(?)1926 LVM_Bytes dwMaxDisks dup(?)1927 LVM_TotalSecs dqMaxDisks dup(?)2120 LVM_Cyls dd MaxDisks dup(?) 2121 LVM_Heads dd MaxDisks dup(?) 2122 LVM_Secs dd MaxDisks dup(?) 2123 LVM_Bytes dw MaxDisks dup(?) 2124 LVM_TotalSecs dq MaxDisks dup(?) 1928 2125 1929 2126 ; OS/2 geometry of the boot-drive 1930 2127 ; Note that these values are taken from the BPB of a partition boot-record 1931 LOG_Cyls ddMaxDisks dup(?)1932 LOG_Heads ddMaxDisks dup(?)1933 LOG_Secs ddMaxDisks dup(?)1934 LOG_Bytes dwMaxDisks dup(?)1935 LOG_TotalSecs dqMaxDisks dup(?)2128 LOG_Cyls dd MaxDisks dup(?) 2129 LOG_Heads dd MaxDisks dup(?) 2130 LOG_Secs dd MaxDisks dup(?) 2131 LOG_Bytes dw MaxDisks dup(?) 2132 LOG_TotalSecs dq MaxDisks dup(?) 1936 2133 1937 2134 ; Rousseau: moved here … … 1945 2142 ;db 1 dup(?) 1946 2143 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 buffer1952 ; (excluding the size word at the start).2144 i13xbuf 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). 1953 2150 1954 2151 eobss: 1955 2152 1956 1957 code_seg ends 1958 end air_boot 2153 IFDEF SEGMENTED 2154 VOLATILE ENDS 2155 ELSE 2156 CODE_SEG ENDS 2157 ENDIF 2158 END AIR_BOOT 2159 2160 2161  - 
      
trunk/BOOTCODE/MBR-PROT/MBR_PROT.ASM
r30 r37 19 19 ; AiR-BOOT SETUP / GENERIC & GENERAL SETUP ROUTINES 20 20 ;--------------------------------------------------------------------------- 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 21 27 28 ;_TEXT SEGMENT USE16 PUBLIC 'CODE' 29 ;_TEXT ENDS 30 31 MBRPROT GROUP CODE_SEG 32 ;DGROUP GROUP CODE_SEG 33 34 CODE_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 22 40 .386p 23 .model large, basic24 25 code_seg segment public use1626 assume cs:code_seg, ds:nothing, es:nothing, ss:nothing27 org 0000h28 41 29 42 ; Yes you are :-) … … 114 127 jmp WindowsProcessing 115 128 116 MBRProt_WriteLine Proc Near 129 MBRProt_WriteLine Proc Near Uses ax bx cx dx 117 130 add di, 26 118 131 mov ah, 4Ch ; red/brightred … … 148 161 MBRProt_WriteBorderLine EndP 149 162 150 MBRP_Line1 :db 'ÕÍÍŽ!ATTENTION! -> A V1RU5 WAS FOUND <- !ATTENTION!ÃÍÍž'151 MBRP_EmptyLine :db '³ ³'163 MBRP_Line1 db 'ÕÍÍŽ!ATTENTION! -> A V1RU5 WAS FOUND <- !ATTENTION!ÃÍÍž' 164 MBRP_EmptyLine db '³ ³' 152 165 db '³ A program tried to write to your Master Boot Record ³' 153 166 db '³ AiR-BOOT supposes this as a viral act, so it ³' 154 167 db '³ intercepted it and crashed the system. ³' 155 MBRP_Line2 :db '³ If you tried to install a OS or something like that ³'168 MBRP_Line2 db '³ If you tried to install a OS or something like that ³' 156 169 db '³ you have to deactivate MBR PROTECTION in AiR-BOOT ³' 157 170 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ÃÍÍŸ' 172 MBRP_Line3 db 'ÔÍÍÍŽAiR-BOOT (c) Copyright by M. Kiewitz 1999-2012ÃÍÍŸ' 160 173 161 174 org 1023 162 175 db 0 163 176 164 code_seg EndS177 CODE_SEG ENDS 165 178 end  - 
      
trunk/BOOTCODE/REGULAR/BOOTMENU.ASM
r31 r37 718 718 ; Will Set some Vars after user selected entry to boot... 719 719 ; ...don't select Straight View ! 720 BOOTMENU_SetVarsAfterMenu Proc Near Uses720 BOOTMENU_SetVarsAfterMenu Proc Near 721 721 ; No Straight View in here...we got filtered view since BootMenu-Startup... 722 722 mov al, CFG_RememberTimed … … 780 780 jz BME_NoTimedBoot 781 781 ; ------------------------------------------------ TIMED BOOT 782 push ax dx 782 push ax 783 push dx 783 784 call TIMER_GetTicCount 784 785 mov dx, word ptr [TimedTimeOut] … … 793 794 cmp al, 0 794 795 jne BME_NoTimeOut 795 pop dx ax 796 pop dx 797 pop ax 796 798 mov dl, Menu_EntryDefault 797 799 and CFG_TimedBootLast, 1 … … 805 807 806 808 BME_NoTimeOut: 807 pop dx ax 809 pop dx 810 pop ax 808 811 BME_NoTimedBoot: 809 812 ; ------------------------------------------------ FLOPPY-NAME TIMER … … 811 814 jz BME_NoFloppyNameTimer 812 815 ; Wait 2 Seconds everytime 813 push ax dx 816 push ax 817 push dx 814 818 call TIMER_GetTicCount 815 819 cmp dx, wptr [FloppyGetNameTimer+2] … … 819 823 BME_ExpiredGetFloppy: 820 824 call BOOTMENU_ResetGetFloppy 821 pop dx ax 825 pop dx 826 pop ax 822 827 jmp BME_RefreshFloppyName 823 828 BME_NoFloppyNameExpired: 824 pop dx ax 829 pop dx 830 pop ax 825 831 BME_NoFloppyNameTimer: 826 832 ; ------------------------------------------------ KEYBOARD … … 848 854 int 16h 849 855 pop dx 850 cmp ah, Keys_E nter856 cmp ah, Keys_ENTER 851 857 je BME_KeyEnter 852 858 cmp ah, Keys_F10  - 
      
trunk/BOOTCODE/REGULAR/DRIVEIO.ASM
r36 r37 153 153 154 154 DriveIO_GetHardDriveCount Proc Near Uses ds si 155 push ds si 155 push ds 156 push si 156 157 push 0040h 157 158 pop ds 158 159 mov si, 0075h 159 160 mov dh, ds:[si] ; 40:75 -> POST: Total Harddiscs == DL 160 pop si ds 161 pop si 162 pop ds 161 163 mov TotalHarddiscs, dh 162 164 ret … … 173 175 mov dl, 80h 174 176 DIOILUT_DriveLoop: 175 push dx di 177 push dx 178 push di 176 179 mov ah, 08h 177 180 int 13h ; DISK - GET DRIVE PARAMETERS … … 190 193 ; bit 16-23 of the LBA address 191 194 DIOILUT_Error: 192 pop di dx 195 pop di 196 pop dx 193 197 mov bptr ds:[di], ah ; Save that value 194 198 inc di ; Go to next BYTE … … 206 210 ; Rousseau: Enhanced to handle sector-numbers 127 and 255 besides 63 for LVM-info sectors. 207 211 ; Ugly, need to cleanup. 208 DriveIO_LVMAdjustToInfoSector Proc Near Uses212 DriveIO_LVMAdjustToInfoSector Proc Near 209 213 210 214 … … 471 475 DriveIO_LVMAdjustToInfoSector EndP 472 476 473 drive :db 'drive : ',0474 before_lvm_adjust :db 'before lvm adjust : ',0475 after_lvm_adjust :db 'after lvm adjust : ',0476 before_lvm_adjust_log :db 'before lvm logical adjust: ',0477 after_lvm_adjust_log :db 'after lvm logical adjust : ',0478 spt_used :db 'spt used : ',0477 drive db 'drive : ',0 478 before_lvm_adjust db 'before lvm adjust : ',0 479 after_lvm_adjust db 'after lvm adjust : ',0 480 before_lvm_adjust_log db 'before lvm logical adjust: ',0 481 after_lvm_adjust_log db 'after lvm logical adjust : ',0 482 spt_used db 'spt used : ',0 479 483 480 484 … … 551 555 552 556 ; Keeps DS:SI for caller 553 DriveIO_LoadTmpSector Proc Near Uses557 DriveIO_LoadTmpSector Proc Near 554 558 mov si, offset TmpSector 555 559 call DriveIO_LoadSector ; Uses INT13X if needed … … 558 562 559 563 ; Keeps DS:SI for caller 560 DriveIO_SaveTmpSector Proc Near Uses564 DriveIO_SaveTmpSector Proc Near 561 565 mov si, offset TmpSector 562 566 call DriveIO_SaveSector … … 626 630 627 631 ; Memory-Block that holds information for LBA-access via INT 13h 628 DriveIO_DAP :db 10h ; Size of paket632 DriveIO_DAP db 10h ; Size of paket 629 633 db 0 ; Reserved 630 634 DriveIO_DAP_NumBlocks dw 0 ; Number of blocks … … 652 656 mov bptr [si+5], dl 653 657 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 655 664 DriveIO_GotLoadError EndP 656 665 … … 1237 1246 1238 1247 ; Values for sectors per track table corresponding to DriveIO_IsHugeDrive return value. 1239 secs_per_track_table :db 63,127,255,255,255,2551248 secs_per_track_table db 63,127,255,255,255,255 1240 1249 1241 1250 ;db_lmlvm: db 'Load Master LVM -- disk: ',0  - 
      
trunk/BOOTCODE/REGULAR/OTHER.ASM
r36 r37 83 83 GetLenOfStrings EndP 84 84 85 PRECRAP_Main Proc Near Uses85 PRECRAP_Main Proc Near 86 86 ; First initialize Variable-Area (everything with NUL) 87 87 mov di, offset BeginOfVariables … … 264 264 265 265 MBR_Main_BootThrough: 266 call MBR_Tele Type266 call MBR_Teletype 267 267 xor si,si 268 268 call MBR_TeletypeNL … … 357 357 358 358 359 AFTERCRAP_Main Proc Near Uses359 AFTERCRAP_Main Proc Near 360 360 ; =================================================== 361 361 ; Now get volume label of FloppyDrive, if wanted...  - 
      
trunk/BOOTCODE/REGULAR/PARTMAIN.ASM
r36 r37 114 114 call PART_GetPartitionPointer ; Gets SI for partition DL 115 115 mov al, ds:[si+LocIPT_Flags] 116 and al, Flags_Boot Able116 and al, Flags_Bootable 117 117 jnz PFUPN_Found 118 118 dec cl … … 290 290 ; In: DL - Number of partition in filtered view 291 291 ; Out: DL - Number of partition in straight view 292 PART_ConvertToStraight Proc Near Uses292 PART_ConvertToStraight Proc Near 293 293 ;movzx bx, dl 294 294 mov bl,dl ; partition number to bl … … 928 928 929 929 PSP_ForceI13X: 930 push es di si 930 push es 931 push di 932 push si 931 933 932 934 ; Setup ES and FS. … … 952 954 mov wptr es:[di+06], ax 953 955 954 pop si di es 956 pop si 957 pop di 958 pop es 955 959 956 960 … … 1151 1155 jz PSP_NoMBRprotect 1152 1156 ; -------------------------------------------------- INSTALLS MBR-PROTECTION 1153 push ds si ; We need DS:SI later... 1157 ; We need DS:SI later... 1158 push ds 1159 push si 1154 1160 ; First subtract 1024 bytes from Base-Memory... 1155 1161 push ds … … 1195 1201 mov ds:[si+2], dx ; Vector hardcoded at DS:0009 1196 1202 ; MBR-Protection now active :) 1197 pop si ds ; Restore DS:SI 1203 ; Restore DS:SI 1204 pop si 1205 pop ds 1198 1206 1199 1207 … … 1279 1287 mov ax,bx 1280 1288 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 1281 1295 popa 1282 1296 … … 1294 1308 1295 1309 ; 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 1297 1313 ; 1298 1314 mov al,byte ptr [si+LocIPT_Drive] … … 1667 1683 ;popa 1668 1684 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 1672 1708 call TIMER_WaitTicCount 1709 loop print_next_dot 1710 popa 1711 1712 ; 1713 ; Enter here to skip delay. 1714 ; 1715 skip_delay: 1716 1717 1673 1718 1674 1719 ; … … 2077 2122 ; CY = Set if BOOTMGR found, clear if not 2078 2123 ; 2079 PART_IsWinBMGR Proc Near Uses ax bx cx dx si di ds es2080 2081 ; Load specified LBA sector (BX:CX) from the disk in DL2082 mov di,ds2083 mov si,offset [TmpSector]2084 call DriveIO_LoadSectorLBA2085 2086 ; Point to location of 'BOOTMGR' signature.2087 add si,169h2088 2089 ; DL holds equality status2090 xor dl,dl2091 cld2092 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 lodsb2097 xor al,'B'2098 or dl,al2099 lodsb2100 xor al,'O'2101 or dl,al2102 lodsb2103 xor al,'O'2104 or dl,al2105 lodsb2106 xor al,'T'2107 or dl,al2108 lodsb2109 xor al,'M'2110 or dl,al2111 lodsb2112 xor al,'G'2113 or dl,al2114 lodsb2115 xor al,'R'2116 or dl,al2117 2118 ; Assume not present2119 clc2120 jnz PART_IsWinBMGR_exit2121 2122 ; BOOTMGR signature found2123 stc2124 2125 PART_IsWinBMGR_exit:2126 ret2127 PART_IsWinBMGR Endp2124 ;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 2128 2173 2129 2174  - 
      
trunk/BOOTCODE/REGULAR/PARTSCAN.ASM
r36 r37 28 28 ; here. 29 29 30 PARTSCAN_ScanForPartitions Proc Near Uses30 PARTSCAN_ScanForPartitions Proc Near 31 31 ; Reset X-Reference 32 32 call PARTSCAN_ResetXref … … 120 120 ; Falls eine fehlerhafte Partition gefunden wird, wird abgebrochen. 121 121 ; falls eine Extended Partition (DOS) gefunden wird, wird erneut gescannt. 122 PARTSCAN_ScanDriveForPartitions Proc Near Uses122 PARTSCAN_ScanDriveForPartitions Proc Near 123 123 xor ax, ax 124 124 xor bx, bx ; Location Absoluter Sektor 0 … … 283 283 ; First check, if LVM Information Sector is available and this partition 284 284 ; is supported. 285 push ax dx si di 285 push ax 286 push dx 287 push si 288 push di 286 289 mov si, wptr [PartPtr] 287 290 mov ax, wptr [si+LocBRPT_RelativeBegin] ; Absolute Sector … … 335 338 336 339 PCCTP_NoIbmBm: 337 pop di si dx ax 340 pop di 341 pop si 342 pop dx 343 pop ax 338 344 mov si, offset MBR_NoName_Patched 339 345 xor ah, ah ; no Flags_NoPartName … … 341 347 342 348 PCCTP_CheckBootRecord: 343 pop di si dx ax 349 pop di 350 pop si 351 pop dx 352 pop ax 344 353 test ah, FileSysFlags_NoName ; No-Name-Flag ? -> No Partition Name 345 354 … … 391 400 ; Now compare IPT with current Partition 392 401 mov cx, 15 ; Serial&Name (15-Bytes) 393 push si di 402 push si 403 push di 394 404 repz cmpsb 395 pop di si 405 pop di 406 pop si 396 407 397 408 jne PCCTP_NoMatchYet … … 415 426 ; Now compare IPT with current Partition 416 427 mov cx, 11 ; Name only (11-Bytes) 417 push si di 428 push si 429 push di 418 430 add si, 4 419 431 add di, 4 ; Skip over Serial-Field 420 432 repz cmpsb 421 pop di si 433 pop di 434 pop si 422 435 jne PCCTP_NameNoMatch 423 436 mov cx, [si+0] ; Get Serial … … 488 501 ; Build a standard-Volume Label from FileSystemNamePtr 489 502 ; We have to call SearchFileSysName again because of NTFS 490 push ax cx 503 push ax 504 push cx 491 505 mov al, dh 492 506 call PART_SearchFileSysName ; We want SI here <- FileSystemNamePtr … … 501 515 stosb ; Fill last 3 bytes with "NUL" 502 516 mov si, offset MBR_NoName_Patched 503 pop cx ax 517 pop cx 518 pop ax 504 519 ;======================================================= 505 520 ; LOCATION SEARCH in IPT-Table … … 812 827 PARTSCAN_SyncHideConfigWithXref EndP 813 828 814 ibm_bm_name :db 'OS2 BootMgr',0815 ;win_bm_name: db 'BOOTMGR',0829 ibm_bm_name db 'OS2 BootMgr',0 830 ;win_bm_name: db 'BOOTMGR',0  - 
      
trunk/BOOTCODE/REGULAR/PASSWORD.ASM
r30 r37 142 142 PASSWORD_AskSpecifiedPassword EndP 143 143 144 PasswordSpace :db 16 dup (0) ; Space for Password-Encoding...144 PasswordSpace db 16 dup (0) ; Space for Password-Encoding... 145 145 dw 0BABEh ; All of these 8 bytes are insider 146 146 dw 0FC77h ; jokes. I bet no one will solve  - 
      
trunk/BOOTCODE/REGULAR/STD_TEXT.ASM
r36 r37 40 40 ;Copyright db ' AiR-BOOT v1.0.8-internal-beta - ** !! NOT FOR DISTRIBUTION !! **', 0 41 41 ;Copyright db ' AiR-BOOT v1.0.8 - (c) 2012 M. Kiewitz <<Release Candidate>> (build: #18)', 0 42 Copyright db ' AiR-BOOT v1.0.8 - (c) 2012 M. Kiewitz <<Release Candidate 1>> (bld: 20120124)', 0 42 ;Copyright db ' AiR-BOOT v1.0.8 - (c) 2012 M. Kiewitz <<Release Candidate 1>> (bld: 20120124)', 0 43 Copyright db ' AiR-BOOT v1.0.8 - (c) 2012 M. Kiewitz <<Release Candidate 2>> (bld: 20120214)', 0 43 44 ;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 47 TXT_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 49 TXT_SETUP_NoBootType35 db 'An LVM-Data partition cannot be set bootable', 0 44 50 45 51 ; Rousseau: switch around  - 
      
trunk/BOOTCODE/REGULAR/VIDEOIO.ASM
r36 r37 24 24 ENDIF 25 25 26 VideoIO_WaitRetrace Proc Near Uses ax dx27 mov dx, 3DAh28 VIOWR_Jump1:29 in al, dx30 test al, 831 jnz VIOWR_Jump132 VIOWR_Jump2:33 in al, dx34 test al, 835 jz VIOWR_Jump236 ret37 VideoIO_WaitRetrace EndP26 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 38 38 39 39 … … 41 41 ; Holds the current position. Yeah, I know this is in the code area, but who 42 42 ; cares :)) 43 TextPosY db0h44 TextPosX db0h45 TextColorFore db7h46 TextColorBack db0h43 TextPosY db 0h 44 TextPosX db 0h 45 TextColorFore db 7h 46 TextColorBack db 0h 47 47 48 48 ; In: CH - Cursor Column, CL - Cursor Row (Start at 1,1) 49 49 ; Destroyed: None 50 VideoIO_Locate Proc Near Uses cx51 or ch, ch52 jz VIOL_IgnoreY53 dec ch54 mov TextPosY, ch55 VIOL_IgnoreY:56 or cl, cl57 jz VIOL_IgnoreX58 dec cl59 mov TextPosX, cl60 VIOL_IgnoreX:61 ret62 VideoIO_Locate EndP50 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 63 63 64 64 ; In: CH - Cursor Column, CL - Center Cursor Row (Start at 1,1) … … 549 549 cmp ah, Keys_ESC 550 550 je VIOLUES_KeyESC 551 cmp ah, Keys_E nter551 cmp ah, Keys_ENTER 552 552 je VIOLUES_KeyENTER 553 553 cmp ah, Keys_Backspace … … 836 836 837 837 ; Disk Info to Dump to AB LogScreen 838 Disk :db "DISK ",0839 ;BiosCyls :db "Cyls :",0840 BiosHeads :db "Heads :",0841 BiosSecs :db "Secs :",0842 LvmSecs :db "SecsLVM :",0843 BiosLBA :db "LBA Secs:",0844 845 846 HugeBootDisk :db "Boot Disk is Huge : ",0847 DisksFound :db "Disks Found : ",0848 PartitionsFound :db "Partitions Found : ",0849 ;AutoStartPart :db "Auto Start Partition : ",0850 851 Phase1 :db "eCS Install Phase 1 : ",0852 853 854 ShowMenu :db "Press TAB to return to the AiR-BOOT Menu",0855 ;ShowBootLog :db "Press TAB to see the Boot Log...",0856 857 Yes :db "YES",0858 No :db "NO",0859 On :db "ON",0860 Off :db "OFF",0861 None :db "NONE",0862 Active :db "ACTIVE",0863 NotActive :db "NOT ACTIVE",0838 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 864 864 865 865 ; New Line for use by MBR_Teletype 866 NL :db 0dh, 0ah, 0866 NL db 0dh, 0ah, 0  - 
      
trunk/BOOTCODE/SETUP/MAIN.ASM
r30 r37 30 30 LocMENU_ItemPack equ 8 ; only if VariablePtr>0 31 31 32 SETUP_UpperFixString : db 'SETUP ',0 ; AddOn fr "AiR-BOOT SETUP vX.XX"33 34 Include SETUP \MENUS.ASM ; Menu structures35 Include SETUP \PART_SET.ASM ; Partition Setup (in extra file)32 SETUP_UpperFixString db 'SETUP ',0 ; AddOn for "AiR-BOOT SETUP vX.XX" 33 34 Include SETUP/MENUS.ASM ; Menu structures 35 Include SETUP/PART_SET.ASM ; Partition Setup (in extra file) 36 36 37 37 ; CH - Current Item Number … … 69 69 SETUP_SwitchToSelectedItem EndP 70 70 71 SETUP_CheckEnterSETUP Proc Near Uses71 SETUP_CheckEnterSETUP Proc Near 72 72 73 73 … … 117 117 ; In: BP - Pointer to Menu 118 118 ; CurMenu: Left Side 0-6, Right Side 8-14 (Bit 3!) 119 SETUP_MenuTask Proc Near Uses; the main-menu routine119 SETUP_MenuTask Proc Near ; the main-menu routine 120 120 cmp SETUP_ExitEvent, 1 121 121 jne SMT_NoImmediateExit … … 129 129 130 130 mov ax, ds:[bp+1] ; Help Pointer 131 cmp ax, offset TXT_SETUPHELP_M AIN; ask only in main-menu...131 cmp ax, offset TXT_SETUPHELP_Main ; ask only in main-menu... 132 132 jne SMT_NotMainMenu 133 133 call FX_EndScreenLeft ; Do FX, if requested... … … 155 155 cmp ah, Keys_Right 156 156 je SMT_KeyLeftRight 157 cmp ah, Keys_E nter158 je SMT_KeyE nter157 cmp ah, Keys_ENTER 158 je SMT_KeyENTER 159 159 cmp ah, Keys_Plus 160 160 je SMT_KeyPlus … … 199 199 jmp SMT_FixUpModify 200 200 201 SMT_KeyE nter: ; Enters Menu, if no ItemPack available201 SMT_KeyENTER: ; Enters Menu, if no ItemPack available 202 202 mov ch, dh 203 203 call SETUP_SwitchToSelectedItem ; Calculates SI for Item-No (CH) … … 238 238 SMT_KeyEsc: 239 239 mov ax, ds:[bp+1] ; Help Pointer 240 cmp ax, offset TXT_SETUPHELP_M AIN; embarassing? ;-)240 cmp ax, offset TXT_SETUPHELP_Main ; embarassing? ;-) 241 241 jne SMT_ReturnPrev 242 242 jmp SMT_ExitWithoutSaving … … 294 294 ; In: BP - Pointer to Menu 295 295 ; Out: DH - Active Item on Screen 296 SETUP_DrawMenuOnScreen Proc Near Uses296 SETUP_DrawMenuOnScreen Proc Near 297 297 call SETUP_DrawMenuWindow 298 298 mov cx, CLR_MENU_WINDOW_BM … … 396 396 add ch, 6 ; Fix coordinate... 397 397 ; 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 399 401 push cx 400 402 cmp cl, 40 … … 420 422 call VideoIO_PrintSingleChar ; Write double-point 421 423 mov word ptr TextColorFore, dx 422 pop si cx 424 pop si 425 pop cx 423 426 add cl, 26 ; Fix X-coordinate (for ItemPack) 424 427 call VideoIO_Locate … … 498 501 SETUP_DrawMenuWindow EndP 499 502 500 SETUP_DrawMenuBase Proc Near Uses501 call BOOTMENU_BuildBack Ground503 SETUP_DrawMenuBase Proc Near 504 call BOOTMENU_BuildBackground 502 505 ; -------------------------------------------- Upper Copyright... 503 506 mov cx, 0F00h … … 705 708 ;SETUP_EnterMenu_LinuxCommandLine EndP 706 709 707 SETUP_EnterMenu_DefineMasterPassword Proc Near Uses710 SETUP_EnterMenu_DefineMasterPassword Proc Near 708 711 mov di, offset CFG_MasterPassword 709 712 call SETUP_EnterMenu_DefinePassword … … 711 714 SETUP_EnterMenu_DefineMasterPassword EndP 712 715 713 SETUP_EnterMenu_DefineBootPassword Proc Near Uses716 SETUP_EnterMenu_DefineBootPassword Proc Near 714 717 mov di, offset CFG_BootPassword 715 718 call SETUP_EnterMenu_DefinePassword … … 720 723 721 724 ; [Linux support removed since v1.02] 722 ;SETUP_EnterMenu_EnterLinuxCmdLine Proc Near Uses725 ;SETUP_EnterMenu_EnterLinuxCmdLine Proc Near 723 726 ; mov cx, 0D05h 724 727 ; call VideoIO_Color … … 845 848 mov ax, VideoIO_Page2 846 849 call VideoIO_BackUpTo 847 push ax di 850 push ax 851 push di 848 852 mov ax, 20h ; Space 849 853 mov cx, 16 850 854 rep stosb ; Kill new password 851 855 mov es:[di], ah ; ending NUL 852 pop di ax 856 pop di 857 pop ax 853 858 cmp ax, 0ABABh ; Magic Processing... 854 859 je SLEP_MagicLayOut … … 1039 1044 SEMSAES_DoThis: 1040 1045 xor al, al 1041 mov CFG_AutoEnterS ETUP, al1046 mov CFG_AutoEnterSetup, al 1042 1047 add CFG_LastTimeEditLow, 1 1043 1048 adc CFG_LastTimeEditHi, 0 ; Update Time-Stamp … … 1055 1060 jnz SEMEWS_UserAbort 1056 1061 ; If we were forced to enter Setup, save configuration anyway... 1057 test CFG_AutoEnterS ETUP, 11062 test CFG_AutoEnterSetup, 1 1058 1063 jz SEMEWS_DoThis 1059 1064 jmp SEMEWS_DoThis ; Cross-Jump to SaveAndExitSetup! … … 1072 1077 ; Out: Non-Zero Flag set -> User is sure 1073 1078 ; Destroyed: None 1074 SETUP_Warning_AreYouSure Proc Near Uses1079 SETUP_Warning_AreYouSure Proc Near 1075 1080 mov cx, 0C04h 1076 1081 call VideoIO_Color … … 1167 1172 1168 1173 ; Cur Value in DL, Maximum Value in DH. Add/Sub in CL 1169 SETUPMAGIC_InternalCheckUp Proc Near Uses1174 SETUPMAGIC_InternalCheckUp Proc Near 1170 1175 or cl, cl ; CL==0? -> Decrease 1171 1176 jz SMICU_Substract ; otherwise -> Increase … … 1222 1227 mov al, dl 1223 1228 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 1226 1235 mov di, si 1227 1236 add di, LocMENU_ItemPack ; ES:DI - ItemPack 1228 1237 mov si, 4000 ; DS:SI - Screen Page 1 1229 push es di 1238 push es 1239 push di 1230 1240 mov cx, 4 1231 1241 SMCBD_Loop: … … 1233 1243 stosb 1234 1244 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 1236 1248 mov cx, 12 1237 1249 call GetLenOfName ; Gets the length of the number … … 1299 1311 call PART_GetPartitionPointer 1300 1312 mov ax, ds:[si+LocIPT_Flags] 1301 test ax, Flags_Boot Able1313 test ax, Flags_Bootable 1302 1314 jz SMCP_Inc_RejectPartition 1303 1315 jmp SMCP_GotSelection … … 1330 1342 call PART_GetPartitionPointer 1331 1343 mov ax, ds:[si+LocIPT_Flags] 1332 test ax, Flags_Boot Able1344 test ax, Flags_Bootable 1333 1345 jz SMCP_Dec_RejectPartition 1334 1346  - 
      
trunk/BOOTCODE/SETUP/MENUS.ASM
r30 r37 69 69 SETUP_MainMenu: 70 70 db 0 ; Where Current Item will get saved 71 dw offset TXT_SETUPHELP_M AIN; Pointer to help information71 dw offset TXT_SETUPHELP_Main ; Pointer to help information 72 72 ; The Menu-Items start here... 73 73 dw offset SETUP_EnterMenu_PartitionSetup, 0 … … 103 103 SETUP_BasicOptions: 104 104 db 0 ; Where Current Item will get saved 105 dw offset TXT_SETUPHELP_S UBMENU; Pointer to help info105 dw offset TXT_SETUPHELP_SubMenu ; Pointer to help info 106 106 ; The Menu-Items start here... 107 107 dw offset SETUPMAGIC_ChangeDefaultSelection, offset CFG_PartDefault … … 135 135 dw 0, 0 136 136 dw offset SETUPMAGIC_EnableDisable, offset CFG_ProtectMBR 137 dw offset TXT_SETUP_M BRprotection, offset TXT_SETUPHELP_MBRprotection137 dw offset TXT_SETUP_MbrProtection, offset TXT_SETUPHELP_MbrProtection 138 138 dw 6 dup (0) 139 139 dw offset SETUPMAGIC_EnableDisable, offset CFG_IgnoreWriteToMBR 140 dw offset TXT_SETUP_IgnoreM BRwrites, offset TXT_SETUPHELP_IGNOREMBRWRITES140 dw offset TXT_SETUP_IgnoreMbrWrites, offset TXT_SETUPHELP_IgnoreMbrWrites 141 141 dw 6 dup (0) 142 142 dw 0, 0 … … 151 151 SETUP_AdvancedOptions: 152 152 db 0 ; Where Current Item will get saved 153 dw offset TXT_SETUPHELP_S UBMENU; Pointer to help info153 dw offset TXT_SETUPHELP_SubMenu ; Pointer to help info 154 154 ; The Menu-Items start here... 155 155 dw offset SETUPMAGIC_ChangeBootMenu, offset CFG_BootMenuActive … … 163 163 ; Separator Line 164 164 dw 0, 0 165 dw offset TXT_SETUP_S ECURITYOPTIONS, 0165 dw offset TXT_SETUP_SecurityOptions, 0 166 166 dw offset SETUPMAGIC_EnableDisable, offset CFG_PasswordSetup 167 167 dw offset TXT_SETUP_PasswordedSetup, offset TXT_SETUPHELP_PasswordedSetup … … 198 198 SETUP_ExtendedBootOptions: 199 199 db 0 ; Where Current Item will get saved 200 dw offset TXT_SETUPHELP_S UBMENU; Pointer to help information200 dw offset TXT_SETUPHELP_SubMenu ; Pointer to help information 201 201 ; The Menu-Items start here... 202 202 ; [Linux support removed since v1.02]  - 
      
trunk/BOOTCODE/SETUP/PART_SET.ASM
r36 r37 25 25 26 26 ; This here is called from Menu in AIR-BSET.asm 27 PARTSETUP_Main Proc Near Uses27 PARTSETUP_Main Proc Near 28 28 ; Build Fixed Content... 29 29 call PARTSETUP_DrawMenuBase … … 53 53 cmp ah, Keys_F1 54 54 je PSM_KeyF1 55 cmp ah, Keys_E nter55 cmp ah, Keys_ENTER 56 56 je PSM_KeyENTER 57 57 ; Flags-Change … … 110 110 jmp PSM_MainLoop 111 111 112 ; Disabling editing for type 0x35 is currently implemented 113 ; in PARTSETUP_ChangePartitionName. 112 114 PSM_KeyENTER: 113 115 call PARTSETUP_ChangePartitionName … … 120 122 PSM_KeyBootAble: 121 123 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: 122 131 mov al, [si+LocIPT_Flags] 123 xor al, Flags_Boot Able132 xor al, Flags_Bootable 124 133 mov [si+LocIPT_Flags], al 125 134 call PARTSETUP_DrawPartitionInfo 126 135 call PARTSETUP_BuildChoiceBar 136 PSM_KeyBootAble_istype35: 127 137 jmp PSM_MainLoop 128 138 … … 164 174 PARTSETUP_Main EndP 165 175 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 181 PARTSETUP_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 198 PARTSETUP_IsType35 EndP 199 200 166 201 ; Draw all standard-things for Partition Setup, dynamic content not included. 167 202 PARTSETUP_DrawMenuBase Proc Near Uses dx … … 251 286 call VideoIO_FixedPrint 252 287 253 mov si, offset TXT_SETUPHELP_P ARTSETUP288 mov si, offset TXT_SETUPHELP_PartSetup 254 289 call SETUP_DrawMenuHelp 255 290 ret … … 370 405 mov cl, 11 371 406 call VideoIO_FixedPrint 372 pop si cx 407 pop si 408 pop cx 373 409 374 410 ; Display "Flags" field aka "BVHL" … … 379 415 mov bh, bl 380 416 mov al, TXT_SETUP_FlagLetterBootable 381 and bl, Flags_Boot Able417 and bl, Flags_Bootable 382 418 call PARTSETUP_DrawOneFlag 383 419 mov bl, bh … … 429 465 ; DH - New Active (to be activated) 430 466 ; Destroyed: None 431 PARTSETUP_BuildChoiceBar Proc Near Uses467 PARTSETUP_BuildChoiceBar Proc Near 432 468 cmp dl, dh 433 469 je PSBCB_SkipRetrace … … 666 702 cmp byte ptr [si+LocIPT_SystemID], 035h 667 703 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 668 713 jmp PSCPN_AllDone 669 714 no_type_35h: 670 715 671 716 mov cx, 11 ; Partition-Name-Length = 11 Bytes 672 push si di 717 push si 718 push di 673 719 add si, LocIPT_Name ; DS:SI -> Partition-Name 674 720 repz cmpsb 675 pop di si 721 pop di 722 pop si 676 723 jne PSCPN_LetUserEditPartName ; -> No BR/LVM Changing/Saving 677 724 … … 741 788 742 789 ; ----------------------------------------------[LVM SAVE PARTITION NAME]--- 743 ; Copy 11 bytes from IPT into LVM Partit onName, back-padd with zero's790 ; Copy 11 bytes from IPT into LVM PartitionName, back-padd with zero's 744 791 mov cx, 11 745 792 push si … … 848 895 cmp ah, Keys_F1 849 896 je PHSM_KeyF1 850 cmp ah, Keys_E nter897 cmp ah, Keys_ENTER 851 898 je PHSM_KeyToogle 852 899 cmp ah, Keys_Plus … … 958 1005 sub dl, cl ; Adjust position 959 1006 sub dl, 2 960 push cx si ; SI == Label Field 1007 push cx 1008 push si ; SI == Label Field 961 1009 mov cx, dx 962 1010 call VideoIO_Locate … … 965 1013 mov si, offset TXT_SETUP_HideFeature2 966 1014 call VideoIO_Print 967 pop si cx 1015 pop si 1016 pop cx 968 1017 call VideoIO_FixedPrint 969 1018 mov al, '>' … … 1134 1183 ; DH - New Active (to be activated) 1135 1184 ; Destroyed: None 1136 PARTHIDESETUP_BuildChoiceBar Proc Near Uses1185 PARTHIDESETUP_BuildChoiceBar Proc Near 1137 1186 cmp dl, dh 1138 1187 je PHSBCB_SkipRetrace … … 1265 1314 mov di, offset HidePartitionTable 1266 1315 add di, ax ; We got the pointer 1267 push di di 1316 push di 1317 push di 1268 1318 mov cx, LocIPT_MaxPartitions 1269 1319 mov al, 0FFh … … 1367 1417 cmp ah, Keys_ESC 1368 1418 je PSDLS_KeyDONE 1369 cmp ah, Keys_E nter1419 cmp ah, Keys_ENTER 1370 1420 je PSDLS_KeyDONE 1371 1421 ; Direct-Letter-Input  - 
      
trunk/BOOTCODE/SPECIAL/F00K/BILLSUXX.ASM
r30 r37 51 51 jz MSHPPT_NoMShack 52 52 MSHPPT_HarddriveLoop: 53 push ax bx cx dx 53 push ax 54 push bx 55 push cx 56 push dx 54 57 xor ax, ax 55 58 xor bx, bx ; Location Absolute Sector 0 … … 57 60 xor dh, dh ; Location Cylinder 0, Head 0, Sector 1 MBR/PPT 58 61 call DriveIO_LoadPartition 59 pop dx cx bx ax 62 pop dx 63 pop cx 64 pop bx 65 pop ax 60 66 jc MSHPPT_Failure 61 67  - 
      
trunk/BOOTCODE/SPECIAL/FAT16.ASM
r30 r37 103 103 xor di, di 104 104 FAT16SE_SearchLoop: 105 push si di 105 push si 106 push di 106 107 mov cx, 11 107 108 repe cmpsb ; Compare total 11-bytes 108 pop di si 109 pop di 110 pop si 109 111 je FAT16SE_EntryFound 110 112 add di, 32 ; Skip 1 FAT16-Entry now :) … … 221 223 222 224 ; Set Size-Entry in KernelSizeTable 223 push ds si di 225 push ds 226 push si 227 push di 224 228 mov bx, ds:[si+30] 225 229 mov ax, ds:[si+28] ; BX:AX - Size of file in Bytes … … 240 244 mov di, si 241 245 call PART_FillOutSizeElement ; BX:AX -> ES:DI (Size Element) 242 pop di si ds 246 pop di 247 pop si 248 pop ds 243 249 244 250 ; Copy entry and make append extension to basename  - 
      
trunk/BOOTCODE/SPECIAL/FX.ASM
r30 r37 27 27 ; If you rip this code, I will ./ your ass. =] 28 28 29 Include SPECIAL \FXTABLES.asm29 Include SPECIAL/FXTABLES.ASM 30 30 31 31 FX_MaxScanLine equ 384 32 32 FX_TotalCooperBars equ 7 33 33 34 FX_CalculateTables Proc Near Uses34 FX_CalculateTables Proc Near 35 35 ; Calculate the Cooper-Bar Color-Table -> FX_CooperColors 36 36 mov di, offset FX_CooperColors … … 57 57 ; Out: *none* 58 58 ; Destroyed: DI - updated, +96 59 FX_MakeCooperBarColors Proc Near Uses59 FX_MakeCooperBarColors Proc Near 60 60 mov bh, ah 61 61 shl bh, 4 … … 82 82 add di, 3 83 83 loop FX_MCBC_BuildColorLoop1 84 push ax bx 84 push ax 85 push bx 85 86 add ax, 0101h 86 87 add bl, 01h … … 92 93 mov es:[di+5], bl 93 94 add di, 6 94 pop bx ax 95 pop bx 96 pop ax 95 97 mov cx, 15 96 98 FX_MCBC_BuildColorLoop2: … … 109 111 ; If FX is active, we will modify the base segment for videoio to page 2, 110 112 ; so the screen will be generated there instead of the current page. 111 FX_StartScreen Proc Near Uses113 FX_StartScreen Proc Near 112 114 test CFG_CooperBars, 1 113 115 jz FXSS_NoFX … … 120 122 ; If FX is active, we will copy the new screen to scroll area, do the FX, 121 123 ; copy the new screen to Page 0 and activate it. 122 FX_EndScreenLeft Proc Near Uses124 FX_EndScreenLeft Proc Near 123 125 test CFG_CooperBars, 1 124 126 jnz FXESL_Go … … 141 143 FX_EndScreenLeft EndP 142 144 143 FX_ScrollScreenLeft Proc Near Uses145 FX_ScrollScreenLeft Proc Near 144 146 mov FX_WideScrollerCurPos, 640 145 147 mov FX_WideScrollerDirection, 0 … … 149 151 FX_ScrollScreenLeft EndP 150 152 151 FX_EndScreenRight Proc Near Uses153 FX_EndScreenRight Proc Near 152 154 test CFG_CooperBars, 1 153 155 jnz FXESR_Go … … 170 172 FX_EndScreenRight EndP 171 173 172 FX_ScrollScreenRight Proc Near Uses174 FX_ScrollScreenRight Proc Near 173 175 mov FX_WideScrollerCurPos, 0 174 176 mov FX_WideScrollerDirection, 1 … … 178 180 FX_ScrollScreenRight EndP 179 181 180 FX_EndScreenInternalGo Proc Near Uses182 FX_EndScreenInternalGo Proc Near 181 183 mov FX_WideScrollerSpeed, 1 182 184 mov FX_WideScrollerSpeedState, 1 … … 199 201 FX_EndScreenInternalGo EndP 200 202 201 FX_EndScreenInternalCleanUp Proc Near Uses203 FX_EndScreenInternalCleanUp Proc Near 202 204 mov ax, -1 203 205 call FX_SetVideoStart … … 357 359 ; Out: *none* 358 360 ; Destroyed: all 359 FX_CalculateCoopers Proc Near Uses361 FX_CalculateCoopers Proc Near 360 362 ; Logic: When Intro-State: Increase CooperPos by 1 till 256 -> then active 361 363 ; Active-State: Use SinusTable, till SinusPos=7Fh -> then Extro … … 414 416 FX_CalculateCoopers EndP 415 417 416 FX_CalculateWideScroller Proc Near Uses418 FX_CalculateWideScroller Proc Near 417 419 mov bx, FX_WideScrollerCurPos 418 420 ;movzx cx, FX_WideScrollerSpeed … … 515 517 FX_CalculateWideScroller EndP 516 518 517 FX_WaitRetrace Proc Near Uses519 FX_WaitRetrace Proc Near 518 520 mov dx, 3DAh 519 521 FX_WR1: … … 528 530 FX_WaitRetrace EndP 529 531 530 FX_WaitVRetrace Proc Near Uses532 FX_WaitVRetrace Proc Near 531 533 mov dx, 3DAh 532 534 FX_WVR1:  - 
      
trunk/BOOTCODE/SPECIAL/LINUX.ASM
r30 r37 188 188 add di, LocIPT_Name 189 189 LSKN_SearchLoop: 190 push cx si di 190 push cx 191 push si 192 push di 191 193 mov cx, 11 192 194 repe cmpsb ; Compare total 11-bytes 193 pop di si cx 195 pop di 196 pop si 197 pop cx 194 198 je LSKN_Found 195 199 add di, LocIPT_LenOfIPT … … 224 228 ; Linux has 1 'BR' (which is crap) and some setup sectors 225 229 ; we load them at 9000:0, what a luck, we are at 8000:0 :-)) 226 push ds es 230 push ds 231 push es 227 232 mov ax, 9000h 228 233 mov es, ax … … 255 260 mov ax, 6000h 256 261 mov es, ax 257 push cx si ; Push Kernel-Entry-Pointer 262 ; Push Kernel-Entry-Pointer 263 push cx 264 push si 258 265 mov si, di 259 266 shl cx, 9 ; Sectors to Byte Count … … 262 269 shr cx, 1 263 270 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 265 274 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 269 281 mov ax, 9000h 270 282 mov ds, ax … … 336 348 stosb ; Write another NUL 337 349 pop cx 338 pop dx bx ; Pop StartCluster, Missing-Sectors 350 ; Pop StartCluster, Missing-Sectors 351 pop dx 352 pop bx 339 353 ; CX - Sector-Count of Kernel Image, DX - Starting Cluster of Kernel Image 340 354 ; BX - Sector-Count left over in 6000:0 area from Setup Code loading  - 
      
trunk/BOOTCODE/SPECIAL/LVM.ASM
r36 r37 24 24 ENDIF 25 25 26 LVM_InitCRCTable Proc Near Uses26 LVM_InitCRCTable Proc Near 27 27 ; Initializes our LVM-CRC-Table 28 28 xor cl, cl … … 90 90 ; Out: Carry set, if valid LVM signature found 91 91 ; Destroyed: None 92 LVM_CheckSectorSignature Proc Near Uses92 LVM_CheckSectorSignature Proc Near 93 93 test [CFG_IgnoreLVM], 1 ; We are supposed to ignore LVM, so 94 94 jnz LVMCSS_InvalidSignature ; any sector is bad! … … 176 176 LVM_GetDriveLetter Proc Near Uses bx cx dx si di ds es 177 177 ; For primary partitions this information is stored in the last 178 ; sector of track0; for all four partition entries shouldthey179 ; all beprimary ones.178 ; sector of track0; for all four partition entries in case they 179 ; they are all primary ones. 180 180 ; 181 181 ; LVM DLAT info for logical partitions is stored in the sector  - 
      
trunk/BOOTCODE/SPECIAL/VIRUS.ASM
r30 r37 33 33 mov di, offset CFG_VIR_INT08 34 34 push di 35 rep scasb35 repe scasb 36 36 pop di 37 37 jne VCFS_AlreadyInitiated … … 102 102 int 16h ; Waits for any keystroke 103 103 jmp VCFS_InitNow 104 104 105 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 126 110 VIRUS_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 ; 117 VIRUS_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. 142 VIRUS_TryRestore Endp 143 127 144 128 145 ; Checks system for normal-MBR-virus... (done by comparing current MBR with … … 131 148 ; Segment Registers preserved 132 149 VIRUS_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 135 154 mov bx, offset TmpSector 136 155 mov dx, 0080h … … 145 164 mov cx, 223 ; Compare 446 bytes 146 165 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: 148 170 ret 149 171 VIRUS_CheckForVirus EndP … … 167 189 168 190 ; Will report Carry-Clear, if BackUp MBR is valid (supposingly) 169 ANTIVIR_CheckBackUpMBR Proc Near Uses 170 push cs cs 171 pop es ds 191 ANTIVIR_CheckBackUpMBR Proc Near 192 push cs 193 push cs 194 pop es 195 pop ds 172 196 mov bx, offset TmpSector 173 197 mov dx, 0080h … … 190 214 ANTIVIR_CheckBackUpMBR EndP 191 215 192 ANTIVIR_RestoreMBR Proc Near Uses216 ANTIVIR_RestoreMBR Proc Near 193 217 call ANTIVIR_CheckBackUpMBR 194 218 jnc ARMBR_DoIt  - 
      
trunk/BOOTCODE/TEXT/DE/MENUS.ASM
r36 r37 109 109 ; Setup Control Help - Max Length: 33 110 110 ;----------------------------------|-------------------------------|-------- 111 TXT_SETUPHELP_Main :db 24,32,25,32,26,32,27,' : Aktion Auswhlen', 0111 TXT_SETUPHELP_Main db 24,32,25,32,26,32,27,' : Aktion Auswhlen', 0 112 112 db 'Enter : Aktion Besttigen', 0 113 113 db 'F10 : Speichern&Beenden', 0 114 114 db 'Esc : Beenden', 0 115 115 116 TXT_SETUPHELP_SubMenu :db 24,32,25,32,26,32,27,' : Option Auswhlen', 0116 TXT_SETUPHELP_SubMenu db 24,32,25,32,26,32,27,' : Option Auswhlen', 0 117 117 db 'Bild ',24,25,' : Option ndern', 0 118 118 db 'F1 : Zeige Hilfe ber Option', 0 119 119 db 'Esc : Zurck ins Hauptmen', 0 120 120 121 TXT_SETUPHELP_PartSetup :db 24,32,25,32,26,32,27,' : Partition Auswhlen', 0121 TXT_SETUPHELP_PartSetup db 24,32,25,32,26,32,27,' : Partition Auswhlen', 0 122 122 db 'Enter : Label editieren', 0 123 123 db 'F1 : Optionen', 0 … … 128 128 ;1234567890123456789012 129 129 ;----------------------------------|--------------------|------------------- 130 TXT_SETUPHELP_PartitionSetup :db 'Partionen als Bootbar', 0130 TXT_SETUPHELP_PartitionSetup db 'Partionen als Bootbar', 0 131 131 db 'definieren, Namen', 0 132 132 db 'ndern und einiges', 0 133 133 db 'mehr.', 0 134 134 db 0 135 TXT_SETUPHELP_BasicOptions :db 'Diese Optionen sind', 0135 TXT_SETUPHELP_BasicOptions db 'Diese Optionen sind', 0 136 136 db 'fr unerfahrene User.', 0 137 137 db 0 138 TXT_SETUPHELP_AdvOptions :db 'Diese Optionen sind', 0138 TXT_SETUPHELP_AdvOptions db 'Diese Optionen sind', 0 139 139 db 'fr erfahrene User.', 0 140 140 db 'Verndern Sie nichts,', 0 … … 143 143 db 0 144 144 ;----------------------------------|--------------------|------------------- 145 TXT_SETUPHELP_ExtOptions :db 'Spezial Optionen fr', 0145 TXT_SETUPHELP_ExtOptions db 'Spezial Optionen fr', 0 146 146 db 'bestimmte Betriebs-', 0 147 147 db 'system.', 0 148 148 db 0 149 TXT_SETUPHELP_DefMasterPwd :db 'Definiert ein Passwort', 0149 TXT_SETUPHELP_DefMasterPwd db 'Definiert ein Passwort', 0 150 150 db 'fr Setup und System.', 0 151 151 db 0 152 TXT_SETUPHELP_DefBootPwd :db 'Definiert ein Passwort', 0152 TXT_SETUPHELP_DefBootPwd db 'Definiert ein Passwort', 0 153 153 db 'frs Booten.', 0 154 154 db 0 155 TXT_SETUPHELP_SaveAndExit :db 'Mit dem Boot-Prozess', 0155 TXT_SETUPHELP_SaveAndExit db 'Mit dem Boot-Prozess', 0 156 156 db 'fortfahren und die', 0 157 157 db 'Optionen speichern.', 0 158 158 db 0 159 TXT_SETUPHELP_JustExit :db 'Mit dem Boot-Prozess', 0159 TXT_SETUPHELP_JustExit db 'Mit dem Boot-Prozess', 0 160 160 db 'fortfahren und die', 0 161 161 db 'nderungen verwerfen.', 0 … … 169 169 db 0 170 170 171 TXT_SETUPHELP_HideSetup :db 'Status whlen, indem', 0171 TXT_SETUPHELP_HideSetup db 'Status whlen, indem', 0 172 172 db 'sich die Partitionen', 0 173 173 db 'befinden sollen, wenn', 0  - 
      
trunk/BOOTCODE/TEXT/DE/OTHER.ASM
r36 r37 27 27 ; Maximum 2/10/11/6 chars 28 28 ;----------------------------------||--------------------------------------- 29 TXT_TopInfos_No :db 'Nr', 030 TXT_TopInfos_Hd :db 'Hd', 029 TXT_TopInfos_No db 'Nr', 0 30 TXT_TopInfos_Hd db 'Hd', 0 31 31 ;----------------------------------|--------|------------------------------- 32 TXT_TopInfos_HdSize :db 'Hd/Gráe:', 032 TXT_TopInfos_HdSize db 'Hd/Gráe:', 0 33 33 ;----------------------------------|--------|------------------------------- 34 TXT_TopInfos_Label :db 'Name:', 034 TXT_TopInfos_Label db 'Name:', 0 35 35 ;----------------------------------|---------|------------------------------ 36 TXT_TopInfos_Type :db 'Typ:', 036 TXT_TopInfos_Type db 'Typ:', 0 37 37 ;----------------------------------|----|----------------------------------- 38 TXT_TopInfos_Flags :db 'Flags:', 0 ; <-- for Partition Setup38 TXT_TopInfos_Flags db 'Flags:', 0 ; <-- for Partition Setup 39 39 40 40 ; Will be added together to one line, maximum 76 chars 41 TXT_TimedBootLine :db 'Zeitgesteuerter Boot aktiviert. System ldt '''41 TXT_TimedBootLine db 'Zeitgesteuerter Boot aktiviert. System ldt ''' 42 42 TXT_TimedBootEntryName db 12 dup (0) ; Space for Default-Entry-Name 43 TXT_TimedBootLine2 :db ''' in ', 044 TXT_TimedBootSeconds :db ' Sekunden. ', 045 TXT_TimedBootSecond :db ' Sekunde. ', 0 ; if only one is left, ELiTE :]43 TXT_TimedBootLine2 db ''' in ', 0 44 TXT_TimedBootSeconds db ' Sekunden. ', 0 45 TXT_TimedBootSecond db ' Sekunde. ', 0 ; if only one is left, ELiTE :] 46 46 ; Maximum 76 chars 47 47 ;----------------------------------|--------------------------------------------------------------------------| 48 TXT_TimedBootDisabled :db 'Zeitgesteuerter Boot deaktiviert.', 049 TXT_BootMenuHelpText1 :db '[Esc] um Automatischen Boot an/auszuschalten, [Enter] um Auswahl zu booten', 050 TXT_BootMenuHelpText2 :db 'Mit den Pfeiltasten auswhlen oder [TAB] fr den BIOS POST Bildschirm.', 048 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 auswhlen oder [TAB] fr den BIOS POST Bildschirm.', 0 51 51 ; Maximum 30 chars 52 52 ;----------------------------------|----------------------------| … … 54 54 55 55 ; Dynamic Length (till 80 chars) 56 TXT_BrokenPartitionTable :db 13, 10, ' - Mindestens einer Ihrer Partitionseintrge ist ungltig oder Ihre Festplatte'56 TXT_BrokenPartitionTable db 13, 10, ' - Mindestens einer Ihrer Partitionseintrge ist ungltig oder Ihre Festplatte' 57 57 db 13, 10, ' beinhaltet defekte Sektoren. System angehalten.', 0 58 TXT_TooManyPartitions :db 13, 10, ' - Zuviele Partitionen gefunden. AiR-BOOT untersttzt maximal 45.', 059 TXT_NoBootAble :db 13, 10, ' - Keine bootbare Partition definiert. System angehalten.', 060 TXT_BIOSchanged :db 13, 10, ' - BIOS HAT SICH VERNDERT. berprfen Sie ihr System auf Viren.'58 TXT_TooManyPartitions db 13, 10, ' - Zuviele Partitionen gefunden. AiR-BOOT untersttzt 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 VERNDERT. berprfen Sie ihr System auf Viren.' 61 61 db 13, 10, ' Drcken Sie eine Taste um fortzufahren...', 0 62 62 63 TXT_VirusFoundMain :db 13, 10, ' - !ACHTUNG! -> EIN VIRUS WURDE GEFUNDEN <- !ACHTUNG!', 13, 10, 064 TXT_VirusFound1ok :db ' Er wurde zerstrt, es kann allerdings sein, daá Ihr System nicht mehr', 13, 1063 TXT_VirusFoundMain db 13, 10, ' - !ACHTUNG! -> EIN VIRUS WURDE GEFUNDEN <- !ACHTUNG!', 13, 10, 0 64 TXT_VirusFound1ok db ' Er wurde zerstrt, es kann allerdings sein, daá Ihr System nicht mehr', 13, 10 65 65 db ' hochfhrt. 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 zerstrt. Sie mssen mit der AiR-BOOT', 13, 1066 TXT_VirusFound1damn db ' Leider hat er das BackUp von AiR-BOOT zerstrt. Sie mssen mit der AiR-BOOT', 13, 10 67 67 db ' Install-Diskette booten.', 13, 10, 0 68 TXT_VirusFound1any :db ' Sicherheitshalber sollten Sie Ihre Festplatte auf Viren untersuchen.', 13, 10, 069 TXT_VirusFound2 :db ' Er ist im Boot-Record der Partition, die Sie gerade booten wollten.', 13, 1068 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 70 70 db ' Bentzen Sie einen Viren-Scanner. Es knnte sich auch um einen falschen', 13, 10 71 71 db ' Alarm handeln. Sie knnen diese Fehlermeldung unterbinden, indem Sie ins', 13, 10 … … 73 73 db ' Falls diese Meldung dann wieder erscheint, sollten Sie VIBR fr diese', 13, 10 74 74 db ' Partition ausschaltet lassen.', 13, 10, 0 75 TXT_VirusFoundEnd :db ' System angehalten. Bitte drcken Sie RESET.', 076 TXT_HowEnterSetup :db 13, 10, ' - Drcken und halten Sie Strg/Ctrl oder Alt um ins AiR-BOOT SETUP zu gelangen.', 075 TXT_VirusFoundEnd db ' System angehalten. Bitte drcken Sie RESET.', 0 76 TXT_HowEnterSetup db 13, 10, ' - Drcken und halten Sie Strg/Ctrl oder Alt um ins AiR-BOOT SETUP zu gelangen.', 0 77 77 78 TXT_BootingNow1 :db 'Booten des Systems durch ', 078 TXT_BootingNow1 db 'Booten des Systems durch ', 0 79 79 ; DO NOT MODIFY HERE 80 TXT_BootingNow2 :db '''', 081 TXT_BootingNowPartName :db 12 dup (0) ; Space for BootThisPart-Name80 TXT_BootingNow2 db '''', 0 81 TXT_BootingNowPartName db 12 dup (0) ; Space for BootThisPart-Name 82 82 ; DO NOT MODIFY TILL HERE 83 TXT_BootingNowPartition :db ' Partition', 084 TXT_BootingNowKernel :db ' Kernel', 085 TXT_BootingNow3 :db '''', 086 TXT_BootingHide :db '; Hide aktiv', 087 TXT_BootingWait :db '; Bitte warten...', 13, 10, 13, 10, 083 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 88 88 89 89 ; FIXED LENGTH - 11 chars each string 90 90 ;----------------------------------|---------|------------------------------ 91 TXT_Floppy_NoName :db 'kein Name '92 TXT_Floppy_Drive :db 'Floppy-Disk'93 TXT_Floppy_NoDisc :db 'Keine Disk '91 TXT_Floppy_NoName db 'kein Name ' 92 TXT_Floppy_Drive db 'Floppy-Disk' 93 TXT_Floppy_NoDisc db 'Keine Disk ' 94 94 95 95 ; Maximum 60 chars (should not be reached)  - 
      
trunk/BOOTCODE/TEXT/EN/MENUS.ASM
r36 r37 109 109 ; Setup Control Help - Max Length: 33 110 110 ;----------------------------------|-------------------------------|-------- 111 TXT_SETUPHELP_Main :db 24,32,25,32,26,32,27,' : Choose Action', 0111 TXT_SETUPHELP_Main db 24,32,25,32,26,32,27,' : Choose Action', 0 112 112 db 'Enter : Select Action', 0 113 113 db 'F10 : Save&Exit Setup', 0 114 114 db 'Esc : Quit Setup', 0 115 115 116 TXT_SETUPHELP_SubMenu :db 24,32,25,32,26,32,27,' : Choose Item', 0116 TXT_SETUPHELP_SubMenu db 24,32,25,32,26,32,27,' : Choose Item', 0 117 117 db 'PgUp/Dn : Change Item', 0 118 118 db 'F1 : Show help for Item', 0 119 119 db 'Esc : Return to main-menu', 0 120 120 121 TXT_SETUPHELP_PartSetup :db 24,32,25,32,26,32,27,' : Choose partition', 0121 TXT_SETUPHELP_PartSetup db 24,32,25,32,26,32,27,' : Choose partition', 0 122 122 db 'Enter : Edit label', 0 123 123 db 'F1 : Flags (press key to toogle)', 0 … … 128 128 ;1234567890123456789012 129 129 ;----------------------------------|--------------------|------------------- 130 TXT_SETUPHELP_PartitionSetup :db 'Make your partitions', 0130 TXT_SETUPHELP_PartitionSetup db 'Make your partitions', 0 131 131 db 'bootable, change their', 0 132 132 db 'name, define hiding', 0 133 133 db 'and much more.', 0 134 134 db 0 135 TXT_SETUPHELP_BasicOptions :db 'These options are for', 0135 TXT_SETUPHELP_BasicOptions db 'These options are for', 0 136 136 db 'non-experienced users.', 0 137 137 db 0 138 TXT_SETUPHELP_AdvOptions :db 'These are for advanced', 0138 TXT_SETUPHELP_AdvOptions db 'These are for advanced', 0 139 139 db 'users. If you do not', 0 140 140 db 'what they do, leave', 0 141 141 db 'them like they are.', 0 142 142 db 0 143 TXT_SETUPHELP_ExtOptions :db 'Extended options for', 0143 TXT_SETUPHELP_ExtOptions db 'Extended options for', 0 144 144 db 'specific OSes.', 0 145 145 db 0 146 TXT_SETUPHELP_DefMasterPwd :db 'Define a password for', 0146 TXT_SETUPHELP_DefMasterPwd db 'Define a password for', 0 147 147 db 'access to setup and', 0 148 148 db 'system.', 0 149 149 db 0 150 TXT_SETUPHELP_DefBootPwd :db 'Define a password for', 0150 TXT_SETUPHELP_DefBootPwd db 'Define a password for', 0 151 151 db 'access to system.', 0 152 152 db 0 153 TXT_SETUPHELP_SaveAndExit :db 'Will continue boot-', 0153 TXT_SETUPHELP_SaveAndExit db 'Will continue boot-', 0 154 154 db 'process and save the', 0 155 155 db 'current options.', 0 156 156 db 0 157 TXT_SETUPHELP_JustExit :db 'Will continue, but', 0157 TXT_SETUPHELP_JustExit db 'Will continue, but', 0 158 158 db 'discard any changes', 0 159 159 db 'done to options.', 0 … … 167 167 db 0 168 168 169 TXT_SETUPHELP_HideSetup :db 'Select the state at', 0169 TXT_SETUPHELP_HideSetup db 'Select the state at', 0 170 170 db 'which the partitions', 0 171 171 db 'shall be, when the', 0 … … 344 344 TXT_SETUP_NoLDLpartition db 'The selected partition is not HPFS/FAT16/JFS', 0 345 345 346 ;;;;;;;;; 347 346 348 ; Maximum 34 chars (should not be reached) 347 349 ;----------------------------------|--------------------------------|-------  - 
      
trunk/BOOTCODE/TEXT/EN/OTHER.ASM
r36 r37 27 27 ; Maximum 2/10/11/6 chars 28 28 ;----------------------------------||--------------------------------------- 29 TXT_TopInfos_No :db 'No', 030 TXT_TopInfos_Hd :db 'Hd', 029 TXT_TopInfos_No db 'No', 0 30 TXT_TopInfos_Hd db 'Hd', 0 31 31 ;----------------------------------|--------|------------------------------- 32 TXT_TopInfos_HdSize :db 'Hd/Size:', 032 TXT_TopInfos_HdSize db 'Hd/Size:', 0 33 33 ;----------------------------------|--------|------------------------------- 34 TXT_TopInfos_Label :db 'Label:', 034 TXT_TopInfos_Label db 'Label:', 0 35 35 ;----------------------------------|---------|------------------------------ 36 TXT_TopInfos_Type :db 'Type:', 036 TXT_TopInfos_Type db 'Type:', 0 37 37 ;----------------------------------|----|----------------------------------- 38 TXT_TopInfos_Flags :db 'Flags:', 0 ; <-- for Partition Setup38 TXT_TopInfos_Flags db 'Flags:', 0 ; <-- for Partition Setup 39 39 40 40 ; Will be added together to one line, maximum 76 chars 41 TXT_TimedBootLine :db 'Timed boot enabled. System will boot '''41 TXT_TimedBootLine db 'Timed boot enabled. System will boot ''' 42 42 TXT_TimedBootEntryName db 12 dup (0) ; Space for Default-Entry-Name 43 TXT_TimedBootLine2 :db ''' in ', 044 TXT_TimedBootSeconds :db ' seconds. ', 045 TXT_TimedBootSecond :db ' second. ', 0 ; if only one is left, ELiTE :]43 TXT_TimedBootLine2 db ''' in ', 0 44 TXT_TimedBootSeconds db ' seconds. ', 0 45 TXT_TimedBootSecond db ' second. ', 0 ; if only one is left, ELiTE :] 46 46 ; Maximum 76 chars 47 47 ;----------------------------------|--------------------------------------------------------------------------| 48 TXT_TimedBootDisabled :db 'Timed boot disabled; no timeout will occur.', 049 TXT_BootMenuHelpText1 :db 'Press [Esc] to toggle timed boot, [Enter] to accept current selection.', 050 TXT_BootMenuHelpText2 :db 'Select another with the arrow keys, or press [TAB] to see BIOS POST message.', 048 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 51 51 ; Maximum 30 chars 52 52 ;----------------------------------|----------------------------| … … 55 55 56 56 ; Dynamic Length (till 80 chars) 57 TXT_BrokenPartitionTable :db 13, 10, ' - Your system has at least one broken partition table entry or your harddrive'57 TXT_BrokenPartitionTable db 13, 10, ' - Your system has at least one broken partition table entry or your harddrive' 58 58 db 13, 10, ' contains bad sectors. System halted.', 0 59 TXT_TooManyPartitions :db 13, 10, ' - Too many partitions found. AiR-BOOT is supporting up to 45.', 060 TXT_NoBootAble :db 13, 10, ' - No bootable partition defined. System halted.', 061 TXT_BIOSchanged :db 13, 10, ' - BIOS CHANGED, please check your system for any virus, just to be sure.'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.' 62 62 db 13, 10, ' Press any key to continue...', 0 63 63 64 TXT_VirusFoundMain :db 13, 10, ' - !ATTENTION! -> A V1RU5 WAS FOUND <- !ATTENTION!', 13, 10, 065 TXT_VirusFound1ok :db ' It got squashed, but the system may not reboot correctly. If this happens,', 13, 1064 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 66 66 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, 1067 TXT_VirusFound1damn db ' Unfortunately it destroyed AiR-BOOTs backup. You have to reboot using your', 13, 10 68 68 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, 070 TXT_VirusFound2 :db ' It is located in the boot-record of the partition, you wanted to boot.', 13, 1069 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 71 71 db ' Use a virus-checking program. It could be false alarm either.', 13, 10 72 72 db ' After removal, you have to reinit the detection variables, go into ', 13, 10 73 73 db ' ''PARTITION SETUP'' and switch VIBR-detection two times (off/on).', 13, 10 74 74 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.', 076 TXT_HowEnterSetup :db 13, 10, ' - Press and hold Strg/Ctrl or Alt to enter AiR-BOOT Setup.', 075 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 77 77 78 TXT_BootingNow1 :db 'Booting the system using ', 078 TXT_BootingNow1 db 'Booting the system using ', 0 79 79 ; DO NOT MODIFY HERE 80 TXT_BootingNow2 :db '''', 081 TXT_BootingNowPartName :db 12 dup (0) ; Space for BootThisPart-Name80 TXT_BootingNow2 db '''', 0 81 TXT_BootingNowPartName db 12 dup (0) ; Space for BootThisPart-Name 82 82 ; DO NOT MODIFY TILL HERE 83 TXT_BootingNowPartition :db ' partition', 084 TXT_BootingNowKernel :db ' kernel', 085 TXT_BootingHide :db '; hide active', 086 TXT_BootingWait :db '; please wait...', 13, 10, 13, 10, 083 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 87 87 88 88 ; FIXED LENGTH - 11 chars each string 89 89 ;----------------------------------|---------|------------------------------ 90 TXT_Floppy_NoName :db 'No Name '91 TXT_Floppy_Drive :db 'FloppyDrive'92 TXT_Floppy_NoDisc :db 'No Disc '90 TXT_Floppy_NoName db 'No Name ' 91 TXT_Floppy_Drive db 'FloppyDrive' 92 TXT_Floppy_NoDisc db 'No Disc ' 93 93 94 94 ; Maximum 60 chars (should not be reached)  - 
      
trunk/BOOTCODE/TEXT/FR/MENUS.ASM
r36 r37 110 110 ; Setup Control Help - Max Length: 33 111 111 ;----------------------------------|-------------------------------|-------- 112 TXT_SETUPHELP_Main :db 24,32,25,32,26,32,27,' : Choisir Action', 0112 TXT_SETUPHELP_Main db 24,32,25,32,26,32,27,' : Choisir Action', 0 113 113 db 'Enter : Slectionner Action', 0 114 114 db 'F10 : Sauver & Sortir', 0 115 115 db 'Esc : Quitter', 0 116 116 117 TXT_SETUPHELP_SubMenu :db 24,32,25,32,26,32,27,' : Choisir Item', 0117 TXT_SETUPHELP_SubMenu db 24,32,25,32,26,32,27,' : Choisir Item', 0 118 118 db 'PgUp/Dn : Changer Item', 0 119 119 db 'F1 : Afficher Aide', 0 120 120 db 'Esc : Retour au menu principal', 0 121 121 122 TXT_SETUPHELP_PartSetup :db 24,32,25,32,26,32,27,' : Choisir partition', 0122 TXT_SETUPHELP_PartSetup db 24,32,25,32,26,32,27,' : Choisir partition', 0 123 123 db 'Enter : Editer tiquette', 0 124 124 db 'F1 : Drapeaux (lettre=bascule)', 0 … … 129 129 ;1234567890123456789012 130 130 ;----------------------------------|--------------------|------------------- 131 TXT_SETUPHELP_PartitionSetup :db 'Mettre vos partitions', 0131 TXT_SETUPHELP_PartitionSetup db 'Mettre vos partitions', 0 132 132 db 'amorables, changer', 0 133 133 db 'les noms, dfinir', 0 134 134 db 'cach et plus encore.', 0 135 135 db 0 136 TXT_SETUPHELP_BasicOptions :db 'Ces options sont pour', 0136 TXT_SETUPHELP_BasicOptions db 'Ces options sont pour', 0 137 137 db 'les usagers dbutants.', 0 138 138 db 0 139 TXT_SETUPHELP_AdvOptions :db 'Pour usagers avancs.', 0139 TXT_SETUPHELP_AdvOptions db 'Pour usagers avancs.', 0 140 140 db 'Si vous ignorez leurs', 0 141 141 db 'fonctions, ne les', 0 142 142 db 'modifiez pas.', 0 143 143 db 0 144 TXT_SETUPHELP_ExtOptions :db 'Options tendues pour', 0144 TXT_SETUPHELP_ExtOptions db 'Options tendues pour', 0 145 145 db 'S.E. spcifiques.', 0 146 146 db 0 147 TXT_SETUPHELP_DefMasterPwd :db 'Dfinir mot de passe', 0147 TXT_SETUPHELP_DefMasterPwd db 'Dfinir mot de passe', 0 148 148 db 'pour accs au', 0 149 149 db 'paramtrage et au', 0 150 150 db 'systme.', 0 151 151 db 0 152 TXT_SETUPHELP_DefBootPwd :db 'Dfinir mot de passe', 0152 TXT_SETUPHELP_DefBootPwd db 'Dfinir mot de passe', 0 153 153 db 'pour accs au systme.', 0 154 154 db 0 155 TXT_SETUPHELP_SaveAndExit :db 'Continuera amorage-', 0155 TXT_SETUPHELP_SaveAndExit db 'Continuera amorage-', 0 156 156 db 'traite et sauve les', 0 157 157 db 'options courantes.', 0 158 158 db 0 159 TXT_SETUPHELP_JustExit :db 'Continuera, mais', 0159 TXT_SETUPHELP_JustExit db 'Continuera, mais', 0 160 160 db 'annulera tout', 0 161 161 db 'changement aux', 0 … … 170 170 db 0 171 171 172 TXT_SETUPHELP_HideSetup :db 'Choisir l''tat des', 0172 TXT_SETUPHELP_HideSetup db 'Choisir l''tat des', 0 173 173 db 'partitions lorsque', 0 174 174 db 'la partition prsen-', 0  - 
      
trunk/BOOTCODE/TEXT/FR/OTHER.ASM
r36 r37 27 27 ; Maximum 2/10/11/6 chars 28 28 ;----------------------------------||--------------------------------------- 29 TXT_TopInfos_No :db 'No', 030 TXT_TopInfos_Hd :db 'Dd', 029 TXT_TopInfos_No db 'No', 0 30 TXT_TopInfos_Hd db 'Dd', 0 31 31 ;----------------------------------|--------|------------------------------- 32 TXT_TopInfos_HdSize :db 'Dd/Cap.:', 032 TXT_TopInfos_HdSize db 'Dd/Cap.:', 0 33 33 ;----------------------------------|--------|------------------------------- 34 TXT_TopInfos_Label :db 'tiq.:', 034 TXT_TopInfos_Label db 'tiq.:', 0 35 35 ;----------------------------------|---------|------------------------------ 36 TXT_TopInfos_Type :db 'Type:', 036 TXT_TopInfos_Type db 'Type:', 0 37 37 ;----------------------------------|----|----------------------------------- 38 TXT_TopInfos_Flags :db 'Drap.:', 0 ; <-- for Partition Setup38 TXT_TopInfos_Flags db 'Drap.:', 0 ; <-- for Partition Setup 39 39 40 40 ; Will be added together to one line, maximum 76 chars 41 TXT_TimedBootLine :db 'Amorage temporis actif. Dmarrage de '''41 TXT_TimedBootLine db 'Amorage temporis actif. Dmarrage de ''' 42 42 TXT_TimedBootEntryName db 12 dup (0) ; Space for Default-Entry-Name 43 TXT_TimedBootLine2 :db ''' dans ', 044 TXT_TimedBootSeconds :db ' secondes. ', 045 TXT_TimedBootSecond :db ' seconde. ', 0 ; if only one is left, ELiTE :]43 TXT_TimedBootLine2 db ''' dans ', 0 44 TXT_TimedBootSeconds db ' secondes. ', 0 45 TXT_TimedBootSecond db ' seconde. ', 0 ; if only one is left, ELiTE :] 46 46 ; Maximum 76 chars 47 47 ;----------------------------------|--------------------------------------------------------------------------| 48 TXT_TimedBootDisabled :db 'Amorage temporis dsactiv; aucune temporisation n''arrivera.', 049 TXT_BootMenuHelpText1 :db '[Esc] bascule l''amorage temporis, [Enter] accepte la slection courante.', 050 TXT_BootMenuHelpText2 :db 'Flches pour choisir une autre, ou [TAB] pour voir les messages POST BIOS.', 048 TXT_TimedBootDisabled db 'Amorage temporis dsactiv; aucune temporisation n''arrivera.', 0 49 TXT_BootMenuHelpText1 db '[Esc] bascule l''amorage temporis, [Enter] accepte la slection courante.', 0 50 TXT_BootMenuHelpText2 db 'Flches pour choisir une autre, ou [TAB] pour voir les messages POST BIOS.', 0 51 51 ; Maximum 30 chars 52 52 ;----------------------------------|----------------------------| … … 54 54 55 55 ; Dynamic Length (till 80 chars) 56 TXT_BrokenPartitionTable :db 13, 10, ' - Votre systme a au moins d''une entre mauvaise de table de partition, ou'56 TXT_BrokenPartitionTable db 13, 10, ' - Votre systme a au moins d''une entre mauvaise de table de partition, ou' 57 57 db 13, 10, ' la disque dr a des casse secteurs. Systme arrt.', 0 58 TXT_TooManyPartitions :db 13, 10, ' - Trop de partitions trouves. AiR-BOOT supporte un maximum de 45.', 059 TXT_NoBootAble :db 13, 10, ' - Aucune partition amorable dfinie. Systme arrt.', 060 TXT_BIOSchanged :db 13, 10, ' - BIOS CHANG! Veuillez vrifier votre systme contre un virus.'58 TXT_TooManyPartitions db 13, 10, ' - Trop de partitions trouves. AiR-BOOT supporte un maximum de 45.', 0 59 TXT_NoBootAble db 13, 10, ' - Aucune partition amorable dfinie. Systme arrt.', 0 60 TXT_BIOSchanged db 13, 10, ' - BIOS CHANG! Veuillez vrifier votre systme contre un virus.' 61 61 db 13, 10, ' Appuyez sur une touche pour continuer...', 0 62 62 63 TXT_VirusFoundMain :db 13, 10, ' - !ATTENTION! -> UN VIRUS A T TROUV <- !ATTENTION!', 13, 10, 064 TXT_VirusFound1ok :db ' Il est radiqu, mais le systme peut ne pas redmarrer correctement.', 13, 1063 TXT_VirusFoundMain db 13, 10, ' - !ATTENTION! -> UN VIRUS A T TROUV <- !ATTENTION!', 13, 10, 0 64 TXT_VirusFound1ok db ' Il est radiqu, mais le systme peut ne pas redmarrer correctement.', 13, 10 65 65 db ' Si c''est le cas, utiliser votre disquette systme AiR-BOOT.', 13, 10, 0 66 TXT_VirusFound1damn :db ' Malheureusement, il a dtruit la copie de sauvgarde de AiR-BOOT. Vous', 13, 1066 TXT_VirusFound1damn db ' Malheureusement, il a dtruit la copie de sauvgarde de AiR-BOOT. Vous', 13, 10 67 67 db ' devez redmarrer en utilisant votre disquette systme AiR-BOOT.', 13, 10, 0 68 TXT_VirusFound1any :db ' Pour plus de sret, vrifiez votre disque contre des rsidus du virus.', 13, 10, 069 TXT_VirusFound2 :db ' Il est localis dans le secteur d amorage de la partition dsire.', 13, 1068 TXT_VirusFound1any db ' Pour plus de sret, vrifiez votre disque contre des rsidus du virus.', 13, 10, 0 69 TXT_VirusFound2 db ' Il est localis dans le secteur d amorage de la partition dsire.', 13, 10 70 70 db ' Utilisez un logiciel antivirus. Ce peut tre aussi une fausse alerte.', 13, 10 71 71 db ' Aprs radiquation, rinitialiser les variables de dtection. Allez dans', 13, 10 72 72 db ' ''PARAMTRAGE PARTITION'' et basculez Dtection-VIBR deux fois (off/on).', 13, 10 73 73 db ' Si c''tait une fausse alerte, laissez-le dsactiv.', 13, 10, 0 74 TXT_VirusFoundEnd :db ' Systme arrt. Veuillez appuyez sur RESET.', 075 TXT_HowEnterSetup :db 13, 10, ' - Appuyez et tenez Strg/Ctrl ou Alt pour configurer AiR-BOOT.', 074 TXT_VirusFoundEnd db ' Systme arrt. Veuillez appuyez sur RESET.', 0 75 TXT_HowEnterSetup db 13, 10, ' - Appuyez et tenez Strg/Ctrl ou Alt pour configurer AiR-BOOT.', 0 76 76 77 TXT_BootingNow1 :db 'Amorage du systme avec ', 077 TXT_BootingNow1 db 'Amorage du systme avec ', 0 78 78 ; DO NOT MODIFY HERE 79 TXT_BootingNow2 :db '''', 080 TXT_BootingNowPartName :db 12 dup (0) ; Space for BootThisPart-Name79 TXT_BootingNow2 db '''', 0 80 TXT_BootingNowPartName db 12 dup (0) ; Space for BootThisPart-Name 81 81 ; DO NOT MODIFY TILL HERE 82 TXT_BootingNowPartition : db'', 083 TXT_BootingNowKernel : db'', 084 TXT_BootingHide :db '; cach actif', 085 TXT_BootingWait :db '; veuillez patienter...', 13, 10, 13, 10, 082 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 86 86 87 87 ; FIXED LENGTH - 11 chars each string 88 88 ;----------------------------------|---------|------------------------------ 89 TXT_Floppy_NoName :db 'Sans nom '90 TXT_Floppy_Drive :db 'Disquette '91 TXT_Floppy_NoDisc :db 'Sans Disq. '89 TXT_Floppy_NoName db 'Sans nom ' 90 TXT_Floppy_Drive db 'Disquette ' 91 TXT_Floppy_NoDisc db 'Sans Disq. ' 92 92 93 93 ; Maximum 60 chars (should not be reached)  - 
      
trunk/BOOTCODE/TEXT/IT/MENUS.ASM
r36 r37 110 110 ; Setup Control Help - Max Length: 33 111 111 ;----------------------------------|-------------------------------|-------- 112 TXT_SETUPHELP_Main :db 24,32,25,32,26,32,27,' : Scelta Azione', 0112 TXT_SETUPHELP_Main db 24,32,25,32,26,32,27,' : Scelta Azione', 0 113 113 db 'Enter : Conferma Azione', 0 114 114 db 'F10 : Salva Config. & Esci', 0 115 115 db 'Esc : Abbandona Config.', 0 116 116 117 TXT_SETUPHELP_SubMenu :db 24,32,25,32,26,32,27,' : Scelta Opzione', 0117 TXT_SETUPHELP_SubMenu db 24,32,25,32,26,32,27,' : Scelta Opzione', 0 118 118 db 'PgUp/Dn : Cambio Opzione', 0 119 119 db 'F1 : Mostra Aiuto Opzione', 0 120 120 db 'Esc : Ritorna al Menu Principale', 0 121 121 122 TXT_SETUPHELP_PartSetup :db 24,32,25,32,26,32,27,' : Scelta Partizione', 0122 TXT_SETUPHELP_PartSetup db 24,32,25,32,26,32,27,' : Scelta Partizione', 0 123 123 db 'Enter : Modifica Etichetta', 0 124 124 db 'F1 : Opz. (premi tasto x camb.)', 0 … … 129 129 ;1234567890123456789012 130 130 ;----------------------------------|--------------------|------------------- 131 TXT_SETUPHELP_PartitionSetup :db 'Rende le partizioni ', 0131 TXT_SETUPHELP_PartitionSetup db 'Rende le partizioni ', 0 132 132 db 'avviabili, cambia il', 0 133 133 db 'loro nome, le nasconde', 0 134 134 db 'etc.', 0 135 135 db 0 136 TXT_SETUPHELP_BasicOptions :db 'Opzioni disponibili', 0136 TXT_SETUPHELP_BasicOptions db 'Opzioni disponibili', 0 137 137 db 'per utenti anche non', 0 138 138 db 'esperti', 0 139 139 db 0 140 TXT_SETUPHELP_AdvOptions :db 'Opzioni solo per', 0140 TXT_SETUPHELP_AdvOptions db 'Opzioni solo per', 0 141 141 db 'utenti esperti. Se si', 0 142 142 db 'ignora come agiscono', 0 143 143 db 'non utilizzarle', 0 144 144 db 0 145 TXT_SETUPHELP_ExtOptions :db 'Opzioni speciali per', 0145 TXT_SETUPHELP_ExtOptions db 'Opzioni speciali per', 0 146 146 db 'specifici sistemi', 0 147 147 db 'operativi', 0 148 148 db 0 149 TXT_SETUPHELP_DefMasterPwd :db 'Definisce la password', 0149 TXT_SETUPHELP_DefMasterPwd db 'Definisce la password', 0 150 150 db 'per accedere alla', 0 151 151 db 'configurazione del', 0 152 152 db 'sistema', 0 153 153 db 0 154 TXT_SETUPHELP_DefBootPwd :db 'Definisce la password', 0154 TXT_SETUPHELP_DefBootPwd db 'Definisce la password', 0 155 155 db 'per accedere al', 0 156 156 db 'sistema', 0 157 157 db 0 158 TXT_SETUPHELP_SaveAndExit :db 'Continua l''avvio e', 0158 TXT_SETUPHELP_SaveAndExit db 'Continua l''avvio e', 0 159 159 db 'salva le impostazioni', 0 160 160 db 'correnti', 0 161 161 db 0 162 TXT_SETUPHELP_JustExit :db 'Continua l''avvio, ', 0162 TXT_SETUPHELP_JustExit db 'Continua l''avvio, ', 0 163 163 db 'ma non salva', 0 164 164 db 'le impostazioni', 0 … … 172 172 db 0 173 173 174 TXT_SETUPHELP_HideSetup :db 'Definisce lo stato', 0174 TXT_SETUPHELP_HideSetup db 'Definisce lo stato', 0 175 175 db 'delle altre partizioni', 0 176 176 db 'quando la partizione', 0 … … 305 305 ; db 'root di Linux', 0 306 306 ; db 0 307 ;TXT_SETUPHELP_DefLinuxCmd :db 'Definisce la linea di', 0307 ;TXT_SETUPHELP_DefLinuxCmd db 'Definisce la linea di', 0 308 308 ; db 'comando per Linux, se', 0 309 309 ; db 'disponibile', 0  - 
      
trunk/BOOTCODE/TEXT/IT/OTHER.ASM
r36 r37 27 27 ; Maximum 2/10/11/6 chars 28 28 ;----------------------------------||--------------------------------------- 29 TXT_TopInfos_No :db 'Nr', 030 TXT_TopInfos_Hd :db 'Hd', 029 TXT_TopInfos_No db 'Nr', 0 30 TXT_TopInfos_Hd db 'Hd', 0 31 31 ;----------------------------------|--------|------------------------------- 32 TXT_TopInfos_HdSize :db 'Hd/Size:', 032 TXT_TopInfos_HdSize db 'Hd/Size:', 0 33 33 ;----------------------------------|--------|------------------------------- 34 TXT_TopInfos_Label :db 'Etichetta:', 034 TXT_TopInfos_Label db 'Etichetta:', 0 35 35 ;----------------------------------|---------|------------------------------ 36 TXT_TopInfos_Type :db 'Tipo:', 036 TXT_TopInfos_Type db 'Tipo:', 0 37 37 ;----------------------------------|----|----------------------------------- 38 TXT_TopInfos_Flags :db 'Flags:', 0 ; <-- for Partition Setup38 TXT_TopInfos_Flags db 'Flags:', 0 ; <-- for Partition Setup 39 39 40 40 ; Will be added together to one line, maximum 76 chars 41 TXT_TimedBootLine :db 'Timer di Avvio Attivato. Avvio con '''41 TXT_TimedBootLine db 'Timer di Avvio Attivato. Avvio con ''' 42 42 TXT_TimedBootEntryName db 12 dup (0) ; Space for Default-Partition-Name 43 TXT_TimedBootLine2 :db ''' tra ', 044 TXT_TimedBootSeconds :db ' secondi. ', 045 TXT_TimedBootSecond :db ' secondo. ', 0 ; if only one is left, ELiTE :]43 TXT_TimedBootLine2 db ''' tra ', 0 44 TXT_TimedBootSeconds db ' secondi. ', 0 45 TXT_TimedBootSecond db ' secondo. ', 0 ; if only one is left, ELiTE :] 46 46 ; Maximum 76 chars 47 47 ;----------------------------------|--------------------------------------------------------------------------| 48 TXT_TimedBootDisabled :db 'Avvio Temporizzato Disabilitato. Pausa.', 049 TXT_BootMenuHelpText1 :db 'Premere [Esc] per resettare il timer, [Invio] per accettare la selezione.', 050 TXT_BootMenuHelpText2 :db 'Selezionare con i tasti freccia, oppure [TAB] per i messaggi POST del BIOS.', 048 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 51 51 ; Maximum 30 chars 52 52 ;----------------------------------|----------------------------| … … 54 54 55 55 ; Dynamic Length (till 80 chars) 56 TXT_BrokenPartitionTable :db 13, 10, ' - Il sistema ha almeno una partizione corrotta nel tuo hard-disk contiene'56 TXT_BrokenPartitionTable db 13, 10, ' - Il sistema ha almeno una partizione corrotta nel tuo hard-disk contiene' 57 57 db 13, 10, ' settori danneggiati. Sistema bloccato.', 0 58 TXT_TooManyPartitions :db 13, 10, ' - Trovate troppe partizioni. AiR-BOOT ne supporta fino a 45.', 059 TXT_NoBootAble :db 13, 10, ' - Nessuna partizione avviabile definita. Sistema bloccato.', 060 TXT_BIOSchanged :db 13, 10, ' - BIOS MODIFICATO! Controllare il sistema contro eventuali virus.'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.' 61 61 db 13, 10, ' Premere un tasto per continuare...', 0 62 62 63 TXT_VirusFoundMain :db 13, 10, ' - !ATTENZIONE! -> RILEVATO UN VIRUS <- !ATTENZIONE!', 13, 10, 064 TXT_VirusFound1ok :db ' Ora sara'' sovrascritto, ma il sistema potrebbe non riavviarsi', 13, 1063 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 65 65 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, 1066 TXT_VirusFound1damn db ' Purtroppo il backup di AiR-BOOT non funziona. Riavviare con il', 13, 10 67 67 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, 069 TXT_VirusFound2 :db ' Il virus risiede nel boot-record della partizione in avvio.', 13, 1068 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 70 70 db ' Usare un programma antivirus. Potrebbe anche essere un falso allarme.', 13, 10 71 71 db ' Dopo la rimozione occorre reinizializzare il rilevamento virus. Andare', 13, 10 72 72 db ' in ''CONFIGURAZIONE PARTIZIONI'' e modificare due volte Rilevamento VIBR', 13, 10 73 73 db ' (off/on). Se si tratta di falso allarme, lasciarlo disinserito (off).', 13, 10, 0 74 TXT_VirusFoundEnd :db ' Sistema bloccato. Premere RESET.', 075 TXT_HowEnterSetup :db 13, 10, ' - Premere e tenere premuto Ctrl o Alt per configurare AiR-BOOT.', 074 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 76 76 77 TXT_BootingNow1 :db 'Avvio del sistema con ', 077 TXT_BootingNow1 db 'Avvio del sistema con ', 0 78 78 ; DO NOT MODIFY HERE 79 TXT_BootingNow2 :db ''''80 TXT_BootingNowPartName :db 12 dup (0) ; Space for BootThisPart-Name79 TXT_BootingNow2 db '''' 80 TXT_BootingNowPartName db 12 dup (0) ; Space for BootThisPart-Name 81 81 ; DO NOT MODIFY TILL HERE 82 TXT_BootingNowPartition : db'', 083 TXT_BootingNowKernel :db ' kernel', 084 TXT_BootingHide :db '; part. attiva nascosta', 085 TXT_BootingWait :db '; attendere, prego...', 13, 10, 13, 10, 082 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 86 86 87 87 ; FIXED LENGTH - 11 chars each string 88 88 ;----------------------------------|---------|------------------------------ 89 TXT_Floppy_NoName :db 'Nessun Nome'90 TXT_Floppy_Drive :db 'FloppyDrive'91 TXT_Floppy_NoDisc :db 'No Disco '89 TXT_Floppy_NoName db 'Nessun Nome' 90 TXT_Floppy_Drive db 'FloppyDrive' 91 TXT_Floppy_NoDisc db 'No Disco ' 92 92 93 93 ; Maximum 60 chars (should not be reached)  - 
      
trunk/BOOTCODE/TEXT/NL/MBR.ASM
r30 r37 21 21 ;------------------------------------------------------------------------------ 22 22 23 TXT_LanguageID equ ' D'23 TXT_LanguageID equ 'N' 24 24 25 25 ; Those strings are saved within MBR.  - 
      
trunk/BOOTCODE/TEXT/NL/MENUS.ASM
r36 r37 110 110 ; Setup Control Help - Max Length: 33 111 111 ;----------------------------------|-------------------------------|-------- 112 TXT_SETUPHELP_Main :db 24,32,25,32,26,32,27,' : Maak uw keuze', 0112 TXT_SETUPHELP_Main db 24,32,25,32,26,32,27,' : Maak uw keuze', 0 113 113 db 'Enter : Keuze bevestigen', 0 114 114 db 'F10 : Opslaan en afsluiten', 0 115 115 db 'Esc : Setup afsluiten', 0 116 116 117 TXT_SETUPHELP_SubMenu :db 24,32,25,32,26,32,27,' : Item kiezen', 0117 TXT_SETUPHELP_SubMenu db 24,32,25,32,26,32,27,' : Item kiezen', 0 118 118 db 'PgUp/Dn : Onderdelen van het item', 0 119 119 db 'F1 : Hulp voor dit item', 0 120 120 db 'Esc : Terug naar het hoofdmenu', 0 121 121 122 TXT_SETUPHELP_PartSetup :db 24,32,25,32,26,32,27,' : Partitie kiezen', 0122 TXT_SETUPHELP_PartSetup db 24,32,25,32,26,32,27,' : Partitie kiezen', 0 123 123 db 'Enter : Label bewerken', 0 124 124 db 'F1 : Uitleg bij de toetsen', 0 … … 129 129 ;1234567890123456789012 130 130 ;----------------------------------|--------------------|-------------------- 131 TXT_SETUPHELP_PartitionSetup :db 'Partities opstartbaar', 0131 TXT_SETUPHELP_PartitionSetup db 'Partities opstartbaar', 0 132 132 db 'maken, label wijzigen,', 0 133 133 db 'partities verbergen of', 0 … … 135 135 db 'en nog veel meer.', 0 136 136 db 0 137 TXT_SETUPHELP_BasicOptions :db 'Opties voor minder', 0137 TXT_SETUPHELP_BasicOptions db 'Opties voor minder', 0 138 138 db 'ervaren gebruikers.', 0 139 139 db 0 140 TXT_SETUPHELP_AdvOptions :db 'Opties voor ervaren', 0140 TXT_SETUPHELP_AdvOptions db 'Opties voor ervaren', 0 141 141 db 'gebruikers. Stel hier', 0 142 142 db 'niets in tenzij u goed', 0 143 143 db 'weet waarover het gaat.', 0 144 144 db 0 145 TXT_SETUPHELP_ExtOptions :db 'Opties enkel bedoeld', 0145 TXT_SETUPHELP_ExtOptions db 'Opties enkel bedoeld', 0 146 146 db 'voor een bepaald sy-', 0 147 147 db 'steem.', 0 148 148 db 0 149 TXT_SETUPHELP_DefMasterPwd :db 'Wachtwoord instellen', 0149 TXT_SETUPHELP_DefMasterPwd db 'Wachtwoord instellen', 0 150 150 db 'voor de setup en voor', 0 151 151 db 'het systeem.', 0 152 152 db 0 153 TXT_SETUPHELP_DefBootPwd :db 'Wachtwoord instellen', 0153 TXT_SETUPHELP_DefBootPwd db 'Wachtwoord instellen', 0 154 154 db 'voor de toegang', 0 155 155 db 'tot het systeeem.', 0 156 156 db 0 157 TXT_SETUPHELP_SaveAndExit :db 'Het opstarten wordt nu', 0157 TXT_SETUPHELP_SaveAndExit db 'Het opstarten wordt nu', 0 158 158 db 'verder gezet terwijl', 0 159 159 db 'de nieuwe instellingen' , 0 160 160 db 'bewaard worden.', 0 161 161 db 0 162 TXT_SETUPHELP_JustExit :db 'Het opstarten wordt nu', 0162 TXT_SETUPHELP_JustExit db 'Het opstarten wordt nu', 0 163 163 db 'verder gezet terwijl', 0 164 164 db 'de nieuwe instellingen' , 0 … … 172 172 db 0 173 173 174 TXT_SETUPHELP_HideSetup :db 'Bepaal hoe de andere', 0174 TXT_SETUPHELP_HideSetup db 'Bepaal hoe de andere', 0 175 175 db 'partities moeten wor-', 0 176 176 db 'den getoond wanneer', 0  - 
      
trunk/BOOTCODE/TEXT/NL/OTHER.ASM
r36 r37 27 27 ; Maximum 2/10/11/6 chars 28 28 ;----------------------------------||--------------------------------------- 29 TXT_TopInfos_No :db 'Nr', 030 TXT_TopInfos_Hd :db 'Hd', 029 TXT_TopInfos_No db 'Nr', 0 30 TXT_TopInfos_Hd db 'Hd', 0 31 31 ;----------------------------------|----------|----------------------------- 32 TXT_TopInfos_HdSize :db 'Hd/Grootte:', 032 TXT_TopInfos_HdSize db 'Hd/Grootte:', 0 33 33 ;----------------------------------|--------|------------------------------- 34 TXT_TopInfos_Label :db 'Benamimg:', 034 TXT_TopInfos_Label db 'Benamimg:', 0 35 35 ;----------------------------------|---------|------------------------------ 36 TXT_TopInfos_Type :db 'Type:', 036 TXT_TopInfos_Type db 'Type:', 0 37 37 ;----------------------------------|----|----------------------------------- 38 TXT_TopInfos_Flags :db 'Flags:', 0 ; <-- for Partition Setup38 TXT_TopInfos_Flags db 'Flags:', 0 ; <-- for Partition Setup 39 39 40 40 ; Will be added together to one line, maximum 76 chars 41 TXT_TimedBootLine :db 'Tijd over: er wordt opgestart van '''41 TXT_TimedBootLine db 'Tijd over: er wordt opgestart van ''' 42 42 TXT_TimedBootEntryName db 12 dup (0) ; Space for Default-Entry-Name 43 TXT_TimedBootLine2 :db ''' de partitie na ', 044 TXT_TimedBootSeconds :db ' seconden. ', 045 TXT_TimedBootSecond :db ' second. ', 0 ; if only one is left, ELiTE :]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 :] 46 46 ; Maximum 76 chars 47 47 ;----------------------------------|--------------------------------------------------------------------------| 48 TXT_TimedBootDisabled :db 'Het opstarten werd onderbroken. Tik op [Esc] om verder te gaan.', 049 TXT_BootMenuHelpText1 :db '[Esc] om te onderbreken/vervolgen.[Enter] om de keuze te starten.', 050 TXT_BootMenuHelpText2 :db 'Andere keuze met de pijltjestoetsen, tik [TAB] om de bios uitvoer te zien.', 048 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 51 51 ; Maximum 30 chars 52 52 ;----------------------------------|----------------------------| … … 54 54 55 55 ; Dynamic Length (till 80 chars) 56 TXT_BrokenPartitionTable :db 13, 10, ' - U hard disk bevat minstens 1 beschadigde paritietabel element of u hard disk'56 TXT_BrokenPartitionTable db 13, 10, ' - U hard disk bevat minstens 1 beschadigde paritietabel element of u hard disk' 57 57 db 13, 10, ' bevat bad sector. Systeem is gestopt.', 0 58 TXT_TooManyPartitions :db 13, 10, ' - Er zijn teveel partities aanwezig. Het maximum is 45.', 059 TXT_NoBootAble :db 13, 10, ' - Geen opstartpartitie beschikbaar. Systeem is gestopt.', 060 TXT_BIOSchanged :db 13, 10, ' - Het BIOS werd gewijzigd! Controleer eerst op virussen.'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.' 61 61 db 13, 10, ' Tik op een toets om verder te gaan...', 0 62 62 ;----------------------------------|--------------------------------------------------------------------------| 63 TXT_VirusFoundMain :db 13, 10, ' - !OPGELET! -> Virusje gevonden! <- !OPGELET!', 13, 10, 064 TXT_VirusFound1ok :db ' verwijderd, maar er kan misschien niet meer juist worden opgestart. Is,', 13, 1063 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 65 65 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, 1066 TXT_VirusFound1damn db ' Ook uw AiR-BOOT backup werd vernietigd. U moet dus terug opstarten', 13, 10 67 67 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, 069 TXT_VirusFound2 :db ' Deze bevinden zich in het MBR van de partitie die u wou opstarten.', 13, 1068 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 70 70 db ' Gebruik hiervoor een anti-virusprogramma. Mogelijks slechts alarm.', 13, 10 71 71 db ' Na de vewijdering moet u een en ander opnieuw instellen. Ga naar', 13, 10 72 72 db ' ''Partities instellen'' en schakel VIBR-detectie tweemaal (aan/uit).', 13, 10 73 73 db ' Indien slechts vals alarm, "uit" laten staan.', 13, 10, 0 74 TXT_VirusFoundEnd :db ' Afgebroken! Tik op de RESET knop.', 075 TXT_HowEnterSetup :db 13, 10, ' - Shift/Ctrl of Alt ingeduwd houden voor de AiR-BOOT Setup.', 074 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 76 76 77 TXT_BootingNow1 :db 'Er wordt nu opgestart van de ', 077 TXT_BootingNow1 db 'Er wordt nu opgestart van de ', 0 78 78 ; DO NOT MODIFY HERE 79 TXT_BootingNow2 :db '''', 080 TXT_BootingNowPartName :db 12 dup (0) ; Space for BootThisPart-Name79 TXT_BootingNow2 db '''', 0 80 TXT_BootingNowPartName db 12 dup (0) ; Space for BootThisPart-Name 81 81 ; DO NOT MODIFY TILL HERE 82 TXT_BootingNowPartition :db ' partitie', 083 TXT_BootingNowKernel :db ' kernel', 084 TXT_BootingHide :db '; actieve verbergen', 085 TXT_BootingWait :db '; Wachten graag...', 13, 10, 13, 10, 082 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 86 86 87 87 ; FIXED LENGTH - 11 chars each string 88 88 ;----------------------------------|---------|------------------------------ 89 TXT_Floppy_NoName :db 'Geen label '90 TXT_Floppy_Drive :db 'Station A: '91 TXT_Floppy_NoDisc :db 'Geen media '89 TXT_Floppy_NoName db 'Geen label ' 90 TXT_Floppy_Drive db 'Station A: ' 91 TXT_Floppy_NoDisc db 'Geen media ' 92 92 93 93 ; Maximum 60 chars (should not be reached)  - 
      
trunk/BOOTCODE/TEXT/RU/MENUS.ASM
r36 r37 117 117 ; Setup Control Help - Max Length: 33 118 118 ;----------------------------------|-------------------------------|-------- 119 TXT_SETUPHELP_Main :db 24,32,25,32,26,32,27,' : ë¡®à €¥©á⢚ï', 0119 TXT_SETUPHELP_Main db 24,32,25,32,26,32,27,' : ë¡®à €¥©á⢚ï', 0 120 120 db 'Enter : ®€â¢¥àŠ€¥š¥', 0 121 121 db 'F10 : ®åà šâì š ¢ë©âš', 0 122 122 db 'Esc : ë©âš', 0 123 123 124 TXT_SETUPHELP_SubMenu :db 24,32,25,32,26,32,27,' : ë¡®à ¯ãªâ', 0124 TXT_SETUPHELP_SubMenu db 24,32,25,32,26,32,27,' : ë¡®à ¯ãªâ', 0 125 125 db 'PgUp/Dn : ¬¥ ¯ãªâ ', 0 126 126 db 'F1 : ®ª § âì ¯®¬®éì', 0 127 127 db 'Esc : « ¢®¥ ¬¥î', 0 128 128 129 TXT_SETUPHELP_PartSetup :db 24,32,25,32,26,32,27,' : ë¡®à à §€¥« ', 0129 TXT_SETUPHELP_PartSetup db 24,32,25,32,26,32,27,' : ë¡®à à §€¥« ', 0 130 130 db 'Enter : ¬¥ ¬¥âªš', 0 131 131 db 'F1 : « £š (ª«îçš)', 0 … … 137 137 ;----------------------------------|--------------------|------------------- 138 138 139 TXT_SETUPHELP_PartitionSetup :db '®Š¥â¥ § € âì à §€¥«ë', 0139 TXT_SETUPHELP_PartitionSetup db '®Š¥â¥ § € âì à §€¥«ë', 0 140 140 db '§ £à㊠¥¬ë¬š, ᬥšâì', 0 141 141 db 'šå  §¢ š¥, á¯àïâ âì', 0 142 142 db '𠬮£®¥ €à㣮¥.', 0 143 143 db 0 144 TXT_SETUPHELP_BasicOptions :db 'â®  áâனªš €«ï', 0144 TXT_SETUPHELP_BasicOptions db 'â®  áâனªš €«ï', 0 145 145 db ' çš îéšå ¯®«ì§®-.', 0 146 146 db '¢ ⥫¥©.', 0 147 147 db 0 148 TXT_SETUPHELP_AdvOptions :db 'âš  áâனªš €«ï', 0148 TXT_SETUPHELP_AdvOptions db 'âš  áâனªš €«ï', 0 149 149 db '®¯ëâëå ¯®«ì§®¢ ⥫¥©.', 0 150 150 db ' … … 153 153 db '¬¥ï©â¥.', 0 154 154 db 0 155 TXT_SETUPHELP_ExtOptions :db ' áèšà¥ë¥ ®¯æšš €«ï', 0155 TXT_SETUPHELP_ExtOptions db ' áèšà¥ë¥ ®¯æšš €«ï', 0 156 156 db 'à §ëå ášá⥬.', 0 157 157 db 0 158 TXT_SETUPHELP_DefMasterPwd :db ' € 𥠝 à®«ï €«ï', 0158 TXT_SETUPHELP_DefMasterPwd db ' € 𥠝 à®«ï €«ï', 0 159 159 db '€®áâ㯠ª  áâனª ¬', 0 160 160 db 'š ášá⥬¥.', 0 161 161 db 0 162 TXT_SETUPHELP_DefBootPwd :db ' € 𥠝 à®«ï €«ï', 0162 TXT_SETUPHELP_DefBootPwd db ' € 𥠝 à®«ï €«ï', 0 163 163 db '€®áâ㯠ª ášá⥬¥.', 0 164 164 db 0 165 TXT_SETUPHELP_SaveAndExit :db '஀®«Ššâì § £à㧪㠚', 0165 TXT_SETUPHELP_SaveAndExit db '஀®«Ššâì § £à㧪㠚', 0 166 166 db 'á®å šâì ⥪ã隥', 0 167 167 db ' áâனªš.', 0 168 168 db 0 169 TXT_SETUPHELP_JustExit :db '஀®«Ššâì § £à㧪ã,', 0169 TXT_SETUPHELP_JustExit db '஀®«Ššâì § £à㧪ã,', 0 170 170 db '® ®â¬¥šâì ¢á¥', 0 171 171 db '𧬥¥šï  áâ஥ª.', 0 … … 179 179 db 0 180 180 181 TXT_SETUPHELP_HideSetup :db 'ë¡¥àšâ¥ á®áâ®ïš¥,', 0181 TXT_SETUPHELP_HideSetup db 'ë¡¥àšâ¥ á®áâ®ïš¥,', 0 182 182 db '¢ ª®â®à®¬ à §€¥«', 0 183 183 db '€®«Š¥ ¡ëâì, ª®£€ ', 0  - 
      
trunk/BOOTCODE/TEXT/RU/OTHER.ASM
r36 r37 27 27 ; Maximum 2/10/11/6 chars 28 28 ;----------------------------------||--------------------------------------- 29 TXT_TopInfos_No :db 'No', 030 TXT_TopInfos_Hd :db 'Hd', 029 TXT_TopInfos_No db 'No', 0 30 TXT_TopInfos_Hd db 'Hd', 0 31 31 ;----------------------------------|--------|------------------------------- 32 TXT_TopInfos_HdSize :db 'Hd/ §¬¥à:', 032 TXT_TopInfos_HdSize db 'Hd/ §¬¥à:', 0 33 33 ;----------------------------------|--------|------------------------------- 34 TXT_TopInfos_Label :db '¬ï:', 034 TXT_TopInfos_Label db '¬ï:', 0 35 35 ;----------------------------------|---------|------------------------------ 36 TXT_TopInfos_Type :db 'š¯:', 036 TXT_TopInfos_Type db 'š¯:', 0 37 37 ;----------------------------------|----|----------------------------------- 38 TXT_TopInfos_Flags :db '« £š:', 0 ; <-- for Partition Setup38 TXT_TopInfos_Flags db '« £š:', 0 ; <-- for Partition Setup 39 39 40 40 ; Will be added together to one line, maximum 76 chars 41 TXT_TimedBootLine :db '¢â®§ £à㧪 ¢ª«çî¥ . 〥⠧ £à㊥ '''41 TXT_TimedBootLine db '¢â®§ £à㧪 ¢ª«çî¥ . 〥⠧ £à㊥ ''' 42 42 TXT_TimedBootEntryName db 12 dup (0) ; Space for Default-Entry-Name 43 TXT_TimedBootLine2 :db ''' ç¥à¥§ ', 044 TXT_TimedBootSeconds :db ' ᥪã€. ', 045 TXT_TimedBootSecond :db ' ᥪã€ã. ', 0 ; if only one is left, ELiTE :]43 TXT_TimedBootLine2 db ''' ç¥à¥§ ', 0 44 TXT_TimedBootSeconds db ' ᥪã€. ', 0 45 TXT_TimedBootSecond db ' ᥪã€ã. ', 0 ; if only one is left, ELiTE :] 46 46 ; Maximum 76 chars 47 47 ;----------------------------------|--------------------------------------------------------------------------| 48 TXT_TimedBootDisabled :db '¢â®§ £à㧪 ®âª«îç¥ , â ©¬¥à ®âª«îç¥.', 049 TXT_BootMenuHelpText1 :db ' Ьšâ¥ [Esc] €«ï ¯¥à¥ª«îç¥šï ¢â®§ £à㧪š, [Enter] €«ï ¢ë¡®à à §€¥« .', 050 TXT_BootMenuHelpText2 :db 'ë¡¥àšâ¥ à §€¥« š«š  Ьšâ¥ [TAB], ç⮡ë 㢚€¥âì á®®¡é¥šï BIOS POST.', 048 TXT_TimedBootDisabled db '¢â®§ £à㧪 ®âª«îç¥ , â ©¬¥à ®âª«îç¥.', 0 49 TXT_BootMenuHelpText1 db ' Ьšâ¥ [Esc] €«ï ¯¥à¥ª«îç¥šï ¢â®§ £à㧪š, [Enter] €«ï ¢ë¡®à à §€¥« .', 0 50 TXT_BootMenuHelpText2 db 'ë¡¥àšâ¥ à §€¥« š«š  Ьšâ¥ [TAB], ç⮡ë 㢚€¥âì á®®¡é¥šï BIOS POST.', 0 51 51 ; Maximum 30 chars 52 52 ;----------------------------------|----------------------------| … … 54 54 55 55 ; Dynamic Length (till 80 chars) 56 TXT_BrokenPartitionTable :db 13, 10, ' - ¡ à㊥ ¬šš¬ã¬ ®€š šá¯®àç¥ë© à §€¥«, «š¡® â ¡«šæ à §€¥«®¢ ᮀ¥àŠšâ'56 TXT_BrokenPartitionTable db 13, 10, ' - ¡ à㊥ ¬šš¬ã¬ ®€š šá¯®àç¥ë© à §€¥«, «š¡® â ¡«šæ à §€¥«®¢ ᮀ¥àŠšâ' 57 57 db 13, 10, ' á¡®©ë¥ ¡«®ªš. šá⥬ ®áâ ®¢«¥ .', 0 58 TXT_TooManyPartitions :db 13, 10, ' - «šèª®¬ ¬®£® à §€¥«®¢  ©€¥®. AiR-BOOT ¯®€€¥àŠš¢ ¥â €® 45.', 059 TXT_NoBootAble :db 13, 10, ' - ¥  ©€¥® § £à㊠¥¬ëå à §€¥«®¢. šá⥬ ®áâ ®¢«¥ .', 060 TXT_BIOSchanged :db 13, 10, ' - BIOS 58 TXT_TooManyPartitions db 13, 10, ' - «šèª®¬ ¬®£® à §€¥«®¢  ©€¥®. AiR-BOOT ¯®€€¥àŠš¢ ¥â €® 45.', 0 59 TXT_NoBootAble db 13, 10, ' - ¥  ©€¥® § £à㊠¥¬ëå à §€¥«®¢. šá⥬ ®áâ ®¢«¥ .', 0 60 TXT_BIOSchanged db 13, 10, ' - BIOS  61 61 , ¯à®¢¥àì⥠᢮î ášáâ¥¬ã  ¯à¥€¬¥â ¢šàãᮢ.' 62 62 db 13, 10, '  Ьšâ¥ «î¡ãî ª« ¢šèã €«ï ¯à®€®«Š¥šï...', 0 63 63 64 TXT_VirusFoundMain :db 13, 10, ' - !64 TXT_VirusFoundMain db 13, 10, ' - ! 65 65 ! ->  66 66   <- ! 67 67 !', 13, 10, 0 68 TXT_VirusFound1ok :db '  ¡ë« ãâšç⮊¥, ® ášá⥬ ¬®Š¥â ¥ § £àã§šâìáï ¯à ¢š«ì®.68 TXT_VirusFound1ok db '  ¡ë« ãâšç⮊¥, ® ášá⥬ ¬®Š¥â ¥ § £àã§šâìáï ¯à ¢š«ì®. 69 69 ᫚ íâ®', 13, 10 70 70 db ' íâ® ¯à®š§®©€¥â, šá¯®«ì§ã©â¥  è €šáª AiR-BOOT.', 13, 10, 0 71 TXT_VirusFound1damn :db '  ᮊ «¥šî, ® áâ¥à  áâனªš AiR-BOOT. ë €®«Šë § £àã§šâìáï, šá¯®«ì§ãï', 13, 1071 TXT_VirusFound1damn db '  ᮊ «¥šî, ® áâ¥à  áâனªš AiR-BOOT. ë €®«Šë § £àã§šâìáï, šá¯®«ì§ãï', 13, 10 72 72 db '  è €šáª AiR-BOOT.', 13, 10, 0 73 TXT_VirusFound1any :db ' «ï ¡¥§®¯ á®áâš,  ¬ á«¥€ã¥â ¯à®¢¥àšâì  èš Š¥á⪚¥ €šáªš  ¢šàãáë.', 13, 10, 074 TXT_VirusFound2 :db ' šàãá  å®€šâáï ¢ MBR à §€¥« , ª®â®àë© ë å®âšâ¥ § £àã§šâì.', 13, 1073 TXT_VirusFound1any db ' «ï ¡¥§®¯ á®áâš,  ¬ á«¥€ã¥â ¯à®¢¥àšâì  èš Š¥á⪚¥ €šáªš  ¢šàãáë.', 13, 10, 0 74 TXT_VirusFound2 db ' šàãá  å®€šâáï ¢ MBR à §€¥« , ª®â®àë© ë å®âšâ¥ § £àã§šâì.', 13, 10 75 75 db ' ᯮ«ì§ã©â¥ ¯à®£à ¬¬ë ¯®šáª ¢šàãᮢ.  ªŠ¥ íâ® ¬®Š¥â ¡ëâì ®èš¡®çë¬', 13, 10 76 76 db ' ¯à¥€ã¯à¥Š€¥š¥¬. ®á«¥ 〠«¥šï ¢šàãá , ë €®«Šë ¯¥à¥§ € âì ¯¥à¥¬¥ë¥', 13, 10 … … 81 81 ᫚ íâ® ¡ë«® ®èš¡®ç®¥ ¯à¥€ã¯à¥Š€¥š¥', 13, 10 82 82 db ' ®áâ ¢ì⥠¥£® ¢ "¢ëª«".', 13, 10, 0 83 TXT_VirusFoundEnd :db ' šá⥬ ®áâ ®¢«¥ . ®Š «ã©áâ ,  Ьšâ¥ RESET.', 084 TXT_HowEnterSetup :db 13, 10, ' -  Ьšâ¥ š €¥àŠšâ¥ Ctrl š«š Alt €«ï ¢å®€ ¢  áâனªš AiR-BOOT.', 083 TXT_VirusFoundEnd db ' šá⥬ ®áâ ®¢«¥ . ®Š «ã©áâ ,  Ьšâ¥ RESET.', 0 84 TXT_HowEnterSetup db 13, 10, ' -  Ьšâ¥ š €¥àŠšâ¥ Ctrl š«š Alt €«ï ¢å®€ ¢  áâனªš AiR-BOOT.', 0 85 85 86 TXT_BootingNow1 :db ' £à㧪 ášá⥬ë, šá¯®«ì§ãï ', 086 TXT_BootingNow1 db ' £à㧪 ášá⥬ë, šá¯®«ì§ãï ', 0 87 87 ; DO NOT MODIFY HERE 88 TXT_BootingNow2 :db '''', 089 TXT_BootingNowPartName :db 12 dup (0) ; Space for BootThisPart-Name88 TXT_BootingNow2 db '''', 0 89 TXT_BootingNowPartName db 12 dup (0) ; Space for BootThisPart-Name 90 90 ; DO NOT MODIFY TILL HERE 91 TXT_BootingNowPartition :db ' à §€¥«', 092 TXT_BootingNowKernel :db ' ï€à®', 093 TXT_BootingHide :db '; ᮪àë⚥ ªâš¢®', 094 TXT_BootingWait :db '; ¯®Š «ã©áâ , ¯®€®Š€šâ¥...', 13, 10, 13, 10, 091 TXT_BootingNowPartition db ' à §€¥«', 0 92 TXT_BootingNowKernel db ' ï€à®', 0 93 TXT_BootingHide db '; ᮪àë⚥ ªâš¢®', 0 94 TXT_BootingWait db '; ¯®Š «ã©áâ , ¯®€®Š€šâ¥...', 13, 10, 13, 10, 0 95 95 96 96 ; FIXED LENGTH - 11 chars each string 97 97 ;----------------------------------|---------|------------------------------ 98 TXT_Floppy_NoName :db '¥§ š¬¥š '99 TXT_Floppy_Drive :db 'šáª®¢®€ '100 TXT_Floppy_NoDisc :db '¥â €šáª '98 TXT_Floppy_NoName db '¥§ š¬¥š ' 99 TXT_Floppy_Drive db 'šáª®¢®€ ' 100 TXT_Floppy_NoDisc db '¥â €šáª ' 101 101 102 102 ; Maximum 60 chars (should not be reached)  - 
      
trunk/BOOTCODE/TEXT/SW/MENUS.ASM
r36 r37 110 110 ; Setup Control Help - Max Length: 33 111 111 ;----------------------------------|-------------------------------|-------- 112 TXT_SETUPHELP_Main :db 24,32,25,32,26,32,27,' : Vlj Aktion', 0112 TXT_SETUPHELP_Main db 24,32,25,32,26,32,27,' : Vlj Aktion', 0 113 113 db 'Enter : Vlj Aktion', 0 114 114 db 'F10 : Spara&Avsluta Setup', 0 115 115 db 'Esc : Lmna Setup', 0 116 116 117 TXT_SETUPHELP_SubMenu :db 24,32,25,32,26,32,27,' : Vlj Post', 0117 TXT_SETUPHELP_SubMenu db 24,32,25,32,26,32,27,' : Vlj Post', 0 118 118 db 'PgUp/Dn : ndra Post', 0 119 119 db 'F1 : Visa hjlp fr post', 0 120 120 db 'Esc : tervnd till huvud-menyn', 0 121 121 122 TXT_SETUPHELP_PartSetup :db 24,32,25,32,26,32,27,' : Vlj partition', 0122 TXT_SETUPHELP_PartSetup db 24,32,25,32,26,32,27,' : Vlj partition', 0 123 123 db 'Enter : Editera etikett', 0 124 124 db 'F1 : Flagga (tryck tg fr vxl)', 0 … … 129 129 ;1234567890123456789012 130 130 ;----------------------------------|--------------------|------------------- 131 TXT_SETUPHELP_PartitionSetup :db 'Gr dina partitioner', 0131 TXT_SETUPHELP_PartitionSetup db 'Gr dina partitioner', 0 132 132 db 'bootningsbara, ndra', 0 133 133 db 'deras namn, definiera', 0 … … 135 135 db 'annat.', 0 136 136 db 0 137 TXT_SETUPHELP_BasicOptions :db 'Dessa optioner r fr', 0137 TXT_SETUPHELP_BasicOptions db 'Dessa optioner r fr', 0 138 138 db 'oerfarna anvndare.', 0 139 TXT_SETUPHELP_AdvOptions :db 'Dessa r fr', 0139 TXT_SETUPHELP_AdvOptions db 'Dessa r fr', 0 140 140 db 'avancerade anvndare.', 0 141 141 db 'Om du inte vet vad de', 0 142 142 db 'gr, lmna som de r.', 0 143 143 db 0 144 TXT_SETUPHELP_ExtOptions :db 'Utkade optioner fr', 0144 TXT_SETUPHELP_ExtOptions db 'Utkade optioner fr', 0 145 145 db 'specifika OS.', 0 146 146 db 0 147 TXT_SETUPHELP_DefMasterPwd :db 'Definiera ett', 0147 TXT_SETUPHELP_DefMasterPwd db 'Definiera ett', 0 148 148 db 'lsenord fr access', 0 149 149 db 'till setup och', 0 150 150 db 'system.', 0 151 151 db 0 152 TXT_SETUPHELP_DefBootPwd :db 'Definiera ett', 0152 TXT_SETUPHELP_DefBootPwd db 'Definiera ett', 0 153 153 db 'lsenord fr access', 0 154 154 db 'till system.',0 155 155 db 0 156 TXT_SETUPHELP_SaveAndExit :db 'Kommer att forstta', 0156 TXT_SETUPHELP_SaveAndExit db 'Kommer att forstta', 0 157 157 db 'bootprocessen och', 0 158 158 db 'spara de aktuella', 0 159 159 db 'optionerna.',0 160 160 db 0 161 TXT_SETUPHELP_JustExit :db 'Kommer att forstta', 0161 TXT_SETUPHELP_JustExit db 'Kommer att forstta', 0 162 162 db 'men ignorerar alla', 0 163 163 db 'ndringar som gjorts', 0 … … 172 172 db 0 173 173 174 TXT_SETUPHELP_HideSetup :db 'Vlj status fr', 0174 TXT_SETUPHELP_HideSetup db 'Vlj status fr', 0 175 175 db 'vilka partitioner', 0 176 176 db 'som skall dljas,', 0 … … 211 211 db 'Annars kommer den', 0 212 212 db 'att anvnda standard', 0 213 db 0213 db 0 214 214 TXT_SETUPHELP_RememberLastBoot db 'AiR-BOOT kommer att', 0 215 215 db 'hlla meny-raden p', 0 … … 222 222 db 'raden ocks fr', 0 223 223 db 'Tidsstyrd Bootning.', 0 224 db 0224 db 0 225 225 TXT_SETUPHELP_IncludeFloppy db 'AiR-BOOT kommer att', 0 226 226 db 'tillta booting', 0 … … 232 232 db 'Kan vara inkompatibelt', 0 233 233 db 'med vissa OS.', 0 234 db 0234 db 0 235 235 TXT_SETUPHELP_IgnoreMbrWrites db 'Om det r aktiverat,', 0 236 236 db 'kommer all skrivning', 0 … … 238 238 db 'kommer systemet att', 0 239 239 db '"krascha".', 0 240 db 0240 db 0 241 241 TXT_SETUPHELP_MakeSounds db 'AiR-BOOT kan fs att', 0 242 242 db 'utfra ljud med din', 0  - 
      
trunk/BOOTCODE/TEXT/SW/OTHER.ASM
r36 r37 27 27 ; Maximum 2/10/11/6 chars 28 28 ;----------------------------------||--------------------------------------- 29 TXT_TopInfos_No :db 'No', 030 TXT_TopInfos_Hd :db 'Hd', 029 TXT_TopInfos_No db 'No', 0 30 TXT_TopInfos_Hd db 'Hd', 0 31 31 ;----------------------------------|--------|------------------------------- 32 TXT_TopInfos_HdSize :db 'Hd/Storl:', 032 TXT_TopInfos_HdSize db 'Hd/Storl:', 0 33 33 ;----------------------------------|--------|------------------------------- 34 TXT_TopInfos_Label :db 'Etikett:', 034 TXT_TopInfos_Label db 'Etikett:', 0 35 35 ;----------------------------------|---------|------------------------------ 36 TXT_TopInfos_Type :db 'Typ:', 036 TXT_TopInfos_Type db 'Typ:', 0 37 37 ;----------------------------------|----|----------------------------------- 38 TXT_TopInfos_Flags :db 'Flag:', 0 ; <-- for Partition Setup38 TXT_TopInfos_Flags db 'Flag:', 0 ; <-- for Partition Setup 39 39 40 40 ; Will be added together to one line, maximum 76 chars 41 TXT_TimedBootLine :db 'Tidsbootning aktiverad. Systemet kommer att boota '''41 TXT_TimedBootLine db 'Tidsbootning aktiverad. Systemet kommer att boota ''' 42 42 TXT_TimedBootEntryName db 12 dup (0) 43 TXT_TimedBootLine2 :db ''' om ', 044 TXT_TimedBootSeconds :db ' sekunder. ', 045 TXT_TimedBootSecond :db ' sekund. ', 043 TXT_TimedBootLine2 db ''' om ', 0 44 TXT_TimedBootSeconds db ' sekunder. ', 0 45 TXT_TimedBootSecond db ' sekund. ', 0 46 46 ; Maximum 76 chars 47 47 ;----------------------------------|--------------------------------------------------------------------------| 48 TXT_TimedBootDisabled :db 'Tidstyrd bootning avaktiverad; ingen tidsgrns kommer att upptrda.', 049 TXT_BootMenuHelpText1 :db 'Tryck [Esc] fr att vxla tidsboot, [Enter] fr att acceptera aktuellt val.', 050 TXT_BootMenuHelpText2 :db 'Vlj annan med pilarna, eller tryck [TAB] fr att se BIOS POST meddelande.', 048 TXT_TimedBootDisabled db 'Tidstyrd bootning avaktiverad; ingen tidsgrns kommer att upptrda.', 0 49 TXT_BootMenuHelpText1 db 'Tryck [Esc] fr att vxla tidsboot, [Enter] fr att acceptera aktuellt val.', 0 50 TXT_BootMenuHelpText2 db 'Vlj annan med pilarna, eller tryck [TAB] fr att se BIOS POST meddelande.', 0 51 51 ; Maximum 30 chars 52 52 ;----------------------------------|----------------------------| … … 54 54 55 55 ; Dynamic Length (till 80 chars) 56 TXT_BrokenPartitionTable :db 13, 10, ' - Ditt system har minst en bruten partitionstabellspost eller har din hrddisk'56 TXT_BrokenPartitionTable db 13, 10, ' - Ditt system har minst en bruten partitionstabellspost eller har din hrddisk' 57 57 db 13, 10, ' trasiga sektorer. Systemet haltat.', 0 58 TXT_TooManyPartitions :db 13, 10, ' - Fr mnga partitioner hittades. AiR-BOOT stder endast upp till 45.', 059 TXT_NoBootAble :db 13, 10, ' - Ingen bootningsbar partition definierad. Systemet haltat.', 060 TXT_BIOSchanged :db 13, 10, ' - BIOS NDRAT, var vnlig kontrollera ditt system efter virus, fr att vara sker.'58 TXT_TooManyPartitions db 13, 10, ' - Fr mnga partitioner hittades. AiR-BOOT stder 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 vnlig kontrollera ditt system efter virus, fr att vara sker.' 61 61 db 13, 10, ' Tryck ngon tangent fr att fortstta...', 0 62 62 63 TXT_VirusFoundMain :db 13, 10, ' - !VARNING! -> ETT VIRUS HITTADES <- !VARNING!', 13, 10, 064 TXT_VirusFound1ok :db ' Det frstrdes, men systemet kanske inte bootas om korrekt. Om det intrffar,', 13, 1063 TXT_VirusFoundMain db 13, 10, ' - !VARNING! -> ETT VIRUS HITTADES <- !VARNING!', 13, 10, 0 64 TXT_VirusFound1ok db ' Det frstrdes, men systemet kanske inte bootas om korrekt. Om det intrffar,', 13, 10 65 65 db ' anvnd din AiR-BOOT systemdisk.', 13, 10, 0 66 TXT_VirusFound1damn :db ' Olyckligtvis frstrdes AiR-BOOTs backup. Du mste boota om genom att anvnda din', 13, 1066 TXT_VirusFound1damn db ' Olyckligtvis frstrdes AiR-BOOTs backup. Du mste boota om genom att anvnda din', 13, 10 67 67 db ' AiR-BOOT systemdisk.', 13, 10, 0 68 TXT_VirusFound1any :db ' Fr skerhets skull, br du kontrollera din hrddisk mot ytterligare virus.', 13, 10, 069 TXT_VirusFound2 :db ' Det finns i boot-sektorn hos den partition, som du ville boota.', 13, 1068 TXT_VirusFound1any db ' Fr skerhets skull, br du kontrollera din hrddisk mot ytterligare virus.', 13, 10, 0 69 TXT_VirusFound2 db ' Det finns i boot-sektorn hos den partition, som du ville boota.', 13, 10 70 70 db ' Anvnd ett antivirus program. Det kan vara falskt alarm eller.', 13, 10 71 71 db ' Efter avlgsnande, mste du initiera om upptcktsvariablerna, g till ', 13, 10 72 72 db ' ''PARTITION SETUP'' och vxla VIBR-upptckt tv gnger (av/p).', 13, 10 73 73 db ' Om det bara var ett falskt alarm, lmna det i av-lge.', 13, 10, 0 74 TXT_VirusFoundEnd :db ' Systemet haltat. Var vnlig tryck RESET.', 075 TXT_HowEnterSetup :db 13, 10, ' - Tryck och hll Ctrl eller Alt fr att komma till AiR-BOOT Setup.', 074 TXT_VirusFoundEnd db ' Systemet haltat. Var vnlig tryck RESET.', 0 75 TXT_HowEnterSetup db 13, 10, ' - Tryck och hll Ctrl eller Alt fr att komma till AiR-BOOT Setup.', 0 76 76 77 TXT_BootingNow1 :db 'Bootar systemet anvndande ', 077 TXT_BootingNow1 db 'Bootar systemet anvndande ', 0 78 78 ; DO NOT MODIFY HERE 79 TXT_BootingNow2 :db '''', 080 TXT_BootingNowPartName :db 12 dup (0) ; Space for BootThisPart-Name79 TXT_BootingNow2 db '''', 0 80 TXT_BootingNowPartName db 12 dup (0) ; Space for BootThisPart-Name 81 81 ; DO NOT MODIFY TILL HERE 82 TXT_BootingNowPartition :db ' partition', 083 TXT_BootingNowKernel :db ' krna', 084 TXT_BootingHide :db '; dlj aktiv', 085 TXT_BootingWait :db '; var vnlig vnta...', 13, 10, 13, 10, 082 TXT_BootingNowPartition db ' partition', 0 83 TXT_BootingNowKernel db ' krna', 0 84 TXT_BootingHide db '; dlj aktiv', 0 85 TXT_BootingWait db '; var vnlig vnta...', 13, 10, 13, 10, 0 86 86 87 87 ; FIXED LENGTH - 11 chars each string 88 88 ;----------------------------------|---------|------------------------------ 89 TXT_Floppy_NoName :db 'Inget Namn '90 TXT_Floppy_Drive :db 'Diskett '91 TXT_Floppy_NoDisc :db 'Ingen Disk '89 TXT_Floppy_NoName db 'Inget Namn ' 90 TXT_Floppy_Drive db 'Diskett ' 91 TXT_Floppy_NoDisc db 'Ingen Disk ' 92 92 93 93 ; Maximum 60 chars (should not be reached)  - 
      
trunk/BOOTCODE/TEXT/TXTMBR.ASM
r29 r37 1 Include TEXT \EN\MBR.asm1 Include TEXT/EN/MBR.ASM  - 
      
trunk/BOOTCODE/TEXT/TXTMENUS.ASM
r29 r37 1 Include TEXT \EN\MENUS.asm1 Include TEXT/EN/MENUS.ASM  - 
      
trunk/BOOTCODE/TEXT/TXTOTHER.ASM
r29 r37 1 Include TEXT \EN\OTHER.asm1 Include 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 3 3 ====================================================== 4 4 5 Building AiR-BOOT and the support tools has been completely revamped 6 in this version. The code has been "de-tasmized" so it can now also 7 be assembled with JWasm, which is the preferred assembler as of this version. 8 9 The DOS batch-files have been replaced by Open Watcom Makefiles that 10 can be used on: DOS, Windows, OS/2 and Linux. 11 This greatly enhances the build-environment, which was previously DOS-only. 12 13 The Open Watcom Linker is now used, which obsoletes the use of the (DOS-only) 14 exe2bin and tlink programs. WLink replaces the functionality of both while 15 also adding extensive cross-platform support. 16 17 The (DOS-only) FIXCODE.COM program that is used to embed the MBR-protection 18 in the AiR-BOOT image has been replaced by platform specific versions. 19 This does away with the need to run a DOS-only program in the tool-chain, 20 and thus enables building AiR-BOOT on Linux. 21 22 The preferred assembler is now JWasm. 23 Note however that JWasm/DOS does not work so this environment will use 24 Tasm/DOS. The DOS build-environment will probably be discontinued in 25 the future due to it's many restrictions. DOS specific targets can 26 be built on the other platforms. 27 28 The Open Watcom tool-chain in combination with JWasm is now the 29 default tool-chain. No syntax or operational compatibility with other 30 assemblers or compilers is attempted. 31 5 32 Building 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 14 38 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. 39 As a convenience a simple GNUmakefile also exists where a Makefile exists. 40 The GNUmakefile forwards to the normal Makefile enabing Linux users to run the 41 familiar "make" command. Target passing is supported. 19 42 20 43 Note 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/> 6 5 Everyone is permitted to copy and distribute verbatim copies 7 6 of this license document, but changing it is not allowed. 8 7 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 11 software and other kinds of works. 12 13 The licenses for most software and other practical works are designed 14 to take away your freedom to share and change the works. By contrast, 15 the GNU General Public License is intended to guarantee your freedom to 16 share and change all versions of a program--to make sure it remains free 17 software for all its users. We, the Free Software Foundation, use the 18 GNU General Public License for most of our software; it applies also to 19 any other work released this way by its authors. You can apply it to 19 20 your programs, too. 20 21 … … 22 23 price. Our General Public Licenses are designed to make sure that you 23 24 have the freedom to distribute copies of free software (and charge for 24 th is service if you wish), that you receive source code or can get it25 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 forbid29 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.25 them if you wish), that you receive source code or can get it if you 26 want it, that you can change the software or use pieces of it in new 27 free programs, and that you know you can do these things. 28 29 To protect your rights, we need to prevent others from denying you 30 these rights or asking you to surrender the rights. Therefore, you have 31 certain responsibilities if you distribute copies of the software, or if 32 you modify it: responsibilities to respect the freedom of others. 32 33 33 34 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. 35 gratis or for a fee, you must pass on to the recipients the same 36 freedoms that you received. You must make sure that they, too, receive 37 or can get the source code. And you must show them these terms so they 38 know 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 42 giving you legal permission to copy, distribute and/or modify it. 43 44 For the developers' and authors' protection, the GPL clearly explains 45 that there is no warranty for this free software. For both users' and 46 authors' sake, the GPL requires that modified versions be marked as 47 changed, so that their problems will not be attributed erroneously to 48 authors of previous versions. 49 50 Some devices are designed to deny users access to install or run 51 modified versions of the software inside them, although the manufacturer 52 can do so. This is fundamentally incompatible with the aim of 53 protecting users' freedom to change the software. The systematic 54 pattern of such abuse occurs in the area of products for individuals to 55 use, which is precisely where it is most unacceptable. Therefore, we 56 have designed this version of the GPL to prohibit the practice for those 57 products. If such problems arise substantially in other domains, we 58 stand ready to extend this provision to those domains in future versions 59 of the GPL, as needed to protect the freedom of users. 60 61 Finally, every program is threatened constantly by software patents. 62 States should not allow patents to restrict development and use of 63 software on general-purpose computers, but in those that do, we wish to 64 avoid the special danger that patents applied to a free program could 65 make it effectively proprietary. To prevent this, the GPL assures that 66 patents cannot be used to render the program non-free. 55 67 56 68 The precise terms and conditions for copying, distribution and 57 69 modification follow. 58 70 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 78 works, such as semiconductor masks. 79 80 "The Program" refers to any copyrightable work licensed under this 81 License. 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 85 in a fashion requiring copyright permission, other than the making of an 86 exact copy. The resulting work is called a "modified version" of the 87 earlier work or a work "based on" the earlier work. 88 89 A "covered work" means either the unmodified Program or a work based 90 on the Program. 91 92 To "propagate" a work means to do anything with it that, without 93 permission, would make you directly or secondarily liable for 94 infringement under applicable copyright law, except executing it on a 95 computer or modifying a private copy. Propagation includes copying, 96 distribution (with or without modification), making available to the 97 public, and in some countries other activities as well. 98 99 To "convey" a work means any kind of propagation that enables other 100 parties to make or receive copies. Mere interaction with a user through 101 a computer network, with no transfer of a copy, is not conveying. 102 103 An interactive user interface displays "Appropriate Legal Notices" 104 to the extent that it includes a convenient and prominently visible 105 feature that (1) displays an appropriate copyright notice, and (2) 106 tells the user that there is no warranty for the work (except to the 107 extent that warranties are provided), that licensees may convey the 108 work under this License, and how to view a copy of this License. If 109 the interface presents a list of user commands or options, such as a 110 menu, 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 115 for making modifications to it. "Object code" means any non-source 116 form of a work. 117 118 A "Standard Interface" means an interface that either is an official 119 standard defined by a recognized standards body, or, in the case of 120 interfaces specified for a particular programming language, one that 121 is widely used among developers working in that language. 122 123 The "System Libraries" of an executable work include anything, other 124 than the work as a whole, that (a) is included in the normal form of 125 packaging a Major Component, but which is not part of that Major 126 Component, and (b) serves only to enable use of the work with that 127 Major Component, or to implement a Standard Interface for which an 128 implementation 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 132 produce 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 135 the source code needed to generate, install, and (for an executable 136 work) run the object code and to modify the work, including scripts to 137 control those activities. However, it does not include the work's 138 System Libraries, or general-purpose tools or generally available free 139 programs which are used unmodified in performing those activities but 140 which are not part of the work. For example, Corresponding Source 141 includes interface definition files associated with source files for 142 the work, and the source code for shared libraries and dynamically 143 linked subprograms that the work is specifically designed to require, 144 such as by intimate data communication or control flow between those 145 subprograms and other parts of the work. 146 147 The Corresponding Source need not include anything that users 148 can regenerate automatically from other parts of the Corresponding 149 Source. 150 151 The Corresponding Source for a work in source code form is that 152 same work. 153 154 2. Basic Permissions. 155 156 All rights granted under this License are granted for the term of 157 copyright on the Program, and are irrevocable provided the stated 158 conditions are met. This License explicitly affirms your unlimited 159 permission to run the unmodified Program. The output from running a 160 covered work is covered by this License only if the output, given its 161 content, constitutes a covered work. This License acknowledges your 162 rights 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 165 convey, without conditions so long as your license otherwise remains 166 in force. You may convey covered works to others for the sole purpose 167 of having them make modifications exclusively for you, or provide you 168 with facilities for running those works, provided that you comply with 169 the terms of this License in conveying all material for which you do 170 not control copyright. Those thus making or running the covered works 171 for you must do so exclusively on your behalf, under your direction 172 and control, on terms that prohibit them from making any copies of 173 your copyrighted material outside their relationship with you. 174 175 Conveying under any other circumstances is permitted solely under 176 the conditions stated below. Sublicensing is not allowed; section 10 177 makes 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 182 measure under any applicable law fulfilling obligations under article 183 11 of the WIPO copyright treaty adopted on 20 December 1996, or 184 similar laws prohibiting or restricting circumvention of such 185 measures. 186 187 When you convey a covered work, you waive any legal power to forbid 188 circumvention of technological measures to the extent such circumvention 189 is effected by exercising rights under this License with respect to 190 the covered work, and you disclaim any intention to limit operation or 191 modification of the work as a means of enforcing, against the work's 192 users, your or third parties' legal rights to forbid circumvention of 193 technological measures. 194 195 4. Conveying Verbatim Copies. 196 197 You may convey verbatim copies of the Program's source code as you 198 receive it, in any medium, provided that you conspicuously and 199 appropriately publish on each copy an appropriate copyright notice; 200 keep intact all notices stating that this License and any 201 non-permissive terms added in accord with section 7 apply to the code; 202 keep intact all notices of the absence of any warranty; and give all 203 recipients 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, 206 and 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 211 produce it from the Program, in the form of source code under the 212 terms 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 236 works, which are not by their nature extensions of the covered work, 237 and which are not combined with it such as to form a larger program, 238 in or on a volume of a storage or distribution medium, is called an 239 "aggregate" if the compilation and its resulting copyright are not 240 used to limit the access or legal rights of the compilation's users 241 beyond what the individual works permit. Inclusion of a covered work 242 in an aggregate does not cause this License to apply to the other 243 parts 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 248 of sections 4 and 5, provided that you also convey the 249 machine-readable Corresponding Source under the terms of this License, 250 in 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 294 from the Corresponding Source as a System Library, need not be 295 included in conveying the object code work. 296 297 A "User Product" is either (1) a "consumer product", which means any 298 tangible personal property which is normally used for personal, family, 299 or household purposes, or (2) anything designed or sold for incorporation 300 into a dwelling. In determining whether a product is a consumer product, 301 doubtful cases shall be resolved in favor of coverage. For a particular 302 product received by a particular user, "normally used" refers to a 303 typical or common use of that class of product, regardless of the status 304 of the particular user or of the way in which the particular user 305 actually uses, or expects or is expected to use, the product. A product 306 is a consumer product regardless of whether the product has substantial 307 commercial, industrial or non-consumer uses, unless such uses represent 308 the only significant mode of use of the product. 309 310 "Installation Information" for a User Product means any methods, 311 procedures, authorization keys, or other information required to install 312 and execute modified versions of a covered work in that User Product from 313 a modified version of its Corresponding Source. The information must 314 suffice to ensure that the continued functioning of the modified object 315 code is in no case prevented or interfered with solely because 316 modification has been made. 317 318 If you convey an object code work under this section in, or with, or 319 specifically for use in, a User Product, and the conveying occurs as 320 part of a transaction in which the right of possession and use of the 321 User Product is transferred to the recipient in perpetuity or for a 322 fixed term (regardless of how the transaction is characterized), the 323 Corresponding Source conveyed under this section must be accompanied 324 by the Installation Information. But this requirement does not apply 325 if neither you nor any third party retains the ability to install 326 modified object code on the User Product (for example, the work has 327 been installed in ROM). 328 329 The requirement to provide Installation Information does not include a 330 requirement to continue to provide support service, warranty, or updates 331 for a work that has been modified or installed by the recipient, or for 332 the User Product in which it has been modified or installed. Access to a 333 network may be denied when the modification itself materially and 334 adversely affects the operation of the network or violates the rules and 335 protocols for communication across the network. 336 337 Corresponding Source conveyed, and Installation Information provided, 338 in accord with this section must be in a format that is publicly 339 documented (and with an implementation available to the public in 340 source code form), and must require no special password or key for 341 unpacking, reading or copying. 342 343 7. Additional Terms. 344 345 "Additional permissions" are terms that supplement the terms of this 346 License by making exceptions from one or more of its conditions. 347 Additional permissions that are applicable to the entire Program shall 348 be treated as though they were included in this License, to the extent 349 that they are valid under applicable law. If additional permissions 350 apply only to part of the Program, that part may be used separately 351 under those permissions, but the entire Program remains governed by 352 this License without regard to the additional permissions. 353 354 When you convey a copy of a covered work, you may at your option 355 remove any additional permissions from that copy, or from any part of 356 it. (Additional permissions may be written to require their own 357 removal in certain cases when you modify the work.) You may place 358 additional permissions on material, added by you to a covered work, 359 for which you have or can give appropriate copyright permission. 360 361 Notwithstanding any other provision of this License, for material you 362 add to a covered work, you may (if authorized by the copyright holders of 363 that 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 389 restrictions" within the meaning of section 10. If the Program as you 390 received it, or any part of it, contains a notice stating that it is 391 governed by this License along with a term that is a further 392 restriction, you may remove that term. If a license document contains 393 a further restriction but permits relicensing or conveying under this 394 License, you may add to a covered work material governed by the terms 395 of that license document, provided that the further restriction does 396 not survive such relicensing or conveying. 397 398 If you add terms to a covered work in accord with this section, you 399 must place, in the relevant source files, a statement of the 400 additional terms that apply to those files, or a notice indicating 401 where to find the applicable terms. 402 403 Additional terms, permissive or non-permissive, may be stated in the 404 form of a separately written license, or stated as exceptions; 405 the above requirements apply either way. 406 407 8. Termination. 408 409 You may not propagate or modify a covered work except as expressly 410 provided under this License. Any attempt otherwise to propagate or 411 modify it is void, and will automatically terminate your rights under 412 this License (including any patent licenses granted under the third 413 paragraph of section 11). 414 415 However, if you cease all violation of this License, then your 416 license from a particular copyright holder is reinstated (a) 417 provisionally, unless and until the copyright holder explicitly and 418 finally terminates your license, and (b) permanently, if the copyright 419 holder fails to notify you of the violation by some reasonable means 420 prior to 60 days after the cessation. 421 422 Moreover, your license from a particular copyright holder is 423 reinstated permanently if the copyright holder notifies you of the 424 violation by some reasonable means, this is the first time you have 425 received notice of violation of this License (for any work) from that 426 copyright holder, and you cure the violation prior to 30 days after 427 your receipt of the notice. 428 429 Termination of your rights under this section does not terminate the 430 licenses of parties who have received copies or rights from you under 431 this License. If your rights have been terminated and not permanently 432 reinstated, you do not qualify to receive new licenses for the same 433 material 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 438 run a copy of the Program. Ancillary propagation of a covered work 439 occurring solely as a consequence of using peer-to-peer transmission 440 to receive a copy likewise does not require acceptance. However, 441 nothing other than this License grants you permission to propagate or 442 modify any covered work. These actions infringe copyright if you do 443 not accept this License. Therefore, by modifying or propagating a 444 covered 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 449 receives a license from the original licensors, to run, modify and 450 propagate that work, subject to this License. You are not responsible 451 for enforcing compliance by third parties with this License. 452 453 An "entity transaction" is a transaction transferring control of an 454 organization, or substantially all assets of one, or subdividing an 455 organization, or merging organizations. If propagation of a covered 456 work results from an entity transaction, each party to that 457 transaction who receives a copy of the work also receives whatever 458 licenses to the work the party's predecessor in interest had or could 459 give under the previous paragraph, plus a right to possession of the 460 Corresponding Source of the work from the predecessor in interest, if 461 the predecessor has it or can get it with reasonable efforts. 462 463 You may not impose any further restrictions on the exercise of the 464 rights granted or affirmed under this License. For example, you may 465 not impose a license fee, royalty, or other charge for exercise of 466 rights granted under this License, and you may not initiate litigation 467 (including a cross-claim or counterclaim in a lawsuit) alleging that 468 any patent claim is infringed by making, using, selling, offering for 469 sale, 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 474 License of the Program or a work on which the Program is based. The 475 work thus licensed is called the contributor's "contributor version". 476 477 A contributor's "essential patent claims" are all patent claims 478 owned or controlled by the contributor, whether already acquired or 479 hereafter acquired, that would be infringed by some manner, permitted 480 by this License, of making, using, or selling its contributor version, 481 but do not include claims that would be infringed only as a 482 consequence of further modification of the contributor version. For 483 purposes of this definition, "control" includes the right to grant 484 patent sublicenses in a manner consistent with the requirements of 198 485 this License. 199 486 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 488 patent license under the contributor's essential patent claims, to 489 make, use, sell, offer for sale, import and otherwise run, modify and 490 propagate the contents of its contributor version. 491 492 In the following three paragraphs, a "patent license" is any express 493 agreement or commitment, however denominated, not to enforce a patent 494 (such as an express permission to practice a patent or covenant not to 495 sue for patent infringement). To "grant" such a patent license to a 496 party means to make such an agreement or commitment not to enforce a 497 patent against the party. 498 499 If you convey a covered work, knowingly relying on a patent license, 500 and the Corresponding Source of the work is not available for anyone 501 to copy, free of charge and under the terms of this License, through a 502 publicly available network server or other readily accessible means, 503 then you must either (1) cause the Corresponding Source to be so 504 available, or (2) arrange to deprive yourself of the benefit of the 505 patent license for this particular work, or (3) arrange, in a manner 506 consistent with the requirements of this License, to extend the patent 507 license to downstream recipients. "Knowingly relying" means you have 508 actual knowledge that, but for the patent license, your conveying the 509 covered work in a country, or your recipient's use of the covered work 510 in a country, would infringe one or more identifiable patents in that 511 country that you have reason to believe are valid. 512 513 If, pursuant to or in connection with a single transaction or 514 arrangement, you convey, or propagate by procuring conveyance of, a 515 covered work, and grant a patent license to some of the parties 516 receiving the covered work authorizing them to use, propagate, modify 517 or convey a specific copy of the covered work, then the patent license 518 you grant is automatically extended to all recipients of the covered 519 work and works based on it. 520 521 A patent license is "discriminatory" if it does not include within 522 the scope of its coverage, prohibits the exercise of, or is 523 conditioned on the non-exercise of one or more of the rights that are 524 specifically granted under this License. You may not convey a covered 525 work if you are a party to an arrangement with a third party that is 526 in the business of distributing software, under which you make payment 527 to the third party based on the extent of your activity of conveying 528 the work, and under which the third party grants, to any of the 529 parties who would receive the covered work from you, a discriminatory 530 patent license (a) in connection with copies of the covered work 531 conveyed by you (or copies made from those copies), or (b) primarily 532 for and in connection with specific products or compilations that 533 contain the covered work, unless you entered into that arrangement, 534 or that patent license was granted, prior to 28 March 2007. 535 536 Nothing in this License shall be construed as excluding or limiting 537 any implied license or other defenses to infringement that may 538 otherwise 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 203 543 otherwise) 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 544 excuse you from the conditions of this License. If you cannot convey a 545 covered work so as to satisfy simultaneously your obligations under this 546 License and any other pertinent obligations, then as a consequence you may 547 not convey it at all. For example, if you agree to terms that obligate you 548 to collect a royalty for further conveying from those to whom you convey 549 the Program, the only way you could satisfy both those terms and this 550 License 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 555 permission to link or combine any covered work with a work licensed 556 under version 3 of the GNU Affero General Public License into a single 557 combined work, and to convey the resulting work. The terms of this 558 License will continue to apply to the part which is the covered work, 559 but the special requirements of the GNU Affero General Public License, 560 section 13, concerning interaction through a network will apply to the 561 combination as such. 562 563 14. Revised Versions of this License. 564 565 The Free Software Foundation may publish revised and/or new versions of 566 the GNU General Public License from time to time. Such new versions will 243 567 be similar in spirit to the present version, but may differ in detail to 244 568 address new problems or concerns. 245 569 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 571 Program specifies that a certain numbered version of the GNU General 572 Public License "or any later version" applies to it, you have the 573 option of following the terms and conditions either of that numbered 574 version or of any later version published by the Free Software 575 Foundation. If the Program does not specify a version number of the 576 GNU General Public License, you may choose any version ever published 577 by the Free Software Foundation. 578 579 If the Program specifies that a proxy can decide which future 580 versions of the GNU General Public License can be used, that proxy's 581 public statement of acceptance of a version permanently authorizes you 582 to choose that version for the Program. 583 584 Later license versions may give you additional or different 585 permissions. However, no additional obligations are imposed on any 586 author or copyright holder as a result of your choosing to follow a 587 later version. 588 589 15. Disclaimer of Warranty. 590 591 THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY 592 APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT 593 HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY 594 OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, 595 THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 596 PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM 597 IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF 598 ALL 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 603 WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS 604 THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY 605 GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE 606 USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF 607 DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD 608 PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), 609 EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF 610 SUCH DAMAGES. 611 612 17. Interpretation of Sections 15 and 16. 613 614 If the disclaimer of warranty and limitation of liability provided 615 above cannot be given local legal effect according to their terms, 616 reviewing courts shall apply local law that most closely approximates 617 an absolute waiver of all civil liability in connection with the 618 Program, unless a warranty or assumption of liability accompanies a 619 copy 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 288 624 289 625 If you develop a new program, and you want it to be of the greatest … … 293 629 To do so, attach the following notices to the program. It is safest 294 630 to attach them to the start of each source file to most effectively 295 conveythe exclusion of warranty; and each file should have at least631 state the exclusion of warranty; and each file should have at least 296 632 the "copyright" line and a pointer to where the full notice is found. 297 633 298 634 <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 modify635 Copyright (C) <year> <name of author> 636 637 This program is free software: you can redistribute it and/or modify 302 638 it under the terms of the GNU General Public License as published by 303 the Free Software Foundation ; either version 2of the License, or639 the Free Software Foundation, either version 3 of the License, or 304 640 (at your option) any later version. 305 641 … … 310 646 311 647 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/>. 314 649 315 650 Also add information on how to contact you by electronic and paper mail. 316 651 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 author321 Gnomovisioncomes with ABSOLUTELY NO WARRANTY; for details type `show w'.652 If the program does terminal interaction, make it output a short 653 notice 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'. 322 657 This is free software, and you are welcome to redistribute it 323 658 under certain conditions; type `show c' for details. 324 659 325 660 The 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. 661 parts of the General Public License. Of course, your program's commands 662 might 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, 665 if any, to sign a "copyright disclaimer" for the program, if necessary. 666 For 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 670 into proprietary programs. If your program is a subroutine library, you 671 may consider it more useful to permit linking proprietary applications with 672 the library. If this is what you want to do, use the GNU Lesser General 673 Public 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 1 1 rem This file sets Assembler, Linker and EXE2BIN for DOS environment 2 set assembler=tasm.exe /m9 /dReal / l2 set assembler=tasm.exe /m9 /dReal /dTASM /l 3 3 rem set assembler=tasm.exe /m9 /dReal /t 4 set linker=tlink.exe /3 /x4 set linker=tlink.exe /3 5 5 set exe2bin=exe2bin.exe  - 
      
trunk/INSTALL/DOS/AIRBOOT.ASM
r35 r37 17 17 ; 18 18 19 JUMPS20 21 Include .. \..\include\asm.inc19 ;JUMPS 20 21 Include ../../INCLUDE/ASM.INC 22 22 23 23 .386p 24 model large, basic 24 .model small, basic 25 26 airboot group code_seg,bss_data 25 27 26 28 code_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 28 32 org 100h 29 33 COM_StartUp: jmp COM_Init … … 72 76 push es 73 77 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 75 80 or dx, dx 76 81 jz COM_CmdLineDone … … 115 120 116 121 COM_CheckCmdParm: 117 push cx si di 122 push cx 123 push si 124 push di 118 125 repe cmpsb 119 pop di si cx 126 pop di 127 pop si 128 pop cx 120 129 retn 121 130 … … 197 206 ; ============================================================================= 198 207 ; DS:SI - NUL-terminated message to display to console 199 APIShowMessage: push ax dx si 208 APIShowMessage: push ax 209 push dx 210 push si 200 211 mov ah, 02h 201 212 ASM_Loop: lodsb … … 205 216 int 21h ; DOS: WRITE CHARACTER TO CONSOLE 206 217 jmp ASM_Loop 207 ASM_Done: pop si dx ax 208 retn 209 210 ; ============================================================================= 211 APIShowChar: push ax dx 218 ASM_Done: pop si 219 pop dx 220 pop ax 221 retn 222 223 ; ============================================================================= 224 APIShowChar: push ax 225 push dx 212 226 mov ah, 02h 213 227 mov dl, al 214 228 int 21h ; DOS: WRITE CHARACTER TO CONSOLE 215 pop dx ax 229 pop dx 230 pop ax 216 231 retn 217 232 … … 227 242 retn 228 243 229 APILockVolume: push ax bx cx dx 244 APILockVolume: push ax 245 push bx 246 push cx 247 push dx 230 248 mov ax, 3000h 231 249 int 21h ; DOS: GET DOS VERSION … … 238 256 int 21h ; DOS 7.0: LOCK PHYSICAL DRIVE 239 257 ALV_SkipLock: 240 pop dx cx bx ax 258 pop dx 259 pop cx 260 pop bx 261 pop ax 241 262 jc ALV_Error 242 263 retn … … 244 265 call APIShowError 245 266 246 Include .. \INST_X86\install.inc; Execute generic code267 Include ../INST_X86/INSTALL.INC ; Execute generic code 247 268 COM_EndOfSegment: 248 269 249 270 code_seg ends 271 272 bss_data segment public use16 'BSS' 273 ; Space for bootcode-image 274 BootImage db 31744 dup (?) 275 bss_data ends 276 250 277 end COM_StartUp  - 
      
trunk/INSTALL/DOS/MAKE.BAT
r36 r37 8 8 %exe2bin% airboot.exe airboot.com >nul 9 9 if errorlevel 1 goto Failed 10 copy airboot.com ..\..\RELEASE\DOS\ airboot.com10 copy airboot.com ..\..\RELEASE\DOS\AIRBOOT.COM 11 11 12 12 @ren airboot.LST airboot.TSL  - 
      
trunk/INSTALL/DOS/MAKE.CMD
r36 r37 1 1 @echo off 2 2 rem Do actual build... 3 call ..\..\env\ dos.bat3 call ..\..\env\os2.cmd 4 4 %assembler% airboot.asm 5 5 if errorlevel 1 goto Failed 6 %linker% airboot.obj >nul6 %linker% airboot.obj; >nul 7 7 if errorlevel 1 goto Failed 8 8 %exe2bin% airboot.exe airboot.com >nul 9 9 if errorlevel 1 goto Failed 10 copy airboot.com ..\..\RELEASE\DOS\ airboot.com10 copy airboot.com ..\..\RELEASE\DOS\AIRBOOT.COM 11 11 12 12 @ren airboot.LST airboot.TSL  - 
      
trunk/INSTALL/FLOPPY/KERNEL.ASM
r29 r37 33 33 StackSeg equ 7000h 34 34 35 Include .. \..\include\asm.inc35 Include ../../INCLUDE/ASM.INC 36 36 37 37 .386p … … 84 84 ; ============================================================================= 85 85 ; DS:SI - NUL-terminated message to display to console 86 APIShowMessage: push ax bx si 86 APIShowMessage: push ax 87 push bx 88 push si 87 89 mov ah, 0Eh 88 90 mov bx, 7 … … 92 94 int 10h ; BIOS: TELETYPE 93 95 jmp ASM_Loop 94 ASM_Done: pop si bx ax 96 ASM_Done: pop si 97 pop bx 98 pop ax 95 99 retn 96 100 97 101 ; ============================================================================= 98 APIShowChar: push ax bx 102 APIShowChar: push ax 103 push bx 99 104 mov ah, 0Eh 100 105 mov bx, 7 101 106 int 10h ; BIOS: TELETYPE 102 pop bx ax 107 pop bx 108 pop ax 103 109 retn 104 110 … … 116 122 APILockVolume: retn 117 123 118 Include .. \INST_X86\install.inc; Execute generic code124 Include ../INST_X86/INSTALL.INC ; Execute generic code 119 125 COM_EndOfSegment: 120 126  - 
      
trunk/INSTALL/FLOPPY/MAKEDISK.ASM
r29 r37 129 129 call APIShowError 130 130 131 ReadFloppyDone: push bx dx 131 ReadFloppyDone: push bx 132 push dx 132 133 mov dx, offset TXT_Okay 133 134 call APIShowMessage 134 pop dx bx 135 pop dx 136 pop bx 135 137 ; Check, if floppy is formated using FAT 136 138 mov si, bx … … 143 145 call APIShowError 144 146 145 FloppyIsFAT: push bx cx dx 147 FloppyIsFAT: push bx 148 push cx 149 push dx 146 150 mov dx, offset TXT_WritingFloppy 147 151 call APIShowMessage … … 158 162 mov cx, 450/2 ; Copy rest of FreeDOS BR 159 163 rep movsw 160 pop dx cx bx 164 pop dx 165 pop cx 166 pop bx 161 167 ; Now we write it back... 162 168 mov ax, 0301h … … 258 264 mov dx, offset TXT_Done 259 265 call APIShowMessage 260 266 261 267 ; Terminate ourselves... 262 268 GoByeBye: mov ax, 4C00h  - 
      
trunk/INSTALL/INST_X86/INSTALL.INC
r36 r37 238 238 call APIAfterQuit 239 239 240 MenuWaitForEnter Proc Near Uses240 MenuWaitForEnter Proc Near 241 241 cmp Option_Silent, 1 242 242 je MWFE_Skip … … 249 249 MenuWaitForEnter EndP 250 250 251 ProcessADD Proc Near Uses251 ProcessADD Proc Near 252 252 mov si, offset TXT_PROCESS_Add 253 253 call APIShowMessage … … 286 286 ProcessADD EndP 287 287 288 InstallCode Proc Near Uses288 InstallCode Proc Near 289 289 ; Calculates new code checksum... 290 290 mov si, offset BootImage+512 ; Sector 2 (Start of Code-Image) … … 316 316 317 317 InstallCode_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 320 323 xor si, si 321 324 mov di, offset BootImage … … 327 330 InstallCode_MergeMBRs EndP 328 331 329 InstallConfig Proc Near Uses332 InstallConfig Proc Near 330 333 ; Calculate new Config-CheckSum 331 334 mov si, offset BootImage+6C00h ; Configuration location … … 369 372 370 373 ; Out: Carry Flag SET if Harddisc failed 62-sectors test 371 Init_CheckHarddisc Proc Near Uses374 Init_CheckHarddisc Proc Near 372 375 mov ah, 08h 373 376 mov dl, 80h … … 387 390 LoadHDDSector Proc Near Uses ax es 388 391 LHDDS_Retry: 389 push bx cx dx 392 push bx 393 push cx 394 push dx 390 395 mov ax, 0201h ; load one sector 391 396 int 13h … … 394 399 xor dl, dl 395 400 int 13h ; BIOS: READ SECTOR VIA CHS 396 pop dx cx bx 401 pop dx 402 pop cx 403 pop bx 397 404 jmp LHDDS_Retry 398 405 LHDDS_Success: 399 pop dx cx bx 406 pop dx 407 pop cx 408 pop bx 400 409 add bx, 512 401 410 inc cl ; sector fixing must be done manual … … 410 419 mov bx, si ; ES:BX - sector buffer to write 411 420 SIS_Retry: 412 push bx cx dx 421 push bx 422 push cx 423 push dx 413 424 mov ax, 0301h 414 425 int 13h ; BIOS: WRITE SECTOR … … 417 428 mov dl, 00h 418 429 int 13h 419 pop dx cx bx 430 pop dx 431 pop cx 432 pop bx 420 433 jmp SIS_Retry 421 434 SIS_Success: 422 pop dx cx bx 435 pop dx 436 pop cx 437 pop bx 423 438 add si, 512 ; go to next sector 424 439 inc cl ; add 1 to sector … … 576 591 577 592 ; Verifies our bootcode installation image 578 Init_VerifyImage Proc Near Uses593 Init_VerifyImage Proc Near 579 594 ; First we verify the image, this is done by using the same checksum method 580 595 ; as on real harddrive images. This is mainly for detecting, that we are … … 641 656 mov InstalledVersion_Code, cx ; remember installed code version 642 657 cmp cx, dx ; If version number in image is higher 643 jb IVC_MGU ; -> Upgradeable658 jb IVC_MGU_a ; -> Upgradeable 644 659 mov iStatus_Code, Status_Installed 645 660 ret 646 IVC_MGU :661 IVC_MGU_a: 647 662 mov iStatus_Code, Status_InstalledMGU 648 663 ret 649 664 Init_VerifyCode EndP 650 665 651 Init_CheckForEZSETUP Proc Near Uses666 Init_CheckForEZSETUP Proc Near 652 667 mov si, offset MBR_EZSETUPCodeSig 653 668 mov di, 8Fh … … 702 717 IVC_NoUpgradeConfig: 703 718 ; 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 706 723 cmp cx, 0027h 707 724 jbe IVC_Upgrade027 … … 798 815 ; ========================================================================== 799 816 ; 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 802 821 mov si, 7000h ; Current - Sector 57 (Prior config) 803 822 mov di, 6C00h ; -> Current - Sector 55 (cur. config) … … 808 827 rep movsw 809 828 ; 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 813 855 Init_VerifyConfig EndP 814 856 … … 828 870 829 871 ; Internal 830 Init_CheckThisMBR Proc Near Uses872 Init_CheckThisMBR Proc Near 831 873 cmp wptr es:[si+01FEh], 0AA55h 832 874 jne ICTM_InvalidMBR … … 878 920 ; Copies BackUp MBR into current MBR area, so it will get installed 879 921 Init_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 882 926 mov si, 7600h ; Sector 60... 883 927 mov di, offset BootImage ; -> to Sector 1 of New BootCode … … 1034 1078 ; --------------------------- 1035 1079 1036 ; Space for bootcode-image1037 BootImage db 31744 dup (?) - 
      
trunk/Makefile
r36 r37 1 ############################################################################### 2 # Makefile :: Builds AiR-BOOT for all supported Languages. # 3 ############################################################################### 4 1 5 # 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. 3 11 # 4 5 12 LANGUAGE=EN 6 13 … … 16 23 # 17 24 # 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'.24 25 # 25 26 all: .SYMBOLIC … … 48 49 cd BOOTCODE 49 50 call _clean.cmd 51 cd MBR-PROT 52 call _clean.cmd 53 cd .. 50 54 cd .. 51 55 … … 57 61 call _clean.cmd 58 62 cd ..\..\.. 63 64 cd TOOLS\INTERNAL 65 call _clean.cmd 66 cd ..\..  - 
      
trunk/TOOLS/DOS/INITHDD/INITHDD.ASM
r30 r37 17 17 ; 18 18 19 JUMPS19 ;JUMPS 20 20 21 Include ..\..\..\include\asm.inc 22 ;include ..\..\..\include\dos\airboot.inc 21 Include ../../../INCLUDE/ASM.INC 23 22 24 23 .386p 25 model large, basic24 .model large, basic 26 25 27 26 code_seg segment public use16 … … 30 29 air_boot_setup: jmp INITHDD_Start 31 30 32 Introduction :db 'INITHDD - AiR-BOOT Initialize HDD Utility (DOS) - (c) 2004 by M. Kiewitz',13,1031 Introduction db 'INITHDD - AiR-BOOT Initialize HDD Utility (DOS) - (c) 2004 by M. Kiewitz',13,10 33 32 db 0 34 33 … … 69 68 dw 00000h, 00000h, 00000h, 0AA55h 70 69 71 ; Include .. \..\..\include\DOS\Const.asm70 ; Include ../../../INCLUDE\DOS\CONST.ASM 72 71 73 72 INITHDD_Start: mov ax, cs  - 
      
trunk/TOOLS/DOS/INITHDD/MAKE.BAT
r30 r37 8 8 %exe2bin% inithdd.exe inithdd.com >nul 9 9 if errorlevel 1 goto Failed 10 copy inithdd.com ..\..\..\RELEASE\DOS\inithdd.com 10 copy inithdd.com ..\..\..\RELEASE\DOS\INITHDD.COM 11 12 @ren inithdd.LST inithdd.TSL 13 @ren inithdd.TSL INITHDD.LST 11 14 12 15 rem Cleanup  - 
      
trunk/TOOLS/DOS/INITHDD/MAKE.CMD
r36 r37 1 1 @echo off 2 2 rem Do actual build... 3 call ..\..\..\env\ dos.bat3 call ..\..\..\env\os2.cmd 4 4 %assembler% inithdd.asm 5 5 if errorlevel 1 goto Failed 6 %linker% inithdd.obj >nul6 %linker% inithdd.obj; >nul 7 7 if errorlevel 1 goto Failed 8 8 %exe2bin% inithdd.exe inithdd.com >nul 9 9 if errorlevel 1 goto Failed 10 copy inithdd.com ..\..\..\RELEASE\DOS\inithdd.com 10 copy inithdd.com ..\..\..\RELEASE\DOS\INITHDD.COM 11 12 @ren inithdd.LST inithdd.TSL 13 @ren inithdd.TSL INITHDD.LST 11 14 12 15 rem Cleanup  - 
      
trunk/TOOLS/DOS/SETABOOT/SETABOOT.ASM
r29 r37 19 19 JUMPS 20 20 21 Include .. \..\..\Include\asm.inc22 include .. \..\..\include\dos\airboot.inc21 Include ../../../INCLUDE/ASM.INC 22 include ../../../INCLUDE/DOS/AIRBOOT.INC 23 23 24 24 .386p … … 60 60 db ' detected.', 13, 10, 0 61 61 62 Include .. \..\..\include\dos\Const.asm62 Include ../../../INCLUDE/DOS/CONST.ASM 63 63 64 64 AiRBOOTdetected db 0 … … 343 343 ; DL holds total IPT entries to go 344 344 ; DH holds current partition number (base 0) 345 push cx es di 345 push cx 346 push es 347 push di 346 348 mov ax, ds 347 349 mov es, ax ; ES == DS for now … … 351 353 mov di, offset TrackZero+6E00h ; Starting at sector 56 352 354 CmdLine_RebootToSearchLoop: 353 push si di 355 push si 356 push di 354 357 add di, 4 ; Seek to "PartitionName" item 355 358 mov cx, bx 356 359 rep cmpsb 357 pop di si 360 pop di 361 pop si 358 362 je CmdLine_RebootToSearchDone 359 363 add di, 34 ; Length of IPT entry … … 363 367 CmdLine_RebootToSearchDone: 364 368 mov bl, ds:[di+17] ; Get "Flags" 365 pop di es cx 369 pop di 370 pop es 371 pop cx 366 372 or dl, dl ; If no partitions left -> not found 367 373 jz CmdLine_RebootToNotFound  - 
      
trunk/TOOLS/INTERNAL/FIXCODE.ASM
r31 r37 21 21 ; b) it writes totally used sectors to byte at offset 10h in the image 22 22 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 25 Include ../../INCLUDE/ASM.INC 26 27 .286p 28 .model small, basic 29 30 fixcode group code_seg,bss_data 31 32 code_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 33 35 org 100h 34 36 COM_StartUp: jmp COM_Init … … 63 65 ShowMessage EndP 64 66 65 ShowError Proc Near Uses67 ShowError Proc Near 66 68 mov ah, 09h 67 69 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 71 72 ShowError EndP 72 73 73 COM_Init: mov ax, cs 74 COM_Init: 75 ; Setup and Copyright. 76 mov ax, cs 74 77 mov ds, ax 75 78 mov es, ax ; CS==DS==ES … … 77 80 call ShowMessage 78 81 79 ; =========================================== Load air-boot.bin82 ; Open AIR-BOOT.COM 80 83 mov dx, offset COM_LoadCode 81 84 call ShowMessage … … 90 93 DoneOpenCode: mov bx, ax ; BX = Filehandle 91 94 95 ; Load AIR-BOOT.COM 92 96 mov ah, 3Fh 93 97 mov cx, image_size ; Image size … … 98 102 call ShowError 99 103 100 DoneReadCode: cmp ax, image_size 104 105 DoneReadCode: 106 ; See if at least 'image-size' is loaded. 107 cmp ax, image_size 101 108 je DoneReadCode2 102 109 InvalidCode: mov dx, offset COM_FailedInvalidCode 103 110 call ShowError 104 111 112 ; Try to read again which is expected to fail. 113 ; Otherwise image is too large. 105 114 DoneReadCode2: mov ah, 3Fh 106 115 mov cx, 1 … … 112 121 jmp InvalidCode 113 122 123 ; It's loaded now, close it. 114 124 DoneReadCode3: mov ah, 3Eh 115 125 int 21h ; DOS: CLOSE FILE … … 118 128 call ShowMessage 119 129 120 ; =================================== Load MBR-protection image130 ; Open MBR_PROT.COM 121 131 mov dx, offset COM_LoadMBR 122 132 call ShowMessage … … 131 141 DoneOpenMBR: mov bx, ax ; BX = Filehandle 132 142 143 ; Load MBR_PROT.COM 133 144 mov ah, 3Fh 134 145 mov cx, 1024 ; Image size … … 139 150 call ShowError 140 151 141 DoneReadMBR: cmp ax, 1024 152 DoneReadMBR: 153 ; See if at least 1kB is loaded. 154 cmp ax, 1024 142 155 je DoneReadMBR2 143 156 InvalidMBR: mov dx, offset COM_FailedInvalidMBR 144 157 call ShowError 145 158 159 ; Try to read again which is expected to fail. 160 ; Otherwise image is too large. 146 161 DoneReadMBR2: mov ah, 3Fh 147 162 mov cx, 1 … … 153 168 jmp InvalidMBR 154 169 170 ; It's loaded now, close file. 155 171 DoneReadMBR3: mov ah, 3Eh 156 172 int 21h ; DOS: CLOSE FILE … … 159 175 call ShowMessage 160 176 177 178 161 179 ; ========================== Merge MBR-Protection into Bootcode 162 180 mov dx, offset COM_MergeMBR … … 164 182 165 183 ; Search for signature in Bootcode 184 ; Note the search is with sector granularity. 185 ; This means the signature must be 512 bytes aligned. 166 186 mov si, offset BootCode 167 187 mov di, offset MBRProtectionSignature 168 188 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 170 192 COM_SignatureLoop: 171 push cx si di 193 push cx 194 push si 195 push di 172 196 repe cmpsb 173 pop di si cx 197 pop di 198 pop si 199 pop cx 174 200 je COM_GotSignature 175 201 add si, 512 … … 197 223 mov cx, 256 198 224 mov dx, 53 199 COM_CodeEndLoop:push cx si di 225 COM_CodeEndLoop:push cx 226 push si 227 push di 200 228 COM_CodeEndLoop2: 201 229 cmp wptr ds:[si], 0 … … 205 233 jnz COM_CodeEndLoop2 206 234 COM_ExitCodeEndLoop: 207 pop di si cx 235 pop di 236 pop si 237 pop cx 208 238 jne COM_FoundCodeEnd 209 239 sub si, 512 … … 249 279 jmp EndProgram 250 280 281 282 EndProgram: 283 ; DOS: TERMINATE PROGRAM 284 mov ax, 4C00h 285 int 21h 286 287 288 289 COM_EndOfSegment: 290 291 code_seg ends 292 293 bss_data segment use16 public 'BSS' 251 294 ; Buffers for files 252 295 BootCode db image_size dup (?) 253 296 MBRProtection db 1024 dup (?) 254 255 COM_EndOfSegment: 256 257 code_seg ends 297 bss_data ends 298 258 299 end COM_StartUp  - 
      
trunk/WARNING.TXT
r31 r37 3 3 a severe bug!! Building from these sources and then disabling 4 4 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 2 2 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.
  