2012-06-07 4 views

답변

5

아주 긴 경로가 두렵습니다.

먼저 VGA 출력 주변 장치를 가져 가야합니다. 이는 메모리에서 값을 가져 와서 동기 펄스에 비례하여 적절한 RGB 값을 화면에 보냅니다 (생성해야 함).

일단 작업을 마치면 표시하려는 문자 모양의 점 집합을 메모리에 쓰게되므로 간단한 비트 맵 글꼴이 필요합니다. 또는 메모리를 문자 지향으로 만들 수 있습니다. 따라서 프로세서는 ASCII 값 집합을 넣어야하고 VGA 출력은 내부 글꼴 찾아보기 테이블에서 i를 찾아 보게됩니다. 'a'(말)는 그 시점에 만드는 디스플레이의 어느 라인에 있어야합니다.

비디오 출력은 좋은 재미 프로젝트입니다!

0

마틴의 말에 더 해킹을 통해 해킹을 줄이려면 세그먼트 라이브러리를 만들 수 있습니다. 내가 말하는 바를 이해하려면 7 세그먼트 디스플레이를 살펴보면 각 세그먼트가 개별적으로 켜져 0-9의 값을 만들 수 있습니다. 기본적으로 라이브러리를 작성하여 각 세그먼트를 만든 다음이를 표시 할 수 있습니다. 자기 자리, 10 자리 등등. 다음은 오른쪽 하단에 세그먼트를 표시하는 일부 코드 스 니펫입니다.

/* 
    __5__ 
|  | 
1|__6__|3 
|  | 
2|_____|4 
    7 
    offset referring to the position meaning tens or ones place. 
    If you would like ones place, call seg_1(0) for example and 
if you would like tens place, call seg_1(1) and so forth. 
*/ 

void seg_1(int offset) { 
    for(i = 360; i < 420; i++) //y-axis 
    { 
     for(j = 540-(offset*120) ; j < 560-(offset*120); j++) //x-axis 
     { 
      Vga_Set_Pixel(VGA_0_BASE,j,i); 
     } 
    } 
} 

void seg_2(int offset) { 
    for(i = 420; i < 460; i++) //y-axis 
    { 
     for(j = 540-(offset*120) ; j < 560-(offset*120); j++) //x-axis 
     { 
      Vga_Set_Pixel(VGA_0_BASE,j,i); 
     } 
    } 
} 
... 
...