Changeset 181 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Initialization
- Timestamp:
- Nov 13, 2011, 3:38:40 PM (13 years ago)
- google:author:
- krille_n_@hotmail.com
- Location:
- trunk/XTIDE_Universal_BIOS/Src/Initialization
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Initialization/AtaID.asm
r174 r181 121 121 ;-------------------------------------------------------------------- 122 122 AtaID_GetTotalSectorCountToBXDXAXfromAtaInfoInESSI: 123 call Registers_ExchangeDSSIwithESDI ; ATA info now in DSDI 123 mov bx, Registers_ExchangeDSSIwithESDI 124 call bx ; ATA info now in DS:DI 125 push bx ; We will return via Registers_ExchangeDSSIwithESDI 124 126 xor bx, bx 125 127 test BYTE [di+ATA1.wCaps+1], A1_wCaps_LBA>>8 … … 133 135 ; Parameters: 134 136 ; BX: Zero 135 ; DS: SI: Ptr to 512-byte ATA information read from the drive137 ; DS:DI: Ptr to 512-byte ATA information read from the drive 136 138 ; Returns: 137 139 ; BX:DX:AX: 48-bit sector count … … 145 147 mov dx, [di+ATA6.qwLBACnt+2] 146 148 mov bx, [di+ATA6.qwLBACnt+4] 147 jmp SHORT .ExchangePtrAndReturn149 ret 148 150 149 151 .GetLba28SectorCount: 150 152 mov ax, [di+ATA1.dwLBACnt] 151 153 mov dx, [di+ATA1.dwLBACnt+2] 152 jmp SHORT .ExchangePtrAndReturn154 ret 153 155 154 156 .GetChsSectorCount: … … 156 158 mul BYTE [di+ATA1.wHeadCnt] ; AX=Sectors per track * number of heads 157 159 mul WORD [di+ATA1.wCylCnt] ; DX:AX=Sectors per track * number of heads * number of cylinders 158 .ExchangePtrAndReturn: 159 jmp Registers_ExchangeDSSIwithESDI 160 ret -
trunk/XTIDE_Universal_BIOS/Src/Initialization/DriveXlate.asm
r148 r181 55 55 ; DL: Translated drive number 56 56 ; Corrupts registers: 57 ; Nothing57 ; AL 58 58 ;-------------------------------------------------------------------- 59 59 ALIGN JUMP_ALIGN … … 62 62 je SHORT .SwapToXXhInAL 63 63 cmp al, dl ; Swap DL from xxh to 00h/80h? 64 je SHORT .SwapTo00hOr80hInAH 65 ret 66 ALIGN JUMP_ALIGN 67 .SwapTo00hOr80hInAH: 68 mov dl, ah 69 ret 64 jne SHORT .Return 65 mov al, ah 70 66 ALIGN JUMP_ALIGN 71 67 .SwapToXXhInAL: 72 68 mov dl, al 69 ALIGN JUMP_ALIGN, ret 70 .Return: 73 71 ret 74 72 … … 83 81 ; Nothing 84 82 ; Corrupts registers: 85 ; AX83 ; Nothing 86 84 ;-------------------------------------------------------------------- 87 85 ALIGN JUMP_ALIGN -
trunk/XTIDE_Universal_BIOS/Src/Initialization/FloppyDrive.asm
r152 r181 136 136 call GetCountFromBDA 137 137 %endif 138 MAX_U cl, [cs:ROMVARS.bMinFddCnt] 138 mov ch, [cs:ROMVARS.bMinFddCnt] 139 MAX_U cl, ch 140 pop es 139 141 xor ch, ch 140 pop es141 142 ret 142 143 -
trunk/XTIDE_Universal_BIOS/Src/Initialization/Interrupts.asm
r162 r181 29 29 ;-------------------------------------------------------------------- 30 30 .InitializeInt13hAnd40h: 31 mov ax, [es:BIOS_DISK_INTERRUPT_13h*4+2]; Load old INT 13h segment 32 mov [RAMVARS.fpOldI13h+2], ax ; Store old INT 13h segment 33 xchg dx, ax 31 34 mov ax, [es:BIOS_DISK_INTERRUPT_13h*4] ; Load old INT 13h offset 32 mov dx, [es:BIOS_DISK_INTERRUPT_13h*4+2]; Load old INT 13h segment33 35 mov [RAMVARS.fpOldI13h], ax ; Store old INT 13h offset 34 mov [RAMVARS.fpOldI13h+2], dx ; Store old INT 13h segment 36 35 37 mov bx, BIOS_DISK_INTERRUPT_13h ; INT 13h interrupt vector offset 36 38 mov si, Int13h_DiskFunctionsHandler ; Interrupt handler offset
Note:
See TracChangeset
for help on using the changeset viewer.