diff options
Diffstat (limited to 'src/mame/ces/galgames.cpp')
-rw-r--r-- | src/mame/ces/galgames.cpp | 187 |
1 files changed, 120 insertions, 67 deletions
diff --git a/src/mame/ces/galgames.cpp b/src/mame/ces/galgames.cpp index da88c089123..3e1dc6e64aa 100644 --- a/src/mame/ces/galgames.cpp +++ b/src/mame/ces/galgames.cpp @@ -28,7 +28,7 @@ Notes: Star Pak 3: Centipede, Great Wall, Ker-Chunk, Diamond Derby, Word Sleuth, Pull!, Astro Blast & Sweeper Star Pak 4: Berzerk, Neon Nightmare, Battle Checkers, Orbit, Deep Sea Shadow, Star Tiger & Orbit Freefall -- Allegedly there is a hard lock that SP1 and the PAC-MAN games (on SP2) cannot play together. Was a licensing issue with Namco. +- There is a hard lock that SP1 and the PAC-MAN games (on SP2) cannot play together. Was a licensing issue with Namco. The system checks for cartridges on power up by querying the PIC parts. If the system sees SP1 & SP2 it disables SP2. - Early flyers show "Star Pak 1" titled as Cardmania! @@ -92,7 +92,7 @@ public: // EEPROM u8 eeprom_r(); void eeprom_w(u8 data); - DECLARE_WRITE_LINE_MEMBER(eeprom_cs_write); + void eeprom_cs_write(int state); // PIC u8 pic_status_r(); @@ -115,7 +115,6 @@ protected: // device-level overrides virtual void device_start() override; virtual void device_reset() override; - virtual void rom_bank_updated() override { } bool is_selected(); @@ -266,7 +265,7 @@ public: // EEPROM u8 eeprom_r(); void eeprom_w(u8 data); - DECLARE_WRITE_LINE_MEMBER(eeprom_cs_write); + void eeprom_cs_write(int state); u8 get_cart() const { return m_cart; } @@ -549,7 +548,7 @@ void galgames_cart_device::eeprom_w(u8 data) m_eeprom->clk_write((data & 0x02) ? ASSERT_LINE : CLEAR_LINE); } -WRITE_LINE_MEMBER(galgames_cart_device::eeprom_cs_write) +void galgames_cart_device::eeprom_cs_write(int state) { if (!m_eeprom) return; @@ -715,11 +714,14 @@ void galgames_slot_device::eeprom_w(u8 data) { m_carts[m_cart]->eeprom_w(data); } -WRITE_LINE_MEMBER(galgames_slot_device::eeprom_cs_write) +void galgames_slot_device::eeprom_cs_write(int state) { m_carts[m_cart]->eeprom_cs_write(state); } + +namespace { + /*************************************************************************** General @@ -740,7 +742,7 @@ public: m_okiram(*this, "okiram") { } - DECLARE_WRITE_LINE_MEMBER(blitter_irq_callback); + void blitter_irq_callback(int state); TIMER_DEVICE_CALLBACK_MEMBER(scanline_interrupt); u32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); @@ -778,7 +780,7 @@ protected: u8 m_palette_data[3]{}; }; -WRITE_LINE_MEMBER(galgames_state::blitter_irq_callback) +void galgames_state::blitter_irq_callback(int state) { // logerror("%s: Blitter IRQ callback state = %x\n", machine().describe_context(), state); m_maincpu->set_input_line(2, state); @@ -1099,28 +1101,28 @@ Copyright notice in rom states: Creative Electronics & Software Written by Keith ***************************************************************************/ -#define ROM_LOAD16_BYTE_BIOS(bios,name,offset,length,hash) \ - ROMX_LOAD(name, offset, length, hash, ROM_SKIP(1) | ROM_BIOS(bios)) +#define ROM_LOAD16_BYTE_BIOS( bios, name, offset, length, hash ) \ + ROMX_LOAD( name, offset, length, hash, ROM_SKIP(1) | ROM_BIOS(bios) ) #define GALGAMES_BIOS_ROMS \ - ROM_SYSTEM_BIOS(0, "1.90", "v1.90 12/01/98") \ - ROM_LOAD16_BYTE_BIOS(0, "galaxy_u2__v1.90_12-01-98.u2", 0x000000, 0x100000, CRC(e51ff184) SHA1(aaa795f2c15ec29b3ceeb5c917b643db0dbb7083)) \ - ROM_LOAD16_BYTE_BIOS(0, "galaxy_u1__v1.90_12-01-98.u1", 0x000001, 0x100000, CRC(c6d7bc6d) SHA1(93c032f9aa38cbbdda59a8a25ff9f38f7ad9c760)) \ + ROM_SYSTEM_BIOS( 0, "1.90", "v1.90 12/01/98" ) \ + ROM_LOAD16_BYTE_BIOS( 0, "galaxy_u2__v1.90_12-01-98.u2", 0x000000, 0x100000, CRC(e51ff184) SHA1(aaa795f2c15ec29b3ceeb5c917b643db0dbb7083) ) \ + ROM_LOAD16_BYTE_BIOS( 0, "galaxy_u1__v1.90_12-01-98.u1", 0x000001, 0x100000, CRC(c6d7bc6d) SHA1(93c032f9aa38cbbdda59a8a25ff9f38f7ad9c760) ) \ \ - ROM_SYSTEM_BIOS(1, "1.80", "v1.80 10/05/98") \ - ROM_LOAD16_BYTE_BIOS(1, "galaxy_u2__v1.80_10-15-98.u2", 0x000000, 0x100000, CRC(73cff284) SHA1(e6f7d92999cdb478c21c3b65a04eade84299ac12)) \ - ROM_LOAD16_BYTE_BIOS(1, "galaxy_u1__v1.80_10-15-98.u1", 0x000001, 0x100000, CRC(e3ae423c) SHA1(66d1964845a99a5ed4b19b4135b55cde6b5fe295)) + ROM_SYSTEM_BIOS( 1, "1.80", "v1.80 10/05/98" ) \ + ROM_LOAD16_BYTE_BIOS( 1, "galaxy_u2__v1.80_10-15-98.u2", 0x000000, 0x100000, CRC(73cff284) SHA1(e6f7d92999cdb478c21c3b65a04eade84299ac12) ) \ + ROM_LOAD16_BYTE_BIOS( 1, "galaxy_u1__v1.80_10-15-98.u1", 0x000001, 0x100000, CRC(e3ae423c) SHA1(66d1964845a99a5ed4b19b4135b55cde6b5fe295) ) #define GALGAMES_MB_PALS \ - ROM_REGION(0xa00, "pals", 0) \ - ROM_LOAD("16v8h-blue.u24", 0x000, 0x117, NO_DUMP) \ - ROM_LOAD("16v8h-yellow.u25", 0x200, 0x117, NO_DUMP) \ - ROM_LOAD("16v8h-magenta.u26", 0x400, 0x117, NO_DUMP) \ - ROM_LOAD("16v8h-green.u27", 0x600, 0x117, NO_DUMP) \ - ROM_LOAD("16v8h-red.u45", 0x800, 0x117, NO_DUMP) - -ROM_START(galgbios) - ROM_REGION16_BE(0x200000, "cart0", 0) + ROM_REGION( 0xa00, "pals", 0 ) \ + ROM_LOAD( "16v8h-blue.u24", 0x000, 0x117, NO_DUMP) \ + ROM_LOAD( "16v8h-yellow.u25", 0x200, 0x117, NO_DUMP) \ + ROM_LOAD( "16v8h-magenta.u26", 0x400, 0x117, NO_DUMP) \ + ROM_LOAD( "16v8h-green.u27", 0x600, 0x117, NO_DUMP) \ + ROM_LOAD( "16v8h-red.u45", 0x800, 0x117, NO_DUMP) + +ROM_START( galgbios ) + ROM_REGION16_BE( 0x200000, "cart0", 0 ) GALGAMES_BIOS_ROMS ROM_REGION(0x200000, "cart1", ROMREGION_ERASEFF) @@ -1135,7 +1137,9 @@ ROM_END Galaxy Games StarPak 2 -NAMCO 307 Cartridge, has surface mount Flash chips in it: +Cartridge with 7 games, including Namco licensed Pac-Man & Ms. Pac-Man. + +AKA NAMCO 307 Cartridge .U1 AM29F800BB .U2 AM29F800BB @@ -1148,20 +1152,20 @@ Board silkscreened 237-0209-00 ***************************************************************************/ -ROM_START(galgame2) - ROM_REGION16_BE(0x200000, "cart0", 0) +ROM_START( galgame2 ) + ROM_REGION16_BE( 0x200000, "cart0", 0 ) GALGAMES_BIOS_ROMS - ROM_REGION(0x200000, "cart1", 0) - ROM_LOAD16_BYTE("am29f800bb.u2", 0x000000, 0x100000, CRC(f43c0c54) SHA1(4a13946c3d173b0e4ab25b01849574fa3302b417)) - ROM_LOAD16_BYTE("am29f800bb.u1", 0x000001, 0x100000, CRC(b8c34a8b) SHA1(40d3b35f573d2bd2ae1c7d876c55fc436864fa3f)) + ROM_REGION( 0x200000, "cart1", 0 ) + ROM_LOAD16_BYTE( "am29f800bb.u2", 0x000000, 0x100000, CRC(f43c0c54) SHA1(4a13946c3d173b0e4ab25b01849574fa3302b417) ) // MAY 29, 1998 + ROM_LOAD16_BYTE( "am29f800bb.u1", 0x000001, 0x100000, CRC(b8c34a8b) SHA1(40d3b35f573d2bd2ae1c7d876c55fc436864fa3f) ) // "" - ROM_REGION(0x2000, "cart1:pic", 0) - ROM_LOAD("pic12c508.u4", 0x0000, 0x2000, CRC(bb253913) SHA1(eace069344da6dda7c05673e422876d130ed5d48)) // includes config word at fff, hence size is 2*1000 + ROM_REGION( 0x2000, "cart1:pic", 0 ) + ROM_LOAD( "pic12c508.u4", 0x0000, 0x2000, CRC(bb253913) SHA1(eace069344da6dda7c05673e422876d130ed5d48) ) // includes config word at fff, hence size is 2*1000 - ROM_REGION(0x200000, "cart2", ROMREGION_ERASEFF) - ROM_REGION(0x200000, "cart3", ROMREGION_ERASEFF) - ROM_REGION(0x200000, "cart4", ROMREGION_ERASEFF) + ROM_REGION( 0x200000, "cart2", ROMREGION_ERASEFF ) + ROM_REGION( 0x200000, "cart3", ROMREGION_ERASEFF ) + ROM_REGION( 0x200000, "cart4", ROMREGION_ERASEFF ) GALGAMES_MB_PALS ROM_END @@ -1183,20 +1187,20 @@ Board silkscreened 237-0228-00 ***************************************************************************/ -ROM_START(galgame3) - ROM_REGION16_BE(0x200000, "cart0", 0) +ROM_START( galgame3 ) + ROM_REGION16_BE( 0x200000, "cart0", 0 ) GALGAMES_BIOS_ROMS - ROM_REGION(0x800000, "cart1", 0) - ROM_LOAD16_BYTE("am29f032b.u2", 0x000000, 0x400000, CRC(a4ffc70a) SHA1(328c6ceef025af7ff5b7998df59a10d90c654d53)) - ROM_LOAD16_BYTE("am29f032b.u1", 0x000001, 0x400000, CRC(b0876751) SHA1(487f052989e4b2df2df2293b283e8e03ffc3ddf4)) + ROM_REGION( 0x800000, "cart1", 0 ) + ROM_LOAD16_BYTE( "am29f032b.u2", 0x000000, 0x400000, CRC(a4ffc70a) SHA1(328c6ceef025af7ff5b7998df59a10d90c654d53) ) + ROM_LOAD16_BYTE( "am29f032b.u1", 0x000001, 0x400000, CRC(b0876751) SHA1(487f052989e4b2df2df2293b283e8e03ffc3ddf4) ) - ROM_REGION(0x800, "cart1:pic", 0) - ROM_LOAD("pic16c56.u6", 0x000, 0x800, CRC(cf901ed8) SHA1(ebb2da0f50ba82a038f315aab7e6b20b9a1af3a1)) + ROM_REGION( 0x800, "cart1:pic", 0 ) + ROM_LOAD( "pic16c56.u6", 0x000, 0x800, CRC(cf901ed8) SHA1(ebb2da0f50ba82a038f315aab7e6b20b9a1af3a1) ) - ROM_REGION(0x200000, "cart2", ROMREGION_ERASEFF) - ROM_REGION(0x200000, "cart3", ROMREGION_ERASEFF) - ROM_REGION(0x200000, "cart4", ROMREGION_ERASEFF) + ROM_REGION( 0x200000, "cart2", ROMREGION_ERASEFF ) + ROM_REGION( 0x200000, "cart3", ROMREGION_ERASEFF ) + ROM_REGION( 0x200000, "cart4", ROMREGION_ERASEFF ) GALGAMES_MB_PALS ROM_END @@ -1204,36 +1208,85 @@ ROM_END /*************************************************************************** Galaxy Games StarPak 4 -(Cartridge not dumped, but files from a dev board provided by the developer) + +Cartridge with 7 games, including Berzerk. + +.U1 AM29F032B +.U2 AM29F032B +.U5 93AA76/SN +.U6 PIC 16C56-XT/P +.L1 Led + +Board silkscreened 237-0228-00 + REV.-B + +NOTE: Unlike previous cartridges, there is no licensing information shown for + Berzerk as was done for Pac-Man / Ms. Pac-Man in StarPak 2 and Centipede + in StarPak 3 ***************************************************************************/ -ROM_START(galgame4) - ROM_REGION16_BE(0x200000, "cart0", 0) +ROM_START( galgame4 ) + ROM_REGION16_BE( 0x200000, "cart0", 0 ) GALGAMES_BIOS_ROMS - ROM_REGION(0x800000, "cart1", 0) - ROM_LOAD16_BYTE("sp4.u2", 0x000000, 0x100000, CRC(e51bc5e1) SHA1(dacf6cefd792713b34382b827952b66e2cb5c2b4)) // JANUARY 12, 1998 - ROM_LOAD16_BYTE("sp4.u1", 0x000001, 0x100000, CRC(695ab775) SHA1(e88d5f982df19e70be6124e6fdf20830475641e0)) // "" - ROM_LOAD16_BYTE("sp4.u6", 0x200000, 0x100000, CRC(7716895d) SHA1(8f86ffe2d94d3e756a3b7661d480e3a8c53cf178)) - ROM_LOAD16_BYTE("sp4.u5", 0x200001, 0x100000, CRC(6c699ba3) SHA1(f675997e1b808758f79a21b883161526242990b4)) - ROM_LOAD16_BYTE("sp4.u8", 0x400000, 0x100000, CRC(cdf45446) SHA1(da4e1667c7c47239e770018a7d3b8c1e4e2f4a63)) - ROM_LOAD16_BYTE("sp4.u7", 0x400001, 0x100000, CRC(813c46c8) SHA1(3fd4192ec7e8d5e6bfbc2a37d9b4bbebe6132b99)) - ROM_LOAD16_BYTE("sp4.u10", 0x600000, 0x100000, CRC(52dbf088) SHA1(da7c37366e884f40f1dea243d4aea0b2d2b314db)) - ROM_LOAD16_BYTE("sp4.u9", 0x600001, 0x100000, CRC(9ded1dc2) SHA1(5319edfccf47d02dfd3664cb3782cc2281c769c4)) + ROM_REGION( 0x800000, "cart1", 0 ) + ROM_LOAD16_BYTE( "am29f032b.u2", 0x000000, 0x400000, CRC(60f14d02) SHA1(581511898338246476ac8359a7427ffed26e233e) ) // JANUARY 12, 1998 + ROM_LOAD16_BYTE( "am29f032b.u1", 0x000001, 0x400000, CRC(9dc6c588) SHA1(a242de749a563cb26fce6901f202d5fc4ae1beb0) ) // "" - ROM_REGION(0x2000, "cart1:pic", 0) - ROM_LOAD("sp4.pic", 0x000, 0x2000, CRC(008ef1ba) SHA1(4065fcf00922de3e629084f4f4815355f271c954)) + ROM_REGION( 0x2000, "cart1:pic", 0 ) + ROM_LOAD( "pic16c56.u6", 0x000, 0x2000, CRC(ea994ab7) SHA1(4d59355f11e86f43e6a553140fb89aebbd8981a6) ) // unprotected - ROM_REGION(0x200000, "cart2", ROMREGION_ERASEFF) - ROM_REGION(0x200000, "cart3", ROMREGION_ERASEFF) - ROM_REGION(0x200000, "cart4", ROMREGION_ERASEFF) + ROM_REGION( 0x200000, "cart2", ROMREGION_ERASEFF ) + ROM_REGION( 0x200000, "cart3", ROMREGION_ERASEFF ) + ROM_REGION( 0x200000, "cart4", ROMREGION_ERASEFF ) + + GALGAMES_MB_PALS +ROM_END + +/*************************************************************************** + +Galaxy Games StarPak 4 (prototype) + +Files from a dev board provided by the developer. + +NOTE: The graphics tiles are misaligned for the games Star Tiger and Battle + Checkers for this prototype set. This isn't an issue with the release + version above. + +NOTE: PIC images are NOT interchangable between release and prototype sets. + +***************************************************************************/ + +ROM_START( galgame4p ) + ROM_REGION16_BE( 0x200000, "cart0", 0 ) + GALGAMES_BIOS_ROMS + + ROM_REGION( 0x800000, "cart1", 0 ) + ROM_LOAD16_BYTE( "sp4.u2", 0x000000, 0x100000, CRC(e51bc5e1) SHA1(dacf6cefd792713b34382b827952b66e2cb5c2b4) ) // JANUARY 12, 1998 + ROM_LOAD16_BYTE( "sp4.u1", 0x000001, 0x100000, CRC(695ab775) SHA1(e88d5f982df19e70be6124e6fdf20830475641e0) ) // "" + ROM_LOAD16_BYTE( "sp4.u6", 0x200000, 0x100000, CRC(7716895d) SHA1(8f86ffe2d94d3e756a3b7661d480e3a8c53cf178) ) + ROM_LOAD16_BYTE( "sp4.u5", 0x200001, 0x100000, CRC(6c699ba3) SHA1(f675997e1b808758f79a21b883161526242990b4) ) + ROM_LOAD16_BYTE( "sp4.u8", 0x400000, 0x100000, CRC(cdf45446) SHA1(da4e1667c7c47239e770018a7d3b8c1e4e2f4a63) ) + ROM_LOAD16_BYTE( "sp4.u7", 0x400001, 0x100000, CRC(813c46c8) SHA1(3fd4192ec7e8d5e6bfbc2a37d9b4bbebe6132b99) ) + ROM_LOAD16_BYTE( "sp4.u10", 0x600000, 0x100000, CRC(52dbf088) SHA1(da7c37366e884f40f1dea243d4aea0b2d2b314db) ) + ROM_LOAD16_BYTE( "sp4.u9", 0x600001, 0x100000, CRC(9ded1dc2) SHA1(5319edfccf47d02dfd3664cb3782cc2281c769c4) ) + + ROM_REGION( 0x2000, "cart1:pic", 0 ) + ROM_LOAD( "sp4.pic", 0x000, 0x2000, CRC(008ef1ba) SHA1(4065fcf00922de3e629084f4f4815355f271c954) ) + + ROM_REGION( 0x200000, "cart2", ROMREGION_ERASEFF ) + ROM_REGION( 0x200000, "cart3", ROMREGION_ERASEFF ) + ROM_REGION( 0x200000, "cart4", ROMREGION_ERASEFF ) GALGAMES_MB_PALS ROM_END +} // anonymous namespace + -GAME(1998, galgbios, 0, galgbios, galgames, galgames_state, empty_init, ROT0, "Creative Electronics & Software", "Galaxy Games BIOS", MACHINE_IS_BIOS_ROOT) -GAME(1998, galgame2, galgbios, galgame2, galgames, galgames_state, empty_init, ROT0, "Creative Electronics & Software / Namco", "Galaxy Games StarPak 2", 0) -GAME(1998, galgame3, galgbios, galgame3, galgames, galgames_state, empty_init, ROT0, "Creative Electronics & Software / Atari", "Galaxy Games StarPak 3", 0) -GAME(1998, galgame4, galgbios, galgame3, galgames, galgames_state, empty_init, ROT0, "Creative Electronics & Software", "Galaxy Games StarPak 4 (prototype)", MACHINE_IMPERFECT_GRAPHICS) +GAME(1998, galgbios, 0, galgbios, galgames, galgames_state, empty_init, ROT0, "Creative Electronics & Software", "Galaxy Games BIOS", MACHINE_IS_BIOS_ROOT) +GAME(1998, galgame2, galgbios, galgame2, galgames, galgames_state, empty_init, ROT0, "Creative Electronics & Software / Namco", "Galaxy Games StarPak 2", 0) +GAME(1998, galgame3, galgbios, galgame3, galgames, galgames_state, empty_init, ROT0, "Creative Electronics & Software / Atari", "Galaxy Games StarPak 3", 0) +GAME(1998, galgame4, galgbios, galgame3, galgames, galgames_state, empty_init, ROT0, "Creative Electronics & Software", "Galaxy Games StarPak 4", 0) +GAME(1998, galgame4p, galgame4, galgame3, galgames, galgames_state, empty_init, ROT0, "Creative Electronics & Software", "Galaxy Games StarPak 4 (prototype)", MACHINE_IMPERFECT_GRAPHICS) |