-zaxxon.cpp: Switched ixion sprite/tilemap priority.

-eolith.cpp, lastfght.cpp: Demoted raccoon and lastfght to not working due to timing issues.

-m62.cpp: Removed outdated comment.
This commit is contained in:
David Haywood 2021-03-13 12:03:12 +00:00 committed by GitHub
parent cf950b285a
commit af201202ec
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 37 additions and 9 deletions

View File

@ -75,7 +75,8 @@
- racooon (Raccoon World)
Game animation seems too fast?
Game animation & timers seem too fast? demoted to NOT WORKING as a
result
-----------------------------------------------------------------------------
Game Issues (unknown):
@ -1758,7 +1759,7 @@ GAME( 1998, ironfort, 0, ironfort, ironfort, eolith_state, init_eolith,
GAME( 1998, ironfortc, ironfort, ironfort, ironfortc, eolith_state, init_eolith, ROT0, "Eolith (Excellent Competence Ltd. license)", "Gongtit Jiucoi Iron Fortress (Hong Kong)", MACHINE_SUPPORTS_SAVE ) // Licensed/Distributed to Hong Kong company Excellent Competence Ltd.
GAME( 1998, hidnctch, 0, eolith45, hidnctch, eolith_state, init_eolith, ROT0, "Eolith", "Hidden Catch (World) / Tul Lin Gu Lim Chat Ki '98 (Korea) (pcb ver 3.03)", MACHINE_SUPPORTS_SAVE ) // or Teurrin Geurim Chajgi '98
GAME( 1998, hidnctcha, hidnctch, eolith45, hidnctch, eolith_state, init_eolith, ROT0, "Eolith", "Hidden Catch (World) / Tul Lin Gu Lim Chat Ki '98 (Korea) (pcb ver 3.02)", MACHINE_SUPPORTS_SAVE ) // or Teurrin Geurim Chajgi '98
GAME( 1998, raccoon, 0, eolith45, raccoon, eolith_state, init_eolith, ROT0, "Eolith", "Raccoon World", MACHINE_SUPPORTS_SAVE )
GAME( 1998, raccoon, 0, eolith45, raccoon, eolith_state, init_eolith, ROT0, "Eolith", "Raccoon World", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING )
GAME( 1998, puzzlekg, 0, eolith45, puzzlekg, eolith_state, init_eolith, ROT0, "Eolith", "Puzzle King (Dance & Puzzle)", MACHINE_SUPPORTS_SAVE )
GAME( 1999, candy, 0, eolith50, candy, eolith_state, init_eolith, ROT0, "Eolith", "Candy Candy", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
GAME( 1999, hidctch2, 0, eolith50, hidctch2, eolith_state, init_hidctch2, ROT0, "Eolith", "Hidden Catch 2 (pcb ver 3.03) (Kor/Eng) (AT89c52 protected)", MACHINE_SUPPORTS_SAVE )

View File

@ -62,6 +62,9 @@ Notes:
V106.U16 - MX27C4000 4MBit DIP32 EPROM; Main Program
V100.U7 - ST M27C801 8MBit DIP32 EPROM; Audio Samples?
TODO:
- Game speed seems to be completely wrong, timers and player movement too fast?
*********************************************************************************************************************/
#include "emu.h"
@ -609,4 +612,4 @@ void lastfght_state::init_lastfght()
} // Anonymous namespace
GAME( 2000, lastfght, 0, lastfght, lastfght, lastfght_state, init_lastfght, ROT0, "Subsino", "Last Fighting", MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE )
GAME( 2000, lastfght, 0, lastfght, lastfght, lastfght_state, init_lastfght, ROT0, "Subsino", "Last Fighting", MACHINE_NOT_WORKING | MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE )

View File

@ -4,10 +4,6 @@
Irem "M62" system
TODO:
- Kid Niki and Horizon are missing the drums. There is an analog section in
the sound board.
Notes:
- I believe that both kungfum bootlegs are derived from an Irem original which we
don't have (prototype/early revision?). They say "kanfu master" instead of

View File

@ -1023,14 +1023,23 @@ void zaxxon_state::razmataze(machine_config &config)
void zaxxon_state::ixion(machine_config &config)
{
razmataze(config);
root(config);
sega_315_5013_device &maincpu(SEGA_315_5013(config.replace(), m_maincpu, MASTER_CLOCK/16));
maincpu.set_addrmap(AS_PROGRAM, &zaxxon_state::ixion_map);
maincpu.set_addrmap(AS_OPCODES, &zaxxon_state::decrypted_opcodes_map);
maincpu.set_decrypted_tag(":decrypted_opcodes");
maincpu.set_size(0x6000);
config.device_remove("ppi8255");
m_mainlatch[0]->q_out_cb<6>().set_nop(); // flip screen not used
/* video hardware */
subdevice<screen_device>("screen")->set_screen_update(FUNC(zaxxon_state::screen_update_ixion));
/* sound hardware */
SPEAKER(config, "speaker").front_center();
SEGAUSBROM(config, "usbsnd", 0, m_maincpu).add_route(ALL_OUTPUTS, "speaker", 1.0);
}
@ -1615,7 +1624,7 @@ GAME( 1984, futspy, 0, futspye, futspy, zaxxon_state, empty_init,
/* these games run on modified Zaxxon hardware with no skewing, extra inputs, and a */
/* G-80 Universal Sound Board */
GAME( 1983, razmataz, 0, razmataze, razmataz, zaxxon_state, init_razmataz, ROT90, "Sega", "Razzmatazz", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
GAME( 1983, ixion, 0, ixion, ixion, zaxxon_state, empty_init, ROT270, "Sega", "Ixion (prototype)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE)
GAME( 1983, ixion, 0, ixion, ixion, zaxxon_state, empty_init, ROT270, "Sega", "Ixion (prototype)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
/* these games run on a slightly newer Zaxxon hardware with more ROM space and a */
/* custom sprite DMA chip */

View File

@ -117,6 +117,7 @@ private:
uint32_t screen_update_zaxxon(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_futspy(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_razmataz(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_ixion(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_congo(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(vblank_int);
void zaxxon_sound_a_w(uint8_t data);

View File

@ -463,6 +463,24 @@ uint32_t zaxxon_state::screen_update_razmataz(screen_device &screen, bitmap_ind1
return 0;
}
uint32_t zaxxon_state::screen_update_ixion(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
draw_background(bitmap, cliprect, false);
// On Ixion the fg tilemap is used to blank out erased tiles. The sprites must appear above these
// or bullets and explosions get hidden, leaving the game nearly unplayable.
//
// On Razzmatazz instead the fg tilemap is used to mask off sprites near the edges so must appear
// above them.
//
// The Zaxxon and Congo Bongo schematics don't appear to show anything related to priority control
// so this is most likely a hardwired change somewhere on the PCB. There are additional bits set
// in the 2nd PROM, which are currently masked out as they're not used for palette.
m_fg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
draw_sprites(bitmap, cliprect, 0x140, 0x180);
return 0;
}
uint32_t zaxxon_state::screen_update_congo(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{