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 */
|