mirror of
https://github.com/holub/mame
synced 2025-04-16 05:24:54 +03:00
New machines marked as NOT_WORKING
---------------------------------- Computer Chess (Conic, model 7013) [hap, Berger]
This commit is contained in:
parent
3753498688
commit
f657eff363
@ -2176,6 +2176,7 @@ files {
|
||||
createMESSProjects(_target, _subtarget, "conic")
|
||||
files {
|
||||
MAME_DIR .. "src/mame/drivers/conic_cchess2.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/conic_cchess3.cpp",
|
||||
}
|
||||
|
||||
createMESSProjects(_target, _subtarget, "consumenta")
|
||||
|
@ -27,11 +27,13 @@ BTANB:
|
||||
******************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
|
||||
#include "cpu/m6502/m6504.h"
|
||||
#include "machine/6821pia.h"
|
||||
#include "machine/sensorboard.h"
|
||||
#include "sound/dac.h"
|
||||
#include "video/pwm.h"
|
||||
|
||||
#include "speaker.h"
|
||||
|
||||
// internal artwork
|
||||
@ -234,7 +236,7 @@ INPUT_PORTS_END
|
||||
|
||||
void cchess2_state::cncchess2(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
// basic machine hardware
|
||||
M6504(config, m_maincpu, 1000000); // approximation, no XTAL
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &cchess2_state::main_map);
|
||||
|
||||
@ -251,11 +253,11 @@ void cchess2_state::cncchess2(machine_config &config)
|
||||
m_board->init_cb().set(m_board, FUNC(sensorboard_device::preset_chess));
|
||||
m_board->set_delay(attotime::from_msec(150));
|
||||
|
||||
/* video hardware */
|
||||
// video hardware
|
||||
PWM_DISPLAY(config, m_display).set_size(8, 8);
|
||||
config.set_default_layout(layout_conic_cchess2);
|
||||
|
||||
/* sound hardware */
|
||||
// sound hardware
|
||||
SPEAKER(config, "speaker").front_center();
|
||||
DAC_1BIT(config, m_dac).add_route(ALL_OUTPUTS, "speaker", 0.25);
|
||||
}
|
||||
@ -267,7 +269,7 @@ void cchess2_state::cncchess2(machine_config &config)
|
||||
******************************************************************************/
|
||||
|
||||
ROM_START( cncchess2 )
|
||||
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||
ROM_REGION( 0x2000, "maincpu", 0 )
|
||||
ROM_LOAD("c11485.u2", 0x1000, 0x1000, CRC(b179d536) SHA1(0b1f9c247a4a3e2ccbf8d3ae5efa62b8938f572f) ) // AMI 2332
|
||||
ROM_END
|
||||
|
||||
|
161
src/mame/drivers/conic_cchess3.cpp
Normal file
161
src/mame/drivers/conic_cchess3.cpp
Normal file
@ -0,0 +1,161 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:hap
|
||||
// thanks-to:Berger
|
||||
/******************************************************************************
|
||||
|
||||
Conic Computer Chess (model 07013), more commonly known as Conic "Korchnoi".
|
||||
|
||||
The interface is similar to the previous model (07012), where the user needs
|
||||
to press Enter after their move.
|
||||
|
||||
Hardware notes:
|
||||
- Synertek 6502A @ 2MHz
|
||||
- OKI MSM5840H-41RS @ 3.57MHz (2KB internal ROM)
|
||||
- 2*4KB ROM(AMI), 1KB RAM(2*2114)
|
||||
- beeper, 8*8+4 leds, magnets chessboard
|
||||
|
||||
TODO:
|
||||
- It does not work, MSM5840 is unemulated, and the internal ROM is not dumped.
|
||||
MCU handles inputs, leds, sound, and it communicates with maincpu after
|
||||
triggering an IRQ.
|
||||
|
||||
******************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
|
||||
#include "cpu/m6502/m6502.h"
|
||||
#include "machine/sensorboard.h"
|
||||
#include "sound/dac.h"
|
||||
#include "video/pwm.h"
|
||||
|
||||
#include "speaker.h"
|
||||
|
||||
// internal artwork
|
||||
//#include "conic_cchess3.lh" // clickable
|
||||
|
||||
|
||||
namespace {
|
||||
|
||||
class cchess3_state : public driver_device
|
||||
{
|
||||
public:
|
||||
cchess3_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
driver_device(mconfig, type, tag),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_board(*this, "board"),
|
||||
m_display(*this, "display"),
|
||||
m_dac(*this, "dac")
|
||||
{ }
|
||||
|
||||
// machine configs
|
||||
void cncchess3(machine_config &config);
|
||||
|
||||
protected:
|
||||
virtual void machine_start() override;
|
||||
|
||||
private:
|
||||
// devices/pointers
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<sensorboard_device> m_board;
|
||||
required_device<pwm_display_device> m_display;
|
||||
required_device<dac_bit_interface> m_dac;
|
||||
|
||||
void main_map(address_map &map);
|
||||
|
||||
// I/O handlers
|
||||
void main_comm_w(u8 data);
|
||||
u8 main_comm_r();
|
||||
};
|
||||
|
||||
void cchess3_state::machine_start()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
I/O
|
||||
******************************************************************************/
|
||||
|
||||
void cchess3_state::main_comm_w(u8 data)
|
||||
{
|
||||
}
|
||||
|
||||
u8 cchess3_state::main_comm_r()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
Address Maps
|
||||
******************************************************************************/
|
||||
|
||||
void cchess3_state::main_map(address_map &map)
|
||||
{
|
||||
map.global_mask(0x3fff);
|
||||
map(0x0000, 0x03ff).ram();
|
||||
map(0x1000, 0x1000).rw(FUNC(cchess3_state::main_comm_r), FUNC(cchess3_state::main_comm_w));
|
||||
map(0x2000, 0x3fff).rom();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
Input Ports
|
||||
******************************************************************************/
|
||||
|
||||
static INPUT_PORTS_START( cncchess3 )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
Machine Configs
|
||||
******************************************************************************/
|
||||
|
||||
void cchess3_state::cncchess3(machine_config &config)
|
||||
{
|
||||
// basic machine hardware
|
||||
M6502(config, m_maincpu, 2_MHz_XTAL);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &cchess3_state::main_map);
|
||||
|
||||
SENSORBOARD(config, m_board).set_type(sensorboard_device::MAGNETS);
|
||||
m_board->init_cb().set(m_board, FUNC(sensorboard_device::preset_chess));
|
||||
m_board->set_delay(attotime::from_msec(150));
|
||||
|
||||
// video hardware
|
||||
PWM_DISPLAY(config, m_display).set_size(8+1, 8);
|
||||
//config.set_default_layout(layout_conic_cchess3);
|
||||
|
||||
// sound hardware
|
||||
SPEAKER(config, "speaker").front_center();
|
||||
DAC_1BIT(config, m_dac).add_route(ALL_OUTPUTS, "speaker", 0.25);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
ROM Definitions
|
||||
******************************************************************************/
|
||||
|
||||
ROM_START( cncchess3 )
|
||||
ROM_REGION( 0x4000, "maincpu", 0 )
|
||||
ROM_LOAD("c107013-1", 0x2000, 0x1000, CRC(3251a529) SHA1(729b22d7653761ff0951ce1da58fdfcd474a700d) ) // AMI 2332
|
||||
ROM_LOAD("c107013-2", 0x3000, 0x1000, CRC(0f38dcef) SHA1(f8fb7e12b41753fe52dd2eb2edb843211b5ca7c1) ) // "
|
||||
|
||||
ROM_REGION( 0x0800, "mcu", 0 )
|
||||
ROM_LOAD("msm5840h-41rs", 0x0000, 0x0800, NO_DUMP )
|
||||
ROM_END
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
Drivers
|
||||
******************************************************************************/
|
||||
|
||||
// YEAR NAME PARENT CMP MACHINE INPUT STATE INIT COMPANY, FULLNAME, FLAGS
|
||||
CONS( 1981, cncchess3, 0, 0, cncchess3, cncchess3, cchess3_state, empty_init, "Conic", "Computer Chess (Conic, model 7013)", MACHINE_SUPPORTS_SAVE | MACHINE_IS_SKELETON )
|
@ -10799,6 +10799,9 @@ concept // 1982 Corvus Concept
|
||||
@source:conic_cchess2.cpp
|
||||
cncchess2
|
||||
|
||||
@source:conic_cchess3.cpp
|
||||
cncchess3
|
||||
|
||||
@source:consola_emt.cpp
|
||||
consoemt //
|
||||
|
||||
|
@ -199,6 +199,7 @@ comx35.cpp
|
||||
concept.cpp
|
||||
conchess.cpp
|
||||
conic_cchess2.cpp
|
||||
conic_cchess3.cpp
|
||||
consola_emt.cpp
|
||||
controlid.cpp
|
||||
cortex.cpp
|
||||
|
Loading…
Reference in New Issue
Block a user