summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/includes/atarisy2.h
blob: 16f4f11284f762a38c425c0c27b84288aa372b7e (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
/*************************************************************************

    Atari System 2 hardware

*************************************************************************/

#include "machine/atarigen.h"

class atarisy2_state : public atarigen_state
{
public:
	atarisy2_state(running_machine &machine, const driver_device_config_base &config)
		: atarigen_state(machine, config) { }

	UINT16 *		slapstic_base;

	UINT8			interrupt_enable;
	UINT16 *		bankselect;

	INT8			pedal_count;

	UINT8			has_tms5220;

	UINT8			which_adc;

	UINT8			p2portwr_state;
	UINT8			p2portrd_state;

	UINT16 *		rombank1;
	UINT16 *		rombank2;

	UINT8			sound_reset_state;

	emu_timer *		yscroll_reset_timer;
	UINT32			playfield_tile_bank[2];
	UINT32			videobank;

	// 720 fake joystick
	double			joy_last_angle;
	int				joy_rotations;

	// 720 fake spinner
	UINT32			spin_last_rotate_count;
	INT32			spin_pos;					/* track fake position of spinner */
	UINT32			spin_center_count;

	UINT16			vram[0x8000/2];
};


/*----------- defined in video/atarisy2.c -----------*/

READ16_HANDLER( atarisy2_slapstic_r );
READ16_HANDLER( atarisy2_videoram_r );

WRITE16_HANDLER( atarisy2_slapstic_w );
WRITE16_HANDLER( atarisy2_yscroll_w );
WRITE16_HANDLER( atarisy2_xscroll_w );
WRITE16_HANDLER( atarisy2_videoram_w );
WRITE16_HANDLER( atarisy2_paletteram_w );

VIDEO_START( atarisy2 );
VIDEO_UPDATE( atarisy2 );