Previous 199869 Revisions Next

r33390 Saturday 15th November, 2014 at 12:41:20 UTC by Angelo Salese
Add irq mask and irq, hangs attempting to play.
[src/mame/drivers]alinvade.c

trunk/src/mame/drivers/alinvade.c
r241901r241902
1515public:
1616   alinvade_state(const machine_config &mconfig, device_type type, const char *tag)
1717      : driver_device(mconfig, type, tag),
18       m_maincpu(*this, "maincpu"),
1819         m_videoram(*this, "videoram")
1920   { }
20
21   
22   UINT8 irqmask;
23   DECLARE_WRITE8_MEMBER(irqmask_w);
24   INTERRUPT_GEN_MEMBER(vblank_irq);
25   required_device<cpu_device> m_maincpu;
2126   required_shared_ptr<UINT8> m_videoram;
2227
2328public:
r241901r241902
2631   UINT32 screen_update_alinvade(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
2732};
2833
34WRITE8_MEMBER(alinvade_state::irqmask_w)
35{
36      irqmask = data;
37}
2938
30
3139static ADDRESS_MAP_START( alinvade_map, AS_PROGRAM, 8, alinvade_state )
3240    AM_RANGE(0x0000, 0x01ff) AM_RAM
3341    AM_RANGE(0x0400, 0x0bff) AM_RAM AM_SHARE("videoram")
42   AM_RANGE(0x0c00, 0x0fff) AM_RAM
3443    AM_RANGE(0x2000, 0x2000) AM_WRITENOP //??
3544    AM_RANGE(0x4000, 0x4000) AM_READ_PORT("COIN")
3645    AM_RANGE(0x6000, 0x6000) AM_READ_PORT("DSW")
r241901r241902
4352    AM_RANGE(0xc400, 0xc7ff) AM_ROM
4453    AM_RANGE(0xc800, 0xcbff) AM_ROM
4554    AM_RANGE(0xe000, 0xe3ff) AM_ROM
46    AM_RANGE(0xe400, 0xe400) AM_WRITENOP //??
55    AM_RANGE(0xe400, 0xe400) AM_WRITE(irqmask_w) //??
4756    AM_RANGE(0xe800, 0xe800) AM_READNOP AM_WRITENOP //??
4857    AM_RANGE(0xec00, 0xffff) AM_ROM
4958ADDRESS_MAP_END
r241901r241902
121130   return 0;
122131}
123132
133INTERRUPT_GEN_MEMBER(alinvade_state::vblank_irq)
134{
135   if(irqmask & 1)
136      m_maincpu->set_input_line(0,HOLD_LINE);
137}
124138
139
140
141
125142static MACHINE_CONFIG_START( alinvade, alinvade_state )
126143
127144   /* basic machine hardware */
128145   MCFG_CPU_ADD("maincpu", M6502,2000000)         /* ? MHz */
129146   MCFG_CPU_PROGRAM_MAP(alinvade_map)
130//   MCFG_CPU_VBLANK_INT_DRIVER("screen", alinvade_state,  irq0_line_hold)
147   MCFG_CPU_VBLANK_INT_DRIVER("screen", alinvade_state,  vblank_irq)
131148
132149   /* video hardware */
133150   MCFG_SCREEN_ADD("screen", RASTER)


Previous 199869 Revisions Next


© 1997-2024 The MAME Team