MOS 테크놀로지 8563

MOS Technology 8563
VDC는 Office Suite 애플리케이션을 염두에 두고 설계되었습니다.이것은 워드프로세서 SpeedScript 128 입니다.

8563 VDC MOS 테크놀로지에 의해 제조된 집적회로입니다.코모도어 128(C128) 컴퓨터에서 80컬럼(640×200픽셀) RGB 비디오 디스플레이를 생성하기 위해 사용되었으며 코모도어 64 호환 그래픽을 지원하는 VIC-II와 함께 실행되었습니다.C128의 DCR 모델(및 일부 D 모델)은 최신의 기술적으로 진보한8568 [D]VDC 컨트롤러를 사용했습니다.

이력 및 특징

원래 Zilog Z8000을 기반으로 계획된 UNIX 기반 비즈니스 컴퓨터를 위한 코모도어(Commodore)는 VDC를 여러 프로토타입 머신으로 설계했습니다.이 중 코모도어 128만이 생산되었다.일반적인 VIC-II 등의 이전 MOS 비디오칩과는 달리 VDC에는 전용 비디오메모리가 탑재되어 있습니다.이 메모리는 원래 16킬로바이트(16,384바이트, 64킬로바이트로 업그레이드 가능) 또는 C128DCR의 "플랫" C128 및 64킬로바이트입니다. RAM은 마이크로프로세서로 직접 액세스 할 수 없었습니다.

8563은 다른 대부분의 MOS Technology 라인보다 생산이 어려웠고 초기 수율도 매우 낮았습니다.초기 유닛들은 또한 심각한 신뢰성 문제가 있었고 [1]과열로 인해 스스로 파괴되는 경향이 있었습니다.또, VDC에서는, 레지스터상의 간접 로드나 스토어 조작의 오작동을 일으키는 타이밍의 문제도 있었습니다.

공식적으로는 VDC는 텍스트 전용 칩이었지만 초기 C128 개발자들에게 제공된 MOS Technology의 기술 자료를 주의 깊게 읽어보면 고해상도 비트맵 모드가 가능하다는 것을 알 수 있었습니다.그것은 단순히 상세하게 설명되지 않았습니다.C128의 내장 프로그래밍 언어인 BASIC 7.0은 레거시 VIC-II 칩을 통해 40컬럼 모드에서 고해상도 그래픽스만 지원했습니다.

Ultra Hi-Resdemo큐브와이어 프레임 모델의 간단한 3D 애니메이션을 통해 VDC의 블리터 기능을 보여줍니다.

C128의 출시 직후 VDC의 비트맵 모드는 Data Becker 책 "Commodore 128 - Das gro gre GRAFIK-Buch"(1985년 말 미국에서 Abacus Software에 의해 출판됨)에 상당히 상세하게 기술되었으며, 어셈블리 언어 프로그램은 독일의 작가인 Klaus Loffmanner와 Dieter에 의해 제공되었습니다.픽셀을 설정 또는 클리어하거나 BASIC을 사용하여 80컬럼 [2]화면에 비트맵 기하학적 형상을 생성할 수 있습니다.코모도어 128이 출시된 지 1년도 되지 않은 1986년 2월, RUN 매거진은 VDC의 비트맵 모드에 대해 설명하고 8563을 사용하여 BASIC 7.0의 기능을 640×200 고해상도 그래픽스로 확장한 (8502 어셈블리 언어로 작성된) 입력 프로그램을 포함한 "Ultra Hi-Res Graphics" 기사를 실었다.[1] 저자인 Lou Wallace와 David Darus는 나중에 Ultra Hi-Res 유틸리티를 상용 패키지인 BASIC 8로 개발했습니다.C128의 가장 인기 있는 서드파티 유틸리티 중 하나인 이 유틸리티는 광범위한 프로그래머에게 보다 고도의 VDC 고해상도 기능을 제공합니다.

Commodore는 마침내 Commodore 128 Programmer's Reference Guide에 VDC에 대한 완전한 공식 문서를 제공했습니다.VDC 비트맵모드는 GEOS 운영시스템의 C128 버전에서 광범위하게 사용되었습니다.

