summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Ivan Vangelista <mesgnet@yahoo.it>2021-01-29 20:42:33 +0100
committer Ivan Vangelista <mesgnet@yahoo.it>2021-01-29 20:42:33 +0100
commit06fb624721ab1ccb92de99e8b7ffb1fe67f4b32d (patch)
tree0add52d2e9004ef4436edaa0c026b90b131e6982
parent88339b1ac740a3067900c568133333f111f106bc (diff)
- btime.cpp: corrected size for one ROM for wtennis [f205v]
- hshavoc.cpp: simplified the already working part of the decryption - magreel.cpp: added placeholder for undumped PIC
-rw-r--r--src/mame/drivers/btime.cpp2
-rw-r--r--src/mame/drivers/hshavoc.cpp16
-rw-r--r--src/mame/drivers/magreel.cpp44
3 files changed, 36 insertions, 26 deletions
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 )