summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/cpu/lr35902/lr35902.h
blob: 41774ec1404f6045dc18eee678e73c0887cad5e2 (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
#ifndef lr35902_H
#define lr35902_H

#include "cpuintrf.h"

typedef struct {
	const UINT16	*regs;
	UINT8	features;
	void	(*timer_fired_func)(int cycles);
} LR35902_CONFIG;

enum {
	LR35902_PC=1, LR35902_SP, LR35902_AF, LR35902_BC, LR35902_DE, LR35902_HL,
	LR35902_IRQ_STATE,
	/* Pseudo registers to keep track of the interrupt statuses */
	LR35902_IE, LR35902_IF,
	/* Pseudo register to change and check the cpu operating speed */
	LR35902_SPEED,
};

#define LR35902_FEATURE_HALT_BUG	0x01

/****************************************************************************/
/* Return register contents                                                 */
/****************************************************************************/
extern void lr35902_get_info(UINT32 state, cpuinfo *info);

extern unsigned lr35902_dasm( char *buffer, offs_t pc, const UINT8 *oprom, const UINT8 *opram );

#endif