diff options
author | 2012-11-28 21:53:22 +0000 | |
---|---|---|
committer | 2012-11-28 21:53:22 +0000 | |
commit | 78baa058515de50a4f40db544662614dc151b1f8 (patch) | |
tree | 1e2f88a3842a96f4cfa02d6018e06f9fef524507 /src | |
parent | f1aed9f6d6f58f513afbb9cb7ab8f0ef4c68a0f5 (diff) |
mirage: Make it boot by whatever means necessary [O. Galibert]
Diffstat (limited to 'src')
-rw-r--r-- | src/mess/drivers/mirage.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/mess/drivers/mirage.c b/src/mess/drivers/mirage.c index 8d13b37dd5e..7c94f651fd5 100644 --- a/src/mess/drivers/mirage.c +++ b/src/mess/drivers/mirage.c @@ -93,6 +93,7 @@ public: DECLARE_FLOPPY_FORMATS( floppy_formats ); void fdc_intrq_w(bool state); + void fdc_drq_w(bool state); DECLARE_DRIVER_INIT(mirage); virtual void video_start(); UINT32 screen_update_mirage(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); @@ -119,6 +120,11 @@ void mirage_state::fdc_intrq_w(bool state) m_maincpu->set_input_line(INPUT_LINE_NMI, state); } +void mirage_state::fdc_drq_w(bool state) +{ + m_maincpu->set_input_line(M6809_FIRQ_LINE, state); +} + static void mirage_doc_irq(device_t *device, int state) { } @@ -144,12 +150,13 @@ void mirage_state::machine_reset() } static ADDRESS_MAP_START( mirage_map, AS_PROGRAM, 8, mirage_state ) - AM_RANGE(0x0000, 0x7fff) AM_ROMBANK("sndbank") // 32k window on 128k of wave RAM + AM_RANGE(0x0000, 0x7fff) AM_RAMBANK("sndbank") // 32k window on 128k of wave RAM AM_RANGE(0x8000, 0xbfff) AM_RAM // main RAM AM_RANGE(0xc000, 0xdfff) AM_RAM // expansion RAM AM_RANGE(0xe100, 0xe100) AM_DEVREADWRITE("acia6850", acia6850_device, status_read, control_write) AM_RANGE(0xe101, 0xe101) AM_DEVREADWRITE("acia6850", acia6850_device, data_read, data_write) AM_RANGE(0xe200, 0xe2ff) AM_DEVREADWRITE("via6522", via6522_device, read, write) + AM_RANGE(0xe400, 0xe4ff) AM_NOP AM_RANGE(0xe800, 0xe803) AM_DEVREADWRITE("wd1772", wd1772_t, read, write) AM_RANGE(0xec00, 0xecef) AM_DEVREADWRITE("es5503", es5503_device, read, write) AM_RANGE(0xf000, 0xffff) AM_ROM AM_REGION("osrom", 0) @@ -248,7 +255,8 @@ static ACIA6850_INTERFACE( mirage_acia6850_interface ) DEVCB_NULL, // cts in DEVCB_NULL, // rts out DEVCB_NULL, // dcd in - DEVCB_CPU_INPUT_LINE("maincpu", M6809_FIRQ_LINE) + DEVCB_NULL + // DEVCB_CPU_INPUT_LINE("maincpu", M6809_FIRQ_LINE) }; static MACHINE_CONFIG_START( mirage, mirage_state ) @@ -293,6 +301,7 @@ DRIVER_INIT_MEMBER(mirage_state,mirage) { m_fdc->set_floppy(floppy); m_fdc->setup_intrq_cb(wd1772_t::line_cb(FUNC(mirage_state::fdc_intrq_w), this)); + m_fdc->setup_drq_cb(wd1772_t::line_cb(FUNC(mirage_state::fdc_drq_w), this)); floppy->ss_w(0); } |