Added serial ports and changed names to the less than 8 chars fccpu<xxx>

This commit is contained in:
Joakim Larsson Edström 2015-06-27 11:51:02 +02:00
parent d7685ca35c
commit 08e1a1db38

View File

@ -26,7 +26,7 @@ Address Range Description
OAO 000 - OBF FFF USER EPROMArea
0C0 041 - 0C0 043 ACIA (P3) Host
0C0 080 - 0C0 082 ACIA (P4) Terminal
0C0 101 - 0C0 103 ACIA (P3) Remote
0C0 101 - 0C0 103 ACIA (P5) Remote
0C0 401 - 0C0 42F RTC
OEO 001 - 0E0 035 PI/T
OEO 200 - 0E0 2FF FPU
@ -95,40 +95,47 @@ Based on the 68ksbc.c
//#include "bus/rs232/rs232.h"
#include "cpu/m68000/m68000.h"
#include "machine/mm58167.h"
//#include "machine/6850acia.h"
//#include "machine/clock.h"
#include "machine/6850acia.h"
#include "machine/clock.h"
class force68k_state : public driver_device
{
public:
force68k_state(const machine_config &mconfig, device_type type, const char *tag) :
driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
m_rtc(*this, "rtc")
// m_acia1(*this, "acia1")
// m_acia2(*this, "acia2")
// m_acia3(*this, "acia3")
// m_rtc(*this, "rtc")
m_maincpu(*this, "maincpu"),
m_aciahost(*this, "aciahost"),
m_aciaterm(*this, "aciaterm"),
m_aciaremt(*this, "aciaremt")
{
}
// DECLARE_WRITE_LINE_MEMBER(write_acia_clock);
DECLARE_WRITE_LINE_MEMBER(write_aciahost_clock);
DECLARE_WRITE_LINE_MEMBER(write_aciaterm_clock);
DECLARE_WRITE_LINE_MEMBER(write_aciaremt_clock);
private:
required_device<cpu_device> m_maincpu;
required_device<mm58167_device> m_rtc;
// required_device<acia6850_device> m_acia1;
// required_device<acia6850_device> m_acia2;
// required_device<acia6850_device> m_acia3;
// required_device<mm58167_device> m_rtc;
required_device<acia6850_device> m_aciahost;
required_device<acia6850_device> m_aciaterm;
required_device<acia6850_device> m_aciaremt;
};
static ADDRESS_MAP_START(force68k_mem, AS_PROGRAM, 16, force68k_state)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x000007) AM_ROM /* Vectors mapped from System EPROM */
AM_RANGE(0x000008, 0x01ffff) AM_RAM /* DRAM */
AM_RANGE(0x080008, 0x09ffff) AM_ROM /* System EPROM Area */
AM_RANGE(0x0e0401, 0x0e0421) AM_DEVREADWRITE8("rtc", mm58167_device, read, write, 0x00ff)
// AM_RANGE(0x0e0000, 0x0e0001) AM_DEVREADWRITE8("acia", acia6850_device, status_r, control_w, 0x00ff)
// AM_RANGE(0x0e0002, 0x0e0003) AM_DEVREADWRITE8("acia", acia6850_device, data_r, data_w, 0x00ff)
// AM_RANGE(0x000000, 0x000000) AM_ROM /* Vectors mapped from System EPROM */
// AM_RANGE(0x000008, 0x01ffff) AM_RAM /* DRAM */
AM_RANGE(0x000000, 0x01ffff) AM_RAM /* All DRAM for debug */
AM_RANGE(0x080000, 0x09ffff) AM_ROM /* System EPROM Area */
// AM_RANGE(0x0e0400, 0x0e0420) AM_DEVREADWRITE8("rtc", mm58167_device, read, write, 0xff00)
AM_RANGE(0x0c0040, 0x0c0041) AM_DEVREADWRITE8("aciahost", acia6850_device, status_r, control_w, 0x00ff)
AM_RANGE(0x0c0042, 0x0c0043) AM_DEVREADWRITE8("aciahost", acia6850_device, data_r, data_w, 0x00ff)
AM_RANGE(0x0c0080, 0x0c0081) AM_DEVREADWRITE8("aciaterm", acia6850_device, status_r, control_w, 0xff00)
AM_RANGE(0x0c0082, 0x0c0083) AM_DEVREADWRITE8("aciaterm", acia6850_device, data_r, data_w, 0xff00)
AM_RANGE(0x0c0100, 0x0c0101) AM_DEVREADWRITE8("aciaremt", acia6850_device, status_r, control_w, 0x00ff)
AM_RANGE(0x0c0102, 0x0c0103) AM_DEVREADWRITE8("aciaremt", acia6850_device, data_r, data_w, 0x00ff)
// AM_RANGE(0x0a0000, 0x0bffff) AM_ROM /* User EPROM Area */
// AM_RANGE(0x0e0000, 0x0fffff) AM_READWRITE_PORT /* IO interfaces */
// AM_RANGE(0x100000, 0xfeffff) /* VMEbus Rev B addresses (24 bits) */
@ -140,21 +147,45 @@ static INPUT_PORTS_START( force68k )
INPUT_PORTS_END
#if 0
WRITE_LINE_MEMBER(force68k_state::write_acia_clock)
{
m_acia->write_txc(state);
m_acia->write_rxc(state);
WRITE_LINE_MEMBER(force68k_state::write_aciahost_clock)
{
m_aciahost->write_txc(state);
m_aciahost->write_rxc(state);
}
#endif
static MACHINE_CONFIG_START( forcecpu1, force68k_state )
WRITE_LINE_MEMBER(force68k_state::write_aciaterm_clock)
{
m_aciaterm->write_txc(state);
m_aciaterm->write_rxc(state);
}
WRITE_LINE_MEMBER(force68k_state::write_aciaremt_clock)
{
m_aciaremt->write_txc(state);
m_aciaremt->write_rxc(state);
}
static MACHINE_CONFIG_START( fccpu1, force68k_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", M68000, 8000000)
MCFG_CPU_PROGRAM_MAP(force68k_mem)
/* P3/Host Port config */
MCFG_DEVICE_ADD("aciahost", ACIA6850, 0)
MCFG_DEVICE_ADD("aciahost_clock", CLOCK, 153600) /* 9600 x 16 */
MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(force68k_state, write_aciahost_clock))
/* P4/Terminal Port config */
MCFG_DEVICE_ADD("aciaterm", ACIA6850, 0)
MCFG_DEVICE_ADD("aciaterm_clock", CLOCK, 153600) /* 9600 x 16 */
MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(force68k_state, write_aciaterm_clock))
/* P5/Host Port config */
MCFG_DEVICE_ADD("aciaremt", ACIA6850, 0)
MCFG_DEVICE_ADD("aciaremt_clock", CLOCK, 153600) /* 9600 x 16 */
MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(force68k_state, write_aciaterm_clock))
/*
MCFG_DEVICE_ADD("acia", ACIA6850, 0)
MCFG_ACIA6850_TXD_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_txd))
MCFG_ACIA6850_RTS_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_rts))
@ -169,65 +200,65 @@ MACHINE_CONFIG_END
#if 0
static MACHINE_CONFIG_START( forcecpu6, force68k_state )
static MACHINE_CONFIG_START( fccpu6, force68k_state )
MCFG_CPU_ADD("maincpu", M68000, 8000000) /* Jumper B10 Mode B */
MCFG_CPU_PROGRAM_MAP(force68k_mem)
MACHINE_CONFIG_END
static MACHINE_CONFIG_START( forcecpu6a, force68k_state )
static MACHINE_CONFIG_START( fccpu6a, force68k_state )
MCFG_CPU_ADD("maincpu", M68000, 12500000) /* Jumper B10 Mode A */
MCFG_CPU_PROGRAM_MAP(force68k_mem)
MACHINE_CONFIG_END
static MACHINE_CONFIG_START( forcecpu6v, force68k_state )
static MACHINE_CONFIG_START( fccpu6v, force68k_state )
MCFG_CPU_ADD("maincpu", M68010, 8000000) /* Jumper B10 Mode B */
MCFG_CPU_PROGRAM_MAP(force68k_mem)
MACHINE_CONFIG_END
static MACHINE_CONFIG_START( forcecpu6va, force68k_state )
static MACHINE_CONFIG_START( fccpu6va, force68k_state )
MCFG_CPU_ADD("maincpu", M68010, 12500000) /* Jumper B10 Mode A */
MCFG_CPU_PROGRAM_MAP(force68k_mem)
MACHINE_CONFIG_END
static MACHINE_CONFIG_START( forcecpu6vb, force68k_state )
static MACHINE_CONFIG_START( fccpu6vb, force68k_state )
MCFG_CPU_ADD("maincpu", M68010, 12500000) /* Jumper B10 Mode A */
MCFG_CPU_PROGRAM_MAP(force68k_mem)
MACHINE_CONFIG_END
#endif
/* ROM definitions */
ROM_START( forcecpu1 )
ROM_START( fccpu1 )
ROM_REGION(0x1000000, "maincpu", 0)
// ROM_LOAD( "forcesys68kV1.0L.bin", 0x0000, 0x2f78, CRC(20a8d0d0) SHA1(544fd8bd8ed017115388c8b0f7a7a59a32253e43) )
ROM_END
#if 0
ROM_START( forcecpu6 )
ROM_START( fccpu6 )
ROM_REGION(0x1000000, "maincpu", 0)
ROM_END
ROM_START( forcecpu6a )
ROM_START( fccpu6a )
ROM_REGION(0x1000000, "maincpu", 0)
ROM_END
ROM_START( forcecpu6v )
ROM_START( fccpu6v )
ROM_REGION(0x1000000, "maincpu", 0)
ROM_END
ROM_START( forcecpu6va )
ROM_START( fccpu6va )
ROM_REGION(0x1000000, "maincpu", 0)
ROM_END
ROM_START( forcecpu6vb )
ROM_START( fccpu6vb )
ROM_REGION(0x1000000, "maincpu", 0)
ROM_END
#endif
/* Driver */
/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */
COMP( 1983, forcecpu1, 0, 0, forcecpu1, force68k, driver_device, 0, "Force Computers Gmbh", "SYS68K/CPU-1", GAME_IS_SKELETON )
//COMP( 1989, forcecpu6, 0, 0, forcecpu6, force68k, driver_device, 0, "Force Computers Gmbh", "SYS68K/CPU-6", GAME_IS_SKELETON )
//COMP( 1989, forcecpu6a, 0, 0, forcecpu6a, force68k, driver_device, 0, "Force Computers Gmbh", "SYS68K/CPU-6a", GAME_IS_SKELETON )
//COMP( 1989, forcecpu6v, 0, 0, forcecpu6v, force68k, driver_device, 0, "Force Computers Gmbh", "SYS68K/CPU-6v", GAME_IS_SKELETON )
//COMP( 1989, forcecpu6va, 0, 0, forcecpu6va, force68k, driver_device, 0, "Force Computers Gmbh", "SYS68K/CPU-6va", GAME_IS_SKELETON )
//COMP( 1989, forcecpu6vb, 0, 0, forcecpu6vb, force68k, driver_device, 0, "Force Computers Gmbh", "SYS68K/CPU-6vb", GAME_IS_SKELETON )
COMP( 1983, fccpu1, 0, 0, fccpu1, force68k, driver_device, 0, "Force Computers Gmbh", "SYS68K/CPU-1", GAME_IS_SKELETON )
//COMP( 1989, fccpu6, 0, 0, fccpu6, force68k, driver_device, 0, "Force Computers Gmbh", "SYS68K/CPU-6", GAME_IS_SKELETON )
//COMP( 1989, fccpu6a, 0, 0, fccpu6a, force68k, driver_device, 0, "Force Computers Gmbh", "SYS68K/CPU-6a", GAME_IS_SKELETON )
//COMP( 1989, fccpu6v, 0, 0, fccpu6v, force68k, driver_device, 0, "Force Computers Gmbh", "SYS68K/CPU-6v", GAME_IS_SKELETON )
//COMP( 1989, fccpu6va, 0, 0, fccpu6va, force68k, driver_device, 0, "Force Computers Gmbh", "SYS68K/CPU-6va", GAME_IS_SKELETON )
//COMP( 1989, fccpu6vb, 0, 0, fccpu6vb, force68k, driver_device, 0, "Force Computers Gmbh", "SYS68K/CPU-6vb", GAME_IS_SKELETON )