1 #ifndef UAE_IDECONTROLLERS_H
2 #define UAE_IDECONTROLLERS_H
3 
4 #include "uae/types.h"
5 #ifdef FSUAE
6 #include "uae/memory.h"
7 #endif
8 
9 // Other IDE controllers
10 
11 void idecontroller_free(void);
12 void idecontroller_reset(void);
13 void idecontroller_rethink(void);
14 void idecontroller_hsync(void);
15 
16 void gvp_add_ide_unit(int ch, struct uaedev_config_info *ci, struct romconfig *rc);
17 addrbank *gvp_ide_rom_autoconfig_init(struct romconfig*);
18 addrbank *gvp_ide_controller_autoconfig_init(struct romconfig*);
19 
20 void alf_add_ide_unit(int ch, struct uaedev_config_info *ci, struct romconfig *rc);
21 addrbank *alf_init(struct romconfig*);
22 
23 void apollo_add_ide_unit(int ch, struct uaedev_config_info *ci, struct romconfig *rc);
24 addrbank *apollo_init_hd(struct romconfig*);
25 addrbank *apollo_init_cpu(struct romconfig*);
26 
27 void masoboshi_add_idescsi_unit (int ch, struct uaedev_config_info *ci, struct romconfig *rc);
28 addrbank *masoboshi_init(struct romconfig*);
29 
30 void adide_add_ide_unit(int ch, struct uaedev_config_info *ci, struct romconfig *rc);
31 addrbank *adide_init(struct romconfig *rc);
32 
33 void mtec_add_ide_unit(int ch, struct uaedev_config_info *ci, struct romconfig *rc);
34 addrbank *mtec_init(struct romconfig *rc);
35 
36 addrbank *rochard_init(struct romconfig *rc);
37 void rochard_add_idescsi_unit(int ch, struct uaedev_config_info *ci, struct romconfig *rc);
38 
39 addrbank *golemfast_init(struct romconfig *rc);
40 void golemfast_add_idescsi_unit(int ch, struct uaedev_config_info *ci, struct romconfig *rc);
41 
42 uae_u32 REGPARAM3 apollo_ide_lget (uaecptr addr) REGPARAM;
43 uae_u32 REGPARAM3 apollo_ide_wget (uaecptr addr) REGPARAM;
44 uae_u32 REGPARAM3 apollo_ide_bget (uaecptr addr) REGPARAM;
45 void REGPARAM3 apollo_ide_lput (uaecptr addr, uae_u32 l) REGPARAM;
46 void REGPARAM3 apollo_ide_wput (uaecptr addr, uae_u32 w) REGPARAM;
47 void REGPARAM3 apollo_ide_bput (uaecptr addr, uae_u32 b) REGPARAM;
48 extern const uae_u8 apollo_autoconfig[16];
49 extern const uae_u8 apollo_autoconfig_060[16];
50 
51 void x86_ide_hd_put(int portnum, uae_u16 v, int);
52 uae_u16 x86_ide_hd_get(int portnum, int);
53 addrbank *x86_at_hd_init_1(struct romconfig *rc);
54 void x86_add_at_hd_unit_1(int ch, struct uaedev_config_info *ci, struct romconfig *rc);
55 addrbank *x86_at_hd_init_2(struct romconfig *rc);
56 void x86_add_at_hd_unit_2(int ch, struct uaedev_config_info *ci, struct romconfig *rc);
57 addrbank *x86_at_hd_init_xt(struct romconfig *rc);
58 void x86_add_at_hd_unit_xt(int ch, struct uaedev_config_info *ci, struct romconfig *rc);
59 
60 #endif /* UAE_IDECONTROLLERS_H */
61