Changeset 51 for trunk/BOOTCODE/SETUP


Ignore:
Timestamp:
Apr 13, 2014, 3:50:38 PM (12 years ago)
Author:
Ben Rietbroek
Message:

AiR-BOOT v1.0.8-rc3 build-20120909 [2012-09-10]

With Git one can easily hop-skip-and-jump between branches.
So I use Git for my local repos and make use of this easy branching.
Because SVN can only handle lineair history, these branches had to be
rebased before committing them to Netlabs. So, this commit contains a
multitude of changes which makes it a bit hairy.

New

o Display LVM drive-letters in the main menu

A populair request was to show drive-letter information in the menu.
Drive-letters however, are OS specific and AiR-BOOT cannot
accurately predict what drive-letter other operating systems would
assign to what partition. eCS LVM drive-letters however are stored
in the LVM-record and can thus be displayed.

o Added 'Show LVM Drive Letters' option in SETUP/BASIC

This will toggle the display of LVM drive-letters in the main menu.
By default this option is enabled.

o Show popup message when BIOS INT13X extensions are not available

The system is halted.

o Show 'DEL to Power Off' in the bottom left corner

This tries to power-off the system, but it may not work for you.

o Simple interactive debugger

Outputs to the serial port with a few one-letter commands to dump
internal tables and state. (Only available in debug builds)

o Enhanced drive-letter feature

Enable multiple eCS installations using the same drive-letter.
This makes it possible to clone a system with the command
'XCOPY /h /o /t /s /e /r /v /e' to another drive and have that boot
from the same drive-letter.
(Or installing to the same drive by hiding the other system)

Changes

o Reduced MBR protection-image from 1024 to 768 bytes

Luckily the MBR Protection Image code does not exceed 768 bytes,
so that gives us another 256 bytes of precious code-space.
Now the non-EN versions are happy again.
Note that the alignment for the image changed from 512 to 256 bytes.
MBR-PROT.ASM, FIXCODE.C, PARTMAIN.ASM and AIR-BOOT.ASM have been
adjusted for this change.
The fight for code-space continues...

o Updating from v1.06 now also copies over drive-letters

When the user has forced drive-letters in v1.06 these will be copied
over to the v1.0.8 configuration when upgrading.
Because the drive-letter feature is broken in v1.07,
the drive-letter table does not get copied over when upgrading
from v1.07.

o Made FX-code optional to compile in

The FX-code supplies the shifting screen-effects when 'Cooper Bars'
is enabled in the setup. With the current enhancements made however,
there is a continuous lack of code-space, especially when debug-code
is included during development. The FX-code occupies some
1200 bytes, a space that can be put to better use. Therefore the
inclusion of the FX-code has been made conditional to make room for
either debugging or future new features.

o Also rewrite PBR on HPFS

Earlier, a fix was made to write a modified PBR back in case JFS was
used. This was done to enable the drive-letter feature on JFS, since
the PBR JFS-bootcode does not use the supplied PBR in memory.
With the enhancements in the drive-letter feature, the HPFS PBR
needs to be updated on disk also, to cope with zero drive-letters in
the HPFS PBR. This potentially fixes a missing drive-letter in the
PBR when the system is restored from an archive. You might need the
drive-letter feature to force the correct drive-letter on the first
boot, after which the feature can be disabled.

o Added extra MBR protection

When AiR-BOOT is active, it is only AiR-BOOT that writes to the MBR.
To protect the MBR from programming errors, like the one below,
any write to the MBR is now checked for validity.
In essence this is protecting your MBR from bad programming done
by me...

Fixes

o Fixed a minor bug with displaying LVM drive-letters

When more partitions that can be displayed were present, scrolling
the menu would not scroll the drive-letter. Fixed.

o Fixed a bug with regard to the drive-letter feature

When partitions were deleted, and some partitions above the deleted
partition(s) had a drive-letter forced, these partitions would lose
this assignment. This bug is also present in v1.06.

