summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/mikro80.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/mikro80.cpp')
-rw-r--r--src/mame/drivers/mikro80.cpp19
1 files changed, 13 insertions, 6 deletions
diff --git a/src/mame/drivers/mikro80.cpp b/src/mame/drivers/mikro80.cpp
index d9952df0e55..5501b6d0536 100644
--- a/src/mame/drivers/mikro80.cpp
+++ b/src/mame/drivers/mikro80.cpp
@@ -1,17 +1,22 @@
// license:BSD-3-Clause
// copyright-holders:Miodrag Milanovic
-/***************************************************************************
+/*****************************************************************************************
MIKRO80 driver by Miodrag Milanovic
2008-03-10 Preliminary driver.
+Cassette:
+* Mikro80: loads software items, but not its own saves
+* Radio99: can load its own saves; can load radio86 tapes, can load ut88 tapes.
+* Kristall2: can load its own saves; can load radio86 tapes; can load radio99 tapes.
+
+
ToDo:
-- Cassette save produces incorrect signal - need schematic of CMT.
-- Kristall doesn't seem to have any tape load/save facility?
+- Cassette - need schematic of CMT.
-****************************************************************************/
+*****************************************************************************************/
#include "emu.h"
@@ -21,7 +26,6 @@ ToDo:
#include "sound/volt_reg.h"
#include "emupal.h"
#include "screen.h"
-#include "softlist.h"
#include "speaker.h"
/* Address maps */
@@ -45,6 +49,7 @@ void mikro80_state::kristall_io(address_map &map)
{
map.unmap_value_high();
map(0x00, 0x03).rw(m_ppi, FUNC(i8255_device::read), FUNC(i8255_device::write));
+ map(0x02, 0x02).w(FUNC(mikro80_state::portc_w));
// map(0x20, 0x23). init byte 8B, so possibly another ppi with reversed offset like mikro80
}
@@ -54,7 +59,8 @@ void mikro80_state::radio99_io(address_map &map)
map(0x01, 0x01).rw(FUNC(mikro80_state::tape_r), FUNC(mikro80_state::tape_w));
// no init byte, so ppi has been replaced by ordinary latches
map(0x04, 0x04).w(FUNC(mikro80_state::sound_w));
- map(0x05, 0x05).rw(FUNC(mikro80_state::portc_r), FUNC(mikro80_state::portc_w));
+ //map(0x05, 0x05).rw(FUNC(mikro80_state::portc_r), FUNC(mikro80_state::portc_w));
+ map(0x05, 0x05).r(FUNC(mikro80_state::portc_r)).nopw();
map(0x06, 0x06).r(FUNC(mikro80_state::portb_r));
map(0x07, 0x07).w(FUNC(mikro80_state::porta_w));
}
@@ -254,6 +260,7 @@ void mikro80_state::kristall(machine_config &config)
{
mikro80(config);
m_maincpu->set_addrmap(AS_IO, &mikro80_state::kristall_io);
+ m_ppi->in_pc_callback().set(FUNC(mikro80_state::kristall2_portc_r));
}