Previous 199869 Revisions Next

r34596 Sunday 25th January, 2015 at 02:45:08 UTC by Couriersud
Merge branch 'master' of https://github.com/mamedev/mame.git
[src/emu/cpu/i386]i386dasm.c
[src/emu/cpu/powerpc]ppccom.c
[src/mame/drivers]zn.c

trunk/src/emu/cpu/i386/i386dasm.c
r243107r243108
9898#define ALWAYS64            0x400
9999#define SPECIAL64           0x800
100100#define SPECIAL64_ENT(x)    (SPECIAL64 | ((x) << 24))
101#define GROUP_MOD         0x1000
101102
102103struct I386_OPCODE {
103104   const char *mnemonic;
r243107r243108
425426      "movupd\0"
426427      "movsd\0"
427428      "movss",            MODRM|VAR_NAME4,PARAM_XMMM,         PARAM_XMM,          0               },
429   {"group0F12",      GROUP|GROUP_MOD, 0,                  0,                  0                   },
428430   {"movlps\0"
429431      "movlpd\0"
430      "movddup\0"
431      "movsldup",     MODRM|VAR_NAME4,PARAM_XMM,          PARAM_XMMM,         0               },
432   {"movlps\0"
433      "movlpd\0"
434432      "???\0"
435433      "???",              MODRM|VAR_NAME4,PARAM_XMMM,         PARAM_XMM,          0               },
436434   {"unpcklps\0"
r243107r243108
441439      "unpckhpd\0"
442440      "???\0"
443441      "???",              MODRM|VAR_NAME4,PARAM_XMM,          PARAM_XMMM,         0               },
442   { "group0F16",     GROUP|GROUP_MOD, 0,                  0,                  0                   },
444443   {"movhps\0"
445444      "movhpd\0"
446445      "???\0"
447      "movshdup",     MODRM|VAR_NAME4,PARAM_XMMM,         PARAM_XMM,          0               },
448   {"movhps\0"
449      "movhpd\0"
450      "???\0"
451      "???",              MODRM|VAR_NAME4,PARAM_XMM,          PARAM_XMMM,         0               },
446      "???",              MODRM|VAR_NAME4,PARAM_XMMM,          PARAM_XMM,         0               },
452447   {"group0F18",       GROUP,          0,                  0,                  0               },
453448   {"nop_hint",        0,              PARAM_RMPTR8,               0,                  0               },
454449   {"nop_hint",        0,              PARAM_RMPTR8,               0,                  0               },
r243107r243108
18101805   {"???",             0,              0,                  0,                  0               }
18111806};
18121807
1808static const I386_OPCODE group0F12_table[4] =
1809{
1810   { "movlps\0"
1811      "movlpd\0"
1812      "movddup\0"
1813      "movsldup",     VAR_NAME4,PARAM_XMM,          PARAM_XMMM,         0               },
1814   { "movlps\0"
1815      "movlpd\0"
1816      "movddup\0"
1817      "movsldup",     VAR_NAME4,PARAM_XMM,          PARAM_XMMM,         0               },
1818   { "movlps\0"
1819      "movlpd\0"
1820      "movddup\0"
1821      "movsldup",     VAR_NAME4,PARAM_XMM,          PARAM_XMMM,         0               },
1822   { "movhlps\0"
1823      "???\0"
1824      "movddup\0"
1825      "movsldup",     VAR_NAME4,PARAM_XMM,          PARAM_XMMM,         0               }
1826};
1827
1828static const I386_OPCODE group0F16_table[4] =
1829{
1830   { "movhps\0"
1831      "movhpd\0"
1832      "???\0"
1833      "movshdup",     VAR_NAME4,PARAM_XMM,         PARAM_XMMM,          0               },
1834   { "movhps\0"
1835      "movhpd\0"
1836      "???\0"
1837      "movshdup",     VAR_NAME4,PARAM_XMM,         PARAM_XMMM,          0               },
1838   { "movhps\0"
1839      "movhpd\0"
1840      "???\0"
1841      "movshdup",     VAR_NAME4,PARAM_XMM,         PARAM_XMMM,          0               },
1842   { "movlhps\0"
1843      "movhpd\0"
1844      "???\0"
1845      "movshdup",     VAR_NAME4,PARAM_XMM,         PARAM_XMMM,          0               }
1846};
1847
18131848static const I386_OPCODE group0F18_table[8] =
18141849{
18151850   {"prefetchnta",     0,              PARAM_RM8,          0,                  0               },
r243107r243108
19161951   { "group0F00",          group0F00_table         },
19171952   { "group0F01",          group0F01_table         },
19181953   { "group0F0D",          group0F0D_table         },
1919   { "group0F18",          group0F18_table         },
1954   { "group0F12",          group0F12_table         },
1955   { "group0F16",          group0F16_table         },
1956   { "group0F18",           group0F18_table         },
19201957   { "group0F71",          group0F71_table         },
19211958   { "group0F72",          group0F72_table         },
19221959   { "group0F73",          group0F73_table         },
r243107r243108
19541991
19551992#define MODRM_REG1  ((modrm >> 3) & 0x7)
19561993#define MODRM_REG2  (modrm & 0x7)
1994#define MODRM_MOD   ((modrm >> 6) & 0x3)
19571995
19581996INLINE UINT8 FETCH(void)
19591997{
r243107r243108
29592997         handle_modrm( modrm_string );
29602998         for( i=0; i < ARRAY_LENGTH(group_op_table); i++ ) {
29612999            if( strcmp(op->mnemonic, group_op_table[i].mnemonic) == 0 ) {
2962               decode_opcode( s, &group_op_table[i].opcode[MODRM_REG1], op1 );
3000               if (op->flags & GROUP_MOD)
3001                  decode_opcode( s, &group_op_table[i].opcode[MODRM_MOD], op1 );
3002               else
3003                  decode_opcode( s, &group_op_table[i].opcode[MODRM_REG1], op1 );
29633004               return;
29643005            }
29653006         }
trunk/src/emu/cpu/powerpc/ppccom.c
r243107r243108
693693   m_hotspot_select = 0;
694694   memset(m_hotspot, 0, sizeof(m_hotspot));
695695
696   m_debugger_temp = 0;
697
696698   m_cache_line_size = 32;
697699   m_cpu_clock = clock();
698700   m_program = &space(AS_PROGRAM);
trunk/src/mame/drivers/zn.c
r243107r243108
8383   DECLARE_READ16_MEMBER(bam2_unk_r);
8484   DECLARE_WRITE16_MEMBER(acpsx_00_w);
8585   DECLARE_WRITE16_MEMBER(acpsx_10_w);
86   DECLARE_WRITE16_MEMBER(nbajamex_bank_w);
8687   DECLARE_WRITE16_MEMBER(nbajamex_80_w);
8788   DECLARE_READ16_MEMBER(nbajamex_08_r);
8889   DECLARE_READ16_MEMBER(nbajamex_80_r);
r243107r243108
20342035   verboselog(0, "acpsx_00_w( %08x, %08x, %08x )\n", offset, data, mem_mask );
20352036}
20362037
2038WRITE16_MEMBER(zn_state::nbajamex_bank_w)
2039{
2040   UINT32 newbank = 0;
2041
2042   verboselog(0, "nbajamex_bank_w( %08x, %08x, %08x )\n", offset, data, mem_mask );
2043
2044   if (offset > 1)
2045   {
2046      logerror("Unknown banking offset %x!\n", offset);
2047   }
2048
2049   if (offset == 1)
2050   {
2051      data -= 1;
2052   }
2053
2054   if (data <= 1)
2055   {
2056      newbank = (data * 0x400000);
2057   }
2058   else if (data >= 0x10)
2059   {
2060      data -= 0x10;
2061      newbank = (data * 0x400000);
2062      newbank += 0x200000;
2063   }
2064
2065   if (offset == 0)
2066   {
2067      membank( "bankedroms" )->set_base( memregion( "bankedroms" )->base() + newbank);
2068   }
2069   else if (offset == 1)
2070   {
2071      newbank += 0x200000;
2072      membank( "bankedroms2" )->set_base( memregion( "bankedroms" )->base() + newbank);
2073   }
2074}
2075
20372076WRITE16_MEMBER(zn_state::acpsx_10_w)
20382077{
20392078   verboselog(0, "acpsx_10_w( %08x, %08x, %08x )\n", offset, data, mem_mask );
20402079}
20412080
2081// all 16 bits goes to the external soundboard's latch (see sound test menu)
20422082WRITE16_MEMBER(zn_state::nbajamex_80_w)
20432083{
20442084   verboselog(0, "nbajamex_80_w( %08x, %08x, %08x )\n", offset, data, mem_mask );
20452085   psxirq_device *psxirq = (psxirq_device *) machine().device("maincpu:irq");
20462086   psxirq->intin10(1);
2047   membank( "bankedroms" )->set_base( memregion( "bankedroms" )->base() + (data ? 0xe00000 : 0));
20482087}
20492088
20502089READ16_MEMBER(zn_state::nbajamex_08_r)
r243107r243108
20542093   return data;
20552094}
20562095
2096// possibly a readback from the external soundboard?
20572097READ16_MEMBER(zn_state::nbajamex_80_r)
20582098{
20592099   UINT32 data = 0xffffffff;
r243107r243108
20702110
20712111static ADDRESS_MAP_START(nbajamex_map, AS_PROGRAM, 32, zn_state)
20722112   AM_RANGE(0x1f000000, 0x1f1fffff) AM_ROMBANK("bankedroms")
2073   AM_RANGE(0x1f200000, 0x1f207fff) AM_RAM AM_SHARE("eeprom")
2113   AM_RANGE(0x1f200000, 0x1f7fffff) AM_ROMBANK("bankedroms2")
2114   AM_RANGE(0x1fbfff00, 0x1fbfff07) AM_WRITE16(nbajamex_bank_w, 0xffffffff)
20742115   AM_RANGE(0x1fbfff08, 0x1fbfff0b) AM_READ16(nbajamex_08_r, 0xffff)
20752116   AM_RANGE(0x1fbfff80, 0x1fbfff83) AM_READWRITE16(nbajamex_80_r, nbajamex_80_w, 0xffff)
20762117
r243107r243108
20802121MACHINE_RESET_MEMBER(zn_state,nbajamex)
20812122{
20822123   membank( "bankedroms" )->set_base( memregion( "bankedroms" )->base() );
2124   membank( "bankedroms2" )->set_base( memregion( "bankedroms" )->base() + 0x200000 );
20832125}
20842126
20852127static ADDRESS_MAP_START(jdredd_map, AS_PROGRAM, 32, zn_state)
r243107r243108
48254867/* it in every zip file */
48264868GAME( 1995, acpsx,    0,        coh1000a, zn,     driver_device, 0, ROT0, "Acclaim", "Acclaim PSX", GAME_IS_BIOS_ROOT )
48274869
4828GAME( 1996, nbajamex, acpsx,    nbajamex, zn,     driver_device, 0, ROT0, "Acclaim", "NBA Jam Extreme", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
4870GAME( 1996, nbajamex, acpsx,    nbajamex, zn,     driver_device, 0, ROT0, "Acclaim", "NBA Jam Extreme", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
48294871GAME( 1996, jdredd,   acpsx,    jdredd,   jdredd, driver_device, 0, ROT0, "Acclaim", "Judge Dredd (Rev C Dec. 17 1997)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
48304872GAME( 1996, jdreddb,  jdredd,   jdredd,   jdredd, driver_device, 0, ROT0, "Acclaim", "Judge Dredd (Rev B Nov. 26 1997)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
48314873


Previous 199869 Revisions Next


© 1997-2024 The MAME Team