텍스트 모드

Text mode

텍스트 모드는 콘텐츠를 개별 픽셀이 아닌 문자로 컴퓨터 화면에 내부적으로 표시하는 컴퓨터 디스플레이 모드다.일반적으로 화면은 문자 집합의 문자 중 하나를 포함하는 균일한 직사각형 문자 셀 그리드로 구성되며, 동시에 모든 지점 주소 지정(APA) 모드 또는 기타 종류의 컴퓨터 그래픽 모드와 대조된다.

텍스트 모드 애플리케이션은 명령줄 인터페이스텍스트 사용자 인터페이스를 사용하여 사용자와 통신한다.텍스트 모드 어플리케이션에 사용되는 많은 문자 집합은 또한 그리기 상자 및 기타 기초 그래픽에 사용할 수 있는 미리 정의된 반그래픽 문자의 제한된 집합을 포함하며, 이 문자는 GUI 프로그램에서 발견되는 내용을 강조하거나 위젯 또는 제어 인터페이스 객체를 시뮬레이션하는 데 사용할 수 있다.대표적인 예가 IBM 코드 페이지 437 문자 집합이다.

텍스트 모드 프로그램의 중요한 특징은 화면에 모든 문자의 너비가 동일한 모노스페이스 글꼴을 가정하여 반그래픽 문자를 표시할 때 수직 정렬을 쉽게 유지할 수 있다는 것이다.이것은 고정된 피치를 가지고 있던 초기 기계 프린터를 비유한 것이었다.이렇게 하면, 화면에 보이는 출력은 동일한 포맷을 유지한 프린터로 직접 전송될 수 있다.

환경에 따라 화면 버퍼주소를 직접 지정할 수 있다.원격 비디오 단말기에 출력을 표시하는 프로그램은 화면 버퍼를 조작하기 위해 특별한 제어 시퀀스를 발행해야 한다.그러한 제어 시퀀스에 가장 인기 있는 표준은 ANSIVT100이다.

제어 시퀀스를 통해 화면 버퍼에 액세스하는 프로그램은 많은 텍스트 모드 프로그램들이 Ctrl-L 키 조합과 관련된 모든 명령을 재표시하도록 실제 디스플레이와의 동기화를 잃을 수 있다.

역사

텍스트 모드 비디오 렌더링은 1970년대 초 컴퓨터 상호 작용에서 비디오 지향 텍스트 단말기가 텔레프린터를 대체하기 시작하면서 두각을 나타냈다.

혜택들

그래픽 모드에 비해 텍스트 모드의 장점은 메모리 소모가 적고 화면 조작이 빠르다는 것이다.[1]1970년대에 문자 단말기가 텔레프린터를 대체하기 시작했을 때, 그 기간 동안의 극도로 높은 랜덤 액세스 메모리 비용은 컴퓨터가 스크린에 모든 픽셀의 현재 값을 동시에 저장할 수 있는 충분한 메모리를 설치하는 것을 터무니없이 비싸게 만들었다. 그것은 오늘날 프레임 버퍼라고 불릴 만한 것을 형성한다.초기 프레임 버퍼는 연결된 고급 고해상도 디스플레이 비용 외에 수천 달러가 드는 독립형 장치였다.단순한 선 그래픽이 필요하지만 프레임 버퍼 비용을 정당화할 수 없는 애플리케이션에서 벡터 디스플레이는 인기 있는 해결책이었다.그러나 많은 컴퓨터 응용 프로그램(예: 데이터베이스로의 데이터 입력)이 있었으며, 필요한 것은 일반 텍스트를 빠르고 비용 효율적인 방식으로 음극선 튜브에 렌더링할 수 있는 기능뿐이었다.

텍스트 모드는 전용 디스플레이 하드웨어를 브라운관에 의해 스크린의 각 스캔과 함께 문자의 각 텍스트 라인을 픽셀로 리렌더하도록 함으로써 값비싼 메모리 문제를 방지한다.차례로 디스플레이 하드웨어는 한 번에 한 줄의 텍스트(또는 그보다 더 작은)에 해당하는 픽셀을 저장하기에 충분한 메모리만 필요로 한다.따라서 컴퓨터의 화면 버퍼는 기본 텍스트 문자("텍스트 모드"라는 이름을 정함)만을 저장하고 알고 있으며, 이러한 문자를 나타내는 실제 픽셀이 단일 통합 이미지로 존재하는 유일한 위치는 사용자가 보는 화면 그 자체(시력의 지속성 현상 덕택)뿐이다.

