Previous 199869 Revisions Next

r31352 Monday 21st July, 2014 at 09:27:27 UTC by Robbbert
Spectra : fixed assert when K pressed.
[src/mame/drivers]spectra.c

trunk/src/mame/drivers/spectra.c
r31351r31352
2727{
2828public:
2929   spectra_state(const machine_config &mconfig, device_type type, const char *tag)
30      : genpin_class(mconfig, type, tag),
31   m_maincpu(*this, "maincpu"),
32   m_snsnd(*this, "snsnd"),
33   m_p_ram(*this, "ram")
30      : genpin_class(mconfig, type, tag)
31      , m_maincpu(*this, "maincpu")
32      , m_snsnd(*this, "snsnd")
33      , m_p_ram(*this, "nvram")
3434   { }
3535
3636   DECLARE_READ8_MEMBER(porta_r);
r31351r31352
3939   DECLARE_WRITE8_MEMBER(portb_w);
4040   TIMER_DEVICE_CALLBACK_MEMBER(nmitimer);
4141   TIMER_DEVICE_CALLBACK_MEMBER(outtimer);
42protected:
43
44   // devices
45   required_device<cpu_device> m_maincpu;
46   required_device<sn76477_device> m_snsnd;
47   required_shared_ptr<UINT8> m_p_ram;
48
49   // driver_device overrides
50   virtual void machine_reset();
5142private:
5243   UINT8 m_porta;
5344   UINT8 m_portb;
5445   UINT8 m_t_c;
5546   UINT8 m_out_offs;
47   virtual void machine_reset();
48   required_device<cpu_device> m_maincpu;
49   required_device<sn76477_device> m_snsnd;
50   required_shared_ptr<UINT8> m_p_ram;
5651};
5752
5853
5954static ADDRESS_MAP_START( spectra_map, AS_PROGRAM, 8, spectra_state )
6055   ADDRESS_MAP_UNMAP_HIGH
6156   ADDRESS_MAP_GLOBAL_MASK(0xfff)
62   AM_RANGE(0x0000, 0x00ff) AM_RAM AM_SHARE("ram") // battery backed, 2x 5101L
57   AM_RANGE(0x0000, 0x00ff) AM_RAM AM_SHARE("nvram") // battery backed, 2x 5101L
6358   AM_RANGE(0x0100, 0x017f) AM_RAM // RIOT RAM
6459   AM_RANGE(0x0180, 0x019f) AM_DEVREADWRITE("riot", riot6532_device, read, write)
6560   AM_RANGE(0x0400, 0x0fff) AM_ROM
r31351r31352
148143   if (BIT(data, 1)) vco -= 0.625;
149144   if (BIT(data, 2)) vco -= 1.25;
150145   if (BIT(data, 3)) vco -= 2.5;
151   m_snsnd->vco_voltage_w(5.4 - vco);
146   m_snsnd->vco_voltage_w(5.3125 - vco);
152147   m_snsnd->enable_w(!BIT(data, 4)); // strobe: toggles enable
153148   m_snsnd->envelope_1_w(!BIT(data, 5)); //decay: toggles envelope
154149   m_snsnd->vco_w(BIT(data, 6)); // "phaser" sound: VCO toggled
r31351r31352
238233   MCFG_RIOT6532_OUT_PB_CB(WRITE8(spectra_state, portb_w))
239234   MCFG_RIOT6532_IRQ_CB(INPUTLINE("maincpu", M6502_IRQ_LINE))
240235
241   MCFG_NVRAM_ADD_1FILL("ram")
236   MCFG_NVRAM_ADD_1FILL("nvram")
242237
243238   MCFG_TIMER_DRIVER_ADD_PERIODIC("nmitimer", spectra_state, nmitimer, attotime::from_hz(120))
244239   MCFG_TIMER_DRIVER_ADD_PERIODIC("outtimer", spectra_state, outtimer, attotime::from_hz(1200))

Previous 199869 Revisions Next


© 1997-2024 The MAME Team