Changeset 37 for trunk/BOOTCODE
- Timestamp:
- Apr 11, 2014, 8:39:07 PM (12 years ago)
- Location:
- trunk/BOOTCODE
- Files:
-
- 11 added
- 3 deleted
- 39 edited
Legend:
- Unmodified
- Added
- Removed
-
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 318 LocBRPT_BeginCHS equ 319 LocBRPT_BeginHead equ 320 LocBRPT_BeginSector equ 321 LocBRPT_BeginCylinder equ 322 LocBRPT_SystemID equ 323 LocBRPT_EndCHS equ 324 LocBRPT_EndHead equ 325 LocBRPT_EndSector equ 326 LocBRPT_EndCylinder equ 327 LocBRPT_RelativeBegin equ 328 LocBRPT_AbsoluteLength equ 329 330 LocBR_Magic equ 415 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 433 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 339 LocLVM_CRC equ 340 LocLVM_Heads equ 341 LocLVM_Secs equ 342 LocLVM_DiskName equ 343 LocLVM_StartOfEntries equ 344 LocLVM_LenOfEntry equ 437 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 368 LocLVM_PartitionName equ 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 375 LocIPT_LenOfIPT equ 34; Length of an IPT-entry376 LocIPT_Serial equ 377 LocIPT_Name equ 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 459 460 590 ; We are not a .com file at 100h but a binary image 591 ; of which only the 1st sector gets loaded at 07c00h. 592 org 00000h ; Sector 1 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 555 556 557 558 559 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 583 movsi, offset $-12584 pushcs585 popds586 callMBR_Teletype587 MBRLE_Halt:588 jmpMBRLE_Halt589 MBR_LoadError 741 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 597 movsi, offset $-12598 pushcs599 popds600 callMBR_Teletype601 MBRSE_Halt:602 jmpMBRSE_Halt603 MBR_SaveError 755 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 611 movah, 0Eh612 movbx, 7613 MBRT_Loop:614 lodsb615 oral, al616 jzMBRT_End617 int10h618 jmpMBRT_Loop619 MBRT_End:620 ret621 MBR_Teletype 770 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 631 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 790 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 814 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 830 831 832 833 834 992 ; first Normal-Partition-ID, Hidden-Partition-ID 993 ; and Default-Partition-Flags. 994 ; 01h -> Boot-Able 995 ; 10h -> FAT32 - Name Getting Scheme 996 ; 20h -> No Name To Get (use Partition Name from IPT) 997 ; 40h -> 'L' flag possible 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 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 1111 1112 1113 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 1128 1129 1130 1131 mov [eCS_InstallVolume], 0; disable phase 1 for next boot1132 1133 1134 1135 1136 ;1137 ; RE-ENTER SETUP1138 ;1139 1140 1141 1142 ;callSOUND_Beep1143 1144 1145 1146 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 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 mov Menu_EntrySelected, al; zero based1188 1261 ; 1262 ; ####################### WAIT FOR KEY ######################## 1263 ; 1264 1265 1266 ; Rousseau: 1267 ; Wait for key so we can see debug log if ab-menu hangs. 1268 ;;xor ax, ax 1269 ;;int 16h 1270 1271 ;call SOUND_Beep 1272 1273 ; Rousseau: delayed save of video-page 1274 1275 mov ax, VideoIO_Page1 1276 call VideoIO_BackUpTo ; Copy BIOS POST to Second Page 1277 1278 ;call SOUND_Beep 1279 1280 1281 ; 1282 ; COM-PORT DEBUG 1283 ; 1284 ;call AuxIO_TeletypeNL 1285 mov si, offset PartitionTable 1286 ;call AuxIO_DumpSector 1287 ;call AuxIO_TeletypeNL 1288 1289 1290 ; Save configuration so phase1 boot-through is disabled 1291 ; on next boot. 1292 ; Moved here to fix that Esc out of SETUP would also save. 1293 ; So moved above the MBR_Main_ReEnterSetup label. 1294 mov [eCS_InstallVolume], 0 ; disable phase 1 for next boot 1295 call DriveIO_SaveConfiguration 1296 1297 1298 1299 ; 1300 ; RE-ENTER SETUP 1301 ; 1302 MBR_Main_ReEnterSetup: 1303 call SETUP_CheckEnterSETUP 1304 1305 ;call SOUND_Beep 1306 1307 ; Rousseau: Every time I see "AfterCrap" I have to laugh :-) 1308 call AFTERCRAP_Main 1309 1310 ; [Linux support removed since v1.02] 1311 ; Now get FAT16-Linux Kernel Partition, If requested 1312 ;cmp [CFG_LinuxKrnlPartition], 0FFh 1313 ;je MBR_Main_NoLinuxKrnlPartition 1314 ;call LINUX_InitFAT16access 1315 ;MBR_Main_NoLinuxKrnlPartition: 1316 1317 1318 MBR_Main_ReEnterBootMenuPre: 1319 1320 ; SetUp PartitionPointers for BootMenu (filter non-bootable) 1321 call PART_CalculateMenuPartPointers 1322 1323 ; ...and count that one... 1324 cmp PartitionPointerCount, 0 1325 jne MBR_Main_SomethingBootAble 1326 mov si, offset TXT_NoBootAble 1327 call MBR_Teletype 1328 jmp MBR_HaltSystem 1329 1330 MBR_Main_SomethingBootAble: 1331 ; FixUp Values, define Timed Setup booting, etc. 1332 call PART_FixUpDefaultPartitionValues 1333 1334 1335 1336 ; -------------------------------------------------- BOOT-MENU 1337 MBR_Main_ReEnterBootMenu: 1338 call BOOTMENU_ResetMenuVars ; reset has to be done 1339 test CFG_AutomaticBoot, 1 1340 jz MBR_Main_NoAutomaticBooting 1341 ; ------------------------------------------ AUTOMATIC BOOTING 1342 ; Select automatic partition, disable automatic booting for 1343 ; next time and boot system... 1344 mov CFG_AutomaticBoot, 0 1345 call PASSWORD_AskSystemPwd 1346 mov al, Menu_EntryAutomatic 1347 1348 ;mov al, 2 1349 1350 mov Menu_EntrySelected, al ; zero based 1351 jmp MBR_Main_NoBootMenu 1189 1352 1190 1353 MBR_Main_NoAutomaticBooting: 1191 1354 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 ;moval,0 ; zero based1204 1205 1206 1207 1208 1209 1210 1211 ;callSOUND_Beep1212 1213 1214 1215 1216 1217 1218 1219 ;callSOUND_Beep1220 1221 1222 1223 ;callSOUND_Beep1224 1225 1226 1227 1228 ;callSOUND_Beep1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 int31241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1355 ;call SOUND_Beep 1356 1357 test CFG_BootMenuActive, 0FFh 1358 jnz MBR_Main_GotBootMenu 1359 ; ----------------------------------------------- NO BOOT-MENU 1360 ; Select default partition and boot system... 1361 call PASSWORD_AskSystemPwd 1362 1363 ;call VideoIO_DBG_WriteString2 1364 1365 mov al, Menu_EntryDefault 1366 ;mov al,0 ; zero based 1367 mov Menu_EntrySelected, al 1368 jmp MBR_Main_NoBootMenu 1369 1370 MBR_Main_GotBootMenu: 1371 ; ------------------------------------------ BOOT-MENU VISUALS 1372 call FX_StartScreen 1373 1374 ;call SOUND_Beep 1375 1376 call BOOTMENU_BuildBackground 1377 call BOOTMENU_BuildMain 1378 call FX_EndScreenRight 1379 call PASSWORD_AskSystemPwd 1380 call BOOTMENU_ResetTimedBoot 1381 1382 ;call SOUND_Beep 1383 1384 call BOOTMENU_Execute 1385 1386 ;call SOUND_Beep 1387 1388 jc MBR_Main_ReEnterSetup 1389 call BOOTMENU_SetVarsAfterMenu 1390 1391 ;call SOUND_Beep 1392 1393 ; ---------------------------------------------------- BOOTING 1394 MBR_Main_NoBootMenu: 1395 call FX_StartScreen 1396 call BOOTMENU_BuildGoodBye 1397 call FX_EndScreenRight 1398 call PASSWORD_AskChangeBootPwd 1399 1400 IFNDEF ReleaseCode 1401 ; Debug Code to terminate DOS .COM program - used for 1402 ; testing AiR-BOOT 1403 int 3 1404 mov ax, 6200h 1405 int 21h 1406 mov es, bx 1407 mov ax, 4C00h ; Quit program 1408 int 21h 1409 ENDIF 1410 call ANTIVIR_SaveBackUpMBR 1411 mov dl, Menu_EntrySelected 1412 1413 ; -------------------------------------------- START PARTITION 1414 call PART_StartPartition 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 1479 ; 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 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 1524 1525 1526 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 1530 1531 1532 1533 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 1537 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 1874 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 1713 1714 1715 1716 1717 DriveLetters : db partition_count dup (0)1718 1719 1720 1721 1890 ; 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 1819 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 1828 CurIO_Scanning db? ; 1-AiR-BOOT is scanning partitions1829 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 1895 FX_CooperState :db 7 dup (?)1896 FX_SinusPos :db 7 dup (?)1897 FX_CooperPos :dw 7 dup (?)1898 CharsetTempBuffer 1899 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 1949 1950 db 126 dup(?); The buffer itself.1951 i13xbuf_size = $-offset i13xbuf-2; Size of buffer1952 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 27 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 26 VideoIO_WaitRetrace Proc Near Uses ax dx 27 mov dx, 3DAh 28 VIOWR_Jump1: 29 in al, dx 30 test al, 8 31 jnz VIOWR_Jump1 32 VIOWR_Jump2: 33 in al, dx 34 test al, 8 35 jz VIOWR_Jump2 36 ret 37 VideoIO_WaitRetrace EndP 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 51 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 50 VideoIO_Locate Proc Near Uses cx 51 or ch, ch 52 jz VIOL_IgnoreY 53 dec ch 54 mov TextPosY, ch 55 VIOL_IgnoreY: 56 or cl, cl 57 jz VIOL_IgnoreX 58 dec cl 59 mov TextPosX, cl 60 VIOL_IgnoreX: 61 ret 62 VideoIO_Locate EndP 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 240 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
Note:
See TracChangeset
for help on using the changeset viewer.