파형 그래픽스
Waveform graphics
파형 그래픽스는 DEC(Digital Equipment Corporation)가 1970년대 중반 VT55 및 VT105 단자에 도입한 단순한 벡터 그래픽 시스템입니다.메인프레임 및 미니컴퓨터에서 그래픽 출력을 생성하는 데 사용되었습니다.DEC는 특히 하드웨어를 지칭하기 위해 "파형 그래픽스"라는 용어를 사용했지만 시스템 전체를 설명하기 위해 더 일반적으로 사용되었습니다.
이 시스템은 컴퓨터 메모리를 가능한 한 적게 사용하도록 설계되었습니다.주어진 X 위치에서 주어진 Y 위치에 두 개의 점을 그릴 수 있으므로 두 개의 중첩 파형(선형 차트 또는 히스토그램)을 생성하는 데 적합합니다.텍스트와 그래픽을 혼재시킬 수 있으며, 그리기 축과 마커를 위한 추가 도구가 있습니다.
파형 그래픽 시스템은 1981년 [1]VT125에 처음 도입된 보다 정교한 ReGIS 시스템으로 대체되기 전까지 단기간만 사용되었습니다.ReGIS는 임의의 벡터 및 기타 도형을 구성할 수 있도록 했습니다.일반적으로 DEC는 새로운 터미널 모델에서 하위 호환 솔루션을 제공했지만 ReGIS가 도입되었을 때는 이를 선택하지 않았고 이후 터미널에서는 파형 그래픽이 사라졌습니다.
묘사
파형 그래픽스는 메모리가 매우 비쌌던 1975년 10월에 VT55 단말기에 도입되었습니다.당시의 [a]기술을 이용하여 프레임 버퍼를 사용하여 비트맵 디스플레이를 제작하는 것은 기술적으로 가능했지만, 합리적인 해상도로 제작하는 데 필요한 메모리는 일반적으로 그것을 실용화하기 위한 가격대를 넘어섰습니다.컴퓨터 메모리를 다른 개념으로 대체하기 위해 모든 종류의 시스템이 사용되었습니다. 예를 들어, Tektronix 4010 터미널에 사용된 저장 튜브나 Atari 2600에 사용된 제로 메모리 레이싱 더 빔 시스템입니다.DEC는 화면상의 수직 위치만을 나타내는 작은 버퍼를 교묘하게 사용하여 이 문제를 공격하기로 했습니다.이러한 시스템은 임의 도형을 그릴 수 없지만 그래프 [2]데이터를 표시할 수 있습니다.
이 시스템은 512x236픽셀 디스플레이를 [b]기반으로 X축을 따라 512개의 수직 열을 생성하고 Y축을 [c]따라 236개의 수평 열을 생성합니다.Y 위치가 아래쪽에서 위로 카운트되었으므로 좌표는 왼쪽 아래에 0.0, 오른쪽 [3]위에 511,235가 있습니다.각 위치가 1비트로 표시되는 프레임버퍼를 사용하여 구현된 경우 512 µ 236 x 1 = 120,832 비트, 즉 15,104 바이트가 필요하게 됩니다.당시 메모리의 가격은 [4]킬로바이트당 약 50달러였기 때문에 버퍼 비용만 700달러가 넘고 [5]2021년에는 3,846달러에 해당합니다.
대신 파형 그래픽 시스템은 각 X축 위치에 대해 1바이트의 메모리를 사용했으며 바이트 값은 Y 위치를 나타냅니다.이것은 각 그래프에 대해 512바이트, 두 그래프에 대해 총 1024바이트만 필요로 했습니다.선을 그으면 프로그래머는 일련의 Y 로케이션을 구성하고 개별 포인트로 [6]전송해야 했습니다.단말기는 점 자체를 연결할 수 없었습니다.이를 쉽게 하기 위해 단말기는 Y좌표를 수신할 때마다 X로케이션을 자동으로 증가시키기 때문에 매번 X로케이션을 반복 송신할 필요 없이 후속 Y로케이션의 긴 문자열로서 그래프선을 송신할 수 있습니다.도면은 일반적으로 초기 X 위치(대개 왼쪽에 0)를 설정하는 단일 명령을 보낸 다음 전체 [6]곡선에 대한 데이터를 보내는 것으로 시작됩니다.
시스템에는 두 라인 모두에 최대 512개의 마커를 저장할 수 있는 저장 공간도 포함되어 있습니다.이것들은 항상 관련지어져 있는 회선의 Y값을 중심으로 그려졌습니다.즉, X 로케이션에 대한 단순한 온/오프 표시만으로 충분하며, 필요한 것은 총 1024비트(128바이트)뿐입니다.마커는 16픽셀을 수직으로 확장했으며 16픽셀 경계에서만 정렬할 수 있었기 때문에 반드시 [7]기본 그래프에서 중앙에 위치할 필요는 없었습니다.일반적으로 어떤 종류의 기호를 사용하는 그래프에서 중요한 점을 나타내는 데 마커가 사용되었습니다.또한 시스템은 모든 수평 위치에 대해 수직선을 그리고 모든 수직 위치에 수평선을 그릴 수 있도록 했습니다.이것들은 단순한 온/오프 비트로 저장되기 때문에 128바이트의 메모리가 더 필요합니다.이러한 선은 축 및 축척 선을 그리는 데 사용되거나 화면 스팬 십자선 [8]커서에 사용할 수 있습니다.2개의 7비트 레지스터 세트에는 그리기 스타일 및 기타 설정에 대한 추가 정보가 포함되어 있습니다.
사용자의 관점에서는 복잡하지만, 이 시스템은 하드웨어에서 구현하기 쉬웠습니다.브라운관은 수평 주사 [9]후 1개의 수직선 아래로 이동하는 일련의 수평 운동으로 화면을 주사함으로써 디스플레이를 생성한다.이 프로세스 중에 디스플레이 하드웨어는 몇 개의 메모리 위치를 조사하여 표시할 필요가 있는지 여부를 확인합니다.예를 들어 레지스터 1을 검사하여 마커가 켜져 있는지 확인하고 마커 버퍼를 조사하여 현재 X 위치에 1이 있는지 확인한 후 그래프 0의 Y 위치를 검사하여 현재 스캔 [d]라인의 16픽셀 이내인지 여부를 판정할 수 있다.이 모든 것이 참일 경우 마커의 해당 부분을 나타내는 점이 그려집니다.스캔 프로세스 중에 16개의 수직 위치에 해당되므로 16픽셀의 하이마커가 [10]그려집니다.
VT55는 단독으로 판매되며 가격은 2,[11]496달러로 [5]2021년 13,715달러에 상당합니다.VT50 시리즈의 다른 모델과 같이, 화면 우측의 패널에는, 옵션의 와트 페이퍼 프린터를 탑재할 수 있습니다.이로써 2021년[5] 4396달러에 해당하는 800달러가 [12]추가됐다.
또, DEClab 11/03 시스템의 1개의 모델을 작성하기 위해서, PDP-11의 소형 모델과의 패키지로 VT55를 제공했습니다.DEClab은 보통 2021년 DECwriter II(LA36) 하드카피 단말기를 장착한 경우 14,000달러에 판매되었으며, 2021년 VT55의 [13]경우 75,924달러에 판매되었다.시스템에는 최대 15개의 랩 장치를 위한 I/O 채널이 있었고, 데이터를 읽고 그래프를 만들기 위한 FORTRAN 및 BASIC용 라이브러리가 포함되었습니다.꽤 광범위한 VT55 프로그래머 매뉴얼에서는 후자를 자세히 [14]다루었습니다.
명령 및 데이터
데이터는 VT52에 도입된 것과 유사한 확장 코드 세트를 사용하여 단말기로 전송되었습니다.VT52 코드는 일반적으로ESC 문자(8진수 33, 10진수 27) 뒤에 단일 문자 명령이 계속됩니다.예를 들어, 4글자의 문자열은 커서를 왼쪽(홈) 위에 위치시킨 다음 해당 지점에서 아래로 화면을 지웁니다.이러한 코드는 기본적으로 모델리스이며, 결과적으로 발생하는 이스케이프 모드에 의해 명령어가 완료되면 자동으로 다시 종료됩니다.이스케이프 코드는 데이터 [15]스트림의 어디에나 표시 텍스트와 함께 삽입할 수 있습니다.
이와는 대조적으로 그래픽 시스템은 완전히 모달이었고 이스케이프 시퀀스가 전송되어 단말기가 그래프 그리기 모드로 들어가거나 종료되었습니다.이 두 코드 간에 전송된 데이터는 그래픽 하드웨어에 의해 해석되므로 텍스트와 그래픽을 하나의 명령 스트림으로 혼재시킬 수 없습니다.그래픽스 모드는 string을 전송하여 시작되었으며 string과 함께 다시 종료되었습니다.그래픽스 모드 내의 명령어조차 모달이었고, 다른 로드 문자가 표시될 때까지 문자는 이전 로드 문자(명령어)의 추가 데이터로 해석되었습니다.10개의 로드 문자를 사용할 [16]수 있습니다.
@ - 마지막 명령이 더 이상 활성 상태가 아님을 단말기에 알리는 데 사용되는 조작 없음 레지스터 0에 데이터 로드, 두 그래프에 대한 그리기 모드 선택 레지스터 1에 데이터 로드, 다른 그리기 옵션 H - 다음 명령에 대한 시작 X 위치 로드(수평) 선택 B - 그래프 0에서 시작하는 Y 위치에 대한 데이터 로드e 앞서 선택한 H 위치에서 그래프 1의 Y 위치에 대한 J - 부하 데이터 먼저 선택한 H 위치에서 시작하여 그래프 1의 마커를 다음 X 위치에 저장합니다. 다음 X 위치에 그래프 0의 마커를 저장합니다. 다음 X 위치 D에 그래프 1의 마커를 저장합니다. 주어진 X 위치에 그립니다.
X 및 Y 로케이션은 ASCII 문자로 인코딩된10 비트 10 진수로 송신되어 문자당 5 비트가 할당되었습니다.즉, 1024 의 숫자 공간(2)내의10 임의의 숫자를 2 문자의 문자열로서 보존할 수 있습니다.7비트 링크를 통해 문자를 전송할 수 있도록 패턴 01은 양쪽 5비트 번호 앞에 배치되어 항상 인쇄 가능한 범위 내에 있는7비트 ASCII 값을 생성합니다.그 결과 부호화 알고리즘이 [17]다소 복잡해집니다.
예를 들어 10진수 값 102를 부호화하려면 먼저 10비트 10진수 패턴 0010010으로 변환합니다.그런 다음 상부와 하부의 5비트 부품인 00100과 10010으로 나뉩니다.그런 다음 01 바이너리를 추가하여 7비트 번호 0100100 및 0110010을 생성합니다.개별적으로 10진수 40 및 50으로 변환한 후 ASCII 차트에서 (및 2)를 찾습니다.이것들은, 우선 단말의 최하위 문자에 송신할 필요가 있습니다.X 좌표를 설정하기 위해 이 값을 사용하는 경우 전체 문자열은 입니다.그래프의 X 및 Y 위치로 사용할 경우 추가 숫자는 무시됩니다.예를 들어, 512픽셀 X축은 인코딩에 9비트만 필요하므로 10번째 비트는 무시되었습니다.마찬가지로 Y 로케이션은 9번째 및 10번째 [18]비트를 무시했습니다.
제어 레지스터에는 항상 7비트가 포함되며, 최상위 비트는 항상 [19]01비트입니다.레지스터 0에서 비트 0(최저 유의)은 전체 선 그리기 시스템을 켜거나 끕니다.비트 1과 2는 개별 그래프 0 또는 1을 켜거나 끄고, 비트 3과 4는 그래프 0과 1이 라인인지 또는 입력인지 제어하여 히스토그램을 만듭니다.예를 들어, 두 그래프를 모두 화면에 표시하는 경우 그래프 0은 히스토그램이고 그래프 1은 선이 됩니다.필요한 비트 패턴은 01011, 선두 01은 고정 비트입니다.다음 비트는 그래프 1은 라인(0), 다음 비트는 그래프 0은 히스토그램(1)이며, 두 그래프가 모두 (11) 위에 있고 그래픽 시스템 전체가 활성화 됩니다.리드 (1)결과 패턴은 / 문자인 10진수 47과 동일합니다.이 모드는 문자열로 이니블이 됩니다.
I 레지스터는 유사한 인코딩을 사용하여 로드되었지만, 비트는 마커와 수평 및 수직 라인의 표시를 제어했습니다.A와 마찬가지로 최상위 비트는 항상 01, 최하위 비트는 수평선 온/오프, 비트 1은 수직선 동일, 2와 3은 각각 그래프 0 또는 1에 마커를 표시할지 여부이며 비트 5를 설정하면 마커와 라인에 대한 모든 데이터가 지워집니다.즉, 비트 패턴 0110000, 10진수 48, 문자 0을 전송하면 디스플레이를 지울 수 있습니다.이를 통해 쉽게 읽을 수 있는 [20]명령어가 생성됩니다.
마커와 선은 하나의 좌표(X 또는 Y)만 전송하면 됩니다.마커의 경우 Y 위치는 이전에 B 또는 J로 설정된 데이터로 정의되었습니다. 라인의 경우 두 번째 좌표가 화면에 걸쳐 있습니다.예를 들어 X축의 위치 102에 스트링을 사용하여 세로줄을 배치할 수 있습니다. 세 번째 문자의 비트 5를 설정하면 마커와 선을 모두 지울 수 있으며, 그렇지 않으면 [18]사용되지 않습니다.
예
다음 예제에서는 단순한 [21]그래픽을 생성합니다.
ESC1A'I?B1111111111111111H (J6666666666666666C$09K$8D+723L 0?? 8
처음 두 문자는 단말기에 그래픽 모드를 시작하도록 지시하고, 다음 네 문자는 두 그리기 모드 레지스터를 설정하여 그래프 선과 두 마커를 모두 켜고 수평 및 수직 선을 활성화합니다.1의 문자열에 이은 B는 그래프 0을 사용하여 그려진 화면 왼쪽 하단에 8픽셀의 수평선을 생성합니다.X 로케이션은 기본 로케이션0부터 시작하여 다음 데이터 포인트마다1개의 로케이션으로 이동합니다.이 데이터 포인트는 항상 2자로 구성됩니다.다시 B를 입력할 필요가 없습니다.문자열은 모달이며 현재 명령어는 다른 명령어가 [21]발생할 때까지B 그대로입니다
이것은 H가 검출되었을 때 발생하며, 다음의 2개의 문자를 사용하여 시작 X 위치를 화면 중앙으로 이동합니다.그런 다음 J를 사용하여 그래프 1에 두 번째 선분을 그립니다.그런 다음 세그먼트를 따라 중앙에 각 선에 하나씩 두 개의 마커가 추가됩니다.선분의 너비는 16픽셀이고 마커는 항상 16픽셀 높이입니다.그 결과 하나는 왼쪽 아래에 있고 다른 하나는 가운데에 있는 십자 모양입니다.마커는 16픽셀 경계 중심에 있으며 표시 영역 외부에 그릴 수 없으므로 아래쪽 세그먼트의 첫 번째 마커가 선 위에 나타나 십자선이 아닌 거꾸로 된 T 모양이 만들어집니다.마지막 두 개의 명령어 D와 L은 화면 하단 및 중앙에 두 개의 수평선과 왼쪽, 중앙 및 오른쪽에 [21]세 개의 수직선을 생성합니다.
이 시점에서도 단말기는 여전히 그래프 그리기 모드입니다.그래프 1을 히스토그램으로 만들 수 있습니다.A7
세로 막대가 화면 중앙에서 아래로 그려집니다.보내기ESC2
그래픽 모드를 종료합니다.그래픽 모드에서는, 그 이후의 문자가 통상의 [21]텍스트로 해석됩니다.
VT105 변경
VT105는 VT55와 거의 비슷하지만 많은 기능이 추가되었습니다.하나는 디스플레이를 가로로 8자 너비 줄이고 세로 한 줄씩 늘려 원래 레이아웃보다 더 정사각형으로 만드는 정사각형 형식 모드입니다.따라서 왼쪽에 한 개의 세로줄이 아닌 여덟 글자를 사용할 수 있는 추가 공간이 남아 레이블 표시가 개선되었습니다.[22]VT105는 레지스터 0의 비트의 의미도 약간 변경했습니다.비트 1과 2는 더 이상 그래프 전체의 온/오프를 하지 않지만 그래프 표시는 그 자체를 가리킵니다.이를 통해 디스플레이는 선, 음영 히스토그램 또는 위에 [23]밝은 선이 있는 히스토그램을 만들 수 있습니다.이에 비해 VT55에서는 그래프 비트가 라인 자체뿐만 아니라 전체 데이터 세트의 표시를 제어하므로 그래프 비트를 끄면 히스토그램도 사라집니다.
또 다른 변경은 @ 명령어(이전의 명령어)를 재사용하는 것입니다.noop
새로운 Y위치를 음영선으로서 송신할 수 있도록 합니다.이 방법은 히스토그램과 함께 작동하여 채우기 방향을 변경할 수 있습니다.VT55에서는 항상 그래프에서 디스플레이 아래쪽으로, VT105에서는 음영선이 설정된 상태에서 화면 상단으로, 또는 일반적으로 데이터의 중앙점을 향해 채우도록 설정할 수 있습니다.예를 들어, 음영선이 화면 중앙으로 설정된 상태에서 사인파가 플롯된 경우 중앙 위 영역은 아래쪽으로 음영 처리되고 아래쪽 섹션은 위쪽으로 음영 처리되어 채워진 파형을 생성합니다.동일한 점에서 수평선을 활성화하면 시각적 [24]기준선이 추가됩니다.메모리에는 각 그래프에 대해 1개씩 2개의 음영선이 있었지만 @ 명령어는 1개뿐이었습니다.레지스터 1의 비트는 2개의 버퍼 중 어느 버퍼에 [25]@ 데이터가 로드되었는지 제어합니다.
또 다른 주요 추가 사항은 스트립 그래프의 개념으로, 종이가 감기는 동안 위아래로 움직이는 종이펜 플롯터를 에뮬레이트하는 모드입니다.이것들은 일반적으로 과학적 데이터를 기록하는 데 사용되었지만 아마도 오래된 거짓말 탐지기에서 가장 잘 알려져 있을 것이다.그래프 중 하나에 새 데이터 포인트가 추가됨에 따라 이전 데이터가 왼쪽으로 이동되었습니다.따라서 B 또는 J를 사용하여 일련의 Y 값을 전송하면 먼저 VT55와 같이 선이 왼쪽에서 오른쪽으로 그려지지만 추가 데이터 포인트는 이전 데이터를 [26]왼쪽으로 밀어냅니다.마커 또는 수직 축 선이 설정된 경우 데이터를 [27]따라 이 선들도 밀어 넘어졌습니다.듀얼 스트립 모드에서는 그래프 1에 데이터를 추가하면 두 그래프가 [26]동시에 이동합니다.
이러한 모든 새로운 기능은 A 및 I 명령에 추가된 옵션의 두 번째 문자를 통해 제어되었습니다.첫 번째 데이터 문자는 VT55에서와 동일하게 동작하기 때문에 [e]하위 호환성을 제공합니다.두 번째는 새로운 기능을 활성화했습니다.A 제어된 음영선 및 스트립 차트 기능으로 전송되는 두 번째 문자( 최하위 비트 0)는 @와 함께 전송되는 음영선 데이터를 그래프 0 또는 그래프 1에 로드하도록 설정하고 비트 2와 3은 각각 그래프 0 또는 그래프 1에 대해 음영선을 켜거나 끕니다.비트 3을 켜면 스트립 차트를 사용할 수 있고 비트 4는 듀얼 스트립 기능인 두 그래프 모두에 대해 스트립 차트를 사용할 수 있습니다.I 명령어의 두 번째 문자에는 ! 또는 공백의 두 가지 값만 포함되어 있습니다.보내는 !는 단말기를 사각 모드로 하고 공백 또는 아무것도 VT55와 호환되는 직사각형 형식으로 [25]남겨둡니다.
기타 상세
또, VT50 시리즈에는, 텍스트 모드로 전환할 수 있는 대체 문자 세트(그래픽 모드)도 포함되어 있습니다.이들은 라벨링 및 유사한 작업에 유용한 추가 글리프를 제공하기 위해 사용되었다.문자 중에는 첨자 0부터 9까지와 분수 1/, 2/, 3/, 5/, 7/의 윗부분이 있었다.예를 들어, 이것들은 결합되어 형성될 수 있다.3⁄7. 이 세트에는 일반 글리프, 도 기호 및 기타 일반적인 예제의 8개의 스캔 라인 각각에 수평 막대도 포함되어 있습니다.이들은 별도의 문자 코드를 사용하므로 그래픽 문자를 하나의 화면에서 [28]일반 문자 집합과 혼합할 수 있습니다.
메모들
레퍼런스
인용문
- ^ "Enhancements Give DEC Minc Graphics, Floating-Point Unit". Computerworld: 47. August 1981.
- ^ VT55 1976, 페이지 5-11
- ^ VT105 1979, 페이지 3-7
- ^ 메모리 가격(1957-2014)
- ^ a b c 1634–1699:McCusker, J.J.(1997년).얼마나 리얼 머니에 그렇죠?역사적 가격 지수를 사용하여 경제 미국의 안의 돈 가치에 관한 Deflator로:.부칙 et Corrigenda(PDF).미국 골동품 협회입니다.1700–1799:McCusker, J.J.(1992년).얼마나 리얼 머니에 그렇죠?역사적 가격 지수 이용 돈은 가치관의 경제 미국(PDF)의 Deflator로.미국 골동품 협회입니다.1800–present:연방 준비 은행이 미니애 폴리스의."소비자 물가 지수(추정)1800–".4월 16일 2022년 Retrieved.
- ^ a b VT105 1979, 페이지 3-17
- ^ VT105 1979, 페이지 3-1
- ^ VT105 1979, 페이지 3-4
- ^ VT55 1976, 페이지 4-1
- ^ VT55 1976, 페이지 4-2
- ^ "Digital's VT55 Graphics Terminal reaches new heights". Computerworld: 26. 19 November 1975.
- ^ "Hard Copy Optional On DEC Graphics Unit". Computerworld: 31. 15 October 1975.
- ^ "System Links to 15 Lab Tools". Computerworld: 56. 23 May 1977.
- ^ VT55 Programmer's Manual (PDF). Digital. February 1977.
- ^ VT55 1976, 페이지 4-3
- ^ VT55 1976, 페이지 5-14
- ^ VT55 1976, 페이지 5-17
- ^ a b VT55 1976, 페이지 5-27
- ^ VT55 1976, 페이지 5-24
- ^ VT55 1976, 페이지 5-25
- ^ a b c d VT55 1976, 페이지 5-29
- ^ VT105 1979, 페이지 3-86
- ^ VT105 1979, 페이지 3-10
- ^ VT105 1979, 페이지 3-20
- ^ a b VT105 1979, 페이지 3-8
- ^ a b VT105 1979, 페이지 3-25
- ^ VT105 1979, 페이지 3-5
- ^ VT55 1976, 페이지 5-10
참고 문헌
- VT55 DECgraphic Scope User's Manual (PDF). Digital. December 1976.
- VT105 Graphic Terminal Technical Manual (PDF). Digital. September 1979.