-
Notifications
You must be signed in to change notification settings - Fork 49
/
Copy pathbbc.h
116 lines (77 loc) · 2.39 KB
/
bbc.h
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
/******************************************************************************
BBC Model B
MESS Driver By:
Gordon Jefferyes
******************************************************************************/
DRIVER_INIT( bbc );
DRIVER_INIT( bbcm );
MACHINE_START( bbca );
MACHINE_START( bbcb );
MACHINE_START( bbcb1770 );
MACHINE_START( bbcbopus );
MACHINE_START( bbcbp );
MACHINE_START( bbcm );
MACHINE_RESET( bbca );
MACHINE_RESET( bbcb );
MACHINE_RESET( bbcb1770 );
MACHINE_RESET( bbcbopus );
MACHINE_RESET( bbcbp );
MACHINE_RESET( bbcm );
INTERRUPT_GEN( bbcb_keyscan );
INTERRUPT_GEN( bbcm_keyscan );
WRITE8_HANDLER ( memorya1_w );
WRITE8_HANDLER ( page_selecta_w );
WRITE8_HANDLER ( memoryb3_w );
WRITE8_HANDLER ( memoryb4_w );
WRITE8_HANDLER ( page_selectb_w );
WRITE8_HANDLER ( memorybp1_w );
//READ8_HANDLER ( memorybp2_r );
WRITE8_HANDLER ( memorybp2_w );
WRITE8_HANDLER ( memorybp4_w );
WRITE8_HANDLER ( memorybp4_128_w );
WRITE8_HANDLER ( memorybp6_128_w );
WRITE8_HANDLER ( page_selectbp_w );
WRITE8_HANDLER ( memorybm1_w );
//READ8_HANDLER ( memorybm2_r );
WRITE8_HANDLER ( memorybm2_w );
WRITE8_HANDLER ( memorybm4_w );
WRITE8_HANDLER ( memorybm5_w );
WRITE8_HANDLER ( memorybm7_w );
READ8_HANDLER ( bbcm_r );
WRITE8_HANDLER ( bbcm_w );
READ8_HANDLER ( bbcm_ACCCON_read );
WRITE8_HANDLER ( bbcm_ACCCON_write );
//WRITE8_HANDLER ( bbc_bank4_w );
/* disc support */
DEVICE_LOAD ( bbcb_cart );
DEVICE_LOAD( bbc_floppy );
void check_disc_status(void);
READ8_HANDLER ( bbc_disc_r );
WRITE8_HANDLER ( bbc_disc_w );
READ8_HANDLER ( bbc_wd1770_read );
WRITE8_HANDLER ( bbc_wd1770_write );
READ8_HANDLER ( bbc_opus_read );
WRITE8_HANDLER ( bbc_opus_write );
READ8_HANDLER ( bbcm_wd1770l_read );
WRITE8_HANDLER ( bbcm_wd1770l_write );
READ8_HANDLER ( bbcm_wd1770_read );
WRITE8_HANDLER ( bbcm_wd1770_write );
/* video code */
extern VIDEO_START( bbca );
extern VIDEO_START( bbcb );
extern VIDEO_START( bbcbp );
extern VIDEO_START( bbcm );
extern VIDEO_UPDATE( bbc );
extern unsigned char vidmem[0x10000];
void set_video_memory_lookups(int ramsize);
void bbc_frameclock(void);
void setscreenstart(int b4,int b5);
void bbcbp_setvideoshadow(int vdusel);
WRITE8_HANDLER ( videoULA_w );
WRITE8_HANDLER ( BBC_6845_w );
READ8_HANDLER ( BBC_6845_r );
/* tape support */
WRITE8_HANDLER ( BBC_6850_w );
READ8_HANDLER (BBC_6850_r);
WRITE8_HANDLER ( BBC_SerialULA_w );