Note

The AIRBOOT.HIS file mentions a DOCU directory with the AiR-BOOT
documentation etc. However, this is not present in this commit and
will be provided at a later time.

Location:
trunk/BOOTCODE/SETUP
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/BOOTCODE/SETUP/MAIN.ASM

    r46 r51  
    2020;---------------------------------------------------------------------------
    2121
    22 IFDEF ModuleNames
     22IFDEF   MODULE_NAMES
    2323DB 'MAIN',0
    2424ENDIF
     
    7171SETUP_CheckEnterSETUP           Proc Near
    7272
    73 
    74 
    7573   ; Rousseau: added
    7674   ;mov     SETUP_ExitEvent, 0
     
    108106   call    PART_CalculateStraightPartPointers
    109107
    110    call    FX_StartScreen                 ; Start of new screen...
     108    IFDEF   FX_ENABLED
     109        call    FX_StartScreen                 ; Start of new screen...
     110    ENDIF
     111
    111112   call    SETUP_DrawMenuBase
    112113   mov     bp, offset SETUP_MainMenu
     
    131132   cmp     ax, offset TXT_SETUPHELP_Main ; ask only in main-menu...
    132133   jne     SMT_NotMainMenu
    133    call    FX_EndScreenLeft              ; Do FX, if requested...
     134
     135    IFDEF   FX_ENABLED
     136        call    FX_EndScreenLeft              ; Do FX, if requested...
     137    ENDIF
     138
    134139   test    byte ptr [CFG_PasswordSetup], 1
    135140   jz      SMT_NotMainMenu
     
    147152         int     16h
    148153      pop     dx
     154
     155;!
     156;! DEBUG_PROBE
     157;!
     158IFDEF   AUX_DEBUGx
     159    push    1234h
     160    call    DEBUG_Probe
     161    call    DEBUG_DumpIPT
     162    call    DEBUG_DumpRegisters
     163ENDIF
     164
     165
     166
    149167      cmp     ah, Keys_Up
    150168      je      SMT_KeyUp
     
    280298
    281299  SMT_SaveAndExitNOW:                    ; Direct HackIn
     300
     301;!
     302;! DEBUG_PROBE
     303;!
     304IFDEF   AUX_DEBUGx
     305    push    1235h
     306    call    DEBUG_Probe
     307ENDIF
     308
    282309   mov     ax, offset SETUP_EnterMenu_SaveAndExitSetup
    283310   jmp     SMT_DirectExecute
    284311
    285312  SMT_ExitWithoutSaving:                 ; Direct HackIn
     313;!
     314;! DEBUG_PROBE
     315;!
     316IFDEF   AUX_DEBUGx
     317    push    1236h
     318    call    DEBUG_Probe
     319ENDIF
     320
    286321   mov     ax, offset SETUP_EnterMenu_ExitWithoutSaving
    287322   jmp     SMT_DirectExecute
     
    389424   call    VideoIO_Print                 ; ...and print it.
    390425  SDIOS_Name_NoItemName:
    391    mov     wptr TextColorFore, dx
     426   mov     word ptr [TextColorFore], dx
    392427   ret
    393428
     
    586621   call    VideoIO_Color
    587622   call    VideoIO_Print                 ; white - 'contact via e-mail'...
    588    mov     cx, 0800h
     623   mov     cx, 0700h
    589624   call    VideoIO_Color
    590625   call    VideoIO_Print                 ; and finally the e-mail adress
     
    11511186SETUPMAGIC_InternalCopyTillNUL  Proc Near Uses ax cx
    11521187  SMICTN_Loop:
     1188
     1189    ;!
     1190    ;! DEBUG_PROBE
     1191    ;!
     1192    IFDEF   AUX_DEBUGx
     1193        push    1239h
     1194        call    DEBUG_Probe
     1195        call    DEBUG_DumpRegisters
     1196        call    DEBUG_DumpIPT
     1197    ENDIF
     1198
    11531199      lodsb
    11541200      stosb
     
    11731219; Cur Value in DL, Maximum Value in DH. Add/Sub in CL
    11741220SETUPMAGIC_InternalCheckUp      Proc Near
     1221;!
     1222;! DEBUG_PROBE
     1223;!
     1224IFDEF   AUX_DEBUGx
     1225    push    1238h
     1226    call    DEBUG_Probe
     1227    call    DEBUG_DumpRegisters
     1228ENDIF
     1229
    11751230   or      cl, cl                        ; CL==0?    -> Decrease
    11761231   jz      SMICU_Substract               ; otherwise -> Increase
     
    15791634
    15801635SETUPMAGIC_ChangeBIOSbootSeq    Proc Near   Uses ax bx cx dx si di
     1636;!
     1637;! DEBUG_PROBE
     1638;!
     1639IFDEF   AUX_DEBUGx
     1640    push    1237h
     1641    call    DEBUG_Probe
     1642    call    DEBUG_DumpRegisters
     1643ENDIF
     1644
    15811645   mov     di, si
    15821646   mov     dl, ds:[bx]                   ; Cur Timed-Key-Handling
     
    16021666
    16031667   shl     bx, 1
    1604    mov     si, wptr [ContinueBIOSbootTable+bx]
     1668   mov     si, word ptr [ContinueBIOSbootTable+bx]
    16051669  SMCBBS_CopyThiz:
    16061670   add     di, LocMENU_ItemPack          ; DI points to ItemPack...
  • trunk/BOOTCODE/SETUP/MENUS.ASM

    r50 r51  
    5555;
    5656
    57 IFDEF ModuleNames
     57IFDEF   MODULE_NAMES
    5858DB 'MENUS',0
    5959ENDIF
     
    8585                dw      offset SETUP_EnterMenu_ExtendedOptions, 0
    8686                dw      offset TXT_SETUP_ExtOptions, offset TXT_SETUPHELP_ExtOptions
     87
    8788                ; The Menu-Items of the right side start here...
    8889                dw      offset SETUP_EnterMenu_DefineMasterPassword, 0
     
    132133                dw      offset TXT_SETUP_IncludeFloppy, offset TXT_SETUPHELP_IncludeFloppy
    133134                dw      6 dup (0)
    134                 dw      0, 0
    135                 dw      0, 0
     135
     136                ; Show LVM Drive Letters or not
     137                dw      offset SETUPMAGIC_EnableDisable, offset CFG_MiscFlags
     138                dw      offset TXT_SETUP_ShowLVMDriveLetters, offset TXT_SETUPHELP_ShowLVMDriveLetters
     139                dw      6 dup (0)
     140
     141                ;~ dw      0, 0
     142                ;~ dw      0, 0
     143
     144
    136145                dw      offset SETUPMAGIC_EnableDisable, offset CFG_ProtectMBR
    137146                dw      offset TXT_SETUP_MbrProtection, offset TXT_SETUPHELP_MbrProtection
  • trunk/BOOTCODE/SETUP/PART_SET.ASM

    r49 r51  
    2020;---------------------------------------------------------------------------
    2121
    22 IFDEF ModuleNames
     22IFDEF   MODULE_NAMES
    2323DB 'PART_SET',0
    2424ENDIF
     
    4141         int     16h
    4242      pop     dx
     43
     44        ;
     45        ; INSERT DEBUG KEYHANDLER HERE ?
     46        ;
     47
    4348      cmp     ah, Keys_Up
    4449      je      PSM_KeyUp
     
    143148   mov     [si+LocIPT_Flags], al
    144149   xor     ax, ax
    145    mov     wptr [si+LocIPT_BootRecordCRC], ax
     150   mov     word ptr [si+LocIPT_BootRecordCRC], ax
    146151   call    PARTSETUP_DrawPartitionInfo
    147152   call    PARTSETUP_BuildChoiceBar
Note: See TracChangeset for help on using the changeset viewer.