diff options
author | hap <happppp@users.noreply.github.com> | 2020-08-22 20:23:41 +0200 |
---|---|---|
committer | hap <happppp@users.noreply.github.com> | 2020-08-22 20:24:09 +0200 |
commit | af4a5ff1af8bfb56441b900ba2655007681c4cda (patch) | |
tree | fc89e29a5c0d54df770b05de0aa008838e61b5dc | |
parent | 1287663196ae7fe2cfdd96682200644e3cdf940e (diff) |
odyssey2: different video xtal for jopac
-rw-r--r-- | hash/g7400.xml | 44 | ||||
-rw-r--r-- | hash/odyssey2.xml | 2 | ||||
-rw-r--r-- | src/emu/xtal.cpp | 1 | ||||
-rw-r--r-- | src/mame/drivers/odyssey2.cpp | 37 |
4 files changed, 48 insertions, 36 deletions
diff --git a/hash/g7400.xml b/hash/g7400.xml index d036a6e8f30..337730b1b14 100644 --- a/hash/g7400.xml +++ b/hash/g7400.xml @@ -61,7 +61,7 @@ Do Videopac+/Odyssey3 versions exist?: <software name="2bsktbwlpl"> <description>Basket Bowling+ (Fra, Plus)</description> <year>198?</year> - <publisher>Jopac</publisher> + <publisher>Brandt</publisher> <part name="cart" interface="odyssey_cart"> <feature name="slot" value="o2_rom" /> <feature name="b_pin" value="1" /> @@ -87,7 +87,7 @@ Do Videopac+/Odyssey3 versions exist?: <software name="billardpl"> <description>Billard+ (Fra, Plus)</description> <year>1983</year> - <publisher>Jopac</publisher> + <publisher>Brandt</publisher> <info name="programmer" value="Ed Averett"/> <info name="serial" value="JXA D03"/> <part name="cart" interface="odyssey_cart"> @@ -152,10 +152,23 @@ Do Videopac+/Odyssey3 versions exist?: </part> </software> + <software name="cosmospl" cloneof="cosmicpl"> + <description>Cosmos+ (Fra, Plus)</description> + <year>198?</year> + <publisher>Brandt</publisher> + <part name="cart" interface="odyssey_cart"> + <feature name="slot" value="o2_rom" /> + <feature name="b_pin" value="1" /> + <dataarea name="rom" size="8192"> + <rom name="cosmos (france).bin" size="8192" crc="105231f8" sha1="9220dc32d3bb9225292f3e709d1320b9b1052140"/> + </dataarea> + </part> + </software> + <software name="demonpl"> <description>Demon Attack+ (Fra, Plus)</description> <year>198?</year> - <publisher>Radiola</publisher> + <publisher>Brandt</publisher> <part name="cart" interface="odyssey_cart"> <feature name="slot" value="o2_rom" /> <feature name="b_pin" value="1" /> @@ -168,7 +181,7 @@ Do Videopac+/Odyssey3 versions exist?: <software name="flipperpl"> <description>Flipper+ (Fra, Plus)</description> <year>198?</year> - <publisher>Jopac</publisher> + <publisher>Brandt</publisher> <part name="cart" interface="odyssey_cart"> <feature name="slot" value="o2_rom" /> <feature name="b_pin" value="1" /> @@ -204,19 +217,6 @@ Do Videopac+/Odyssey3 versions exist?: </part> </software> - <software name="liberte" cloneof="freedompl"> - <description>Combattants de la Liberté (Fra, Plus)</description> - <year>198?</year> - <publisher>Radiola</publisher> - <part name="cart" interface="odyssey_cart"> - <feature name="slot" value="o2_rom" /> - <feature name="b_pin" value="1" /> - <dataarea name="rom" size="8192"> - <rom name="guerre de l'espace (france).bin" size="8192" crc="105231f8" sha1="9220dc32d3bb9225292f3e709d1320b9b1052140"/> - </dataarea> - </part> - </software> - <software name="beespl"> <description>Killer Bees (Euro, Plus)</description> <year>198?</year> @@ -315,7 +315,7 @@ Do Videopac+/Odyssey3 versions exist?: <software name="3csaucptpl" cloneof="3rcsocptpl"> <description>Grand Prix+ (Fra, Plus)</description> <year>1983</year> - <publisher>Jopac</publisher> + <publisher>Brandt</publisher> <part name="cart" interface="odyssey_cart"> <feature name="slot" value="o2_rom" /> <feature name="b_pin" value="1" /> @@ -371,7 +371,7 @@ Do Videopac+/Odyssey3 versions exist?: <software name="exojet"> <description>Exojet+ (Fra)</description> <year>198?</year> - <publisher>Jopac</publisher> + <publisher>Brandt</publisher> <part name="cart" interface="odyssey_cart"> <feature name="slot" value="o2_rom" /> <feature name="b_pin" value="1" /> @@ -382,9 +382,9 @@ Do Videopac+/Odyssey3 versions exist?: </software> <software name="englouti"> - <description>Le Tresor Englouti (Fra)</description> + <description>Le Tresor Englouti+ (Fra)</description> <year>198?</year> - <publisher>Radiola</publisher> + <publisher>Brandt</publisher> <part name="cart" interface="odyssey_cart"> <feature name="slot" value="o2_rom" /> <feature name="b_pin" value="1" /> @@ -444,7 +444,7 @@ Do Videopac+/Odyssey3 versions exist?: <software name="motocras"> <description>Moto-Crash+ (Fra)</description> <year>1984</year> - <publisher>Radiola</publisher> + <publisher>Brandt</publisher> <part name="cart" interface="odyssey_cart"> <feature name="slot" value="o2_rom" /> <feature name="b_pin" value="1" /> diff --git a/hash/odyssey2.xml b/hash/odyssey2.xml index 55cd4d9c8a1..8e6587b9301 100644 --- a/hash/odyssey2.xml +++ b/hash/odyssey2.xml @@ -1771,7 +1771,7 @@ Official VP+ upgaded versions (simply adds a background picture): <software name="syracuse"> <description>Syracuse (Fra)</description> <year>1981</year> - <publisher>Jopac</publisher> + <publisher>Brandt</publisher> <part name="cart" interface="odyssey_cart"> <feature name="slot" value="o2_rom" /> <dataarea name="rom" size="4096"> diff --git a/src/emu/xtal.cpp b/src/emu/xtal.cpp index c1d3b9f6467..9a8f5092fe5 100644 --- a/src/emu/xtal.cpp +++ b/src/emu/xtal.cpp @@ -92,6 +92,7 @@ const double XTAL::known_xtals[] = { 3'521'280, /* 3.52128_MHz_XTAL RCA COSMAC VIP */ 3'546'800, /* 3.5468_MHz_XTAL Atari 400 PAL */ 3'547'000, /* 3.547_MHz_XTAL Philips G7200, Philips C7240 */ + 3'562'500, /* 3.5625_MHz_XTAL Jopac JO7400 */ 3'570'000, /* 3.57_MHz_XTAL Telmac TMC-600 */ 3'578'640, /* 3.57864_MHz_XTAL Atari Portfolio PCD3311T */ 3'579'000, /* 3.579_MHz_XTAL BeebOPL */ diff --git a/src/mame/drivers/odyssey2.cpp b/src/mame/drivers/odyssey2.cpp index 820c82a2c27..800005c191b 100644 --- a/src/mame/drivers/odyssey2.cpp +++ b/src/mame/drivers/odyssey2.cpp @@ -31,6 +31,7 @@ XTAL notes (differs per model): - C52/N60: 17.812 - G7200: 5.911MHz + 3.547MHz - G7400: 5.911MHz + 8.867MHz +- JO7400: 5.911MHz + 3.5625MHz TODO: - backgamm doesn't draw all the chars/sprites, it does multiple screen updates @@ -149,6 +150,7 @@ public: { } void g7400(machine_config &config); + void jo7400(machine_config &config); void odyssey3(machine_config &config); protected: @@ -644,7 +646,7 @@ INPUT_PORTS_END void odyssey2_state::odyssey2(machine_config &config) { /* basic machine hardware */ - I8048(config, m_maincpu, (XTAL(7'159'090) * 3) / 4); + I8048(config, m_maincpu, (7.15909_MHz_XTAL * 3) / 4); m_maincpu->set_addrmap(AS_PROGRAM, &odyssey2_state::odyssey2_mem); m_maincpu->set_addrmap(AS_IO, &odyssey2_state::odyssey2_io); m_maincpu->p1_out_cb().set(FUNC(odyssey2_state::p1_write)); @@ -662,7 +664,7 @@ void odyssey2_state::odyssey2(machine_config &config) PALETTE(config, "palette", FUNC(odyssey2_state::odyssey2_palette), 16); - I8244(config, m_i8244, XTAL(7'159'090) / 2); + I8244(config, m_i8244, 7.15909_MHz_XTAL / 2); m_i8244->set_screen("screen"); m_i8244->set_screen_size(360, 243); m_i8244->irq_cb().set_inputline(m_maincpu, MCS48_INPUT_IRQ); @@ -681,13 +683,13 @@ void odyssey2_state::videopac(machine_config &config) odyssey2(config); // PAL video chip - I8245(config.replace(), m_i8244, XTAL(17'734'476) / 5); + I8245(config.replace(), m_i8244, 17.734476_MHz_XTAL / 5); m_i8244->set_screen("screen"); m_i8244->set_screen_size(360, 243); m_i8244->irq_cb().set_inputline(m_maincpu, MCS48_INPUT_IRQ); m_i8244->add_route(ALL_OUTPUTS, "mono", 0.40); - m_maincpu->set_clock(XTAL(17'734'476) / 3); + m_maincpu->set_clock(17.734476_MHz_XTAL / 3); subdevice<software_list_device>("cart_list")->set_filter("VP"); subdevice<software_list_device>("g7400_list")->set_filter("VP"); @@ -698,15 +700,15 @@ void odyssey2_state::videopacf(machine_config &config) videopac(config); // different master XTAL - m_maincpu->set_clock(XTAL(17'812'000) / 3); - m_i8244->set_clock(XTAL(17'812'000) / 5); + m_maincpu->set_clock(17.812_MHz_XTAL / 3); + m_i8244->set_clock(17.812_MHz_XTAL / 5); } void g7400_state::g7400(machine_config &config) { /* basic machine hardware */ - I8048(config, m_maincpu, XTAL(5'911'000)); + I8048(config, m_maincpu, 5.911_MHz_XTAL); m_maincpu->set_addrmap(AS_PROGRAM, &g7400_state::odyssey2_mem); m_maincpu->set_addrmap(AS_IO, &g7400_state::odyssey2_io); m_maincpu->p1_out_cb().set(FUNC(g7400_state::p1_write)); @@ -731,12 +733,12 @@ void g7400_state::g7400(machine_config &config) m_i8243->p6_out_cb().set(FUNC(g7400_state::i8243_port_w<2>)); m_i8243->p7_out_cb().set(FUNC(g7400_state::i8243_port_w<3>)); - EF9340_1(config, m_ef934x, XTAL(8'867'000)/5 * 2, "screen"); + EF9340_1(config, m_ef934x, (8.867_MHz_XTAL * 2) / 5, "screen"); m_ef934x->set_offsets(15, 5); m_ef934x->read_exram().set(FUNC(g7400_state::ef934x_extram_r)); m_ef934x->write_exram().set(FUNC(g7400_state::ef934x_extram_w)); - I8245(config, m_i8244, XTAL(8'867'000)/5 * 2); + I8245(config, m_i8244, (8.867_MHz_XTAL * 2) / 5); m_i8244->set_screen("screen"); m_i8244->set_screen_size(360, 243); m_i8244->irq_cb().set_inputline(m_maincpu, MCS48_INPUT_IRQ); @@ -750,21 +752,30 @@ void g7400_state::g7400(machine_config &config) SOFTWARE_LIST(config, "ody2_list").set_compatible("odyssey2").set_filter("VPP"); } +void g7400_state::jo7400(machine_config &config) +{ + g7400(config); + + // different video clock + m_i8244->set_clock(3.5625_MHz_XTAL); + m_ef934x->set_clock(3.5625_MHz_XTAL); +} + void g7400_state::odyssey3(machine_config &config) { g7400(config); // NTSC video chip - I8244(config.replace(), m_i8244, XTAL(7'159'090) / 2); + I8244(config.replace(), m_i8244, 7.15909_MHz_XTAL / 2); m_i8244->set_screen("screen"); m_i8244->set_screen_size(360, 243); m_i8244->irq_cb().set_inputline(m_maincpu, MCS48_INPUT_IRQ); m_i8244->add_route(ALL_OUTPUTS, "mono", 0.40); - m_ef934x->set_clock(XTAL(7'159'090) / 2); + m_ef934x->set_clock(7.15909_MHz_XTAL / 2); m_ef934x->set_offsets(15, 15); - m_maincpu->set_clock((XTAL(7'159'090) * 3) / 4); + m_maincpu->set_clock((7.15909_MHz_XTAL * 3) / 4); // same color encoder as O2 (no RGB port) PALETTE(config.replace(), "palette", FUNC(odyssey2_state::odyssey2_palette), 16); @@ -824,5 +835,5 @@ COMP( 1978, videopac, odyssey2, 0, videopac, odyssey2, odyssey2_state, empty_i COMP( 1979, videopacf, odyssey2, 0, videopacf, odyssey2, odyssey2_state, empty_init, "Philips", "Videopac C52 (France)", MACHINE_SUPPORTS_SAVE ) COMP( 1983, g7400, 0, 0, g7400, g7400, g7400_state, empty_init, "Philips", "Videopac+ G7400 (Europe)", MACHINE_SUPPORTS_SAVE ) -COMP( 1983, jopac, g7400, 0, g7400, g7400, g7400_state, empty_init, "Philips (Brandt license)", "Jopac JO7400 (France)", MACHINE_SUPPORTS_SAVE ) +COMP( 1983, jopac, g7400, 0, jo7400, g7400, g7400_state, empty_init, "Philips (Brandt license)", "Jopac JO7400 (France)", MACHINE_SUPPORTS_SAVE ) COMP( 1983, odyssey3, g7400, 0, odyssey3, g7400, g7400_state, empty_init, "Magnavox", "Odyssey 3 Command Center (US, prototype)", MACHINE_SUPPORTS_SAVE ) |