Changeset 592 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/EEPROM.asm
- Timestamp:
- Jun 25, 2018, 10:29:27 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/EEPROM.asm
r589 r592 50 50 ; DX:CX: BIOS size in bytes 51 51 ; Corrupts registers: 52 ; AX,BX, SI, DI52 ; BX, SI, DI 53 53 ;-------------------------------------------------------------------- 54 54 ALIGN JUMP_ALIGN … … 61 61 call LoadBytesFromRomToRamBuffer 62 62 63 call EEPROM_GetXtideUniversalBiosSizeFromESDItoDXCX64 63 pop es 65 64 ret … … 90 89 ; Nothing 91 90 ; Returns: 92 ; CF: Setif EEPROM was found93 ; Clearedif EEPROM not found94 ; Corrupts registers: 95 ; AX, BX, CX, SI, DI91 ; CF: Cleared if EEPROM was found 92 ; Set if EEPROM not found 93 ; Corrupts registers: 94 ; BX, CX, SI 96 95 ;-------------------------------------------------------------------- 97 96 ALIGN JUMP_ALIGN … … 107 106 ; SI: Offset to first byte to load 108 107 ; Returns: 109 ; CF: Setif EEPROM was found110 ; Clearedif EEPROM not found111 ; Corrupts registers: 112 ; AX, BX, CX, SI108 ; CF: Cleared if EEPROM was found 109 ; Set if EEPROM not found 110 ; Corrupts registers: 111 ; BX, SI 113 112 ;-------------------------------------------------------------------- 114 113 ALIGN JUMP_ALIGN … … 119 118 120 119 call EEPROM_FindXtideUniversalBiosROMtoESDI 121 j nc SHORT .XtideUniversalBiosNotFound120 jc SHORT .XtideUniversalBiosNotFound 122 121 push es 123 122 pop ds ; DS:SI points to ROM … … 126 125 mov di, si ; ES:DI points to RAM buffer 127 126 127 %ifdef CLD_NEEDED 128 128 cld 129 call Memory_CopyCXbytesFromDSSItoESDI 130 stc129 %endif 130 call Memory_CopyCXbytesFromDSSItoESDI ; Clears CF 131 131 132 132 .XtideUniversalBiosNotFound: … … 143 143 ; Returns: 144 144 ; ES:DI: EEPROM segment 145 ; CF: Setif EEPROM was found146 ; Clearedif EEPROM not found147 ; Corrupts registers: 148 ; AX,BX145 ; CF: Cleared if EEPROM was found 146 ; Set if EEPROM not found 147 ; Corrupts registers: 148 ; BX 149 149 ;-------------------------------------------------------------------- 150 150 ALIGN JUMP_ALIGN … … 159 159 mov es, bx ; Possible ROM segment to ES 160 160 call Buffers_IsXtideUniversalBiosSignatureInESDI 161 je SHORT .RomFound 161 je SHORT .RomFound ; If equal, CF=0 162 162 add bx, 80h ; Increment by 2kB (minimum possible distance from the beginning of one option ROM to the next) 163 163 jnc SHORT .SegmentLoop ; Loop until segment overflows 164 clc165 jmp SHORT .ReturnWithoutUpdatingCF166 ALIGN JUMP_ALIGN167 164 .RomFound: 168 stc169 .ReturnWithoutUpdatingCF:170 165 pop cx 171 166 pop si … … 191 186 call Buffers_GetFlashComparisonBufferToESDI 192 187 eMOVZX bx, [cs:g_cfgVars+CFGVARS.bEepromType] 193 mov cx, [cs:bx+g_rgwEepromTypeToSizeInWords] 188 %ifdef CLD_NEEDED 194 189 cld 190 %endif 191 ;%if g_rgwEepromTypeToSizeInWords = 0 ; *FIXME* It really is but NASM won't accept this. 192 mov cx, [cs:bx] 193 ;%else 194 ; mov cx, [cs:bx+g_rgwEepromTypeToSizeInWords] 195 ;%endif 195 196 rep movsw 196 197
Note:
See TracChangeset
for help on using the changeset viewer.