Merge pull request #3808 from DavidHaywood/310718

new machines marked as WORKING
This commit is contained in:
ajrhacker 2018-07-31 13:51:36 -04:00 committed by GitHub
commit 3a5518125c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 61 additions and 12 deletions

View File

@ -4,7 +4,7 @@
/*
todo:
- fix sound emulation
- fix sound emulation (speed needs verifying + sample playback)
- fix sprite communication / banking
* bit "output bit 0x02 %d (IC21)" at 0x42 might be important
* mag_exzi currently requires a gross hack to stop the sprite CPU crashing on startup
@ -25,8 +25,9 @@
- layer enables on War Mission? (transitions from title screen etc.)
notes:
- 2 player mode can be enabled in service mode for War Mission, it is disabled by default
(settings are stored on the disk)
- high scores will be defaulted if the data in the table is corrupt, the games give no
option to do this otherwise. A backup copy of the score table is kept, so you also
have to enter and exit service mode.
*/
@ -865,16 +866,54 @@ ROM_START( mag_xain )
ROM_LOAD( "xain.img", 0x00000, 0xf0000, CRC(5647849f) SHA1(edd2f3f6359424583bf526bf4601476dc849e617) )
ROM_END
/*
Data after 0xd56b0 would not read consistently, however the game only appears to use the first 24 tracks (up to 0x48fff)
as it loads once on startup, not during gameplay, and all tracks before that gave consistent reads. There is data after this
point but it is likely leftovers from another game / whatever was on the disk before, so for our purposes this should be fine.
Some bullets do seem to spawn from locations where there are no enemies, but I think this is just annoying game design.
*/
ROM_START( mag_war )
BIOS_ROM
/* Data after 0xd56b0 would not read consistently, however the game only appears to use the first 24 tracks (up to 0x48fff)
as it loads once on startup, not during gameplay, and all tracks before that gave consistent reads. There is data after this
point but it is likely leftovers from another game / whatever was on the disk before, so for our purposes this should be fine.
Some bullets do seem to spawn from locations where there are no enemies, but I think this is just annoying game design.
*/
ROM_REGION( 0x100000, "flop:disk", ROMREGION_ERASE00 )
ROM_LOAD( "war mission wm 4_6_87.img", 0x00000, 0xf0000, CRC(e6b35710) SHA1(e24f9adde09e4eacbfb58e359a2df263748fc7de) )
ROM_LOAD( "war mission wm 4_6_87.img", 0x00000, 0xf0000, CRC(7c813520) SHA1(2ba5999709a52302aa367fb46199b331421a0d56) )
ROM_END
/*
Data read 100% consistently with multiple drives
*/
ROM_START( mag_wara )
BIOS_ROM
ROM_REGION( 0x100000, "flop:disk", ROMREGION_ERASE00 )
ROM_LOAD( "war mission wm 9_4_87.img", 0x00000, 0xf0000, CRC(6296ea6f) SHA1(c0aaf51362bfa3362ef39c3fb1e1c848b73fd780) )
ROM_END
/*
Data read 100% consistently with multiple drives
*/
ROM_START( mag_burn )
BIOS_ROM
ROM_REGION( 0x100000, "flop:disk", ROMREGION_ERASE00 ) //
ROM_LOAD( "theburningcavern 31_3_87.img", 0x00000, 0xf0000, CRC(c95911f8) SHA1(eda3bdbbcc3e00a7da83253209e832855c2968b1) )
ROM_END
/*
Data read 100% consistently with non-original drive (usually gives worse results)
later tracks showed differences with original drive on each read (around 0xeef80 onwards, doesn't seem to be game data)
weirdly there's was a single byte in an earlier track that read consistently, but in a different way for each drive
0x2480e: 9d (non-original) vs 1d (original drive)
1d seems to be correct as the same data is also elsewhere on the disc
*/
ROM_START( mag_day )
BIOS_ROM
ROM_REGION( 0x100000, "flop:disk", ROMREGION_ERASE00 )
ROM_LOAD( "adayinspace 31_3_87.img", 0x00000, 0xf0000, CRC(bc65302d) SHA1(6ace68a0b5f7a07a8f5c318c5359011074e7f2ec) )
ROM_END
/*
@ -934,7 +973,14 @@ void cedar_magnet_state::kludge_protection()
GAME( 1987, cedmag, 0, cedar_magnet, cedar_magnet, cedar_magnet_state, empty_init, ROT0, "EFO SA / Cedar", "Magnet System", MACHINE_IS_BIOS_ROOT )
GAME( 1987, mag_time, cedmag, cedar_magnet, cedar_magnet, cedar_magnet_state, empty_init, ROT90, "EFO SA / Cedar", "Time Scanner (TS 2.0, Magnet System)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) // original game was by Sega
GAME( 1987, mag_exzi, cedmag, cedar_magnet, cedar_magnet, cedar_magnet_state, empty_init, ROT0, "EFO SA / Cedar", "Exzisus (EX 1.0, Magnet System)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) // original game was by Taito
GAME( 1987, mag_xain, cedmag, cedar_magnet, cedar_magnet, cedar_magnet_state, empty_init, ROT0, "EFO SA / Cedar", "Xain'd Sleena (SC 3.0, Magnet System)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) // original game was by Technos
GAME( 1987, mag_war, cedmag, cedar_magnet, cedar_magnet, cedar_magnet_state, empty_init, ROT90, "EFO SA / Cedar", "War Mission (WM 4/6/87)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
GAME( 1987, mag_exzi, cedmag, cedar_magnet, cedar_magnet, cedar_magnet_state, empty_init, ROT0, "EFO SA / Cedar", "Exzisus (EX 1.0, Magnet System)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) // original game was by Taito
GAME( 1987, mag_xain, cedmag, cedar_magnet, cedar_magnet, cedar_magnet_state, empty_init, ROT0, "EFO SA / Cedar", "Xain'd Sleena (SC 3.0, Magnet System)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) // original game was by Technos
GAME( 1987, mag_war, cedmag, cedar_magnet, cedar_magnet, cedar_magnet_state, empty_init, ROT90, "EFO SA / Cedar", "War Mission (WM 04/06/87)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) // date in program
GAME( 1987, mag_wara, mag_war,cedar_magnet, cedar_magnet, cedar_magnet_state, empty_init, ROT90, "EFO SA / Cedar", "War Mission (WM 09/04/87)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) // the '9' was handwritten over a printed letter on disk label, date not in program
GAME( 1987, mag_burn, cedmag, cedar_magnet, cedar_magnet, cedar_magnet_state, empty_init, ROT0, "EFO SA / Cedar", "The Burning Cavern (31/03/87)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) // date on label
GAME( 1987, mag_day, cedmag, cedar_magnet, cedar_magnet, cedar_magnet_state, empty_init, ROT90, "EFO SA / Cedar", "A Day In Space (31/03/87)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) // date on label

View File

@ -9576,6 +9576,9 @@ mag_time
mag_exzi
mag_xain
mag_war
mag_wara
mag_burn
mag_day
@source:centiped.cpp
bullsdrt // (c) 1985 Shinkai