예를 들어 80 x 25 문자의 표준 그리드를 저장할 수 있을 정도로 충분한 화면 버퍼에는 최소 2,000 바이트가 필요하다.[1]단색 디스플레이, 바이트당 8비트, 그리고 각 문자당 8배 8비트의 표준 크기를 가정할 때, 결과 화면의 모든 픽셀을 저장할 수 있을 정도로 큰 프레임 버퍼는 최소 128,000비트, 16,000바이트 또는 16 킬로바이트 미만이 필요할 것이다.현대 컴퓨터의 기준으로 보면 이런 것들이 사소한 메모리 양처럼 보일 수도 있지만, 문맥상으로는 애플 II의 원본은 1977년 메모리가 4킬로바이트에 불과하고 가격은 미국 달러로 1300달러(미국의 최저임금이 시간당 2.30달러에 불과했던 당시)에 출시됐다.더욱이, 사업적 관점에서, 문자 단말기의 비즈니스 케이스는 대체하기로 되어 있는 종이에 목마른 텔레프린터보다 더 저렴하게 생산되고 운영될 수 있지 않는 한, 말이 되지 않았다.

텍스트 모드의 또 다른 장점은 원격 단말기 사용 시 대역폭 요구사항이 상대적으로 낮다는 것이다.따라서 텍스트 모드 원격 터미널은 복잡한 래스터 그래픽 원격 pr과는 반대로 텍스트 모드에서 각 화면 업데이트에 대해 수십 바이트만 전송하면 될 수 있기 때문에 동일한 양의 대역폭에 연결된 그래픽 모드 원격 터미널보다 훨씬 더 빠르게 화면을 업데이트할 수 있다(그리고 응답성이 더 좋아 보일 것이다).전체 비트맵의 전송 및 렌더링이 필요할 수 있는 호출.

사용자 정의 문자

Norton Utilities 6.01은 텍스트 모드에서 작은 그래픽 위젯, 아이콘 및 화살표 포인터를 표시하도록 문자 집합을 재정의하는 고급 TUI의 예다.

텍스트 모드와 그래픽 프로그램 사이의 경계가 때때로 모호할 수 있는데, 특히 PC의 VGA 하드웨어에서는 많은 후기 텍스트 모드 프로그램이 비디오 컨트롤러를 사용하여 모델을 극한으로 밀어내려고 하기 때문이다.예를 들어, 그들은 사용자 정의 반그래픽 문자를 만들기 위해 문자 집합을 재정의하거나, 심지어 주어진 시간에 마우스 포인터가 표시되는 문자의 모양을 재정의하여 그래픽 마우스 포인터의 모양을 만들었다.

사용자 정의 문자를 사용한 텍스트 모드 렌더링은 픽셀 지향 렌더링보다 게임 화면을 훨씬 빠르게 조작할 수 있기 때문에 2D 컴퓨터와 비디오 게임에도 유용하게 쓰였다.

기술근거

텍스트 모드를 구현하는 비디오 컨트롤러는 일반적으로 두 개의 뚜렷한 메모리 영역을 사용한다.문자 메모리 또는 패턴 테이블에는 사용 중인 래스터 글꼴이 포함되어 있으며, 여기서 각 문자는 도트 행렬(비트행렬)로 표시되므로 문자 메모리는 3차원 비트 배열로 간주할 수 있다.표시 매트릭스(텍스트 버퍼, 화면 버퍼 또는 이름 지정 가능)는 각 셀에 있는 문자를 추적한다.단순한 경우 표시 매트릭스는 코드 포인트의 행렬일 수 있지만(따라서 이름 붙여진 문자 포인터 테이블), 일반적으로 코드뿐만 아니라 속성도 각 문자 위치에 저장한다.

