Previous 199869 Revisions Next

r34594 Saturday 24th January, 2015 at 20:03:59 UTC by Couriersud
Renamed osd_debugger_interface to debug_module in a first step to move
to new module infrastructure. (nw)
[src/emu/cpu/i386]i386dasm.c
[src/emu/cpu/powerpc]ppccom.c
[src/mame/drivers]zn.c
[src/osd/modules/debugger]debug_module.h* debugint.c debugint.h debugqt.c debugqt.h none.c none.h
[src/osd/modules/lib]osdobj_common.c osdobj_common.h

trunk/src/emu/cpu/i386/i386dasm.c
r243105r243106
9898#define ALWAYS64            0x400
9999#define SPECIAL64           0x800
100100#define SPECIAL64_ENT(x)    (SPECIAL64 | ((x) << 24))
101#define GROUP_MOD         0x1000
102101
103102struct I386_OPCODE {
104103   const char *mnemonic;
r243105r243106
426425      "movupd\0"
427426      "movsd\0"
428427      "movss",            MODRM|VAR_NAME4,PARAM_XMMM,         PARAM_XMM,          0               },
429   {"group0F12",      GROUP|GROUP_MOD, 0,                  0,                  0                   },
430428   {"movlps\0"
431429      "movlpd\0"
430      "movddup\0"
431      "movsldup",     MODRM|VAR_NAME4,PARAM_XMM,          PARAM_XMMM,         0               },
432   {"movlps\0"
433      "movlpd\0"
432434      "???\0"
433435      "???",              MODRM|VAR_NAME4,PARAM_XMMM,         PARAM_XMM,          0               },
434436   {"unpcklps\0"
r243105r243106
439441      "unpckhpd\0"
440442      "???\0"
441443      "???",              MODRM|VAR_NAME4,PARAM_XMM,          PARAM_XMMM,         0               },
442   { "group0F16",     GROUP|GROUP_MOD, 0,                  0,                  0                   },
443444   {"movhps\0"
444445      "movhpd\0"
445446      "???\0"
446      "???",              MODRM|VAR_NAME4,PARAM_XMMM,          PARAM_XMM,         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               },
447452   {"group0F18",       GROUP,          0,                  0,                  0               },
448453   {"nop_hint",        0,              PARAM_RMPTR8,               0,                  0               },
449454   {"nop_hint",        0,              PARAM_RMPTR8,               0,                  0               },
r243105r243106
18051810   {"???",             0,              0,                  0,                  0               }
18061811};
18071812
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
18481813static const I386_OPCODE group0F18_table[8] =
18491814{
18501815   {"prefetchnta",     0,              PARAM_RM8,          0,                  0               },
r243105r243106
19511916   { "group0F00",          group0F00_table         },
19521917   { "group0F01",          group0F01_table         },
19531918   { "group0F0D",          group0F0D_table         },
1954   { "group0F12",          group0F12_table         },
1955   { "group0F16",          group0F16_table         },
1956   { "group0F18",           group0F18_table         },
1919   { "group0F18",          group0F18_table         },
19571920   { "group0F71",          group0F71_table         },
19581921   { "group0F72",          group0F72_table         },
19591922   { "group0F73",          group0F73_table         },
r243105r243106
19911954
19921955#define MODRM_REG1  ((modrm >> 3) & 0x7)
19931956#define MODRM_REG2  (modrm & 0x7)
1994#define MODRM_MOD   ((modrm >> 6) & 0x3)
19951957
19961958INLINE UINT8 FETCH(void)
19971959{
r243105r243106
29972959         handle_modrm( modrm_string );
29982960         for( i=0; i < ARRAY_LENGTH(group_op_table); i++ ) {
29992961            if( strcmp(op->mnemonic, group_op_table[i].mnemonic) == 0 ) {
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 );
2962               decode_opcode( s, &group_op_table[i].opcode[MODRM_REG1], op1 );
30042963               return;
30052964            }
30062965         }
trunk/src/emu/cpu/powerpc/ppccom.c
r243105r243106
693693   m_hotspot_select = 0;
694694   memset(m_hotspot, 0, sizeof(m_hotspot));
695695
696   m_debugger_temp = 0;
697
698696   m_cache_line_size = 32;
699697   m_cpu_clock = clock();
700698   m_program = &space(AS_PROGRAM);
trunk/src/mame/drivers/zn.c
r243105r243106
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);
8786   DECLARE_WRITE16_MEMBER(nbajamex_80_w);
8887   DECLARE_READ16_MEMBER(nbajamex_08_r);
8988   DECLARE_READ16_MEMBER(nbajamex_80_r);
r243105r243106
20352034   verboselog(0, "acpsx_00_w( %08x, %08x, %08x )\n", offset, data, mem_mask );
20362035}
20372036
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
20762037WRITE16_MEMBER(zn_state::acpsx_10_w)
20772038{
20782039   verboselog(0, "acpsx_10_w( %08x, %08x, %08x )\n", offset, data, mem_mask );
20792040}
20802041
2081// all 16 bits goes to the external soundboard's latch (see sound test menu)
20822042WRITE16_MEMBER(zn_state::nbajamex_80_w)
20832043{
20842044   verboselog(0, "nbajamex_80_w( %08x, %08x, %08x )\n", offset, data, mem_mask );
20852045   psxirq_device *psxirq = (psxirq_device *) machine().device("maincpu:irq");
20862046   psxirq->intin10(1);
2047   membank( "bankedroms" )->set_base( memregion( "bankedroms" )->base() + (data ? 0xe00000 : 0));
20872048}
20882049
20892050READ16_MEMBER(zn_state::nbajamex_08_r)
r243105r243106
20932054   return data;
20942055}
20952056
2096// possibly a readback from the external soundboard?
20972057READ16_MEMBER(zn_state::nbajamex_80_r)
20982058{
20992059   UINT32 data = 0xffffffff;
r243105r243106
21102070
21112071static ADDRESS_MAP_START(nbajamex_map, AS_PROGRAM, 32, zn_state)
21122072   AM_RANGE(0x1f000000, 0x1f1fffff) AM_ROMBANK("bankedroms")
2113   AM_RANGE(0x1f200000, 0x1f7fffff) AM_ROMBANK("bankedroms2")
2114   AM_RANGE(0x1fbfff00, 0x1fbfff07) AM_WRITE16(nbajamex_bank_w, 0xffffffff)
2073   AM_RANGE(0x1f200000, 0x1f207fff) AM_RAM AM_SHARE("eeprom")
21152074   AM_RANGE(0x1fbfff08, 0x1fbfff0b) AM_READ16(nbajamex_08_r, 0xffff)
21162075   AM_RANGE(0x1fbfff80, 0x1fbfff83) AM_READWRITE16(nbajamex_80_r, nbajamex_80_w, 0xffff)
21172076
r243105r243106
21212080MACHINE_RESET_MEMBER(zn_state,nbajamex)
21222081{
21232082   membank( "bankedroms" )->set_base( memregion( "bankedroms" )->base() );
2124   membank( "bankedroms2" )->set_base( memregion( "bankedroms" )->base() + 0x200000 );
21252083}
21262084
21272085static ADDRESS_MAP_START(jdredd_map, AS_PROGRAM, 32, zn_state)
r243105r243106
48674825/* it in every zip file */
48684826GAME( 1995, acpsx,    0,        coh1000a, zn,     driver_device, 0, ROT0, "Acclaim", "Acclaim PSX", GAME_IS_BIOS_ROOT )
48694827
4870GAME( 1996, nbajamex, acpsx,    nbajamex, zn,     driver_device, 0, ROT0, "Acclaim", "NBA Jam Extreme", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
4828GAME( 1996, nbajamex, acpsx,    nbajamex, zn,     driver_device, 0, ROT0, "Acclaim", "NBA Jam Extreme", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
48714829GAME( 1996, jdredd,   acpsx,    jdredd,   jdredd, driver_device, 0, ROT0, "Acclaim", "Judge Dredd (Rev C Dec. 17 1997)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
48724830GAME( 1996, jdreddb,  jdredd,   jdredd,   jdredd, driver_device, 0, ROT0, "Acclaim", "Judge Dredd (Rev B Nov. 26 1997)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
48734831
trunk/src/osd/modules/debugger/debug_module.h
r0r243106
1/*
2 * debug_module.h
3 *
4 */
5
6#ifndef DEBUG_MODULE_H_
7#define DEBUG_MODULE_H_
8
9class debug_module
10{
11public:
12
13    virtual ~debug_module() { }
14
15    virtual void init_debugger(running_machine &machine) = 0;
16    virtual void wait_for_debugger(device_t &device, bool firststop) = 0;
17    virtual void debugger_update() = 0;
18    virtual void debugger_exit() = 0;
19};
20
21
22
23#endif /* DEBUG_MODULE_H_ */
trunk/src/osd/modules/debugger/debugint.c
r243105r243106
14541454//-------------------------------------------------
14551455//  debugger_internal - constructor
14561456//-------------------------------------------------
1457debugger_internal::debugger_internal(const osd_interface &osd)
1458   : osd_debugger_interface(osd), m_machine(NULL)
1457debugger_internal::debugger_internal()
1458   : debug_module(), m_machine(NULL)
14591459{
14601460}
trunk/src/osd/modules/debugger/debugint.h
r243105r243106
1616
1717#include "osdepend.h"
1818#include "modules/lib/osdobj_common.h"
19#include "debug_module.h"
1920
20class debugger_internal : public osd_debugger_interface
21class debugger_internal : public debug_module
2122{
2223public:
2324   // construction/destruction
24   debugger_internal(const osd_interface &osd);
25   debugger_internal();
2526   virtual ~debugger_internal() { }
2627
2728   virtual void init_debugger(running_machine &machine);
trunk/src/osd/modules/debugger/debugqt.c
r243105r243106
3131#include "debugqt.h"
3232
3333
34osd_debugger_interface *qt_osd_debugger_creator(const osd_interface &osd)
34debug_module *qt_osd_debugger_creator()
3535{
36   return new debugger_qt(osd);
36   return new debugger_qt();
3737}
3838const osd_debugger_type OSD_DEBUGGER_QT = &qt_osd_debugger_creator;
3939
r243105r243106
5050//-------------------------------------------------
5151//  debugger_qt - constructor
5252//-------------------------------------------------
53debugger_qt::debugger_qt(const osd_interface &osd)
54   : osd_debugger_interface(osd), m_machine(NULL)
53debugger_qt::debugger_qt()
54   : debug_module(), m_machine(NULL)
5555{
5656}
5757
trunk/src/osd/modules/debugger/debugqt.h
r243105r243106
1515#define __DEBUGGER_QT_H__
1616
1717#include "emu.h"
18#include "debug_module.h"
1819
19class debugger_qt : public osd_debugger_interface
20class debugger_qt : public debug_module
2021{
2122public:
2223   // construction/destruction
23   debugger_qt(const osd_interface &osd);
24   debugger_qt();
2425   virtual ~debugger_qt();
2526
2627   virtual void init_debugger(running_machine &machine);
trunk/src/osd/modules/debugger/none.c
r243105r243106
1212//-------------------------------------------------
1313//  debugger_none - constructor
1414//-------------------------------------------------
15debugger_none::debugger_none(const osd_interface &osd)
16   : osd_debugger_interface(osd), m_machine(NULL)
15debugger_none::debugger_none()
16   : debug_module(), m_machine(NULL)
1717{
1818}
1919
trunk/src/osd/modules/debugger/none.h
r243105r243106
1414#define __DEBUGGER_NONE_H__
1515
1616#include "osdepend.h"
17#include "debug_module.h"
1718#include "modules/lib/osdobj_common.h"
1819
19class debugger_none : public osd_debugger_interface
20class debugger_none : public debug_module
2021{
2122public:
2223   // construction/destruction
23   debugger_none(const osd_interface &osd);
24   debugger_none();
2425   virtual ~debugger_none() { }
2526
2627   virtual void init_debugger(running_machine &machine);
trunk/src/osd/modules/lib/osdobj_common.c
r243105r243106
270270      osd_printf_warning("debugger_init: option %s not found switching to auto\n",options().debugger());
271271      debugger = m_debugger_options.find("auto");
272272   }
273   m_debugger = (*debugger)(*this);
273   m_debugger = (*debugger)();
274274
275275   m_debugger->init_debugger(machine());
276276}
r243105r243106
569569    osd_midi_exit();
570570}
571571
572//-------------------------------------------------
573//  osd_debugger_interface - constructor
574//-------------------------------------------------
575572
576osd_debugger_interface::osd_debugger_interface(const osd_interface &osd)
577    : m_osd(osd)
578{
579}
580
581//-------------------------------------------------
582//  osd_debugger_interface - destructor
583//-------------------------------------------------
584
585osd_debugger_interface::~osd_debugger_interface()
586{
587}
588
trunk/src/osd/modules/lib/osdobj_common.h
r243105r243106
1717#include "modules/osdmodule.h"
1818#include "modules/font/font_module.h"
1919#include "modules/sound/sound_module.h"
20#include "modules/debugger/debug_module.h"
2021#include "cliopts.h"
2122
2223//============================================================
r243105r243106
104105    static const options_entry s_option_entries[];
105106};
106107
107class osd_debugger_interface;
108
109108// a osd_sound_type is simply a pointer to its alloc function
110typedef osd_debugger_interface *(*osd_debugger_type)(const osd_interface &osd);
109typedef debug_module *(*osd_debugger_type)();
111110
112111
113112// ======================> osd_interface
r243105r243106
224223
225224protected:
226225   sound_module* m_sound;
227   osd_debugger_interface* m_debugger;
226   debug_module* m_debugger;
228227private:
229228   //tagmap_t<osd_video_type>  m_video_options;
230229   dynamic_array<const char *> m_video_names;
r243105r243106
233232};
234233
235234
236class osd_debugger_interface
237{
238public:
239   // construction/destruction
240   osd_debugger_interface(const osd_interface &osd);
241   virtual ~osd_debugger_interface();
242
243   virtual void init_debugger(running_machine &machine) = 0;
244   virtual void wait_for_debugger(device_t &device, bool firststop) = 0;
245   virtual void debugger_update() = 0;
246   virtual void debugger_exit() = 0;
247
248protected:
249   const osd_interface& m_osd;
250};
251
252235// this template function creates a stub which constructs a debugger
253236template<class _DeviceClass>
254osd_debugger_interface *osd_debugger_creator(const osd_interface &osd)
237debug_module *osd_debugger_creator()
255238{
256   return global_alloc(_DeviceClass(osd));
239   return global_alloc(_DeviceClass());
257240}
258241
259242#endif  /* __OSDOBJ_COMMON_H__ */


Previous 199869 Revisions Next


© 1997-2024 The MAME Team