Changeset 40


Ignore:
Timestamp:
Apr 11, 2014, 9:58:17 PM (11 years ago)
Author:
Ben Rietbroek
Message:

Converting to JWasm -- phase 3 (not working) [2012-02-16]

WARNING!!

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

Problems

o Problem with location of BSS
o Problem with segments

Info

o Adjusted DISCLAIM.TXT

Location:
trunk
Files:
19 edited

Legend:

Unmodified
Added
Removed
  • trunk/BOOTCODE/AIR-BOOT.ASM

    r39 r40  
     1;
     2; BSS moet op A000 liggen
     3; Segmented werkt niet
     4; Moet met Tasm/DOS assembleren
     5; Wat we dus *niet* willen !!
     6;
     7
     8
     9
    110; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz
    211;
     
    19871996                            ; with segment-concatenated layout.
    19881997                            ;
    1989                             ;org 0A000h                         ; Uninitialized
     1998                            org 0A000h                         ; Uninitialized
    19901999
    19912000
  • trunk/BOOTCODE/REGULAR/BOOTMENU.ASM

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    r29 r40  
    88 º warranty for bug-free operation, fitness for a particular purpose or the   º
    99 º appropriate behaviour of the program.                                      º
    10  º                                                                            º
    11  º This software may not be used in any way by US government. This means it   º
    12  º  may not be used on any US government/military computers in any case. It   º
    13  º  also means that if you are working for US government in any way, then you º
    14  º  are not allowed to use it as well.                                        º
    1510 º                                                                            º
    1611 º THE SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED      º
     
    3227 º                                                                            º
    3328 º All trademarks mentioned anywhere around here are property of their owners º
    34  º and the like... This means e.g. "Microsoft Windows (9x/NT/2000/XP/YP/ZP",  º
    35  º "Microsoft", "bugfix" and "exploit" are trademarks of Microsoft Corp.      º
    36  º Also "killing people for oil" and "torturing for freedom" are trademarks   º
    37  º of american government.                                                    º
     29 º and the like...                                                            º
    3830 º                                                                            º
    3931 ÓÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ  ÄÄ  ú                           ú  ÄÄ  ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄœ
Note: See TracChangeset for help on using the changeset viewer.