1 // license:BSD-3-Clause
2 // copyright-holders:David Haywood
3 
4 #ifndef MAME_INCLUDES_MEGADRIV_RAD_H
5 #define MAME_INCLUDES_MEGADRIV_RAD_H
6 
7 class megadriv_radica_state : public md_base_state
8 {
9 public:
megadriv_radica_state(const machine_config & mconfig,device_type type,const char * tag)10 	megadriv_radica_state(const machine_config &mconfig, device_type type, const char *tag)
11 		: md_base_state(mconfig, type, tag),
12 		m_bank(0),
13 		m_rom(*this, "maincpu")
14 	{}
15 
16 	void init_megadriv_radica_6button_pal();
17 	void init_megadriv_radica_6button_ntsc();
18 
19 	DECLARE_MACHINE_START(megadriv_radica_6button);
20 	DECLARE_MACHINE_START(megadriv_radica_3button);
21 	DECLARE_MACHINE_RESET(megadriv_radica);
22 
23 	uint16_t read(offs_t offset);
24 	uint16_t read_a13(offs_t offset);
25 
26 	void megadriv_radica_6button_ntsc(machine_config &config);
27 	void megadriv_radica_6button_pal(machine_config &config);
28 	void megadriv_radica_3button_ntsc(machine_config &config);
29 	void megadriv_radica_3button_pal(machine_config &config);
30 
31 	void megadriv_radica_map(address_map &map);
32 private:
33 	int m_bank;
34 	required_region_ptr<uint16_t> m_rom;
35 };
36 
37 #endif // MAME_INCLUDES_MEGADRIV_RAD_H
38