Example #1
0
 public handler_entry_write_delegate(address_space space, object /*WRITE*/ delegate_) : base(space, 0)
 {
     if (delegate_ is write8_delegate)
     {
         m_delegate8 = (write8_delegate)delegate_;
     }
     else if (delegate_ is write8sm_delegate)
     {
         m_delegate8sm = (write8sm_delegate)delegate_;
     }
     else if (delegate_ is write8smo_delegate)
     {
         m_delegate8smo = (write8smo_delegate)delegate_;
     }
     else if (delegate_ is write16_delegate)
     {
         m_delegate16 = (write16_delegate)delegate_;
     }
     else if (delegate_ is write16s_delegate)
     {
         m_delegate16s = (write16s_delegate)delegate_;
     }
     else if (delegate_ is write16smo_delegate)
     {
         m_delegate16smo = (write16smo_delegate)delegate_;
     }
     else
     {
         throw new emu_unimplemented();
     }
 }
Example #2
0
        //template<typename W>
        //    std::enable_if_t<std::is_same<W, write8mo_delegate>::value ||
        //                     std::is_same<W, write16mo_delegate>::value ||
        //                     std::is_same<W, write32mo_delegate>::value ||
        //                     std::is_same<W, write64mo_delegate>::value,
        //                     void> write_impl(offs_t offset, uX data, uX mem_mask);

        //template<typename W>
        //    std::enable_if_t<std::is_same<W, write8smo_delegate>::value ||
        //                     std::is_same<W, write16smo_delegate>::value ||
        //                     std::is_same<W, write32smo_delegate>::value ||
        //                     std::is_same<W, write64smo_delegate>::value,
        //                     void> write_impl(offs_t offset, uX data, uX mem_mask);
        void write_impl(write8smo_delegate delegate_, offs_t offset, uX data, uX mem_mask)
        {
            m_delegate8smo(data.u8);  //m_delegate(data);
        }