📄 osd.lst
字号:
256 BOOL fOn = Enable (TRUE) or Disable (FALSE).
257 Returns: None.
258 Notes: [1]118
259 ------------------------------------------------------------------- */
260 void OSD_EnableWindow (
261 UB8 bWindow,
262 BOOL fOn
263 )
264 {
265 1 UB8 bData;
266 1
267 1
268 1 if (bWindow & OSD_WINDOW1)
269 1 {
270 2 ////////////////////////////////////////////////////////
271 2 // [JC010] OSD Image Retention issue fixed by JC 09:15AM 2006/04/25
272 2 #ifdef NOT_JUNK
bData = BITEK_RxByte(OSD_MAD, VP_143_OSD1_ATTR4);
if ( fOn )
bData |= VP_MASK_OSD1_EN;
else
bData &= (~VP_MASK_OSD1_EN);
BITEK_TxByte(OSD_MAD, VP_143_OSD1_ATTR4, bData);
#endif
282 2
283 2 bData = BITEK_RxByte(OSD_MAD, VP_13A_OSD1_POSITION_MSB);
284 2
285 2 if ( fOn )
286 2 bData &= (~VP_MASK_H_POSITION_OFF);
287 2 else
288 2 bData |= VP_MASK_H_POSITION_OFF;
289 2
290 2 BITEK_TxByte(OSD_MAD, VP_13A_OSD1_POSITION_MSB, bData);
291 2 ////////////////////////////////////////////////////////
292 2 }
293 1
294 1 if (bWindow & OSD_WINDOW2)
295 1 {
296 2 bData = BITEK_RxByte(OSD_MAD, VP_151_OSD2_ATTR4);
297 2
298 2 if ( fOn )
299 2 bData |= VP_MASK_OSD2_EN;
300 2 else
301 2 bData &= (~VP_MASK_OSD2_EN);
302 2
C51 COMPILER V7.50 OSD 02/05/2007 16:33:25 PAGE 6
303 2 BITEK_TxByte(OSD_MAD, VP_151_OSD2_ATTR4, bData);
304 2 }
305 1
306 1 if (bWindow & OSD_WINDOW3)
307 1 {
308 2 bData = BITEK_RxByte(OSD_MAD, VP_15F_OSD3_ATTR4);
309 2
310 2 if ( fOn )
311 2 bData |= VP_MASK_OSD3_EN;
312 2 else
313 2 bData &= (~VP_MASK_OSD3_EN);
314 2
315 2 BITEK_TxByte(OSD_MAD, VP_15F_OSD3_ATTR4, bData);
316 2 }
317 1 } /* OSD_EnableWindow */
318
319
320
321 /* -------------------------------------------------------------------
322 Name: OSD_FillCharAttr - (OSD_BIT1611B)
323 Purpose:
324 To fill OSD display RAM with the same character attribute.
325
326 Passed:
327 bOffset = The character attribute start location.
328 bCnt = The number of filled characters (1..255).
329 bCharAttr = The same character attribute.
330 Returns: None.
331 Notes:
332 ------------------------------------------------------------------- */
333 void OSD_FillCharAttr (
334 UB8 bOffset,
335 UB8 bCnt, // 1..255
336 UB8 bCharAttr // Char Attribute
337 )
338 {
339 1 BITEK_TxRepeat(OSD_MAD, VP_0580_05FF_DISPLAY_ATTR + bOffset, bCnt, bCharAttr);
340 1 } /* OSD_FillCharAttr */
341
342
343 /* -------------------------------------------------------------------
344 Name: OSD_FillCharCode - (OSD_BIT1611B)
345 Purpose:
346 To fill OSD display RAM with the same character code.
347
348 Passed:
349 bOffset = The character code start location.
350 bCnt = The number of filled characters (1..255).
351 bCharCode = The same character code.
352 Returns: None.
353 Notes:
354 ------------------------------------------------------------------- */
355 void OSD_FillCharCode (
356 UB8 bOffset,
357 UB8 bCnt, // 1..255
358 UB8 bCharCode // Character Code
359 )
360 {
361 1 BITEK_TxRepeat(OSD_MAD, VP_0500_057F_DISPLAY_CODE + bOffset, bCnt, bCharCode);
362 1 } /* OSD_FillCharCode */
363
364
C51 COMPILER V7.50 OSD 02/05/2007 16:33:25 PAGE 7
365 /* -------------------------------------------------------------------
366 Name: OSD_FillCharCodeAttr - (OSD_BIT1611B)
367 Purpose:
368 To fill OSD display RAM with the same character code and attribute.
369
370 Passed:
371 bOffset = The character start location.
372 bCnt = The number of filled characters (1..255).
373 bCharCode = The same character code.
374 bCharAttr = The same character attribute.
375 5 4 3 2 1 0
376 | | | |_|_|_ Foregound Attribute Index (0..7)
377 |_|_|_______ Backgound Attribute Index (0..7)
378 Returns: None.
379 Notes:
380 ------------------------------------------------------------------- */
381 void OSD_FillCharCodeAttr (
382 UB8 bOffset,
383 UB8 bCnt, // 1..255
384 UB8 bCharCode, // Char Code
385 UB8 bCharAttr // Char Attribute
386 )
387 {
388 1 BITEK_TxRepeat(OSD_MAD, VP_0500_057F_DISPLAY_CODE + bOffset, bCnt, bCharCode);
389 1 BITEK_TxRepeat(OSD_MAD, VP_0580_05FF_DISPLAY_ATTR + bOffset, bCnt, bCharAttr);
390 1 } /* OSD_FillCharCodeAttr */
391
392
393 /* -------------------------------------------------------------------
394 Name: OSD_Init - (OSD_BIT1611B)
395 Purpose: To initialize OSD module.
396 Passed: None.
397 Returns: None.
398 Notes:
399 ------------------------------------------------------------------- */
400 void OSD_Init (void)
401 {
402 1 // [1]116 Setup Palette for Background and Foregound !
403 1 BITEK_TxBurst(OSD_MAD, VP_0600_063F_PALETTE, sizeof(abOSD_Palette), abOSD_Palette);
404 1
405 1
406 1 /* ####################################
407 1 Windows 1
408 1 #################################### */
409 1 OSD_FillCharCodeAttr(OSD_WINDOW1_BASE,
410 1 OSD_WINDOW1_AREA,
411 1 ' ',
412 1 OSD1_COLOR_HILIGHT);
413 1
414 1 // To normal row #0 of Window 1
415 1 OSD_FillCharAttr(OSD_WINDOW1_BASE,
416 1 OSD_WINDOW1_WIDTH,
417 1 OSD1_COLOR_NORMAL );
418 1
419 1
420 1 // [1]118 OSD1 Display RAM Start Index
421 1 BITEK_TxByte(OSD_MAD, VP_13D_OSD1_RAM_INDEX, OSD_WINDOW1_BASE);
422 1
423 1 // [1]118 OSD1 OSD Fade Level
424 1 BITEK_TxByte(OSD_MAD, VP_13E_OSD1_FADE_LEVEL, OSD1_FADE_LEVEL);
425 1
426 1 // [1]118 OSD1 OSD BORDER
C51 COMPILER V7.50 OSD 02/05/2007 16:33:25 PAGE 8
427 1 BITEK_TxByte(OSD_MAD, VP_13F_OSD1_BORDER_SEL, OSD1_BORDER);
428 1
429 1 // [1]118 OSD1 OSD BORDER Attr
430 1 BITEK_TxByte(OSD_MAD, VP_140_OSD1_ATTR1, OSD1_BORDER_ATTR);
431 1
432 1 // [1]118 OSD1 Attribute 1
433 1 BITEK_TxByte(OSD_MAD, VP_141_OSD1_ATTR2, OSD1_CHAR_SIZE);
434 1
435 1 // [1]118 OSD1 Attribute 2
436 1
437 1 ////////////////////////////////////////////////////////
438 1 // [JC010] OSD Image Retention issue fixed by JC 09:15AM 2006/04/25
439 1 //BITEK_TxByte(OSD_MAD, VP_143_OSD1_ATTR4, OSD1_LINE_BLINK);
440 1 BITEK_TxByte(OSD_MAD, VP_143_OSD1_ATTR4, OSD1_LINE_BLINK | VP_MASK_OSD1_EN);
441 1 ////////////////////////////////////////////////////////
442 1
443 1 OSD_SetWindow(OSD_WINDOW1,
444 1 OSD_WINDOW1_H, // in clocks
445 1 OSD_WINDOW1_V, // in horizontal lines
446 1 OSD_WINDOW1_WIDTH, // in characters
447 1 OSD_WINDOW1_HEIGHT ); // in rows
448 1
449 1
450 1 /* ####################################
451 1 Windows 2
452 1 #################################### */
453 1 OSD_FillCharCodeAttr(OSD_WINDOW2_BASE,
454 1 OSD_WINDOW2_AREA,
455 1 ' ',
456 1 OSD2_COLOR_NORMAL);
457 1
458 1 // [1]119 OSD2 Display RAM Start Index
459 1 BITEK_TxByte(OSD_MAD, VP_14B_OSD2_RAM_INDEX, OSD_WINDOW2_BASE);
460 1
461 1 // [1]119 OSD2 OSD Fade Level
462 1 BITEK_TxByte(OSD_MAD, VP_14C_OSD2_FADE_LEVEL, OSD2_FADE_LEVEL);
463 1
464 1 // [1]119 OSD2 OSD BORDER
465 1 BITEK_TxByte(OSD_MAD, VP_14D_OSD2_BORDER_SEL, OSD2_BORDER);
466 1
467 1 // [1]119 OSD2 OSD BORDER Attr
468 1 BITEK_TxByte(OSD_MAD, VP_14E_OSD2_ATTR1, OSD2_BORDER_ATTR);
469 1
470 1
471 1 // [1]119 OSD2 Attribute 1
472 1 BITEK_TxByte(OSD_MAD, VP_14F_OSD2_ATTR2, OSD2_CHAR_SIZE);
473 1
474 1 // [1]119 OSD2 Attribute 2
475 1 BITEK_TxByte(OSD_MAD, VP_151_OSD2_ATTR4, OSD2_LINE_BLINK);
476 1
477 1 OSD_SetWindow(OSD_WINDOW2,
478 1 OSD_WINDOW2_H, // in clocks
479 1 OSD_WINDOW2_V, // in horizontal lines
480 1 OSD_WINDOW2_WIDTH, // in characters
481 1 OSD_WINDOW2_HEIGHT ); // in rows
482 1
483 1
484 1 /* ####################################
485 1 Windows 3
486 1 #################################### */
487 1 OSD_FillCharCodeAttr(OSD_WINDOW3_BASE,
488 1 OSD_WINDOW3_AREA,
C51 COMPILER V7.50 OSD 02/05/2007 16:33:25 PAGE 9
489 1 ' ',
490 1 OSD3_COLOR_NORMAL );
491 1
492 1 // To HILIGHT row #0 of Window 3
493 1 OSD_FillCharAttr(OSD_WINDOW3_BASE,
494 1 OSD_WINDOW3_WIDTH,
495 1 OSD3_COLOR_HILIGHT );
496 1
497 1 #if (MENU_STYLE_CFG == MENU_STYLE_SCROLLING_3)
// Nothing
#else
501 1 // ICON of Window 3
502 1 OSD_FillCharAttr(OSD_WINDOW3_BASE + OSD_X_ICON,
503 1 1,
504 1 OSD3_COLOR_ICON );
505 1 #endif
506 1
507 1 // [1]120 OSD3 Display RAM Start Index
508 1 BITEK_TxByte(OSD_MAD, VP_159_OSD3_RAM_INDEX, OSD_WINDOW3_BASE);
509 1
510 1 // [1]120 OSD3 OSD Fade Level
511 1 BITEK_TxByte(OSD_MAD, VP_15A_OSD3_FADE_LEVEL, OSD3_FADE_LEVEL);
512 1
513 1 // [1]120 OSD3 OSD BORDER
514 1 BITEK_TxByte(OSD_MAD, VP_15B_OSD3_BORDER_SEL, OSD3_BORDER);
515 1
516 1 // [1]120 OSD3 OSD BORDER Attr
517 1 BITEK_TxByte(OSD_MAD, VP_15C_OSD3_ATTR1, OSD3_BORDER_ATTR);
518 1
519 1
520 1 // [1]120 OSD3 Attribute 1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -