summaryrefslogtreecommitdiffstatshomepage
path: root/src/mess
diff options
context:
space:
mode:
Diffstat (limited to 'src/mess')
-rw-r--r--src/mess/drivers/concept.c4
-rw-r--r--src/mess/includes/concept.h1
-rw-r--r--src/mess/machine/concept.c15
3 files changed, 15 insertions, 5 deletions
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);