1 // license:BSD-3-Clause 2 // copyright-holders:David Haywood 3 4 #ifndef MAME_INCLUDES_MEGADRIV_ACBL_H 5 #define MAME_INCLUDES_MEGADRIV_ACBL_H 6 7 class md_boot_state : public md_base_state 8 { 9 public: md_boot_state(const machine_config & mconfig,device_type type,const char * tag)10 md_boot_state(const machine_config &mconfig, device_type type, const char *tag) 11 : md_base_state(mconfig, type, tag) { m_protcount = 0;} 12 13 void megadrvb(machine_config &config); 14 void megadrvb_6b(machine_config &config); 15 void md_bootleg(machine_config &config); 16 void puckpkmn(machine_config &config); 17 void jzth(machine_config &config); 18 void puckpkmna(machine_config &config); 19 20 void init_aladmdb(); 21 void init_mk3mdb(); 22 void init_ssf2mdb(); 23 void init_srmdb(); 24 void init_topshoot(); 25 void init_puckpkmn(); 26 void init_hshavoc(); 27 void init_barek2(); 28 void init_barek3(); 29 void init_bk3ssrmb(); 30 void init_sonic2mb(); 31 void init_twinktmb(); 32 void init_jparkmb(); 33 void init_sbubsm(); 34 35 private: 36 void bl_710000_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); 37 uint16_t bl_710000_r(); 38 void aladmdb_w(uint16_t data); 39 uint16_t aladmdb_r(); 40 uint16_t barek2mb_r(); 41 uint16_t jparkmb_r(); 42 uint16_t twinktmb_r(); 43 uint16_t dsw_r(offs_t offset); 44 uint16_t topshoot_200051_r(); 45 uint16_t sbubsm_400000_r(); 46 uint16_t sbubsm_400002_r(); 47 uint16_t puckpkmna_70001c_r(); 48 uint16_t puckpkmna_4b2476_r(); 49 DECLARE_MACHINE_START(md_bootleg)50 DECLARE_MACHINE_START(md_bootleg) { MACHINE_START_CALL_MEMBER(megadriv); m_vdp->stop_timers(); } 51 DECLARE_MACHINE_START(md_6button); 52 53 void jzth_map(address_map &map); 54 void md_bootleg_map(address_map &map); 55 void puckpkmn_map(address_map &map); 56 void puckpkmna_map(address_map &map); 57 58 // bootleg specific 59 int m_aladmdb_mcu_port; 60 61 int m_protcount; 62 }; 63 64 #endif // MAME_INCLUDES_MEGADRIV_ACBL_H 65