Ignore:
Timestamp:
Dec 9, 2010, 6:36:00 PM (13 years ago)
Author:
aitotat
google:author:
aitotat
Message:

Changes to Configurator v2:

  • Finally ready for testing.
File:
1 edited

Legend:

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

    r65 r68  
    22; Project name  :   XTIDE Univeral BIOS Configurator v2
    33; Created date  :   10.10.2010
    4 ; Last update   :   30.11.2010
     4; Last update   :   6.12.2010
    55; Author        :   Tomi Tilli
    66; Description   :   Functions for loading and saving BIOS image file.
     
    2323    push    ds
    2424
    25     call    .OpenFileForLoadingFromDSSIandGetSizeToCX
    26     jc      SHORT .DisplayErrorMessage
    27     call    .LoadFileWithNameInDSSIhandleInBXandSizeInCXtoRamBuffer
     25    call    .OpenFileForLoadingFromDSSIandGetSizeToDXCX
     26    jc      SHORT .DisplayErrorMessage
     27    call    .LoadFileWithNameInDSSIhandleInBXandSizeInDXCXtoRamBuffer
    2828    jc      SHORT .DisplayErrorMessage
    2929
    3030    mov     ax, FLG_CFGVARS_FILELOADED
    31     call    Buffers_NewBiosWithSizeInCXandSourceInAXhasBeenLoadedForConfiguration
     31    call    Buffers_NewBiosWithSizeInDXCXandSourceInAXhasBeenLoadedForConfiguration
    3232    call    DisplayFileLoadedSuccesfully
    3333    call    FileIO_CloseUsingHandleFromBX
     
    4343
    4444;--------------------------------------------------------------------
    45 ; .OpenFileForLoadingFromDSSIandGetSizeToCX
     45; .OpenFileForLoadingFromDSSIandGetSizeInBytesToDXCX
    4646;   Parameters:
    4747;       DS:SI:  Name of file to open
    4848;   Returns:
    4949;       BX:     File handle (if succesfull)
    50 ;       CX:     File size (if succesfull)
     50;       DX:CX:  File size (if succesfull)
    5151;       CF:     Clear if successfull
    5252;               Set if error
    5353;   Corrupts registers:
    54 ;       AX, DX
    55 ;--------------------------------------------------------------------
    56 ALIGN JUMP_ALIGN
    57 .OpenFileForLoadingFromDSSIandGetSizeToCX:
     54;       AX
     55;--------------------------------------------------------------------
     56ALIGN JUMP_ALIGN
     57.OpenFileForLoadingFromDSSIandGetSizeToDXCX:
    5858    mov     al, FILE_ACCESS.ReadOnly
    5959    call    FileIO_OpenWithPathInDSSIandFileAccessInAL
     
    6262    jc      SHORT .FileError
    6363
    64     cmp     dx, BYTE 1      ; File size over 65536 bytes?
     64    cmp     dx, MAX_EEPROM_SIZE_IN_BYTES >> 16
    6565    ja      SHORT .FileTooBig
    66     jb      SHORT .CopyFileSizeToCX
    67     test    ax, ax
    68     jnz     SHORT .FileTooBig
    69     dec     ax              ; Prepare to load 65535 bytes
    70 .CopyFileSizeToCX:
     66    jb      SHORT .FileNotTooBig
     67    cmp     ax, MAX_EEPROM_SIZE_IN_BYTES & 0FFFFh
     68    ja      SHORT .FileTooBig
     69.FileNotTooBig:
    7170    xchg    cx, ax
    7271    clc
     
    7978
    8079;--------------------------------------------------------------------
    81 ; .LoadFileWithNameInDSSIhandleInBXandSizeInCXtoRamBuffer
     80; .LoadFileWithNameInDSSIhandleInBXandSizeInDXCXtoRamBuffer
    8281;   Parameters:
    8382;       BX:     File Handle
    84 ;       CX:     File size
     83;       DX:CX:  File size
    8584;       DS:SI:  File name
    8685;   Returns:
     
    9190;--------------------------------------------------------------------
    9291ALIGN JUMP_ALIGN
    93 .LoadFileWithNameInDSSIhandleInBXandSizeInCXtoRamBuffer:
     92.LoadFileWithNameInDSSIhandleInBXandSizeInDXCXtoRamBuffer:
    9493    push    es
    9594
    9695    call    Buffers_GetFileBufferToESDI
    9796    call    Registers_ExchangeDSSIwithESDI
    98     call    FileIO_ReadCXbytesToDSSIusingHandleFromBX
     97    call    FileIO_ReadDXCXbytesToDSSIusingHandleFromBX
    9998    jnc     SHORT .StoreFileNameToCfgvarsFromESDI
    10099
     
    163162    call    Buffers_GetFileBufferToESDI
    164163    call    Registers_CopyESDItoDSSI
     164    xor     dx, dx
    165165    mov     cx, [cs:g_cfgVars+CFGVARS.wImageSizeInWords]
    166166    shl     cx, 1
    167     call    FileIO_WriteCXbytesFromDSSIusingHandleFromBX
     167    rcl     dx, 1           ; WORDs to BYTEs
     168    call    FileIO_WriteDXCXbytesFromDSSIusingHandleFromBX
    168169    jc      SHORT .DisplayErrorMessage
    169170
Note: See TracChangeset for help on using the changeset viewer.