- Timestamp:
- Oct 1, 2012, 6:33:28 PM (12 years ago)
- google:author:
- aitotat@gmail.com
- Location:
- trunk/XTIDE_Universal_BIOS
- Files:
-
- 1 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Inc/Controllers/XTCF.inc
r470 r471 28 28 XTCF_BASE_PORT_2 EQU 240h 29 29 XTCF_BASE_PORT_3 EQU 300h ; Default setting 30 XTCF_BASE_PORT_4 EQU 3 20h30 XTCF_BASE_PORT_4 EQU 340h 31 31 32 32 … … 35 35 XTCT_CONTROL_REGISTER_INVERTED_in EQU 1Eh 36 36 37 ; Control Register contents: 38 ; 39 ; Control Register holds high byte from Sector Window segment if >= A0h 40 ; (First possible segment for Sector Window is A000h) 41 ; 42 ; 8-bit PIO transfers (port I/O) are used if Control Register is zero. 43 ; Any other value means DMA transfers (using DMA channel 3). 37 44 38 ; Bit Definitions for XT-CF Control Register 39 MASK_XTCF_BASE_PORT_in EQU (3<<0) ; Bits 0...1 40 XTCF_PORT_200h EQU 0 41 XTCF_PORT_240h EQU 1 42 XTCF_PORT_300h EQU 2 ; Default 43 XTCF_PORT_320h EQU 3 44 FLG_PIO8_INSTEAD_OF_DMA EQU (1<<2) ; Set to enable PIO8, clear to enable DMA (Channel 3) 45 FLG_AT_ZERO_WAIT_STATE_in EQU (1<<3) 46 MASK_SECTOR_WINDOW_SEGMENT_in EQU (7<<4) ; Bits 4...6 47 XTCF_SECTOR_WINDOW_AT_C000h EQU 0 48 XTCF_SECTOR_WINDOW_AT_C800h EQU 1 49 XTCF_SECTOR_WINDOW_AT_D000h EQU 2 ; Default 50 XTCF_SECTOR_WINDOW_AT_D800h EQU 3 51 XTCF_SECTOR_WINDOW_AT_E000h EQU 4 52 XTCF_SECTOR_WINDOW_AT_E800h EQU 5 53 FLG_XTCF_ROM_ENABLE_in EQU (1<<7) 45 46 ; Subcommands for AH=1Eh, Lo-tech XT-CF features. 47 ; Return values common for all subcommands: 48 ; AH: RET_HD_SUCCESS if drive is XT-CF 49 ; RET_HD_INVALID if drive is not XT-CF 50 ; CF: 0 if successful, 1 if error 51 52 ;-------------------------------------------------------------------- 53 ; IS_THIS_DRIVE_XTCF 54 ; Parameters: 55 ; DL: Drive Number 56 ;-------------------------------------------------------------------- 57 IS_THIS_DRIVE_XTCF EQU 0 58 59 ;-------------------------------------------------------------------- 60 ; IS_XTCF_IN_PORT_CX 61 ; Parameters: 62 ; CX: Port to search XT-CF from (can be anything) 63 ; Returns: 64 ; AH: RET_HD_SUCCESS if XT-CF is found from port 65 ; RET_HD_INVALID if XT-CF is not found 66 ;-------------------------------------------------------------------- 67 IS_XTCF_IN_PORT_CX EQU 1 68 69 ;-------------------------------------------------------------------- 70 ; READ_XTCF_CONTROL_REGISTER_TO_DH 71 ; Parameters: 72 ; DL: Drive Number 73 ; Returns: 74 ; DH: XT-CF Control Register contents 75 ;-------------------------------------------------------------------- 76 READ_XTCF_CONTROL_REGISTER_TO_DH EQU 2 77 78 ;-------------------------------------------------------------------- 79 ; WRITE_DH_TO_XTCF_CONTROL_REGISTER 80 ; Parameters: 81 ; DH: Byte to write to XT-CF Control Register 82 ; DL: Drive Number 83 ;-------------------------------------------------------------------- 84 WRITE_DH_TO_XTCF_CONTROL_REGISTER EQU 3 54 85 55 86 -
trunk/XTIDE_Universal_BIOS/Inc/ModuleDependency.inc
r400 r471 43 43 %ifdef MODULE_8BIT_IDE 44 44 %include "IDE_8bit.inc" ; For IDE 8-bit data port macros 45 %include "XTCF.inc" ; For Lo-tech XT-CF 45 46 %endif 46 47 -
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h.asm
r445 r471 395 395 dw UnsupportedFunction ; 1Ch, ESDI Special Functions (PS/2) 396 396 dw UnsupportedFunction ; 1Dh, 397 dw UnsupportedFunction ; 1Eh, 397 %ifdef MODULE_8BIT_IDE 398 dw AH1Eh_HandlerForXTCFfeatures ; 1Eh, Lo-tech XT-CF features (XTIDE Universal BIOS) 399 %else 400 dw UnsupportedFunction ; 1Eh, 401 %endif 398 402 dw UnsupportedFunction ; 1Fh, 399 403 dw UnsupportedFunction ; 20h, -
trunk/XTIDE_Universal_BIOS/Src/Main.asm
r461 r471 255 255 %include "AH11h_HRecal.asm" ; Required by Int13h_Jump.asm 256 256 %include "AH15h_HSize.asm" ; Required by Int13h_Jump.asm 257 %ifdef MODULE_8BIT_IDE 258 %include "AH1Eh_XTCF.asm" 259 %endif 257 260 %include "AH23h_HFeatures.asm" ; Required by Int13h_Jump.asm 258 261 %include "AH24h_HSetBlocks.asm" ; Required by Int13h_Jump.asm
Note:
See TracChangeset
for help on using the changeset viewer.