Changeset 35 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h.asm
- Timestamp:
- Aug 24, 2010, 6:44:44 PM (14 years ago)
- google:author:
- aitotat
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h.asm
r32 r35 2 2 ; Project name : IDE BIOS 3 3 ; Created date : 21.9.2007 4 ; Last update : 1.8.20104 ; Last update : 24.8.2010 5 5 ; Author : Tomi Tilli 6 6 ; Description : Int 13h BIOS functions (Floppy and Hard disk). … … 95 95 ; Special return processing required if target function 96 96 ; returns something in DL 97 mov di, Int13h_ReturnFromAnotherBiosWith outSwappingDrives97 mov di, Int13h_ReturnFromAnotherBiosWithValueInDL 98 98 call DriveXlate_DoesFunctionReturnSomethingInDL 99 99 jc SHORT .PushIretAddress 100 add di, BYTE Int13h_ReturnFromAnotherBios - Int13h_ReturnFromAnotherBiosWith outSwappingDrives100 add di, BYTE Int13h_ReturnFromAnotherBios - Int13h_ReturnFromAnotherBiosWithValueInDL 101 101 .PushIretAddress: 102 102 pushf ; Push FLAGS to simulate INT … … 133 133 134 134 ;-------------------------------------------------------------------- 135 ; Return handlers from another INT 13h BIOS. 136 ; 137 ; Int13h_ReturnFromAnotherBiosWithoutSwappingDrives 135 ; Int13h_ReturnFromAnotherBiosWithValueInDL 138 136 ; Int13h_ReturnFromAnotherBios 139 137 ; Parameters: … … 147 145 ;-------------------------------------------------------------------- 148 146 ALIGN JUMP_ALIGN 149 Int13h_ReturnFromAnotherBiosWith outSwappingDrives:147 Int13h_ReturnFromAnotherBiosWithValueInDL: 150 148 push ds 151 149 push di 152 150 pushf ; Store return flags 153 151 call RamVars_GetSegmentToDS 154 dec BYTE [RAMVARS.xlateVars+XLATEVARS.bRecurCnt]152 call DriveXlate_WhenLeavingInt13hWithReturnValueInDL 155 153 jmp SHORT Int13h_Leave 154 156 155 ALIGN JUMP_ALIGN 157 156 Int13h_ReturnFromAnotherBios: … … 167 166 ; Returns from any BIOS function implemented by this BIOS. 168 167 ; 169 ; Int13h_ReturnWithoutSwappingDrives 170 ; Int13h_StoreErrorCodeToBDAandPopDSDIandReturn 171 ; Int13h_StoreErrorCodeToBDAandPopXRegsAndReturn 168 ; Int13h_ReturnWithValueInDL 172 169 ; Int13h_PopXRegsAndReturn 173 170 ; Int13h_PopDiDsAndReturn … … 181 178 ;-------------------------------------------------------------------- 182 179 ALIGN JUMP_ALIGN 183 Int13h_ReturnWith outSwappingDrives:180 Int13h_ReturnWithValueInDL: 184 181 pushf 185 dec BYTE [RAMVARS.xlateVars+XLATEVARS.bRecurCnt] ; Preserves CF 186 call HError_StoreBiosErrorCodeFromAHtoBDA 187 jmp SHORT Int13h_Leave 188 189 ALIGN JUMP_ALIGN 190 Int13h_StoreErrorCodeToBDAandPopDSDIandReturn: 191 call HError_StoreBiosErrorCodeFromAHtoBDA 192 jmp SHORT Int13h_PopDiDsAndReturn 193 194 ALIGN JUMP_ALIGN 195 Int13h_StoreErrorCodeToBDAandPopXRegsAndReturn: 196 call HError_StoreBiosErrorCodeFromAHtoBDA 182 call DriveXlate_WhenLeavingInt13hWithReturnValueInDL 183 jmp SHORT Int13h_LeaveAfterStoringErrorCodeToBDA 184 197 185 ALIGN JUMP_ALIGN 198 186 Int13h_PopXRegsAndReturn: … … 202 190 pop cx 203 191 pop dx 192 ; Fall to Int13h_PopDiDsAndReturn 193 204 194 ALIGN JUMP_ALIGN 205 195 Int13h_PopDiDsAndReturn: 206 196 pushf 207 197 call DriveXlate_WhenLeavingInt13h 198 ; Fall to Int13h_LeaveAfterStoringErrorCodeToBDA 199 200 Int13h_LeaveAfterStoringErrorCodeToBDA: 201 LOAD_BDA_SEGMENT_TO ds, di 202 mov [BDA.bHDStatus], ah 203 ; Fall to Int13h_Leave 204 208 205 Int13h_Leave: 209 206 popf
Note:
See TracChangeset
for help on using the changeset viewer.