New machines marked as NOT_WORKING

----------------------------------
Alpha Micro AM-1000 [Bitsavers]
This commit is contained in:
AJR 2019-08-31 19:29:43 -04:00
parent 4ccfe06061
commit 857cd30a22
4 changed files with 122 additions and 0 deletions

View File

@ -3885,6 +3885,7 @@ files {
MAME_DIR .. "src/mame/drivers/alcat7100.cpp",
MAME_DIR .. "src/mame/drivers/alesis_qs.cpp",
MAME_DIR .. "src/mame/drivers/alphasma.cpp",
MAME_DIR .. "src/mame/drivers/am1000.cpp",
MAME_DIR .. "src/mame/drivers/ampex.cpp",
MAME_DIR .. "src/mame/drivers/ampex210.cpp",
MAME_DIR .. "src/mame/drivers/ampro.cpp",

117
src/mame/drivers/am1000.cpp Normal file
View File

@ -0,0 +1,117 @@
// license:BSD-3-Clause
// copyright-holders:AJR
/****************************************************************************
Skeleton driver for Alpha Micro AM-1000 system.
This system was sold in various configurations beginning in 1982.
****************************************************************************/
#include "emu.h"
#include "cpu/m68000/m68000.h"
#include "cpu/z80/z80.h"
//#include "machine/6840ptm.h"
//#include "machine/6850acia.h"
//#include "machine/com8116.h"
//#include "machine/msm5832.h"
class am1000_state : public driver_device
{
public:
am1000_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag)
, m_maincpu(*this, "maincpu")
, m_subcpu(*this, "subcpu")
, m_mainprom(*this, "mainprom")
, m_mainram(*this, "mainram")
{
}
void am1000(machine_config &config);
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
private:
u16 rom_ram_r(offs_t offset, u16 mem_mask);
void control_w(u8 data);
void main_map(address_map &map);
void sub_map(address_map &map);
required_device<m68000_device> m_maincpu;
required_device<z80_device> m_subcpu;
required_region_ptr<u16> m_mainprom;
required_shared_ptr<u16> m_mainram;
bool m_ram_enabled;
};
void am1000_state::machine_start()
{
save_item(NAME(m_ram_enabled));
}
void am1000_state::machine_reset()
{
m_ram_enabled = false;
}
u16 am1000_state::rom_ram_r(offs_t offset, u16 mem_mask)
{
if (m_ram_enabled)
return m_mainram[offset];
else
return m_mainprom[offset & m_mainprom.mask()];
}
void am1000_state::control_w(u8 data)
{
m_ram_enabled = true;
}
void am1000_state::main_map(address_map &map)
{
map(0x000000, 0x07ffff).r(FUNC(am1000_state::rom_ram_r)).writeonly().share("mainram"); // TMM41256P-12 x16
map(0x800000, 0x801fff).rom().region("mainprom", 0);
map(0xfffe00, 0xfffe00).w(FUNC(am1000_state::control_w));
}
void am1000_state::sub_map(address_map &map)
{
map(0x0000, 0x07ff).rom().region("subprom", 0);
map(0x4000, 0x4fff).ram(); // NEC D4016C-2 x2
}
static INPUT_PORTS_START(am1000)
INPUT_PORTS_END
void am1000_state::am1000(machine_config &config)
{
M68000(config, m_maincpu, 16_MHz_XTAL / 2); // MK68000P-8B
m_maincpu->set_addrmap(AS_PROGRAM, &am1000_state::main_map);
Z80(config, m_subcpu, 16_MHz_XTAL / 4); // NEC D780C-1
m_subcpu->set_addrmap(AS_PROGRAM, &am1000_state::sub_map);
}
ROM_START(am1000)
ROM_REGION16_BE(0x2000, "mainprom", 0) // "© COPYRIGHT 1988 ALPHA MICRO" on labels; "COPR. 1985 ALMI" in byte-swapped data
ROM_LOAD16_BYTE("169-13_c00.u83", 0x0000, 0x1000, CRC(1d9cc8c0) SHA1(fced7bde6dbee4b54050bc7a91fc8eb74a659823))
ROM_LOAD16_BYTE("169-12_c00.u82", 0x0001, 0x1000, CRC(72bca8ae) SHA1(67d7a13ea2d630af8e6aefeb1a30b2de8cf6012a))
// Adjacent 24-pin sockets at U100 and U101 are both unpopulated
ROM_REGION(0x800, "subprom", 0)
ROM_LOAD("169-05_b00.u162", 0x000, 0x800, CRC(e0f8bb40) SHA1(ac2531994eb90447d320401948af07723e51c8f9))
ROM_END
COMP(1988, am1000, 0, 0, am1000, am1000, am1000_state, empty_init, "Alpha Micro", "AM-1000", MACHINE_IS_SKELETON)

View File

@ -1184,6 +1184,9 @@ wrldtour //
wrldtour2 //
wrldtour3 //
@source:am1000.cpp
am1000 // (c) 1988 Alpha Micro
@source:amaticmg.cpp
am_mg24 // (c) 2000 Amatic
am_mg24a // (c) 2000 Amatic

View File

@ -45,6 +45,7 @@ altos2.cpp
altos5.cpp
altos486.cpp
altos8600.cpp
am1000.cpp
amico2k.cpp
amiga.cpp
ampex.cpp