summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/machine/pgmprot_orlegend.h
blob: 110795c6c94d7add3c67b91958a7e38c0e1b55bd (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// license:BSD-3-Clause
// copyright-holders:Olivier Galibert, iq_132
/* for machine/pgmprot_orlegend.c type games */

class pgm_asic3_state : public pgm_state
{
public:
	pgm_asic3_state(const machine_config &mconfig, device_type type, const char *tag)
		: pgm_state(mconfig, type, tag) {
	}

	// ASIC 3 (oriental legends protection)
	uint8_t         m_asic3_reg;
	uint8_t         m_asic3_latch[3];
	uint8_t         m_asic3_x;
	uint16_t        m_asic3_hilo;
	uint16_t        m_asic3_hold;

	void init_orlegend();
	void asic3_compute_hold(int,int);
	DECLARE_READ16_MEMBER( pgm_asic3_r );
	DECLARE_WRITE16_MEMBER( pgm_asic3_w );
	void pgm_asic3(machine_config &config);
};

INPUT_PORTS_EXTERN( orlegend );
INPUT_PORTS_EXTERN( orlegendt );
INPUT_PORTS_EXTERN( orlegendk );