summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/includes/scramble.h
blob: 7afbacb3a84c51b4b1d74da8b0dc0656e4a1d6ef (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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#include "machine/i8255.h"
#include "includes/galaxold.h"

class scramble_state : public galaxold_state
{
public:
	scramble_state(const machine_config &mconfig, device_type type, const char *tag)
		: galaxold_state(mconfig, type, tag),
		  m_ppi8255_0(*this, "ppi8255_0"),
		  m_ppi8255_1(*this, "ppi8255_1"),
		  m_soundram(*this, "soundram") { }

	optional_device<i8255_device>  m_ppi8255_0;
	optional_device<i8255_device>  m_ppi8255_1;
	optional_shared_ptr<UINT8> m_soundram;
	UINT8 m_cavelon_bank;
	UINT8 m_security_2B_counter;
	UINT8 m_xb;
	DECLARE_CUSTOM_INPUT_MEMBER(darkplnt_custom_r);
	DECLARE_CUSTOM_INPUT_MEMBER(ckongs_coinage_r);
	DECLARE_READ8_MEMBER(hncholms_prot_r);
	DECLARE_READ8_MEMBER(scramble_soundram_r);
	DECLARE_READ8_MEMBER(mars_ppi8255_0_r);
	DECLARE_READ8_MEMBER(mars_ppi8255_1_r);
	DECLARE_WRITE8_MEMBER(scramble_soundram_w);
	DECLARE_WRITE8_MEMBER(hotshock_sh_irqtrigger_w);
	DECLARE_WRITE8_MEMBER(scramble_filter_w);
	DECLARE_WRITE8_MEMBER(frogger_filter_w);
	DECLARE_WRITE8_MEMBER(mars_ppi8255_0_w);
	DECLARE_WRITE8_MEMBER(mars_ppi8255_1_w);
	DECLARE_DRIVER_INIT(cavelon);
	DECLARE_DRIVER_INIT(mariner);
	DECLARE_DRIVER_INIT(mrkougb);
	DECLARE_DRIVER_INIT(scramble_ppi);
	DECLARE_DRIVER_INIT(mars);
	DECLARE_DRIVER_INIT(ckongs);
	DECLARE_DRIVER_INIT(mimonscr);
	DECLARE_DRIVER_INIT(hotshock);
	DECLARE_DRIVER_INIT(ad2083);
	DECLARE_DRIVER_INIT(devilfsh);
	DECLARE_DRIVER_INIT(mrkougar);

	DECLARE_DRIVER_INIT(scobra);
	DECLARE_DRIVER_INIT(stratgyx);
	DECLARE_DRIVER_INIT(tazmani2);
	DECLARE_DRIVER_INIT(darkplnt);
	DECLARE_DRIVER_INIT(mimonkey);
	DECLARE_DRIVER_INIT(mimonsco);
	DECLARE_DRIVER_INIT(rescue);
	DECLARE_DRIVER_INIT(minefld);
	DECLARE_DRIVER_INIT(hustler);
	DECLARE_DRIVER_INIT(hustlerd);
	DECLARE_DRIVER_INIT(billiard);
	DECLARE_MACHINE_RESET(scramble);
	DECLARE_MACHINE_RESET(explorer);
};


/*----------- defined in machine/scramble.c -----------*/

extern const i8255_interface(scramble_ppi_0_intf);
extern const i8255_interface(scramble_ppi_1_intf);
extern const i8255_interface(stratgyx_ppi_1_intf);





DECLARE_READ8_HANDLER( triplep_pip_r );
DECLARE_READ8_HANDLER( triplep_pap_r );

DECLARE_READ8_HANDLER( hunchbks_mirror_r );
DECLARE_WRITE8_HANDLER( hunchbks_mirror_w );

DECLARE_READ8_DEVICE_HANDLER( scramble_protection_r );
DECLARE_WRITE8_DEVICE_HANDLER( scramble_protection_w );


/*----------- defined in audio/scramble.c -----------*/

void scramble_sh_init(running_machine &machine);
WRITE_LINE_DEVICE_HANDLER( scramble_sh_7474_q_callback );


DECLARE_READ8_DEVICE_HANDLER( scramble_portB_r );
DECLARE_READ8_DEVICE_HANDLER( frogger_portB_r );

DECLARE_READ8_DEVICE_HANDLER( hotshock_soundlatch_r );

DECLARE_WRITE8_DEVICE_HANDLER( scramble_sh_irqtrigger_w );
DECLARE_WRITE8_DEVICE_HANDLER( mrkougar_sh_irqtrigger_w );

MACHINE_CONFIG_EXTERN( ad2083_audio );