blob: a401f489dba4d5f35a4bc2156da8b1df93f9c39d (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
/*****************************************************************************
*
* mincce02.h
* Base macros for 65ce02 CPU files
*
*****************************************************************************/
/* 65ce02 flags */
#define F_C 0x01
#define F_Z 0x02
#define F_I 0x04
#define F_D 0x08
#define F_B 0x10
#define F_E 0x20
#define F_V 0x40
#define F_N 0x80
/* some shortcuts for improved readability */
#define A m65ce02->a
#define X m65ce02->x
#define Y m65ce02->y
#define P m65ce02->p
#define Z m65ce02->z
#define B m65ce02->zp.b.h
#define SW m65ce02->sp.w.l
#define SPL m65ce02->sp.b.l
#define SPH m65ce02->sp.b.h
#define SPD m65ce02->sp.d
#define NZ m65ce02->nz
#define EAL m65ce02->ea.b.l
#define EAH m65ce02->ea.b.h
#define EAW m65ce02->ea.w.l
#define EAD m65ce02->ea.d
#define ZPL m65ce02->zp.b.l
#define ZPH m65ce02->zp.b.h
#define ZPW m65ce02->zp.w.l
#define ZPD m65ce02->zp.d
#define PCL m65ce02->pc.b.l
#define PCH m65ce02->pc.b.h
#define PCW m65ce02->pc.w.l
#define PCD m65ce02->pc.d
#define PPC m65ce02->ppc.d
#define RDMEM_ID m65ce02->rdmem_id
#define WRMEM_ID m65ce02->wrmem_id
#define IRQ_STATE m65ce02->irq_state
#define AFTER_CLI m65ce02->after_cli
#define CHANGE_PC change_pc(PCD)
/***************************************************************
* RDOP read an opcode
***************************************************************/
#define RDOP() program_decrypted_read_byte(PCW++); m65ce02->icount -= 1
/***************************************************************
* RDOPARG read an opcode argument
***************************************************************/
#define RDOPARG() program_raw_read_byte(PCW++); m65ce02->icount -= 1
#define PEEK_OP() program_decrypted_read_byte(PCW)
#define RDMEM(addr) program_read_byte_8le(addr); m65ce02->icount -= 1
#define WRMEM(addr,data) program_write_byte_8le(addr,data); m65ce02->icount -= 1
|