Previous 199869 Revisions Next

r26374 Saturday 23rd November, 2013 at 11:36:46 UTC by Osso
Updated maygay1b to use the n68681 device. (nw)
[src/mame/drivers]maygay1b.c
[src/mame/includes]maygay1b.h

trunk/src/mame/includes/maygay1b.h
r26373r26374
1010#include "cpu/m6809/m6809.h"
1111#include "video/awpvid.h"       //Fruit Machines Only
1212#include "machine/6821pia.h"
13#include "machine/68681.h"
13#include "machine/n68681.h"
1414#include "machine/meters.h"
1515#include "machine/roc10937.h"   // vfd
1616#include "machine/steppers.h"   // stepper motor
r26373r26374
4141public:
4242   maygay1b_state(const machine_config &mconfig, device_type type, const char *tag)
4343      : driver_device(mconfig, type, tag),
44         m_vfd(*this, "vfd"),
4544      m_maincpu(*this, "maincpu"),
46      m_msm6376(*this, "msm6376") {
45      m_vfd(*this, "vfd"),
46      m_msm6376(*this, "msm6376"),
47      m_duart68681(*this, "duart68681") {
4748      m_NMIENABLE = 0;
4849   }
4950
51   required_device<cpu_device> m_maincpu;
52   optional_device<roc10937_t> m_vfd;
53   optional_device<okim6376_device> m_msm6376;
54   required_device<duartn68681_device> m_duart68681;
55   
5056   UINT8 m_lamppos;
5157   int m_alpha_clock;
5258   int m_RAMEN;
r26373r26374
5965   TIMER_DEVICE_CALLBACK_MEMBER( maygay1b_nmitimer_callback );
6066   UINT8 m_Lamps[256];
6167   int m_optic_pattern;
62   optional_device<roc10937_t> m_vfd;
63   device_t *m_duart68681;
6468   i8279_state m_i8279[2];
6569   DECLARE_READ8_MEMBER(m1_8279_r);
6670   DECLARE_WRITE8_MEMBER(m1_8279_w);
r26373r26374
8084   DECLARE_WRITE8_MEMBER(m1_meter_w);
8185   DECLARE_READ8_MEMBER(m1_meter_r);
8286   DECLARE_READ8_MEMBER(m1_firq_trg_r);
87   DECLARE_WRITE_LINE_MEMBER(duart_irq_handler);
88   DECLARE_READ8_MEMBER(m1_duart_r);
8389   DECLARE_DRIVER_INIT(m1);
8490   virtual void machine_start();
8591   virtual void machine_reset();
8692   void update_outputs(i8279_state *chip, UINT16 which);
8793   void m1_stepper_reset();
88   required_device<cpu_device> m_maincpu;
89   optional_device<okim6376_device> m_msm6376;
9094};
trunk/src/mame/drivers/maygay1b.c
r26373r26374
472472void maygay1b_state::machine_reset()
473473{
474474   m_vfd->reset(); // reset display1
475   m_duart68681 = machine().device( "duart68681" );
476475   m1_stepper_reset();
477476}
478477
479478///////////////////////////////////////////////////////////////////////////
480479
481480// IRQ from Duart (hopper?)
482static void duart_irq_handler(device_t *device, int state, UINT8 vector)
481WRITE_LINE_MEMBER(maygay1b_state::duart_irq_handler)
483482{
484   maygay1b_state *drvstate = device->machine().driver_data<maygay1b_state>();
485   drvstate->m_maincpu->set_input_line(M6809_IRQ_LINE,  state?ASSERT_LINE:CLEAR_LINE);
483   m_maincpu->set_input_line(M6809_IRQ_LINE,  state?ASSERT_LINE:CLEAR_LINE);
486484   LOG(("6809 irq%d \n",state));
487485}
488486
r26373r26374
730728   awp_draw_reel(5);
731729}
732730
733static UINT8 m1_duart_r (device_t *device)
731READ8_MEMBER(maygay1b_state::m1_duart_r)
734732{
735   maygay1b_state *state = device->machine().driver_data<maygay1b_state>();
736   return ~(state->m_optic_pattern);
733   return ~(m_optic_pattern);
737734}
738735
739736WRITE8_MEMBER(maygay1b_state::m1_meter_w)
r26373r26374
821818   AM_RANGE(0x2040, 0x2041) AM_READWRITE(m1_8279_2_r,m1_8279_2_w)
822819//  AM_RANGE(0x2050, 0x2050)// SCAN on M1B
823820
824   AM_RANGE(0x2070, 0x207f) AM_DEVREADWRITE_LEGACY("duart68681", duart68681_r, duart68681_w )
821   AM_RANGE(0x2070, 0x207f) AM_DEVREADWRITE("duart68681", duartn68681_device, read, write )
825822
826823   AM_RANGE(0x2090, 0x2091) AM_DEVWRITE("aysnd", ay8910_device, address_data_w)
827824   AM_RANGE(0x20B0, 0x20B0) AM_READ(m1_meter_r)
r26373r26374
852849   DEVCB_NULL,
853850};
854851
855static const duart68681_config maygaym1_duart68681_config =
852static const duartn68681_config maygaym1_duart68681_config =
856853{
857   duart_irq_handler,
858   NULL,
859   m1_duart_r,
860   NULL
854   DEVCB_DRIVER_LINE_MEMBER(maygay1b_state, duart_irq_handler),
855   DEVCB_NULL,
856   DEVCB_NULL,
857   DEVCB_DRIVER_MEMBER(maygay1b_state, m1_duart_r),
858   DEVCB_NULL
861859};
862860
863861// machine driver for maygay m1 board /////////////////////////////////
r26373r26374
869867   MCFG_CPU_ADD("maincpu", M6809, M1_MASTER_CLOCK/2)
870868   MCFG_CPU_PROGRAM_MAP(m1_memmap)
871869
872   MCFG_DUART68681_ADD("duart68681", M1_DUART_CLOCK, maygaym1_duart68681_config)
870   MCFG_DUARTN68681_ADD("duart68681", M1_DUART_CLOCK, maygaym1_duart68681_config)
873871   MCFG_PIA6821_ADD("pia", m1_pia_intf)
874872   MCFG_MSC1937_ADD("vfd",0,RIGHT_TO_LEFT)
875873   MCFG_SPEAKER_STANDARD_MONO("mono")

Previous 199869 Revisions Next


© 1997-2024 The MAME Team