- 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
This commit is contained in:
Ivan Vangelista 2021-01-29 20:42:33 +01:00
parent 88339b1ac7
commit 06fb624721
3 changed files with 36 additions and 26 deletions

View File

@ -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

View File

@ -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;

View File

@ -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 )