source: xtideuniversalbios/trunk/XTIDE_Universal_BIOS/Inc/Controllers/XTCF.inc@ 486

Last change on this file since 486 was 482, checked in by aitotat@…, 12 years ago

Changes to XTIDE Universal BIOS:

  • Added some JR-IDE/ISA and XT-CF default setting defines to be used by Configurator.
File size: 2.9 KB
RevLine 
[470]1; Project name : XTIDE Universal BIOS
2; Description : Lo-tech XT-CFv2 board specifications.
3;
4; More information at http://www.lo-tech.co.uk/wiki/Lo-tech_XT-CFv2_Board
5
6;
7; XTIDE Universal BIOS and Associated Tools
8; Copyright (C) 2009-2010 by Tomi Tilli, 2011-2012 by XTIDE Universal BIOS Team.
9;
10; This program is free software; you can redistribute it and/or modify
11; it under the terms of the GNU General Public License as published by
12; the Free Software Foundation; either version 2 of the License, or
13; (at your option) any later version.
14;
15; This program is distributed in the hope that it will be useful,
16; but WITHOUT ANY WARRANTY; without even the implied warranty of
17; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18; GNU General Public License for more details.
19; Visit http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
20;
21
22%ifndef XTCF_INC
23%define XTCF_INC
24
[473]25XTCF_DMA_MODE_MAX_BLOCK_SIZE EQU 64 ; Sectors
26OFFSET_TO_CONTROL_BLOCK_REGISTERS EQU 8
[482]27DEFAULT_XTCF_SECTOR_WINDOW_SEGMENT EQU 0D800h
[473]28
[470]29; Possible base addresses. Note that all XT-CF IDE registers are SHL 1 compared
30; to standard IDE registers.
31XTCF_BASE_PORT_1 EQU 200h
32XTCF_BASE_PORT_2 EQU 240h
33XTCF_BASE_PORT_3 EQU 300h ; Default setting
[471]34XTCF_BASE_PORT_4 EQU 340h
[470]35
36
37; XT-CF Control Register (do not SHL 1 these!)
38XTCF_CONTROL_REGISTER EQU 1Fh
39XTCT_CONTROL_REGISTER_INVERTED_in EQU 1Eh
40
[471]41; Control Register contents:
42;
43; Control Register holds high byte from Sector Window segment if >= A0h
44; (First possible segment for Sector Window is A000h)
45;
46; 8-bit PIO transfers (port I/O) are used if Control Register is zero.
47; Any other value means DMA transfers (using DMA channel 3).
[479]48XTCF_8BIT_PIO_MODE EQU 0
49XTCF_DMA_MODE EQU 10h
50XTCF_MEMORY_MAPPED_MODE EQU 0A0h
51RAISE_DRQ_AND_CLEAR_XTCF_XFER_COUNTER EQU 40h
[470]52
53
[473]54
[471]55; Subcommands for AH=1Eh, Lo-tech XT-CF features.
56; Return values common for all subcommands:
57; AH: RET_HD_SUCCESS if drive is XT-CF
58; RET_HD_INVALID if drive is not XT-CF
59; CF: 0 if successful, 1 if error
[470]60
[471]61;--------------------------------------------------------------------
62; IS_THIS_DRIVE_XTCF
63; Parameters:
64; DL: Drive Number
65;--------------------------------------------------------------------
66IS_THIS_DRIVE_XTCF EQU 0
67
68;--------------------------------------------------------------------
69; READ_XTCF_CONTROL_REGISTER_TO_DH
70; Parameters:
71; DL: Drive Number
72; Returns:
73; DH: XT-CF Control Register contents
74;--------------------------------------------------------------------
[472]75READ_XTCF_CONTROL_REGISTER_TO_DH EQU 1
[471]76
77;--------------------------------------------------------------------
78; WRITE_DH_TO_XTCF_CONTROL_REGISTER
79; Parameters:
80; DH: Byte to write to XT-CF Control Register
81; DL: Drive Number
82;--------------------------------------------------------------------
[472]83WRITE_DH_TO_XTCF_CONTROL_REGISTER EQU 2
[471]84
85
[470]86%endif ; XTCF_INC
Note: See TracBrowser for help on using the repository browser.