L\C 0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
1
0
0
0
0
1
0
1
0
0
1
1
0
0
0
1
1
1
00000000
11111111
00001111
00110011
01010101
11…
00…
00…
00…
01…
00000
00001
00010
00011
00100
00101
00110
00111
01000
01001
… … …
Character generator scheme.svg
문자 상자 및 해당 전자 구성표 샘플.글리프는 8×8픽셀이며 스캔 라인과 도트 카운터의 3비트 낮은 부분을 가지고 있다.화면은 20×18과 32×32 문자 셀 사이에 있으며, 5비트 지수를 가지고 있다.

컴퓨터 모니터에 가장 많이 사용되는 래스터 스캔 출력물의 경우, 해당 영상 신호는 영상기술에 사용되는 동명의 장치와 유사한 특수 전자장치인 문자 생성기에 의해 만들어진다.비디오 컨트롤러에는 스캔 라인 카운터와 도트 카운터라는 두 개의 레지스터가 있으며, 화면 도트 매트릭스에서 좌표 역할을 한다.표시 행렬에서 색인을 얻으려면 각각 해당 글리프 크기로 나누어야 하며, 나머지는 글리프 행렬의 색인이다.만약 글리프 크기가 2n 같다면, 단지 사용하는 것이 가능하다.n글리프 행렬의 인덱스로 이진 레지스터의 낮은 비트 및 표시 행렬의 인덱스로서의 나머지 비트 비트는 구성표를 참조하십시오.

문자 메모리는 일부 시스템의 읽기 전용 메모리에 상주한다.다른 시스템에서는 이러한 목적을 위해 RAM을 사용할 수 있으므로, 형식과 심지어 응용 프로그램 특정 목적을 위한 문자 집합까지 재정의할 수 있다.또한 RAM 기반 문자를 사용하면 비트맵을 위해 일부 문자를 예약하고 해당 문자 메모리에 픽셀을 직접 작성함으로써 픽셀 그래픽 프레임 버퍼의 구현과 같은 일부 특수 기법이 용이해진다.TMS9918, MOS Technology VIC, Game Boy 그래픽 하드웨어를 포함한 일부 역사 그래픽 칩에서, 이것은 픽셀 그래픽을 하는 표준적인 방법이었다.

텍스트 모드에서는 표시되는 문자에 속성이 할당되는 경우가 많다.예를 들어, VT100 터미널은 각 문자를 밑줄 친다, 밝게 한다, 깜박인다 또는 역행으로 할 수 있다.색 지원 장치는 보통 각 문자의 색상과 종종 배경색도 제한적인 색상 팔레트에서 선택할 수 있다.이러한 속성은 문자 지수와 공존하거나 색상 메모리 또는 속성 메모리라고 하는 다른 메모리 영역을 사용할 수 있다.[2]

일부 텍스트 모드 구현에는 선 속성의 개념도 있다.예를 들어, 텍스트 단자의 VT100 호환 라인은 개별 텍스트 라인에 있는 문자의 너비와 높이를 두 배로 증가시키는 것을 지원한다.

PC 공통 텍스트 모드

사용하는 그래픽 어댑터에 따라 IBM PC 호환 컴퓨터에서 다양한 텍스트 모드를 사용할 수 있다.아래 표에 나열되어 있다.[3]

텍스트 res. 차크기 그래픽이 다시 표시됨. 컬러스 어댑터
80×25 9×14 720×350 B&W 텍스트 MDA, 헤라클레스
40×25 8×8 320×200 16색 CGA, EGA
80×25 8×8 640×200 16색 CGA, EGA
80×25 8×14 640×350 16색 EGA
80×43 8×8 640×350 16색 EGA
80×25 9×16 720×400 16색 VGA
80×30 8×16 640×480 16색 VGA
80×50 9×8 720×400 16색 VGA
80×60 16색 VESA 호환 슈퍼 VGA
132×25 16색 VESA 호환 슈퍼 VGA
132×43 16색 VESA 호환 슈퍼 VGA
132×50 16색 VESA 호환 슈퍼 VGA
132×60 16색 VESA 호환 슈퍼 VGA

