mirror of
https://github.com/holub/mame
synced 2025-05-22 21:58:57 +03:00
added 'wave.u29' to thegladpcb set, this is used for the Japanese music and seems exclusive to the PCB version. I guess all PCBs were Japan and all carts were non-Japan.
also at this point I think we can put it in the whastnew so as a formality.. NEW WORKING GAME ------- The Gladiator / Road of the Sword / Shen Jian [David Haywood, rtw]
This commit is contained in:
parent
6a08e0991f
commit
7cdac2d168
@ -3195,7 +3195,7 @@ ROM_START( theglad )
|
|||||||
|
|
||||||
ROM_REGION( 0x4000, "prot", 0 ) /* ARM protection ASIC - internal rom */
|
ROM_REGION( 0x4000, "prot", 0 ) /* ARM protection ASIC - internal rom */
|
||||||
ROM_LOAD( "thegladpcb_igs027a_execute_only_area", 0x0000, 0x00188, NO_DUMP )
|
ROM_LOAD( "thegladpcb_igs027a_execute_only_area", 0x0000, 0x00188, NO_DUMP )
|
||||||
ROM_LOAD( "thegladpcb_igs027a.bin", 0x0188, 0x3e78, CRC(d7f06e2d) SHA1(9c3aca7a487f5329d84731e2c63d5ed591bf9d24) ) // from 'thegladpcb set'
|
ROM_LOAD( "thegladpcb_igs027a_v100_japan.bin", 0x0188, 0x3e78, CRC(d7f06e2d) SHA1(9c3aca7a487f5329d84731e2c63d5ed591bf9d24) ) // from 'thegladpcb set'
|
||||||
|
|
||||||
ROM_REGION( 0x800000, "user1", 0 ) /* Protection Data (encrypted external ARM data, internal missing) */
|
ROM_REGION( 0x800000, "user1", 0 ) /* Protection Data (encrypted external ARM data, internal missing) */
|
||||||
ROM_LOAD( "v107.u26", 0x000000, 0x200000, CRC(f7c61357) SHA1(52d31c464dfc83c5371b078cb6b73c0d0e0d57e3) )
|
ROM_LOAD( "v107.u26", 0x000000, 0x200000, CRC(f7c61357) SHA1(52d31c464dfc83c5371b078cb6b73c0d0e0d57e3) )
|
||||||
@ -3224,7 +3224,8 @@ ROM_START( theglad100 ) // is this actually a pre-v100 proto?
|
|||||||
ROM_LOAD16_WORD_SWAP( "u6.rom", 0x100000, 0x080000, CRC(14c85212) SHA1(8d2489708e176a2c460498a13173be01f645b79e) )
|
ROM_LOAD16_WORD_SWAP( "u6.rom", 0x100000, 0x080000, CRC(14c85212) SHA1(8d2489708e176a2c460498a13173be01f645b79e) )
|
||||||
|
|
||||||
ROM_REGION( 0x4000, "prot", 0 ) /* ARM protection ASIC - internal rom */
|
ROM_REGION( 0x4000, "prot", 0 ) /* ARM protection ASIC - internal rom */
|
||||||
ROM_LOAD( "theglada_igs027a.bin", 0x0000, 0x4000, NO_DUMP ) // this set clearly uses a different internal rom, the pointers in the external ROM are wrong for the v100 rom.
|
ROM_LOAD( "thegladpcb_igs027a_execute_only_area", 0x0000, 0x00188, NO_DUMP )
|
||||||
|
ROM_LOAD( "thegladpcb_igs027a_older.bin", 0x0188, 0x3e78, BAD_DUMP CRC(d7f06e2d) SHA1(9c3aca7a487f5329d84731e2c63d5ed591bf9d24) ) // this is wrong for this set, we patch it to work
|
||||||
|
|
||||||
ROM_REGION( 0x800000, "user1", 0 ) /* Protection Data (encrypted external ARM data, internal missing) */
|
ROM_REGION( 0x800000, "user1", 0 ) /* Protection Data (encrypted external ARM data, internal missing) */
|
||||||
ROM_LOAD( "u2.rom", 0x000000, 0x200000, CRC(c7bcf2ae) SHA1(10bc012c83987f594d5375a51bc4be2e17568a81) )
|
ROM_LOAD( "u2.rom", 0x000000, 0x200000, CRC(c7bcf2ae) SHA1(10bc012c83987f594d5375a51bc4be2e17568a81) )
|
||||||
@ -3255,7 +3256,7 @@ ROM_START( theglad101 )
|
|||||||
|
|
||||||
ROM_REGION( 0x4000, "prot", 0 ) /* ARM protection ASIC - internal rom */
|
ROM_REGION( 0x4000, "prot", 0 ) /* ARM protection ASIC - internal rom */
|
||||||
ROM_LOAD( "thegladpcb_igs027a_execute_only_area", 0x0000, 0x00188, NO_DUMP )
|
ROM_LOAD( "thegladpcb_igs027a_execute_only_area", 0x0000, 0x00188, NO_DUMP )
|
||||||
ROM_LOAD( "thegladpcb_igs027a.bin", 0x0188, 0x3e78, CRC(d7f06e2d) SHA1(9c3aca7a487f5329d84731e2c63d5ed591bf9d24) ) // from 'thegladpcb set'
|
ROM_LOAD( "thegladpcb_igs027a_v100_japan.bin", 0x0188, 0x3e78, CRC(d7f06e2d) SHA1(9c3aca7a487f5329d84731e2c63d5ed591bf9d24) ) // from 'thegladpcb set'
|
||||||
|
|
||||||
ROM_REGION( 0x800000, "user1", 0 ) /* Protection Data (encrypted external ARM data, internal missing) */
|
ROM_REGION( 0x800000, "user1", 0 ) /* Protection Data (encrypted external ARM data, internal missing) */
|
||||||
ROM_LOAD( "v101.u26", 0x000000, 0x200000, CRC(23faec02) SHA1(9065d55c2a14e6889e735a452bbc32530056645a) )
|
ROM_LOAD( "v101.u26", 0x000000, 0x200000, CRC(23faec02) SHA1(9065d55c2a14e6889e735a452bbc32530056645a) )
|
||||||
@ -3279,7 +3280,6 @@ ROM_START( theglad101 )
|
|||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ROM_START( thegladpcb )
|
ROM_START( thegladpcb )
|
||||||
ROM_REGION( 0x600000, "maincpu", 0 ) /* 68000 Code */
|
ROM_REGION( 0x600000, "maincpu", 0 ) /* 68000 Code */
|
||||||
ROM_LOAD16_WORD_SWAP( "bios.42", 0x000000, 0x020000, CRC(517cf7a2) SHA1(f5720b29e3be6ec22be03a768618cb2a1aa4ade7) )
|
ROM_LOAD16_WORD_SWAP( "bios.42", 0x000000, 0x020000, CRC(517cf7a2) SHA1(f5720b29e3be6ec22be03a768618cb2a1aa4ade7) )
|
||||||
@ -3287,27 +3287,28 @@ ROM_START( thegladpcb )
|
|||||||
|
|
||||||
ROM_REGION( 0x4000, "prot", 0 ) /* ARM protection ASIC - internal rom */
|
ROM_REGION( 0x4000, "prot", 0 ) /* ARM protection ASIC - internal rom */
|
||||||
ROM_LOAD( "thegladpcb_igs027a_execute_only_area", 0x0000, 0x00188, NO_DUMP )
|
ROM_LOAD( "thegladpcb_igs027a_execute_only_area", 0x0000, 0x00188, NO_DUMP )
|
||||||
ROM_LOAD( "thegladpcb_igs027a.bin", 0x0188, 0x3e78, CRC(d7f06e2d) SHA1(9c3aca7a487f5329d84731e2c63d5ed591bf9d24) ) // from 'thegladpcb set'
|
ROM_LOAD( "thegladpcb_igs027a_v100_japan.bin", 0x0188, 0x3e78, CRC(d7f06e2d) SHA1(9c3aca7a487f5329d84731e2c63d5ed591bf9d24) ) // from 'thegladpcb set'
|
||||||
|
|
||||||
ROM_REGION( 0x800000, "user1", 0 ) /* Protection Data (encrypted external ARM data, internal missing) */
|
ROM_REGION( 0x800000, "user1", 0 ) /* Protection Data (encrypted external ARM data, internal missing) */
|
||||||
ROM_LOAD( "igs.62", 0x000000, 0x200000, CRC(0f3f511e) SHA1(28dd8d27495cec86e968a3ea549c5b30513dbb6e) )
|
ROM_LOAD( "igs_v100.62", 0x000000, 0x200000, CRC(0f3f511e) SHA1(28dd8d27495cec86e968a3ea549c5b30513dbb6e) )
|
||||||
|
|
||||||
ROM_REGION( 0xc00000, "tiles", 0 ) /* 8x8 Text Tiles + 32x32 BG Tiles */
|
ROM_REGION( 0xc00000, "tiles", 0 ) /* 8x8 Text Tiles + 32x32 BG Tiles */
|
||||||
PGM_VIDEO_BIOS
|
ROM_LOAD( "pgm_t01s.u72", 0x000000, 0x200000, CRC(1a7123a0) SHA1(cc567f577bfbf45427b54d6695b11b74f2578af3) ) // standard PGM tx bios
|
||||||
ROM_LOAD( "t04601.u33", 0x180000, 0x800000, CRC(e5dab371) SHA1(2e3c93958eb0326b6b84b95c2168626f26bbac76) )
|
ROM_LOAD( "t04601.u71", 0x180000, 0x800000, CRC(e5dab371) SHA1(2e3c93958eb0326b6b84b95c2168626f26bbac76) )
|
||||||
|
|
||||||
ROM_REGION( 0x1800000, "sprcol", 0 ) /* Sprite Colour Data */
|
ROM_REGION( 0x1800000, "sprcol", 0 ) /* Sprite Colour Data */
|
||||||
ROM_LOAD( "a04601.u2", 0x0000000, 0x0800000, CRC(d9b2e004) SHA1(8e1882b800fe9f12d7d49303e7417ba5b6f8ef85) )
|
ROM_LOAD( "a04601.u30", 0x0000000, 0x0800000, CRC(d9b2e004) SHA1(8e1882b800fe9f12d7d49303e7417ba5b6f8ef85) )
|
||||||
ROM_LOAD( "a04602.u4", 0x0800000, 0x0800000, CRC(14f22308) SHA1(7fad54704e8c97eab723f53dfb50fb3e7bb606d2) )
|
ROM_LOAD( "a04602.u31", 0x0800000, 0x0800000, CRC(14f22308) SHA1(7fad54704e8c97eab723f53dfb50fb3e7bb606d2) )
|
||||||
ROM_LOAD( "a04603.u6", 0x1000000, 0x0800000, CRC(8f621e17) SHA1(b0f87f378e0115d0c95017ca0f1b0d508827a7c6) )
|
ROM_LOAD( "a04603.u32", 0x1000000, 0x0800000, CRC(8f621e17) SHA1(b0f87f378e0115d0c95017ca0f1b0d508827a7c6) )
|
||||||
|
|
||||||
ROM_REGION( 0x1000000, "sprmask", 0 ) /* Sprite Masks + Colour Indexes */
|
ROM_REGION( 0x1000000, "sprmask", 0 ) /* Sprite Masks + Colour Indexes */
|
||||||
ROM_LOAD( "b04601.u11", 0x0000000, 0x0800000, CRC(ee72bccf) SHA1(73c25fe659f6c903447066e4ef83d2f580449d76) )
|
ROM_LOAD( "b04601.u40", 0x0000000, 0x0800000, CRC(ee72bccf) SHA1(73c25fe659f6c903447066e4ef83d2f580449d76) )
|
||||||
ROM_LOAD( "b04602.u12", 0x0800000, 0x0400000, CRC(7dba9c38) SHA1(a03d509274e8f6a500a7ebe2da5aab8bed4e7f2f) )
|
ROM_LOAD( "b04602.u41", 0x0800000, 0x0400000, CRC(7dba9c38) SHA1(a03d509274e8f6a500a7ebe2da5aab8bed4e7f2f) )
|
||||||
|
|
||||||
ROM_REGION( 0x1000000, "ics", 0 ) /* Samples - (8 bit mono 11025Hz) - */
|
ROM_REGION( 0x1000000, "ics", 0 ) /* Samples - (8 bit mono 11025Hz) - */
|
||||||
PGM_AUDIO_BIOS
|
ROM_LOAD( "pgm_m01s.u4", 0x000000, 0x200000, CRC(45ae7159) SHA1(d3ed3ff3464557fd0df6b069b2e431528b0ebfa8) ) // standard PGM sample bios
|
||||||
ROM_LOAD( "w04601.u1", 0x400000, 0x800000, CRC(5f15ddb3) SHA1(c38dcef8e06802a84e42a7fc9fa505475fc3ac65) )
|
ROM_LOAD( "w04601.u8", 0x400000, 0x800000, CRC(5f15ddb3) SHA1(c38dcef8e06802a84e42a7fc9fa505475fc3ac65) )
|
||||||
|
ROM_LOAD( "igs29.bin", 0xc00000, 0x200000, CRC(51acb395) SHA1(65a2ecd3de2ff782f2aa0f0f905f9b18323aea64) ) // extra ROM on the PCB version for the Japanese music
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
ROM_START( oldsplus )
|
ROM_START( oldsplus )
|
||||||
@ -4159,9 +4160,9 @@ GAME( 2005, killbldp, pgm, pgm_arm_type3, pgm, pgm_arm_type3_state
|
|||||||
GAME( 2003, theglad, pgm, pgm_arm_type3, theglad, pgm_arm_type3_state, theglad, ROT0, "IGS", "The Gladiator / Road of the Sword / Shen Jian (M68k label V101) (ARM label V107, ROM 06/06/03 SHEN JIAN V107)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // ARM time: 16:17:27
|
GAME( 2003, theglad, pgm, pgm_arm_type3, theglad, pgm_arm_type3_state, theglad, ROT0, "IGS", "The Gladiator / Road of the Sword / Shen Jian (M68k label V101) (ARM label V107, ROM 06/06/03 SHEN JIAN V107)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // ARM time: 16:17:27
|
||||||
GAME( 2003, theglad101, theglad, pgm_arm_type3, theglad, pgm_arm_type3_state, theglad, ROT0, "IGS", "The Gladiator / Road of the Sword / Shen Jian (M68k label V100) (ARM label V101, ROM 03/13/03 SHEN JIAN)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // ARM time: 14:06:44
|
GAME( 2003, theglad101, theglad, pgm_arm_type3, theglad, pgm_arm_type3_state, theglad, ROT0, "IGS", "The Gladiator / Road of the Sword / Shen Jian (M68k label V100) (ARM label V101, ROM 03/13/03 SHEN JIAN)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // ARM time: 14:06:44
|
||||||
// the v100 68k ROM on this is older than the v101 set, this set also uses a different internal ROM to everything else, must be a very early release, maybe pre v100 proto with v100 strings?
|
// the v100 68k ROM on this is older than the v101 set, this set also uses a different internal ROM to everything else, must be a very early release, maybe pre v100 proto with v100 strings?
|
||||||
GAME( 2003, theglad100, theglad, pgm_arm_type3, theglad, pgm_arm_type3_state, theglad, ROT0, "IGS", "The Gladiator / Road of the Sword / Shen Jian (M68k label V100) (ARM label V100, ROM 01/16/03 SHEN JIAN)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */ // ARM time: 10:39:25
|
GAME( 2003, theglad100, theglad, pgm_arm_type3, theglad, pgm_arm_type3_state, theglada, ROT0, "IGS", "The Gladiator / Road of the Sword / Shen Jian (M68k label V100) (ARM label V100, ROM 01/16/03 SHEN JIAN)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) /* need correct internal rom of IGS027A - we currently patch the one we have */ // ARM time: 10:39:25
|
||||||
// newer than ARM V100 Cart, older than ARM V101 Cart, same 68k rom as V101 Cart
|
// newer than ARM V100 Cart, older than ARM V101 Cart, same 68k rom as V101 Cart.
|
||||||
GAME( 2003, thegladpcb, theglad, pgm_arm_type3, theglad, pgm_arm_type3_state, theglad, ROT0, "IGS", "The Gladiator / Road of the Sword / Shen Jian (M68k label V100) (ARM label V100, ROM 02/25/03 SHEN JIAN) (JAMMA PCB)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )// ARM time: 16:32:21
|
GAME( 2003, thegladpcb, theglad, pgm_arm_type3, pgm, pgm_arm_type3_state, theglad, ROT0, "IGS", "The Gladiator / Road of the Sword / Shen Jian (M68k label V100) (ARM label V100, ROM 02/25/03 SHEN JIAN) (Japan, JAMMA PCB)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )// ARM time: 16:32:21
|
||||||
|
|
||||||
|
|
||||||
/* -----------------------------------------------------------------------------------------------------------------------
|
/* -----------------------------------------------------------------------------------------------------------------------
|
||||||
|
@ -80,42 +80,9 @@ public:
|
|||||||
DECLARE_WRITE8_MEMBER(z80_l3_w);
|
DECLARE_WRITE8_MEMBER(z80_l3_w);
|
||||||
DECLARE_WRITE16_MEMBER(pgm_tx_videoram_w);
|
DECLARE_WRITE16_MEMBER(pgm_tx_videoram_w);
|
||||||
DECLARE_WRITE16_MEMBER(pgm_bg_videoram_w);
|
DECLARE_WRITE16_MEMBER(pgm_bg_videoram_w);
|
||||||
DECLARE_DRIVER_INIT(ket);
|
|
||||||
DECLARE_DRIVER_INIT(killbld);
|
|
||||||
DECLARE_DRIVER_INIT(pgm);
|
DECLARE_DRIVER_INIT(pgm);
|
||||||
DECLARE_DRIVER_INIT(kovsh);
|
|
||||||
DECLARE_DRIVER_INIT(killbldp);
|
|
||||||
DECLARE_DRIVER_INIT(ddp2);
|
|
||||||
DECLARE_DRIVER_INIT(drgw2j);
|
|
||||||
DECLARE_DRIVER_INIT(kov2);
|
|
||||||
DECLARE_DRIVER_INIT(puzzli2);
|
|
||||||
DECLARE_DRIVER_INIT(dw2001);
|
|
||||||
DECLARE_DRIVER_INIT(martmast);
|
|
||||||
DECLARE_DRIVER_INIT(kovlsqh2);
|
|
||||||
DECLARE_DRIVER_INIT(espgal);
|
|
||||||
DECLARE_DRIVER_INIT(happy6);
|
|
||||||
DECLARE_DRIVER_INIT(oldsplus);
|
|
||||||
DECLARE_DRIVER_INIT(kovboot);
|
|
||||||
DECLARE_DRIVER_INIT(kovshp);
|
|
||||||
DECLARE_DRIVER_INIT(kovshxas);
|
|
||||||
DECLARE_DRIVER_INIT(theglad);
|
|
||||||
DECLARE_DRIVER_INIT(kov2p);
|
|
||||||
DECLARE_DRIVER_INIT(olds);
|
|
||||||
DECLARE_DRIVER_INIT(svg);
|
|
||||||
DECLARE_DRIVER_INIT(photoy2k);
|
|
||||||
DECLARE_DRIVER_INIT(svgpcb);
|
|
||||||
DECLARE_DRIVER_INIT(dmnfrnt);
|
|
||||||
DECLARE_DRIVER_INIT(dw2v100x);
|
|
||||||
DECLARE_DRIVER_INIT(kovqhsgs);
|
|
||||||
DECLARE_DRIVER_INIT(ddp3);
|
|
||||||
DECLARE_DRIVER_INIT(drgw2c);
|
|
||||||
DECLARE_DRIVER_INIT(dwpc);
|
|
||||||
DECLARE_DRIVER_INIT(kov);
|
|
||||||
DECLARE_DRIVER_INIT(py2k2);
|
|
||||||
DECLARE_DRIVER_INIT(drgw2);
|
|
||||||
DECLARE_DRIVER_INIT(drgw3);
|
|
||||||
DECLARE_DRIVER_INIT(orlegend);
|
|
||||||
DECLARE_DRIVER_INIT(pstar);
|
|
||||||
TILE_GET_INFO_MEMBER(get_pgm_tx_tilemap_tile_info);
|
TILE_GET_INFO_MEMBER(get_pgm_tx_tilemap_tile_info);
|
||||||
TILE_GET_INFO_MEMBER(get_pgm_bg_tilemap_tile_info);
|
TILE_GET_INFO_MEMBER(get_pgm_bg_tilemap_tile_info);
|
||||||
DECLARE_VIDEO_START(pgm);
|
DECLARE_VIDEO_START(pgm);
|
||||||
@ -359,6 +326,7 @@ public:
|
|||||||
optional_device<cpu_device> m_prot;
|
optional_device<cpu_device> m_prot;
|
||||||
|
|
||||||
DECLARE_DRIVER_INIT(theglad);
|
DECLARE_DRIVER_INIT(theglad);
|
||||||
|
DECLARE_DRIVER_INIT(theglada);
|
||||||
DECLARE_DRIVER_INIT(svg);
|
DECLARE_DRIVER_INIT(svg);
|
||||||
DECLARE_DRIVER_INIT(svgpcb);
|
DECLARE_DRIVER_INIT(svgpcb);
|
||||||
DECLARE_DRIVER_INIT(killbldp);
|
DECLARE_DRIVER_INIT(killbldp);
|
||||||
|
@ -154,8 +154,8 @@ MACHINE_RESET_MEMBER(pgm_arm_type3_state, pgm_arm_type3_reset)
|
|||||||
int base = -1;
|
int base = -1;
|
||||||
|
|
||||||
if (!strcmp(machine().system().name, "theglad")) base = 0x3316;
|
if (!strcmp(machine().system().name, "theglad")) base = 0x3316;
|
||||||
|
if (!strcmp(machine().system().name, "theglad100")) base = 0x3316;
|
||||||
if (!strcmp(machine().system().name, "theglad101")) base = 0x3316;
|
if (!strcmp(machine().system().name, "theglad101")) base = 0x3316;
|
||||||
if (!strcmp(machine().system().name, "thegladpcb")) base = 0x3316;
|
|
||||||
|
|
||||||
if (base != -1)
|
if (base != -1)
|
||||||
{
|
{
|
||||||
@ -478,14 +478,74 @@ DRIVER_INIT_MEMBER(pgm_arm_type3_state,theglad)
|
|||||||
machine().device("prot")->memory().space(AS_PROGRAM).install_read_handler(0x1000000c, 0x1000000f, read32_delegate(FUNC(pgm_arm_type3_state::theglad_speedup_r),this));
|
machine().device("prot")->memory().space(AS_PROGRAM).install_read_handler(0x1000000c, 0x1000000f, read32_delegate(FUNC(pgm_arm_type3_state::theglad_speedup_r),this));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DRIVER_INIT_MEMBER(pgm_arm_type3_state, theglada)
|
||||||
|
{
|
||||||
|
DRIVER_INIT_CALL(theglad);
|
||||||
|
|
||||||
|
// we don't have the correct internal ROM for this version, so insead we use the one we have and patch the jump table in the external ROM
|
||||||
|
UINT32 subroutine_addresses[] =
|
||||||
|
{
|
||||||
|
0x00FC, 0x00E8, 0x0110, 0x0150, 0x0194, 0x06C8, 0x071C, 0x0728,
|
||||||
|
0x0734, 0x0740, 0x0784, 0x0794, 0x07FC, 0x0840, 0x086C, 0x0988,
|
||||||
|
0x0A54, 0x0AA8, 0x0AD4, 0x0EB8, 0x0EF8, 0x0F2C, 0x0F3C, 0x0F78,
|
||||||
|
0x0FA8, 0x0FD8, 0x1028, 0x1038, 0x1048, 0x1058, 0x1068, 0x1070,
|
||||||
|
0x1090, 0x10B0, 0x10D4, 0x1100, 0x113C, 0x1198, 0x1234, 0x1258,
|
||||||
|
0x127C, 0x12A8, 0x12E4, 0x1368, 0x142C, 0x0B10, 0x0B54, 0x0B74,
|
||||||
|
0x0C08, 0x0C90, 0x0D18, 0x0D90, 0x1570, 0x1600, 0x1640, 0x1694,
|
||||||
|
0x1730, 0x176C, 0x17AC, 0x17D8, 0x18C4, 0x18E0, 0x1904, 0x1930,
|
||||||
|
0x19D8, 0x1A38, 0x1950, 0x1970, 0x1990, 0x19B8, 0x19C8, 0x1A9C,
|
||||||
|
0x1AC4, 0x1AE8, 0x1B20, 0x1B48, 0x1B70, 0x1B8C, 0x1BB4, 0x1BD8,
|
||||||
|
0x1BFC, 0x1C10, 0x1C24, 0x1CA0, 0x1D5C, 0x1D7C, 0x1D8C, 0x1DAC,
|
||||||
|
0x1DCC, 0x1DE0, 0x1DF4, 0x1E1C, 0x1E2C, 0x1E60, 0x1E94, 0x1EA4,
|
||||||
|
0x1ECC, 0x1ED8, 0x1EE4, 0x1F14, 0x1F44, 0x1FB4, 0x1FC4, 0x2040,
|
||||||
|
0x20BC, 0x2140, 0x21C4, 0x2240, 0x22BC, 0x2340, 0x23C4, 0x23D0,
|
||||||
|
0x2400, 0x2430, 0x244C, 0x245C, 0x246C, 0x2FCC, 0x3000, 0x3028,
|
||||||
|
0x3050, 0x30A4, 0x30F8, 0x3120, 0x249C, 0x24C0, 0x27BC, 0x2B40,
|
||||||
|
0x2BF4, 0x2CD8, 0x2E2C
|
||||||
|
};
|
||||||
|
UINT16 *extprot = (UINT16 *)memregion("user1")->base();
|
||||||
|
int base = 0x82078;
|
||||||
|
/*
|
||||||
|
0x00C8,0x00B4,0x00DC,0x011C,0x0160,0x02DC,0x0330,0x033C,
|
||||||
|
0x0348,0x0354,0x0398,0x03A8,0x0410,0x0454,0x0480,0x059C,
|
||||||
|
0x0668,0x06BC,0x06E8,0x0ACC,0x0B0C,0x0B40,0x0B50,0x0B8C,
|
||||||
|
0x0BBC,0x0BEC,0x0C3C,0x0C4C,0x0C5C,0x0C6C,0x0C7C,0x0C84,
|
||||||
|
0x0CA4,0x0CC4,0x0CE8,0x0D14,0x0D50,0x0DAC,0x0E48,0x0E6C,
|
||||||
|
0x0E90,0x0EBC,0x0EF8,0x0F7C,0x1040,0x0724,0x0768,0x0788,
|
||||||
|
0x081C,0x08A4,0x092C,0x09A4,0x1184,0x1214,0x1254,0x12A8,
|
||||||
|
0x1344,0x1380,0x13C0,0x13EC,0x14D8,0x14F4,0x1518,0x1544,
|
||||||
|
0x15EC,0x164C,0x1564,0x1584,0x15A4,0x15CC,0x15DC,0x16B0,
|
||||||
|
0x16D8,0x16FC,0x1734,0x175C,0x1784,0x17A0,0x17C8,0x17EC,
|
||||||
|
0x1810,0x1824,0x1838,0x18B4,0x1970,0x1990,0x19A0,0x19C0,
|
||||||
|
0x19E0,0x19F4,0x1A08,0x1A30,0x1A40,0x1A74,0x1AA8,0x1AB8,
|
||||||
|
0x1AE0,0x1AEC,0x1AF8,0x1B28,0x1B58,0x1BC8,0x1BD8,0x1C54,
|
||||||
|
0x1CD0,0x1D54,0x1DD8,0x1E54,0x1ED0,0x1F54,0x1FD8,0x1FE4,
|
||||||
|
0x2014,0x2044,0x2060,0x2070,0x2080,0x2BE0,0x2C14,0x2C3C,
|
||||||
|
0x2C64,0x2CB8,0x2D0C,0x2D34,0x20B0,0x20D4,0x23D0,0x2754,
|
||||||
|
0x2808,0x28EC,0x2A40
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
for (int i = 0; i < 131; i++)
|
||||||
|
{
|
||||||
|
// UINT32 addr = extprot[(base/2)] | (extprot[(base/2) + 1] << 16);
|
||||||
|
extprot[(base / 2)] = subroutine_addresses[i];
|
||||||
|
|
||||||
|
base += 4;
|
||||||
|
// printf("%04x (%08x)\n", subroutine_addresses[i], addr );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
INPUT_PORTS_START( theglad )
|
INPUT_PORTS_START( theglad )
|
||||||
PORT_INCLUDE ( pgm )
|
PORT_INCLUDE ( pgm )
|
||||||
|
|
||||||
PORT_START("RegionHack") /* Region - actually supplied by protection device */
|
PORT_START("RegionHack") /* Region - actually supplied by protection device */
|
||||||
PORT_CONFNAME( 0x00ff, 0x0006, DEF_STR( Region ) ) // oddly the game has no music when set to Japan, might be an emulation bug.. hack it to another region until we figure that out
|
PORT_CONFNAME( 0x00ff, 0x0006, DEF_STR( Region ) )
|
||||||
PORT_CONFSETTING( 0x0000, DEF_STR( China ) )
|
PORT_CONFSETTING( 0x0000, DEF_STR( China ) )
|
||||||
PORT_CONFSETTING( 0x0001, DEF_STR( Taiwan ) )
|
PORT_CONFSETTING( 0x0001, DEF_STR( Taiwan ) )
|
||||||
PORT_CONFSETTING( 0x0002, DEF_STR( Japan ) )
|
//PORT_CONFSETTING( 0x0002, DEF_STR( Japan ) ) // it doesn't appear that carts of the Japanese version were released, the PCB has an extra sample ROM used in Japanese mode for the music
|
||||||
PORT_CONFSETTING( 0x0003, DEF_STR( Korea ) )
|
PORT_CONFSETTING( 0x0003, DEF_STR( Korea ) )
|
||||||
PORT_CONFSETTING( 0x0004, DEF_STR( Hong_Kong ) )
|
PORT_CONFSETTING( 0x0004, DEF_STR( Hong_Kong ) )
|
||||||
PORT_CONFSETTING( 0x0005, "Spanish Territories" )
|
PORT_CONFSETTING( 0x0005, "Spanish Territories" )
|
||||||
|
Loading…
Reference in New Issue
Block a user