Changeset 99 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Initialization/FloppyDrive.asm
- Timestamp:
- Jan 31, 2011, 11:27:17 AM (14 years ago)
- google:author:
- aitotat
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Initialization/FloppyDrive.asm
r86 r99 18 18 ; BX, CX, DI 19 19 ;-------------------------------------------------------------------- 20 ;ALIGN JUMP_ALIGN21 20 FloppyDrive_IsInt40hInstalled: 22 21 cmp WORD [es:INTV_FLOPPY_FUNC*4+2], 0C000h ; Any ROM segment? 23 22 jb SHORT .Int40hHandlerIsNotInstalled 23 %ifdef USE_AT 24 24 call .VerifyInt40hHandlerSinceSomeBiosesSimplyReturnFromInt40h 25 %else 26 clc ; INT 40h installed. No need to verify on XT systems. 27 %endif 25 28 .Int40hHandlerIsNotInstalled: 26 29 cmc … … 37 40 ; BX, CX, DI 38 41 ;-------------------------------------------------------------------- 39 ;ALIGN JUMP_ALIGN 42 %ifdef USE_AT 40 43 .VerifyInt40hHandlerSinceSomeBiosesSimplyReturnFromInt40h: 41 44 push es … … 45 48 call .LoadInt40hVerifyParameters 46 49 int INTV_DISK_FUNC 47 jc SHORT . AH08hNotSupported ; AH=08h not supported on XTs but that doesn't48 push es ; matter since INT 40h does not need to be verified49 push di ; on XTs50 jc SHORT .Int40hIsInstalled ; Maybe there are not any floppy drives at all 51 push es 52 push di 50 53 51 54 call .LoadInt40hVerifyParameters … … 58 61 mov dx, es 59 62 cmp cx, dx ; Difference in segments? 60 jne SHORT .Int40hNotInstalled 61 .AH08hNotSupported: 62 clc 63 jmp SHORT .Int40hIsInstalled 63 je SHORT .Int40hIsInstalled 64 64 .Int40hNotInstalled: 65 65 stc … … 81 81 ; DH 82 82 ;-------------------------------------------------------------------- 83 ;ALIGN JUMP_ALIGN84 83 .LoadInt40hVerifyParameters: 85 84 mov ah, 08h ; Get Drive Parameters … … 88 87 mov es, dx ; ES:DI = 0000:0000h to guard against BIOS bugs 89 88 ret 89 %endif 90 90 91 91 … … 133 133 FloppyDrive_GetCount: 134 134 push es 135 %ifdef USE_AT 135 136 call FloppyDrive_GetCountFromBIOS 136 jnc SHORT .CompareToUserMinimum 137 %else 137 138 call FloppyDrive_GetCountFromBDA 138 ALIGN JUMP_ALIGN 139 .CompareToUserMinimum: 139 %endif 140 140 MAX_U cl, [cs:ROMVARS.bMinFddCnt] 141 141 xor ch, ch … … 159 159 ; CH, ES 160 160 ;-------------------------------------------------------------------- 161 %ifdef USE_AT 161 162 ALIGN JUMP_ALIGN 162 163 FloppyDrive_GetCountFromBIOS: … … 176 177 pop di 177 178 ret 179 %endif 178 180 179 181 … … 190 192 ; CH, ES 191 193 ;-------------------------------------------------------------------- 194 %ifndef USE_AT 192 195 ALIGN JUMP_ALIGN 193 196 FloppyDrive_GetCountFromBDA: … … 199 202 add cl, ch ; CL = Floppy Drive count 200 203 ret 204 %endif
Note:
See TracChangeset
for help on using the changeset viewer.