Previous 199869 Revisions Next

r23148 Saturday 25th May, 2013 at 10:19:20 UTC by Robbbert
(MESS) Applix: added sound (nw)

Need help adding floppies... anyone?
[src/mess/drivers]applix.c

trunk/src/mess/drivers/applix.c
r23147r23148
3131#include "machine/6522via.h"
3232#include "machine/wd_fdc.h"
3333#include "cpu/mcs51/mcs51.h"
34#include "sound/dac.h"
3435
3536
36
3737class applix_state : public driver_device
3838{
3939public:
r23147r23148
4242      m_maincpu(*this, "maincpu"),
4343      m_crtc(*this, "crtc"),
4444      m_via(*this, "via6522"),
45//      m_fdc(*this, "wd1772"),
45      m_fdc(*this, "wd1772"),
46      m_dacl(*this, "dacl"),
47      m_dacr(*this, "dacr"),
4648      m_io_dsw(*this, "DSW"),
4749      m_io_fdc(*this, "FDC"),
4850      m_base(*this, "base"),
r23147r23148
7779   DECLARE_WRITE16_MEMBER(fdc_cmd_w);
7880   DECLARE_WRITE_LINE_MEMBER(kbd_clock_w);
7981   DECLARE_WRITE_LINE_MEMBER(kbd_data_w);
80//   DECLARE_FLOPPY_FORMATS(floppy_formats);
81//   void fdc_intrq_w(bool state);
82//   void fdc_drq_w(bool state);
82   DECLARE_FLOPPY_FORMATS(floppy_formats);
83   void fdc_intrq_w(bool state);
84   void fdc_drq_w(bool state);
8385   UINT8 m_pa;
8486   UINT8 m_pb;
8587   UINT8 m_analog_latch;
r23147r23148
115117   required_device<cpu_device> m_maincpu;
116118   required_device<mc6845_device> m_crtc;
117119   required_device<via6522_device> m_via;
118//   required_device<wd1772_t> m_fdc;
120   required_device<wd1772_t> m_fdc;
121   required_device<dac_device> m_dacl;
122   required_device<dac_device> m_dacr;
119123   required_ioport m_io_dsw;
120124   required_ioport m_io_fdc;
121125   required_shared_ptr<UINT16> m_base;
r23147r23148
128132// bit 3 cassette LED, low=on
129133// bit 2,1,0 joystick
130134WRITE16_MEMBER( applix_state::dac_latch_w )
131{//printf("%X ",data);
135{
132136   if (ACCESSING_BITS_0_7)
137   {
138      if ((m_analog_latch & 0x70) == 0)
139         m_dacr->write_unsigned8(data);
140      else
141      if ((m_analog_latch & 0x70) == 0x10)
142         m_dacl->write_unsigned8(data);
133143      m_dac_latch = data;
144   }
134145}
135146
136147WRITE16_MEMBER( applix_state::analog_latch_w )
r23147r23148
760771   MCFG_SCREEN_UPDATE_DEVICE("crtc", mc6845_device, screen_update)
761772   MCFG_PALETTE_LENGTH(16)
762773
774   /* sound hardware */
775   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
776   MCFG_SOUND_ADD("dacl", DAC, 0)
777   MCFG_SOUND_ROUTE( ALL_OUTPUTS, "lspeaker", 0.75 )
778   MCFG_SOUND_ADD("dacr", DAC, 0)
779   MCFG_SOUND_ROUTE( ALL_OUTPUTS, "rspeaker", 0.75 )
780
763781   /* Devices */
764782   MCFG_MC6845_ADD("crtc", MC6845, 1875000, applix_crtc) // 6545
765783   MCFG_VIA6522_ADD("via6522", 0, applix_via)
766784   MCFG_WD1772x_ADD("wd1772", XTAL_16MHz / 2) //connected to Z80H clock pin
767//   MCFG_FLOPPY_DRIVE_ADD("wd1772:0", applix_floppies, "35dd", 0, applix_state::floppy_formats)
785   //MCFG_FLOPPY_DRIVE_ADD("wd1772:0", applix_floppies, "35dd", 0, applix_state::floppy_formats)
768786MACHINE_CONFIG_END
769787
770788/* ROM definition */
r23147r23148
790808
791809DRIVER_INIT_MEMBER(applix_state, applix)
792810{
793#if 0
811
794812   floppy_connector *con = machine().device<floppy_connector>("wd1772:0");
795813   floppy_image_device *floppy = con ? con->get_device() : 0;
796814   if (floppy)
797815   {
798816      m_fdc->set_floppy(floppy);
799      m_fdc->setup_intrq_cb(wd1772_t::line_cb(FUNC(mirage_state::fdc_intrq_w), this));
800      m_fdc->setup_drq_cb(wd1772_t::line_cb(FUNC(mirage_state::fdc_drq_w), this));
817      //m_fdc->setup_intrq_cb(wd1772_t::line_cb(FUNC(applix_state::fdc_intrq_w), this));
818      //m_fdc->setup_drq_cb(wd1772_t::line_cb(FUNC(applix_state::fdc_drq_w), this));
801819
802820      floppy->ss_w(0);
803821   }
804#endif
822
805823   UINT8 *RAM = memregion("subcpu")->base();
806824   membank("bank1")->configure_entries(0, 2, &RAM[0x8000], 0x8000);
807825}
r23147r23148
963981   data &= ~0x14;
964982
965983   /* -INT0 signal */
966   data |= 4;//(clock_signal() ? 0x04 : 0x00);
984   data |= 4;
967985
968986   /* T0 signal */
969   data |= 0;//(data_signal() ? 0x00 : 0x10);
987   data |= 0;
970988
971989   return data;
972990}

Previous 199869 Revisions Next


© 1997-2024 The MAME Team