2017-05-18 6 views

답변

5

예 어셈블리를 인터럽트로 사용할 수 있습니다. 인터럽트는 비디오 칩의 래스터에 정렬됩니다. 첫 번째 스프라이트가 비디오 칩에 렌더링 된 후 (NOP을 사용하여 필요한 시간 기다리기) 위치와 모양이 오른쪽으로 더 변경됩니다. 그런 다음 스프라이트가 렌더링되어 원래 위치로 재설정 될 때까지 인터럽트가 다시 대기합니다. 왜냐하면 중첩 래스터가 거기를 "볼"필요가 있기 때문입니다.

이 기술을 사용하면 하나의 래스터 선에 8 개 이상의 스프라이트를 사용할 수 있습니다. 이 기술은 왼쪽/오른쪽 테두리에있는 스프라이트의 경우에 대해 showing sprites in the border과 유사합니다. 화면의 폭을 줄이기 위해 레지스터를 변경하는 대신 스프라이트의 x 위치를 변경해야합니다.

4

짧은 대답 : 예. 긴 않음 : ○하지만 몇 가지주의있다 :

VICII (비디오 칩)는 최대 8 하드웨어 스프라이트 rasterfor 각 당 스프라이트 데이터 3 바이트를 판독하고, 버퍼에 데이터가 표시되는 것을 의미한다 다음 래스터.

주어진 래스터에 하드웨어 스프라이트를 두 번 표시하면 다음 래스터에서 버퍼가 비게됩니다. 따라서 다음 래스터에서 스프라이트에 투명한 줄이 생깁니다.

또한 스프라이트 데이터 가져 오기는 현재 래스터/다음 시작 부분의 끝 부분에서 발생하므로 스프라이트 # 0을 복제하는 데 거의 제한이 있으며 (데이터가 먼저 페치되기 때문에) CRT -beam은 스크린의 오른쪽에 있습니다. 중복 된 스프라이트를 볼 수있게하려면 sideborder를 제거해야합니다.