misc: add notes (nw)

This commit is contained in:
hap 2020-01-08 11:05:31 +01:00
parent 2315b25965
commit e680c90e2b
13 changed files with 58 additions and 39 deletions

View File

@ -1,9 +1,10 @@
<?xml version="1.0"?>
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
<softwarelist name="mephisto_mm1" description="Mephisto MM I Modules">
<!-- HG 170 module is exclusively used with MM I -->
<softwarelist name="mephisto_mm1" description="Mephisto MM I Modules">
<software name="hg170">
<description>Mephisto HG 170 Opening Library</description>
<year>1983</year>
@ -14,4 +15,5 @@
</dataarea>
</part>
</software>
</softwarelist>

View File

@ -1,9 +1,10 @@
<?xml version="1.0"?>
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
<softwarelist name="mephisto_mm2" description="Mephisto MM II Modules">
<!-- HG 240 module is exclusively used with MM II -->
<softwarelist name="mephisto_mm2" description="Mephisto MM II Modules">
<software name="hg240">
<description>Mephisto HG 240 Opening Library</description>
<year>1984</year>
@ -14,4 +15,5 @@
</dataarea>
</part>
</software>
</softwarelist>

View File

@ -1,9 +1,10 @@
<?xml version="1.0"?>
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
<softwarelist name="mephisto_mm4" description="Mephisto MM IV Modules">
<!-- HG 440 module is exclusively used with MM IV -->
<softwarelist name="mephisto_mm4" description="Mephisto MM IV Modules">
<software name="hg440">
<description>Mephisto HG 440 Opening Library</description>
<year>1987</year>
@ -14,4 +15,5 @@
</dataarea>
</part>
</software>
</softwarelist>

View File

@ -1,9 +1,10 @@
<?xml version="1.0"?>
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
<softwarelist name="mephisto_mm5" description="Mephisto MM V Modules">
<!-- HG 550 module is exclusively used with MM V -->
<softwarelist name="mephisto_mm5" description="Mephisto MM V Modules">
<software name="hg550">
<description>Mephisto HG 550 Opening Library</description>
<year>1990</year>
@ -14,4 +15,5 @@
</dataarea>
</part>
</software>
</softwarelist>

View File

@ -1,15 +1,18 @@
<?xml version="1.0"?>
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
<softwarelist name="smondial2" description="Mephisto Super Mondial II cartridges">
<softwarelist name="mephisto_smondial2" description="Mephisto Super Mondial II Modules">
<software name="college">
<description>College Module</description>
<year>1989</year>
<year>1988</year>
<publisher>Hegener + Glaser</publisher>
<part name="cart" interface="smondial2_cart">
<dataarea name="rom" size="0x4000">
<rom name="college_module.bin" size="0x4000" crc="02fbdf33" sha1="7d1c87b446ef00f4a533f5193f33b3e05af9ff33" offset="0" />
<rom name="college_7.7.88" size="0x4000" crc="02fbdf33" sha1="7d1c87b446ef00f4a533f5193f33b3e05af9ff33" offset="0" /> <!-- TC57256AD-12, first half empty -->
<rom size="0x4000" offset="0" loadflag="continue"/>
</dataarea>
</part>
</software>
</softwarelist>

View File

@ -352,7 +352,7 @@ void cgang_state::refresh_motor_output()
m_en_count[i] = int((m_en_pos[i] / float(CG_MOTOR_LIMIT)) * 100.0 + 0.5);
}
m_door_count = int((m_door_motor_pos / float(DOOR_MOTOR_LIMIT)) * 100.0 + 0.5);
m_door_count = (m_conf->read() & 1) ? int((m_door_motor_pos / float(DOOR_MOTOR_LIMIT)) * 100.0 + 0.5) : 0;
}

View File

