Previous 199869 Revisions Next

r30966 Friday 13th June, 2014 at 21:54:35 UTC by hap
log illegal ops
[src/emu/cpu/lr35902]lr35902.c opc_cb.inc opc_main.inc

trunk/src/emu/cpu/lr35902/lr35902.c
r30965r30966
304304
305305
306306/************************************************************/
307/*** Execute lr35902 code for cycles cycles, return nr of ***/
308/*** cycles actually executed.                            ***/
307/*** Execute lr35902 code for m_icount cycles.            ***/
309308/************************************************************/
310309void lr35902_cpu_device::execute_run()
311310{
r30965r30966
316315         /* Execute instruction */
317316         switch( m_op ) {
318317#include "opc_main.inc"
318            default:
319               // actually this should lock up the cpu!
320               logerror("LR35902: Illegal opcode $%02X @ %04X\n", m_op, m_PC);
321               break;
319322         }
320323      } else {
321324         /* Fetch and count cycles */
trunk/src/emu/cpu/lr35902/opc_cb.inc
r30965r30966
101101
102102#define SET_8BIT(n,x)   (x)|=(1<<(n));
103103
104/**********************************************************/
104105
105106case 0x00:
106107   /*      RLC B */
trunk/src/emu/cpu/lr35902/opc_main.inc
r30965r30966
6262   m_F=f; \
6363}
6464
65/*
66   #define      CP_A_X(x) \
67   { \
68   register UINT16 r; \
69   register UINT8 f; \
70   r=(UINT16)(m_A-(x)); \
71   if( ((UINT8)r)==0 ) \
72   f=FLAG_N|FLAG_Z; \
73   else \
74   f=FLAG_N; \
75   f|=(UINT8)((r>>8)&FLAG_C); \
76   if( (r^m_A^(x))&0x10 ) \
77   f|=FLAG_H; \
78   m_F=f; \
79   }
80 */
81
8265#define CP_A_X(x) \
8366{ \
8467   register UINT16 r1,r2; \
r30965r30966
147130   m_SP--; \
148131   mem_write_byte( m_SP, y );
149132
133/**********************************************************/
134
150135case 0x00: /*      NOP */
151136   break;
152137
r30965r30966
12801265      }
12811266   }
12821267   break;
1283case 0xD3: /*      EH? */
1284   break;
12851268case 0xD4: /*      CALL NC,n16 */
12861269   {
12871270      UINT16 addr = mem_read_word( m_PC );
r30965r30966
13381321      }
13391322   }
13401323   break;
1341case 0xDB: /*      EH? */
1342   break;
13431324case 0xDC: /*      CALL C,n16 */
13441325   {
13451326      UINT16 addr = mem_read_word( m_PC );
r30965r30966
13541335      }
13551336   }
13561337   break;
1357case 0xDD: /*      EH? */
1358   break;
13591338case 0xDE: /*      SBC A,n8 */
13601339
13611340   x = mem_read_byte( m_PC++ );
r30965r30966
13801359
13811360   mem_write_byte( 0xFF00 + m_C, m_A );
13821361   break;
1383case 0xE3: /*      EH? */
1384   break;
1385case 0xE4: /*      EH? */
1386   break;
13871362case 0xE5: /*      PUSH HL */
13881363   PUSH( m_H, m_L );
13891364   cycles_passed( 4 );
r30965r30966
14381413   mem_write_byte( mem_read_word( m_PC ), m_A );
14391414   m_PC += 2;
14401415   break;
1441case 0xEB: /*      EH? */
1442   break;
1443case 0xEC: /*      EH? */
1444   break;
1445case 0xED: /*      EH? */
1446   break;
14471416case 0xEE: /*      XOR A,n8 */
14481417
14491418   x = mem_read_byte( m_PC++ );
r30965r30966
14731442   m_ei_delay = 0;
14741443   m_enable &= ~IME;
14751444   break;
1476case 0xF4: /*      EH? */
1477   break;
14781445case 0xF5: /*      PUSH AF */
14791446   m_F &= 0xF0;
14801447   PUSH( m_A, m_F );
r30965r30966
15401507   m_enable |= IME;
15411508   m_ei_delay = 1;
15421509   break;
1543case 0xFC: /*      EH? */
1544   break;
1545case 0xFD: /*      EH? */
1546   break;
15471510case 0xFE: /*      CP A,n8 */
15481511   x = mem_read_byte( m_PC++ );
15491512   CP_A_X (x)

Previous 199869 Revisions Next


© 1997-2024 The MAME Team