mirror of
https://github.com/holub/mame
synced 2025-07-10 12:15:31 +03:00
misc: add notes (nw)
This commit is contained in:
parent
2315b25965
commit
e680c90e2b
@ -1,9 +1,10 @@
|
|||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
|
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
|
||||||
|
|
||||||
|
<softwarelist name="mephisto_mm1" description="Mephisto MM I Modules">
|
||||||
|
|
||||||
<!-- HG 170 module is exclusively used with MM I -->
|
<!-- HG 170 module is exclusively used with MM I -->
|
||||||
|
|
||||||
<softwarelist name="mephisto_mm1" description="Mephisto MM I Modules">
|
|
||||||
<software name="hg170">
|
<software name="hg170">
|
||||||
<description>Mephisto HG 170 Opening Library</description>
|
<description>Mephisto HG 170 Opening Library</description>
|
||||||
<year>1983</year>
|
<year>1983</year>
|
||||||
@ -14,4 +15,5 @@
|
|||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
</softwarelist>
|
</softwarelist>
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
|
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
|
||||||
|
|
||||||
|
<softwarelist name="mephisto_mm2" description="Mephisto MM II Modules">
|
||||||
|
|
||||||
<!-- HG 240 module is exclusively used with MM II -->
|
<!-- HG 240 module is exclusively used with MM II -->
|
||||||
|
|
||||||
<softwarelist name="mephisto_mm2" description="Mephisto MM II Modules">
|
|
||||||
<software name="hg240">
|
<software name="hg240">
|
||||||
<description>Mephisto HG 240 Opening Library</description>
|
<description>Mephisto HG 240 Opening Library</description>
|
||||||
<year>1984</year>
|
<year>1984</year>
|
||||||
@ -14,4 +15,5 @@
|
|||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
</softwarelist>
|
</softwarelist>
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
|
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
|
||||||
|
|
||||||
|
<softwarelist name="mephisto_mm4" description="Mephisto MM IV Modules">
|
||||||
|
|
||||||
<!-- HG 440 module is exclusively used with MM IV -->
|
<!-- HG 440 module is exclusively used with MM IV -->
|
||||||
|
|
||||||
<softwarelist name="mephisto_mm4" description="Mephisto MM IV Modules">
|
|
||||||
<software name="hg440">
|
<software name="hg440">
|
||||||
<description>Mephisto HG 440 Opening Library</description>
|
<description>Mephisto HG 440 Opening Library</description>
|
||||||
<year>1987</year>
|
<year>1987</year>
|
||||||
@ -14,4 +15,5 @@
|
|||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
</softwarelist>
|
</softwarelist>
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
|
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
|
||||||
|
|
||||||
|
<softwarelist name="mephisto_mm5" description="Mephisto MM V Modules">
|
||||||
|
|
||||||
<!-- HG 550 module is exclusively used with MM V -->
|
<!-- HG 550 module is exclusively used with MM V -->
|
||||||
|
|
||||||
<softwarelist name="mephisto_mm5" description="Mephisto MM V Modules">
|
|
||||||
<software name="hg550">
|
<software name="hg550">
|
||||||
<description>Mephisto HG 550 Opening Library</description>
|
<description>Mephisto HG 550 Opening Library</description>
|
||||||
<year>1990</year>
|
<year>1990</year>
|
||||||
@ -14,4 +15,5 @@
|
|||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
</softwarelist>
|
</softwarelist>
|
||||||
|
@ -1,15 +1,18 @@
|
|||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
|
<!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">
|
<software name="college">
|
||||||
<description>College Module</description>
|
<description>College Module</description>
|
||||||
<year>1989</year>
|
<year>1988</year>
|
||||||
<publisher>Hegener + Glaser</publisher>
|
<publisher>Hegener + Glaser</publisher>
|
||||||
<part name="cart" interface="smondial2_cart">
|
<part name="cart" interface="smondial2_cart">
|
||||||
<dataarea name="rom" size="0x4000">
|
<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"/>
|
<rom size="0x4000" offset="0" loadflag="continue"/>
|
||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
</softwarelist>
|
</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_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)
|
WRITE8_MEMBER(brikett_state::esb_w)
|
||||||
{
|
{
|
||||||
|
// CDP1852 SR + DO0-DO7 goes to external port, to chessboard
|
||||||
if (!m_inputs[5].read_safe(0))
|
if (!m_inputs[5].read_safe(0))
|
||||||
{
|
{
|
||||||
// chessboard disabled
|
// chessboard disabled
|
||||||
@ -258,14 +259,14 @@ WRITE8_MEMBER(brikett_state::esb_w)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// CDP1852 SR clocks CD4017, goes to external port together with DO0-DO7
|
// SR clocks CD4017
|
||||||
// 4017 Q0: N/C
|
// 4017 Q0: N/C
|
||||||
// 4017 Q1 + d0-d7: 74374 to led data
|
// 4017 Q1 + d0-d7: 74374 to led data
|
||||||
// 4017 Q2 + d0-d7: 74373 to row select
|
// 4017 Q2 + d0-d7: 74373 to row select
|
||||||
// 4017 Q2-Q9: column select
|
// 4017 Q2-Q9: column select
|
||||||
m_esb_select = (m_esb_select + 1) % 10;
|
m_esb_select = (m_esb_select + 1) % 10;
|
||||||
|
|
||||||
// d0-d7 ANDed together: 4017 reset
|
// DO0-DO7 ANDed together: 4017 reset
|
||||||
if (data == 0xff)
|
if (data == 0xff)
|
||||||
m_esb_select = 0;
|
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
|
and their limited-release home versions. These are mephisto_modular hardware
|
||||||
generation, see that driver for more information.
|
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
|
The Bavaria board does not work on these. Not only does it not have the connector
|
||||||
for it, but no software 'driver' either.
|
for it, but no software 'driver' either.
|
||||||
|
|
||||||
@ -18,6 +21,8 @@ but ROM has many differences.
|
|||||||
BTANB:
|
BTANB:
|
||||||
- lyon32t8 still says "2048Kbyte" even though it uses 8MB RAM
|
- lyon32t8 still says "2048Kbyte" even though it uses 8MB RAM
|
||||||
|
|
||||||
|
===============================================================================
|
||||||
|
|
||||||
Hardware notes:
|
Hardware notes:
|
||||||
|
|
||||||
V(Verkauf?) home version:
|
V(Verkauf?) home version:
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
- holding CL+INFO+BOOK on boot load the test mode
|
- holding CL+INFO+BOOK on boot load the test mode
|
||||||
|
|
||||||
TODO:
|
TODO:
|
||||||
- split driver into several files?
|
- split driver into several files? need to make PCF2112T device
|
||||||
- why are megaiv/smondial2 beeps noisy?
|
- 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);
|
m_maincpu->set_addrmap(AS_PROGRAM, &mephisto_montec_state::smondial2_mem);
|
||||||
|
|
||||||
GENERIC_CARTSLOT(config, "cartslot", generic_plain_slot, "smondial2_cart");
|
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);
|
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( 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, 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( 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( 1988, 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, 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 )
|
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.
|
The chess engine in Mephisto Risc is also compatible with Tasc's The ChessMachine.
|
||||||
|
|
||||||
TODO:
|
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
|
- 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)
|
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_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)));
|
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)
|
void mephisto_polgar_state::polgar10(machine_config &config)
|
||||||
{
|
{
|
||||||
polgar(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)
|
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)
|
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);
|
subdevice<m65c02_device>("maincpu")->set_addrmap(AS_PROGRAM, &mephisto_milano_state::milano_mem);
|
||||||
|
|
||||||
MEPHISTO_BUTTONS_BOARD(config.replace(), m_board);
|
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)
|
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);
|
subdevice<m65c02_device>("maincpu")->set_addrmap(AS_PROGRAM, &mephisto_academy_state::academy_mem);
|
||||||
|
|
||||||
hc259_device &outlatch(HC259(config.replace(), "outlatch"));
|
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("acad4000.bin", 0x4000, 0x4000, CRC(ee1222b5) SHA1(98541d87755a7186b69b9723cc4adbd07f20f0e2), ROM_BIOS(0))
|
||||||
ROMX_LOAD("acad8000.bin", 0x8000, 0x8000, CRC(a967922b) SHA1(1327903ff89bf96d72c930c400f367ae19e3ec68), ROM_BIOS(0))
|
ROMX_LOAD("acad8000.bin", 0x8000, 0x8000, CRC(a967922b) SHA1(1327903ff89bf96d72c930c400f367ae19e3ec68), ROM_BIOS(0))
|
||||||
ROM_SYSTEM_BIOS( 1, "de", "German" )
|
ROM_SYSTEM_BIOS( 1, "de", "German" )
|
||||||
ROMX_LOAD("academy_2_4000.bin", 0x4000, 0x4000, CRC(900a0001) SHA1(174a6bc3bde55994c603e232fcb45fccd62f11f6), ROM_BIOS(1))
|
ROMX_LOAD("academy_16k_6.3.89", 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_32k_6.3.89", 0x8000, 0x8000, CRC(e313d084) SHA1(ced5712d34fcc81bedcd741b7ac9e2ba17bf5235), ROM_BIOS(1))
|
||||||
ROM_SYSTEM_BIOS( 2, "de_old", "German Old" )
|
ROM_SYSTEM_BIOS( 2, "de_old", "German Old" )
|
||||||
ROMX_LOAD("acad4000_de.bin", 0x4000, 0x4000, CRC(fb4d83c4) SHA1(f5132042c3b5a17c173f81eaa57e313ff0bb848e), ROM_BIOS(2))
|
ROMX_LOAD("academy_16k_04.10.88", 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_32k_04.10.88", 0x8000, 0x8000, CRC(478155db) SHA1(d363ab6d5bc0f47a6cdfa5132b77535ef8da8256), ROM_BIOS(2))
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
ROM_START(milano)
|
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(AS_IO, &model1_state::copro_io_map);
|
||||||
m_tgp_copro->set_addrmap(mb86233_device::AS_RF, &model1_state::copro_rf_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);
|
S24TILE(config, m_tiles, 0, 0x3fff).set_palette(m_palette);
|
||||||
|
|
||||||
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
|
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);
|
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));
|
model1io_device &ioboard(SEGA_MODEL1IO(config, "ioboard", 0));
|
||||||
ioboard.read_callback().set(m_dpram, FUNC(mb8421_device::left_r));
|
ioboard.read_callback().set(m_dpram, FUNC(mb8421_device::left_r));
|
||||||
ioboard.write_callback().set(m_dpram, FUNC(mb8421_device::left_w));
|
ioboard.write_callback().set(m_dpram, FUNC(mb8421_device::left_w));
|
||||||
ioboard.in_callback<0>().set_ioport("IN.0");
|
ioboard.in_callback<0>().set_ioport("IN.0");
|
||||||
ioboard.in_callback<1>().set_ioport("IN.1");
|
ioboard.in_callback<1>().set_ioport("IN.1");
|
||||||
|
|
||||||
|
MB8421(config, m_dpram, 0);
|
||||||
|
|
||||||
SEGAM1AUDIO(config, m_m1audio, 0);
|
SEGAM1AUDIO(config, m_m1audio, 0);
|
||||||
m_m1audio->rxd_handler().set(m_m1uart, FUNC(i8251_device::write_rxd));
|
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_timers(config);
|
||||||
model2_screen(config);
|
model2_screen(config);
|
||||||
|
|
||||||
|
// create SEGA_MODEL1IO device *after* SCREEN device
|
||||||
model1io_device &ioboard(SEGA_MODEL1IO(config, "ioboard", 0));
|
model1io_device &ioboard(SEGA_MODEL1IO(config, "ioboard", 0));
|
||||||
ioboard.set_default_bios_tag("epr14869c");
|
ioboard.set_default_bios_tag("epr14869c");
|
||||||
ioboard.read_callback().set("dpram", FUNC(mb8421_device::left_r));
|
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);
|
SEGAM1AUDIO(config, m_m1audio, 0);
|
||||||
m_m1audio->rxd_handler().set(m_uart, FUNC(i8251_device::write_rxd));
|
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));
|
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)
|
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
|
// license:BSD-3-Clause
|
||||||
// copyright-holders:Olivier Galibert, hap
|
// copyright-holders:Olivier Galibert, hap
|
||||||
// thanks-to:Berger
|
// thanks-to:Berger
|
||||||
/***************************************************************************
|
/******************************************************************************
|
||||||
|
|
||||||
SciSys/Saitek Stratos chesscomputer family (1987-1990)
|
SciSys/Saitek Stratos chesscomputer family (1987-1990)
|
||||||
(SciSys renamed themselves to Saitek in 1987)
|
(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
|
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.
|
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:
|
Hardware notes:
|
||||||
- W65C02 or R65C02 at 5MHz or ~5.6MHz (for latter, box says 6MHz but that's a marketing lie)
|
- 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,
|
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.
|
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 "emu.h"
|
||||||
#include "includes/saitek_stratos.h"
|
#include "includes/saitek_stratos.h"
|
||||||
|
Loading…
Reference in New Issue
Block a user