mirror of
https://github.com/holub/mame
synced 2025-04-22 08:22:15 +03:00
new working clone
---------------------------- Rabbit (Japan, location test) [Hammy, Spinalfeyd, The Dumping Union]
This commit is contained in:
parent
82434217cf
commit
25811d74a8
@ -5,7 +5,7 @@
|
||||
-= 68020 + Imagetek I5000 Games =-
|
||||
|
||||
driver by David Haywood
|
||||
partly based on metro.c driver by Luca Elia
|
||||
partly based on metro.cpp driver by Luca Elia
|
||||
|
||||
|
||||
Main CPU : MC68020
|
||||
@ -30,7 +30,7 @@ To Do:
|
||||
|
||||
Notes:
|
||||
|
||||
(1) This is currently in its own driver "tmmjprd.c" because it uses the
|
||||
(1) This is currently in its own driver "tmmjprd.cpp" because it uses the
|
||||
chip in a completely different way to Rabbit. They should be merged
|
||||
again later, once the chip is better understood.
|
||||
|
||||
@ -66,8 +66,6 @@ Notes:
|
||||
|
||||
Only ROMs positions 60, 50, 40, 02, 03, 10, 11, 01, 00 are populated.
|
||||
|
||||
There is known to exist an earlier Japanese prototype version of Rabbit which is currently not dumped.
|
||||
|
||||
Tokimeki Mahjong Paradise - Dear My Love Board Notes
|
||||
----------------------------------------------------
|
||||
|
||||
@ -113,6 +111,28 @@ public:
|
||||
m_blitterregs(*this, "blitterregs"),
|
||||
m_spriteram(*this, "spriteram") { }
|
||||
|
||||
DECLARE_WRITE32_MEMBER(tilemap0_w);
|
||||
DECLARE_WRITE32_MEMBER(tilemap1_w);
|
||||
DECLARE_WRITE32_MEMBER(tilemap2_w);
|
||||
DECLARE_WRITE32_MEMBER(tilemap3_w);
|
||||
DECLARE_READ32_MEMBER(tilemap0_r);
|
||||
DECLARE_READ32_MEMBER(tilemap1_r);
|
||||
DECLARE_READ32_MEMBER(tilemap2_r);
|
||||
DECLARE_READ32_MEMBER(tilemap3_r);
|
||||
DECLARE_READ32_MEMBER(randomrabbits);
|
||||
DECLARE_WRITE32_MEMBER(rombank_w);
|
||||
DECLARE_WRITE32_MEMBER(blitter_w);
|
||||
DECLARE_WRITE32_MEMBER(eeprom_write);
|
||||
|
||||
DECLARE_DRIVER_INIT(rabbit);
|
||||
|
||||
void rabbit(machine_config &config);
|
||||
|
||||
protected:
|
||||
virtual void video_start() override;
|
||||
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
|
||||
|
||||
private:
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<eeprom_serial_93cxx_device> m_eeprom;
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
@ -137,21 +157,6 @@ public:
|
||||
tilemap_t *m_tilemap[4];
|
||||
emu_timer *m_blit_done_timer;
|
||||
|
||||
DECLARE_WRITE32_MEMBER(tilemap0_w);
|
||||
DECLARE_WRITE32_MEMBER(tilemap1_w);
|
||||
DECLARE_WRITE32_MEMBER(tilemap2_w);
|
||||
DECLARE_WRITE32_MEMBER(tilemap3_w);
|
||||
DECLARE_READ32_MEMBER(tilemap0_r);
|
||||
DECLARE_READ32_MEMBER(tilemap1_r);
|
||||
DECLARE_READ32_MEMBER(tilemap2_r);
|
||||
DECLARE_READ32_MEMBER(tilemap3_r);
|
||||
DECLARE_READ32_MEMBER(randomrabbits);
|
||||
DECLARE_WRITE32_MEMBER(rombank_w);
|
||||
DECLARE_WRITE32_MEMBER(blitter_w);
|
||||
DECLARE_WRITE32_MEMBER(eeprom_write);
|
||||
|
||||
DECLARE_DRIVER_INIT(rabbit);
|
||||
|
||||
TILE_GET_INFO_MEMBER(get_tilemap0_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_tilemap1_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_tilemap2_tile_info);
|
||||
@ -159,8 +164,6 @@ public:
|
||||
|
||||
INTERRUPT_GEN_MEMBER(vblank_interrupt);
|
||||
|
||||
virtual void video_start() override;
|
||||
|
||||
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
inline void get_tilemap_info(tile_data &tileinfo, int tile_index, int whichtilemap, int tilesize);
|
||||
void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect );
|
||||
@ -168,10 +171,6 @@ public:
|
||||
void draw_sprite_bitmap( bitmap_ind16 &bitmap, const rectangle &cliprect );
|
||||
void drawtilemap( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int whichtilemap );
|
||||
void do_blit();
|
||||
|
||||
void rabbit(machine_config &config);
|
||||
protected:
|
||||
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
|
||||
};
|
||||
|
||||
|
||||
@ -361,7 +360,7 @@ void rabbit_state::clearspritebitmap( bitmap_ind16 &bitmap, const rectangle &cli
|
||||
}
|
||||
}
|
||||
|
||||
/* todo: fix zoom, its inaccurate and this code is ugly */
|
||||
/* todo: fix zoom, it's inaccurate and this code is ugly */
|
||||
void rabbit_state::draw_sprite_bitmap( bitmap_ind16 &bitmap, const rectangle &cliprect )
|
||||
{
|
||||
uint32_t x,y;
|
||||
@ -984,5 +983,46 @@ ROM_START( rabbit )
|
||||
ROM_LOAD( "rabbit.nv", 0x0000, 0x0080, CRC(73d471ed) SHA1(45e045f5ea9036342b88013e021d402741d98537) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( rabbitjt )
|
||||
ROM_REGION( 0x200000, "maincpu", 0 ) /* 68020 Code */
|
||||
ROM_LOAD32_BYTE( "wotr0.0", 0x000000, 0x080000, CRC(a1c30c91) SHA1(fe35c5521acba902ca74c6d1ea2b92593138a10a) )
|
||||
ROM_LOAD32_BYTE( "wotr1.1", 0x000001, 0x080000, CRC(9b7697e6) SHA1(c60cdc3db7321b2846637d92ae864ca80796ad73) )
|
||||
ROM_LOAD32_BYTE( "wotr2.2", 0x000002, 0x080000, CRC(9809b825) SHA1(05f965c87782062e66e5a88313a12b230de90800) )
|
||||
ROM_LOAD32_BYTE( "wotr3.3", 0x000003, 0x080000, CRC(ce8ebb82) SHA1(69eb8410a3b7d9cbb682d0911bcad1a92ac3aca7) )
|
||||
|
||||
GAME( 1997, rabbit, 0, rabbit, rabbit, rabbit_state, rabbit, ROT0, "Aorn / Electronic Arts", "Rabbit (Asia 3/6)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // somewhat playable
|
||||
|
||||
// the rom test tests as if things were mapped like this (video chip / blitter space?)
|
||||
#if 0
|
||||
ROM_REGION( 0x9000000, "test", ROMREGION_ERASE )
|
||||
ROM_LOAD32_WORD( "jfv0.00", 0x0000002, 0x400000, CRC(b2a4d3d3) SHA1(0ab71d82a37ff94442b91712a28d3470619ba575) ) // sprite gfx
|
||||
ROM_LOAD32_WORD( "jfv1.01", 0x0000000, 0x400000, CRC(83f3926e) SHA1(b1c479e675d35fc08c9a7648ff40348a24654e7e) ) // sprite gfx
|
||||
ROM_LOAD32_WORD( "jsn0.11", 0x0800002, 0x400000, CRC(e1f726e8) SHA1(598d75f3ff9e43ec8ce6131ed37f4345bf2f2d8e) ) // sound
|
||||
ROM_LOAD32_WORD( "jfv2.02", 0x2000002, 0x400000, CRC(b264bfb5) SHA1(8fafedb6af74150465b1773e80aef0edc3da4678) ) // sprite gfx
|
||||
ROM_LOAD32_WORD( "jfv3.03", 0x2000000, 0x400000, CRC(3e1a9be2) SHA1(2082a4ae8cda84cec5ea0fc08753db387bb70d41) ) // sprite gfx
|
||||
ROM_LOAD16_BYTE( "jbg0.40", 0x4000001, 0x200000, CRC(89662944) SHA1(ca916ba38480fa588af19fc9682603f5195ad6c7) ) // bg gfx (fails check?)
|
||||
ROM_LOAD16_BYTE( "jbg1.50", 0x6000000, 0x200000, CRC(1fc7f6e0) SHA1(b36062d2a9683683ffffd3003d5244a185f53280) ) // bg gfx
|
||||
ROM_LOAD16_BYTE( "jbg2.60", 0x8000001, 0x200000, CRC(aee265fc) SHA1(ec420ab30b9b5141162223fc1fbf663ad9f211e6) ) // bg gfx
|
||||
#endif
|
||||
|
||||
ROM_REGION( 0x1000000, "gfx1", 0 ) /* Sprite Roms (and Blitter Data) */
|
||||
ROM_LOAD32_WORD( "jfv0.00", 0x0000002, 0x400000, CRC(b2a4d3d3) SHA1(0ab71d82a37ff94442b91712a28d3470619ba575) )
|
||||
ROM_LOAD32_WORD( "jfv1.01", 0x0000000, 0x400000, CRC(83f3926e) SHA1(b1c479e675d35fc08c9a7648ff40348a24654e7e) )
|
||||
ROM_LOAD32_WORD( "jfv2.02", 0x0800002, 0x400000, CRC(b264bfb5) SHA1(8fafedb6af74150465b1773e80aef0edc3da4678) )
|
||||
ROM_LOAD32_WORD( "jfv3.03", 0x0800000, 0x400000, CRC(3e1a9be2) SHA1(2082a4ae8cda84cec5ea0fc08753db387bb70d41) )
|
||||
|
||||
|
||||
ROM_REGION( 0x600000, "gfx2", 0 ) /* BG Roms */
|
||||
ROM_LOAD( "jbg0.40", 0x000000, 0x200000, CRC(89662944) SHA1(ca916ba38480fa588af19fc9682603f5195ad6c7) )
|
||||
ROM_LOAD( "jbg1.50", 0x200000, 0x200000, CRC(1fc7f6e0) SHA1(b36062d2a9683683ffffd3003d5244a185f53280) )
|
||||
ROM_LOAD( "jbg2.60", 0x400000, 0x200000, CRC(aee265fc) SHA1(ec420ab30b9b5141162223fc1fbf663ad9f211e6) )
|
||||
|
||||
ROM_REGION( 0x400000, "i5000snd", ROMREGION_ERASE ) /* sound rom */
|
||||
ROM_LOAD( "jsn0.11", 0x000000, 0x000018, CRC(e1f726e8) SHA1(598d75f3ff9e43ec8ce6131ed37f4345bf2f2d8e) ) // header "VCDT i5000"
|
||||
ROM_CONTINUE( 0x000000, 0x3fffe8 ) // sample data starts here
|
||||
|
||||
ROM_REGION16_BE( 0x80, "eeprom", 0 )
|
||||
ROM_LOAD( "rabbit.nv", 0x0000, 0x0080, CRC(73d471ed) SHA1(45e045f5ea9036342b88013e021d402741d98537) )
|
||||
ROM_END
|
||||
|
||||
GAME( 1997, rabbit, 0, rabbit, rabbit, rabbit_state, rabbit, ROT0, "Aorn / Electronic Arts", "Rabbit (Asia 3/6)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // This is the Asian version sold in Korea but the devs forgot to update the disclaimer. It has English text.
|
||||
GAME( 1996, rabbitjt, rabbit, rabbit, rabbit, rabbit_state, rabbit, ROT0, "Aorn / Electronic Arts", "Rabbit (Japan, location test)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // Japanese text.
|
||||
|
@ -32450,6 +32450,7 @@ r9751 // ROLM 9751 phone system
|
||||
|
||||
@source:rabbit.cpp
|
||||
rabbit // (c) 1997 Electronic Arts
|
||||
rabbitjt // (c) 1996 Electronic Arts
|
||||
|
||||
@source:rad_eu3a14.cpp
|
||||
rad_gtg
|
||||
|
Loading…
Reference in New Issue
Block a user