mirror of
https://github.com/holub/mame
synced 2025-06-06 04:43:45 +03:00
seabattla: Updates
- Add dumps of the missing program and sound ROMs [Paul Swan] - Identify game title as Armada and rename set accordingly [AJR]
This commit is contained in:
parent
94c40829f0
commit
e93d0b8b87
@ -45648,8 +45648,8 @@ laserbat // (c) 1981
|
||||
lazarian // (c) 1981
|
||||
|
||||
@source:zaccaria/seabattl.cpp
|
||||
armada //
|
||||
seabattl // (c) 1980
|
||||
seabattla // (c) 1980
|
||||
|
||||
@source:zaccaria/zac1b1120.cpp
|
||||
dodgem // (c) 1979
|
||||
|
@ -66,6 +66,7 @@ public:
|
||||
{ }
|
||||
|
||||
void seabattl(machine_config &config);
|
||||
void armada(machine_config &config);
|
||||
|
||||
protected:
|
||||
virtual void machine_start() override;
|
||||
@ -93,6 +94,7 @@ private:
|
||||
uint32_t screen_update_seabattl(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
void seabattl_data_map(address_map &map);
|
||||
void seabattl_map(address_map &map);
|
||||
void armada_map(address_map &map);
|
||||
|
||||
required_device<s2650_device> m_maincpu;
|
||||
required_shared_ptr<uint8_t> m_videoram;
|
||||
@ -256,9 +258,10 @@ void seabattl_state::video_start()
|
||||
|
||||
void seabattl_state::seabattl_map(address_map &map)
|
||||
{
|
||||
map.global_mask(0x7fff);
|
||||
map(0x0000, 0x13ff).rom();
|
||||
map(0x2000, 0x33ff).rom();
|
||||
map(0x4000, 0x53ff).rom();
|
||||
map(0x6000, 0x73ff).rom();
|
||||
map(0x1400, 0x17ff).mirror(0x2000).ram().w(FUNC(seabattl_state::seabattl_colorram_w)).share("colorram");
|
||||
map(0x1800, 0x1bff).mirror(0x2000).ram().w(FUNC(seabattl_state::seabattl_videoram_w)).share("videoram");
|
||||
map(0x1c00, 0x1cff).mirror(0x2000).ram();
|
||||
@ -273,6 +276,26 @@ void seabattl_state::seabattl_map(address_map &map)
|
||||
map(0x1fcc, 0x1fcc).mirror(0x2000).portr("IN1");
|
||||
}
|
||||
|
||||
void seabattl_state::armada_map(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x0bff).rom();
|
||||
map(0x2000, 0x2bff).rom();
|
||||
map(0x4000, 0x4bff).rom();
|
||||
map(0x6000, 0x6bff).rom();
|
||||
map(0x1400, 0x17ff).mirror(0x6000).ram().w(FUNC(seabattl_state::seabattl_colorram_w)).share("colorram");
|
||||
map(0x1800, 0x1bff).mirror(0x6000).ram().w(FUNC(seabattl_state::seabattl_videoram_w)).share("videoram");
|
||||
map(0x1c00, 0x1cff).mirror(0x6000).ram();
|
||||
map(0x1d00, 0x1dff).mirror(0x6000).ram().share("objram");
|
||||
map(0x1e00, 0x1e00).mirror(0x60f0).w(FUNC(seabattl_state::time_display_w));
|
||||
map(0x1e01, 0x1e01).mirror(0x60f0).w(FUNC(seabattl_state::score_display_w));
|
||||
map(0x1e02, 0x1e02).mirror(0x60f0).portr("IN0").w(FUNC(seabattl_state::score2_display_w));
|
||||
map(0x1e05, 0x1e05).mirror(0x60f0).portr("DIPS2");
|
||||
map(0x1e06, 0x1e06).mirror(0x60f0).portr("DIPS1").w(FUNC(seabattl_state::sound_w));
|
||||
map(0x1e07, 0x1e07).mirror(0x60f0).portr("DIPS0").w(FUNC(seabattl_state::sound2_w));
|
||||
map(0x1f00, 0x1fff).mirror(0x6000).rw(m_s2636, FUNC(s2636_device::read_data), FUNC(s2636_device::write_data));
|
||||
map(0x1fcc, 0x1fcc).mirror(0x6000).portr("IN1");
|
||||
}
|
||||
|
||||
void seabattl_state::seabattl_data_map(address_map &map)
|
||||
{
|
||||
map(S2650_CTRL_PORT, S2650_CTRL_PORT).rw(FUNC(seabattl_state::seabattl_collision_r), FUNC(seabattl_state::seabattl_control_w));
|
||||
@ -509,6 +532,15 @@ void seabattl_state::seabattl(machine_config &config)
|
||||
/* discrete sound */
|
||||
}
|
||||
|
||||
// very different looking PCB (bootleg maybe?)
|
||||
void seabattl_state::armada(machine_config &config)
|
||||
{
|
||||
seabattl(config);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &seabattl_state::armada_map);
|
||||
|
||||
// TODO: Z80-based sound board
|
||||
}
|
||||
|
||||
|
||||
|
||||
/******************************************************************************/
|
||||
@ -538,24 +570,65 @@ ROM_START( seabattl )
|
||||
ROM_LOAD( "sea b wawe.prg", 0x0000, 0x0800, CRC(7e356dc5) SHA1(71d34fa39ff0b7d0fa6d32ba2b9dc0006a03d1bb) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( seabattla ) // this was a very different looking PCB (bootleg called armada maybe?) most parts had been stripped
|
||||
ROM_REGION( 0x8000, "maincpu", 0 )
|
||||
ROM_LOAD( "program roms", 0x0000, 0x0400, NO_DUMP )
|
||||
/*
|
||||
Zaccaria Armada
|
||||
---------------
|
||||
|
||||
ROM_REGION( 0xc00, "gfx1", 0 ) // probably the same as above without the blank data at the start
|
||||
ROM_LOAD( "armadared.ic26", 0x0000, 0x0400, CRC(b588f509) SHA1(073f9dc584aba1351969ef597cd80a0037938dfb) )
|
||||
ROM_LOAD( "armadagreen.ic25", 0x0400, 0x0400, CRC(3cc861c9) SHA1(d9159ee045cc0994f468035ae28cd8b79b5985ee) )
|
||||
ROM_LOAD( "armadablu.ic24", 0x0800, 0x0400, CRC(3689e530) SHA1(b30ab0d5ddc9b296437aa1bc2887f1416eb69f9c) )
|
||||
Serial No.: V143107
|
||||
|
||||
Main PCB looks like it's a revised Sea Scare main PCB (I.G.R. LC26 C)
|
||||
- 2650 CPU
|
||||
- 2636 PVI
|
||||
- DIP switch block (8)
|
||||
|
||||
Sound PCB looks similar to Scorpion (I.G.R. LC241)
|
||||
- Z80 CPU
|
||||
- 3 x AY-3-8910
|
||||
- 2 x 8255
|
||||
- Stereo amplifiers
|
||||
- Epoxy block like Scorpion
|
||||
- Shaved off 40-pin IC likely the same speech IC as Scorpion
|
||||
- DIP switch block (8)
|
||||
*/
|
||||
ROM_START( armada )
|
||||
ROM_REGION( 0x8000, "maincpu", 0 )
|
||||
ROM_LOAD( "armada-1", 0x0000, 0x0400, CRC(8528510c) SHA1(fbb653a0a4c77dd31fa106f1aeab985d02ebad50) )
|
||||
ROM_CONTINUE( 0x2000, 0x0400 )
|
||||
ROM_CONTINUE( 0x4000, 0x0400 )
|
||||
ROM_CONTINUE( 0x6000, 0x0400 )
|
||||
ROM_LOAD( "armada-2", 0x0400, 0x0400, CRC(7f5a2089) SHA1(be15d9c31c8bd33c029dfa7fcfc4e36d6dc8e04f) )
|
||||
ROM_CONTINUE( 0x2400, 0x0400 )
|
||||
ROM_CONTINUE( 0x4400, 0x0400 )
|
||||
ROM_CONTINUE( 0x6400, 0x0400 )
|
||||
ROM_LOAD( "armada-3", 0x0800, 0x0400, CRC(43e4c8c9) SHA1(b2f3a492cef183875370bd0c4e75e9bdb70c9cf2) )
|
||||
ROM_CONTINUE( 0x2800, 0x0400 )
|
||||
ROM_CONTINUE( 0x4800, 0x0400 )
|
||||
ROM_CONTINUE( 0x6800, 0x0400 )
|
||||
// 2 adjacent DIP28 positions (IC72, IC73) are unpopulated
|
||||
|
||||
ROM_REGION( 0x1800, "gfx1", 0 ) // probably the same as above without the blank data at the start
|
||||
ROM_LOAD( "armada-red.ic26", 0x0400, 0x0400, CRC(b588f509) SHA1(073f9dc584aba1351969ef597cd80a0037938dfb) )
|
||||
ROM_LOAD( "armada-green.ic25", 0x0c00, 0x0400, CRC(3cc861c9) SHA1(d9159ee045cc0994f468035ae28cd8b79b5985ee) )
|
||||
ROM_LOAD( "armada-blu.ic24", 0x1400, 0x0400, CRC(3689e530) SHA1(b30ab0d5ddc9b296437aa1bc2887f1416eb69f9c) )
|
||||
|
||||
ROM_REGION( 0x0800, "gfx2", 0 )
|
||||
ROM_LOAD( "greenobj.ic38", 0x0000, 0x0800, CRC(81a9a741) SHA1(b2725c320a232d4abf6e6fc58ccf6a5edb8dd9a0) )
|
||||
ROM_LOAD( "greenobj.ic38", 0x0000, 0x0800, CRC(81a9a741) SHA1(b2725c320a232d4abf6e6fc58ccf6a5edb8dd9a0) )
|
||||
|
||||
ROM_REGION( 0x0800, "gfx3", 0 )
|
||||
ROM_LOAD( "seawawe.ic9", 0x0000, 0x0800, CRC(7e356dc5) SHA1(71d34fa39ff0b7d0fa6d32ba2b9dc0006a03d1bb) ) // identical to above set
|
||||
ROM_LOAD( "seawave.ic9", 0x0000, 0x0800, CRC(7e356dc5) SHA1(71d34fa39ff0b7d0fa6d32ba2b9dc0006a03d1bb) ) // identical to above set
|
||||
|
||||
ROM_REGION( 0x3000, "soundcpu", 0 )
|
||||
ROM_LOAD( "sound-1.ic12", 0x0000, 0x1000, CRC(3ea7fa75) SHA1(57bc4bc3b21a300c10313a79e6d535573b2e9a54) )
|
||||
ROM_LOAD( "sound-2.ic13", 0x1000, 0x1000, CRC(3bcef3ca) SHA1(a9ebeb54a41d08a6ebd3fc2821e3fcda998ec484) )
|
||||
ROM_LOAD( "sound-3.ic14", 0x2000, 0x1000, CRC(6409f99b) SHA1(e8d7f457e9a315d7f89b817c2b7cda1f2f3e5877) )
|
||||
|
||||
ROM_REGION( 0x2000, "speech", 0 )
|
||||
ROM_LOAD( "speach-1.ic25", 0x0000, 0x1000, CRC(b72a8559) SHA1(08c60b950c2ed345840a65b427b19788c66d1e27) )
|
||||
ROM_LOAD( "speach-2.ic24", 0x1000, 0x1000, CRC(93133519) SHA1(12848b80eb313df9cd552122fdee9d335b32972f) )
|
||||
ROM_END
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
|
||||
GAMEL(1980, seabattl, 0, seabattl, seabattl, seabattl_state, empty_init, ROT0, "Zaccaria", "Sea Battle (set 1)", MACHINE_IMPERFECT_COLORS | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NO_SOUND, layout_seabattl )
|
||||
GAMEL(1980, seabattla, seabattl, seabattl, seabattl, seabattl_state, empty_init, ROT0, "Zaccaria", "Sea Battle (set 2)", MACHINE_IMPERFECT_COLORS | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NO_SOUND | MACHINE_NOT_WORKING, layout_seabattl ) // incomplete dump
|
||||
GAMEL(1980, seabattl, 0, seabattl, seabattl, seabattl_state, empty_init, ROT0, "Zaccaria", "Sea Battle", MACHINE_IMPERFECT_COLORS | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NO_SOUND, layout_seabattl )
|
||||
GAMEL(1980, armada, seabattl, armada, seabattl, seabattl_state, empty_init, ROT0, "Zaccaria / I.G.R.", "Armada", MACHINE_IMPERFECT_COLORS | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NO_SOUND | MACHINE_NOT_WORKING, layout_seabattl ) // different hardware
|
||||
|
Loading…
Reference in New Issue
Block a user