1 // license:BSD-3-Clause
2 // copyright-holders:David Haywood
3 /* Sega SP (Spider)
4 
5  Naomi derived platform
6 
7 */
8 
9 #include "naomi.h"
10 
11 class segasp_state : public naomi_state
12 {
13 public:
segasp_state(const machine_config & mconfig,device_type type,const char * tag)14 	segasp_state(const machine_config &mconfig, device_type type, const char *tag)
15 		: naomi_state(mconfig, type, tag),
16 		m_sp_eeprom(*this, "sp_eeprom")
17 	{   }
18 
19 	void segasp(machine_config &config);
20 
21 	void init_segasp();
22 
23 private:
24 	required_device<eeprom_serial_93cxx_device> m_sp_eeprom;
25 
26 	uint64_t sp_eeprom_r(offs_t offset, uint64_t mem_mask = ~0);
27 	void sp_eeprom_w(offs_t offset, uint64_t data, uint64_t mem_mask = ~0);
28 	uint64_t sp_rombdflg_r();
29 	uint64_t sp_io_r(offs_t offset, uint64_t mem_mask = ~0);
30 	uint64_t sn_93c46a_r();
31 	void sn_93c46a_w(uint64_t data);
32 	uint64_t sp_bank_r(offs_t offset, uint64_t mem_mask = ~0);
33 	void sp_bank_w(offs_t offset, uint64_t data, uint64_t mem_mask = ~0);
34 	uint16_t m_sp_bank;
35 
36 	void onchip_port(address_map &map);
37 	void segasp_map(address_map &map);
38 };
39