summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/machine/idectrl.h
blob: a73929bc1f877ca5c67b84bdb692aafbeca7fc2b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/***************************************************************************

    Generic (PC-style) IDE controller implementation

***************************************************************************/

#include "harddisk.h"


#define MAX_IDE_CONTROLLERS			1

struct ide_interface
{
	void 	(*interrupt)(int state);
};

int ide_controller_init(int which, const struct ide_interface *intf);
int ide_controller_init_custom(int which, const struct ide_interface *intf, chd_file *diskhandle);
void ide_controller_reset(int which);
UINT8 *ide_get_features(int which);

void ide_set_master_password(int which, const UINT8 *password);
void ide_set_user_password(int which, const UINT8 *password);

int ide_bus_0_r(int select, int offset);
void ide_bus_0_w(int select, int offset, int data);

int ide_controller_0_r(int reg);
void ide_controller_0_w(int reg, int data);

READ32_HANDLER( ide_controller32_0_r );
WRITE32_HANDLER( ide_controller32_0_w );
READ32_HANDLER( ide_bus_master32_0_r );
WRITE32_HANDLER( ide_bus_master32_0_w );

READ16_HANDLER( ide_controller16_0_r );
WRITE16_HANDLER( ide_controller16_0_w );