KR960014826B1 - 비디오 메모리(Video Memory)의 액세스(Access)를 제어하는 장치 - Google Patents

비디오 메모리(Video Memory)의 액세스(Access)를 제어하는 장치 Download PDF

Info

Publication number
KR960014826B1
KR960014826B1 KR1019880011052A KR880011052A KR960014826B1 KR 960014826 B1 KR960014826 B1 KR 960014826B1 KR 1019880011052 A KR1019880011052 A KR 1019880011052A KR 880011052 A KR880011052 A KR 880011052A KR 960014826 B1 KR960014826 B1 KR 960014826B1
Authority
KR
South Korea
Prior art keywords
register
data
address
bit
vram
Prior art date
Application number
KR1019880011052A
Other languages
English (en)
Other versions
KR890005618A (ko
Inventor
기미오 야마무라
Original Assignee
가부시끼가이샤 허드슨
고오도 유우시
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP62235485A external-priority patent/JP2633266B2/ja
Priority claimed from JP62235484A external-priority patent/JPS6478339A/ja
Priority claimed from JP62235486A external-priority patent/JPS6478354A/ja
Application filed by 가부시끼가이샤 허드슨, 고오도 유우시 filed Critical 가부시끼가이샤 허드슨
Publication of KR890005618A publication Critical patent/KR890005618A/ko
Application granted granted Critical
Publication of KR960014826B1 publication Critical patent/KR960014826B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/42Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of patterns using a display memory without fixed position correspondence between the display memory contents and the display position on the screen
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

내용없음.

Description

비디오 메모리(Video Memory)의 액세스(Access)를 제어하는 장치
제1도는 본 발명에 따라 비디오의 액세스를 제어하는 장치가 포함되는 화면상에 영상을 표시하는 장치를 보여주는 블록도.
제2a도는 그곳에서 VRAM과 판독 비디오 신호로 기록 비디오 신호의 제어를 위한 비디오 CRT 제어기를 표시하는 블록도.
제2b도는 화면상에 스프라이트를 표시하는 장치를 보여주는 블록도.
제3a도에서 제3u도까지는 제2a도에의 장치의 제어부에 포함되는 레지스터를 표시하는 블록도.
제4a도는 가상 화면을 표시하는 설명도.
제4b도는 화면상의 표시영역을 표시하는 설명도.
제5a도와 제5b도는 VRAM에서 백그라운드 어트리뷰트 테이블을 표시하는 설명도.
제6a도와 제6b도는 VRAM에서 스프라이트 어트리뷰트 테이블을 표시하는 설명도.
제7도는 스프라이트가 화면상에서 이동되는 작동을 설명하는 설명도.
제8도는 본 발명에 따라 첫째 실시예에서 비디오 메모리의 액세스를 제어하는 장치를 표시하는 블록도.
제9a도에서 제9c도까지는 제8도에서의 장치의 제어하는 모드를 표시하는 설명도.
제10도는 본 발명에 따라 둘째 실시예에서 비디오 메모리의 액세스를 제어하는 장치를 표시하는 블록도.
* 도면의 주요부분에 대한 부호의 설명
1 : 비디오 표시 제어기 3 : 비디오 컬러 인코더
21 : 어드레스부 27 : 동기회로
23 : 스프라이트 어트리뷰트 테이블 버퍼
32 : 쉬프트 발생기 39 : 일치 검출회로
본 발명은 비디오 메모리의 액세스를 제어하는 장치에 관한 것이고, 특히 레지스터의 수의 증가가 억제하면서 각종 제어모드가 실행될 수 있는 비디오 메모리의 액세스를 제어하는 장치에 관한 것이다.
재래식 개인용 컴퓨터에서는 소위 "텔레비젼 게임" 기타등등이 어린이들 사이에서 특별하게 플레이된다. 그러한 개인용 컴퓨터는 그 안에 포함되는 회로를 선택하기 위해 독해 메모리(ROM)에서 독해되는 데이터와 제어신호를 공급하는 중앙집중 처리장치(CPU)로 구성되는 표시 화면상에 영상을 표시하는 장치에 의해 제공되고 백그라운드와 스프라이트(Sprite)의 확정하는 패턴의 비디오 표시 제어기, 컬러코드, CPU에서 신호에 따라 표시 화면상에 표시위치등 아나로그 RGB 신호를 발생하는 비디오 컬러 인코더(video color encolder)와 비디오 표시 제어기에서 신호에 따른 비디오 컬러신호, 그리고 CPU에서 공급된 음향 신호에 따라 음향을 발생하는 음향 발생기(Sound Genrator)로서 구성된다.
작동에 있어서, 백그라운드와 스프라이트는 ROM에서 기억된 프로그램에 따라 비디오 컬러 인코더에 연결된 표시화면위에 표시되고, 그리고 음향은 텔레비젼 게이트의 이야기가 개인용컴퓨터에서 개발되도록 프로그램에 따라 음향 발생기에 연결되어 있는 스피커에서 음이 나온다. 비디오 표시 제어기는 일반적으로 표시화면이 분할된 것에 래스터(Raster)수를 기억하는 각 레지스터에 소정의 수로 구성되어 있다.
표시화면의 분할된 영역에는 다른 페이지와 부합되는 복수의 패턴이 표시된다. 비디오 메모리를 액세스하는데 있어, 어드레스는 거기에 데이터를 기록하거나 또는 거기에서 데이터를 판독하는 것에 의해 어드레스 카운터(address counter)의 계산치에 따라 증가된다. 그러한 경우에는 만약 CPU가 8비트이고 그리고 비디오 메모리가 16비트이면 그 데이터는 따로따로 갈라져 전송되는 상위와 하위 바이트로 나누어진다.
직접 기억장소 액세스(DMA)에 있어서는, 반면에 데이터의 소정의 블록길이가 비디오 메모리의 소오스 어드레스에서 거기의 디스티네이션(Destination) 어드레스로 DMA 제어기의 제어하에 전송된다.
표시화면상에 영상을 표시하는 종래의 장치에 의하면 다음과 같은 불리한 점들이 있다.
첫째의 불리한 점은 그 장치의 구조가 복잡하고, 그리고 표시화면을 나누기 위해 거기에 소정의 레지스터의 수가 공급되어져야 하는 이유때문에 제조원가도 역시 높다.
둘째의 불리한 점은 어드레스가 정기적으로 하나에 의해 증가되기 때문에 거기의 표시에서 단일 패턴으로 한 영상만이 오로지 처리되는 것이다. 플레이어의 흥미를 위해 텔레비젼 게임에서 한 영상의 특별처리가 요구되는 경우에는, 이것은 비디오 메모리를 액세스하는 방법이 위에서 언급한 바와 같이 설정되기 때문에 비디오 메모리 액세스의 방법에 따라 실행될 수가 없다.
셋째의 불리한 점은 8비트의 CPU와 16비트의 비디오 메모리 사이의 8/16비트 데이터 버스를 통하여 전송되기 위해 상위와 하위 바이트로 16비트의 데이터가 나누어져야 하기 때문에 CPU의 처리량과 시간이 비디오 메모리 등을 어드레스지정하는데에서 증가되는 것이다.
넷째의 불리한 점은 사전에 설정되어야 할 CPU 전송에 비교하여 전송속도에 있어 불리한 DMA 전송의 트리거를 위한 신호이다.
다섯번째의 불리한 점은 장치에 포함되는 회로의 데이터 버스폭이 CPU의 그것과 대응하기 위해 소정의 폭이 되도록 설정되어야 한다는 것이고, 그리고 그 사이에 있는 인터페이스의 매칭이 CPU의 데이터 버스폭과 잔여회로가 서로가 다를 경우에는 조정되어야 한다는 것이다.
따라서 단일 레지스터가 복수의 영역에 CRT 화면을 나누기 위해서 제공되는 비디오 메모리의 액세스를 제어하는 장치를 제공하는 것이 본 발명의 목적이다.
또한 영상이 비디오 메모리를 액세스하는 방법을 변경에 의해 복수의 패턴에서 처리되는 비디오 메모리의 액세스를 제어하는 장치를 제공하는 것이 본 발명의 다른 모적이다.
CPU의 처리량과 시간이 비록 16비트의 데이터가 8비트의 CPU와 16비트의 비디오 메모리 사이에서 전송되기 위해서 상위와 하위 바이트로 나누어진다 하더라도 증가되는 것에서 억제되는 비디오 메모리의 액세스를 제어하는 장치를 제공하는 것이 본 발명의 또 다른 목적이다.
DMA 전송의 트리거를 위한 신호가 DMA 전송을 전송하기 위하여 미리 설정될 필요가 없는 비디오 메모리의 액세스를 제어하는 장치를 제공하는 것이 본 발명의 또 다른 목적이다.
데이터 버스폭의 변경이 제어신호의 사용에 의해서만 만들어질 수 있는 비디오 메모리의 액세스를 제어하는 장치를 제공하는 것이 본 발명의 또 하나의 목적이다.
본 발명에 따라, 비디오 메모리의 액세스를 제어하는 장치는 영상 데이터가 기억된 비디오 메모리, 상기 비디오 메모리를 액세스하는 제어데이터가 설정된 레지스터의 그룹, 그리고 상기 제어 데이터에 따라 상기 영상데이터의 액세스를 제어하는 수단으로서 구성되어 있다.
제1도에 있어서, 비디오 표시 제어기(1), CPU(2), 비디오 컬러 인코더(3), 그리고 프로그램가능 음향 발생기(4)로 주로 구성된 화면상에 영상을 표시하는 장치를 표시하고 있다.
비디오 표시 제어기(1)은 ROM(5)에 기억된 프로그램을 판독하는 CPU(2)의 제어하에서 VRAM(7)에서 판독된 순서로 데이터를 비디오 컬러 인코더(3)로 공급한다.
CPU(2)는 데이터, 계산 또는 연산결과 등을 ROM(5)에 기억된 프로그램에 따라 일시적으로 기억하기 위해서 RAM(6)을 제어한다. 비디오 컬러 인코더(3)는 RGB 신호가 거기에 기억된 컬러 데이터를 사용함으로써 행렬변환된 컬러차이신호와 휘도신호를 포함하는 컬러신호 또는 RGB 아나로그 신호를 발생하기 위해 영상 데이터에 의해 공급된다.
프로그램가능 음향 발생기(4)는 좌우 스테레오 함량을 만드는 오디오신호를 발생하기 위해서 ROM(5)에 기억된 프로그램을 판독하는 CPU(2)에 의해 제어된다.
비디오 컬러 인코더(3)에서 발생되는 비디오 컬러 신호는 RGB 아나로그 신호가 배타적 모니터장치로서 사용되는 텔레비젼 설정의 CRT(9)에 직접 공급되는 신호, 인터페이스(8)를 통하여 텔레비젼 설정의 CRT(9)에 공급되는 복합신호이다.
프로그램가능 음향발생기(4)에서 공급되는 좌우 아나로그 신호는 스피커(12a)(12b)에서 음향을 만들기 위해 증폭기(11a)(11b)에서 증폭된다.
제2도(a)에 있어서, 어드레스부(21), CPU 판독/기록 버퍼(22), 그리고 스프라이트 쉬프트 레지스터(Sprite Shift Register)(24), 백그라운드(Background) 쉬프트 레지스터(25), 데이터 버스 버퍼(26), 동기(Synchronic) 회로(27), 그리고 우선순위회로(28), 후에 설명될 각종의 레지스터를 포함하는 제어부(20)로 구성하는 CPU(2)와 VRAM(7) 사이에 데이터를 전송하는 비디오 표시 제어기(1)가 표시되어 있다.
제어부(20)는 비디오 표시 제어기(1)가 데이터의 기록/판독을 위한 시간이 아닌 경우의 거기에서 판독하는 데이터 또는 VRAM(7)에 데이터를 기록하는 CPU(2)를 유지하기 위해 "L"인
Figure kpo00001
터미널, 개입 중단(Interruption)요구 신호를 공급하는
Figure kpo00002
터미널 1도트(한화면 소자)를 위한 주파수의 클럭신호를 수신하는 CK 터미널, 비디오 표시 제어기(1)를 초기화하기 위한 리설정신호를 수신하는
Figure kpo00003
터미널, 그리고 8과 16비트 데이터 버스의 하나를 선택하기 위해 데이터 버스폭 신호를 수신하는 X 8/
Figure kpo00004
터미널에 의해서 제공된다.
어드레스부(21)는 예를 들면 65,536단어의 특별 어드레스영역을 가지는 VRA M(7)을 위한 어드레스 신호를 공급하는 터미널 MA0에서 MA15까지에 연결되어 있다.
어드레스부(21), CPU 기록/단폭 버퍼(22), 스프라이트 어트리뷰트 테이블 버퍼(Sprite Attribute Table Buffer)(23), 스프라이트쉬프트 레지스터(24), 그리고 백그라운드 쉬프트 레지스터(25)는 VRAM(7)에 그리고부터 전송되는 데이터를 통하여 터미널 MD0에서 MD15까지에 연결되어 있다. 스프라이트 어트리뷰트 테이블 버퍼(23)는 X와 Y 표시위치를 기억하는 메모리, 패턴코드 그리고 후에 더욱 상세히 설명되는 16×16도트로 구성되는 각 스프라이트의 제어 데이터이다. 스프라이트 쉬프트 레지스터(24)는 후에 더욱 상세히 설명되는 스프라이트 어트리뷰트 테이블 버퍼(23)에 기억된 패턴 코드에 따라 액세스되는 VRAM(7)에 스프라이트 발생기로부터 스프라이트 판독의 컬러 데이터와 패턴을 기억한다.
백그라운드 쉬프트 레지스터(25)는 후에 더욱 상세히 설명되는 래스터위치에 의해 결정된 어드레스에 액세스된 VRAM(7)에서 백그라운드 어트리뷰트 테이블의 문자코드위에 기준을 둔 어드레스에 따라 VRAM(7)에서 문자 생성기에서 판독, CG 컬러의 아나로그, 패턴 데이터를 기억한다.
데이터 버스 버퍼(26)는 공급 그리고 수신되는 데이터를 통하여 터미널 D0에서 S15까지에 연결되어 있다. 비디오 표시 제어기(1)에서 8 또는 16비트 인터페이스는 터미널 D0에서 D15까지 중에서 터미널 D0에서 D7까지가 8비트 인터페이스에 선택될때 점유되는 CPU(2)를 포함하는 시스템의 데이터폭과 대응하기 위해서 선택된다.
동기회로(27)는 표시기간을 지적하는 DISP 터미널, CRT 화면을 위한 수직동기 신호가 공급되는 것에서의 그리고 외부 수직 동기신호가 수신된 것에의
Figure kpo00005
터미널, 그리고 CRT 화면을 수평동기신호가 공급되는 것에서의 그리고 외부 수평동기신호가 수신된 것에의
Figure kpo00006
터미널에 연결되어 있다.
우선 순위회로(28)는 공급되는 비디오 신호를 통하여 터미널 VD0에서 VD7까지, 그리고 비디오 신호가 스프라이트일때 "H" 그리고 비디오 신호가 백그라운드일때 "L"인 SPBG(VD8)터미널에 연결되어 있다.
상기 제어부(20)는 거기의 레지스터에서의 데이터와 그곳에의 스프라이트 데이터를 CPU(2)가 판독할 수 있는 "L"인
Figure kpo00007
터미널, 그리고 그것의 판독을 위한 클럭신호를 수신하는
Figure kpo00008
터미널, 거기의 기록을 위한 클럭신호를 수신하는
Figure kpo00009
터미널, 그리고 CPU(2)의 어드레스 버스에 연결되어 있는 터미널 A0와 A1에도 역시 연결되어 있다.
더욱 비디오 표시 제어기(1)는 CPU(2)가 VRAM(7)에서 데이터를 판독할때 "L"인
Figure kpo00010
터미널 그리고 CPU(2)가 VRAM(7)에 데이터를 기록할때 "L"인
Figure kpo00011
터미널에 의해 제공된다.
제2도(b)에 있어서 참조숫자(31)과 (32)가 각각 VRAM(7)에서 스프라이트 발생기와 스프라이트 어트리뷰트 테이블을 지적한 화면상에 스프라이트를 표시하는 장치를 표시했다. 예를 들면 스프라이트 발생기(32)가 1024 스프라이트를 가질 수 있는 반면에, 스프라이트 어트리뷰트 테이블(31)은 64 스프라이트만을 가질 수 있다. 스프라이트 어트리뷰트 테이블(31)에 있어서, 0에서 63까지의 어드레스는 어드레스 0> 1>………>62>63의 순서로 거기에 우선주위를 주기 위해 64 스프라이트에 할당된다.
스프라이트의 각각은 16×16비트로 구성되고, 그리고 X와 Y좌표, 패턴코드와 제어데이터를 가지고 있다. 스프라이트의 각각에 대해서는, Y좌표는 어드레스 0에서 63까지의 중에서 대응하는 것에 지시에 의해 16스프라이트의 최대수를 기억할 수 있는 패턴코드 버퍼(35)에 기억되는 래스터신호와 일치하는 Y좌표를 가지고 있는 각 스프라이트의 일치검출회로(34)에서 주사 래스터 발생회로(33)에서 공급된 래스터 신호와 비교된다.
셀렉터(36)는 스프라이트 발생기(32)에서 패턴 데이터를 판독하여 패턴코드를 선택하는 어드레스에 대해서는 스프라이트 발생기(32)를 액세스하기 위해 패턴코드 버퍼(35)에 기억된 어드레스에 따라 스프라이트 어트리뷰트 테이블(31)의 패턴코드를 선택한다. 이리하여 얻게된 패턴 데이터는 스프라이트 어트리뷰트 테이블(31)에서 판독에 일치하는 X좌표에 의해 패턴 데이터 버퍼(37)로 기억된다. 패턴 코드 버퍼(35)에의 스프라이트의 기억은 패턴 데이터 버퍼(37)에의 패턴 데이터의 기억이 다음과 같은 수평 귀선 기간에서 실행되는 반면에, 하나의 주사래스터에 의해 현 수평표시 기간에 선행하는 수평표시기간에서 실행된다.
패텬 데이터가 표시되는 주사래스터가 왔을때 이리하여 패턴 데이터 버퍼(37)에 기억된 X좌표는 병렬/직렬 변환회로(40)에 공급되는 계산치와 일치하는 X좌표를 가지고 있는 패턴 데이터의 일치 검출회로(39)에서 수평도트 클럭카운터의 계산치와 비교된다.
병렬/직렬 변환회로(40)에 있어서, 병렬 패턴 데이터는 CRT(9)화면에 게이트회로(42)를 통하여 공급되는 직렬 패턴 데이터에 변환된다. 게이트회로(42)는 CPU(2 )에 의해 개시 좌표 레지스트레이션회로(43)의 내용에 따라 턴온 그리고 턴오프되도록 제어된다. 거기의 내용은 표시영역의 개시좌표가 CRT 화면상에 확정되는 X와 Y 좌표이다.
제3도(a)에서 제3도(u)까지에 있어서, 비디오 표시 제어기(1)의 제어부(20)에서 포함되는 레지스터의 여러종류를 표시하고 있다.
(a) 어드레스 레지스터(제3도(a))
레지스터 번호 "AR"은 데이터가 지정된 레지스터 또는 거기에서 판독되는 기록되도록 제3도(c)에서 (u)까지를 표시한 것과 같이 DMA VRAM-SATB 소오스 어드레스 레지스터에 메모리 어드레스 기록 레지스터의 하나를 지정하기 위하여 어드레스 레지스터로만 기록된다.
어드레스 레지스터는 신호가 거기의 A1과
Figure kpo00012
터미널이 "L"이 조건하에서 비디오 표시 제어기(1)에 기록될때 선택된다.
16비트 데이터 버스가 선택되는 경우에는, EX 8/
Figure kpo00013
터미널은 "1"이고, A1 터미널은 "0"이고, R/W 터미널은 W이고, 그리고 A0 터미널은 관련이 없다.
B비트 데이터 버스가 선택될 경우에는 EX 8/
Figure kpo00014
터미널은 "1"이고, A0와 A1 터미널은 "0"이고, 그리고 R/W 터미널은 W이다.
(b) 상태 레지스터(제3도(b))
개입 중단 작업중의 하나에 일치하는 비티는 제3도(g)와 (q)에서 표시한 것과 같이 제어 레지스터와 DMA 제어 레지스터의 개입 중단 허가 비트에 의해 능력을 주는 개입중단의 원인이 발생될때 개입중단 활동을 만들기 위해 상태 레지스터에서 "H"가 되게 설정된다. 그 상태가 상태 레지스터에서 판독될때 그 일치비트는 자동적으로 클리어된다.
상태 지적비트는 다음과 같다.
(1) 비트 0(CR)………스프라이트의 충돌
스프라이트의 스프라이트 번호 0이며 스프라이트 번호 1에서 63까지 중의 어느 하나와 충돌하는 것을 지적한다.
(2) 비트 1(OR)………수정수 이상의 스프라이트
(2,1) 단일 래스터 라인에서 검출되는 17 스프라이트 이상인 경우.
(2,2) 지적되는 스프라이트의 데이터가 수평 귀선 기간내에 데이터버퍼에 전송되지 않은 경우,
(2,3) 두개의 스프라이트가 수평방향에서 결합되는 스프라이트의 제어 데이터내에 있는 CGX의 비트가 스프라이트의 데이터가 데이터 버퍼에 전송되지 않도록 설정될 경우.
(3) 비트 2(RR)………래스터의 검출
래스터 카운터의 치가 래스터 검출 레지스터의 소정치가 되는 것을 지적한다.
(4) 비트 3(DS)………DMA 전송의 종료
VRAM(7)과 스프라이트 어트리뷰트 테이블 버퍼(23) 사이의 데이터 전송은 종료된다는 것을 지적한다.
(5) 비트 4(DV)………DMA 전송의 종료
VRAM의 두영역 사이의 데이터 전송이 종료되는 것을 가르킨다.
(6) 비트 5(VD)………수직 귀선 기간
VRAM(7)이 BUSY 터미널 "0"이 되도록 CPU(2)에 의해 데이터의 기록 또는 판독을 위해 액세스되는 것을 가르킨다.
(c) 메모리 어드레스 기록 레지스터
(레지스터 번호 "0", 제3도(c))
개시 어드레스 "MAWR"은 데이터의 기록이 VRAM(7)의 개시어드레스에서 시작되도록 메모리 어드레스 기록 레지스터에 기록된다.
(d) 메모리 어드레스 판독 레지스터
(레지스터 번호 "1", 제3도(d))
개시 어드레스 "MARR"은 메모리 어드레스 판독 레지스터에 기록된다. 개시 어드레스의 상위 바이트가 거기에 기록될때 데이터는 그리하여 판독되는 데이터가 제3도(f)에서 표시한 것과 같이 VRAM 데이터 판독 레지스터에 기록되도록 VRAM(7)의 개시 어드레스에서 판독이 시작된다. 이후, 개시 어드레스 "MARR"은 그것에 의해 자동적으로 증가된다.
(e) VRAM 데이터 기록 레지스터
(레지스터 번호 :02", 제3도(e))
CPU(2)에서 VRAM(7)까지 전송되는 데이터는 VRAM 데이터 기록 레지스터에 기록된다. 데이터 "VWR"의 상위 바이트가 거기에 기록될때 비디오 표시제어기(1)는 VRAM(7)에 그 데이터를 기록하기 시작하고, 그리고 메모리 어드레스 기록 레지스터의 어드레스 "MAWR"은 데이터의 기록위에서 그렇게 의해 자동적으로 증가된다.
(f) VRAM 데이터 판독 레지스터
(레지스터 번호 "2", 제3도(f))
VRAM(7)에서 CPU(2)까지 전송되는 데이터는 VRAM 데이터 판독레지스터에 기록된다. 데이터 "VRR"의 상위 바이트가 거기에서 판독될때 데이터의 판독은 다음과 같은 VRAM(7)의 어드레스에서 실행된다.
(g) 제어 레지스터(레지스터 번호 "5", 제3도(g))
비디오 표시 제어기(1)의 작동모드는 제어 레지스터의 다음비트에 따라 제어된다.
(1) 비트 0에서 3까지(IE)………개입중단 요구의 기능
(1,1) 비트 0………스프라이트의 충돌검출
(1,2) 비트 1………스프라이트의 액세스번호 검출
(1,3) 비트 2………래스터 검출
(1,4) 비트 3………수직귀선 기간의 검출
(2) 비트 4와 5(EX)………외부 동기
Figure kpo00015
(3) 비트 6(SB)………스프라이트 블랭킹
스프라이트가 화면상에 표시되어야 하는가 또는 아닌가를 결정한다.
비트의 제어는 다음의 수평표시 기간에는 유효한다.
(3,1) "0"………스프라이트의 블랭킹
(3,2) "1"………스프라이트의 표시
(4) 비트 7(BB)………백그라운드 블랭킹
백그라운드가 화면상에서 표시되어야 하는가 또는 아닌가를 결정한다.
비트의 제어는 다음의 수평표시 기간에는 유효하다.
(4,1) "0"………백그라운드의 블랭킹
(4,2) "17"………백그라운드의 표시
결과적으로 비트 6과 7이 둘다가 "0일때에는 다음의 작동이 실행될 수 있는 버스트 모드로 된다.
(4.1.1) VRAM(7)에 액세스는 표시를 위해 실행되지 않는다. 그러나 VRAM (7)은 CPU(2)에 의해 액세스된다.
(4.2.1) VRAM(7)의 두영역 사이의 DMA는 언제든지 실행되는 가능성이 있다. 그러한 경우에는 터미널 VD0에서 VD7까지는 모두가 "L"이고, 그 반면에 SPBG 터미널은 "H"이다. 반면에 비트 6과 7이 둘다가 "1"일때는 "버스트 모드"에서 해제된다.
(5) 비트 8과 9(TE)………DISP 터미널 출력의 선택
Figure kpo00016
(6) 비트 10(DR)………다이나믹 RAM 재생
재생어드레스는 제3도(K)에서 표시한 것과 같이 메모리폭 레지스터에서 VRA M 도트폭이 백그라운드를 한 2도트 또는 4도트인 경우에는 비트이 세팅위에 터미널 MA0에서 MA15까지에 공급된다.
(7) 비트 11과 12(IW)………메모리 어드레스 기록
레지스터 또는 메모리 어드레스 판독 레지스터의 증가폭선택. 어드레스에서 증가된 폭은 다음과 같이 선택된다.
Figure kpo00017
8비트 액세스의 경우에는, 어드레스 상위 바이트 위에서 증가한다.
(h) 래스터 검출 레지스터
(레지스터 번호 "6", 제3도(h))
개업 중단 작업이 실행되는 래스터 번호 "RCR"은 래스터 검출레지스터에 기록된다. 개입중단 신호는 래스터 카운터의 차가 래스터 번호 "RCR"과 동등할때에 발생된다. 래스터 카운터는 후에 더욱 상세하게 설명될 표시개시 래스터라인에 선행하는 주사 래스터 라인에서 "64"가 되게 사전 고정되고, 그리고 그것에 의해 각 래스터 라인에서 증가된다.
(i) BGX 스크롤 레지스터
(레지스터 번호 "7", 제3도(i))
BGX 스크롤 레지스터는 화면상 백그라운드의 수평 스크롤을 위해 사용된다. 내용 "BXR"이 여기에 재기록될때 그 내용은 다음 래스터라인에서는 유효하다.
(j) BGY 스크롤 레지스터
(레지스터 번호 "8", 제3도(j))
BGY 스크롤 레지스터는 화면상 백그라운드의 수직 스크롤을 위해 사용된다. 내용 "BYR"이 그 안에 재기록될때 그 내용은 다음 래스터라인에서 "BYR+1"같이 되는 효과가 있다.
(k) 메모리폭 레지스터
(레지스터 번호 "9", 제3도(k))
(l) 비트 0과 1(VM)………VRAM 도트폭
수평 표시 기간중 VRAM(7)에 CPU(2)의 액세스와 DMA, 문자 생성기, 그리고 백그라운드 어트리뷰트 테이블에 액세스가 실행되는 도트폭은 메모리폭 레지스터의 비트에 기록된다.
도트폭은 VRAM(7)의 메모리 속도에 의존하여 결정된다. 비트 0과 1이 거기에 재기록될때 그 내용은 수직귀선 기간의 개시에서 유효하다.
Figure kpo00018
"BAT"는 백그라운드 어트리뷰트 테이블을 위한 것이고, 그리고 "CG"는 문자 생성기를 위한 것이다.
(2) 비트 2와 3(SM)………스프라이트 도트폭
수평 귀선 기간중 스프라이트 발생기에 액세스가 실행되는 도트폭이 메모리폭 레지스터의 비트에 기록된다.
Figure kpo00019
* ………(SP0 SP1) 또는 (SP2 SP3)는 패턴코드의 종속 LSB 비트로 선택된다.
**………SP0에서 SP3까지는 두 개의 순서적인 문자사이클에서 판독된다.
(3) 비트 4에서 6까지(화면)
가상 화면의 X와 Y 방향안의 문자 수는 비트의 내용에 의해서 결정된다. 내용이 비트에 재기록될때 그 내용은 수직 귀선 기간의 개시에 유효하다.
Figure kpo00020
(4) 비트 7(CM)………CG모드
VRAM 도트폭이 4도트일때 문자 생성기의 킬러 블록은 비트에 의존하여 변경된다.
한 내용이 비트에 기록되고, 그 내용이 다음의 래스터라인에서 유효하다.
(i) 수평 동기 레지스터
(레지스터 번호 "0A", 제3도(l))
(1) 비트 1에서 4까지(HSW)………수평동기펄스
수평동기펄스의 "L" 수준의 펄스폭이 문자 사이클의 한 단위로서 고정된다. 1에서 32중의 하나가 CRT의 규격에 따라 위해 5비트를 사용하므로서 선택된다.
(2) 비트 8에서 14까지(HDS)………수평표시의 개시위치
수평동기신호의 상승에지와 수평표시의 출발 시간과의 사이의 기간은 문자 사이클의 단위로서 고정된다.
CRT상의 수평방향에서의 최적단위는 7비트의 내용에 의해 결정된다. 수평표시위치(수평백 포취)가 "N"인 것이 추정될때 "N-1"이 HDS 비트에 기록된다.
(m) 수평 표시 레지스터
(레지스터 번호 "0B", 제3도(m))
(1) 비트 0에서 6까지(HDW)………수평표시폭
각 래스터 라인에서의 표시기간은 문자 사이클의 한 단위로서 설정되고, 그리고 7비트의 내용에 의해 CRT 화면상 수평방향에서 문자의 수에 따라 결정된다. 만약 수평표시위치가 "N"인 것이 추정되면 "N-1"은 HDW 비트에 기록된다.
(2) 비트 8에서 11까지(HDE)………수평표시 종료위치
수평표시기간의 종료와 수평동기신호의 상승에지와의 사이의 기간은 문자 사이클의 한 단위로서 설정된다.
수평표시의 최적 위치는 7비트에 의해 CRT위에 설정된다. 수평표시 종료위치(수평 백 포취)가 "N"인 것이 추정되면 "N-1"이 HDE 비트에 기록된다.
(n) 수직동기 레지스터
(레지스터번호 "0C", 제3도(n))
(1) 비트 0에서 4까지(VSW)………수직동기 펄스폭
수직동기 신호의 펄스폭은 래스터 라인의 한 단위로서 "L" 수준의 폭으로 결정된다.
1에서 32까지중의 하나가 CRT의 규격에 따라 선택된다.
(2) 비트 8에서 15까지(VDS)………수직표시 개시위치
수직동기 신호의 상승에지와 수직동기 개시위치 사이의 기간은 래스터 라인의 한 단위로서 설정된다.
수직 표시 개시위치(수직 백 포취)가 "N"으로 추정되면은 "N-2"가 비트에 기록된다.
(o) 수직표시 레지스터
(레지스터 번호 "0D", 제3도(o))
수직표시 기간(표시영역)은 래스터 라인의 한 단위로서 설정된다.
수직표시폭은 9비트의 내용에 의해 확정된 CRT 상에 표시되게 하기위해 래스터 라인의 수에 따라 결정된다.
수직표시폭이 "N"이라고 추종될때 "N-1"이 VDW 비트에 기록된다.
(p) 수직표시 종료위치 레지스터
(레지스터 번호 "0E", 제3도(p))
수직표시 기간종료위치와 수직동기 신호의 상승에지와의 사이의 기간은 래스터 라인의 한 단위로서 설정된다.
수직최적위치(수직 프론트 포취)가 8비트에 의해 확정된 "N"이라고 추정될때 "N"이 VCR 비트에 기록된다.
(q) DMA 제어 레지스터
레지스터 번호 "0F", 제3도(q))
(1) 비트 0(DSC) ……… VRAM(7)과 스프라이트 어트리뷰트 테이블 버퍼(23)와의 사이의 전송이 종료에서 개입중단이 가능전송의 종료시간에 개입중단이 가능한가 또는 아닌가를 결정한다.
(1.1) "0" ……… 불능
(1.2) "1" ……… 가능
(2) 비트 1(DVC) ……… VRAM(7)의 두 영역 사이의 전송의 종료에서 개입중단의 가능전송의 종료시간에 개입중단이 가능한가 또는 아닌가를 결정한다.
(2.1) "0" ……… 불능
(2.2) "1" ……… 가능
(3) 비트 2(SI/D) ……… 소오스 어드레스의 증가/감소
소오스 어드레스의 자동적인 증가와 감소중의 하나가 VRAM(7)의 두 영역 사이의 전송에서 선택된다.
(3.1) "0" ……… 증가
(3.2) "1" ……… 감소
(4) 비트 3(DI/D)
디스티네이션 어드레스의 자동적인 증가와 감소중의 하나가 VRAM(7)의 두 영역 사이의 전송에서 선택된다.
(4.1) "0" ……… 증가
(4.2) "1" ……… 감소
(5) 비트 4(DSR) ……… VRAM(7)과 스프라이트 어트리뷰트 테이블 버퍼(23)와의 사이에 전송의 반복 VRAM(7)과 스프라이트 어트리뷰트 테이블 버퍼(23)와의 사이에 전송의 반복이 가능한가 또는 아닌가를 결정한다.
(r) DMA 소오스 어드레스 레지스터
(레지스터 번호 "10", 제3도(r))
소오스 어드레스의 개시 어드레스는 VRAM(7)의 두 영역 사이의 전송에서 할당된다.
(s) DMA 디스티네이션 어드레스 레지스터
(레지스터 번호 "11", 제3도(s))
디스티네이션 어드레스의 개시 어드레스는 VRAM(7)의 두 영역 사이의 전송에서 할당된다.
(t) DMA 블록길이 레지스터(레지스터 번호 "12" 제3도(t)) 블록의 길이는 VRAM(7)의 두 영역 사이의 전송에서 확정된다.
(u) DMA VRAM-SATB 소오스 어드레스 레지스터
(레지스터 번호 "13" 제3도(u))
소오스 어드레스의 개시 어드레스는 VRAM(7)과 스프라이트 어트리뷰트 테이블 버퍼(23)와의 사이의 전송에서 할당된다.
제4도(a)에 있어, 가상의 화면상에 문자를 위한, 백그라운드 어트리뷰트 테이블에서 어드레스를 표시하고 있다.
각 문자위치에서 표시되는 문자와 컬러는 백그라운드 어트리뷰트 테이블에 기억된다.
백그라운드 어트리뷰트 테이블의 소정수는 VRAM(7)에서 "0"인 첫째 어드레스의 영역에 기억된다.
한 예로서 여기에 표시한 가상 화면은 32×32문자(IF=32)의 것이다.
제4도(b)에 있어서, 제3도(l), 제3도(m), 제3도(n), 그리고 제3도(o)에 표시한 바와같이 상기 수평동기 레지스터, 수평표시 레지스터, 수직동기 레지스터, 그리고 수직표시 레지스터에 각각의 소정치를 기록함으로써 프레임이 되는 화면을 표시하고 있다.
비록 레지스터를 위한 각 소정치가 여기서 설명되지 않았더라도 표시영역은 수평표시 레지스터에서는 "HDW+1"에 따라 확정되어 있다.
실시예에 있어서, 표시 영역을 위한 개시좌표(X,Y)는 (32,64)와 같이 되게 가르키고 있다.
제5도(a)와 (b)에 있어, 문자의 패턴번호를 표시하기 위한 하위 12비트의 문자코드와 CG 컬러코드를 표시하기 위한 한쪽 위쪽 4비트의 CG 컬러를 가지기 위해 16비트의 VRAM(7)에서 백그라운드 어트리뷰트 테이블(BATs)을 표시하고 있다.
제6도(a)와 (b)에 있어서, 스프라이트 발생영역(32)에 따라 VRAM에서 스프라이트 어트리뷰트 테이블(SATs)(31) 표시하고 있다.
스프라이트 어트리뷰트 테이블(31)의 각각은 한 스프라이트에 확정되는 4단어의 16×4비트로 구성되어 있다. 그러므로 64스프라이트가 256단어로서 확정된다.
스프라이트 어트리뷰트 테이블에 있어서는 첫째 단어에서의 하위 10비트가 스프라이트의 수평위치(0~1023)를 지정한다.
이 목적을 위하여 0에서 1023중의 하나가 거기의 X좌표에 기록된다. 같은 방법으로, 둘째 단어의 하위 10비트는 스프라이트의 수직위치(0에서 1023까지)를 지정하고, 그리고 0에서 1023까지중의 하나가 그곳의 Y좌표에 기록된다.
반면에 셋째 단어의 하위 11비트가 넷째 단어가 MSB에서 LSB까지의 방향에서 스프라이트(X3에서 X0까지의 4비트)를 위한 컬러, 그리고 BG/SP(X7), CGX(X8),
Figure kpo00021
( X11), CGY(X13과 X12의 2비트),
Figure kpo00022
(X15)를 포함하는 컬러비트를 위한 것인데, 스프라이트 발생기(32)를 위한 어드레스인 패턴번호를 위한 것이다.
제어비트는 다음과 같이 확정된다.
(1)
Figure kpo00023
의 세팅
스프라이트는 Y방향으로 반전되어 표시된다.
(2) CGX의 세팅
스프라이트 발생기(32)에서 어드레스될 스프라이트와 그리고 다음 어드레스의 다른 스프라이트로 구성하는 두 스프라이트는 수평방향으로 연결되어 표시된다.
(3) X의 세팅
스프라이트는 X방향에서 반전하여 표시된다.
(4) CGY의 세팅
후에 더욱 상세하게 설명될 3모드를 두 비트 X와 X가 확정된다.
Figure kpo00024
(5) BG/SP
비트 X는 백그라운드와 스프라이트의 표시 사이의 우선순위를 지정한다.
(5.1) "0" ……… 백그라운드
(5.2) "1" ……… 스프라이트
(6) 스프라이트 컬러
비트 X에서 X까지가 스프라이트의 영역 컬러를 지정한다. 각 스프라이트는 한 스프라이트가 64단어를 점유하도록 16×16도트가 되게 각 SG0에서 SG3까지로 불리우는 4개의 면(facet)을 가지고 있다. 스프라이트 어트리뷰트 테이블(31)에 데이터의 기록은 그 데이터가 CPU(2)에서 직접 VRAM(7)에 이송되지 아니하고 DMA 이송에 있어서 CPU(2)로부터 스프라이트 어트리뷰트 테이블 버퍼(23)로 이송되도록 실행된다. 작동에 있어서, 기준좌표(2,2)를 가지고 있는 스프라이트(SP)는 제7도에 표시한 것과 같은 X와 Y방향에 각각 1024 표시도트를 가지고 있는 CRT(9)상에 표시된다.
스프라이트(SP)가 그 위에 표시하는데 있어, 64 스프라이트 어트리뷰트 테이블(31)의 Y좌표는 제2도(b)에서 표시된 것과 같이 주사 래스터 번호 "1"의 수평표시 기간이 그 장치에서 개시될때 패턴코드버퍼(35)에 스프라이트수 0~63중 그의 스프라이트에 그때 기억되는 Y좌표 "2"를 가지고 있는 각 스프라이트를 픽업하기 위해 일치 검출회로(34)에서 주사 래스터 신호 발생회로(33)에서 공급된 래스터 신호와 교대로 비교된다.
이 경우에 있어, 스프라이트 16은 최대로 패턴코드버퍼(35)에 기억될 수가 있다.
주사 래스터 번호 "1"이 종료하기전 그리고 주사 래스터 번호 "2"가 개시한 후의 수평 귀선 기간동안 어드레스 신호는 패턴 데이터가 그리하여 발생된 어드레스 신호에 따라 스프라이트 발생기(32)에서 판독되도록 스프라이트 어트리뷰트 테이블(31)에서 패턴코드와 CPU(35)에 기억된 스프라이트수에 따라 셀렉터(36)에서 발생된다.
패턴 데이터는 스프라이트 어트리뷰트 테이블(31)에서 그곳에 일치한 X좌표와 패턴 데이터 버퍼(37)에서 지정된다.
주사 래스터 번호 "2"의 수평표시 기간이 개시될때 패턴 데이터 버퍼(37)에 기억된 X좌표는 일치 검출회로(39)에서 수평 도트 클럭 카운터(38)의 계산치와 비교된다.
비교에서, 스프라이트(SP)의 패턴 데이터는 계산치가 x=2에 일치될때 패턴 데이터 버퍼(37)에 병렬/직렬 변환회로(40)에 공급되어 판독된다.
병렬 패턴 데이터는 스프라이트(SP)의 영상요소(2,2)가 게이트 회로(42)를 거쳐 통과하는 직렬 패턴 데이터에 따라 CRT(9) 화면에 표시되도록 병렬/직렬 변환회로(40)에서 직렬 패턴 데이터로 변환된다.
이후, 15 영상요소(3,2), (4,2), ………, (17,2)는 y=2 래스터 라인상에 스프라이트(SP)의 표시를 완성하기 위해 그위에 표시된다.
당연한 일로서, 스프라이트(SP)에 일치하는 스프라이트 어트리뷰트 테이블(31)의 제어 데이터는 거기의 표시를 제어하기 위해 사용된다.
한 스프라이트(SP')인 기준좌표(X,Y)를 가지고 있는 표시위치에 기준좌표(2,2)를 가지고 있는 스프라이트(SP)를 이동하는데 있어, 스프라이트에 일치하는 스프라이트 어트리뷰트 테이블(31)의 X와 Y좌표는 스프라이트 발생기(32)의 변화내용과 패턴을 재정의 할 필요성 업이 X와 Y좌표(x,y)가 되게만 변화한다.
스프라이트(SP)(SP')는 SG0에서 SG3까지의 4면중 한면 이상의 조합에 따라 표시된다.
제8도에 있어서, 본 발명에 따라 첫째 실시예로 비디오 메모리의 액세스를 제어하는 장치를 표시하였다.
그 장치는 CPU(2), 래스터 세팅 레지스터(50), 발생하는 주사 래스터 신호의 회로(33), 래스터 설정 레지스터(50)의 래스터 번호(RN)으로 래스터 카운터의 계산치(N)를 비교하기 위해 주사 래스터 신호를 계산하는 래스터 카운터(표시되지 않음)를 포함하는 비교회로(51), 그리고 CPU(2)에 의해 백그라운드와 스프라이트를 표시하기 위해 제어되는 CRT(9)으로 구성되어 있다. 래스터 번호(RN)는 래스터 번호 0에서 256(28=256)까지의 것중에서 하나가 거기에 고정될 수 있도록 0에서 7까지의 8비트에 의해 확정된다.
작동에 있어서, 래스터 설정 레지스터(50)의 래스터 번호(RN)는 CPU(2)에 의해 제9도(a)에 표시한 것과 같이 n1이 되게 설정된다.
비교회로(51)의 래스터 카운터는 회로(33)에서 공급된 주사 래스터 신호를 계산한다.
계산치(N)가 동등하고, 그리고 0보다 더 크고, 설정치 n1(0≤N<n1) 이하일때는, 설정치(n1)는 그 안에 있게 된다.
계산치(N)가 설정치(n1)와 동등할때 비교회로(51)는 래스터 설정 레지스터(50)의 래스터 번호(RN)가 제9도(b)에서 표시된 것과 같이 CPU(2)에 의해 n2가 되게 그때 설정되도록 CPU(2)에 일치하는 신호를 공급한다.
계산치(N)가 동등하고, n1보다 더 크고, 설정치 (n2)(n1≤N<n2) 이하일때 설정치(n2)는 그 안에 있게 된다.
계산치(N)가 설정치(n2)와 동일할때 둘째 일치신호는 래스터 설정 레지스터(50)의 래스터 번호(RN)가 제9도(c)에서 표시된 것과 같이 CPU(2)에 의해 n3가 되게 설정된다.
같은 방법으로, 셋째 일치신호는 계산치(N)가 설정치(n3)와 동일할때 일치회로(51)에서 공급되다.
첫째에서 셋째까지의 일치신호를 수신할때 CPU(2)는 래스터 번호(n1,n2,n3)에 따라 4영역으로 CRT(9)을 나눈다.
예를 들면, CRT(9)은 CPU(2)에 의해 4로 나누어진 영역상에 다른 페이지의 패턴을 표시하기 위해 제어된다.
만약 그렇지 않으면 또 다른 개입중단신호가 상기 일치신호가 CPU(2)에 공급될때 발생될 것이다.
제10도에 있어, 본 발명에 따라 둘째 실시예에 있어서 비디오 메모리의 액세스를 제어하는 장치를 표시하고 있다.
그 장치는 CPU(2), 레지스터(53)의 그룹, 어드레스 카운터(52), 그리고 VRA M(7)로 구성되어 있다.
레지스터(53)의 그룹은 제3도(c)에서 (g)까지에 표시한 것과 같은 메모리 어드레스 기록 레지스터(3C), 메모리 어드레스 판독 레지스터(3D), VRAM 데이터 기록 레지스터(3E), VRAM 데이터 판독 레지스터(3F), 그리고 제어 레지스터(3G)를 가지고 있다.
메모리 어드레스 기록 레지스터(3C)와 메모리 어드레스 판독 레지스터(3D)는 VRAM(7)이 어드레스 카운터(52)의 어드레스치에 따라 액세스되도록 어드레스 카운터(52)에 연결되어 있다.
데이터는 CPU(2)에 의해 거기에서 판독되고, 그리고 VRAM(7)에 기록되게 제어된다.
제어 레지스터(3G)는 제3도(g)에서 설명한 것과 같이 다른 비트로서 증가폭을 확정하는 비트(11)(12)의 IW 비트를 가지고 있다.
비트(11)(12)의 내용과 그리고 증가폭과의 관계는 반복설명이 여기에서 이루어지지 않도록 위에서 이미 설명되었다.
IW 비트가 "0"일 경우에는 증가폭은 "+1"이 되게 확정된다.
만약 메모리 어드레스 기록 레지스터(3C)의 개시 어드레스가 "0"이라고 추정되면 VRAM 데이터 기록 레지스터(3E)는 어드레스 카운터(52)가 어드레스 "0"에 일치하는 소정의 수를 계산할때 VRAM(7)의 어드레스 "0"의 영역에 기록된다.
그리고 메모리 어드레스 기록 레지스터(3C)의 어드레스는 "+1"에 의해 증가되고 그러므로서 "0"에서 "1"까지 변화된다.
VRAM(7)에 기록된 데이터는 제4도(a)에서 표시된 것과 같이 가상 화면상에 어드레스 "0"의 데이터에 일치한다
다음은, VRAM(7)의 어드레스는 메모리 어드레스 기록 레지스터(3C)의 내용 "1"에 따라 어드레스 카운터(52)에 의해 계산되고, 그리고 VRAM 기록 레지스터(3E)는 VRAM(7)의 어드레스 "1"의 영역에 기록된다.
이러한 방법으로, 가상 화면의 수평방향의 어드레스(0-1F), (20-3F), (40-5F), ………에 일치하는 데이터가 VRAM(7)에 연속적으로 기록된다.
IW 비트가 "1"일 경우에는, 증가폭이 "+20"(16진수코드)이 되게 확정된다.
만약 메모리 어드레스 기록 레지스터(3C)의 개시 어드레스가 "0"인 것이 추정되면 VRAM 데이터 기록 레지스터(3E)의 데이터는 어드레스 카운터(52)가 어드레스 "0"에 일치하는 소정의 수를 계산할때 VRAM(7)의 어드레스 "0"의 영역에 기록된다.
그리고 메모리 어드레스 기록 레지스터(3C)의 한 어드레스는 "+20"에 의해 증가되고 그러므로 "0"에서 "20"까지 변화한다.
다음은, VRAM(7)의 어드레스는 메모리 어드레스 기록 레지스터(3C)의 내용 "20"에 따라 어드레스 카운터(52)에 의해 계산되고, 그리고 VRAM 기록 레지스터(3E)의 데이터는 VRAM(7)의 "20" 어드레스의 영역에 기록된다.
이러한 방법으로, 가상 화면의 어드레스(0), (20), (40), (60), ……에 일치하는 데이터가 VRAM(7)에 연속적으로 기록된다.
그 결과, 본 작동은 수평방향에서 표시되는 패턴이 수직방향으로 표시되는 패턴으로 변화되는 작동과 동일하다.
그렇지 않으면, 만약 증가폭이 "+40" 또는 "+80"인 것이 추정되면 수직방향으로 표시되고, 그리고 2번 또는 4번에 의해 증대된 패턴을 얻게 된다.
게다가, 만약 증가폭이 소정치로서 적당히 선택되면 패턴의 회전등등이 실행될 수가 있다.
비록 VRAM(7)에 데이터의 기록이 설명이 되더라도 거기에서의 데이터의 판독도 역시 위에서 언급화 바와 같은 방법으로 실행된다.
다음은 셋째 실시예에서 비디오 메모리의 액세스를 제어하는 장치가 제2도와 제3도(a)에서 (u)까지와 함께 설명된다.
CPU(2)가 16비트의 데이터 버스폭일 경우에는 칩 선택신호 "0"가 가능성을 주는 비디오 표시 제어기(1)의 터미널
Figure kpo00025
에 공급된다.
데이터 버스폭 신호 "0"는 비디오 표시 제어기(1)의 제어부(20)에 터미널 EX 8/
Figure kpo00026
을 통하여 공급된다.
(a) 레지스터에 데이터의 기록
데이터가 기록되는 레지스터의 레지스터 번호(AR)는 어드레스 레지스터(3A)(이때에는, A0="관계없다", A1="1")에 기록된다.
그리고 그 데이터는 레지스터 번호(AR)(이때에는, A0="관계없다", A1="1")의 결과로서, 표시 모드 등등과 같은 그러한 기능이 선택되고, 그리고 어드레스가 비디오 메모리(7)에 고정되는 데이터는 비디오 표시 제어기(1)에 레지스터에 기록된다.
(b) 상태의 판독
상태는 상태 레지스터(3B)(이때는, A0="관계없다", A1="0")에서 판독된다.
(c) VRAM(7)에 데이터의 기록
다음 절차(1)에서 (4) 까지는 데이터가 CPU(2)에 의해 VRAM(7)에 비디오 표시 제어기(1)를 통하여 기록될때 실행된다.
(1) 메모리 어드레스 기록 레지스터(3C)의 레지스터 번호 "0"는 어드레스 레지스터(3A)에 기록된다.
(2) VRAM(7)의 어드레스는 메모리 어드레스 기록 레지스터(3C)에 기록된다.
(3) VRAM 데이터 기록 레지스터(3E)는 레지스터 번호 "2"는 어드레스 레지스터(3A)에 기록된다.
(4) 데이터는 그 데이터가 VRAM(7)의 어드레스의 영역에 기록되도록 VRAM 데이터 기록 레지스터에 기록된다.
그리고 메모리 어드레스 기록 레지스터(3C)의 내용은 제어 레지스터(3G)의 IW 비트에 따라 결정치에 의해 증가된다.
절차(1)에서 (4)까지는 VRAM(7)에 데이터의 소정량을 기록하는 것이 필요한 단계의 수에 의해 반복된다.
(d) VRAM(7)의 데이터의 판독
다음 절차(1)에서 (4)까지는 데이터가 CPU(2)에 의해 VRAM(7)에서 비디오 표시 제어기(1)를 통하여 판독될때 실행된다.
(1) 메모리 어드레스 판독 레지스터(3D)의 레지스터 번호 "1"는 어드레스 레지스터(3A)에 기록된다.
(2) VRAM(7)의 어드레스는 메모리 어드레스 판독 레지스터(3D)에 기록된다.
(3) VRAM 데이터 판독 레지스터(3F)의 레지스터 번호 "3"는 어드레스 레지스터(3A)에 기록된다.
(4) 데이터는 그 데이터가 VRAM(7)의 어드레스의 영역에서 판독되도록 VRAM 데이터 판독 레지스터(3F)에 기록된다.
그리고 메모리 어드레스 판독 레지스터(3D)의 내용은 제어 레지스터(3G)의 IW 비트에 따라 결정치에 의해 증가된다.
반면에 CPU(2)가 8비트의 데이터 버스폭일 경우에는 칩선택 신호 "0"가 가능성을 주는 비디오 표시 제어기(1)의 터미널
Figure kpo00027
에 공급된다.
데이터 버스폭 신호 "1"는 비디오 표시 제어기(1)의 제어부(20)에 터미널 EX 8/
Figure kpo00028
을 통하여 공급된다.
(a) 레지스터에 데이터의 기록
(1) 데이터가 기록되는 레지스터의 레지스터 번호(AR)는 어드레스 레지스터(3A)(이때에는, A0="0", A1="1")에 기록된다.
(2)데이터의 아래 바이트는 레지스터 번호(AR)(이때에는, A0="0", A1="1")의 선택된 레지스터에 기록된다.
(3) 데이터의 상위 바이트는 선택된 레지스터(이때는, A0="1", A1="1")에 기록된다.
(b) 상태의 판독
상태 데이터의 하위 바이트는 상태 레지스터(3B)에서 판독되고, 그 반면에 "0"의 상위 바이트는 거기에서 판독된다.
(c) VRAM(7)에 데이터의 기록
8비트 데이터 버스폭의 절차는 전에 언급한 바와같이 16비트 데이터 버스폭의 그것과 같이 기본적으로 같고, 어드레스가 메모리 어드레스 기록 레지스터(3C)에 기록되고, 그리고 데이터가 VRAM 데이터 기록 레지스터(3E)에 기록될때 데이터의 하위 바이트와 그의 상위 바이트가 계속적으로 처리되는 것이 제공된다.
이때에는 메모리 어드레스 기록 레지스터(3C)의 어드레스가 전에 언급한 바와 같이 제어 레지스터의 IW 비트에 따라 결정된 치에 의해 증가된다.
(d) VRAM(7)에서 데이터의 판독
이것도 역시 데이터의 하위 바이트와 거기서 상위 바이트가 연속적으로 처리되는 것을 제공하는 16비트 데이터 버스폭에 있어서와 같다.
VRAM(7)에 데이터의 기록은 더욱 상세하게 설명한다.
우선, 메모리 어드레스 기록 레지스터(3C)의 레지스터 번호 "0"이 어드레스 레지스터(3A)에 기록된다.
다음은 데이터의 기록을 위한 개시 어드레스는 하위 바이트 후에 상위 바이트의 연속되는 순서로 메모리 어드레스 기록 레지스터(3C)에 기록되는 하위 바이트와 상위 바이트로 나누어진다.
이후, 데이터의 하위 바이트는 VRAM 데이터 기록 레지스터에 기록되고, 그리고 데이터의 상위 바이트는 그때 거기에 기록된다.
상위 바이트에 기록할때 메모리 어드레스 기록 레지스터(3C)의 내용은 제어 레지스터(3G)의 IW 비트에 따라 결정된 치에 의해 증가된다.
이 방법에서 영상은 16과 8비트 데이터 버스폭 중의 선택된 것에 텔레비젼의 CRT(9) 화면상에 표시된다.
더욱 상세하게 설명하면 스프라이트 어트리뷰트 테이블(31)의 어드레스 또는 VRAM(7)의 백그라운드 어트리뷰트가 스프라이트 발생기(32) 또는 VRAM(7)의 문자 생성기가 패턴번호, 표시위치(X,Y), 백그라운드의 스프라이트와 문자코드 등등의 컬러코드 등등에 따라 액세스 되도록 어드레스부(21)에 의해 지정된다.
액세스된 문자 생성기 또는 스프라이트 발생기에서 판독된 데이터는 백그라운드 쉬프트 레지스터(25) 또는 스프라이트 쉬프트 레지스터에 기억된다. 스프라이트 또는 백그라운드 쉬프트 레지스터(24) 또는 (25)의 이러한 데이터는 비디오 컬러 인코더(3)에 우선순위 회로(28)를 통하여 공급된다.
이 스테이지에 있어 스프라이트 또는 문자의 패턴 신호는 터미널 VD0에서 VD3까지를 거쳐 통과되고, 그리고 컬러코드는 터미널 VD4에서 VD7까지를 거쳐 통과된다.
터미널 SP/BG는 스프라이트 정보가 이러한 터미널을 거쳐 통과할때는 높고(HIGH), 그리고 백그라운드 정보가 거기를 통하여 통과할때는 낮다(LOW).
우선순위 회로(28)는 스프라이트 어트리뷰트 테이블의 비트(SP/BG)에 따라 스프라이트와 백그라운드의 하나에 우선순위를 제공한다.
패턴신호에 의해 공급된 비디오 컬러 인코더(3)는 RGB 아나로그신호 또는 비디오 컬러신호를 발생한다.
더욱, 본 발명에 따라 넷째 실시예에서 비디오 메모리의 액세스를 제어하는 장치가 설명된다.
우선, DMA 제어 레지스터(3Q)의 레지스터 번호 "0F"는 어드레스 레지스터(3A)에 기록된다.
SI/D의 비트(2)와 DI/D의 비트(3)이 각각 "0"인 제어모드는 DMA 제어 레지스터(3Q)에 설정되었다고 추정한다.
다음은 CMA 소오스 어드레스 레지스터(3R)의 레지스터 번호 "10"은 DMA 소오스 어드레스 레지스터(3A)에 DMA 트랜스퍼 안의 소오스 어드레스의 개시 어드레스를 기록함으로써 어드레스 레지스터(3A)에 기록되고, 그리고 DMA 디스티네이션 어드레스 레지스터(3S)의 레지스터 번호 "11"은 DMA 트랜스퍼에서 디스티네이션의 개시 어드레스를 기록함으로써 어드레스 레지스터(3)에 기록된다.
게다가, DMA 블록길이 레지스터(3T)의 레지스터 번호 "12"는 DMA 블록길이 레지스터(3T)에 DMA 트랜스퍼의 블록길이를 기록함으로써 어드레스 레지스터(3A)에 기록된다.
이때에, 만일 CPU(2)의 인터페이스가 16비트 데이터 버스폭이면 블록길이의 하위 바이트와 상위 바이트는 거기에 동시에 기록된다.
이것은 데이터가 VRAM(7)의 소오스 어드레스에서 거기의 디스티네이션 어드레스에 직접 전송되도록 DMA 트랜스퍼의 시작을 위한 트리거이다.
반면에, 만약 CPU(2)의 인터페이스가 8비트 데이터 버스폭이면 블록길이의 하위 바이트는 DMA 블록길이 레지스터에 처음으로 기록되고, 그리고 거기의 상위 바이트는 그때 거기에 기록된다.
상위 바이트를 설정시키는 것은 DMA 트랜스퍼의 시작을 위한 트리거이다.
위에서 언급한 바와같이, DMA에서는 소오스와 디스티네이션 어드레스는 DMA 제어 레지스터(3Q)의 비트 2와 3의 내용 "0"에 따라 그것에 의해 DMA 소오스와 디스티네이션 어드레스 레지스터(3R)과 (3S)에서 증가된다.
동시에 위아래를 계산하는 것은 블록길이를 계산하는 계산기에서 실행된다. 계산치가 블록길이와 동일할때 DMA 트랜스퍼는 종료되도록 제어한다.
비록 DMA 트랜스퍼가 VRAM(7)가 두 영역 사이에서 실행되는 것이 실행되었어도 DMA(2)과 스프라이트 어트리뷰트 테이블 버퍼(23) 사이에서도 실행된다.
그러한 경우에, 소오스 어드레스의 개시 어드레스는 DMA-VRAM-SATB 소오스 어드레스 레지스터(3U)의 내용에 따라 확정된다.
비록 본 발명이 완전하고 명백한 개시를 위해 특유한 실시예에 관하여 설명했지만, 첨부된 청구범위는 한정되지 않고 이곳에 놓여진 기본설명 범위내의 기술에 익숙한 사람에 발생하는 모든 수정과 선택적인 구조를 구체화 함으로써 해석되어야 한다.

Claims (7)

  1. 영상 데이터를 기억하기 위한 메모리와, 제어 데이터를 가지는 레지스터 그룹과, 하나 이상의 데이터 버스를 가지고, 상기 레지스터 그룹은 상기 비디오 메모리에서 상기 영상 데이터를 억세스하기 위한 제어 데이터를 가지는 레지스터를 포함하고, 상기 비디오 메모리에서 상기 영상 데이터의 어드레스를 증가 또는 감소하는 제어 데이터를 가지는 레지스터를 포함하는 비디오 메모리 억세스를 제어하기 위한 장치에 있어서, 상기 증가 또는 감소하는 제어 데이터에 따라 상기 비디오 메모리를 억세스하기 위한 수단과, 상기 억세스 제어 데이터를 따라 상기 데이터 버스의 폭을 제어하기 위한 수단을 구비하는 비디오 메모리 억세스 제어장치.
  2. 제1항에 있어서, 상기 레지스터 그룹은 디스플레이 화면상에 각 복수의 주사 래스터가 검출될때 인터럽트 신호를 발생하는 제어 데이터를 가지는 레지스터를 포함하는 비디오 메모리 억세스 제어장치.
  3. 제1항에 있어서, 상기 데이터 버스의 폭은 8비트 데이터폭과 16비트 데이터폭인 비디오 메모리 억세스 제어장치.
  4. 제1항에 있어서, 상기 레지스터 그룹은 DMA 전송에서 블럭길이용 제어 데이터를 가지고, 상기 블럭길이용 제어데이터가 상기 레지스터로 설정될때 상기 DMA 전송의 기동이 제어되도록 설정되는 레지스터를 포함하는 비디오 메모리 억세스 제어장치.
  5. 제1항에 있어서, 영상 데이터를 기억하기 위한 메모리와, 제어 데이터를 가지는 레지스터 그룹과, 하나 이상의 데이터 버스를 가지고 상기 레지스터 그룹은 상기 비디오 메모리에서 상기 영상 데이터를 억세스하기 위한 제어 데이터를 가지는 레지스터를 포함하고, 상기 비디오 메모리에서 상기 영상 데이터의 어드레스를 증가 또는 감소하는 제어 데이터를 가지는 레지스터를 포함하는 비디오 메모리 억세스를 제어하기 위한 장치에 있어서, 상기 제어 데이터를 증가 또는 감소에 따라 상기 비디오 메모리를 억세스하기 위한 수단과, 상기 억세스 제어 데이터에 따라 상기 데이터 버스의 폭을 제어하기 위한 수단과, 상기 데이터 버스폭이 상기 제어수단과 상기 비디오 메모리 사이에서 신호가 "0"일때 상기 데이터 버스폭이 8비트이고, 신호가 "1"일때 상기 데이터 버스폭이 16비트가 되도록 8비트와 16비트 버스폭 사이에서 데이터 버스폭을 변경하는 신호를 생성하는 수단을 구비하는 비디오 메모리 억세스 제어장치.
  6. 제1항에 있어서, 상기 화면을 디스플레이 하는 것은 상기 인트럽트 신호에 따라 복수의 영역으로 분할되어서 상기 비디오 메모리의 다른 페이지에 대응하는 영상을 디스플레이하는 비디오 메모리 억세스 제어장치.
  7. 제4항에 있어서, 상기 블럭길이용 상기 데이터의 상위 바이트가 설정되고 계속해서 상기 블럭길이용 상기 데이터의 하위 바이트가 상기 레지스터에 설정될때 상기 DMA 전송의 기동이 제어되는 비디오 메모리 억세스 제어장치.
KR1019880011052A 1987-09-19 1988-08-30 비디오 메모리(Video Memory)의 액세스(Access)를 제어하는 장치 KR960014826B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP62235485A JP2633266B2 (ja) 1987-09-19 1987-09-19 Dma転送御装置
JP62-235485 1987-09-19
JP62235484A JPS6478339A (en) 1987-09-19 1987-09-19 Address controller
JP62-235486 1987-09-19
JP62-235484 1987-09-19
JP62235486A JPS6478354A (en) 1987-09-19 1987-09-19 Switching device for data bus width

Publications (2)

Publication Number Publication Date
KR890005618A KR890005618A (ko) 1989-05-16
KR960014826B1 true KR960014826B1 (ko) 1996-10-21

Family

ID=27332261

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019880011052A KR960014826B1 (ko) 1987-09-19 1988-08-30 비디오 메모리(Video Memory)의 액세스(Access)를 제어하는 장치

Country Status (2)

Country Link
KR (1) KR960014826B1 (ko)
GB (2) GB2210239B (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3038781B2 (ja) * 1989-04-21 2000-05-08 日本電気株式会社 メモリアクセス制御回路
JP2528446B2 (ja) * 1992-09-30 1996-08-28 株式会社ハドソン 音声画像処理装置
EP0590966B1 (en) * 1992-09-30 2000-04-19 Hudson Soft Co., Ltd. Sound data processing
US5459485A (en) * 1992-10-01 1995-10-17 Hudson Soft Co., Ltd. Image and sound processing apparatus
TW371340B (en) * 1992-10-09 1999-10-01 Hudson Soft Co Ltd Image processing system
DE19802868C2 (de) * 1997-02-05 1999-06-17 Siemens Ag Verfahren und Vorrichtung zur Datenakquisition
KR102374458B1 (ko) 2011-09-26 2022-03-15 주식회사 림사이언스 지능적 수술 시스템

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3485661D1 (de) * 1983-12-14 1992-05-21 Ascii Corp Anzeigesteuersystem.
JPS60173580A (ja) * 1984-02-20 1985-09-06 株式会社アスキ− 表示制御装置
DE3579023D1 (de) * 1984-03-16 1990-09-13 Ascii Corp Steuersystem fuer ein bildschirmsichtgeraet.
JPS6162980A (ja) * 1984-09-05 1986-03-31 Hitachi Ltd 画像メモリ周辺lsi
GB2169176B (en) * 1984-12-28 1988-09-21 Hitachi Ltd Display control device
US4763251A (en) * 1986-01-17 1988-08-09 International Business Machines Corporation Merge and copy bit block transfer implementation

Also Published As

Publication number Publication date
GB2210239B (en) 1992-06-17
GB2210239A (en) 1989-06-01
GB8818788D0 (en) 1988-09-07
GB2247814A (en) 1992-03-11
GB2247814B (en) 1992-06-10
GB9122388D0 (en) 1991-12-04
KR890005618A (ko) 1989-05-16

Similar Documents

Publication Publication Date Title
US4951038A (en) Apparatus for displaying a sprite on a screen
US4324401A (en) Method and system for generating moving objects on a video display screen
JP3274682B2 (ja) 静止画像表示装置およびそれに用いる外部記憶装置
IE52210B1 (en) Display controlling apparatus
GB1535999A (en) Apparatus for controlling the video display of a standard television receiver
KR100427520B1 (ko) 화상표시장치및화상표시방법
KR960014826B1 (ko) 비디오 메모리(Video Memory)의 액세스(Access)를 제어하는 장치
US5319786A (en) Apparatus for controlling a scanning type video display to be divided into plural display regions
US5030946A (en) Apparatus for the control of an access to a video memory
EP0487299B1 (en) Mosaic picture display apparatus and external storage unit used therefor
US5459485A (en) Image and sound processing apparatus
EP0573293A1 (en) Video mixing apparatus
JP4122705B2 (ja) 遊技機に装備される画像表示装置
JP3578533B2 (ja) 画像表示制御装置
WO1995001629A1 (fr) Dispositif et procede de traitement d&#39;images et machine de jeu dotee d&#39;un organe de traitement d&#39;images
JP2644503B2 (ja) スプライト表示制御装置
JP2610275B2 (ja) ビデオメモリ転送制御装置
US5838295A (en) Method for scrolling images on a screen
US20030189576A1 (en) Method and apparatus for displaying higher color resolution on a hand-held LCD device
JPS6335265B2 (ko)
JP2633266B2 (ja) Dma転送御装置
JP3252359B2 (ja) 画像処理装置
JPH0361199B2 (ko)
JP2792598B2 (ja) 走査型表示装置のスプライト表示制御装置
GB2246935A (en) An apparatus for the control of an access to a video memory

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20040902

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee