Changeset 181 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS_Configurator_v2/Src


Ignore:
Timestamp:
Nov 13, 2011, 3:38:40 PM (13 years ago)
Author:
krille_n_@…
google:author:
krille_n_@hotmail.com
Message:

Changes to all parts of the project:

  • Size optimizations.
  • Added a define (EXCLUDE_FROM_XTIDECFG) to exclude unused library code from XTIDECFG.
  • Tried to minimize time spent with interrupts disabled.
  • Some minor attempts to improve speed (reordering instructions etc).
  • Tried to improve readability, did some cleanup and fixed some errors in comments.
Location:
trunk/XTIDE_Universal_BIOS_Configurator_v2/Src
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/BiosFile.asm

    r138 r181  
    9292    call    Registers_ExchangeDSSIwithESDI
    9393    call    FileIO_ReadDXCXbytesToDSSIusingHandleFromBX
    94     jnc     SHORT .StoreFileNameToCfgvarsFromESDI
    95 
    96     pop     es
    97     ret
    98 
    99 ALIGN JUMP_ALIGN
    100 .StoreFileNameToCfgvarsFromESDI:
     94    jc      SHORT .ReturnError
     95
     96    ; Store filename to Cfgvars from ESDI
    10197    push    cx
    10298
     
    107103    cld
    108104    call    String_CopyDSSItoESDIandGetLengthToCX
     105    clc
    109106
    110107    pop     cx
     108ALIGN JUMP_ALIGN
     109.ReturnError:
    111110    pop     es
    112     clc
    113111    ret
    114112
     
    157155    xor     dx, dx
    158156    shl     cx, 1
    159     rcl     dx, 1           ; WORDs to BYTEs   
     157    rcl     dx, 1           ; WORDs to BYTEs
    160158
    161159    mov     al, FILE_ACCESS.WriteOnly
  • trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Dialogs.asm

    r170 r181  
    159159ALIGN JUMP_ALIGN
    160160Dialogs_DisplayProgressDialogForFlashingWithDialogIoInDSSIandFlashvarsInDSBX:
    161     call    .InitializeProgressDialogIoInDSSIwithFlashvarsInDSBX
    162     mov     dx, ds
    163     mov     ax, bx
    164     CALL_MENU_LIBRARY StartProgressTaskWithIoInDSSIandParamInDXAX
    165     ret
    166 
    167 ALIGN JUMP_ALIGN
    168 .InitializeProgressDialogIoInDSSIwithFlashvarsInDSBX:
     161    ; Initialize progress dialog I/O in DS:SI with flashvars in DS:BX
    169162    call    InitializeDialogInputFromDSSI
    170163    mov     WORD [si+DIALOG_INPUT.fszTitle], g_szFlashTitle
     
    177170    mov     WORD [si+PROGRESS_DIALOG_IO.fnTaskWithParamInDSSI], Flash_EepromWithFlashvarsInDSSI
    178171    mov     [si+PROGRESS_DIALOG_IO.fnTaskWithParamInDSSI+2], cs
     172    ; Init done
     173
     174    mov     dx, ds
     175    mov     ax, bx
     176    CALL_MENU_LIBRARY StartProgressTaskWithIoInDSSIandParamInDXAX
    179177    ret
    180178
  • trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/EEPROM.asm

    r159 r181  
    169169    call    Buffers_IsXtideUniversalBiosSignatureInESDI
    170170    je      SHORT .RomFound
    171     add     bx, 200h                ; Increment by 8kB
     171    add     bh, 2                   ; Increment by 8kB
    172172    jnc     SHORT .SegmentLoop      ; Loop until segment overflows
    173173    clc
  • trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Flash.asm

    r159 r181  
    1 ; File name     :   Flash.asm
    21; Project name  :   XTIDE Universal BIOS Configurator v2
    3 ; Created date  :   1.12.2010
    4 ; Last update   :   3.12.2010
    5 ; Author        :   Tomi Tilli
    62; Description   :   Functions for flashing the EEPROM.
    73
     
    3733
    3834    loop    .FlashNextPage
     35%if FLASH_RESULT.success = 0    ; Just in case this should ever change
     36    mov     [bp+FLASHVARS.flashResult], cl
     37%else
    3938    mov     BYTE [bp+FLASHVARS.flashResult], FLASH_RESULT.success
     39%endif
    4040    ret
    4141
  • trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/MenuEvents.asm

    r138 r181  
    135135.KeyStrokeInAX:
    136136    cmp     ah, KEY_DISPLAY_ITEM_HELP
    137     je      SHORT .DisplayHelp
    138     jmp     SHORT .EventNotHandled
    139 
    140 ALIGN JUMP_ALIGN
    141 .DisplayHelp:
     137    jne     SHORT .EventNotHandled
     138
     139;ALIGN JUMP_ALIGN
     140;.DisplayHelp:
    142141    call    Menupage_GetActiveMenupageToDSDI
    143142    CALL_MENU_LIBRARY GetHighlightedItemToAX
  • trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Menuitem.asm

    r108 r181  
    150150    add     di, [si+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset]
    151151    jmp     [cs:bx+.rgfnJumpToStoreValueBasedOnItemType]
    152 .InvalidItemType:
    153     ret
    154152
    155153ALIGN WORD_ALIGN
     
    242240    CALL_MENU_LIBRARY GetHighlightedItemToAX
    243241    CALL_MENU_LIBRARY RefreshItemFromAX
     242.InvalidItemType:
    244243    ret
    245244
     
    268267ALIGN JUMP_ALIGN
    269268Menuitem_GetValueToAXfromMenuitemInDSSI:
    270     call    .GetMenuitemValueToAX
    271     test    BYTE [si+MENUITEM.bFlags], FLG_MENUITEM_BYTEVALUE
    272     jnz     SHORT .ConvertWordToByteValue
    273     test    BYTE [si+MENUITEM.bFlags], FLG_MENUITEM_FLAGVALUE
    274     jnz     SHORT .ConvertWordToFlagValue
    275     ret
    276 
    277 ALIGN JUMP_ALIGN
    278 .GetMenuitemValueToAX:
    279269    push    es
    280270    push    di
     
    284274    pop     di
    285275    pop     es
    286     ret
    287 
     276
     277    test    BYTE [si+MENUITEM.bFlags], FLG_MENUITEM_BYTEVALUE
     278    jnz     SHORT .ConvertWordToByteValue
     279    test    BYTE [si+MENUITEM.bFlags], FLG_MENUITEM_FLAGVALUE
     280    jz      SHORT .Return
     281
     282    test    ax, [si+MENUITEM.itemValue+ITEM_VALUE.wValueBitmask]
     283    mov     ax, TRUE<<1     ; Shift for lookup
     284    jnz     SHORT .Return
     285    xor     ax, ax
    288286ALIGN JUMP_ALIGN
    289287.ConvertWordToByteValue:
    290288    xor     ah, ah
    291     ret
    292 
    293 ALIGN JUMP_ALIGN
    294 .ConvertWordToFlagValue:
    295     test    ax, [si+MENUITEM.itemValue+ITEM_VALUE.wValueBitmask]
    296     jnz     SHORT .ReturnTrue
    297     xor     ax, ax
    298     ret
    299 ALIGN JUMP_ALIGN
    300 .ReturnTrue:
    301     mov     ax, TRUE<<1     ; Shift for lookup
     289ALIGN JUMP_ALIGN, ret
     290.Return:
    302291    ret
    303292
  • trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Menupages/ConfigurationMenu.asm

    r153 r181  
    168168    call    .GetIdeControllerCountToCX
    169169    dec     cx          ; Primary always enabled
    170     jcxz    .PrimaryControllerAlreadyEnabled
     170    j    .PrimaryControllerAlreadyEnabled
    171171    mov     bx, g_MenuitemConfigurationSecondaryIdeController
    172172ALIGN JUMP_ALIGN
     
    191191    call    Buffers_GetRomvarsFlagsToAX
    192192    test    ax, FLG_ROMVARS_FULLMODE
     193    mov     al, 1   ; Assume lite mode
    193194    jz      SHORT .AllowOnlyOneIdeControllerInLiteMode
    194195
    195196    mov     bx, ROMVARS.bIdeCnt
    196197    call    Buffers_GetRomvarsValueToAXfromOffsetInBX
    197     eMOVZX  cx, al
    198     ret
    199198ALIGN JUMP_ALIGN
    200199.AllowOnlyOneIdeControllerInLiteMode:
    201     mov     cx, 1
     200    cbw     ; A maximum of 127 controllers should be sufficient
     201    xchg    cx, ax
    202202    ret
    203203
  • trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Menupages/FlashMenu.asm

    r159 r181  
    390390    mov     al, 0FEh                ; System reset (AT+ keyboard controller)
    391391    out     64h, al                 ; Reset computer (AT+)
    392     mov     ax, 10
     392    mov     al, 10
    393393    call    Delay_MicrosecondsFromAX
    394394.ResetXT:
Note: See TracChangeset for help on using the changeset viewer.