summaryrefslogtreecommitdiffstatshomepage
path: root/src/mess
diff options
context:
space:
mode:
author Miodrag Milanović <mmicko@gmail.com>2015-08-30 11:43:00 +0200
committer Miodrag Milanović <mmicko@gmail.com>2015-08-30 11:43:00 +0200
commite4b371385cd889ebd187735b12387d9dd12c1a0c (patch)
tree50ba439765d7d59b95c4d03317617e8c6cdf0c6d /src/mess
parentce285e1d62ad450bdcaf8cf3f9264efbcfb87a0f (diff)
parent3c6ece16c4e4498ee91e92b527a7f9b1d42f75b5 (diff)
Merge pull request #294 from shattered/_276b447
besta: hook up 68230 and make its ROM self-test pass [shattered]
Diffstat (limited to 'src/mess')
-rw-r--r--src/mess/drivers/besta.c32
1 files changed, 21 insertions, 11 deletions
diff --git a/src/mess/drivers/besta.c b/src/mess/drivers/besta.c
index 3c93a9febe3..bc9da1510f3 100644
--- a/src/mess/drivers/besta.c
+++ b/src/mess/drivers/besta.c
@@ -10,6 +10,7 @@
#include "emu.h"
#include "cpu/m68000/m68000.h"
+#include "machine/68230pit.h"
#include "machine/terminal.h"
#define VERBOSE_DBG 1 /* general debug messages */
@@ -32,6 +33,8 @@ public:
besta_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
+ m_pit1 (*this, "pit1"),
+ m_pit2 (*this, "pit2"),
m_terminal(*this, TERMINAL_TAG),
m_p_ram(*this, "p_ram")
{
@@ -44,6 +47,8 @@ public:
UINT8 m_mpcc_regs[32];
required_device<cpu_device> m_maincpu;
+ required_device<pit68230_device> m_pit1;
+ required_device<pit68230_device> m_pit2;
virtual void machine_reset();
required_device<generic_terminal_device> m_terminal;
@@ -96,17 +101,18 @@ WRITE8_MEMBER( besta_state::kbd_put )
static ADDRESS_MAP_START(besta_mem, AS_PROGRAM, 32, besta_state)
AM_RANGE(0x00000000, 0x001fffff) AM_RAM AM_SHARE("p_ram") // local bus DRAM, 4MB
-// AM_RANGE(0x08010000, 0x08011fff) AM_RAM // unknown -- accessed by cp31dssp
- AM_RANGE(0xff000000, 0xff00ffff) AM_ROM AM_REGION("user1",0) // actual mapping is up to 0xff03ffff
+// AM_RANGE(0x08010000, 0x08011fff) AM_RAM // unknown -- accessed by cp31dssp
+// AM_RANGE(0xfca03500, 0xfca0350f) AM_READWRITE8(iscsi_reg_r, iscsi_reg_w, 0xffffffff)
+ AM_RANGE(0xff000000, 0xff00ffff) AM_ROM AM_REGION("user1", 0) // actual mapping is up to 0xff03ffff
AM_RANGE(0xff040000, 0xff07ffff) AM_RAM // onboard SRAM
-// 68561 MPCC (console)
-// AM_RANGE(0xff800000, 0xff80001f) AM_DEVREADWRITE8("mpcc", mpcc68561_t, reg_r, reg_w, 0xffffffff)
- AM_RANGE(0xff800000, 0xff80001f) AM_READWRITE8(mpcc_reg_r, mpcc_reg_w, 0xffffffff)
-// AM_RANGE(0xff800200, 0xff800xxx) // 68230 PIT2
-// AM_RANGE(0xff800400, 0xff800xxx) // ??? -- shows up in cp31dssp log
-// AM_RANGE(0xff800800, 0xff800xxx) // BIM
-// AM_RANGE(0xff800a00, 0xff800xxx) // 62421 RTC
-// AM_RANGE(0xff800c00, 0xff800xxx) // 68230 PIT
+// AM_RANGE(0xff800000, 0xff80001f) AM_DEVREADWRITE8("mpcc", mpcc68561_t, reg_r, reg_w, 0xffffffff)
+ AM_RANGE(0xff800000, 0xff80001f) AM_READWRITE8(mpcc_reg_r, mpcc_reg_w, 0xffffffff) // console
+ AM_RANGE(0xff800200, 0xff800237) AM_DEVREADWRITE8 ("pit2", pit68230_device, read, write, 0xffffffff)
+// AM_RANGE(0xff800400, 0xff800xxx) // ??? -- shows up in cp31dssp log
+// AM_RANGE(0xff800800, 0xff800xxx) // 68153 BIM
+// AM_RANGE(0xff800a00, 0xff800xxx) // 62421 RTC
+ AM_RANGE(0xff800c00, 0xff800c37) AM_DEVREADWRITE8 ("pit1", pit68230_device, read, write, 0xffffffff)
+// AM_RANGE(0xff800e00, 0xff800xxx) // PIT3?
ADDRESS_MAP_END
/* Input ports */
@@ -131,6 +137,10 @@ static MACHINE_CONFIG_START( besta, besta_state )
MCFG_CPU_ADD("maincpu", M68030, 2*16670000)
MCFG_CPU_PROGRAM_MAP(besta_mem)
+ MCFG_DEVICE_ADD ("pit1", PIT68230, 16670000 / 2) // XXX verify clock
+
+ MCFG_DEVICE_ADD ("pit2", PIT68230, 16670000 / 2) // XXX verify clock
+
MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0)
MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(besta_state, kbd_put))
MACHINE_CONFIG_END
@@ -151,4 +161,4 @@ ROM_END
/* Driver */
/* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS */
-COMP( 1988, besta88, 0, 0, besta, besta, driver_device, 0, "Sapsan", "Besta-88", MACHINE_NOT_WORKING | MACHINE_NO_SOUND)
+COMP( 1988, besta88, 0, 0, besta, besta, driver_device, 0, "Sapsan", "Besta-88", MACHINE_NOT_WORKING | MACHINE_NO_SOUND_HW)