Changeset 38


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

Converting to JWasm -- phase #1 (not working) [2012-02-15]

WARNING!!

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

Problems

o WLink generates an oversized image
o Only Tasm with TLink works correctly

Location:
trunk
Files:
23 edited

Legend:

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

    r37 r38  
    484484LocIPT_AbsoluteBegin        equ     26  ; Absolute Sector of Begin
    485485LocIPT_AbsolutePartTable    equ     30  ; Absolute Sector of PartTable
     486
     487; Hidden Partition Table
     488LocHPT_LenOfHPT             equ     30  ; Length of an HPT-entry
    486489
    487490; AiR-BOOT IPT-Flags
     
    11991202                ;call    MBR_TeletypeNL
    12001203                pop     si
    1201                 add     si, 30
     1204                add     si, 30      ; Add remainder of IPT entry
    12021205                loop    MBR_Parts
    12031206
     
    18541857    ; --------------------> 34 Bytes (total maximum partition-entries = 30)
    18551858
    1856     db  (partition_count * 34) dup (0)
     1859    db  (LocIPT_MaxPartitions * LocIPT_LenOfIPT) dup (0)
    18571860
    18581861
     
    18891892sos58:
    18901893; 7400h
    1891 HidePartitionTable      db  (partition_count * 30) dup (0FFh)
     1894HidePartitionTable      db  (LocIPT_MaxPartitions * LocHPT_LenOfHPT) dup (0FFh)
    18921895                        ; Format is:
    18931896                        ;============
    18941897                        ; PartitionPtr : BYTE * 30
    1895                         ; --------------------> 30 Bytes * 30
    1896 
    1897 DriveLetters            db  partition_count dup ('L')
     1898                        ; --------------------> 30 Bytes * 45
     1899
     1900DriveLetters            db  LocIPT_MaxPartitions dup (0)
    18981901                        ; Format is:
    18991902                        ;============
    19001903                        ; Drive-Letter : BYTE (80h-C:, 81h-D:)
    1901                         ; --------------------> 1 Byte * 30
     1904                        ; --------------------> 1 Byte * 45
    19021905
    19031906        ;
     
    19811984;------------------------------------------------------------------------------
    19821985                            ;
    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.
     1986                            ; Removed org for BSS data to be more compatible
     1987                            ; with segment-concatenated layout.
    19871988                            ;
    1988                             org 02000h                         ; Uninitialized
     1989                            ;org 0A000h                         ; Uninitialized
    19891990
    19901991
     
    19981999; Everything used to build a new IPT and reference it to the old one
    19992000NewPartTable                db  1536 dup (?)                    ; New Partition Table
    2000 NewHidePartTable            db  partition_count * 30 dup (?)    ; New Hide-Partition Table
     2001NewHidePartTable            db  partition_count * LocHPT_LenOfHPT dup (?)    ; New Hide-Partition Table
    20012002NewDriveLetters             db  partition_count dup (?)         ; Logical Drive-Letters
    20022003
  • trunk/BOOTCODE/BLDDATE.ASM

    r37 r38  
    11IFDEF   JWASM
    2     BUILD_DATE db 'Build Date: 15 Feb 2012 at 11:15:00                                 [JWasm]',0
     2    BUILD_DATE db 'Build Date: 15 Feb 2012 at 19:30:00                                 [JWasm]',0
    33ENDIF
    44IFDEF   TASM
    5     BUILD_DATE db 'Build Date: 15 Feb 2012 at 11:15:00                                  [Tasm]',0
     5    BUILD_DATE db 'Build Date: 15 Feb 2012 at 19:30:00                                  [Tasm]',0
    66ENDIF
  • trunk/BOOTCODE/REGULAR/BOOTMENU.ASM

    r37 r38  
    718718; Will Set some Vars after user selected entry to boot...
    719719;  ...don't select Straight View !
    720 BOOTMENU_SetVarsAfterMenu Proc Near
     720BOOTMENU_SetVarsAfterMenu Proc Near  Uses
    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
    783       push    dx
     782      push    ax dx
    784783         call    TIMER_GetTicCount
    785784         mov     dx, word ptr [TimedTimeOut]
     
    794793         cmp     al, 0
    795794         jne     BME_NoTimeOut
    796       pop     dx
    797       pop     ax
     795      pop     dx ax
    798796      mov     dl, Menu_EntryDefault
    799797      and     CFG_TimedBootLast, 1
     
    807805
    808806     BME_NoTimeOut:
    809       pop     dx
    810       pop     ax
     807      pop     dx ax
    811808  BME_NoTimedBoot:
    812809   ; ------------------------------------------------ FLOPPY-NAME TIMER
     
    814811   jz      BME_NoFloppyNameTimer
    815812      ; Wait 2 Seconds everytime
    816       push    ax
    817       push    dx
     813      push    ax dx
    818814         call    TIMER_GetTicCount
    819815         cmp     dx, wptr [FloppyGetNameTimer+2]
     
    823819        BME_ExpiredGetFloppy:
    824820         call    BOOTMENU_ResetGetFloppy
    825       pop     dx
    826       pop     ax
     821      pop     dx ax
    827822      jmp     BME_RefreshFloppyName
    828823        BME_NoFloppyNameExpired:
    829       pop     dx
    830       pop     ax
     824      pop     dx ax
    831825  BME_NoFloppyNameTimer:
    832826   ; ------------------------------------------------ KEYBOARD
     
    854848      int     16h
    855849   pop     dx
    856    cmp     ah, Keys_ENTER
     850   cmp     ah, Keys_Enter
    857851   je      BME_KeyEnter
    858852   cmp     ah, Keys_F10
  • trunk/BOOTCODE/REGULAR/DRIVEIO.ASM

    r37 r38  
    153153
    154154DriveIO_GetHardDriveCount       Proc Near   Uses ds si
    155    push    ds
    156    push    si
     155   push    ds si
    157156      push    0040h
    158157      pop     ds
    159158      mov     si, 0075h
    160159      mov     dh, ds:[si]                ; 40:75 -> POST: Total Harddiscs == DL
    161    pop     si
    162    pop     ds
     160   pop     si ds
    163161   mov     TotalHarddiscs, dh
    164162   ret
     
    175173   mov     dl, 80h
    176174  DIOILUT_DriveLoop:
    177       push    dx
    178       push    di
     175      push    dx di
    179176         mov     ah, 08h
    180177         int     13h            ; DISK - GET DRIVE PARAMETERS
     
    193190                                ;  bit 16-23 of the LBA address
    194191        DIOILUT_Error:
    195       pop     di
    196       pop     dx
     192      pop     di dx
    197193      mov     bptr ds:[di], ah  ; Save that value
    198194      inc     di                ; Go to next BYTE
     
    210206; Rousseau: Enhanced to handle sector-numbers 127 and 255 besides 63 for LVM-info sectors.
    211207;           Ugly, need to cleanup.
    212 DriveIO_LVMAdjustToInfoSector   Proc Near
     208DriveIO_LVMAdjustToInfoSector   Proc Near   Uses
    213209
    214210
     
    475471DriveIO_LVMAdjustToInfoSector   EndP
    476472
    477 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
     473drive:                  db 'drive                    : ',0
     474before_lvm_adjust:      db 'before lvm adjust        : ',0
     475after_lvm_adjust:       db 'after lvm adjust         : ',0
     476before_lvm_adjust_log:  db 'before lvm logical adjust: ',0
     477after_lvm_adjust_log:   db 'after lvm logical adjust : ',0
     478spt_used:               db 'spt used                 : ',0
    483479
    484480
     
    555551
    556552; Keeps DS:SI for caller
    557 DriveIO_LoadTmpSector           Proc Near
     553DriveIO_LoadTmpSector           Proc Near  Uses
    558554   mov     si, offset TmpSector
    559555   call    DriveIO_LoadSector                                                    ; Uses INT13X if needed
     
    562558
    563559; Keeps DS:SI for caller
    564 DriveIO_SaveTmpSector           Proc Near
     560DriveIO_SaveTmpSector           Proc Near  Uses
    565561   mov     si, offset TmpSector
    566562   call    DriveIO_SaveSector
     
    630626
    631627; Memory-Block that holds information for LBA-access via INT 13h
    632 DriveIO_DAP                db       10h  ; Size of paket
     628DriveIO_DAP:               db       10h  ; Size of paket
    633629                           db        0   ; Reserved
    634630DriveIO_DAP_NumBlocks      dw        0   ; Number of blocks
     
    656652   mov     bptr [si+5], dl
    657653   call    MBR_Teletype
    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
     654   jmp     MBRLE_Halt
    664655DriveIO_GotLoadError            EndP
    665656
     
    12461237
    12471238; Values for sectors per track table corresponding to DriveIO_IsHugeDrive return value.
    1248 secs_per_track_table    db    63,127,255,255,255,255
     1239secs_per_track_table:   db    63,127,255,255,255,255
    12491240
    12501241;db_lmlvm:   db 'Load Master LVM -- disk: ',0
  • trunk/BOOTCODE/REGULAR/OTHER.ASM

    r37 r38  
    8383GetLenOfStrings                EndP
    8484
    85 PRECRAP_Main                    Proc Near
     85PRECRAP_Main                    Proc Near  Uses
    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
     359AFTERCRAP_Main                  Proc Near  Uses
    360360   ; ===================================================
    361361   ;  Now get volume label of FloppyDrive, if wanted...
  • trunk/BOOTCODE/REGULAR/PARTMAIN.ASM

    r37 r38  
    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
     292PART_ConvertToStraight          Proc Near   Uses
    293293   ;movzx   bx, dl
    294294   mov   bl,dl                                  ; partition number to bl
     
    928928
    929929  PSP_ForceI13X:
    930         push    es
    931         push    di
    932         push    si
     930        push    es di si
    933931
    934932        ; Setup ES and FS.
     
    954952        mov     wptr es:[di+06], ax
    955953
    956         pop     si
    957         pop     di
    958         pop     es
     954        pop     si di es
    959955
    960956
     
    11551151   jz      PSP_NoMBRprotect
    11561152   ; -------------------------------------------------- INSTALLS MBR-PROTECTION
    1157    ; We need DS:SI later...
    1158    push    ds
    1159    push    si
     1153   push    ds si                         ; We need DS:SI later...
    11601154      ; First subtract 1024 bytes from Base-Memory...
    11611155      push    ds
     
    12011195      mov     ds:[si+2], dx              ; Vector hardcoded at DS:0009
    12021196      ; MBR-Protection now active :)
    1203    ; Restore DS:SI
    1204    pop     si
    1205    pop     ds
     1197   pop     si ds                         ; Restore DS:SI
    12061198
    12071199
     
    12871279        mov     ax,bx
    12881280        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
    12951281        popa
    12961282
     
    13081294
    13091295        ;
    1310         ; Update the phys-disk field
    1311         ; DI points to PartitionSector
    1312         ; BX holds index to phys-disk field
     1296        ; Update the phys-drive field
    13131297        ;
    13141298        mov     al,byte ptr [si+LocIPT_Drive]
     
    16831667        ;popa
    16841668
    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
     1669
     1670        ; About 1.5 seconds
     1671        mov     al,30
    17081672        call    TIMER_WaitTicCount
    1709         loop    print_next_dot
    1710         popa
    1711 
    1712     ;
    1713     ; Enter here to skip delay.
    1714     ;
    1715     skip_delay:
    1716 
    1717 
    17181673
    17191674        ;
     
    21222077; CY    = Set if BOOTMGR found, clear if not
    21232078;
    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
     2079PART_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
     2127PART_IsWinBMGR  Endp
    21732128
    21742129
  • trunk/BOOTCODE/REGULAR/PARTSCAN.ASM

    r37 r38  
    2828;        here.
    2929
    30 PARTSCAN_ScanForPartitions      Proc Near
     30PARTSCAN_ScanForPartitions      Proc Near  Uses
    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
     122PARTSCAN_ScanDriveForPartitions Proc Near  Uses
    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
    286    push    dx
    287    push    si
    288    push    di
     285   push    ax dx si di
    289286      mov     si, wptr [PartPtr]
    290287      mov     ax, wptr [si+LocBRPT_RelativeBegin] ; Absolute Sector
     
    338335
    339336   PCCTP_NoIbmBm:
    340    pop     di
    341    pop     si
    342    pop     dx
    343    pop     ax
     337   pop     di si dx ax
    344338   mov     si, offset MBR_NoName_Patched
    345339   xor     ah, ah                        ; no Flags_NoPartName
     
    347341
    348342     PCCTP_CheckBootRecord:
    349    pop     di
    350    pop     si
    351    pop     dx
    352    pop     ax
     343   pop     di si dx ax
    353344   test    ah, FileSysFlags_NoName       ; No-Name-Flag ? -> No Partition Name
    354345
     
    400391         ; Now compare IPT with current Partition
    401392         mov     cx, 15                  ; Serial&Name (15-Bytes)
    402          push    si
    403          push    di
     393         push    si di
    404394            repz    cmpsb
    405          pop     di
    406          pop     si
     395         pop     di si
    407396
    408397         jne   PCCTP_NoMatchYet
     
    426415         ; Now compare IPT with current Partition
    427416         mov     cx, 11                  ; Name only (11-Bytes)
    428          push    si
    429          push    di
     417         push    si di
    430418            add     si, 4
    431419            add     di, 4                ; Skip over Serial-Field
    432420            repz    cmpsb
    433          pop     di
    434          pop     si
     421         pop     di si
    435422         jne     PCCTP_NameNoMatch
    436423         mov     cx, [si+0]           ; Get Serial
     
    501488      ; Build a standard-Volume Label from FileSystemNamePtr
    502489      ;  We have to call SearchFileSysName again because of NTFS
    503       push    ax
    504       push    cx
     490      push    ax cx
    505491         mov     al, dh
    506492         call    PART_SearchFileSysName   ; We want SI here <- FileSystemNamePtr
     
    515501         stosb                           ; Fill last 3 bytes with "NUL"
    516502         mov     si, offset MBR_NoName_Patched
    517       pop     cx
    518       pop     ax
     503      pop     cx ax
    519504      ;=======================================================
    520505      ; LOCATION SEARCH in IPT-Table
     
    827812PARTSCAN_SyncHideConfigWithXref EndP
    828813
    829 ibm_bm_name     db 'OS2 BootMgr',0
    830 ;win_bm_name:    db 'BOOTMGR',0
     814ibm_bm_name:   db 'OS2 BootMgr',0
     815;win_bm_name:   db 'BOOTMGR',0
  • trunk/BOOTCODE/REGULAR/PASSWORD.ASM

    r37 r38  
    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

    r37 r38  
    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
    43 Copyright             db ' AiR-BOOT v1.0.8 - (c) 2012 M. Kiewitz  <<Release Candidate 2>> (bld: 20120214)', 0
     42Copyright             db ' AiR-BOOT v1.0.8 - (c) 2012 M. Kiewitz  <<Release Candidate 1>> (bld: 20120124)', 0
    4443;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
    5044
    5145; Rousseau: switch around
  • trunk/BOOTCODE/REGULAR/VIDEOIO.ASM

    r37 r38  
    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

    r37 r38  
    3030LocMENU_ItemPack             equ          8 ; only if VariablePtr>0
    3131
    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)
     32SETUP_UpperFixString:         db 'SETUP ',0 ; AddOn fr "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
     71SETUP_CheckEnterSETUP           Proc Near   Uses
    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   ; the main-menu routine
     119SETUP_MenuTask                  Proc Near   Uses ; 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
     296SETUP_DrawMenuOnScreen          Proc Near   Uses
    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    ; BackUp Coordinates and ItemPackPtr
    399    push    cx
    400    push    si
     398   push    cx si                         ; BackUp Coordinates and ItemPackPtr
    401399      push    cx
    402400         cmp     cl, 40
     
    422420      call    VideoIO_PrintSingleChar    ; Write double-point
    423421      mov     word ptr TextColorFore, dx
    424    pop     si
    425    pop     cx
     422   pop     si cx
    426423   add     cl, 26                        ; Fix X-coordinate (for ItemPack)
    427424   call    VideoIO_Locate
     
    501498SETUP_DrawMenuWindow            EndP
    502499
    503 SETUP_DrawMenuBase              Proc Near
    504    call    BOOTMENU_BuildBackground
     500SETUP_DrawMenuBase              Proc Near   Uses
     501   call    BOOTMENU_BuildBackGround
    505502   ; -------------------------------------------- Upper Copyright...
    506503   mov     cx, 0F00h
     
    708705;SETUP_EnterMenu_LinuxCommandLine EndP
    709706
    710 SETUP_EnterMenu_DefineMasterPassword Proc Near
     707SETUP_EnterMenu_DefineMasterPassword Proc Near Uses
    711708   mov     di, offset CFG_MasterPassword
    712709   call    SETUP_EnterMenu_DefinePassword
     
    714711SETUP_EnterMenu_DefineMasterPassword EndP
    715712
    716 SETUP_EnterMenu_DefineBootPassword Proc Near
     713SETUP_EnterMenu_DefineBootPassword Proc Near Uses
    717714   mov     di, offset CFG_BootPassword
    718715   call    SETUP_EnterMenu_DefinePassword
     
    723720
    724721; [Linux support removed since v1.02]
    725 ;SETUP_EnterMenu_EnterLinuxCmdLine Proc Near
     722;SETUP_EnterMenu_EnterLinuxCmdLine Proc Near Uses
    726723;   mov     cx, 0D05h
    727724;   call    VideoIO_Color
     
    848845   mov     ax, VideoIO_Page2
    849846   call    VideoIO_BackUpTo
    850    push    ax
    851    push    di
     847   push    ax di
    852848      mov     ax, 20h                    ; Space
    853849      mov     cx, 16
    854850      rep     stosb                      ; Kill new password
    855851      mov     es:[di], ah                ; ending NUL
    856    pop     di
    857    pop     ax
     852   pop     di ax
    858853   cmp     ax, 0ABABh                    ; Magic Processing...
    859854   je      SLEP_MagicLayOut
     
    10441039  SEMSAES_DoThis:
    10451040   xor     al, al
    1046    mov     CFG_AutoEnterSetup, al
     1041   mov     CFG_AutoEnterSETUP, al
    10471042   add     CFG_LastTimeEditLow, 1
    10481043   adc     CFG_LastTimeEditHi, 0         ; Update Time-Stamp
     
    10601055   jnz     SEMEWS_UserAbort
    10611056   ; If we were forced to enter Setup, save configuration anyway...
    1062    test    CFG_AutoEnterSetup, 1
     1057   test    CFG_AutoEnterSETUP, 1
    10631058   jz      SEMEWS_DoThis
    10641059   jmp     SEMEWS_DoThis                 ; Cross-Jump to SaveAndExitSetup!
     
    10771072;       Out: Non-Zero Flag set -> User is sure
    10781073; Destroyed: None
    1079 SETUP_Warning_AreYouSure        Proc Near
     1074SETUP_Warning_AreYouSure        Proc Near Uses
    10801075   mov     cx, 0C04h
    10811076   call    VideoIO_Color
     
    11721167
    11731168; Cur Value in DL, Maximum Value in DH. Add/Sub in CL
    1174 SETUPMAGIC_InternalCheckUp      Proc Near
     1169SETUPMAGIC_InternalCheckUp      Proc Near   Uses
    11751170   or      cl, cl                        ; CL==0?    -> Decrease
    11761171   jz      SMICU_Substract               ; otherwise -> Increase
     
    12271222   mov     al, dl
    12281223   call    VideoIO_PrintByteDynamicNumber
    1229    ; Pseudo-(XCHG DS, ES)
    1230    push    ds
    1231    push    es
    1232    pop     ds
    1233    pop     es
    1234 
     1224   push    ds es
     1225   pop     ds es                         ; Pseudo-(XCHG DS, ES)
    12351226   mov     di, si
    12361227   add     di, LocMENU_ItemPack          ; ES:DI - ItemPack
    12371228   mov     si, 4000                      ; DS:SI - Screen Page 1
    1238    push    es
    1239    push    di
     1229   push    es di
    12401230      mov     cx, 4
    12411231     SMCBD_Loop:
     
    12431233         stosb
    12441234      loop    SMCBD_Loop                 ; okay we got it...trick!
    1245    ; DS:SI - ItemPack
    1246    pop     si
    1247    pop     ds
     1235   pop     si ds                         ; DS:SI - ItemPack
    12481236   mov     cx, 12
    12491237   call    GetLenOfName                  ; Gets the length of the number
     
    13111299      call    PART_GetPartitionPointer
    13121300      mov     ax, ds:[si+LocIPT_Flags]
    1313       test    ax, Flags_Bootable
     1301      test    ax, Flags_BootAble
    13141302      jz      SMCP_Inc_RejectPartition
    13151303      jmp     SMCP_GotSelection
     
    13421330      call    PART_GetPartitionPointer
    13431331      mov     ax, ds:[si+LocIPT_Flags]
    1344       test    ax, Flags_Bootable
     1332      test    ax, Flags_BootAble
    13451333      jz      SMCP_Dec_RejectPartition
    13461334
  • trunk/BOOTCODE/SETUP/MENUS.ASM

    r37 r38  
    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

    r37 r38  
    2525
    2626; This here is called from Menu in AIR-BSET.asm
    27 PARTSETUP_Main                  Proc Near
     27PARTSETUP_Main                  Proc Near   Uses
    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.
    114112  PSM_KeyENTER:
    115113   call    PARTSETUP_ChangePartitionName
     
    122120  PSM_KeyBootAble:
    123121   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:
    131122   mov     al, [si+LocIPT_Flags]
    132    xor     al, Flags_Bootable
     123   xor     al, Flags_BootAble
    133124   mov     [si+LocIPT_Flags], al
    134125   call    PARTSETUP_DrawPartitionInfo
    135126   call    PARTSETUP_BuildChoiceBar
    136   PSM_KeyBootAble_istype35:
    137127   jmp     PSM_MainLoop
    138128
     
    174164PARTSETUP_Main                  EndP
    175165
    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 
    201166; Draw all standard-things for Partition Setup, dynamic content not included.
    202167PARTSETUP_DrawMenuBase          Proc Near   Uses dx
     
    286251   call    VideoIO_FixedPrint
    287252
    288    mov     si, offset TXT_SETUPHELP_PartSetup
     253   mov     si, offset TXT_SETUPHELP_PARTSETUP
    289254   call    SETUP_DrawMenuHelp
    290255   ret
     
    405370         mov     cl, 11
    406371         call    VideoIO_FixedPrint
    407    pop     si
    408    pop     cx
     372   pop     si cx
    409373
    410374   ; Display "Flags" field aka "BVHL"
     
    415379   mov     bh, bl
    416380   mov     al, TXT_SETUP_FlagLetterBootable
    417    and     bl, Flags_Bootable
     381   and     bl, Flags_BootAble
    418382   call    PARTSETUP_DrawOneFlag
    419383   mov     bl, bh
     
    465429;            DH - New Active (to be activated)
    466430; Destroyed: None
    467 PARTSETUP_BuildChoiceBar        Proc Near
     431PARTSETUP_BuildChoiceBar        Proc Near   Uses
    468432   cmp     dl, dh
    469433   je      PSBCB_SkipRetrace
     
    702666        cmp     byte ptr [si+LocIPT_SystemID], 035h
    703667        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 
    713668        jmp     PSCPN_AllDone
    714669    no_type_35h:
    715670
    716671   mov     cx, 11                        ; Partition-Name-Length = 11 Bytes
    717    push    si
    718    push    di
     672   push    si di
    719673      add     si, LocIPT_Name            ; DS:SI -> Partition-Name
    720674      repz    cmpsb
    721    pop     di
    722    pop     si
     675   pop     di si
    723676   jne     PSCPN_LetUserEditPartName     ; -> No BR/LVM Changing/Saving
    724677
     
    788741
    789742   ; ----------------------------------------------[LVM SAVE PARTITION NAME]---
    790    ; Copy 11 bytes from IPT into LVM PartitionName, back-padd with zero's
     743   ; Copy 11 bytes from IPT into LVM PartitonName, back-padd with zero's
    791744   mov     cx, 11
    792745   push    si
     
    895848      cmp     ah, Keys_F1
    896849      je      PHSM_KeyF1
    897       cmp     ah, Keys_ENTER
     850      cmp     ah, Keys_Enter
    898851      je      PHSM_KeyToogle
    899852      cmp     ah, Keys_Plus
     
    1005958   sub     dl, cl                        ; Adjust position
    1006959   sub     dl, 2
    1007    push    cx
    1008    push    si                         ; SI == Label Field
     960   push    cx si                         ; SI == Label Field
    1009961      mov     cx, dx
    1010962      call    VideoIO_Locate
     
    1013965      mov     si, offset TXT_SETUP_HideFeature2
    1014966      call    VideoIO_Print
    1015    pop     si
    1016    pop     cx
     967   pop     si cx
    1017968   call    VideoIO_FixedPrint
    1018969   mov     al, '>'
     
    11831134;            DH - New Active (to be activated)
    11841135; Destroyed: None
    1185 PARTHIDESETUP_BuildChoiceBar    Proc Near
     1136PARTHIDESETUP_BuildChoiceBar    Proc Near   Uses
    11861137   cmp     dl, dh
    11871138   je      PHSBCB_SkipRetrace
     
    13141265   mov     di, offset HidePartitionTable
    13151266   add     di, ax                        ; We got the pointer
    1316    push    di
    1317    push    di
     1267   push    di di
    13181268      mov     cx, LocIPT_MaxPartitions
    13191269      mov     al, 0FFh
     
    14171367         cmp     ah, Keys_ESC
    14181368         je      PSDLS_KeyDONE
    1419          cmp     ah, Keys_ENTER
     1369         cmp     ah, Keys_Enter
    14201370         je      PSDLS_KeyDONE
    14211371         ; Direct-Letter-Input
  • trunk/BOOTCODE/SPECIAL/F00K/BILLSUXX.ASM

    r37 r38  
    5151   jz      MSHPPT_NoMShack
    5252  MSHPPT_HarddriveLoop:
    53       push    ax
    54       push    bx
    55       push    cx
    56       push    dx
     53      push    ax bx cx dx
    5754         xor     ax, ax
    5855         xor     bx, bx     ; Location Absolute Sector 0
     
    6057         xor     dh, dh     ; Location Cylinder 0, Head 0, Sector 1 MBR/PPT
    6158         call    DriveIO_LoadPartition
    62       pop     dx
    63       pop     cx
    64       pop     bx
    65       pop     ax
     59      pop     dx cx bx ax
    6660      jc      MSHPPT_Failure
    6761
  • trunk/BOOTCODE/SPECIAL/FAT16.ASM

    r37 r38  
    103103   xor    di, di
    104104  FAT16SE_SearchLoop:
    105       push   si
    106       push   di
     105      push   si di
    107106         mov    cx, 11
    108107         repe   cmpsb                    ; Compare total 11-bytes
    109       pop    di
    110       pop    si
     108      pop    di si
    111109      je     FAT16SE_EntryFound
    112110      add    di, 32                      ; Skip 1 FAT16-Entry now :)
     
    223221
    224222      ; Set Size-Entry in KernelSizeTable
    225       push   ds
    226       push   si
    227       push   di
     223      push   ds si di
    228224         mov    bx, ds:[si+30]
    229225         mov    ax, ds:[si+28]           ; BX:AX - Size of file in Bytes
     
    244240         mov    di, si
    245241         call   PART_FillOutSizeElement  ; BX:AX -> ES:DI (Size Element)
    246       pop    di
    247       pop    si
    248       pop    ds
     242      pop    di si ds
    249243
    250244      ; Copy entry and make append extension to basename
  • trunk/BOOTCODE/SPECIAL/FX.ASM

    r37 r38  
    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
     34FX_CalculateTables              Proc Near   Uses
    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
     59FX_MakeCooperBarColors          Proc Near   Uses
    6060   mov    bh, ah
    6161   shl    bh, 4
     
    8282      add    di, 3
    8383   loop   FX_MCBC_BuildColorLoop1
    84    push   ax
    85    push   bx
     84   push   ax bx
    8685      add    ax, 0101h
    8786      add    bl, 01h
     
    9392      mov    es:[di+5], bl
    9493      add    di, 6
    95    pop    bx
    96    pop    ax
     94   pop    bx ax
    9795   mov    cx, 15
    9896  FX_MCBC_BuildColorLoop2:
     
    111109;  If FX is active, we will modify the base segment for videoio to page 2,
    112110;  so the screen will be generated there instead of the current page.
    113 FX_StartScreen                  Proc Near
     111FX_StartScreen                  Proc Near   Uses
    114112   test    CFG_CooperBars, 1
    115113   jz      FXSS_NoFX
     
    122120;  If FX is active, we will copy the new screen to scroll area, do the FX,
    123121;  copy the new screen to Page 0 and activate it.
    124 FX_EndScreenLeft                Proc Near
     122FX_EndScreenLeft                Proc Near   Uses
    125123   test    CFG_CooperBars, 1
    126124   jnz     FXESL_Go
     
    143141FX_EndScreenLeft                EndP
    144142
    145 FX_ScrollScreenLeft             Proc Near
     143FX_ScrollScreenLeft             Proc Near   Uses
    146144   mov     FX_WideScrollerCurPos, 640
    147145   mov     FX_WideScrollerDirection, 0
     
    151149FX_ScrollScreenLeft             EndP
    152150
    153 FX_EndScreenRight               Proc Near
     151FX_EndScreenRight               Proc Near   Uses
    154152   test    CFG_CooperBars, 1
    155153   jnz     FXESR_Go
     
    172170FX_EndScreenRight               EndP
    173171
    174 FX_ScrollScreenRight            Proc Near
     172FX_ScrollScreenRight            Proc Near   Uses
    175173   mov     FX_WideScrollerCurPos, 0
    176174   mov     FX_WideScrollerDirection, 1
     
    180178FX_ScrollScreenRight            EndP
    181179
    182 FX_EndScreenInternalGo          Proc Near
     180FX_EndScreenInternalGo          Proc Near   Uses
    183181   mov     FX_WideScrollerSpeed, 1
    184182   mov     FX_WideScrollerSpeedState, 1
     
    201199FX_EndScreenInternalGo          EndP
    202200
    203 FX_EndScreenInternalCleanUp     Proc Near
     201FX_EndScreenInternalCleanUp     Proc Near   Uses
    204202   mov     ax, -1
    205203   call    FX_SetVideoStart
     
    359357;       Out: *none*
    360358; Destroyed: all
    361 FX_CalculateCoopers             Proc Near
     359FX_CalculateCoopers             Proc Near   Uses
    362360   ; Logic: When Intro-State: Increase CooperPos by 1 till 256 -> then active
    363361   ;             Active-State: Use SinusTable, till SinusPos=7Fh -> then Extro
     
    416414FX_CalculateCoopers             EndP
    417415
    418 FX_CalculateWideScroller        Proc Near
     416FX_CalculateWideScroller        Proc Near   Uses
    419417   mov     bx, FX_WideScrollerCurPos
    420418   ;movzx   cx, FX_WideScrollerSpeed
     
    517515FX_CalculateWideScroller        EndP
    518516
    519 FX_WaitRetrace                  Proc Near
     517FX_WaitRetrace                  Proc Near   Uses
    520518   mov    dx, 3DAh
    521519  FX_WR1:
     
    530528FX_WaitRetrace                  EndP
    531529
    532 FX_WaitVRetrace                 Proc Near
     530FX_WaitVRetrace                 Proc Near   Uses
    533531   mov    dx, 3DAh
    534532  FX_WVR1:
  • trunk/BOOTCODE/SPECIAL/LINUX.ASM

    r37 r38  
    188188   add     di, LocIPT_Name
    189189  LSKN_SearchLoop:
    190       push    cx
    191       push    si
    192       push    di
     190      push    cx si di
    193191         mov     cx, 11
    194192         repe    cmpsb                   ; Compare total 11-bytes
    195       pop     di
    196       pop     si
    197       pop     cx
     193      pop     di si cx
    198194      je      LSKN_Found
    199195      add     di, LocIPT_LenOfIPT
     
    228224   ; Linux has 1 'BR' (which is crap) and some setup sectors
    229225   ; we load them at 9000:0, what a luck, we are at 8000:0 :-))
    230    push    ds
    231    push    es
     226   push    ds es
    232227      mov     ax, 9000h
    233228      mov     es, ax
     
    260255      mov     ax, 6000h
    261256      mov     es, ax
    262       ; Push Kernel-Entry-Pointer
    263       push    cx
    264       push    si
     257      push    cx si                      ; Push Kernel-Entry-Pointer
    265258         mov     si, di
    266259         shl     cx, 9                   ; Sectors to Byte Count
     
    269262         shr     cx, 1
    270263         rep     movsw                   ; Copy Data...
    271       ; Get Kernel-Entry-Pointer back
    272       pop     si
    273       pop     cx
     264      pop     si cx                      ; Get Kernel-Entry-Pointer back
    274265     LLL_GotAll:
    275    pop     es
    276    pop     ds
    277 
    278    ; Push Missing-Sectors, StartCluster
    279    push    cx
    280    push    dx
     266   pop     es ds
     267
     268   push    cx dx                          ; Push Missing-Sectors, StartCluster
    281269      mov     ax, 9000h
    282270      mov     ds, ax
     
    348336         stosb                            ; Write another NUL
    349337      pop     cx
    350    ; Pop StartCluster, Missing-Sectors
    351    pop     dx
    352    pop     bx
     338   pop     dx bx                          ; Pop StartCluster, Missing-Sectors
    353339   ; CX - Sector-Count of Kernel Image, DX - Starting Cluster of Kernel Image
    354340   ; BX - Sector-Count left over in 6000:0 area from Setup Code loading
  • trunk/BOOTCODE/SPECIAL/LVM.ASM

    r37 r38  
    2424ENDIF
    2525
    26 LVM_InitCRCTable                Proc Near
     26LVM_InitCRCTable                Proc Near   Uses
    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
     92LVM_CheckSectorSignature        Proc Near   Uses
    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 in case they
    179         ; they are all primary ones.
     178        ; sector of track0; for all four partition entries should they
     179        ; all be primary ones.
    180180        ;
    181181        ; LVM DLAT info for logical partitions is stored in the sector
  • trunk/BOOTCODE/SPECIAL/VIRUS.ASM

    r37 r38  
    3333   mov     di, offset CFG_VIR_INT08
    3434   push    di
    35       repe     scasb
     35      rep     scasb
    3636   pop     di
    3737   jne     VCFS_AlreadyInitiated
     
    102102   int     16h                           ; Waits for any keystroke
    103103   jmp     VCFS_InitNow
    104 
    105104  VCFS_WhewThisIsOne:
    106    call    VIRUS_TryRestore
    107 
    108    ; Code should no reach this since we halt the system in VIRUS_TryRestore.
    109    ret
     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
    110126VIRUS_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 
    144127
    145128; Checks system for normal-MBR-virus... (done by comparing current MBR with
     
    148131; Segment Registers preserved
    149132VIRUS_CheckForVirus             Proc Near  Uses ds si es di
    150    push    cs
    151    push    cs
    152    pop     ds
    153    pop     es
     133   push    cs cs
     134   pop     ds es
    154135   mov     bx, offset TmpSector
    155136   mov     dx, 0080h
     
    164145   mov     cx, 223                       ; Compare 446 bytes
    165146   repz    cmpsw                         ; if fail: Cross call to Stealth-Virus
    166    ;jne     VCFS_WhewThisIsOne
    167    je      VIRUS_CheckForVirus_end
    168    call    VIRUS_TryRestore
    169   VIRUS_CheckForVirus_end:
     147   jne     VCFS_WhewThisIsOne
    170148   ret
    171149VIRUS_CheckForVirus             EndP
     
    189167
    190168; Will report Carry-Clear, if BackUp MBR is valid (supposingly)
    191 ANTIVIR_CheckBackUpMBR          Proc Near
    192    push    cs
    193    push    cs
    194    pop     es
    195    pop     ds
     169ANTIVIR_CheckBackUpMBR          Proc Near  Uses
     170   push    cs cs
     171   pop     es ds
    196172   mov     bx, offset TmpSector
    197173   mov     dx, 0080h
     
    214190ANTIVIR_CheckBackUpMBR          EndP
    215191
    216 ANTIVIR_RestoreMBR              Proc Near
     192ANTIVIR_RestoreMBR              Proc Near  Uses
    217193   call    ANTIVIR_CheckBackUpMBR
    218194   jnc     ARMBR_DoIt
  • trunk/BOOTCODE/TEXT/TXTMBR.ASM

    r37 r38  
    1 Include TEXT/EN/MBR.ASM                
     1Include TEXT/EN/MBR.ASM
  • trunk/BOOTCODE/TEXT/TXTMENUS.ASM

    r37 r38  
    1 Include TEXT/EN/MENUS.ASM               
     1Include TEXT/EN/MENUS.ASM 
  • trunk/BOOTCODE/TEXT/TXTOTHER.ASM

    r37 r38  
    1 Include TEXT/EN/OTHER.ASM      
     1Include TEXT/EN/OTHER.ASM
  • trunk/INSTALL/INST_X86/INSTALL.INC

    r37 r38  
    687687                                         ; Rousseau: changed above to 7
    688688   ; Rousseau: Changed back to 5 to be compatible with the v1.07 OS/2 and WIN
    689    ; installers AIRBOOT2.EXE and AIRBOOTW.EXE dat do a CRC over 5 sectors.
     689   ; installers AIRBOOT2.EXE and AIRBOOTW.EXE that do a CRC over 5 sectors.
    690690   mov     cx, 5
    691691
     
    864864; Carry set, if invalid BackUp
    865865Init_CheckBackupMBR            Proc Near  Uses si
    866    mov     si, 7600h                     ; Fixed location of backup
     866    ; Now 7a00h
     867   mov     si, 7a00h                     ; Fixed location of backup
    867868   call    Init_CheckThisMBR
    868869   ret
     
    924925   pop     ds
    925926   pop     es                         ; Exchange DS&ES so DS==HDD, ES==New BootCode
    926    mov     si, 7600h                     ; Sector 60...
     927   ; Now 7a00h
     928   mov     si, 7a00h                     ; Sector 62...
    927929   mov     di, offset BootImage          ;  -> to Sector 1 of New BootCode
    928930   mov     cx, 256
Note: See TracChangeset for help on using the changeset viewer.