Example #1
0
 // handle clock changed
 protected override void device_clock_changed()
 {
     if (m_stream != null)
     {
         m_stream.set_sample_rate(m_chip.sample_rate(clock()));
     }
 }
Example #2
0
        //-------------------------------------------------
        //  interface_post_load - after we load a save
        //  state be sure to update the mixer stream's
        //  output sample rate
        //-------------------------------------------------
        public override void interface_post_load()
        {
            // mixer stream could be null if no inputs were specified
            if (m_mixer_stream != null)
            {
                m_mixer_stream.set_sample_rate((u32)device().machine().sample_rate());
            }

            // call our parent
            base.interface_post_load();
        }
Example #3
0
        //-------------------------------------------------
        //  interface_post_load - after we load a save
        //  state be sure to update the mixer stream's
        //  output sample rate
        //-------------------------------------------------
        public override void interface_post_load()
        {
            // Beware that there's not going to be a mixer stream if there was
            // no inputs
            if (m_mixer_stream != null)
            {
                m_mixer_stream.set_sample_rate(device().machine().sample_rate());
            }

            // call our parent
            base.interface_post_load();
        }
Example #4
0
        }                                                                                                                                          // note that directly connecting BC1 to A0 puts data on 0 and address on 1

        // use this when BC1 == !A0; here, BC1=0 selects 'latch address' and BC1=1 selects 'data'
        //DECLARE_WRITE8_MEMBER( address_data_w ) { ay8910_write_ym(offset & 1, data); }

        // bc1=a0, bc2=a1
        //DECLARE_WRITE8_MEMBER(write_bc1_bc2);

        //void set_volume(int channel,int volume);

        void ay_set_clock(int clock)
        {
            //throw new emu_unimplemented();
#if false
            // FIXME: this doesn't belong here, it should be an input pin exposed via devcb
            if (type() == YM2149 && (m_flags & YM2149_PIN26_LOW))
            {
                clock /= 2;
            }
#endif

            m_channel.set_sample_rate(clock / 8);
        }
Example #5
0
        protected override void device_clock_changed()
        {
            m_stream.set_sample_rate(clock());
            int prescaler = get_prescaler();

            if (prescaler != 0)
            {
                logerror("/{0} prescaler selected\n", prescaler);

                attotime half_period = clocks_to_attotime((u64)(prescaler / 2));
                m_vck_timer.adjust(half_period, 0, half_period);
            }
            else
            {
                logerror("VCK slave mode selected\n");
                m_vck_timer.adjust(attotime.never);
            }
        }
Example #6
0
        protected override void device_clock_changed()
        {
            int clock_multiple;

            /* adjust internal clock */
            m_namco_clock = (int)clock();
            for (clock_multiple = 0; m_namco_clock < INTERNAL_RATE; clock_multiple++)
            {
                m_namco_clock *= 2;
            }

            m_f_fracbits = clock_multiple + 15;

            /* adjust output clock */
            m_sample_rate = m_namco_clock;

            logerror("Namco: freq fractional bits = {0}: internal freq = {1}, output freq = {2}\n", m_f_fracbits, m_namco_clock, m_sample_rate);

            m_stream.set_sample_rate((u32)m_sample_rate);
        }