8
static uint8 Font6x7[792] =
10
6, 0, 0, 0, 0, 0, 0, 0,
11
3, 64, 64, 64, 64, 64, 0, 64,
12
5, 80, 80, 80, 0, 0, 0, 0,
13
6, 80, 80,248, 80,248, 80, 80,
14
6, 32,120,160,112, 40,240, 32,
15
6, 64,168, 80, 32, 80,168, 16,
16
6, 96,144,160, 64,168,144,104,
17
3, 64, 64, 0, 0, 0, 0, 0,
18
4, 32, 64, 64, 64, 64, 64, 32,
19
4, 64, 32, 32, 32, 32, 32, 64,
20
6, 0, 80, 32,248, 32, 80, 0,
21
6, 0, 32, 32,248, 32, 32, 0,
22
3, 0, 0, 0, 0, 0, 64,128,
23
5, 0, 0, 0,240, 0, 0, 0,
24
3, 0, 0, 0, 0, 0, 0, 64,
25
5, 16, 16, 32, 32, 32, 64, 64,
26
6,112,136,136,136,136,136,112, //0
27
6, 32, 96, 32, 32, 32, 32, 32,
28
6,112,136, 8, 48, 64,128,248,
29
6,112,136, 8, 48, 8,136,112,
30
6, 16, 48, 80,144,248, 16, 16,
31
6,248,128,128,240, 8, 8,240,
32
6, 48, 64,128,240,136,136,112,
33
6,248, 8, 16, 16, 32, 32, 32,
34
6,112,136,136,112,136,136,112,
35
6,112,136,136,120, 8, 16, 96,
36
3, 0, 0, 64, 0, 0, 64, 0,
37
3, 0, 0, 64, 0, 0, 64,128,
38
4, 0, 32, 64,128, 64, 32, 0,
39
5, 0, 0,240, 0,240, 0, 0,
40
4, 0,128, 64, 32, 64,128, 0,
41
5,112,136, 8, 16, 32, 0, 32,
42
6,112,136,136,184,176,128,112,
43
6,112,136,136,248,136,136,136, //A
44
6,240,136,136,240,136,136,240,
45
6,112,136,128,128,128,136,112,
46
6,224,144,136,136,136,144,224,
47
6,248,128,128,240,128,128,248,
48
6,248,128,128,240,128,128,128,
49
6,112,136,128,184,136,136,120,
50
6,136,136,136,248,136,136,136,
51
4,224, 64, 64, 64, 64, 64,224,
52
6, 8, 8, 8, 8, 8,136,112,
53
6,136,144,160,192,160,144,136,
54
6,128,128,128,128,128,128,248,
55
6,136,216,168,168,136,136,136,
56
6,136,136,200,168,152,136,136,
57
7, 48, 72,132,132,132, 72, 48,
58
6,240,136,136,240,128,128,128,
59
6,112,136,136,136,168,144,104,
60
6,240,136,136,240,144,136,136,
61
6,112,136,128,112, 8,136,112,
62
6,248, 32, 32, 32, 32, 32, 32,
63
6,136,136,136,136,136,136,112,
64
6,136,136,136, 80, 80, 32, 32,
65
6,136,136,136,136,168,168, 80,
66
6,136,136, 80, 32, 80,136,136,
67
6,136,136, 80, 32, 32, 32, 32,
68
6,248, 8, 16, 32, 64,128,248,
69
3,192,128,128,128,128,128,192,
70
5, 64, 64, 32, 32, 32, 16, 16,
71
3,192, 64, 64, 64, 64, 64,192,
72
4, 64,160, 0, 0, 0, 0, 0,
73
6, 0, 0, 0, 0, 0, 0,248,
74
3,128, 64, 0, 0, 0, 0, 0,
75
5, 0, 0, 96, 16,112,144,112, //a
76
5,128,128,224,144,144,144,224,
77
5, 0, 0,112,128,128,128,112,
78
5, 16, 16,112,144,144,144,112,
79
5, 0, 0, 96,144,240,128,112,
80
5, 48, 64,224, 64, 64, 64, 64,
81
5, 0,112,144,144,112, 16,224,
82
5,128,128,224,144,144,144,144,
83
2,128, 0,128,128,128,128,128,
84
4, 32, 0, 32, 32, 32, 32,192,
85
5,128,128,144,160,192,160,144,
86
2,128,128,128,128,128,128,128,
87
6, 0, 0,208,168,168,168,168,
88
5, 0, 0,224,144,144,144,144,
89
5, 0, 0, 96,144,144,144, 96,
90
5, 0, 0,224,144,144,224,128,
91
5, 0, 0,112,144,144,112, 16,
92
5, 0, 0,176,192,128,128,128,
93
5, 0, 0,112,128, 96, 16,224,
94
4, 64, 64,224, 64, 64, 64, 32,
95
5, 0, 0,144,144,144,144,112,
96
5, 0, 0,144,144,144,160,192,
97
6, 0, 0,136,136,168,168, 80,
98
5, 0, 0,144,144, 96,144,144,
99
5, 0,144,144,144,112, 16, 96,
100
5, 0, 0,240, 32, 64,128,240,
101
4, 32, 64, 64,128, 64, 64, 32,
102
3, 64, 64, 64, 64, 64, 64, 64,
103
4,128, 64, 64, 32, 64, 64,128,
104
6, 0,104,176, 0, 0, 0, 0
107
void DrawTextLineBG(uint8 *dest)
110
static int otable[7]={81,49,30,17,8,3,0};
111
//100,40,15,10,7,5,2};
116
if(y>=7) offs=otable[13-y];
119
for(x=offs;x<(256-offs);x++)
121
// Choose the dimmest set of colours and then dim that
122
dest[y*256+x]=(dest[y*256+x]&0x0F)|0xC0;
128
void DrawMessage(bool beforeMovie)
130
if(guiMessage.howlong)
132
//don't display movie messages if we're not before the movie
133
if(beforeMovie && !guiMessage.isMovieMessage)
137
guiMessage.howlong--;
138
t=XBuf+FCEU_TextScanlineOffsetFromBottom(20)+1;
142
$00: [8] unvpalette found in palettes/palettes.h
143
black, white, black, greyish, redish, bright green, bluish
147
dim version of nes palette
154
if(guiMessage.howlong <= 40) color = 0x3C;
155
if(guiMessage.howlong <= 32) color = 0x31;
156
if(guiMessage.howlong <= 24) color = 0x21;
157
if(guiMessage.howlong <= 16) color = 0x51;
158
if(guiMessage.howlong <= 8) color = 0x41;
159
DrawTextTrans(ClipSidesOffset+t, 256, (uint8 *)guiMessage.errmsg, color+0x80);
163
if(subtitleMessage.howlong)
165
//don't display movie messages if we're not before the movie
166
if(beforeMovie && !subtitleMessage.isMovieMessage)
170
subtitleMessage.howlong--;
171
tt=XBuf+FCEU_TextScanlineOffsetFromBottom(216);
176
if(subtitleMessage.howlong == 39) color = 0x38;
177
if(subtitleMessage.howlong <= 30) color = 0x2C;
178
if(subtitleMessage.howlong <= 20) color = 0x1C;
179
if(subtitleMessage.howlong <= 10) color = 0x11;
180
if(subtitleMessage.howlong <= 5) color = 0x1;
181
DrawTextTrans(ClipSidesOffset+tt, 256, (uint8 *)subtitleMessage.errmsg, color+0x80);
189
static uint8 sstat[2541] =
191
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
192
0x80,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,
193
0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x83,0x83,0x83,0x83,
194
0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x81,0x80,0x83,
195
0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,
196
0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x81,0x81,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x80,0x80,0x80,
197
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x81,0x81,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x83,0x80,0x80,0x81,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x83,0x83,0x81,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x83,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x83,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x83,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x83,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x81,0x81,0x81,0x81,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x80,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
198
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x81,0x81,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x83,0x80,0x80,0x81,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x83,0x83,0x81,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x81,0x83,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x81,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x83,0x83,0x83,0x81,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x81,0x81,0x83,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
199
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x81,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x83,0x81,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x83,0x80,0x81,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x81,0x81,0x81,0x81,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x81,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
200
0x80,0x80,0x80,0x80,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x81,0x81,0x81,0x81,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x80,0x80,0x80,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x81,0x81,0x81,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x80,0x81,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x83,0x83,0x83,0x81,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x81,0x81,0x83,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
201
0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x81,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x83,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x81,0x81,0x81,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x80,0x80,0x80,0x81,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x80,0x83,0x83,0x81,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x80,0x83,0x83,0x81,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x81,0x81,0x83,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x83,0x83,
202
0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x81,0x81,0x81,0x81,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x80,0x81,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x83,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x83,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x83,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,
203
0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x81,0x81,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x83,0x80,0x80,0x81,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x80,0x83,0x83,0x81,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x81,0x81,0x83,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x83,0x80,0x80,0x81,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x80,0x83,0x83,0x81,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x80,0x83,0x83,0x81,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x81,0x81,0x83,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,
204
0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x81,0x81,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x80,0x80,0x80,0x81,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x80,0x83,0x83,0x81,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x80,0x83,0x83,0x81,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x81,0x81,0x81,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x81,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x83,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x81,0x83,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,
205
0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x81,0x81,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x83,0x80,0x80,0x81,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x80,0x83,0x83,0x81,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x80,0x83,0x83,0x81,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x80,0x83,0x83,0x81,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x80,0x83,0x83,0x81,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x80,0x83,0x83,0x81,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x81,0x81,0x81,0x83,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x83,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80
212
static uint8 play_slines[]=
232
static uint8 record_slines[]=
252
static uint8 pause_slines[]=
288
static uint8 no_slines[]=
293
static uint8* sline_icons[4]=
301
static void drawstatus(uint8* XBuf, int n, int y, int xofs)
303
uint8* slines=sline_icons[n];
307
XBuf += FCEU_TextScanlineOffsetFromBottom(y) + 240 + 255 + xofs;
308
for(i=0; slines[i]!=99; i+=3)
311
uint8* dest=XBuf+(y*256);
313
for(x=slines[i+1]; x!=slines[i+2]; ++x)
318
for(i=0; slines[i]!=99; i+=3)
321
uint8* dest=XBuf+(y*256);
323
for(x=slines[i+1]; x!=slines[i+2]; ++x)
328
/// this draws the recording icon (play/pause/record)
329
void FCEU_DrawRecordingStatus(uint8* XBuf)
331
if(FCEUD_ShowStatusIcon())
333
bool hasPlayRecIcon = false;
334
if(FCEUMOV_Mode(MOVIEMODE_RECORD))
336
drawstatus(XBuf-ClipSidesOffset,2,28,0);
337
hasPlayRecIcon = true;
339
else if(FCEUMOV_Mode(MOVIEMODE_PLAY))
341
drawstatus(XBuf-ClipSidesOffset,1,28,0);
342
hasPlayRecIcon = true;
345
if(FCEUI_EmulationPaused())
346
drawstatus(XBuf-ClipSidesOffset,3,28,hasPlayRecIcon?-16:0);
351
void FCEU_DrawNumberRow(uint8 *XBuf, int *nstatus, int cur)
356
XBaf=XBuf - 4 + (FSettings.LastSLine-34)*256;
364
XBaf[y*256+x+z*21+z]=sstat[y*21+x+(z-1)*21*12]^0x80;
368
if(sstat[y*21+x+(z-1)*21*12]!=0x83)
369
XBaf[y*256+x+z*21+z]=sstat[y*21+x+(z-1)*21*12]^0x80;
372
XBaf[y*256+x+z*21+z]=(XBaf[y*256+x+z*21+z]&0xF)|0xC0;
380
XBaf[256*x+z*21+z*1]=
381
XBaf[256*x+z*21+z*1+20]=4;
384
XBaf[12*256+x+z*21+z*1]=4;
389
static int FixJoedChar(uint8 ch)
392
return (c < 0 || c > 98) ? 0 : c;
394
static int JoedCharWidth(uint8 ch)
396
return Font6x7[FixJoedChar(ch)*8];
399
void DrawTextTransWH(uint8 *dest, uint32 width, uint8 *textmsg, uint8 fgcolor, int max_w, int max_h, int border)
401
unsigned beginx=2, x=beginx;
404
char target[64][256] = {{0}};
407
if (max_w > 256) max_w = 256;
408
if (max_h > 64) max_h = 64;
410
for(; *textmsg; ++textmsg)
414
if(*textmsg == '\n') { x=beginx; y+=8; continue; }
415
ch = FixJoedChar(*textmsg);
416
wid = JoedCharWidth(*textmsg);
418
for(int ny=0; ny<7; ++ny)
420
uint8 d = Font6x7[ch*8 + 1+ny];
421
for(int nx=0; nx<wid; ++nx)
423
int c = (d >> (7-nx)) & 1;
426
if(y+ny >= 62) goto textoverflow;
427
target[y+ny][x+nx] = 2;
430
target[y+ny][x+nx] = 1;
434
if(x >= width) { x=beginx; y+=8; }
437
for(y=0; y<62; ++y) //Max border is 2, so the max safe y is 62 (since 64 is the max for the target array
438
for(x=0; x<width; ++x)
440
int offs = y*width+x;
443
c += target[y][x] * 100;
446
x>=( 1) && (c += target[y][x-1]);
447
x<(width-1) && (c += target[y][x+1]);
448
y>=( 1) && (c += target[y-1][x]);
449
y<(16 -1) && (c += target[y+1][x]);
452
x>=( 1) && (c += target[y][x-1]*10);
453
x<(width-1) && (c += target[y][x+1]*10);
454
y>=( 1) && (c += target[y-1][x]*10);
455
y<(16 -1) && (c += target[y+1][x]*10);
457
x>=( 1) && y>=( 1) && (c += target[y-1][x-1]);
458
x<(width-1) && y>=( 1) && (c += target[y-1][x+1]);
459
x>=( 1) && y<(16-1) && (c += target[y+1][x-1]);
460
x<(width-1) && y<(16-1) && (c += target[y+1][x+1]);
462
x>=( 2) && (c += target[y][x-2]);
463
x<(width-2) && (c += target[y][x+2]);
464
y>=( 2) && (c += target[y-2][x]);
465
y<(16 -2) && (c += target[y+2][x]);
469
dest[offs] = fgcolor;
472
if(dest[offs] < 0xA0)
484
void DrawTextTrans(uint8 *dest, uint32 width, uint8 *textmsg, uint8 fgcolor)
486
DrawTextTransWH(dest, width, textmsg, fgcolor, 256, 16, 2);