Previous 199869 Revisions Next

r20204 Friday 11th January, 2013 at 18:26:43 UTC by Angelo Salese
Whoops, guess this makes more sense
[src/mame/machine]3do.c

trunk/src/mame/machine/3do.c
r20203r20204
5656#include "emu.h"
5757#include "includes/3do.h"
5858#include "cpu/arm7/arm7core.h"
59#include "debugger.h"
5960
6061#define VERBOSE         1
6162#define LOG(x) do { if (VERBOSE) printf x; } while (0)
r20203r20204
657658   if(offset >= 0x3800/4 && offset <= 0x39ff/4)
658659   {
659660      UINT32 res = 0;
660      offset &= (0xff/4);
661      offset &= (0x1ff/4);
661662      res = (m_dspp.EO[(offset<<1)+0] << 16);
662663      res |= (m_dspp.EO[(offset<<1)+1] & 0xffff);
663664      return res;
r20203r20204
666667   if(offset >= 0x3c00/4 && offset <= 0x3fff/4)
667668   {
668669      UINT16 res;
669      offset &= (0x1ff/4);
670      offset &= (0x3ff/4);
670671      res = m_dspp.EO[offset] & 0xffff;
671672      return res;
672673   }
r20203r20204
795796
796797   if(offset >= 0x3000/4 && offset <= 0x31ff/4)
797798   {
798      offset &= (0xff/4);
799      offset &= (0x1ff/4);
799800      m_dspp.EI[(offset<<1)+0] = data >> 16;
800801      m_dspp.EI[(offset<<1)+1] = data & 0xffff;
801802      return;
r20203r20204
803804
804805   if(offset >= 0x3400/4 && offset <= 0x37ff/4)
805806   {
806      offset &= (0x1ff/4);
807      offset &= (0x3ff/4);
807808      m_dspp.EI[offset] = data & 0xffff;
808809      return;
809810   }
r20203r20204
991992   */
992993   case 0x17fc/4:
993994      /* TODO: DSPP enabled just before enabling DSPP irq! */
995      if(data & 1)
996         debugger_break(machine());
997
994998      //printf("%08x\n",data);
995999      break;
9961000
r20203r20204
10981102   m_clio.unclerev = 0x03800000;
10991103   m_clio.expctl = 0x80;    /* ARM has the expansion bus */
11001104   m_dspp.N = auto_alloc_array(machine(), UINT16, 0x800 );
1101   m_dspp.EI = auto_alloc_array(machine(), UINT16, 0x200 );
1102   m_dspp.EO = auto_alloc_array(machine(), UINT16, 0x200 );
1105   m_dspp.EI = auto_alloc_array(machine(), UINT16, 0x400 );
1106   m_dspp.EO = auto_alloc_array(machine(), UINT16, 0x400 );
11031107
11041108   state_save_register_global_pointer(machine(), m_dspp.N, 0x800);
1105   state_save_register_global_pointer(machine(), m_dspp.EI, 0x200);
1106   state_save_register_global_pointer(machine(), m_dspp.EO, 0x200);
1109   state_save_register_global_pointer(machine(), m_dspp.EI, 0x400);
1110   state_save_register_global_pointer(machine(), m_dspp.EO, 0x400);
11071111}

Previous 199869 Revisions Next


© 1997-2024 The MAME Team