Changeset 484 in xtideuniversalbios


Ignore:
Timestamp:
Oct 28, 2012, 12:42:26 PM (9 years ago)
Author:
aitotat@…
google:author:
aitotat@gmail.com
Message:

Changes to Configurator v2:

  • Large builds are now saved to correct size.
Location:
trunk/XTIDE_Universal_BIOS_Configurator_v2/Src
Files:
3 edited

Legend:

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

    r376 r484  
    167167    call    Buffers_GenerateChecksum
    168168    call    Buffers_GetFileBufferToESDI
    169     mov     ax, [cs:g_cfgVars+CFGVARS.wImageSizeInWords]
    170     call    EEPROM_GetSmallestEepromSizeInWordsToCXforImageWithWordSizeInAX
    171     xor     dx, dx
    172     shl     cx, 1
    173     rcl     dx, 1           ; WORDs to BYTEs
     169    call    EEPROM_GetXtideUniversalBiosSizeFromESDItoDXCX
    174170
    175171    mov     al, FILE_ACCESS.WriteOnly
  • trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Buffers.asm

    r457 r484  
    210210Buffers_GenerateChecksum:
    211211    push    es
    212 
    213     call    Buffers_GetFileBufferToESDI
    214     mov     ax, [cs:g_cfgVars+CFGVARS.wImageSizeInWords]
    215     call    EEPROM_GetSmallestEepromSizeInWordsToCXforImageWithWordSizeInAX
    216     shl     cx, 1           ; Words to bytes
     212    push    dx
     213
     214    call    Buffers_GetFileBufferToESDI
     215    call    EEPROM_GetXtideUniversalBiosSizeFromESDItoDXCX
    217216    dec     cx              ; Leave space for checksum byte
    218217    xor     ax, ax
     
    225224    mov     [es:di], al
    226225
     226    pop     dx
    227227    pop     es
    228228    ret
  • trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/EEPROM.asm

    r376 r484  
    4444
    4545;--------------------------------------------------------------------
    46 ; EEPROM_GetSmallestEepromSizeInWordsToCXforImageWithWordSizeInAX
    47 ;   Parameters:
    48 ;       AX:     Image size in WORDs
    49 ;   Returns:
    50 ;       CX:     Required EEPROM size in WORDs
    51 ;       CF:     Set if EEPROM size found
    52 ;               Cleared if no valid EEPROM found
    53 ;   Corrupts registers:
    54 ;       BX
    55 ;--------------------------------------------------------------------
    56 ALIGN JUMP_ALIGN
    57 EEPROM_GetSmallestEepromSizeInWordsToCXforImageWithWordSizeInAX:
    58     mov     bx, g_rgwEepromTypeToSizeInWords
    59     mov     cx, NUMBER_OF_EEPROM_TYPES
    60 ALIGN JUMP_ALIGN
    61 .CheckNextEepromSize:
    62     cmp     ax, [cs:bx]
    63     jbe     SHORT .ReturnEepromSizeInCX
    64     inc     bx
    65     inc     bx
    66     loop    .CheckNextEepromSize
    67     ret     ; Return with CF cleared (none of the supported EEPROMs are large enough)
    68 ALIGN JUMP_ALIGN
    69 .ReturnEepromSizeInCX:
    70     mov     cx, [cs:bx]
    71     stc
    72     ret
    73 
    74 
    75 ;--------------------------------------------------------------------
    7646; EEPROM_LoadXtideUniversalBiosFromRomToRamBufferAndReturnSizeInDXCX
    7747;   Parameters:
     
    8757
    8858    call    EEPROM_FindXtideUniversalBiosROMtoESDI
    89     call    .GetXtideUniversalBiosSizeFromEStoDXCX
     59    call    EEPROM_GetXtideUniversalBiosSizeFromESDItoDXCX
    9060    xor     si, si              ; Load from beginning of ROM
    9161    call    LoadBytesFromRomToRamBuffer
    9262
    93     call    .GetXtideUniversalBiosSizeFromEStoDXCX
     63    call    EEPROM_GetXtideUniversalBiosSizeFromESDItoDXCX
    9464    pop     es
    9565    ret
    9666
     67
    9768;--------------------------------------------------------------------
    98 ; .GetXtideUniversalBiosSizeFromEStoDXCX
     69; EEPROM_GetXtideUniversalBiosSizeFromESDItoDXCX
    9970;   Parameters:
    100 ;       Nothing
     71;       ES:DI:  Ptr to XTIDE Universal BIOS
    10172;   Returns:
    10273;       DX:CX:  Bios size in bytes
     
    10576;--------------------------------------------------------------------
    10677ALIGN JUMP_ALIGN
    107 .GetXtideUniversalBiosSizeFromEStoDXCX:
     78EEPROM_GetXtideUniversalBiosSizeFromESDItoDXCX:
    10879    xor     dx, dx
    109     eMOVZX  cx, [es:ROMVARS.bRomSize]
     80    eMOVZX  cx, [es:di+ROMVARS.bRomSize]
    11081    eSHL_IM cx, 9               ; *= 512 for byte count
    11182    ret
Note: See TracChangeset for help on using the changeset viewer.