diff --git a/src/mame/drivers/btime.cpp b/src/mame/drivers/btime.cpp index e892228c932..4ccf0bfa03d 100644 --- a/src/mame/drivers/btime.cpp +++ b/src/mame/drivers/btime.cpp @@ -1814,7 +1814,7 @@ ROM_END ROM_START( wtennis ) ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "ten14.h4", 0xc000, 0x1000, CRC(f7b27303) SHA1(043476429bcc8def412f77d1f79a01586d984bfc) ) + ROM_LOAD( "ten14.h4", 0xc000, 0x0800, CRC(fd343474) SHA1(1e1fd3f20ce1c7533767344f924029c8c62139a1) ) ROM_LOAD( "ten4.d4", 0xd000, 0x1000, CRC(e465d82c) SHA1(c357dcf17539150425574985afa559db2e6ab834) ) // was t4 ROM_LOAD( "ten3.c4", 0xe000, 0x1000, CRC(8f090eab) SHA1(baeef8ee05010bf44cf8865a22911f3d458df1b0) ) // was t3 ROM_LOAD( "ten2.a4", 0xf000, 0x1000, CRC(d2f9dd30) SHA1(1faa088806e8627b5e561d8b99054d295045dcfb) ) // was t2 diff --git a/src/mame/drivers/hshavoc.cpp b/src/mame/drivers/hshavoc.cpp index 207a2b4d8e7..e8644b513e0 100644 --- a/src/mame/drivers/hshavoc.cpp +++ b/src/mame/drivers/hshavoc.cpp @@ -160,19 +160,11 @@ void md_boot_state::init_hshavoc() /* START e? from e80000 to end you need THIS ALONE to match the genesis rom */ for (int x = rom_size / 2; x < 0x100000 / 2; x++) - { src[x] = bitswap<16>(src[x], - 7, 15,6, 14, - 5, 2, 1, 10, - 13,4, 12,3, - 11,0, 8, 9 ); - - src[x] = bitswap<16>(src[x], - 15,14,13,12, - 11,10,9, 2, - 7, 6, 5, 4, - 3, 8, 0, 1 ); - } + 7, 15, 6, 14, + 5, 2, 1, 0, + 13, 4, 12, 3, + 11, 10, 9, 8 ); /* EMD e80000 - end */ src[0] ^= 0x0107; diff --git a/src/mame/drivers/magreel.cpp b/src/mame/drivers/magreel.cpp index f4008b06ba0..a426f6bf02c 100644 --- a/src/mame/drivers/magreel.cpp +++ b/src/mame/drivers/magreel.cpp @@ -25,10 +25,12 @@ UNDUMPED: #include "emu.h" #include "cpu/m68000/m68000.h" +#include "cpu/pic16c62x/pic16c62x.h" #include "screen.h" #include "speaker.h" -#define MAIN_CLOCK XTAL(58'000'000) // Actual Xtal on board + +namespace { class magreel_state : public driver_device { @@ -38,13 +40,10 @@ public: { } - u32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) - { - bitmap.fill(rgb_t::black(), cliprect); - return 0; - } void magreel(machine_config &config); + void init_magreel(); + protected: // driver_device overrides virtual void machine_start() override; @@ -52,6 +51,12 @@ protected: private: void mem_map(address_map &map); + + u32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) + { + bitmap.fill(rgb_t::black(), cliprect); + return 0; + } }; @@ -62,7 +67,7 @@ void magreel_state::mem_map(address_map &map) static INPUT_PORTS_START( magreel ) - /* dummy active high structure */ + // dummy active high structure PORT_START("SYSA") PORT_DIPNAME( 0x01, 0x00, "SYSA" ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) @@ -89,7 +94,7 @@ static INPUT_PORTS_START( magreel ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x80, DEF_STR( On ) ) - /* dummy active low structure */ + // dummy active low structure PORT_START("DSWA") PORT_DIPNAME( 0x01, 0x01, "DSWA" ) PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) @@ -130,9 +135,11 @@ void magreel_state::machine_reset() void magreel_state::magreel(machine_config &config) { - m68000_device &maincpu(M68000(config, "maincpu", MAIN_CLOCK/12)); + m68000_device &maincpu(M68000(config, "maincpu", 58_MHz_XTAL / 12)); maincpu.set_addrmap(AS_PROGRAM, &magreel_state::mem_map); + PIC16C621A(config, "pic", 58_MHz_XTAL / 12).set_disable(); // clock unverified + /* video hardware */ // screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); // screen.set_refresh_hz(60); @@ -140,7 +147,7 @@ void magreel_state::magreel(machine_config &config) // screen.set_screen_update(FUNC(magreel_state::screen_update)); // screen.set_size(32*8, 32*8); // screen.set_visarea(0*8, 32*8-1, 0*8, 32*8-1); -// screen.set_raw(MAIN_CLOCK/2, 442, 0, 320, 264, 0, 240); /* generic NTSC video timing at 320x240 */ +// screen.set_raw(58_MHz_XTAL / 2, 442, 0, 320, 264, 0, 240); /* generic NTSC video timing at 320x240 */ // screen.set_palette("palette"); // GFXDECODE(config, "gfxdecode", "palette", gfx_magreel); @@ -159,9 +166,12 @@ void magreel_state::magreel(machine_config &config) ***************************************************************************/ ROM_START( magreel ) - ROM_REGION( 0x1000000, "maincpu", ROMREGION_ERASE00 ) + ROM_REGION( 0x100000, "maincpu", 0 ) ROM_LOAD( "m27c800ic18", 0x000000, 0x100000, CRC(2af3d8e7) SHA1(729cd2c1011d8018cf8d77c2d118d1815e30f475) ) // TODO: figure out the line swapping + ROM_REGION( 0x4000, "pic", ROMREGION_ERASEFF ) + ROM_LOAD( "pic16c621", 0x0000, 0x4000, NO_DUMP ) // read protected + ROM_REGION( 0x800000, "reels", 0 ) ROM_LOAD( "m27c160.ic3", 0x000000, 0x200000, CRC(707a835a) SHA1(4edbb2279298f330514512147166b9382c79861d) ) ROM_LOAD( "m27c160.ic4", 0x200000, 0x200000, CRC(d5590a3c) SHA1(69dacb370b630fd7fee3ddd4beeb34a336dd2d16) ) @@ -169,11 +179,19 @@ ROM_START( magreel ) ROM_LOAD( "m27c160.ic6", 0x600000, 0x200000, CRC(0f3274d0) SHA1(1abb45ebc74a09f1832cf80775a35966e8d5cd84) ) ROM_REGION( 0x200000, "flash", 0 ) - ROM_LOAD( "mx29f161.ic24",0x000000, 0x200000, CRC(61accab0) SHA1(0fee6bf6071849d1b00fbfc248ab654a8abc3b99) ) + ROM_LOAD( "mx29f161.ic24",0x000000, 0x200000, CRC(61accab0) SHA1(0fee6bf6071849d1b00fbfc248ab654a8abc3b99) ) // FIXED BITS (xxxxxxxxxxxxxxx0) ROM_REGION( 0x4000, "eeproms", 0 ) ROM_LOAD( "m28c64.ic19", 0x000000, 0x002000, CRC(d0238e5c) SHA1(513bb97487d33c3b844877104bb2af3220851583) ) ROM_LOAD( "m28c64.ic20", 0x002000, 0x002000, CRC(4e6abd42) SHA1(5b1741b755f0fddd94e16d41d5d39a03f37fb23b) ) ROM_END -GAME( 199?, magreel, 0, magreel, magreel, magreel_state, empty_init, ROT0, "Play System", "Magic Reels", MACHINE_IS_SKELETON ) + +void magreel_state::init_magreel() +{ + // TODO: decryption +} + +} // Anonymous namespace + +GAME( 199?, magreel, 0, magreel, magreel, magreel_state, init_magreel, ROT0, "Play System", "Magic Reels", MACHINE_IS_SKELETON )