Previous 199869 Revisions Next

r17624 Monday 3rd September, 2012 at 21:25:04 UTC by Curt Coder
(MESS) crvision: Converted to use new sn76494_device. (nw)
[src/emu/sound]sn76496.c sn76496.h
[src/mess/drivers]crvision.c
[src/mess/includes]crvision.h

trunk/src/emu/sound/sn76496.c
r17623r17624
870870   else fatalerror("sn76496_base_device: Call to stereo write with mono chip!\n");
871871}
872872
873WRITE8_MEMBER( sn76496_base_device::write )
873void sn76496_base_device::write(UINT8 data)
874874{
875875   int n, r, c;
876876
r17623r17624
936936   }
937937}
938938
939WRITE8_MEMBER( sn76496_base_device::write )
940{
941   write(data);
942}
943
939944inline bool sn76496_base_device::in_noise_mode()
940945{
941946   return ((m_register[6] & 4)!=0);
trunk/src/emu/sound/sn76496.h
r17623r17624
189189      device_t *owner, UINT32 clock);
190190   DECLARE_READ_LINE_MEMBER( ready_r );
191191   DECLARE_WRITE8_MEMBER( stereo_w );
192   void write(UINT8 data);
192193   DECLARE_WRITE8_MEMBER( write );
193194
194195protected:
trunk/src/mess/includes/crvision.h
r17623r17624
4242
4343   required_device<cpu_device> m_maincpu;
4444   required_device<pia6821_device> m_pia;
45   required_device<device_t> m_psg;
45   required_device<sn76496_base_device> m_psg;
4646   required_device<cassette_image_device> m_cassette;
4747   required_device<centronics_device> m_centronics;
4848   required_device<ram_device> m_ram;
trunk/src/mess/drivers/crvision.c
r17623r17624
497497    TMS9928a_interface tms9918_intf
498498-------------------------------------------------*/
499499
500static WRITE_LINE_DEVICE_HANDLER(crvision_vdp_interrupt)
500static TMS9928A_INTERFACE( vdp_intf )
501501{
502   cputag_set_input_line(device->machine(), M6502_TAG, INPUT_LINE_IRQ0, state);
503}
504
505static TMS9928A_INTERFACE(crvision_tms9928a_interface)
506{
507   "screen",
502   SCREEN_TAG,
508503   0x4000,
509   DEVCB_LINE(crvision_vdp_interrupt)
504   DEVCB_CPU_INPUT_LINE(M6502_TAG, INPUT_LINE_IRQ0)
510505};
511506
512507/*-------------------------------------------------
r17623r17624
616611   DEVCB_DRIVER_MEMBER(crvision_state, pia_pa_r),      // input A
617612   DEVCB_DRIVER_MEMBER(crvision_state, pia_pb_r),      // input B
618613   DEVCB_LINE_VCC,                              // input CA1 (+5V)
619   DEVCB_DEVICE_LINE(SN76489_TAG, sn76496_ready_r),   // input CB1
614   DEVCB_DEVICE_LINE_MEMBER(SN76489_TAG, sn76496_base_device, ready_r),   // input CB1
620615   DEVCB_LINE_VCC,                              // input CA2 (+5V)
621616   DEVCB_LINE_VCC,                              // input CB2 (+5V)
622617   DEVCB_DRIVER_MEMBER(crvision_state, pia_pa_w),      // output A
623   DEVCB_DEVICE_HANDLER(SN76489_TAG, sn76496_w),      // output B
618   DEVCB_DEVICE_MEMBER(SN76489_TAG, sn76496_base_device, write),      // output B
624619   DEVCB_NULL,                                 // output CA2
625620   DEVCB_NULL,                                 // output CB2 (SN76489 pin CE_)
626621   DEVCB_NULL,                                 // irq A
r17623r17624
723718READ_LINE_MEMBER( laser2001_state::pia_cb1_r )
724719{
725720   /* actually this is a diode-AND (READY & _BUSY), but ctronics.c returns busy status if printer image is not mounted -> Manager won't boot */
726   return sn76496_ready_r(m_psg) & (m_centronics->not_busy_r() | m_pia->ca2_output_z());
721   return m_psg->ready_r() && (m_centronics->not_busy_r() || m_pia->ca2_output_z());
727722}
728723
729724WRITE_LINE_MEMBER( laser2001_state::pia_cb2_w )
730725{
731726   if (m_pia->ca2_output_z())
732727   {
733      if (!state) sn76496_w(m_psg, 0, m_keylatch);
728      if (!state) m_psg->write(m_keylatch);
734729   }
735730   else
736731   {
r17623r17624
808803   DEVCB_DEVICE_LINE_MEMBER(PIA6821_TAG, pia6821_device, cb1_w)
809804};
810805
806/*-------------------------------------------------
807    sn76496_config psg_intf
808-------------------------------------------------*/
809
810static const sn76496_config psg_intf =
811{
812   DEVCB_NULL
813};
814
811815/***************************************************************************
812816    MACHINE INITIALIZATION
813817***************************************************************************/
r17623r17624
972976
973977   // sound hardware
974978   MCFG_SPEAKER_STANDARD_MONO("mono")
975   MCFG_SOUND_ADD(SN76489_TAG, SN76489, XTAL_2MHz)
979   MCFG_SOUND_ADD(SN76489_TAG, SN76489A_NEW, XTAL_2MHz)
980   MCFG_SOUND_CONFIG(psg_intf)
976981   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
977982
978983   MCFG_SOUND_WAVE_ADD(WAVE_TAG, CASSETTE_TAG)
r17623r17624
10001005
10011006static MACHINE_CONFIG_DERIVED( ntsc, creativision )
10021007    // video hardware
1003   MCFG_TMS9928A_ADD( TMS9929_TAG, TMS9918, crvision_tms9928a_interface )
1004   MCFG_TMS9928A_SCREEN_ADD_NTSC( "screen" )
1008   MCFG_TMS9928A_ADD( TMS9929_TAG, TMS9918, vdp_intf )
1009   MCFG_TMS9928A_SCREEN_ADD_NTSC( SCREEN_TAG )
10051010   MCFG_SCREEN_UPDATE_DEVICE( TMS9929_TAG, tms9918_device, screen_update )
10061011MACHINE_CONFIG_END
10071012
r17623r17624
10111016
10121017static MACHINE_CONFIG_DERIVED_CLASS( pal, creativision, crvision_pal_state )
10131018   // video hardware
1014   MCFG_TMS9928A_ADD( TMS9929_TAG, TMS9929, crvision_tms9928a_interface )
1015   MCFG_TMS9928A_SCREEN_ADD_PAL( "screen" )
1019   MCFG_TMS9928A_ADD( TMS9929_TAG, TMS9929, vdp_intf )
1020   MCFG_TMS9928A_SCREEN_ADD_PAL( SCREEN_TAG )
10161021   MCFG_SCREEN_UPDATE_DEVICE( TMS9929_TAG, tms9929_device, screen_update )
10171022MACHINE_CONFIG_END
10181023
r17623r17624
10221027
10231028static MACHINE_CONFIG_START( lasr2001, laser2001_state )
10241029   // basic machine hardware
1025   MCFG_CPU_ADD(M6502_TAG, M6502, 17734470/9)
1030   MCFG_CPU_ADD(M6502_TAG, M6502, XTAL_17_73447MHz/9)
10261031   MCFG_CPU_PROGRAM_MAP(lasr2001_map)
10271032
10281033   // devices
r17623r17624
10321037   MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, lasr2001_centronics_intf)
10331038
10341039   // video hardware
1035   MCFG_TMS9928A_ADD( TMS9929_TAG, TMS9929A, crvision_tms9928a_interface )
1036   MCFG_TMS9928A_SCREEN_ADD_PAL( "screen" )
1040   MCFG_TMS9928A_ADD( TMS9929_TAG, TMS9929A, vdp_intf )
1041   MCFG_TMS9928A_SCREEN_ADD_PAL( SCREEN_TAG )
10371042   MCFG_SCREEN_UPDATE_DEVICE( TMS9929_TAG, tms9929a_device, screen_update )
10381043
10391044   // sound hardware
10401045   MCFG_SPEAKER_STANDARD_MONO("mono")
1041   MCFG_SOUND_ADD(SN76489_TAG, SN76489A, 17734470/9)
1046   MCFG_SOUND_ADD(SN76489_TAG, SN76489A_NEW, XTAL_17_73447MHz/9)
1047   MCFG_SOUND_CONFIG(psg_intf)
10421048   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
10431049
10441050   MCFG_SOUND_WAVE_ADD(WAVE_TAG, CASSETTE_TAG)

Previous 199869 Revisions Next


© 1997-2024 The MAME Team