MDA 텍스트는 밝은 색, 밑줄, 반전 및 깜박임 속성으로 강조될 수 있다.

일반적으로 비디오 카드는 역호환성이 있다. 즉, EGA는 모든 MDA 및 CGA 모드를 지원하며 VGA는 MDA, CGA 및 EGA 모드를 지원한다.

지금까지 DOS 환경 및 초기 Windows 콘솔에서 사용되는 가장 일반적인 텍스트 모드는 기본 80열 25행, 즉 80×25이며 16색이다.이 모드는 사실상 모든 IBM과 호환되는 개인용 컴퓨터에서 사용할 수 있었다.터미널 에뮬레이터와 같은 여러 프로그램은 메인 디스플레이에 80×24만 사용하고 하단 행은 상태 표시줄에 예약했다.

80×43과 80×50이라는 두 개의 다른 VGA 텍스트 모드는 존재하지만 매우 드물게 사용되었다.40단 텍스트 모드는 텔레비전 모니터와의 호환성을 위해 고안된 다른 어플리케이션과 외부에서는 결코 그다지 인기가 없었으며, 시연 목적으로만 사용되거나 매우 오래된 하드웨어와 함께 사용되었다.

확장된 VESA 호환 Super VGA 텍스트 모드의 문자 크기와 그래픽 해상도는 제조업체에 따라 다르다.또한 이러한 디스플레이 어댑터에서는 두 번째 사용자 지정 문자 세트를 사용할 때 사용 가능한 색상을 16에서 8로 절반으로 줄일 수 있다(일반적인 256 대신 총 512개의 레퍼토리를 제공).

일부 카드(예: S3)는 100×37 또는 160×120과 같은 매우 큰 사용자 정의 텍스트 모드를 지원했다.Linux 시스템에서는 SVGATextMode라는 프로그램이 SVGA 카드와 함께 종종 사용되어 분할 화면 터미널 멀티플렉서와 같이 매우 큰 콘솔 텍스트 모드를 설정한다.

현대적 용법

그래픽 인터페이스가 있는 많은 현대 프로그램들은 텍스트 모드 프로그램의 표시 스타일을 시뮬레이션하는데, 특히 컴퓨터 프로그래밍 중 텍스트의 수직 정렬을 유지하는 것이 중요한 경우에 그러하다.터미널 에뮬레이터나 명령줄 콘솔과 같이 텍스트 모드를 에뮬레이트하는 소프트웨어 구성 요소도 존재한다.Microsoft Windows에서 Win32 콘솔은 일반적으로 에뮬레이션된 그래픽 윈도우 모드로 열린다.Alt 키와 Enter 키를 함께 눌러 전체 화면, 참 텍스트 모드로 전환할 수 있다.[4]이는 Windows Vista와 함께 도입된 WDDM 디스플레이 드라이버에서 더 이상 지원되지 않는다.[5]

Linux 가상 콘솔은 텍스트 모드에서 작동한다.대부분의 Linux 배포는 Ctrl, Alt 및 기능 키를 함께 눌러 액세스하는 여러 가상 콘솔 화면을 지원한다.

AAlib 오픈 소스 라이브러리는 PNG, WMV 등 표준 영상과 비디오 파일을 번역하여 ASCII 문자의 모음으로 표시하는 전문 프로그램과 루틴을 제공한다.이를 통해 텍스트 모드 시스템과 링스 같은 텍스트 모드 웹 브라우저에서 그래픽 파일을 초보적으로 볼 수 있다.

참고 항목

참조

  1. ^ a b Bosch, Winn L. (July 1992). "The Perfect PC". PC Magazine. 11 (13): 186. Retrieved 15 December 2015.
  2. ^ 텍스트 모드 레이아웃 및 팔레트
  3. ^ Ralf Browns 인터럽트 목록의 텍스트 모드
  4. ^ Windows에서 Alt+Enter를 사용하여 터미널 전체 화면으로 전환
  5. ^ "Some 16-bit DOS-based Programs and the Command Prompt will not run in full-screen mode in Windows Vista and in Windows 7".

외부 링크

추가 읽기