VDC에는 스프라이트 기능이 부족하여 게임 애플리케이션에서의 사용이 제한되었습니다.그러나 전용 비디오 RAM 내에서 소규모 블록 메모리 복사를 자율적으로 실행하는 블릿팅 기능이 포함되어 있었습니다.VDC가 이러한 복사를 실행하고 있는 동안 시스템 CPU는 복사가 완료될 때까지 다른 VDC 액세스가 시도되지 않는 한 코드를 계속 실행할 수 있습니다.이러한 기능은 C128의 화면 편집기 ROM에 의해 빠르게 화면 섹션을 스크롤 또는 클리어하기 위해 사용되었습니다.

기술사양

The 8563 VDC and related ICs on the C128 motherboard.
C128 메인보드의 8563 VDC 및 관련 IC.
  • IBMCGA 비디오 표준과 호환되는 RGB 출력(RGB + Intensity).*
  • 디스플레이, 문자 모양 및 디스플레이 속성 메모리용 16 또는 64 킬로바이트 주소 공간(시스템 메모리와는 별개).
  • 인터레이스 모드에서 최대 720×700픽셀의 비디오 해상도(최대 64킬로바이트의 비디오 RAM).프로그래머의 요구에 따라 640×200 비인터레이스, 640×400 인터레이스 등 다른 이미지 사이즈가 가능합니다.
  • 80 x 25 문자 텍스트 해상도(C128 kernal 기본값), 80 x 50 또는 40 x 25 와 같은 다른 크기를 사용할 수 있습니다.
  • 8가지 색상, 2가지 강도.

* 이는 US 60Hz C128에만 적용됩니다. 50Hz C128 기계는 50Hz 수직 새로 고침 신호를 출력합니다.CGA 표준에 준거하고 있지 않지만, 대부분의 CGA 모니터는 문제없이 50Hz 신호를 표시할 수 있었습니다.그러나 일부 모니터는 신호를 해결하지 못하거나 해결하는데 성공했지만 조만간 전기 또는 열적 스트레스로 인해 편향 회로가 고장나 수리가 필요할 수 있습니다.

프로그래밍

VDC의 내부 레지스터와 전용 비디오 메모리의 어드레싱은, 간접적인 방법으로 실시할 필요가 있습니다.먼저 프로그램은 37개의 내부 레지스터 중 어떤 레지스터에 액세스해야 하는지 VDC에 알려야 합니다.다음으로 프로그램은 VDC가 액세스할 준비가 될 때까지 기다려야 하며, 그 후 선택한 내부 레지스터에 대한 읽기 또는 쓰기가 수행될 수 있습니다.다음 어셈블리 코드는 레지스터 판독의 일반적인 코드입니다.

         ldx #레그넘       ;VDC 레지스터를 사용하여 액세스          stx d600달러         ;제어 레지스터에 쓰기  고리    조금 d600달러         ;상태 레지스터의 비트7을 체크합니다.          bpl 고리          ;VDC가 준비되지 않았습니다.          lda d601달러         ;VDC 레지스터에서 읽기          ... 

레지스터 쓰기 작업의 일반적인 코드는 다음과 같습니다.

         ldx #레그넘       ;기입처VDC          stx d600달러         ;제어 레지스터에 쓰기  고리    조금 d600달러         ;상태 레지스터의 비트7을 체크합니다.          bpl 고리          ;VDC가 준비되지 않았습니다.          스타 d601달러         ;VDC 레지스터에 쓰기          ... 

BASIC 언어에서도 같은 일이 가능하며 특정 KERNAL 루틴을 호출합니다.

이 코드는 VDC 레지스터 판독의 전형적인 코드입니다.「register 」는, 다음과 같이 0 ~36 의 수치입니다.

