# Command Keen의 적응형 타일 갱신(Adaptive Tile Refresh)

> Clean Markdown view of GeekNews topic #10054. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=10054](https://news.hada.io/topic?id=10054)
- GeekNews Markdown: [https://news.hada.io/topic/10054.md](https://news.hada.io/topic/10054.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2023-07-29T09:56:36+09:00
- Updated: 2023-07-29T09:56:36+09:00
- Original source: [fabiensanglard.net](https://fabiensanglard.net/ega/)
- Points: 2
- Comments: 1

## Topic Body

- 적응형 타일 갱신 (ATR)은 Commander Keen (CK) 시리즈를 구동하는 중요한 기술입니다.
- ATR은 첫 번째 CK 삼부작에서 사용되었으며, 두 번째 삼부작에서는 다른 방법을 사용했습니다.
- Commander Keen은 Enhanced Graphic Adapter (EGA) 카드가 장착된 PC에서 가장 잘 실행됩니다.
- EGA 프로그래밍은 구성을 위한 레지스터와 비디오 RAM (VRAM)에 매핑된 메모리 창을 포함합니다.
- EGA는 데이터를 네 개의 평면에 저장하여 화면과 필요한 대역폭을 유지할 수 있습니다.
- CK는 320x200 해상도와 16가지 색상을 제공하는 EGA Mode 0xD를 사용합니다.
- ATR은 부드러운 스크롤링과 화면 갱신을 가능하게 함으로써 대역폭 문제를 해결합니다.
- 부드러운 수직 스크롤링은 CRTC_START 레지스터를 증가 또는 감소시킴으로써 달성됩니다.
- 부드러운 수평 스크롤링은 OFFSET 및 PEL 레지스터를 사용하여 화면을 수평으로 이동시킴으로써 달성됩니다.
- ATR은 가상 화면이 가장자리에 도달할 때 "jolt"라는 기술을 사용하여 초기화하는 방법도 포함합니다.
- 두 번째 CK 삼부작은 타일을 반복하지 않고 부드러운 스크롤링을 달성하기 위해 "drifting"이라는 다른 방법을 사용했습니다.
- Drifting은 CRTC 시작 주소를 VRAM 공간을 감싸도록 허용하는 것을 의미합니다.
- ATR과 drifting은 CK 게임에서 배경과 스프라이트를 효율적으로 렌더링하는 효과적인 방법이었습니다.
- 두 번째 삼부작의 drifting 방법은 ATR보다 간단하고 빠른 방법이었습니다.
- 특정 VGA 카드와의 호환성 문제가 발생하기도 했지만, 이는 관리 가능했습니다.
- 전반적으로, ATR과 drifting은 CK 게임에서 부드러운 스크롤링과 효율적인 렌더링을 가능하게 한 혁신적인 기술입니다.

## Comments



### Comment 17752

- Author: neo
- Created: 2023-07-29T09:56:36+09:00
- Points: 1

###### [Hacker News 의견](http://news.ycombinator.com/item?id=36898749) 
- 커맨더 키른 4-6의 스크롤링은 카맥의 기술적인 작업과 에드리언 카맥의 예술 덕분에 PC에서 여러 해 동안 비할 데 없었습니다.
- PC 게임에 큰 도약이었던 측면 스크롤링은 NES가 PC보다 먼저 해결했습니다.
- 타일 기반 게임에 설명된 기술을 구현하는 것은 생각보다 복잡하지 않았고, 많은 개발자들이 비슷한 해결책을 찾아냈습니다.
- J. 카맥과의 렉스 프리드먼 팟캐스트는 모든 게임의 주요 혁신을 다루고 있으며, 강력히 추천됩니다.
- 많은 사람들이 커맨더 키른을 플레이하고 그 비밀을 발견하는 것에 대한 좋은 추억을 가지고 있습니다.
- 일부 개발자들은 자신의 프로젝트에서 비슷한 기술을 구현했지만, 성능은 사용된 프로그래밍 언어에 따라 다를 수 있습니다.
- 이 기사는 프레임버퍼를 깨뜨리지 않고 수평 스크롤링이 작동하는 방법을 설명합니다.
- 키른의 시작 화면에서 "VGA 호환 모드 활성화"라는 언급은 항상 플레이어들의 호기심을 자극했습니다.
- 이 기사는 인터넷의 훌륭함을 잘 보여주며 매우 칭찬받고 있습니다.
