| 1 | #include "bstd.h" |
|---|
| 2 | #include "ministd.h" |
|---|
| 3 | #include "stdio.h" |
|---|
| 4 | |
|---|
| 5 | BDBG_MODULE(stdio); /* Register software module with debug interface */ |
|---|
| 6 | |
|---|
| 7 | |
|---|
| 8 | typedef struct mem_io_t |
|---|
| 9 | { |
|---|
| 10 | char *name; |
|---|
| 11 | bool open; |
|---|
| 12 | uint8_t *data; |
|---|
| 13 | unsigned int *size; |
|---|
| 14 | unsigned int cnt; |
|---|
| 15 | }mem_io_t; |
|---|
| 16 | |
|---|
| 17 | #ifdef CONFIG_DCC_TEST |
|---|
| 18 | /* 480i Standard Fonts */ |
|---|
| 19 | extern const unsigned char g_cinecavB14_type[]; |
|---|
| 20 | extern unsigned int g_cinecavB14_type_size; |
|---|
| 21 | extern const unsigned char g_cinecavB18_type[]; |
|---|
| 22 | extern unsigned int g_cinecavB18_type_size; |
|---|
| 23 | extern const unsigned char g_cinecavB22_type[]; |
|---|
| 24 | extern unsigned int g_cinecavB22_type_size; |
|---|
| 25 | extern const unsigned char g_cinecavB14_mono[]; |
|---|
| 26 | extern unsigned int g_cinecavB14_mono_size; |
|---|
| 27 | extern const unsigned char g_cinecavB18_mono[]; |
|---|
| 28 | extern unsigned int g_cinecavB18_mono_size; |
|---|
| 29 | extern const unsigned char g_cinecavB22_mono[]; |
|---|
| 30 | extern unsigned int g_cinecavB22_mono_size; |
|---|
| 31 | extern const unsigned char g_cinecavB12_serif[]; |
|---|
| 32 | extern unsigned int g_cinecavB12_serif_size; |
|---|
| 33 | extern const unsigned char g_cinecavB15_serif[]; |
|---|
| 34 | extern unsigned int g_cinecavB15_serif_size; |
|---|
| 35 | extern const unsigned char g_cinecavB19_serif[]; |
|---|
| 36 | extern unsigned int g_cinecavB19_serif_size; |
|---|
| 37 | extern const unsigned char g_cinecavB12_sans[]; |
|---|
| 38 | extern unsigned int g_cinecavB12_sans_size; |
|---|
| 39 | extern const unsigned char g_cinecavB15_sans[]; |
|---|
| 40 | extern unsigned int g_cinecavB15_sans_size; |
|---|
| 41 | extern const unsigned char g_cinecavB19_sans[]; |
|---|
| 42 | extern unsigned int g_cinecavB19_sans_size; |
|---|
| 43 | extern const unsigned char g_cinecavB13_casual[]; |
|---|
| 44 | extern unsigned int g_cinecavB13_casual_size; |
|---|
| 45 | extern const unsigned char g_cinecavB16_casual[]; |
|---|
| 46 | extern unsigned int g_cinecavB16_casual_size; |
|---|
| 47 | extern const unsigned char g_cinecavB20_casual[]; |
|---|
| 48 | extern unsigned int g_cinecavB20_casual_size; |
|---|
| 49 | extern const unsigned char g_cinecavB12_script[]; |
|---|
| 50 | extern unsigned int g_cinecavB12_script_size; |
|---|
| 51 | extern const unsigned char g_cinecavB14_script[]; |
|---|
| 52 | extern unsigned int g_cinecavB14_script_size; |
|---|
| 53 | extern const unsigned char g_cinecavB18_script[]; |
|---|
| 54 | extern unsigned int g_cinecavB18_script_size; |
|---|
| 55 | extern const unsigned char g_cinecavB13_sc[]; |
|---|
| 56 | extern unsigned int g_cinecavB13_sc_size; |
|---|
| 57 | extern const unsigned char g_cinecavB15_sc[]; |
|---|
| 58 | extern unsigned int g_cinecavB15_sc_size; |
|---|
| 59 | extern const unsigned char g_cinecavB19_sc[]; |
|---|
| 60 | extern unsigned int g_cinecavB19_sc_size; |
|---|
| 61 | /* 480i Italic Fonts */ |
|---|
| 62 | extern const unsigned char g_cinecavB14i_type[]; |
|---|
| 63 | extern unsigned int g_cinecavB14i_type_size; |
|---|
| 64 | extern const unsigned char g_cinecavB18i_type[]; |
|---|
| 65 | extern unsigned int g_cinecavB18i_type_size; |
|---|
| 66 | extern const unsigned char g_cinecavB22i_type[]; |
|---|
| 67 | extern unsigned int g_cinecavB22i_type_size; |
|---|
| 68 | extern const unsigned char g_cinecavB14i_mono[]; |
|---|
| 69 | extern unsigned int g_cinecavB14i_mono_size; |
|---|
| 70 | extern const unsigned char g_cinecavB18i_mono[]; |
|---|
| 71 | extern unsigned int g_cinecavB18i_mono_size; |
|---|
| 72 | extern const unsigned char g_cinecavB22i_mono[]; |
|---|
| 73 | extern unsigned int g_cinecavB22i_mono_size; |
|---|
| 74 | extern const unsigned char g_cinecavB12i_serif[]; |
|---|
| 75 | extern unsigned int g_cinecavB12i_serif_size; |
|---|
| 76 | extern const unsigned char g_cinecavB15i_serif[]; |
|---|
| 77 | extern unsigned int g_cinecavB15i_serif_size; |
|---|
| 78 | extern const unsigned char g_cinecavB19i_serif[]; |
|---|
| 79 | extern unsigned int g_cinecavB19i_serif_size; |
|---|
| 80 | extern const unsigned char g_cinecavB12i_sans[]; |
|---|
| 81 | extern unsigned int g_cinecavB12i_sans_size; |
|---|
| 82 | extern const unsigned char g_cinecavB15i_sans[]; |
|---|
| 83 | extern unsigned int g_cinecavB15i_sans_size; |
|---|
| 84 | extern const unsigned char g_cinecavB19i_sans[]; |
|---|
| 85 | extern unsigned int g_cinecavB19i_sans_size; |
|---|
| 86 | extern const unsigned char g_cinecavB13i_casual[]; |
|---|
| 87 | extern unsigned int g_cinecavB13i_casual_size; |
|---|
| 88 | extern const unsigned char g_cinecavB16i_casual[]; |
|---|
| 89 | extern unsigned int g_cinecavB16i_casual_size; |
|---|
| 90 | extern const unsigned char g_cinecavB20i_casual[]; |
|---|
| 91 | extern unsigned int g_cinecavB20i_casual_size; |
|---|
| 92 | extern const unsigned char g_cinecavB12i_script[]; |
|---|
| 93 | extern unsigned int g_cinecavB12i_script_size; |
|---|
| 94 | extern const unsigned char g_cinecavB14i_script[]; |
|---|
| 95 | extern unsigned int g_cinecavB14i_script_size; |
|---|
| 96 | extern const unsigned char g_cinecavB18i_script[]; |
|---|
| 97 | extern unsigned int g_cinecavB18i_script_size; |
|---|
| 98 | extern const unsigned char g_cinecavB13i_sc[]; |
|---|
| 99 | extern unsigned int g_cinecavB13i_sc_size; |
|---|
| 100 | extern const unsigned char g_cinecavB15i_sc[]; |
|---|
| 101 | extern unsigned int g_cinecavB15i_sc_size; |
|---|
| 102 | extern const unsigned char g_cinecavB19i_sc[]; |
|---|
| 103 | extern unsigned int g_cinecavB19i_sc_size; |
|---|
| 104 | /*1080i Standard Fonts */ |
|---|
| 105 | extern const unsigned char g_cinecavB32_type[]; |
|---|
| 106 | extern unsigned int g_cinecavB32_type_size; |
|---|
| 107 | extern const unsigned char g_cinecavB41_type[]; |
|---|
| 108 | extern unsigned int g_cinecavB41_type_size; |
|---|
| 109 | extern const unsigned char g_cinecavB49_type[]; |
|---|
| 110 | extern unsigned int g_cinecavB49_type_size; |
|---|
| 111 | extern const unsigned char g_cinecavB34_mono[]; |
|---|
| 112 | extern unsigned int g_cinecavB34_mono_size; |
|---|
| 113 | extern const unsigned char g_cinecavB43_mono[]; |
|---|
| 114 | extern unsigned int g_cinecavB43_mono_size; |
|---|
| 115 | extern const unsigned char g_cinecavB52_mono[]; |
|---|
| 116 | extern unsigned int g_cinecavB52_mono_size; |
|---|
| 117 | extern const unsigned char g_cinecavB28_serif[]; |
|---|
| 118 | extern unsigned int g_cinecavB28_serif_size; |
|---|
| 119 | extern const unsigned char g_cinecavB35_serif[]; |
|---|
| 120 | extern unsigned int g_cinecavB35_serif_size; |
|---|
| 121 | extern const unsigned char g_cinecavB44_serif[]; |
|---|
| 122 | extern unsigned int g_cinecavB44_serif_size; |
|---|
| 123 | extern const unsigned char g_cinecavB28_sans[]; |
|---|
| 124 | extern unsigned int g_cinecavB28_sans_size; |
|---|
| 125 | extern const unsigned char g_cinecavB35_sans[]; |
|---|
| 126 | extern unsigned int g_cinecavB35_sans_size; |
|---|
| 127 | extern const unsigned char g_cinecavB44_sans[]; |
|---|
| 128 | extern unsigned int g_cinecavB44_sans_size; |
|---|
| 129 | extern const unsigned char g_cinecavB30_casual[]; |
|---|
| 130 | extern unsigned int g_cinecavB30_casual_size; |
|---|
| 131 | extern const unsigned char g_cinecavB36_casual[]; |
|---|
| 132 | extern unsigned int g_cinecavB36_casual_size; |
|---|
| 133 | extern const unsigned char g_cinecavB45_casual[]; |
|---|
| 134 | extern unsigned int g_cinecavB45_casual_size; |
|---|
| 135 | extern const unsigned char g_cinecavB25_script[]; |
|---|
| 136 | extern unsigned int g_cinecavB25_script_size; |
|---|
| 137 | extern const unsigned char g_cinecavB28_script[]; |
|---|
| 138 | extern unsigned int g_cinecavB28_script_size; |
|---|
| 139 | extern const unsigned char g_cinecavB38_script[]; |
|---|
| 140 | extern unsigned int g_cinecavB38_script_size; |
|---|
| 141 | extern const unsigned char g_cinecavB28_sc[]; |
|---|
| 142 | extern unsigned int g_cinecavB28_sc_size; |
|---|
| 143 | extern const unsigned char g_cinecavB35_sc[]; |
|---|
| 144 | extern unsigned int g_cinecavB35_sc_size; |
|---|
| 145 | extern const unsigned char g_cinecavB45_sc[]; |
|---|
| 146 | extern unsigned int g_cinecavB45_sc_size; |
|---|
| 147 | /*1080i Italic Fonts */ |
|---|
| 148 | extern const unsigned char g_cinecavB32i_type[]; |
|---|
| 149 | extern unsigned int g_cinecavB32i_type_size; |
|---|
| 150 | extern const unsigned char g_cinecavB41i_type[]; |
|---|
| 151 | extern unsigned int g_cinecavB41i_type_size; |
|---|
| 152 | extern const unsigned char g_cinecavB49i_type[]; |
|---|
| 153 | extern unsigned int g_cinecavB49i_type_size; |
|---|
| 154 | extern const unsigned char g_cinecavB34i_mono[]; |
|---|
| 155 | extern unsigned int g_cinecavB34i_mono_size; |
|---|
| 156 | extern const unsigned char g_cinecavB43i_mono[]; |
|---|
| 157 | extern unsigned int g_cinecavB43i_mono_size; |
|---|
| 158 | extern const unsigned char g_cinecavB52i_mono[]; |
|---|
| 159 | extern unsigned int g_cinecavB52i_mono_size; |
|---|
| 160 | extern const unsigned char g_cinecavB28i_serif[]; |
|---|
| 161 | extern unsigned int g_cinecavB28i_serif_size; |
|---|
| 162 | extern const unsigned char g_cinecavB35i_serif[]; |
|---|
| 163 | extern unsigned int g_cinecavB35i_serif_size; |
|---|
| 164 | extern const unsigned char g_cinecavB44i_serif[]; |
|---|
| 165 | extern unsigned int g_cinecavB44i_serif_size; |
|---|
| 166 | extern const unsigned char g_cinecavB28i_sans[]; |
|---|
| 167 | extern unsigned int g_cinecavB28i_sans_size; |
|---|
| 168 | extern const unsigned char g_cinecavB35i_sans[]; |
|---|
| 169 | extern unsigned int g_cinecavB35i_sans_size; |
|---|
| 170 | extern const unsigned char g_cinecavB44i_sans[]; |
|---|
| 171 | extern unsigned int g_cinecavB44i_sans_size; |
|---|
| 172 | extern const unsigned char g_cinecavB30i_casual[]; |
|---|
| 173 | extern unsigned int g_cinecavB30i_casual_size; |
|---|
| 174 | extern const unsigned char g_cinecavB36i_casual[]; |
|---|
| 175 | extern unsigned int g_cinecavB36i_casual_size; |
|---|
| 176 | extern const unsigned char g_cinecavB45i_casual[]; |
|---|
| 177 | extern unsigned int g_cinecavB45i_casual_size; |
|---|
| 178 | extern const unsigned char g_cinecavB25i_script[]; |
|---|
| 179 | extern unsigned int g_cinecavB25i_script_size; |
|---|
| 180 | extern const unsigned char g_cinecavB28i_script[]; |
|---|
| 181 | extern unsigned int g_cinecavB28i_script_size; |
|---|
| 182 | extern const unsigned char g_cinecavB38i_script[]; |
|---|
| 183 | extern unsigned int g_cinecavB38i_script_size; |
|---|
| 184 | extern const unsigned char g_cinecavB28i_sc[]; |
|---|
| 185 | extern unsigned int g_cinecavB28i_sc_size; |
|---|
| 186 | extern const unsigned char g_cinecavB35i_sc[]; |
|---|
| 187 | extern unsigned int g_cinecavB35i_sc_size; |
|---|
| 188 | extern const unsigned char g_cinecavB45i_sc[]; |
|---|
| 189 | extern unsigned int g_cinecavB45i_sc_size; |
|---|
| 190 | |
|---|
| 191 | |
|---|
| 192 | |
|---|
| 193 | static mem_io_t g_files[] = |
|---|
| 194 | { |
|---|
| 195 | /* 480i Standard Fonts */ |
|---|
| 196 | { "cc_fonts/cinecavB14_type.bwin_font",false,(uint8_t*)g_cinecavB14_type,&g_cinecavB14_type_size,0}, |
|---|
| 197 | { "cc_fonts/cinecavB18_type.bwin_font",false,(uint8_t*)g_cinecavB18_type,&g_cinecavB18_type_size,0}, |
|---|
| 198 | { "cc_fonts/cinecavB22_type.bwin_font",false,(uint8_t*)g_cinecavB22_type,&g_cinecavB22_type_size,0}, |
|---|
| 199 | { "cc_fonts/cinecavB12_serif.bwin_font",false,(uint8_t*)g_cinecavB12_serif,&g_cinecavB12_serif_size,0}, |
|---|
| 200 | { "cc_fonts/cinecavB15_serif.bwin_font",false,(uint8_t*)g_cinecavB15_serif,&g_cinecavB15_serif_size,0}, |
|---|
| 201 | { "cc_fonts/cinecavB19_serif.bwin_font",false,(uint8_t*)g_cinecavB19_serif,&g_cinecavB19_serif_size,0}, |
|---|
| 202 | { "cc_fonts/cinecavB14_mono.bwin_font",false,(uint8_t*)g_cinecavB14_mono,&g_cinecavB14_mono_size,0}, |
|---|
| 203 | { "cc_fonts/cinecavB18_mono.bwin_font",false,(uint8_t*)g_cinecavB18_mono,&g_cinecavB18_mono_size,0}, |
|---|
| 204 | { "cc_fonts/cinecavB22_mono.bwin_font",false,(uint8_t*)g_cinecavB22_mono,&g_cinecavB22_mono_size,0}, |
|---|
| 205 | { "cc_fonts/cinecavB12_sans.bwin_font",false,(uint8_t*)g_cinecavB12_sans,&g_cinecavB12_sans_size,0}, |
|---|
| 206 | { "cc_fonts/cinecavB15_sans.bwin_font",false,(uint8_t*)g_cinecavB15_sans,&g_cinecavB15_sans_size,0}, |
|---|
| 207 | { "cc_fonts/cinecavB19_sans.bwin_font",false,(uint8_t*)g_cinecavB19_sans,&g_cinecavB19_sans_size,0}, |
|---|
| 208 | { "cc_fonts/cinecavB13_casual.bwin_font",false,(uint8_t*)g_cinecavB13_casual,&g_cinecavB13_casual_size,0}, |
|---|
| 209 | { "cc_fonts/cinecavB16_casual.bwin_font",false,(uint8_t*)g_cinecavB16_casual,&g_cinecavB16_casual_size,0}, |
|---|
| 210 | { "cc_fonts/cinecavB20_casual.bwin_font",false,(uint8_t*)g_cinecavB20_casual,&g_cinecavB20_casual_size,0}, |
|---|
| 211 | { "cc_fonts/cinecavB12_script.bwin_font",false,(uint8_t*)g_cinecavB12_script,&g_cinecavB12_script_size,0}, |
|---|
| 212 | { "cc_fonts/cinecavB14_script.bwin_font",false,(uint8_t*)g_cinecavB14_script,&g_cinecavB14_script_size,0}, |
|---|
| 213 | { "cc_fonts/cinecavB18_script.bwin_font",false,(uint8_t*)g_cinecavB18_script,&g_cinecavB18_script_size,0}, |
|---|
| 214 | { "cc_fonts/cinecavB13_sc.bwin_font",false,(uint8_t*)g_cinecavB13_sc,&g_cinecavB13_sc_size,0}, |
|---|
| 215 | { "cc_fonts/cinecavB15_sc.bwin_font",false,(uint8_t*)g_cinecavB15_sc,&g_cinecavB15_sc_size,0}, |
|---|
| 216 | { "cc_fonts/cinecavB19_sc.bwin_font",false,(uint8_t*)g_cinecavB19_sc,&g_cinecavB19_sc_size,0}, |
|---|
| 217 | /* 480i Italic Fonts */ |
|---|
| 218 | { "cc_fonts/cinecavB14i_type.bwin_font",false,(uint8_t*)g_cinecavB14i_type,&g_cinecavB14i_type_size,0}, |
|---|
| 219 | { "cc_fonts/cinecavB18i_type.bwin_font",false,(uint8_t*)g_cinecavB18i_type,&g_cinecavB18i_type_size,0}, |
|---|
| 220 | { "cc_fonts/cinecavB22i_type.bwin_font",false,(uint8_t*)g_cinecavB22i_type,&g_cinecavB22i_type_size,0}, |
|---|
| 221 | { "cc_fonts/cinecavB12i_serif.bwin_font",false,(uint8_t*)g_cinecavB12i_serif,&g_cinecavB12i_serif_size,0}, |
|---|
| 222 | { "cc_fonts/cinecavB15i_serif.bwin_font",false,(uint8_t*)g_cinecavB15i_serif,&g_cinecavB15i_serif_size,0}, |
|---|
| 223 | { "cc_fonts/cinecavB19i_serif.bwin_font",false,(uint8_t*)g_cinecavB19i_serif,&g_cinecavB19i_serif_size,0}, |
|---|
| 224 | { "cc_fonts/cinecavB14i_mono.bwin_font",false,(uint8_t*)g_cinecavB14i_mono,&g_cinecavB14i_mono_size,0}, |
|---|
| 225 | { "cc_fonts/cinecavB18i_mono.bwin_font",false,(uint8_t*)g_cinecavB18i_mono,&g_cinecavB18i_mono_size,0}, |
|---|
| 226 | { "cc_fonts/cinecavB22i_mono.bwin_font",false,(uint8_t*)g_cinecavB22i_mono,&g_cinecavB22i_mono_size,0}, |
|---|
| 227 | { "cc_fonts/cinecavB12i_sans.bwin_font",false,(uint8_t*)g_cinecavB12i_sans,&g_cinecavB12i_sans_size,0}, |
|---|
| 228 | { "cc_fonts/cinecavB15i_sans.bwin_font",false,(uint8_t*)g_cinecavB15i_sans,&g_cinecavB15i_sans_size,0}, |
|---|
| 229 | { "cc_fonts/cinecavB19i_sans.bwin_font",false,(uint8_t*)g_cinecavB19i_sans,&g_cinecavB19i_sans_size,0}, |
|---|
| 230 | { "cc_fonts/cinecavB13i_casual.bwin_font",false,(uint8_t*)g_cinecavB13i_casual,&g_cinecavB13i_casual_size,0}, |
|---|
| 231 | { "cc_fonts/cinecavB16i_casual.bwin_font",false,(uint8_t*)g_cinecavB16i_casual,&g_cinecavB16i_casual_size,0}, |
|---|
| 232 | { "cc_fonts/cinecavB20i_casual.bwin_font",false,(uint8_t*)g_cinecavB20i_casual,&g_cinecavB20i_casual_size,0}, |
|---|
| 233 | { "cc_fonts/cinecavB12i_script.bwin_font",false,(uint8_t*)g_cinecavB12i_script,&g_cinecavB12i_script_size,0}, |
|---|
| 234 | { "cc_fonts/cinecavB14i_script.bwin_font",false,(uint8_t*)g_cinecavB14i_script,&g_cinecavB14i_script_size,0}, |
|---|
| 235 | { "cc_fonts/cinecavB18i_script.bwin_font",false,(uint8_t*)g_cinecavB18i_script,&g_cinecavB18i_script_size,0}, |
|---|
| 236 | { "cc_fonts/cinecavB13i_sc.bwin_font",false,(uint8_t*)g_cinecavB13i_sc,&g_cinecavB13i_sc_size,0}, |
|---|
| 237 | { "cc_fonts/cinecavB15i_sc.bwin_font",false,(uint8_t*)g_cinecavB15i_sc,&g_cinecavB15i_sc_size,0}, |
|---|
| 238 | { "cc_fonts/cinecavB19i_sc.bwin_font",false,(uint8_t*)g_cinecavB19i_sc,&g_cinecavB19i_sc_size,0}, |
|---|
| 239 | /*1080i Standard Fonts */ |
|---|
| 240 | { "cc_fonts/cinecavB32_type.bwin_font",false,(uint8_t*)g_cinecavB32_type,&g_cinecavB32_type_size,0}, |
|---|
| 241 | { "cc_fonts/cinecavB41_type.bwin_font",false,(uint8_t*)g_cinecavB41_type,&g_cinecavB41_type_size,0}, |
|---|
| 242 | { "cc_fonts/cinecavB49_type.bwin_font",false,(uint8_t*)g_cinecavB49_type,&g_cinecavB49_type_size,0}, |
|---|
| 243 | { "cc_fonts/cinecavB28_serif.bwin_font",false,(uint8_t*)g_cinecavB28_serif,&g_cinecavB28_serif_size,0}, |
|---|
| 244 | { "cc_fonts/cinecavB35_serif.bwin_font",false,(uint8_t*)g_cinecavB35_serif,&g_cinecavB35_serif_size,0}, |
|---|
| 245 | { "cc_fonts/cinecavB44_serif.bwin_font",false,(uint8_t*)g_cinecavB44_serif,&g_cinecavB44_serif_size,0}, |
|---|
| 246 | { "cc_fonts/cinecavB34_mono.bwin_font",false,(uint8_t*)g_cinecavB34_mono,&g_cinecavB34_mono_size,0}, |
|---|
| 247 | { "cc_fonts/cinecavB43_mono.bwin_font",false,(uint8_t*)g_cinecavB43_mono,&g_cinecavB43_mono_size,0}, |
|---|
| 248 | { "cc_fonts/cinecavB52_mono.bwin_font",false,(uint8_t*)g_cinecavB52_mono,&g_cinecavB52_mono_size,0}, |
|---|
| 249 | { "cc_fonts/cinecavB28_sans.bwin_font",false,(uint8_t*)g_cinecavB28_sans,&g_cinecavB28_sans_size,0}, |
|---|
| 250 | { "cc_fonts/cinecavB35_sans.bwin_font",false,(uint8_t*)g_cinecavB35_sans,&g_cinecavB35_sans_size,0}, |
|---|
| 251 | { "cc_fonts/cinecavB44_sans.bwin_font",false,(uint8_t*)g_cinecavB44_sans,&g_cinecavB44_sans_size,0}, |
|---|
| 252 | { "cc_fonts/cinecavB30_casual.bwin_font",false,(uint8_t*)g_cinecavB30_casual,&g_cinecavB30_casual_size,0}, |
|---|
| 253 | { "cc_fonts/cinecavB36_casual.bwin_font",false,(uint8_t*)g_cinecavB36_casual,&g_cinecavB36_casual_size,0}, |
|---|
| 254 | { "cc_fonts/cinecavB45_casual.bwin_font",false,(uint8_t*)g_cinecavB45_casual,&g_cinecavB45_casual_size,0}, |
|---|
| 255 | { "cc_fonts/cinecavB25_script.bwin_font",false,(uint8_t*)g_cinecavB25_script,&g_cinecavB25_script_size,0}, |
|---|
| 256 | { "cc_fonts/cinecavB28_script.bwin_font",false,(uint8_t*)g_cinecavB28_script,&g_cinecavB28_script_size,0}, |
|---|
| 257 | { "cc_fonts/cinecavB38_script.bwin_font",false,(uint8_t*)g_cinecavB38_script,&g_cinecavB38_script_size,0}, |
|---|
| 258 | { "cc_fonts/cinecavB28_sc.bwin_font",false,(uint8_t*)g_cinecavB28_sc,&g_cinecavB28_sc_size,0}, |
|---|
| 259 | { "cc_fonts/cinecavB35_sc.bwin_font",false,(uint8_t*)g_cinecavB35_sc,&g_cinecavB35_sc_size,0}, |
|---|
| 260 | { "cc_fonts/cinecavB45_sc.bwin_font",false,(uint8_t*)g_cinecavB45_sc,&g_cinecavB45_sc_size,0}, |
|---|
| 261 | /*1080i Italic Fonts */ |
|---|
| 262 | { "cc_fonts/cinecavB32i_type.bwin_font",false,(uint8_t*)g_cinecavB32i_type,&g_cinecavB32i_type_size,0}, |
|---|
| 263 | { "cc_fonts/cinecavB41i_type.bwin_font",false,(uint8_t*)g_cinecavB41i_type,&g_cinecavB41i_type_size,0}, |
|---|
| 264 | { "cc_fonts/cinecavB49i_type.bwin_font",false,(uint8_t*)g_cinecavB49i_type,&g_cinecavB49i_type_size,0}, |
|---|
| 265 | { "cc_fonts/cinecavB28i_serif.bwin_font",false,(uint8_t*)g_cinecavB28i_serif,&g_cinecavB28i_serif_size,0}, |
|---|
| 266 | { "cc_fonts/cinecavB35i_serif.bwin_font",false,(uint8_t*)g_cinecavB35i_serif,&g_cinecavB35i_serif_size,0}, |
|---|
| 267 | { "cc_fonts/cinecavB44i_serif.bwin_font",false,(uint8_t*)g_cinecavB44i_serif,&g_cinecavB44i_serif_size,0}, |
|---|
| 268 | { "cc_fonts/cinecavB34i_mono.bwin_font",false,(uint8_t*)g_cinecavB34i_mono,&g_cinecavB34i_mono_size,0}, |
|---|
| 269 | { "cc_fonts/cinecavB43i_mono.bwin_font",false,(uint8_t*)g_cinecavB43i_mono,&g_cinecavB43i_mono_size,0}, |
|---|
| 270 | { "cc_fonts/cinecavB52i_mono.bwin_font",false,(uint8_t*)g_cinecavB52i_mono,&g_cinecavB52i_mono_size,0}, |
|---|
| 271 | { "cc_fonts/cinecavB28i_sans.bwin_font",false,(uint8_t*)g_cinecavB28i_sans,&g_cinecavB28i_sans_size,0}, |
|---|
| 272 | { "cc_fonts/cinecavB35i_sans.bwin_font",false,(uint8_t*)g_cinecavB35i_sans,&g_cinecavB35i_sans_size,0}, |
|---|
| 273 | { "cc_fonts/cinecavB44i_sans.bwin_font",false,(uint8_t*)g_cinecavB44i_sans,&g_cinecavB44i_sans_size,0}, |
|---|
| 274 | { "cc_fonts/cinecavB30i_casual.bwin_font",false,(uint8_t*)g_cinecavB30i_casual,&g_cinecavB30i_casual_size,0}, |
|---|
| 275 | { "cc_fonts/cinecavB36i_casual.bwin_font",false,(uint8_t*)g_cinecavB36i_casual,&g_cinecavB36i_casual_size,0}, |
|---|
| 276 | { "cc_fonts/cinecavB45i_casual.bwin_font",false,(uint8_t*)g_cinecavB45i_casual,&g_cinecavB45i_casual_size,0}, |
|---|
| 277 | { "cc_fonts/cinecavB25i_script.bwin_font",false,(uint8_t*)g_cinecavB25i_script,&g_cinecavB25i_script_size,0}, |
|---|
| 278 | { "cc_fonts/cinecavB28i_script.bwin_font",false,(uint8_t*)g_cinecavB28i_script,&g_cinecavB28i_script_size,0}, |
|---|
| 279 | { "cc_fonts/cinecavB38i_script.bwin_font",false,(uint8_t*)g_cinecavB38i_script,&g_cinecavB38i_script_size,0}, |
|---|
| 280 | { "cc_fonts/cinecavB28i_sc.bwin_font",false,(uint8_t*)g_cinecavB28i_sc,&g_cinecavB28i_sc_size,0}, |
|---|
| 281 | { "cc_fonts/cinecavB35i_sc.bwin_font",false,(uint8_t*)g_cinecavB35i_sc,&g_cinecavB35i_sc_size,0}, |
|---|
| 282 | { "cc_fonts/cinecavB45i_sc.bwin_font",false,(uint8_t*)g_cinecavB45i_sc,&g_cinecavB45i_sc_size,0}, |
|---|
| 283 | { "",false,0,0,0}, |
|---|
| 284 | }; |
|---|
| 285 | #else |
|---|
| 286 | static mem_io_t g_files[] = |
|---|
| 287 | { |
|---|
| 288 | { "",false,0,0,0}, |
|---|
| 289 | }; |
|---|
| 290 | #endif |
|---|
| 291 | |
|---|
| 292 | size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream) |
|---|
| 293 | { |
|---|
| 294 | mem_io_t *file = (mem_io_t*)stream; |
|---|
| 295 | BDBG_ASSERT(file); |
|---|
| 296 | |
|---|
| 297 | size = size * nmemb; |
|---|
| 298 | if (file->cnt + size > *(file->size)) |
|---|
| 299 | { |
|---|
| 300 | BDBG_WRN(("Requesting more bytes than available (cnt = %d, size = %d,total = %d)\n", |
|---|
| 301 | file->cnt,size,*(file->size))); |
|---|
| 302 | size = *(file->size) - file->cnt; |
|---|
| 303 | } |
|---|
| 304 | |
|---|
| 305 | memcpy(ptr,&(file->data[file->cnt]),size); |
|---|
| 306 | file->cnt += size; |
|---|
| 307 | |
|---|
| 308 | return size; |
|---|
| 309 | } |
|---|
| 310 | size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream) |
|---|
| 311 | { |
|---|
| 312 | mem_io_t *file = (mem_io_t*)stream; |
|---|
| 313 | BDBG_ASSERT(file); |
|---|
| 314 | |
|---|
| 315 | size = size * nmemb; |
|---|
| 316 | if (file->cnt + size > *(file->size)) |
|---|
| 317 | { |
|---|
| 318 | BDBG_WRN(("Attempt to write more bytes than available (cnt = %d, size = %d,total = %d)\n", |
|---|
| 319 | file->cnt,size,*(file->size))); |
|---|
| 320 | size = *(file->size) - file->cnt; |
|---|
| 321 | } |
|---|
| 322 | |
|---|
| 323 | memcpy(&(file->data[file->cnt]),ptr,size); |
|---|
| 324 | file->cnt += size; |
|---|
| 325 | return size; |
|---|
| 326 | } |
|---|
| 327 | FILE *fopen(const char *path, const char *mode) |
|---|
| 328 | { |
|---|
| 329 | int idx = 0; |
|---|
| 330 | |
|---|
| 331 | while(g_files[idx].data != NULL) |
|---|
| 332 | { |
|---|
| 333 | if ((strcmp(path,g_files[idx].name) == 0) && !g_files[idx].open) |
|---|
| 334 | { |
|---|
| 335 | g_files[idx].open = true; |
|---|
| 336 | g_files[idx].cnt = 0; |
|---|
| 337 | return &(g_files[idx]); |
|---|
| 338 | } |
|---|
| 339 | idx++; |
|---|
| 340 | } |
|---|
| 341 | return NULL; |
|---|
| 342 | } |
|---|
| 343 | int fclose(FILE *stream) |
|---|
| 344 | { |
|---|
| 345 | mem_io_t *file = (mem_io_t*)stream; |
|---|
| 346 | BDBG_ASSERT(file); |
|---|
| 347 | file->open = false; |
|---|
| 348 | return 0; |
|---|
| 349 | } |
|---|
| 350 | int fseek(FILE *stream, long offset, int whence) |
|---|
| 351 | { |
|---|
| 352 | mem_io_t *file = (mem_io_t*)stream; |
|---|
| 353 | switch(whence) |
|---|
| 354 | { |
|---|
| 355 | default: |
|---|
| 356 | case SEEK_SET: file->cnt = offset; break; |
|---|
| 357 | case SEEK_CUR: file->cnt += offset; break; |
|---|
| 358 | case SEEK_END: file->size += offset; break; |
|---|
| 359 | } |
|---|
| 360 | return file->cnt; |
|---|
| 361 | } |
|---|
| 362 | |
|---|
| 363 | long ftell(FILE *stream) |
|---|
| 364 | { |
|---|
| 365 | mem_io_t *file = (mem_io_t*)stream; |
|---|
| 366 | return (long) file->cnt; |
|---|
| 367 | } |
|---|
| 368 | |
|---|
| 369 | int fflush(FILE *stream) |
|---|
| 370 | { |
|---|
| 371 | return 0; |
|---|
| 372 | } |
|---|
| 373 | |
|---|
| 374 | |
|---|
| 375 | |
|---|