Previous 199869 Revisions Next

r20867 Saturday 9th February, 2013 at 14:05:30 UTC by Wilbert Pol
(MESS) vii.c: Reduce tagmap lookups (nw)
[src/mess/drivers]vii.c

trunk/src/mess/drivers/vii.c
r20866r20867
9292      m_p_rowscroll(*this, "p_rowscroll"),
9393      m_p_palette(*this, "p_palette"),
9494      m_p_spriteram(*this, "p_spriteram"),
95      m_p_cart(*this, "p_cart"){ }
95      m_p_cart(*this, "p_cart"),
96      m_region_cart(*this, "cart"),
97      m_io_p1(*this, "P1")
98   { }
9699
97100   required_device<cpu_device> m_maincpu;
98101   DECLARE_READ16_MEMBER(vii_video_r);
r20866r20867
145148   TIMER_CALLBACK_MEMBER(tmb2_tick);
146149   DECLARE_DEVICE_IMAGE_LOAD_MEMBER(vii_cart);
147150   DECLARE_DEVICE_IMAGE_LOAD_MEMBER(vsmile_cart);
151
152protected:
153   optional_memory_region m_region_cart;
154   required_ioport m_io_p1;
148155};
149156
150157enum
r20866r20867
176183      va_start( v, s_fmt );
177184      vsprintf( buf, s_fmt, v );
178185      va_end( v );
179      logerror( "%04x: %s", machine.device("maincpu")->safe_pc(), buf );
186      logerror( "%04x: %s", machine.driver_data<vii_state>()->m_maincpu->pc(), buf );
180187   }
181188}
182189#else
r20866r20867
559566
560567void vii_state::vii_switch_bank(UINT32 bank)
561568{
562   UINT8 *cart = memregion("cart")->base();
569   UINT8 *cart = m_region_cart->base();
563570
564571   if(bank != m_current_bank)
565572   {
r20866r20867
595602   {
596603      if(index == 0)
597604      {
598         UINT16 temp = ioport("P1")->read();
605         UINT16 temp = m_io_p1->read();
599606         what |= (temp & 0x0001) ? 0x8000 : 0;
600607         what |= (temp & 0x0002) ? 0x4000 : 0;
601608         what |= (temp & 0x0004) ? 0x2000 : 0;
r20866r20867
928935
929936DEVICE_IMAGE_LOAD_MEMBER( vii_state, vii_cart )
930937{
931   UINT8 *cart = memregion( "cart" )->base();
938   UINT8 *cart = m_region_cart->base();
932939   if (image.software_entry() == NULL)
933940   {
934941      int size = image.length();
r20866r20867
961968
962969DEVICE_IMAGE_LOAD_MEMBER( vii_state, vsmile_cart )
963970{
964   UINT8 *cart = memregion( "cart" )->base();
971   UINT8 *cart = m_region_cart->base();
965972   if (image.software_entry() == NULL)
966973   {
967974      int size = image.length();
r20866r20867
10021009   m_controller_input[6] = 0xff;
10031010   m_controller_input[7] = 0;
10041011
1005   UINT8 *rom = memregion( "cart" )->base();
1012   UINT8 *rom = m_region_cart->base();
10061013   if (rom)
10071014   { // to prevent batman crash
10081015      memcpy(m_p_cart, rom + 0x4000*2, (0x400000 - 0x4000) * 2);
r20866r20867
10281035   UINT32 z = machine().rand() & 0x3ff;
10291036
10301037
1031   m_controller_input[0] = ioport("P1")->read();
1038   m_controller_input[0] = m_io_p1->read();
10321039   m_controller_input[1] = (UINT8)x;
10331040   m_controller_input[2] = (UINT8)y;
10341041   m_controller_input[3] = (UINT8)z;

Previous 199869 Revisions Next


© 1997-2024 The MAME Team