- Adaptive Tile Refresh (ATR) เป็นเทคนิคสำคัญที่ขับเคลื่อนซีรีส์ Commander Keen (CK)
- ATR ถูกใช้ในไตรภาคแรกของ CK ส่วนไตรภาคที่สองใช้วิธีที่ต่างออกไป
- Commander Keen ทำงานได้ดีที่สุดบนพีซีที่ติดตั้งการ์ด Enhanced Graphic Adapter (EGA)
- การเขียนโปรแกรม EGA มีทั้งรีจิสเตอร์สำหรับการตั้งค่าและหน้าต่างหน่วยความจำที่แมปกับวิดีโอ RAM (VRAM)
- EGA จัดเก็บข้อมูลไว้ในสี่เพลนเพื่อคงการแสดงผลบนหน้าจอและแบนด์วิดท์ที่ต้องใช้
- CK ใช้ EGA Mode 0xD ซึ่งให้ความละเอียด 320x200 และสี 16 สี
- ATR แก้ปัญหาเรื่องแบนด์วิดท์ด้วยการทำให้เลื่อนหน้าจอและรีเฟรชจอได้อย่างลื่นไหล
- การเลื่อนแนวตั้งอย่างลื่นไหลทำได้โดยเพิ่มหรือลดรีจิสเตอร์
CRTC_START
- การเลื่อนแนวนอนอย่างลื่นไหลทำได้โดยใช้รีจิสเตอร์
OFFSET และ PEL เพื่อเลื่อนหน้าจอในแนวนอน
- ATR ยังรวมถึงวิธีรีเซ็ตเมื่อหน้าจอเสมือนถึงขอบ โดยใช้เทคนิคที่เรียกว่า "jolt"
- ไตรภาคที่สองของ CK ใช้วิธีอีกแบบที่เรียกว่า "drifting" เพื่อให้เลื่อนอย่างลื่นไหลโดยไม่ต้องวนซ้ำไทล์
- Drifting หมายถึงการปล่อยให้ที่อยู่เริ่มต้นของ CRTC วนกลับภายในพื้นที่ VRAM
- ATR และ drifting เป็นวิธีที่มีประสิทธิภาพสำหรับการเรนเดอร์ฉากหลังและสไปรต์ในเกม CK
- วิธี drifting ของไตรภาคที่สองนั้นเรียบง่ายและเร็วกว่า ATR
- แม้จะมีปัญหาความเข้ากันได้กับการ์ด VGA บางรุ่นอยู่บ้าง แต่ก็ยังจัดการได้
- โดยรวมแล้ว ATR และ drifting เป็นเทคนิคที่ล้ำสมัยซึ่งทำให้เกม CK สามารถเลื่อนหน้าจอได้อย่างลื่นไหลและเรนเดอร์ได้อย่างมีประสิทธิภาพ
1 ความคิดเห็น
ความคิดเห็นบน Hacker News