(nw) fixed crash in sf2b
This commit is contained in:
parent
2fbe81179c
commit
16dd0b6f55
@ -494,6 +494,37 @@ WRITE16_MEMBER(cps_state::sf2mdta_layer_w)
|
||||
}
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(cps_state::sf2b_layer_w)
|
||||
{
|
||||
switch (offset)
|
||||
{
|
||||
case 0x06:
|
||||
m_cps_a_regs[0x0c / 2] = data + 0xffbe; /* scroll 1x */
|
||||
break;
|
||||
case 0x07:
|
||||
m_cps_a_regs[0x0e / 2] = data; /* scroll 1y */
|
||||
break;
|
||||
case 0x08:
|
||||
m_cps_a_regs[0x14 / 2] = data + 0xffce; /* scroll 3x */
|
||||
break;
|
||||
case 0x09:
|
||||
m_cps_a_regs[0x12 / 2] = data; /* scroll 2y */
|
||||
m_cps_a_regs[CPS1_ROWSCROLL_OFFS] = data; /* row scroll start */
|
||||
break;
|
||||
case 0x0a:
|
||||
m_cps_a_regs[0x10 / 2] = data + 0xffce; /* scroll 2x */
|
||||
break;
|
||||
case 0x0b:
|
||||
m_cps_a_regs[0x16 / 2] = data; /* scroll 3y */
|
||||
break;
|
||||
case 0x26:
|
||||
m_cps_b_regs[m_layer_enable_reg / 2] = data;
|
||||
break;
|
||||
default:
|
||||
printf("%X:%X ",offset,data);
|
||||
}
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(cps_state::slampic_layer_w)
|
||||
{
|
||||
switch (offset)
|
||||
@ -725,7 +756,7 @@ void cps_state::knightsb_map(address_map &map)
|
||||
map(0x900000, 0x93ffff).ram().w(FUNC(cps_state::cps1_gfxram_w)).share("gfxram");
|
||||
map(0x980000, 0x98002f).w(FUNC(cps_state::knightsb_layer_w));
|
||||
map(0x990000, 0x990001).nopw(); // same as 880000
|
||||
map(0xff0000, 0xffffff).ram();
|
||||
map(0xff0000, 0xffffff).ram().share("mainram");
|
||||
}
|
||||
|
||||
void cps_state::dinopic_map(address_map &map)
|
||||
@ -745,7 +776,7 @@ void cps_state::dinopic_map(address_map &map)
|
||||
map(0xf1c000, 0xf1c001).portr("IN2"); /* Player 3 controls (later games) */
|
||||
map(0xf1c004, 0xf1c005).w(FUNC(cps_state::cpsq_coinctrl2_w)); /* Coin control2 (later games) */
|
||||
map(0xf1c006, 0xf1c007).portr("EEPROMIN").portw("EEPROMOUT");
|
||||
map(0xff0000, 0xffffff).ram();
|
||||
map(0xff0000, 0xffffff).ram().share("mainram");
|
||||
}
|
||||
|
||||
void cps_state::fcrash_map(address_map &map)
|
||||
@ -759,7 +790,7 @@ void cps_state::fcrash_map(address_map &map)
|
||||
map(0x880008, 0x88000f).r(FUNC(cps_state::cps1_dsw_r)); /* System input ports / Dip Switches */
|
||||
map(0x890000, 0x890001).nopw(); // palette related?
|
||||
map(0x900000, 0x92ffff).ram().w(FUNC(cps_state::cps1_gfxram_w)).share("gfxram");
|
||||
map(0xff0000, 0xffffff).ram();
|
||||
map(0xff0000, 0xffffff).ram().share("mainram");
|
||||
}
|
||||
|
||||
void cps_state::mtwinsb_map(address_map &map)
|
||||
@ -810,7 +841,7 @@ void cps_state::sf2m1_map(address_map &map)
|
||||
map(0x900000, 0x93ffff).ram().w(FUNC(cps_state::cps1_gfxram_w)).share("gfxram");
|
||||
map(0x980000, 0x9801ff).w(FUNC(cps_state::sf2m1_layer_w));
|
||||
map(0x990000, 0x990001).nopw(); // same as 880000
|
||||
map(0xff0000, 0xffffff).ram();
|
||||
map(0xff0000, 0xffffff).ram().share("mainram");
|
||||
}
|
||||
|
||||
void cps_state::sf2mdt_map(address_map &map)
|
||||
@ -832,7 +863,7 @@ void cps_state::sf2mdt_map(address_map &map)
|
||||
void cps_state::sf2b_map(address_map &map)
|
||||
{
|
||||
map(0x000000, 0x3fffff).rom();
|
||||
map(0x708100, 0x7081ff).w(FUNC(cps_state::sf2mdta_layer_w));
|
||||
map(0x708100, 0x7081ff).w(FUNC(cps_state::sf2b_layer_w));
|
||||
map(0x70c000, 0x70c001).portr("IN1");
|
||||
map(0x70c008, 0x70c009).portr("IN2");
|
||||
map(0x70c018, 0x70c01f).r(FUNC(cps_state::cps1_hack_dsw_r));
|
||||
@ -842,7 +873,7 @@ void cps_state::sf2b_map(address_map &map)
|
||||
map(0x800100, 0x80013f).ram().share("cps_a_regs"); /* CPS-A custom */
|
||||
map(0x800140, 0x80017f).rw(FUNC(cps_state::cps1_cps_b_r), FUNC(cps_state::cps1_cps_b_w)).share("cps_b_regs"); /* CPS-B custom */
|
||||
map(0x900000, 0x92ffff).ram().w(FUNC(cps_state::cps1_gfxram_w)).share("gfxram");
|
||||
map(0xff0000, 0xffffff).ram();
|
||||
map(0xff0000, 0xffffff).ram().share("mainram");
|
||||
}
|
||||
|
||||
void cps_state::sgyxz_map(address_map &map)
|
||||
@ -876,7 +907,7 @@ void cps_state::wofabl_map(address_map &map)
|
||||
map(0x900000, 0x92ffff).ram().w(FUNC(cps_state::cps1_gfxram_w)).share("gfxram");
|
||||
map(0xf1c004, 0xf1c005).w(FUNC(cps_state::cpsq_coinctrl2_w)); /* Coin control2 (later games) */
|
||||
map(0xf1c006, 0xf1c007).portr("EEPROMIN").portw("EEPROMOUT");
|
||||
map(0xff0000, 0xffffff).ram();
|
||||
map(0xff0000, 0xffffff).ram().share("mainram");
|
||||
}
|
||||
|
||||
void cps_state::slampic_map(address_map &map)
|
||||
@ -897,7 +928,7 @@ void cps_state::slampic_map(address_map &map)
|
||||
map(0xf1c004, 0xf1c005).w(FUNC(cps_state::cpsq_coinctrl2_w)); /* Coin control2 (later games) */
|
||||
map(0xf1c006, 0xf1c007).portr("EEPROMIN").portw("EEPROMOUT");
|
||||
map(0xf1f000, 0xf1ffff).noprw(); // writes 0 to range, then reads F1F6EC
|
||||
map(0xff0000, 0xffffff).ram();
|
||||
map(0xff0000, 0xffffff).ram().share("mainram");
|
||||
}
|
||||
|
||||
void cps_state::sound_map(address_map &map)
|
||||
|
@ -236,6 +236,7 @@ public:
|
||||
DECLARE_WRITE16_MEMBER(punipic_layer_w);
|
||||
DECLARE_WRITE16_MEMBER(sf2mdt_layer_w);
|
||||
DECLARE_WRITE16_MEMBER(sf2mdta_layer_w);
|
||||
DECLARE_WRITE16_MEMBER(sf2b_layer_w);
|
||||
DECLARE_WRITE16_MEMBER(slampic_layer_w);
|
||||
DECLARE_WRITE16_MEMBER(fcrash_soundlatch_w);
|
||||
DECLARE_WRITE8_MEMBER(fcrash_snd_bankswitch_w);
|
||||
|
Loading…
Reference in New Issue
Block a user