@ -251,6 +251,7 @@ READ8_MEMBER(brikett_state::input_r)
WRITE8_MEMBER(brikett_state::esb_w)
{
// CDP1852 SR + DO0-DO7 goes to external port, to chessboard
if (!m_inputs[5].read_safe(0))
{
// chessboard disabled
@ -258,14 +259,14 @@ WRITE8_MEMBER(brikett_state::esb_w)
return;
}
// CDP1852 SR clocks CD4017, goes to external port together with DO0-DO7
// SR clocks CD4017
// 4017 Q0: N/C
// 4017 Q1 + d0-d7: 74374 to led data
// 4017 Q2 + d0-d7: 74373 to row select
// 4017 Q2-Q9: column select
m_esb_select = (m_esb_select + 1) % 10;
// d0-d7 ANDed together: 4017 reset
// DO0-DO7 ANDed together: 4017 reset
if (data == 0xff)
m_esb_select = 0;

View File

@ -6,6 +6,9 @@ Mephisto Turniermaschinen (dedicated in-house chesscomputers used at tournaments
and their limited-release home versions. These are mephisto_modular hardware
generation, see that driver for more information.
V versions were sold in limited quantities by Hobby Computer Centrale.
T versions were the ones used in actual tournaments, some of them sold to fans.
The Bavaria board does not work on these. Not only does it not have the connector
for it, but no software 'driver' either.
@ -18,6 +21,8 @@ but ROM has many differences.
BTANB:
- lyon32t8 still says "2048Kbyte" even though it uses 8MB RAM
===============================================================================
Hardware notes:
V(Verkauf?) home version:

View File

@ -14,7 +14,7 @@
- holding CL+INFO+BOOK on boot load the test mode
TODO:
- split driver into several files?
- split driver into several files? need to make PCF2112T device
- why are megaiv/smondial2 beeps noisy?
**************************************************************************************************/
@ -591,7 +591,7 @@ void mephisto_montec_state::smondial2(machine_config &config)
m_maincpu->set_addrmap(AS_PROGRAM, &mephisto_montec_state::smondial2_mem);
GENERIC_CARTSLOT(config, "cartslot", generic_plain_slot, "smondial2_cart");
SOFTWARE_LIST(config, "cart_list").set_original("smondial2");
SOFTWARE_LIST(config, "cart_list").set_original("mephisto_smondial2");
config.set_default_layout(layout_mephisto_smondial2);
}
@ -652,6 +652,6 @@ CONS( 1986, smondial, 0, 0, smondial, megaiv, mephisto_montec_s
CONS( 1986, smondialb, smondial, 0, megaiv, megaiv, mephisto_montec_state, empty_init, "Hegener + Glaser", "Mephisto Super Mondial (Ver B)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
CONS( 1987, montec, 0, 0, montec, montec, mephisto_montec_state, empty_init, "Hegener + Glaser", "Mephisto Monte Carlo", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
CONS( 1987, mondial2, 0, 0, mondial2, mondial2, mephisto_montec_state, empty_init, "Hegener + Glaser", "Mephisto Mondial II", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
CONS( 1989, smondial2, 0, 0, smondial2, smondial2, mephisto_montec_state, empty_init, "Hegener + Glaser", "Mephisto Super Mondial II", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
CONS( 1989, megaiv, 0, 0, megaiv, megaiv, mephisto_montec_state, empty_init, "Hegener + Glaser", "Mephisto Mega IV", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
CONS( 1988, smondial2, 0, 0, smondial2, smondial2, mephisto_montec_state, empty_init, "Hegener + Glaser", "Mephisto Super Mondial II", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
CONS( 1988, megaiv, 0, 0, megaiv, megaiv, mephisto_montec_state, empty_init, "Hegener + Glaser", "Mephisto Mega IV", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
CONS( 1990, monteciv, montec, 0, monteciv, montec, mephisto_montec_state, empty_init, "Hegener + Glaser", "Mephisto Monte Carlo IV LE", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )

View File

@ -7,7 +7,7 @@ Mephisto Polgar and RISC
The chess engine in Mephisto Risc is also compatible with Tasc's The ChessMachine.
TODO:
- Mephisto Risc maincpu is more likely 5MHz, but LCD doesn't like it
- Mephisto Risc maincpu is maybe 5MHz? but LCD doesn't like it
- split driver into several files? mrisc for example is completely different hw
**************************************************************************************************/
@ -301,7 +301,7 @@ void mephisto_academy_state::machine_reset()
void mephisto_polgar_state::polgar(machine_config &config)
{
m65c02_device &maincpu(M65C02(config, "maincpu", XTAL(4'915'200)));
m65c02_device &maincpu(M65C02(config, "maincpu", XTAL(4'915'200))); // RP65C02G
maincpu.set_addrmap(AS_PROGRAM, &mephisto_polgar_state::polgar_mem);
maincpu.set_periodic_int(FUNC(mephisto_polgar_state::nmi_line_pulse), attotime::from_hz(XTAL(4'915'200) / (1 << 13)));
@ -323,7 +323,7 @@ void mephisto_polgar_state::polgar(machine_config &config)
void mephisto_polgar_state::polgar10(machine_config &config)
{
polgar(config);
subdevice<m65c02_device>("maincpu")->set_clock(XTAL(10'000'000));
subdevice<m65c02_device>("maincpu")->set_clock(9.8304_MHz_XTAL); // W65C02P-8
}
void mephisto_risc_state::mrisc(machine_config &config)
@ -353,7 +353,7 @@ void mephisto_risc_state::mrisc(machine_config &config)
void mephisto_milano_state::milano(machine_config &config)
{
polgar(config);
polgar(config); // CPU: W65C02P-8, 4.9152Mhz
subdevice<m65c02_device>("maincpu")->set_addrmap(AS_PROGRAM, &mephisto_milano_state::milano_mem);
MEPHISTO_BUTTONS_BOARD(config.replace(), m_board);
@ -363,7 +363,7 @@ void mephisto_milano_state::milano(machine_config &config)
void mephisto_academy_state::academy(machine_config &config)
{
polgar(config);
polgar(config); // CPU: VL65NC02-04PC, 4.9152Mhz
subdevice<m65c02_device>("maincpu")->set_addrmap(AS_PROGRAM, &mephisto_academy_state::academy_mem);
hc259_device &outlatch(HC259(config.replace(), "outlatch"));
@ -407,11 +407,11 @@ ROM_START(academy)
ROMX_LOAD("acad4000.bin", 0x4000, 0x4000, CRC(ee1222b5) SHA1(98541d87755a7186b69b9723cc4adbd07f20f0e2), ROM_BIOS(0))
ROMX_LOAD("acad8000.bin", 0x8000, 0x8000, CRC(a967922b) SHA1(1327903ff89bf96d72c930c400f367ae19e3ec68), ROM_BIOS(0))
ROM_SYSTEM_BIOS( 1, "de", "German" )
ROMX_LOAD("academy_2_4000.bin", 0x4000, 0x4000, CRC(900a0001) SHA1(174a6bc3bde55994c603e232fcb45fccd62f11f6), ROM_BIOS(1))
ROMX_LOAD("academy_1_8000.bin", 0x8000, 0x8000, CRC(e313d084) SHA1(ced5712d34fcc81bedcd741b7ac9e2ba17bf5235), ROM_BIOS(1))
ROMX_LOAD("academy_16k_6.3.89", 0x4000, 0x4000, CRC(900a0001) SHA1(174a6bc3bde55994c603e232fcb45fccd62f11f6), ROM_BIOS(1))
ROMX_LOAD("academy_32k_6.3.89", 0x8000, 0x8000, CRC(e313d084) SHA1(ced5712d34fcc81bedcd741b7ac9e2ba17bf5235), ROM_BIOS(1))
ROM_SYSTEM_BIOS( 2, "de_old", "German Old" )
ROMX_LOAD("acad4000_de.bin", 0x4000, 0x4000, CRC(fb4d83c4) SHA1(f5132042c3b5a17c173f81eaa57e313ff0bb848e), ROM_BIOS(2))
ROMX_LOAD("acad8000_de.bin", 0x8000, 0x8000, CRC(478155db) SHA1(d363ab6d5bc0f47a6cdfa5132b77535ef8da8256), ROM_BIOS(2))
ROMX_LOAD("academy_16k_04.10.88", 0x4000, 0x4000, CRC(fb4d83c4) SHA1(f5132042c3b5a17c173f81eaa57e313ff0bb848e), ROM_BIOS(2))
ROMX_LOAD("academy_32k_04.10.88", 0x8000, 0x8000, CRC(478155db) SHA1(d363ab6d5bc0f47a6cdfa5132b77535ef8da8256), ROM_BIOS(2))
ROM_END
ROM_START(milano)

View File

@ -1705,8 +1705,6 @@ void model1_state::model1(machine_config &config)
m_tgp_copro->set_addrmap(AS_IO, &model1_state::copro_io_map);
m_tgp_copro->set_addrmap(mb86233_device::AS_RF, &model1_state::copro_rf_map);
MB8421(config, m_dpram, 0);
S24TILE(config, m_tiles, 0, 0x3fff).set_palette(m_palette);
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
@ -1717,12 +1715,15 @@ void model1_state::model1(machine_config &config)
PALETTE(config, m_palette).set_format(palette_device::xBGR_555, 8192);
// create SEGA_MODEL1IO device *after* SCREEN device
model1io_device &ioboard(SEGA_MODEL1IO(config, "ioboard", 0));
ioboard.read_callback().set(m_dpram, FUNC(mb8421_device::left_r));
ioboard.write_callback().set(m_dpram, FUNC(mb8421_device::left_w));
ioboard.in_callback<0>().set_ioport("IN.0");
ioboard.in_callback<1>().set_ioport("IN.1");
MB8421(config, m_dpram, 0);
SEGAM1AUDIO(config, m_m1audio, 0);
m_m1audio->rxd_handler().set(m_m1uart, FUNC(i8251_device::write_rxd));

View File

@ -2548,6 +2548,7 @@ void model2o_state::model2o(machine_config &config)
model2_timers(config);
model2_screen(config);
// create SEGA_MODEL1IO device *after* SCREEN device
model1io_device &ioboard(SEGA_MODEL1IO(config, "ioboard", 0));
ioboard.set_default_bios_tag("epr14869c");
ioboard.read_callback().set("dpram", FUNC(mb8421_device::left_r));
@ -2560,7 +2561,7 @@ void model2o_state::model2o(machine_config &config)
SEGAM1AUDIO(config, m_m1audio, 0);
m_m1audio->rxd_handler().set(m_uart, FUNC(i8251_device::write_rxd));
I8251(config, m_uart, 8000000); // uPD71051C, clock unknown
I8251(config, m_uart, 8000000); // uPD71051C, clock unknown
m_uart->txd_handler().set(m_m1audio, FUNC(segam1audio_device::write_txd));
clock_device &uart_clock(CLOCK(config, "uart_clock", 500000)); // 16 times 31.25MHz (standard Sega/MIDI sound data rate)

View File

@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:Olivier Galibert, hap
// thanks-to:Berger
/***************************************************************************
/******************************************************************************
SciSys/Saitek Stratos chesscomputer family (1987-1990)
(SciSys renamed themselves to Saitek in 1987)
@ -18,7 +18,17 @@ When not using -autosave, press that button before exiting MAME, or NVRAM can ge
If that happens, the chesscomputer will become unresponsive on next boot. To force a
cold boot, press ACL, then hold the PLAY button and press GO.
*******************************************************************************
TODO:
- emulate LCD at lower level, probably an MCU with embedded LCDC
- LCD status bit handling is guessed. stratos expects it to be high after lcd command 0xf,
but tking2 won't work if it's done that way, and corona is different too
- irq timing is derived from the main XTAL, but result should be similar with 5MHz and 5.67MHz,
there are a couple of "FREQ. SEL" nodes on the PCB, maybe related (not the ones in input ports)
- tking(old revisions) and stratos slow responsive buttons, related to irq timing, but if that's changed,
the led blinking and in-game clock is too fast
- does nvram.u7 work? it's cleared during boot, but not used after
===============================================================================
Hardware notes:
- W65C02 or R65C02 at 5MHz or ~5.6MHz (for latter, box says 6MHz but that's a marketing lie)
@ -40,17 +50,7 @@ as such by the chesscomputer community. Saitek simply advertised them as an impr
The initial Stratos/Turbo King (PRG ROM labels known: M,K,L,P) are probably engine version B,
very few bytes difference between revisions. The first Corona is engine version C.
TODO:
- emulate LCD at lower level, probably an MCU with embedded LCDC
- LCD status bit handling is guessed. stratos expects it to be high after lcd command 0xf,
but tking2 won't work if it's done that way, and corona is different too
- irq timing is derived from the main XTAL, but result should be similar with 5MHz and 5.67MHz,
there are a couple of "FREQ. SEL" nodes on the PCB, maybe related (not the ones in input ports)
- tking(old revisions) and stratos slow responsive buttons, related to irq timing, but if that's changed,
the led blinking and in-game clock is too fast
- does nvram.u7 work? it's cleared during boot, but not used after
***************************************************************************/
******************************************************************************/
#include "emu.h"
#include "includes/saitek_stratos.h"