Changeset 491 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Handlers
- Timestamp:
- Dec 15, 2012, 2:46:29 PM (12 years ago)
- google:author:
- krille_n_@hotmail.com
- Location:
- trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH0h_HReset.asm
r489 r491 3 3 4 4 ; 5 ; XTIDE Universal BIOS and Associated Tools 5 ; XTIDE Universal BIOS and Associated Tools 6 6 ; Copyright (C) 2009-2010 by Tomi Tilli, 2011-2012 by XTIDE Universal BIOS Team. 7 7 ; … … 10 10 ; the Free Software Foundation; either version 2 of the License, or 11 11 ; (at your option) any later version. 12 ; 12 ; 13 13 ; This program is distributed in the hope that it will be useful, 14 14 ; but WITHOUT ANY WARRANTY; without even the implied warranty of 15 15 ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 ; GNU General Public License for more details. 16 ; GNU General Public License for more details. 17 17 ; Visit http://www.gnu.org/licenses/old-licenses/gpl-2.0.html 18 ; 18 ; 19 19 20 20 ; Section containing code … … 155 155 mov dl, ROMVARS.ideVars0 ; starting Idevars offset 156 156 157 ; Get count of ALL Idevars structures, not just the ones that are configured. This may seem odd, 157 ; Get count of ALL Idevars structures, not just the ones that are configured. This may seem odd, 158 158 ; but it catches the .ideVarsSerialAuto structure, which would not be scanned if the count from 159 159 ; RamVars_GetIdeControllerCountToCX was used. Unused controllers won't make a difference, since no DPT … … 174 174 175 175 .done: 176 .NoForeignDrivesToReset:177 176 ret -
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH1Eh_XTCF.asm
r477 r491 3 3 4 4 ; 5 ; XTIDE Universal BIOS and Associated Tools 5 ; XTIDE Universal BIOS and Associated Tools 6 6 ; Copyright (C) 2009-2010 by Tomi Tilli, 2011-2012 by XTIDE Universal BIOS Team. 7 7 ; … … 10 10 ; the Free Software Foundation; either version 2 of the License, or 11 11 ; (at your option) any later version. 12 ; 12 ; 13 13 ; This program is distributed in the hope that it will be useful, 14 14 ; but WITHOUT ANY WARRANTY; without even the implied warranty of 15 15 ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 ; GNU General Public License for more details. 16 ; GNU General Public License for more details. 17 17 ; Visit http://www.gnu.org/licenses/old-licenses/gpl-2.0.html 18 ; 18 ; 19 19 20 20 ; Section containing code … … 63 63 call AccessDPT_IsThisDeviceXTCF 64 64 jne SHORT XTCFnotFound 65 and ax, BYTE 7Fh ; Subcommand now in AX 65 and ax, BYTE 7Fh ; Subcommand now in AX (clears AH and CF) 66 66 jz SHORT .ReturnWithSuccess ; IS_THIS_DRIVE_XTCF 67 67 … … 70 70 jnz SHORT .SkipReadXtcfControlRegisterToDH 71 71 mov dx, [di+DPT.wBasePort] 72 add dl, XTCF_CONTROL_REGISTER 72 add dl, XTCF_CONTROL_REGISTER ; Will never overflow (keeps CF cleared) 73 73 in al, dx 74 74 mov [bp+IDEPACK.intpack+INTPACK.dh], al 75 75 .ReturnWithSuccess: 76 xor ah, ah77 ret 76 ret ; With AH and CF cleared 77 78 78 .SkipReadXtcfControlRegisterToDH: 79 80 79 ; WRITE_DH_TO_XTCF_CONTROL_REGISTER 81 80 dec ax ; Subcommand … … 122 121 mov BYTE [di+DPT_ATA.bDevice], DEVICE_8BIT_XTCF_PIO8 123 122 ; Fall to .Enable8bitPioMode 124 123 125 124 ; We always need to enable 8-bit mode since 16-bit mode is restored 126 ; when controller is reset (AH=0 h orDh)127 .Enable8bitPioMode: 125 ; when controller is reset (AH=00h or 0Dh) 126 .Enable8bitPioMode: 128 127 jmp AH23h_Enable8bitPioMode 129 128 … … 143 142 AH1Eh_DetectXTCFwithBasePortInDX: 144 143 push dx 145 add dl, XTC T_CONTROL_REGISTER_INVERTED_in ; set DX to XT-CF config register (inverted)144 add dl, XTCF_CONTROL_REGISTER_INVERTED_in ; set DX to XT-CF config register (inverted) 146 145 in al, dx ; get value 147 146 mov ah, al ; save in ah -
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH24h_HSetBlocks.asm
r473 r491 3 3 4 4 ; 5 ; XTIDE Universal BIOS and Associated Tools 5 ; XTIDE Universal BIOS and Associated Tools 6 6 ; Copyright (C) 2009-2010 by Tomi Tilli, 2011-2012 by XTIDE Universal BIOS Team. 7 7 ; … … 10 10 ; the Free Software Foundation; either version 2 of the License, or 11 11 ; (at your option) any later version. 12 ; 12 ; 13 13 ; This program is distributed in the hope that it will be useful, 14 14 ; but WITHOUT ANY WARRANTY; without even the implied warranty of 15 15 ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 ; GNU General Public License for more details. 16 ; GNU General Public License for more details. 17 17 ; Visit http://www.gnu.org/licenses/old-licenses/gpl-2.0.html 18 ; 18 ; 19 19 20 20 ; Section containing code … … 59 59 ;-------------------------------------------------------------------- 60 60 AH24h_SetBlockSize: 61 %ifdef MODULE_8BIT_IDE 61 62 ; XT-CF does not support largest block size in DMA mode. 62 %ifdef MODULE_8BIT_IDE63 call AccessDPT_IsThisDeviceXTCF64 cmp ah, DEVICE_8BIT_XTCF_DMA65 jne SHORT .NoNeedToLimitBlockSize66 63 cmp al, XTCF_DMA_MODE_MAX_BLOCK_SIZE 67 ja SHORT AH1Eh_LoadInvalidCommandToAHandSetCF 64 jbe SHORT .NoNeedToLimitBlockSize 65 cmp BYTE [di+DPT_ATA.bDevice], DEVICE_8BIT_XTCF_DMA 66 je SHORT AH1Eh_LoadInvalidCommandToAHandSetCF 68 67 .NoNeedToLimitBlockSize: 69 68 %endif ; MODULE_8BIT_IDE
Note:
See TracChangeset
for help on using the changeset viewer.