mirror of
https://github.com/holub/mame
synced 2025-04-23 00:39:36 +03:00
misc: add notes (nw)
This commit is contained in:
parent
2315b25965
commit
e680c90e2b
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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:
|
||||
|
@ -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 )
|
||||
|
@ -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)
|
||||
|
@ -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));
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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"
|
||||
|
Loading…
Reference in New Issue
Block a user