trunk/src/mame/drivers/gts3.c
r32796 | r32797 | |
1 | | /* |
2 | | Gottlieb System 3 |
3 | | */ |
| 1 | /**************************************************************************************************** |
4 | 2 | |
| 3 | PINBALL |
| 4 | Gottlieb System 3 |
5 | 5 | |
6 | | #include "emu.h" |
| 6 | *****************************************************************************************************/ |
| 7 | |
| 8 | #include "machine/genpin.h" |
7 | 9 | #include "cpu/m6502/m65c02.h" |
| 10 | #include "machine/6522via.h" |
| 11 | #include "gts3.lh" |
8 | 12 | |
9 | 13 | class gts3_state : public driver_device |
10 | 14 | { |
11 | 15 | public: |
12 | 16 | gts3_state(const machine_config &mconfig, device_type type, const char *tag) |
13 | | : driver_device(mconfig, type, tag), |
14 | | m_maincpu(*this, "maincpu") |
| 17 | : driver_device(mconfig, type, tag) |
| 18 | , m_maincpu(*this, "maincpu") |
| 19 | , m_u4(*this, "u4") |
| 20 | , m_u5(*this, "u5") |
15 | 21 | { } |
16 | 22 | |
17 | | protected: |
18 | | |
19 | | // devices |
20 | | required_device<cpu_device> m_maincpu; |
21 | | |
22 | | // driver_device overrides |
| 23 | DECLARE_DRIVER_INIT(gts3); |
| 24 | private: |
23 | 25 | virtual void machine_reset(); |
24 | | public: |
25 | | DECLARE_DRIVER_INIT(gts3); |
| 26 | required_device<m65c02_device> m_maincpu; |
| 27 | required_device<via6522_device> m_u4; |
| 28 | required_device<via6522_device> m_u5; |
26 | 29 | }; |
27 | 30 | |
28 | 31 | |
29 | 32 | static ADDRESS_MAP_START( gts3_map, AS_PROGRAM, 8, gts3_state ) |
30 | | AM_RANGE(0x0000, 0xffff) AM_NOP |
| 33 | AM_RANGE(0x0000, 0x1fff) AM_RAM AM_SHARE("nvram") |
| 34 | AM_RANGE(0x2000, 0x200f) AM_DEVREADWRITE("u4", via6522_device, read, write) |
| 35 | AM_RANGE(0x2010, 0x201f) AM_DEVREADWRITE("u5", via6522_device, read, write) |
| 36 | AM_RANGE(0x4000, 0xffff) AM_ROM |
31 | 37 | ADDRESS_MAP_END |
32 | 38 | |
33 | 39 | static INPUT_PORTS_START( gts3 ) |
r32796 | r32797 | |
37 | 43 | { |
38 | 44 | } |
39 | 45 | |
40 | | DRIVER_INIT_MEMBER(gts3_state,gts3) |
| 46 | DRIVER_INIT_MEMBER( gts3_state, gts3 ) |
41 | 47 | { |
42 | 48 | } |
43 | 49 | |
44 | 50 | static MACHINE_CONFIG_START( gts3, gts3_state ) |
45 | 51 | /* basic machine hardware */ |
46 | | MCFG_CPU_ADD("maincpu", M65C02, 2000000) |
| 52 | MCFG_CPU_ADD("maincpu", M65C02, XTAL_4MHz / 2) |
47 | 53 | MCFG_CPU_PROGRAM_MAP(gts3_map) |
| 54 | |
| 55 | /* Video */ |
| 56 | MCFG_DEFAULT_LAYOUT(layout_gts3) |
| 57 | |
| 58 | /* Sound */ |
| 59 | MCFG_FRAGMENT_ADD( genpin_audio ) |
| 60 | |
| 61 | MCFG_DEVICE_ADD("u4", VIA6522, 0) |
| 62 | MCFG_VIA6522_IRQ_HANDLER(DEVWRITELINE("maincpu", m65c02_device, irq_line)) |
| 63 | //MCFG_VIA6522_READPA_HANDLER(WRITE8(gts3_state, u4a_r)) |
| 64 | //MCFG_VIA6522_READPB_HANDLER(WRITE8(gts3_state, u4b_r)) |
| 65 | //MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(gts3_state, u4b_w)) |
| 66 | //MCFG_VIA6522_CA2_HANDLER(WRITELINE(gts3_state, u4ca2_w)) |
| 67 | MCFG_VIA6522_CB2_HANDLER(DEVWRITELINE("maincpu", m65c02_device, nmi_line)) |
| 68 | |
| 69 | MCFG_DEVICE_ADD("u5", VIA6522, 0) |
| 70 | MCFG_VIA6522_IRQ_HANDLER(DEVWRITELINE("maincpu", m65c02_device, irq_line)) |
| 71 | //MCFG_VIA6522_READPA_HANDLER(WRITE8(gts3_state, u5a_r)) |
| 72 | //MCFG_VIA6522_READPB_HANDLER(WRITE8(gts3_state, u5b_r)) |
| 73 | //MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(gts3_state, u5b_w)) |
| 74 | //MCFG_VIA6522_CA2_HANDLER(WRITELINE(gts3_state, u5ca2_w)) |
| 75 | //MCFG_VIA6522_CB1_HANDLER(WRITELINE(gts3_state, u5cb1_w)) |
| 76 | //MCFG_VIA6522_CB2_HANDLER(WRITELINE(gts3_state, u5cb2_w)) |
48 | 77 | MACHINE_CONFIG_END |
49 | 78 | |
50 | 79 | /*------------------------------------------------------------------- |
51 | | / Amazon Hunt III |
| 80 | / Amazon Hunt III (#684D) |
52 | 81 | /-------------------------------------------------------------------*/ |
53 | 82 | |
54 | 83 | /*------------------------------------------------------------------- |