뱅크 15 ... 시스템 DEC('CDA"),, 등록하세요 : RREG VDC REM $ccda $ka 52698 (10진수) 인쇄하다 VDC          ... 

이 코드는 VDC 레지스터 쓰기의 전형적인 것으로, 「register」는 0 ~36의 수치, 「value」는 0 ~255의 수치로, 그 레지스터에 배치할 필요가 있습니다.

뱅크 15 ... 시스템 DEC("CDCC"), ue, 등록하세요 REM $cdc 일명 52684 (10진수)          ... 

이 다소 번거로운 VDC 제어 방법 때문에 비트맵 모드에서의 최대 프레임환율은 일반적으로 너무 느립니다.아케이드 스타일의 액션 비디오 게임에서는, 대량의 디스플레이를 조작할 필요가 있습니다.

표준 텍스트 모드에서는 VDC는 1k가 아닌 2k의 화면 메모리를 사용하는 것을 제외하고 VIC-II와 거의 동일하게 동작합니다.디폴트 설정에서는, 화면 메모리는$0-$7FF그리고 컬러 메모리는$800-$9FF2k 경계에 있는 한 VDC 메모리 내 어디든 이동할 수 있습니다.속성은 VIC-II의 고해상도 모드와 같이 처리되며 글로벌 배경색과 각 문자 전경색이 컬러 RAM별로 개별적으로 설정됩니다.후자는 컬러 데이터 외에 각 문자의 속성 데이터도 포함한다.비트 4는 활성화 시 문자를 깜박이게 하고 비트 5는 밑줄이 그어진 문자를 생성하며 비트 6은 문자의 비트맵 패턴을 반전시킵니다.비트 7 은 대체 문자 세트를 유효하게 합니다.VDC 에서는, 최대 512 문자를 사용할 수 있습니다.특정 문자의 대체 문자 플래그가 활성화되면 문자 패턴은 문자 256-511에서 그려집니다.따라서 문자 65가 표시될 경우 대체 문자 플래그를 활성화하면 문자 321이 대신 표시됩니다.대체 문자 플래그는 보통 대문자/소문자 모드가 설정되어 있을 때 사용됩니다.이 플래그는 모든 VDC 화면 위치에 대해 이니블로 되어 있기 때문에 기본 대문자/소문자 문자 세트 대신 대문자/소문자 문자 세트와 그 리버스 비디오 버전이 표시됩니다.

VDC는 문자 ROM을 사용하지 않고 VIC-II의 문자 ROM 패턴을 C128의 전원 투입 시의 일부로서 VDC RAM에 카피합니다.이는 VDC가 하드웨어에서 문자를 반전할 수 있는 경우에도 마찬가지입니다.VDC에는 문자 높이가 조정 가능하기 때문에 문자 패턴은 8바이트가 아닌 16바이트가 필요합니다.화면이 25줄이기 때문에 실제로는 문자 높이가 8줄로 제한되어 있어 문자 데이터를 저장할 수 있는 공간의 절반이 사용되지 않고 낭비됩니다.전원 투입 시 디폴트 설정에서는 문자 데이터가$2000-$3FFF.$2000-$23FF에는 대문자와 소문자의 패턴이 포함되어 있습니다.$2C00-$33FF대문자/소문자,$2400-$2BFF그리고.$3400-$3FFF에, 각 세트의 역방향 비디오 패턴을 나타냅니다.사용자는 임의의 커스텀 문자를 자유롭게 정의하고 VDC 메모리에 매핑할 수 있습니다.

등록 목록

이 정보는 Commodore 128 Programmer's Reference[3] Guide에서 수정되었습니다.

등록하세요 16진수 비트 7 비트 6 비트 5 비트 4 비트 3 비트 2 비트 1 비트 0 묘사
0
$00
HT7
HT6
HT5
HT4
HT3
HT2
HT1
HT0
수평 합계
1
$01
HD7
HD6
HD5
HD4
HD3
HD2
HD1
HD0
수평 표시
2
$02
HP7
HP6
HP5
HP4
HP3
HP2
HP1
HP0
수평 동기화 위치
3
$03
VW3
VW2
VW1
VW0
하드웨어3
하드웨어2
하드웨어 1
HW0
수직/수평 동기 폭
4
$04
VT7
VT6
VT5
VT4
VT3
VT2
VT1
VT0
수직합계
5
$05
VA4
VA3
VA2
VA1
VA0
수직 조정
6
$06
VD7
VD6
VD5
VD4
VD3
VD2
VD1
VD0
세로 표시
7
$07
VP7
VP6
VP5
VP4
VP3
VP2
VP1
VP0
수직 동기 위치
8
$08
IM1
IM0
인터레이스 모드
9
$09
CTV4
CTV3
CTV2
CTV1
세로 문자 합계
10
0A달러
CM1
CM0
CS4
CS3
CS2
CS1
CS0
커서 모드, 스캔 시작
11
10억달러
CE4
CE3
CE2
CE1
CE0
커서 끝 스캔 라인
12
$0C
DS15
DS14
DS13
DS12
DS11
DS10
DS9
DS8
시작 주소 하이 바이트 표시
13
$0D
DS7
DS6
DS5
DS4
DS3
DS2
DS1
DS0
시작 주소 표시 로우 바이트
14
0E달러
CP15
CP14
CP13
CP12
CP11
CP10
CP9
CP8
커서 위치 하이 바이트
15
$0F
CP7
CP6
CP5
CP4
CP3
CP2
CP1
CP0
커서 위치 낮은 바이트
16
$10
LPV7
LPV6
LPV5
LPV4
LPV3
LPV2
LPV1
LPV0
라이트 펜 수직 위치
17
$11
LPH7
LPH6
LPH5
LPH4
LPH3
LPH2
LPH1
LPH0
라이트 펜 수평 위치
18
$12
UA15
UA14
UA13
UA12
UA11
UA10
UA9
UA8
주소 고바이트 업데이트
19
$13
UA7
UA6
UA5
UA4
UA3
UA2
UA1
UA0
주소 로우 바이트 업데이트
20
$14
AA15
AA14
AA13
AA12
AA11
AA10
AA9
AA8
특성 시작 주소 높음 바이트
21
$15
AA7
AA6
AA5
AA4
AA3
AA2
AA1
AA0
속성 시작 주소 낮은 바이트
22
$16
CTH3
CTH2
CTH1
CTH0
CDH3
CDH2
CDH1
CDH0
문자 합계 수평, 문자 표시 수평
23
$17
CDV4
CDV3
CDV2
CDV1
CDV0
문자 표시 수직
24
$18
알았다.
RVS
플라스틱
VSS4
VSS3
VSS2
VSS1
VSS0
수직 매끄러운 스크롤
25
$19
본문
ATR
세미
DBL
HSS3
HSS2
HSS1
HSS0
수평으로 부드럽게 스크롤
26
100만달러
FG3
FG2
FG1
FG0
BG3
BG2
BG1
BG0
전경/배경색
27
10억달러
AI7
AI6
AI5
AI4
AI3
AI2
AI1
AI0
행당 주소 증가
28
$1C
CB15
CB14
CB13
들이받다
문자 베이스 주소
29
100달러
UL4
UL3
UL2
UL1
UL0
스캔 라인 밑줄
30
$1E달러
WC7
WC6
WC5
WC4
WC3
WC2
WC1
WC0
단어 수
31
$1F
DA7
DA6
DA5
DA4
DA3
DA2
DA1
DA0
데이터 레지스터
32
$20
BA15
BA14
BA13
BA12
BA11
BA10
BA9
BA8
블록 시작 주소 높음 바이트
33
$21
BA7
BA6
BA5
BA4
BA3
BA2
BA1
BA0
블록 시작 주소 낮은 바이트
34
$22
DEB7
DEB6
DEB5
DEB4
DEB3
DEB2
DEB1
DEB0
표시 활성화 시작
35
$23
DE7
DE6
DE5
DE4
DE3
DE2
DE1
DE0
디스플레이 활성화 종료
36
$24
DRR3
DRR2
DRR1
DRR0
DRAM 리프레시 레이트

레퍼런스

  1. ^ "Commodore.ca Products Commodore 128, 128D, 128DCR, History, Manuals, Pictures & Time Line". www.commodore.ca. Archived from the original on 2003-07-26.
  2. ^ 3.9.1 "VDC HI-RES-Grafik" 페이지 213ff
  3. ^ 코모도어 캐피털 주식회사(1986년)코모도어 128 프로그래머 참조 가이드.뉴욕, 뉴욕: 밴텀 북스, 주식회사

외부 링크