mirror of
https://github.com/holub/mame
synced 2025-07-08 03:12:37 +03:00
changed so that the intro runs, but it can no longer be started.. but at least this is a more proper flow.. (nw)
This commit is contained in:
parent
c1cfac89cc
commit
eb56f759e7
@ -482,8 +482,9 @@ TIMER_DEVICE_CALLBACK_MEMBER(pgm_state::pgm_interrupt)
|
||||
{
|
||||
int scanline = param;
|
||||
|
||||
if(scanline == 224)
|
||||
m_maincpu->set_input_line(6, HOLD_LINE);
|
||||
// already being generated by MCFG_CPU_VBLANK_INT_DRIVER("screen", pgm_state, irq6_line_hold)
|
||||
// if(scanline == 224)
|
||||
// m_maincpu->set_input_line(6, HOLD_LINE);
|
||||
|
||||
if(scanline == 0)
|
||||
if (!m_irq4_disabled) m_maincpu->set_input_line(4, HOLD_LINE);
|
||||
@ -3223,8 +3224,7 @@ ROM_START( theglada )
|
||||
ROM_LOAD16_WORD_SWAP( "u6.rom", 0x100000, 0x080000, CRC(14c85212) SHA1(8d2489708e176a2c460498a13173be01f645b79e) )
|
||||
|
||||
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.bin", 0x0188, 0x3e78, CRC(d7f06e2d) SHA1(9c3aca7a487f5329d84731e2c63d5ed591bf9d24) ) // from 'thegladpcb set'
|
||||
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_REGION( 0x800000, "user1", 0 ) /* Protection Data (encrypted external ARM data, internal missing) */
|
||||
ROM_LOAD( "u2.rom", 0x000000, 0x200000, CRC(c7bcf2ae) SHA1(10bc012c83987f594d5375a51bc4be2e17568a81) )
|
||||
|
@ -234,9 +234,15 @@ DRIVER_INIT_MEMBER(pgm_arm_type3_state,theglad)
|
||||
|
||||
UINT16 *temp16 = (UINT16 *)memregion("prot")->base();
|
||||
|
||||
int i;
|
||||
for (i=0;i<0x188/2;i+=2)
|
||||
{
|
||||
temp16[i] = 0xFFFE;
|
||||
temp16[i+1] = 0xEAFF;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -340,7 +346,9 @@ DRIVER_INIT_MEMBER(pgm_arm_type3_state,theglad)
|
||||
temp16[(base) /2] = 0xE080; base += 2;
|
||||
temp16[(base) /2] = 0x6000; base += 2;
|
||||
temp16[(base) /2] = 0xE587; base += 2;
|
||||
temp16[(base) /2] = 0x002c; base += 2;
|
||||
|
||||
|
||||
temp16[(base) /2] = 0x002b; base += 2; // jump to 0x184
|
||||
temp16[(base) /2] = 0xEA00; base += 2;
|
||||
|
||||
|
||||
@ -394,17 +402,26 @@ DRIVER_INIT_MEMBER(pgm_arm_type3_state,theglad)
|
||||
temp16[(base) /2] = 0xff1e; base += 2;
|
||||
temp16[(base) /2] = 0xe12f; base += 2;
|
||||
|
||||
// the non-EO area starts in the middle of a function that seems similar to those at 000037E4 / 000037D4 in killbldp.. by setting this up we allow the intro to run, but can no longer can get in game..
|
||||
// it sets '0x10000038' to a value ot 1
|
||||
// maybe this flag needs to be flipped on interrupts or similar??
|
||||
base = 0x184;
|
||||
temp16[(base) /2] = 0x105c; base += 2;
|
||||
temp16[(base) /2] = 0xE59F; base += 2;
|
||||
|
||||
#if 0
|
||||
|
||||
|
||||
|
||||
#if 1
|
||||
m_svg_ram_sel = 1;
|
||||
|
||||
for (int i = 0; i < 0x100; i++)
|
||||
for (int i = 0; i < 0x8000; i++)
|
||||
{
|
||||
UINT16 *share16;
|
||||
share16 = (UINT16 *)(m_svg_shareram[1]);
|
||||
share16[i / 2] = 0x0002;
|
||||
share16[i / 2] = 0x0003;
|
||||
share16 = (UINT16 *)(m_svg_shareram[0]);
|
||||
share16[i / 2] = 0x0002;
|
||||
share16[i / 2] = 0x0003;
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -444,6 +461,19 @@ DRIVER_INIT_MEMBER(pgm_arm_type3_state,killbldp)
|
||||
|
||||
machine().device("prot")->memory().space(AS_PROGRAM).install_read_handler(0x1000000c, 0x1000000f, read32_delegate(FUNC(pgm_arm_type3_state::killbldp_speedup_r),this));
|
||||
|
||||
UINT16 *temp16 = (UINT16 *)memregion("prot")->base();
|
||||
int base = 0xfc;
|
||||
temp16[(base) /2] = 0x0000; base += 2;
|
||||
temp16[(base) /2] = 0xE1A0; base += 2;
|
||||
|
||||
base = 0xd4;
|
||||
temp16[(base) /2] = 0x0000; base += 2;
|
||||
temp16[(base) /2] = 0xE1A0; base += 2;
|
||||
|
||||
// base = 0x120;
|
||||
// temp16[(base) /2] = 0x0000; base += 2;
|
||||
// temp16[(base) /2] = 0xE1A0; base += 2;
|
||||
|
||||
}
|
||||
|
||||
READ32_MEMBER(pgm_arm_type3_state::dmnfrnt_speedup_r )
|
||||
|
Loading…
Reference in New Issue
Block a user