Previous 199869 Revisions Next

r23513 Friday 7th June, 2013 at 10:14:44 UTC by Robbbert
(MESS) Altos5: started adding floppies
[src/mess/drivers]altos5.c

trunk/src/mess/drivers/altos5.c
r23512r23513
1212#include "machine/z80dart.h"
1313#include "machine/z80dma.h"
1414#include "machine/serial.h"
15#include "machine/wd_fdc.h"
1516
1617
1718class altos5_state : public driver_device
r23512r23513
2425      m_pio1(*this, "z80pio_1"),
2526      m_dart(*this, "z80dart"),
2627      m_sio (*this, "z80sio"),
27      m_ctc (*this, "z80ctc")
28      m_ctc (*this, "z80ctc"),
29      m_fdc (*this, "fd1797")
2830   { }
2931
3032   DECLARE_READ8_MEMBER(memory_read_byte);
r23512r23513
3941   DECLARE_DRIVER_INIT(altos5);
4042   TIMER_DEVICE_CALLBACK_MEMBER(ctc_tick);
4143   DECLARE_WRITE_LINE_MEMBER(ctc_z1_w);
44   //DECLARE_FLOPPY_FORMATS(floppy_formats);
4245   UINT8 m_port08;
4346   UINT8 m_port09;
4447   UINT8 *m_p_prom;
r23512r23513
5356   required_device<z80dart_device> m_dart;
5457   required_device<z80sio0_device> m_sio;
5558   required_device<z80ctc_device> m_ctc;
59   required_device<fd1797_t> m_fdc;
5660};
5761
5862static ADDRESS_MAP_START(altos5_mem, AS_PROGRAM, 8, altos5_state)
r23512r23513
7882static ADDRESS_MAP_START(altos5_io, AS_IO, 8, altos5_state)
7983   ADDRESS_MAP_GLOBAL_MASK(0xff)
8084   AM_RANGE(0x00, 0x03) AM_DEVREADWRITE_LEGACY("z80dma", z80dma_r, z80dma_w)
81   //AM_RANGE(0x04, 0x07) // FD1797 fdc
85   AM_RANGE(0x04, 0x07) AM_DEVREADWRITE("fd1797", fd1797_t, read, write)
8286   AM_RANGE(0x08, 0x0b) AM_DEVREADWRITE("z80pio_0", z80pio_device, read, write)
8387   AM_RANGE(0x0c, 0x0f) AM_DEVREADWRITE("z80ctc", z80ctc_device, read, write)
8488   AM_RANGE(0x10, 0x13) AM_DEVREADWRITE("z80pio_1", z80pio_device, read, write)
r23512r23513
378382   DEVCB_DEVICE_LINE_MEMBER("z80sio", z80dart_device, ctsa_w)
379383};
380384
385//FLOPPY_FORMATS_MEMBER( altos5_state::floppy_formats )
386//   FLOPPY_ALTOS5_FORMAT
387//FLOPPY_FORMATS_END
388
389static SLOT_INTERFACE_START( altos5_floppies )
390   SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
391SLOT_INTERFACE_END
392
381393DRIVER_INIT_MEMBER( altos5_state, altos5 )
382394{
395
396   floppy_connector *con = machine().device<floppy_connector>("fd1797:0");
397   floppy_image_device *floppy = con ? con->get_device() : 0;
398   if (floppy)
399   {
400      m_fdc->set_floppy(floppy);
401      //m_fdc->setup_intrq_cb(wd1772_t::line_cb(FUNC(applix_state::fdc_intrq_w), this));
402      //m_fdc->setup_drq_cb(wd1772_t::line_cb(FUNC(applix_state::fdc_drq_w), this));
403
404      floppy->ss_w(0);
405   }
406
407
383408   m_p_prom =  memregion("proms")->base();
384409
385410   UINT8 *RAM = memregion("maincpu")->base();
r23512r23513
434459   MCFG_Z80SIO0_ADD("z80sio",   XTAL_8MHz / 2, sio_intf )
435460   MCFG_RS232_PORT_ADD("rs232", rs232_intf, default_rs232_devices, "serial_terminal")
436461   MCFG_TIMER_DRIVER_ADD_PERIODIC("ctc_tick", altos5_state, ctc_tick, attotime::from_hz(XTAL_8MHz / 4))
462   MCFG_FD1797x_ADD("fd1797", XTAL_8MHz / 4)
463   MCFG_FLOPPY_DRIVE_ADD("fd1797:0", altos5_floppies, "525dd", floppy_image_device::default_floppy_formats)
464   MCFG_FLOPPY_DRIVE_ADD("fd1797:1", altos5_floppies, "525dd", floppy_image_device::default_floppy_formats)
437465MACHINE_CONFIG_END
438466
439467

Previous 199869 Revisions Next


© 1997-2024 The MAME Team