Previous 199869 Revisions Next

r18670 Tuesday 23rd October, 2012 at 01:08:45 UTC by hap
- pgm.c: Fix level 6 crash on kov . [IQ_132]
- megadrvb.c: simplify decode function for srmdb. [IQ_132]
[src/mame/drivers]megadrvb.c
[src/mame/machine]pgmprot1.c

trunk/src/mame/machine/pgmprot1.c
r18669r18670
952952      break;
953953
954954      case 0xcc: // Background layer offset
955         if (state->m_value0 & 0x400) state->m_value0 = -(0x400 - (state->m_value0 & 0x3ff));
956         state->m_valueresponse = 0x900000 + ((state->m_kov_cb_value + (state->m_value0 * 0x40)) * 4);
955      {
956         int y = state->m_value0;
957         if (y & 0x400) y = -(0x400 - (y & 0x3ff));
958         state->m_valueresponse = 0x900000 + ((state->m_kov_cb_value + (y * 0x40)) * 4);
959      }
957960      break;
958961
959962      case 0xd0: // Text palette offset
r18669r18670
10151018
10161019      default:
10171020         state->m_valueresponse = 0x880000;
1018//          bprintf (PRINT_NORMAL, _T("Unknown ASIC27 command: %2.2x data: %4.4x\n"), (data ^ state->m_valuekey) & 0xff, state->m_value0);
1021//                logerror("Unknown ASIC27 command: %2.2x data: %4.4x\n", (data ^ state->m_valuekey) & 0xff, state->m_value0);
10191022      break;
10201023   }
10211024}
trunk/src/mame/drivers/megadrvb.c
r18669r18670
738738{
739739   UINT8* rom = machine().root_device().memregion("maincpu")->base();
740740
741   /* todo, reduce bitswaps to single swap */
742741   for (int x = 0x00001; x < 0x40000; x += 2)
743742   {
744      rom[x] = rom[x] ^ 0xff;
745      rom[x] = BITSWAP8(rom[x], 7,6,5,4,3,2,1,0);
746      rom[x] = BITSWAP8(rom[x], 1,6,5,4,3,2,7,0);
747      rom[x] = BITSWAP8(rom[x], 7,6,5,3,4,2,1,0);
748      rom[x] = BITSWAP8(rom[x], 7,6,5,2,3,4,1,0);
749      rom[x] = BITSWAP8(rom[x], 5,6,7,4,3,2,1,0);
750      rom[x] = BITSWAP8(rom[x], 7,5,6,4,3,2,1,0);
743      rom[x] = BITSWAP8(rom[x] ^ 0xff, 5,1,6,2,4,3,7,0);
751744   }
752745
753746   for (int x = 0x40001; x < 0x80000; x += 2)
754747   {
755      rom[x] = BITSWAP8(rom[x], 7,6,5,4,3,2,1,0);
756      rom[x] = BITSWAP8(rom[x], 7,6,1,4,3,2,5,0);
757      rom[x] = BITSWAP8(rom[x], 7,6,5,4,0,2,1,3);
758      rom[x] = BITSWAP8(rom[x], 2,6,5,4,3,7,1,0);
759      rom[x] = BITSWAP8(rom[x], 7,6,5,0,3,2,1,4);
760      rom[x] = BITSWAP8(rom[x], 7,6,5,1,3,2,4,0);
761
748      rom[x] = BITSWAP8(rom[x] ^ 0x00, 2,6,1,5,0,7,3,4);
762749   }
763750
764751   // boot vectors don't seem to be valid, so they are patched...

Previous 199869 Revisions Next


© 1997-2024 The MAME Team