Ciao,
il Watchdog lo puoi disabilitare ponticellando a massa il pin 1 del LS00 (ic67) come da schema.... fallo così per il momento te lo levi dai piedi.
da un altro driver frogger si verifica che una versione di forgger resetta il WDOG leggendo $8800 corrispondenti a A15 e A11 = 1 quindi attivano l'uscita AFR su Y1 del '138 che hai citato, mentre un altra versione resetta il WDOG leggendo $b800 quindi con A15 A13 A12 e A11 = 1, attivando l'uscita Y7.
Codice: Seleziona tutto
static struct MemoryReadAddress readmem[] =
{
{ 0x0000, 0x3fff, MRA_ROM },
{ 0x8000, 0x87ff, MRA_RAM },
{ 0x8800, 0x8800, watchdog_reset_r },
{ 0xa800, 0xabff, MRA_RAM }, /* video RAM */
{ 0xb000, 0xb05f, MRA_RAM }, /* screen attributes, sprites */
{ 0xe000, 0xe000, input_port_0_r }, /* IN0 */
{ 0xe002, 0xe002, input_port_1_r }, /* IN1 */
{ 0xe004, 0xe004, input_port_2_r }, /* IN2 */
{ -1 } /* end of table */
};
static struct MemoryWriteAddress writemem[] =
{
{ 0x0000, 0x3fff, MWA_ROM },
{ 0x8000, 0x87ff, MWA_RAM },
{ 0xa800, 0xabff, videoram_w, &videoram, &videoram_size },
{ 0xb000, 0xb03f, frogger_attributes_w, &frogger_attributesram },
{ 0xb040, 0xb05f, MWA_RAM, &spriteram, &spriteram_size },
{ 0xb808, 0xb808, interrupt_enable_w },
{ 0xb80c, 0xb80c, frogger_flipscreen_w },
{ 0xb818, 0xb818, coin_counter_w },
{ 0xb81c, 0xb81c, frogger_counterb_w },
{ 0xd000, 0xd000, soundlatch_w },
{ 0xd002, 0xd002, frogger_sh_irqtrigger_w },
{ -1 } /* end of table */
};
static struct MemoryReadAddress froggrmc_readmem[] =
{
{ 0x0000, 0x3fff, MRA_ROM },
{ 0x8000, 0x87ff, MRA_RAM },
{ 0x9000, 0x93ff, MRA_RAM }, /* video RAM */
{ 0x9800, 0x985f, MRA_RAM }, /* screen attributes, sprites */
{ 0xa000, 0xa000, input_port_0_r }, /* IN0 */
{ 0xa800, 0xa800, input_port_1_r }, /* IN1 */
{ 0xb000, 0xb000, input_port_2_r }, /* IN2 */
{ 0xb800, 0xb800, watchdog_reset_r },
{ -1 } /* end of table */
};
static struct MemoryWriteAddress froggrmc_writemem[] =
{
{ 0x0000, 0x3fff, MWA_ROM },
{ 0x8000, 0x87ff, MWA_RAM },
{ 0x9000, 0x93ff, videoram_w, &videoram, &videoram_size },
{ 0x9800, 0x983f, frogger_attributes_w, &frogger_attributesram },
{ 0x9840, 0x985f, MWA_RAM, &spriteram, &spriteram_size },
{ 0xa800, 0xa800, soundlatch_w },
{ 0xb000, 0xb000, interrupt_enable_w },
{ 0xb001, 0xb001, frogger2_sh_irqtrigger_w },
{ 0xb006, 0xb006, frogger_flipscreen_w },
{ -1 } /* end of table */
};
pertanto la tua board deve montare il romset che resetta il WDOG con $B800, quindi romset "froggrmc", cioè il frogger che gira su hardware MoonCresta... che però dovrebbe montare 4 eprom programma:
Codice: Seleziona tutto
ROM_START( froggrmc )
ROM_REGION( 0x10000, REGION_CPU1 ) /* 64k for code */
ROM_LOAD( "epr-1031.15", 0x0000, 0x1000, 0x4b7c8d11 )
ROM_LOAD( "epr-1032.16", 0x1000, 0x1000, 0xac00b9d9 )
ROM_LOAD( "epr-1033.33", 0x2000, 0x1000, 0xbc1d6fbc )
ROM_LOAD( "epr-1034.34", 0x3000, 0x1000, 0x9efe7399 )
ROM_REGION( 0x10000, REGION_CPU2 ) /* 64k for the audio CPU */
ROM_LOAD( "epr-1082.42", 0x0000, 0x1000, 0x802843c2 )
ROM_LOAD( "epr-1035.43", 0x1000, 0x0800, 0x14e74148 )
ROM_REGION( 0x1000, REGION_GFX1 | REGIONFLAG_DISPOSE )
ROM_LOAD( "epr-1036.1k", 0x0000, 0x0800, 0x658745f8 )
ROM_LOAD( "frogger.607", 0x0800, 0x0800, 0x05f7d883 )
ROM_REGION( 0x0020, REGION_PROMS )
ROM_LOAD( "pr-91.6l", 0x0000, 0x0020, 0x413703bf )
ROM_END
Piero, se posti una foto di entrambe le schede forse è meglio !
