summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/machine/mc146818.h
blob: 0f83135571b6c51fb730af0e1f45b48396ae852c (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
/*********************************************************************

    mc146818.h

    Implementation of the MC146818 chip

    Real time clock chip with batteru buffered ram
    Used in IBM PC/AT, several PC clones, Amstrad NC200

    Peter Trauner (peter.trauner@jk.uni-linz.ac.at)

*********************************************************************/

#ifndef MC146818_H
#define MC146818_H

typedef enum
{
	MC146818_STANDARD,
	MC146818_IGNORE_CENTURY, // century is NOT set, for systems having other usage of this byte
	MC146818_ENHANCED
} MC146818_TYPE;



/* initialize mc146818 emulation, call only once at beginning */
void mc146818_init(MC146818_TYPE type);

/* loads data from standard nvram file */
void mc146818_load(void);

/* loads data from file stream */
void mc146818_load_stream(mame_file *file);

/* saves data into standard nvram file */
void mc146818_save(void);

/* saves data into file stream */
void mc146818_save_stream(mame_file *file);

NVRAM_HANDLER( mc146818 );

READ8_HANDLER(mc146818_port_r);
WRITE8_HANDLER(mc146818_port_w);

READ16_HANDLER(mc146818_port16le_r);
WRITE16_HANDLER(mc146818_port16le_w);

READ32_HANDLER(mc146818_port32le_r);
WRITE32_HANDLER(mc146818_port32le_w);

READ64_HANDLER(mc146818_port64be_r);
WRITE64_HANDLER(mc146818_port64be_w);

#endif /* MC146818_H */