Changeset 46 for trunk/BOOTCODE/REGULAR


Ignore:
Timestamp:
Apr 12, 2014, 8:23:32 AM (12 years ago)
Author:
Ben Rietbroek
Message:

Various Changes [2012-04-14]

WARNING!!

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

Changes

o Added BLDLEVEL support
o Enhanced Master Make
o Sanitized sources
o Support for Wasm and Masm6 (experimental)
o Renamed MBR_PROT.ASM to MBR-PROT.ASM
o Merged bitfield code Into Installer
o First steps for cross platform Installer
o More...

Location:
trunk/BOOTCODE/REGULAR
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • trunk/BOOTCODE/REGULAR/AUXIO.ASM

    r45 r46  
    7171
    7272
     73;
     74; Send the Build Information to the COM-port.
     75;
     76AuxIO_PrintBuildInfo    Proc    Near    Uses ax cx si di
     77        ; Print header.
     78        mov     si, offset build_info
     79        call    AuxIO_Print
     80
     81        ; Prepare info in temorary buffer.
     82        mov     si,offset bld_level_date_start
     83        mov     cx,offset bld_level_date_end
     84        sub     cx,si
     85        mov     di,offset Scratch
     86        cld
     87        rep     movsb
     88
     89        ; Fill spaces until assembler specification.
     90        mov     al,' '
     91        mov     cx,37
     92        rep     stosb
     93
     94        ; Copy assembler specification.
     95IFDEF   JWASM
     96        mov     al,'['
     97        stosb
     98        mov     si,offset jwasm_txt
     99ENDIF
     100IFDEF   TASM
     101        mov     al,' '
     102        stosb
     103        mov     al,'['
     104        stosb
     105        mov     si,offset tasm_txt
     106ENDIF
     107IFDEF   WASM
     108        mov     al,' '
     109        stosb
     110        mov     al,'['
     111        stosb
     112        mov     si,offset wasm_txt
     113ENDIF
     114IFDEF   MASM
     115        mov     al,' '
     116        stosb
     117        mov     al,'['
     118        stosb
     119        mov     si,offset masm_txt
     120ELSE
     121        mov     al,' '
     122        stosb
     123        mov     al,'['
     124        stosb
     125        mov     si,offset unknown_txt
     126ENDIF
     127    AuxIO_PrintBuildInfo_a1:
     128        lodsb
     129        test    al,al
     130        jz      AuxIO_PrintBuildInfo_e1
     131        stosb
     132        jmp     AuxIO_PrintBuildInfo_a1
     133    AuxIO_PrintBuildInfo_e1:
     134        mov     al,']'
     135        stosb
     136
     137        ; Insert NULL Terminator.
     138        xor     al,al
     139        stosb
     140
     141        ; Print Info.
     142        mov     si, offset Scratch
     143        call    AuxIO_Print
     144        call    AuxIO_TeletypeNL
     145        ret
     146AuxIO_PrintBuildInfo    EndP
     147
    73148
    74149; Print char to com-port (teletype style)
  • trunk/BOOTCODE/REGULAR/BOOTMENU.ASM

    r45 r46  
    6666
    6767   mov     dl, 18h
    68    cmp     CFG_BootMenuActive, 2
     68   cmp     byte ptr [CFG_BootMenuActive], 2
    6969   jne     BMBM_NoDetailed1
    7070   mov     dl, 15h
     
    8989   mov     si, offset TXT_TopInfos_Hd
    9090   add     cl, 5
    91    cmp     CFG_BootMenuActive, 2
     91   cmp     byte ptr [CFG_BootMenuActive], 2
    9292   jne     BMBM_NoDetailed2
    9393   mov     si, offset TXT_TopInfos_HdSize
     
    121121   push    cx
    122122      add     dl, 5
    123       cmp     CFG_BootMenuActive, 2
     123      cmp     byte ptr [CFG_BootMenuActive], 2
    124124      jne     BMBM_NoDetailed3
    125125      add     dl, 8
     
    159159      jb      BMBM_3rdTweak
    160160      add     cl, 5
    161       cmp     CFG_BootMenuActive, 2
     161      cmp     byte ptr [CFG_BootMenuActive], 2
    162162      jne     BMBM_BootWinTweakLoop
    163163      add     cl, 8
     
    446446   call    VideoIO_PrintByteNumber       ;  so only showing harddrives...
    447447   add     dh, 5
    448    cmp     CFG_BootMenuActive, 2
     448   cmp     byte ptr [CFG_BootMenuActive], 2
    449449   jne     BMBPT_NoDetailed
    450450      add     dh, 8
     
    548548   jae     BMBCB_NoScrollUp
    549549  BMBCB_ScrollingUp:
    550    dec     Menu_UpperPart
     550   dec     byte ptr [Menu_UpperPart]    ; Adjusted for Wasm
    551551   cmp     dh, Menu_UpperPart
    552552   jb      BMBCB_ScrollingUp
     
    560560  BMBCB_ScrollingDown:
    561561   inc     cl
    562    inc     Menu_UpperPart
     562   inc     byte ptr [Menu_UpperPart]    ; Adjusted for Wasm
    563563   cmp     dh, cl
    564564   jae     BMBCB_ScrollingDown
     
    696696        ; restlichen Variablen berechnen...
    697697        mov     dl, Menu_TotalParts
    698         cmp     Menu_TotalParts, 14
     698        cmp     byte ptr [Menu_TotalParts], 14
    699699        jbe     BMRMV_NotMoreThan14
    700700        mov     dl, 14
     
    704704        ; Now copy the name of the Timed-Booted Partition to TimedBoot-Field
    705705        mov     dl, Menu_EntryDefault
    706         test    CFG_TimedBootLast, 1
     706        test    byte ptr [CFG_TimedBootLast], 1
    707707        jz      BMRMV_TimedBootDefault
    708708        mov     dl, Menu_EntryLast
     
    726726        ; No Straight View in here...we got filtered view since BootMenu-Startup...
    727727        mov     al, CFG_RememberTimed
    728         test    TimedBootUsed, 1
     728        test    byte ptr [TimedBootUsed], 1
    729729        jnz     BMSVAM_TimedBootUsed
    730730        mov     al, CFG_RememberBoot
     
    762762        ; Finds out, where to place the bar at first...
    763763        mov     dl, Menu_EntryDefault
    764         test    CFG_RememberBoot, 1
     764        test    byte ptr [CFG_RememberBoot], 1
    765765        jnz     BME_RememberMode
    766         test    CFG_RememberTimed, 1
     766        test    byte ptr [CFG_RememberTimed], 1
    767767        jz      BME_ForgetMode
    768768    BME_RememberMode:
     
    785785        ;call    VideoIO_DBG_WriteString2    ; Rousseau
    786786
    787         test    TimedBootEnable, 1
     787        test    byte ptr [TimedBootEnable], 1
    788788        jz      BME_NoTimedBoot
    789789        ; ------------------------------------------------ TIMED BOOT
     
    805805        pop     ax
    806806        mov     dl, Menu_EntryDefault
    807         and     CFG_TimedBootLast, 1
     807        and     byte ptr [CFG_TimedBootLast], 1
    808808        jz      BME_TimedBootDefault
    809809        mov     dl, Menu_EntryLast
    810810    BME_TimedBootDefault:
    811811        mov     Menu_EntrySelected, dl        ; Just boot default partition
    812         mov     TimedBootUsed, 1           ; set flag...
     812        mov     byte ptr [TimedBootUsed], 1           ; set flag...
    813813        clc                                ; Boot-Now!
    814814        ret
     
    819819    BME_NoTimedBoot:
    820820        ; ------------------------------------------------ FLOPPY-NAME TIMER
    821         test    CFG_FloppyBootGetTimer, 1
     821        test    byte ptr [CFG_FloppyBootGetTimer], 1
    822822        jz      BME_NoFloppyNameTimer
    823823        ; Wait 2 Seconds everytime
     
    847847
    848848    BME_RefreshFloppyName:
    849         test    CFG_IncludeFloppy, 1
     849        test    byte ptr [CFG_IncludeFloppy], 1
    850850        jz      BME_NoRefreshFloppyName
    851         test    CFG_FloppyBootGetName, 1
     851        test    byte ptr [CFG_FloppyBootGetName], 1
    852852        jz      BME_NoRefreshFloppyName
    853853        call    DriveIO_UpdateFloppyName
     
    871871        je      BME_KeyESC
    872872        ; Upper Keys do not fall under Timed Boot Key Handling
    873         test    TimedBootEnable, 1
     873        test    byte ptr [TimedBootEnable], 1
    874874        je      BME_NoTimedKeyHandling
    875         cmp     CFG_TimedKeyHandling, 1
     875        cmp     byte ptr [CFG_TimedKeyHandling], 1
    876876        jb      BME_NoTimedKeyHandling     ; = 0
    877877        je      BME_ResetTimedBoot         ; = 1
    878878        mov     al, TimedBootEnable        ; = 2
    879879        xor     al, 1                      ; Flip Flop Switch :]
    880         mov     TimedBootEnable, al
     880        mov     [TimedBootEnable], al
    881881    BME_ResetTimedBoot:
    882882        push    dx
     
    905905    BME_KeyEnter:
    906906        mov     Menu_EntrySelected, dl
    907         mov     TimedBootUsed, 0              ; reset flag...
     907        mov     byte ptr [TimedBootUsed], 0              ; reset flag...
    908908        clc                                   ; Boot-Now!
    909909        ret
     
    911911    BME_KeyF10:
    912912        mov     al, Keys_Flags_EnterSetup
    913         mov     SETUP_KeysOnEntry, al         ; Simulate user wants to enter setup
     913        mov     byte ptr [SETUP_KeysOnEntry], al         ; Simulate user wants to enter setup
    914914        stc                                   ; Go Re-Enter Setup
    915915        ret
     
    921921
    922922    BME_KeyESC:
    923         mov     al, TimedBootEnable
     923        mov     al, [TimedBootEnable]
    924924        xor     al, 1                         ; Flip Flop Switch :]
    925         mov     TimedBootEnable, al
     925        mov     [TimedBootEnable], al
    926926        push    dx
    927927        call    BOOTMENU_ResetTimedBoot     ; Reset Timer
     
    932932    BME_KeyTAB:
    933933        push    dx
    934         test    CFG_CooperBars, 1
     934        test    byte ptr [CFG_CooperBars], 1
    935935        jnz     BME_KeyTAB_ShowFX
    936936        mov     ax, 0501h                  ; Go To Page 1 -> BIOS POST crap
     
    969969        add     ax, CFG_TimedDelay
    970970        adc     dx, 0
    971         mov     wptr [TimedTimeOut], ax
    972         mov     wptr [TimedTimeOut+2], dx
     971        mov     word ptr [TimedTimeOut], ax
     972        mov     word ptr [TimedTimeOut+2], dx
    973973        ret
    974974BOOTMENU_ResetTimedBoot     EndP
  • trunk/BOOTCODE/REGULAR/CONV.ASM

    r44 r46  
    209209        mov     cl,ah       ; Get remainder in CL.
    210210        sub     cl,dh       ; Substract bitfield width to get shift-count.
    211         mov     ah,0        ; Prepare upper=0 when field snaps no byte bound.
     211        mov     ah,0        ; Prepare upper=0 when field spans no byte bound.
     212                            ; Don't change to xor ah,ah or any CY will be lost.
    212213
    213214        ; Jump if the bitfield does not span byte boundaries.
     
    219220        add     cl,8        ; Adjust shift-count.
    220221        mov     ah,[bx]     ; Get byte into AH instead.
    221         dec     bx          ; Prepare pointer to load rest of bitfield.
     222        dec     bx          ; Adjust pointer to load rest of bitfield.
     223
    222224    CONV_GetBitfieldValue_nospan:
    223225        mov     al,[bx]     ; Load (rest of) bitfield into AL.
     
    267269        sub     cl,dh       ; Substract bitfield width to get shift-count.
    268270
    269         ; Restore value.
     271        ; Restore value to poke.
    270272        pop     ax
    271273
     
    282284        push    cx          ; Save mask (CH) and shift-count (CL).
    283285        push    ax          ; Save value to store.
    284         mov     ah,0        ; Clear upper byte so we can shift in it.
     286        xor     ah,ah       ; Clear upper byte so we can shift in it.
    285287        and     al,ch       ; Mask value.
    286288        shl     ax,cl       ; Move the bitfield to the proper location.
     
    289291        mov     dl,[bx]     ; Get 2nd part of bitfield from array.
    290292        push    bx          ; We need BX so save it.
    291         mov     bh,0        ; Clear upper byte so we can shift in it.
     293        xor     bh,bh       ; Clear upper byte so we can shift in it.
    292294        mov     bl,ch       ; Put mask in BL.
    293295        shl     bx,cl       ; Shift mask to proper location.
     
    304306        ; Done.
    305307        jmp     CONV_SetBitfieldValue_end
    306 
    307308
    308309    CONV_SetBitfieldValue_nospan:
  • trunk/BOOTCODE/REGULAR/DEBUG.ASM

    r45 r46  
    175175        call    AuxIO_Print
    176176
    177         ; Build Date
    178         mov     si, offset BUILD_DATE
    179         call    AuxIO_Print
     177        ; Build Info
     178        ;~ mov     si, offset BUILD_DATE
     179        ;~ call    AuxIO_Print
     180        call    AuxIO_PrintBuildInfo
    180181
    181182        ; Start new line
  • trunk/BOOTCODE/REGULAR/DRIVEIO.ASM

    r43 r46  
    311311
    312312      ;or       bx,ax
    313       test     [ExtendedAbsPosSet],1
     313      test     byte ptr [ExtendedAbsPosSet],1
    314314      jz       pri
    315315
     
    561561; Keeps DS:SI for caller, sets carry if valid LVM sector encountered
    562562DriveIO_LoadLVMSector   Proc Near  Uses ax bx cx dx
    563         test    [CFG_IgnoreLVM], 1            ; We are supposed to ignore LVM, so
     563        test    byte ptr [CFG_IgnoreLVM], 1            ; We are supposed to ignore LVM, so
    564564        jnz     DIOLLVMS_NoLVMSector          ;  don't load but declare as bad!
    565565        mov     ax, wptr cs:[CurPartition_Location+0]
     
    605605; Keeps DS:SI for caller, saves at anytime w/o checks (!)
    606606DriveIO_SaveLVMSector   Proc Near  Uses ax bx cx dx
    607         test    [CFG_IgnoreLVM], 1            ; We are supposed to ignore LVM, so
     607        test    byte ptr [CFG_IgnoreLVM], 1            ; We are supposed to ignore LVM, so
    608608        jnz     DIOSLVMS_SevereError          ;  don't save at anytime (security!)
    609609        mov     ax, wptr cs:[CurPartition_Location+0]
     
    633633;  so users will notice that something is bad with their partition table(s)
    634634DriveIO_GotLoadError    Proc Near
    635         test    cs:CurIO_Scanning, 1          ; Must be CS:, cause DS!=CS maybe here
     635        test    byte ptr cs:[CurIO_Scanning], 1          ; Must be CS:, cause DS!=CS maybe here
    636636        jnz     InScanMode
    637637        jmp     MBR_LoadError
     
    671671        jb      DIOLS_UseNormal
    672672
    673         test    cs:[CurIO_UseExtension], 1
     673        test    byte ptr cs:[CurIO_UseExtension], 1
    674674        jz      DIOLS_UseNormal
    675675        ; Are we forced do use LBA via Setting?
     
    794794; #########################################################################
    795795DriveIO_SaveSector              Proc Near  Uses ax bx cx ds si es di
    796         test    cs:[CurIO_UseExtension], 1
     796        test    byte ptr cs:[CurIO_UseExtension], 1
    797797        jz      DIOSS_UseNormal
    798798        ; Are we forced do use LBA via Setting?
    799         test    cs:[CFG_ForceLBAUsage], 1
     799        test    byte ptr cs:[CFG_ForceLBAUsage], 1
    800800        jnz     DIOSS_UseExtension
    801801        ; Is the drive not a harddrive?
     
    12301230        pop     bx
    12311231
    1232         mov      [CurIO_UseExtension],1
     1232        mov      byte ptr [CurIO_UseExtension],1
    12331233
    12341234        popf
  • trunk/BOOTCODE/REGULAR/OTHER.ASM

    r43 r46  
    9393        rep     stosw
    9494
    95         mov     VideoIO_Segment, VideoIO_Page0
     95        mov     word ptr [VideoIO_Segment], VideoIO_Page0
    9696
    9797        ; Don't use blinking attribute
     
    106106
    107107        ; Cursor to upper-left
    108         mov     TextPosX, 0
    109         mov     TextPosY, 0
     108        mov     byte ptr [TextPosX], 0
     109        mov     byte ptr [TextPosY], 0
    110110        call    VideoIO_CursorSet
    111111
     
    122122        ;call    SOUND_Beep
    123123
    124         ; Build Date
    125         mov     si, offset BUILD_DATE
    126         call    MBR_TeletypeNL
     124        ; Show build info
     125        call    VideoIO_PrintBuildInfo
    127126
    128127    IFDEF   AUX_DEBUG
     
    305304        ; Checks for MBR Virii :) I love that job
    306305        ; =======================================
    307         test    CFG_DetectStealth, 1
     306        test    byte ptr [CFG_DetectStealth], 1
    308307        jz      PCM_NoStealthDetection
    309308        call    VIRUS_CheckForStealth
    310309    PCM_NoStealthDetection:
    311         test    CFG_DetectVirus, 1
     310        test    byte ptr [CFG_DetectVirus], 1
    312311        jz      PCM_NoVirusDetection
    313312        call    VIRUS_CheckForVirus
     
    318317        ;  Delay for some time and get Strg/Alt State
    319318        ; ============================================
    320         test    CFG_CooperBars, 1
     319        test    byte ptr [CFG_CooperBars], 1
    321320        jnz     PCM_ShortDelay
    322321        mov     al, 27                        ; About 1.5 seconds
    323         test    CFG_FloppyBootGetName, 1
     322        test    byte ptr [CFG_FloppyBootGetName], 1
    324323        jz      PCM_LongDelay
    325324    PCM_ShortDelay:
     
    345344        mov     ah, 02h
    346345        int     16h
    347         mov     SETUP_KeysOnEntry, al
     346        mov     [SETUP_KeysOnEntry], al
    348347
    349348        ; Copy device-name to the ContBIOSbootSeq-IPT entry
     
    358357        ;  Now get volume label of FloppyDrive, if wanted...
    359358        ; ===================================================
    360         test    CFG_FloppyBootGetName, 1
     359        test    byte ptr [CFG_FloppyBootGetName], 1
    361360        jz      ACM_NoFloppyGetName
    362361        call    DriveIO_UpdateFloppyName
     
    381380        and     cx, 1
    382381        jz      PCCF13E_NotFound
    383         mov     CurIO_UseExtension, 1
     382        mov     byte ptr [CurIO_UseExtension], 1
    384383        ret
    385384PRECRAP_CheckFor13extensions    EndP
     
    406405        mov      cx,5
    407406
    408         mov     dx, CFG_CheckConfig
    409         mov     CFG_CheckConfig, bx
     407        mov     dx, [CFG_CheckConfig]
     408        mov     [CFG_CheckConfig], bx
    410409    PCCC_Loop:
    411410        call    MBR_GetCheckOfSector
     
    495494        mov     bh, 0
    496495        mov     ah, 02h
    497         mov     dh,[TextPosY]
    498         mov     dl,[TextPosX]
     496        mov     dh,byte ptr [TextPosY]
     497        mov     dl,byte ptr [TextPosX]
    499498        int     10h
    500499        popf
  • trunk/BOOTCODE/REGULAR/PARTMAIN.ASM

    r45 r46  
    8181   cmp     dl, 0FEh                      ; Resume-BIOS?
    8282   ja      PFUPN_SpecialSelectionFloppy
    83    cmp     CFG_ResumeBIOSbootSeq, 0
     83   cmp     byte ptr [CFG_ResumeBIOSbootSeq], 0
    8484   je      PFUPN_SelectionGone
    8585   jmp     PFUPN_Found
    8686  PFUPN_SpecialSelectionFloppy:
    87    cmp     CFG_IncludeFloppy, 0
     87   cmp     byte ptr [CFG_IncludeFloppy], 0
    8888   je      PFUPN_SelectionGone
    8989   jmp     PFUPN_Found
     
    192192   mov     si, offset PartitionTable
    193193   mov     bx, offset PartitionPointers
    194    test    CFG_IncludeFloppy, 1
     194   test    byte ptr [CFG_IncludeFloppy], 1
    195195   jz      PCMPP_NoFloppyInclude
    196196   mov     ax, offset FloppyIPTentry
     
    199199  PCMPP_NoFloppyInclude:
    200200
    201    test    CFG_ResumeBIOSbootSeq, 0FFh
     201   test    byte ptr [CFG_ResumeBIOSbootSeq], 0FFh
    202202   jz      PCMPP_NoResumeBootSeqInclude
    203203   mov     ax, offset BIOScontIPTentry
     
    920920   ; BX:AX -> Absolute End-Position of Partition
    921921
    922    test    CFG_ForceLBAUsage, 1
     922   test    byte ptr [CFG_ForceLBAUsage], 1
    923923   jnz     PSP_ForceI13X
    924924   ; LBA-boundary at 16450560 (FB0400h) (16320x16x63)
     
    942942        ; Insert signature
    943943        xor     di, di
    944         mov     wptr es:[di+00], '1I'
    945         mov     wptr es:[di+02], 'X3'
     944        mov     word ptr es:[di+00], '1I'
     945        mov     word ptr es:[di+02], 'X3'
    946946
    947947        ;mov     wptr es:[di], 0
     
    949949
    950950        ; Insert LBA address.
    951         mov     ax, wptr [si+LocIPT_AbsoluteBegin+0]
    952         mov     wptr es:[di+04], ax
    953         mov     ax, wptr [si+LocIPT_AbsoluteBegin+2]
    954         mov     wptr es:[di+06], ax
     951        mov     ax, [si+LocIPT_AbsoluteBegin+0]
     952        mov     es:[di+04], ax
     953        mov     ax, [si+LocIPT_AbsoluteBegin+2]
     954        mov     es:[di+06], ax
    955955
    956956        pop     si
     
    10301030  PSP_NoHideFeature:
    10311031   ; Check, if we are supposed to ignore LVM altogether...
    1032    test    [CFG_IgnoreLVM], 1
     1032   test    byte ptr [CFG_IgnoreLVM], 1
    10331033   jnz     PSP_NoLVMReassignment
    10341034   ; --------------------------------------------------------- LVM REASSIGNMENT
     
    10561056   call    MSHACK_ProcessPartTables
    10571057
    1058    test    CFG_BootMenuActive, 0FFh
     1058   test    byte ptr [CFG_BootMenuActive], 0FFh
    10591059   jz      PSP_NoMenuNoSound
    10601060
     
    10651065   ; -------------------------------------------------- SPECIAL BOOT PROCESSING
    10661066   ; Check here, if the Boot shall be done via resume to BIOS...
    1067    mov     al, bptr [si+LocIPT_SystemID]
     1067   mov     al, byte ptr [si+LocIPT_SystemID]
    10681068   cmp     al, 0FEh                      ; Via BIOS ? (aka resume BIOS boot sequence)
    10691069   je      PSP_ResumeBIOSbootSeq
     
    11411141  is_harddisk:
    11421142
    1143    test    CFG_DetectVIBR, 1
     1143   test    byte ptr [CFG_DetectVIBR], 1
    11441144   jz      PSP_NoVIBR
    11451145   test    byte ptr [si+LocIPT_Flags], Flags_VIBR_Detection
     
    11661166
    11671167 PSP_NoVIBR:
    1168    test    CFG_ProtectMBR, 1
     1168   test    byte ptr [CFG_ProtectMBR], 1
    11691169   jz      PSP_NoMBRprotect
    11701170   ; -------------------------------------------------- INSTALLS MBR-PROTECTION
  • trunk/BOOTCODE/REGULAR/PARTSCAN.ASM

    r45 r46  
    3636        mov     NewPartitions, al
    3737
    38         mov     CurIO_Scanning, 1             ; Set flag due scanning partitions
     38        mov     byte ptr [CurIO_Scanning], 1             ; Set flag due scanning partitions
    3939        mov     dl, 80h                       ; is first harddisc
    4040    PSSFP_HarddiscLoop:
     
    4646        dec     dh
    4747        jnz     PSSFP_HarddiscLoop
    48         mov     CurIO_Scanning, 0             ; Reset flag due scanning complete
     48        mov     byte ptr [CurIO_Scanning], 0             ; Reset flag due scanning complete
    4949
    5050IFDEF   AUX_DEBUG
     
    124124        inc     di
    125125        loop    PSSFP_AutoDrvLetterLoop
    126         mov     AutoDrvLetter, 0              ; Disable after processing...
     126        mov     byte ptr [AutoDrvLetter], 0              ; Disable after processing...
    127127    PSSFP_NoAutoDriveLetter:
    128128        ret
     
    176176            add     ax, wptr [ExtendedAbsPos+0] ; Adjust...
    177177            adc     bx, wptr [ExtendedAbsPos+2] ; (Shit Design!)
    178             test    [ExtendedAbsPosSet], 1
     178            test    byte ptr [ExtendedAbsPosSet], 1
    179179            jnz     PSSPFE_ExtendedMainKnown
    180180            mov     wptr [ExtendedAbsPos+0], ax
    181181            mov     wptr [ExtendedAbsPos+2], bx
    182             mov     [ExtendedAbsPosSet], 1
     182            mov     byte ptr [ExtendedAbsPosSet], 1
    183183        PSSPFE_ExtendedMainKnown:
    184184            mov     cx, wptr [si+LocBRPT_BeginSector] ; Cylinder/Sector
     
    212212        ; Stop scanning if too many partitions.
    213213        ;
    214         cmp     word ptr [cs:NewPartitions],LocIPT_MaxPartitions
     214        cmp     word ptr cs:[NewPartitions],LocIPT_MaxPartitions
    215215        jae     skip_check
    216216        call    PARTSCAN_CheckThisPartition
     
    219219        ; Cannot boot LVM-Data partitions
    220220        pusha
    221         mov     byte ptr [cs:TooManyPartitions],1
     221        mov     byte ptr cs:[TooManyPartitions],1
    222222        mov     cx, 0C04h
    223223        ;~ mov     si, offset TXT_ERROR_TooManyPartitions
     
    630630        mov     al, PartTypeFlags
    631631        ; May I auto-add partitions ?
    632         test    CFG_PartitionsDetect, 1
     632        test    byte ptr [CFG_PartitionsDetect], 1
    633633        jz      PCCTP_MayNotAddAny ; add, but non-bootable
    634634        test    al, FileSysFlags_BootAble     ; AH kam von SearchFileSysName
     
    710710        mov     ax, dx
    711711        stosw
    712         inc     NewPartitions                ; NEW IPT Entry DONE
    713 
    714         cmp     NewPartitions, LocIPT_MaxPartitions
     712        inc     byte ptr [NewPartitions]; Adjusted for Wasm ; NEW IPT Entry DONE
     713
     714        cmp     byte ptr [NewPartitions], LocIPT_MaxPartitions
    715715        jbe     PCCTP_NotTooManyPartitions
    716716
  • trunk/BOOTCODE/REGULAR/PASSWORD.ASM

    r40 r46  
    3131PASSWORD_AskSystemPwd           Proc Near   Uses ax bx si di
    3232   ; Asks System Password, if set...
    33    test    CFG_PasswordSystem, 1
     33   test    byte ptr [CFG_PasswordSystem], 1
    3434   jz      PASP_NoPassword
    3535      mov     ax, 0ABABh
     
    4343PASSWORD_AskChangeBootPwd       Proc Near   Uses ax bx si di
    4444   ; Asks System Password, if set...
    45    test    CFG_PasswordChangeBoot, 1
     45   test    byte ptr [CFG_PasswordChangeBoot], 1
    4646   jz      PACBP_NoPassword
    47    test    TimedBootUsed, 1
     47   test    byte ptr [TimedBootUsed], 1
    4848   jnz     PACBP_NoPassword
    4949      mov     ax, 0ABABh
     
    7070PASSWORD_AskSpecifiedPassword   Proc Near   Uses cx dx ds si es di bp
    7171   local AskPasswordMiss:byte, AskPasswordText:word, AskPasswordMagic:word, AskPasswordWhich:word
    72    mov     AskPasswordMagic, ax
    73    mov     AskPasswordText, si
    74    mov     AskPasswordWhich, di
     72   mov     [AskPasswordMagic], ax
     73   mov     [AskPasswordText], si
     74   mov     [AskPasswordWhich], di
    7575   mov     ax, cs
    7676   mov     ds, ax
     
    8080   mov     cx, 8
    8181   rep     stosb                         ; Generates empty password
    82    mov     AskPasswordMiss, 0
    83    mov     ax, AskPasswordWhich
     82   mov     byte ptr [AskPasswordMiss], 0
     83   mov     ax, [AskPasswordWhich]
    8484   or      ax, ax
    8585   jnz     PASP_BadBoyRetry              ; Only check one
     
    106106
    107107      ; ...and compare it to the specified on-board one
    108       mov     di, AskPasswordWhich
     108      mov     di, [AskPasswordWhich]
    109109      or      di, di
    110110      jnz     PASP_OnlyCheckSpecified
     
    122122
    123123     PASP_LetUserGuessPassword:          ; ;-)))
    124       mov     ax, AskPasswordMagic
    125       mov     si, AskPasswordText
     124      mov     ax, [AskPasswordMagic]
     125      mov     si, [AskPasswordText]
    126126      mov     di, offset TempPasswordEntry
    127127      call    SETUP_LetEnterPassword
    128    inc     AskPasswordMiss
    129    cmp     AskPasswordMiss, 10
     128   inc     byte ptr [AskPasswordMiss]
     129   cmp     byte ptr [AskPasswordMiss], 10
    130130   jae     PASP_BadBoyAlert
    131131   jmp     PASP_BadBoyRetry
  • trunk/BOOTCODE/REGULAR/STD_TEXT.ASM

    r45 r46  
    2525
    2626; If you modify this Copyright and release this under your own name,
    27 ;  I'm going to sue your cheap ass, rape your dog and blow up your house. =)
     27; I'm going to sue your cheap ass, rape your dog and blow up your house. =)
    2828
    2929CopyrightVersionLen   equ   6
     
    4242;Copyright             db ' AiR-BOOT v1.0.8 - (c) 2012 M. Kiewitz  <<Release Candidate 1>> (bld: 20120124)', 0
    4343;Copyright             db ' AiR-BOOT v1.0.8 - (c) 2012 M. Kiewitz  <<Release Candidate 2>> (bld: 20120224)', 0
    44 Copyright             db ' AiR-BOOT v1.0.8 - (c) 2012 M. Kiewitz  <<Internal Release 2l>> (bld: 20120224)', 0
     44
     45
     46;~ Copyright             db ' AiR-BOOT v',BLDLVL_MAJOR_VERSION,'.',BLDLVL_MIDDLE_VERSION,'.',BLDLVL_MINOR_VERSION,' - (c) ',BLDLVL_YEAR,' M. Kiewitz  <<Internal Release 2l>> (bld: ',BLDLVL_YEAR,BLDLVL_MONTH,BLDLVL_DAY,')', 0
     47
     48;
     49; Masm found the above to be too complex, so we broke it up.
     50;
     51Copyright:
     52             db ' AiR-BOOT v'
     53             db BLDLVL_MAJOR_VERSION,'.'
     54             db BLDLVL_MIDDLE_VERSION,'.'
     55             db BLDLVL_MINOR_VERSION,' - (c) '
     56             db BLDLVL_YEAR
     57             db ' M. Kiewitz  <<Internal Release 2p>> (bld: '
     58             db BLDLVL_YEAR
     59             db BLDLVL_MONTH
     60             db BLDLVL_DAY,')'
     61             db 0
     62
     63
    4564;Copyright             db ' AiR-BOOT v1.0.8 - (c) 1998-2012 M. Kiewitz, Dedicated to Gerd Kiewitz', 0
    4665
     
    6887                            db 'Contact via e-mail: ', 0, 'airboot@ecomstation.com', 0
    6988
     89; Build Information string.
     90build_info          db  'Build Date: ',0
     91jwasm_txt           db  'JWasm',0
     92masm_txt            db  'Masm',0
     93wasm_txt            db  'Wasm',0
     94tasm_txt            db  'Tasm',0
     95unknown_txt         db  '????',0
     96
    7097ContinueBIOSbootTable dw offset TXT_SETUP_MAGIC_CDROM
    7198                      dw offset TXT_SETUP_MAGIC_Network
  • trunk/BOOTCODE/REGULAR/VIDEOIO.ASM

    r40 r46  
    650650VideoIO_SyncPos                 EndP
    651651
    652 
     652;
     653; Put the Build Information at the POST BIOS screen.
     654;
     655VideoIO_PrintBuildInfo  Proc    Near    Uses ax cx si di
     656        ; Print header.
     657        mov     si, offset build_info
     658        call    MBR_Teletype
     659
     660        ; Prepare info in temorary buffer.
     661        mov     si,offset bld_level_date_start
     662        mov     cx,offset bld_level_date_end
     663        sub     cx,si
     664        mov     di,offset Scratch
     665        cld
     666        rep     movsb
     667
     668        ; Fill spaces until assembler specification.
     669        mov     al,' '
     670        mov     cx,37
     671        rep     stosb
     672
     673        ; Copy assembler specification.
     674IFDEF       JWASM
     675        mov     al,'['
     676        stosb
     677        mov     si,offset jwasm_txt
     678ELSEIFDEF   TASM
     679        mov     al,' '
     680        stosb
     681        mov     al,'['
     682        stosb
     683        mov     si,offset tasm_txt
     684
     685ELSEIFDEF   WASM
     686        mov     al,' '
     687        stosb
     688        mov     al,'['
     689        stosb
     690        mov     si,offset wasm_txt
     691ELSEIFDEF   MASM
     692        mov     al,' '
     693        stosb
     694        mov     al,'['
     695        stosb
     696        mov     si,offset masm_txt
     697ELSE
     698        mov     al,' '
     699        stosb
     700        mov     al,'['
     701        stosb
     702        mov     si,offset unknown_txt
     703ENDIF
     704    VideoIO_PrintBuildInfo_a1:
     705        lodsb
     706        test    al,al
     707        jz      VideoIO_PrintBuildInfo_e1
     708        stosb
     709        jmp     VideoIO_PrintBuildInfo_a1
     710    VideoIO_PrintBuildInfo_e1:
     711        mov     al,']'
     712        stosb
     713
     714        ; Insert NULL Terminator.
     715        xor     al,al
     716        stosb
     717
     718        ; Print Info.
     719        mov     si, offset Scratch
     720        call    MBR_TeletypeNL
     721        ret
     722VideoIO_PrintBuildInfo  EndP
    653723
    654724;VideoIO_DBG_WriteString         Proc Near   Uses ax bx cx dx si es di
Note: See TracChangeset for help on using the changeset viewer.