diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/emu/bus/a2bus/corvfdc01.c | 12 | ||||
-rw-r--r-- | src/mess/drivers/concept.c | 4 | ||||
-rw-r--r-- | src/mess/includes/concept.h | 1 | ||||
-rw-r--r-- | src/mess/machine/concept.c | 15 |
4 files changed, 21 insertions, 11 deletions
diff --git a/src/emu/bus/a2bus/corvfdc01.c b/src/emu/bus/a2bus/corvfdc01.c index dcf0db50a00..72e6fb26efa 100644 --- a/src/emu/bus/a2bus/corvfdc01.c +++ b/src/emu/bus/a2bus/corvfdc01.c @@ -29,17 +29,17 @@ FLOPPY_FORMATS_MEMBER( a2bus_corvfdc01_device::corv_floppy_formats ) FLOPPY_FORMATS_END static SLOT_INTERFACE_START( corv_floppies ) - SLOT_INTERFACE( "8dssd", FLOPPY_8_DSSD ) + SLOT_INTERFACE( "8sssd", FLOPPY_8_SSSD ) SLOT_INTERFACE_END MACHINE_CONFIG_FRAGMENT( fdc01 ) MCFG_FD1793x_ADD(FDC01_FDC_TAG, XTAL_16MHz / 8) MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(a2bus_corvfdc01_device, intrq_w)) MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(a2bus_corvfdc01_device, drq_w)) - MCFG_FLOPPY_DRIVE_ADD(FDC01_FDC_TAG":0", corv_floppies, "8dssd", a2bus_corvfdc01_device::corv_floppy_formats) - MCFG_FLOPPY_DRIVE_ADD(FDC01_FDC_TAG":1", corv_floppies, "8dssd", a2bus_corvfdc01_device::corv_floppy_formats) - MCFG_FLOPPY_DRIVE_ADD(FDC01_FDC_TAG":2", corv_floppies, "8dssd", a2bus_corvfdc01_device::corv_floppy_formats) - MCFG_FLOPPY_DRIVE_ADD(FDC01_FDC_TAG":3", corv_floppies, "8dssd", a2bus_corvfdc01_device::corv_floppy_formats) + MCFG_FLOPPY_DRIVE_ADD(FDC01_FDC_TAG":0", corv_floppies, "8sssd", a2bus_corvfdc01_device::corv_floppy_formats) + MCFG_FLOPPY_DRIVE_ADD(FDC01_FDC_TAG":1", corv_floppies, "8sssd", a2bus_corvfdc01_device::corv_floppy_formats) + MCFG_FLOPPY_DRIVE_ADD(FDC01_FDC_TAG":2", corv_floppies, "8sssd", a2bus_corvfdc01_device::corv_floppy_formats) + MCFG_FLOPPY_DRIVE_ADD(FDC01_FDC_TAG":3", corv_floppies, "8sssd", a2bus_corvfdc01_device::corv_floppy_formats) MACHINE_CONFIG_END ROM_START( fdc01 ) @@ -167,7 +167,7 @@ UINT8 a2bus_corvfdc01_device::read_c0nx(address_space &space, UINT8 offset) m_fdc_local_status &= ~LS_DSKCHG_mask; m_fdc_local_status |= m_curfloppy->dskchg_r() ? LS_DSKCHG_mask : 0; } - return m_fdc_local_status; + return m_fdc_local_status | LS_8IN_mask; case 8: // WD1793 at 8-11 return m_wdfdc->status_r(space, offset); diff --git a/src/mess/drivers/concept.c b/src/mess/drivers/concept.c index 8630999f91f..2de213bad24 100644 --- a/src/mess/drivers/concept.c +++ b/src/mess/drivers/concept.c @@ -258,7 +258,7 @@ static MACHINE_CONFIG_START( concept, concept_state ) MCFG_A2BUS_SLOT_ADD(A2BUS_TAG, "sl1", concept_a2_cards, NULL) MCFG_A2BUS_SLOT_ADD(A2BUS_TAG, "sl2", concept_a2_cards, NULL) MCFG_A2BUS_SLOT_ADD(A2BUS_TAG, "sl3", concept_a2_cards, NULL) - MCFG_A2BUS_SLOT_ADD(A2BUS_TAG, "sl4", concept_a2_cards, "fdc02") + MCFG_A2BUS_SLOT_ADD(A2BUS_TAG, "sl4", concept_a2_cards, "fdc01") /* 2x RS232 ports */ MCFG_RS232_PORT_ADD("rs232a", default_rs232_devices, NULL) @@ -315,4 +315,4 @@ ROM_START( concept ) ROM_END /* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME */ -COMP( 1982, concept, 0, 0, concept, concept, driver_device, 0, "Corvus Systems", "Concept" , GAME_NO_SOUND) +COMP( 1982, concept, 0, 0, concept, concept, driver_device, 0, "Corvus Systems", "Concept" , 0 ) diff --git a/src/mess/includes/concept.h b/src/mess/includes/concept.h index 9832dd7fd19..c1e280ea015 100644 --- a/src/mess/includes/concept.h +++ b/src/mess/includes/concept.h @@ -53,6 +53,7 @@ public: DECLARE_READ16_MEMBER(concept_io_r); DECLARE_WRITE16_MEMBER(concept_io_w); virtual void machine_start(); + virtual void machine_reset(); virtual void video_start(); UINT32 screen_update_concept(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); diff --git a/src/mess/machine/concept.c b/src/mess/machine/concept.c index 2fe7f650a8e..46575f9256f 100644 --- a/src/mess/machine/concept.c +++ b/src/mess/machine/concept.c @@ -48,6 +48,13 @@ void concept_state::machine_start() } +void concept_state::machine_reset() +{ + // OS will not boot if TDRE is clear on ACIA 0; this fixes that + m_acia0->write_cts(CLEAR_LINE); + m_acia1->write_cts(CLEAR_LINE); +} + void concept_state::video_start() { } @@ -63,7 +70,7 @@ UINT32 concept_state::screen_update_concept(screen_device &screen, bitmap_ind16 { line = &bitmap.pix16(560-1-y); for (x = 0; x < 720; x++) - line[720-1-x] = (videoram[(x+48+y*768)>>4] & (0x8000 >> ((x+48+y*768) & 0xf))) ? 0 : 1; + line[720-1-x] = (videoram[(x+48+y*768)>>4] & (0x8000 >> ((x+48+y*768) & 0xf))) ? 1 : 0; } return 0; } @@ -85,8 +92,10 @@ void concept_state::concept_set_interrupt(int level, int state) /* assert interrupt */ m_maincpu->set_input_line_and_vector(M68K_IRQ_1 + final_level - 1, ASSERT_LINE, M68K_INT_ACK_AUTOVECTOR); else + { /* clear all interrupts */ - m_maincpu->set_input_line_and_vector(M68K_IRQ_1, CLEAR_LINE, M68K_INT_ACK_AUTOVECTOR); + m_maincpu->set_input_line_and_vector(M68K_IRQ_1 + level - 1, CLEAR_LINE, M68K_INT_ACK_AUTOVECTOR); + } } /* @@ -236,7 +245,7 @@ READ16_MEMBER(concept_state::concept_io_r) case 3: /* NVIA versatile system interface */ - LOG(("concept_io_r: VIA read at address 0x03%4.4x\n", offset << 1)); +// LOG(("concept_io_r: VIA read at address 0x03%4.4x\n", offset << 1)); { via6522_device *via_0 = machine().device<via6522_device>("via6522_0"); return via_0->read(space, offset & 0xf); |