2016-11-12 15:06:38 +01:00
|
|
|
/* Copyright holders: Sarah Walker, Tenshi, SA1988
|
2016-08-14 22:07:17 -04:00
|
|
|
see COPYING for more details
|
|
|
|
|
*/
|
2016-06-26 00:34:39 +02:00
|
|
|
#ifndef __IDE__
|
|
|
|
|
#define __IDE__
|
|
|
|
|
|
|
|
|
|
struct IDE;
|
|
|
|
|
|
|
|
|
|
extern void writeide(int ide_board, uint16_t addr, uint8_t val);
|
|
|
|
|
extern void writeidew(int ide_board, uint16_t val);
|
|
|
|
|
extern uint8_t readide(int ide_board, uint16_t addr);
|
|
|
|
|
extern uint16_t readidew(int ide_board);
|
|
|
|
|
extern void callbackide(int ide_board);
|
|
|
|
|
extern void resetide(void);
|
|
|
|
|
extern void ide_init();
|
|
|
|
|
extern void ide_ter_init();
|
2016-12-28 23:34:00 +01:00
|
|
|
extern void ide_qua_init();
|
2016-06-26 00:34:39 +02:00
|
|
|
extern void ide_pri_enable();
|
|
|
|
|
extern void ide_sec_enable();
|
|
|
|
|
extern void ide_ter_enable();
|
2016-12-28 23:34:00 +01:00
|
|
|
extern void ide_qua_enable();
|
2016-06-26 00:34:39 +02:00
|
|
|
extern void ide_pri_disable();
|
|
|
|
|
extern void ide_sec_disable();
|
|
|
|
|
extern void ide_ter_disable();
|
2016-12-28 23:34:00 +01:00
|
|
|
extern void ide_qua_disable();
|
2016-06-26 00:34:39 +02:00
|
|
|
extern void ide_set_bus_master(int (*read_sector)(int channel, uint8_t *data), int (*write_sector)(int channel, uint8_t *data), void (*set_irq)(int channel));
|
|
|
|
|
|
|
|
|
|
extern int ideboard;
|
|
|
|
|
|
2016-12-28 23:34:00 +01:00
|
|
|
extern int ide34_enable[2];
|
|
|
|
|
extern int ide34_irq[2];
|
2016-06-26 00:34:39 +02:00
|
|
|
|
2016-12-28 23:34:00 +01:00
|
|
|
extern int idecallback[4];
|
|
|
|
|
|
|
|
|
|
extern char ide_fn[IDE_NUM][512];
|
2016-06-26 00:34:39 +02:00
|
|
|
|
2016-11-12 15:06:38 +01:00
|
|
|
extern int atapi_cdrom_channel;
|
2016-06-26 00:34:39 +02:00
|
|
|
|
|
|
|
|
#endif //__IDE__
|