From e680c90e2be38d968bcc045b94e0f067408bde5c Mon Sep 17 00:00:00 2001 From: hap Date: Wed, 8 Jan 2020 11:05:31 +0100 Subject: misc: add notes (nw) --- hash/mephisto_mm1.xml | 4 +++- hash/mephisto_mm2.xml | 4 +++- hash/mephisto_mm4.xml | 4 +++- hash/mephisto_mm5.xml | 4 +++- hash/mephisto_smondial2.xml | 18 ++++++++++++++++++ hash/smondial2.xml | 15 --------------- src/mame/drivers/cgang.cpp | 2 +- src/mame/drivers/mephisto_brikett.cpp | 5 +++-- src/mame/drivers/mephisto_modular_tm.cpp | 5 +++++ src/mame/drivers/mephisto_montec.cpp | 8 ++++---- src/mame/drivers/mephisto_polgar.cpp | 18 +++++++++--------- src/mame/drivers/model1.cpp | 5 +++-- src/mame/drivers/model2.cpp | 3 ++- src/mame/drivers/saitek_stratos.cpp | 26 +++++++++++++------------- 14 files changed, 70 insertions(+), 51 deletions(-) create mode 100644 hash/mephisto_smondial2.xml delete mode 100644 hash/smondial2.xml diff --git a/hash/mephisto_mm1.xml b/hash/mephisto_mm1.xml index f2455393a5d..b2801768afb 100644 --- a/hash/mephisto_mm1.xml +++ b/hash/mephisto_mm1.xml @@ -1,9 +1,10 @@ + + - Mephisto HG 170 Opening Library 1983 @@ -14,4 +15,5 @@ + diff --git a/hash/mephisto_mm2.xml b/hash/mephisto_mm2.xml index 948b2d09e06..6903a3b0954 100644 --- a/hash/mephisto_mm2.xml +++ b/hash/mephisto_mm2.xml @@ -1,9 +1,10 @@ + + - Mephisto HG 240 Opening Library 1984 @@ -14,4 +15,5 @@ + diff --git a/hash/mephisto_mm4.xml b/hash/mephisto_mm4.xml index 969848881fd..0a84f46ce9c 100644 --- a/hash/mephisto_mm4.xml +++ b/hash/mephisto_mm4.xml @@ -1,9 +1,10 @@ + + - Mephisto HG 440 Opening Library 1987 @@ -14,4 +15,5 @@ + diff --git a/hash/mephisto_mm5.xml b/hash/mephisto_mm5.xml index 1b6b243732f..7223239cbe9 100644 --- a/hash/mephisto_mm5.xml +++ b/hash/mephisto_mm5.xml @@ -1,9 +1,10 @@ + + - Mephisto HG 550 Opening Library 1990 @@ -14,4 +15,5 @@ + diff --git a/hash/mephisto_smondial2.xml b/hash/mephisto_smondial2.xml new file mode 100644 index 00000000000..170a6e41a70 --- /dev/null +++ b/hash/mephisto_smondial2.xml @@ -0,0 +1,18 @@ + + + + + + + College Module + 1988 + Hegener + Glaser + + + + + + + + + diff --git a/hash/smondial2.xml b/hash/smondial2.xml deleted file mode 100644 index 49ce1ac73ce..00000000000 --- a/hash/smondial2.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - College Module - 1989 - Hegener + Glaser - - - - - - - - diff --git a/src/mame/drivers/cgang.cpp b/src/mame/drivers/cgang.cpp index 2c92c1d111d..20caf5eebd6 100644 --- a/src/mame/drivers/cgang.cpp +++ b/src/mame/drivers/cgang.cpp @@ -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; } diff --git a/src/mame/drivers/mephisto_brikett.cpp b/src/mame/drivers/mephisto_brikett.cpp index bb688c7b334..76b196f8cc1 100644 --- a/src/mame/drivers/mephisto_brikett.cpp +++ b/src/mame/drivers/mephisto_brikett.cpp @@ -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; diff --git a/src/mame/drivers/mephisto_modular_tm.cpp b/src/mame/drivers/mephisto_modular_tm.cpp index b610812f4ad..80b4e909701 100644 --- a/src/mame/drivers/mephisto_modular_tm.cpp +++ b/src/mame/drivers/mephisto_modular_tm.cpp @@ -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: diff --git a/src/mame/drivers/mephisto_montec.cpp b/src/mame/drivers/mephisto_montec.cpp index 700abb676de..cead900c07d 100644 --- a/src/mame/drivers/mephisto_montec.cpp +++ b/src/mame/drivers/mephisto_montec.cpp @@ -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 ) diff --git a/src/mame/drivers/mephisto_polgar.cpp b/src/mame/drivers/mephisto_polgar.cpp index 3691af2d614..c6c109017e3 100644 --- a/src/mame/drivers/mephisto_polgar.cpp +++ b/src/mame/drivers/mephisto_polgar.cpp @@ -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("maincpu")->set_clock(XTAL(10'000'000)); + subdevice("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("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("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) diff --git a/src/mame/drivers/model1.cpp b/src/mame/drivers/model1.cpp index c7f285aaba2..2bb45614ea9 100644 --- a/src/mame/drivers/model1.cpp +++ b/src/mame/drivers/model1.cpp @@ -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)); diff --git a/src/mame/drivers/model2.cpp b/src/mame/drivers/model2.cpp index a3cec69c9c7..7a679b25a22 100644 --- a/src/mame/drivers/model2.cpp +++ b/src/mame/drivers/model2.cpp @@ -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) diff --git a/src/mame/drivers/saitek_stratos.cpp b/src/mame/drivers/saitek_stratos.cpp index e0f757e3292..b7d88ad52d1 100644 --- a/src/mame/drivers/saitek_stratos.cpp +++ b/src/mame/drivers/saitek_stratos.cpp @@ -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" -- cgit v1.2.3