Thiết kế hệ thống video của Super Nintendo
Bên trong TV vào đầu thập niên 90
- Super Nintendo xuất video ra TV tiêu chuẩn
- TV nhận tín hiệu truyền hình analog (NTSC) qua ăng-ten, nhận tín hiệu qua bộ dò và hiển thị hình ảnh trên CRT (ống tia âm cực)
- TV có đầu vào phụ (AUX), và TV gia dụng thông thường có đầu nối composite (màu vàng) để truyền tín hiệu video cùng các jack riêng cho tín hiệu âm thanh stereo (màu trắng và đỏ)
Nguyên lý hoạt động của CRT
- CRT hoạt động ở 15kHz và vẽ khoảng 15.000 dòng mỗi giây
- Bên trong CRT có ba súng điện tử, luôn bắn electron thẳng về phía trước, còn hai bộ nam châm (dọc và ngang) sẽ điều khiển electron di chuyển lên xuống và sang trái phải
- CRT không có pixel; các electron do súng điện tử bắn ra luôn đến đúng dải màu tương ứng
Cách điều khiển CRT
- CRT nhận các tín hiệu đỏ, lục, lam nối tới từng súng điện tử tương ứng
- Tín hiệu đồng bộ (HSYNC và VSYNC) được truyền qua một dây màu trắng duy nhất, gọi là đồng bộ tổng hợp (CSYNC)
- CRT tiêu thụ các tín hiệu này và cố gắng đồng bộ các súng điện tử
Cách CRT vẽ hình ảnh
- CRT vẽ từng dòng từ trái sang phải
- Khi nhận sự kiện HSYNC, nó quay về mép trái màn hình (X=0); khi nhận sự kiện VSYNC, nó quay về đỉnh màn hình (Y=0)
- CRT vừa di chuyển sang phải vừa nghiêng xuống dưới để vẽ các dòng
Điểm cốt lõi để hiểu CRT
- Cốt lõi của CRT là hiểu rằng súng điện tử di chuyển sang phải đồng thời nghiêng xuống dưới trên màn hình
- Nếu VSYNC xảy ra đồng thời với HSYNC cuối cùng, các dòng sẽ luôn được vẽ ở cùng một vị trí trên màn hình
- Nếu VSYNC xảy ra giữa hai HSYNC, các dòng sẽ được vẽ theo kiểu đan chéo
Nội dung bên trong một dòng
- CRT là kỹ thuật số ở cấp độ dòng quét, nhưng nội dung bên trong từng dòng lại là analog
- Ba súng điện tử được nối trực tiếp với các dây RGB, và hệ thống có thể tự do thay đổi tín hiệu màu
Cách các hệ thống thời đó xử lý
- Các nhà thiết kế SNES phải cung cấp tín hiệu mà CRT có thể xử lý
- Cần tuân theo đặc tả tín hiệu NTSC
- Tỷ lệ màn hình 4:3, 262,5 dòng mỗi field, 341,25 điểm mỗi dòng, tần số field 59,94Hz
Trở thành kỹ sư Nintendo
- Sau khi hiểu cách CRT hoạt động, họ phải thiết kế hệ thống video
- Họ tạo chế độ progressive bằng 262 dòng và nhắm tới tốc độ khung hình 59,94Hz
- Họ dùng 350 điểm để khớp tỷ lệ màn hình 4:3, và cần dot clock 5,496,498Hz
Giải quyết vấn đề
- Không thể dùng dot clock 5,496,498Hz
- Phải dùng bộ dao động chính để các hệ con sử dụng thông qua bộ chia tần
- Cần giải quyết vấn đề overscan
Đưa vào overscan
- Nếu súng điện tử vẫn tiếp tục bắn electron trong lúc đặt lại theo chiều ngang hoặc dọc, sẽ xuất hiện các artefact nhìn thấy được
- TV dùng overscan cho vùng hiển thị, khiến hình ảnh hiện ra hơi lớn hơn một chút
- Cần có khoảng thời gian dừng súng điện tử sau VSYNC và HSYNC
Lựa chọn độ phân giải dọc của SNES
- Các hệ thống cạnh tranh dùng 224 dòng hiển thị
- Nintendo chia 262 dòng thành 224 dòng hiển thị và 38 dòng trống
Lựa chọn độ phân giải ngang của SNES
- Dùng 262 dòng và master clock 21.47727MHz để có dot clock 5.3693175MHz
- Dùng 341 điểm để đạt tốc độ khung hình 60.098Hz
Lựa chọn overscan ngang của SNES
- Trong 341 điểm, 256 điểm là hiển thị và 85 điểm được dùng cho HBLANK
- Tỷ lệ màn hình là 8:7, gây ra một chút méo hình
Chế độ độ phân giải cao: interlacing
- Có thể tăng gấp đôi độ phân giải dọc lên 448 dòng
- Việc tăng gấp đôi độ phân giải ngang thì khó hơn
PAL so với NTSC
- Ở châu Âu, người ta dùng PAL thay cho NTSC, còn ở Pháp dùng SECAM
- PAL dùng tốc độ khung hình 50Hz và 312,5 dòng mỗi field
- Bản SNES PAL dùng master clock 17.7344750MHz
- Độ phân giải hiển thị là 224 dòng và 256 điểm, với tốc độ khung hình 50.00697891Hz
Đầu ra
- SNES chuyển tín hiệu CRT thành composite và S-Video
- Qua đầu nối AV, máy cung cấp tín hiệu thuần "RGB/CSync", tín hiệu "Composite", và tín hiệu S-Video
Tóm tắt của GN⁺
- Bài viết này giải thích quá trình thiết kế hệ thống video của Super Nintendo, đồng thời trình bày nguyên lý hoạt động của CRT và cách xử lý tín hiệu
- Thông qua việc hiểu cách CRT vận hành và xử lý tín hiệu, bài viết lý giải các quyết định thiết kế trong hệ thống video của SNES
- Bài viết hữu ích với những ai quan tâm đến thiết kế phần cứng máy chơi game và giúp hiểu thêm về lịch sử cũng như nguyên lý hoạt động của công nghệ CRT
- Những dự án khác có chức năng tương tự gồm Sega Genesis và Neo-Geo AES
1 bình luận
Ý kiến trên Hacker News
224 là một con số chia hết cho 16, nên rất khớp với tilemap của pipeline kết xuất đồ họa
59.94Hz là một con số kỳ lạ
Tỷ lệ artwork 8:7 có thể thấy trong các game SFC/SNES được port sang nền tảng khác
Các game ở châu Âu có VSYNC ở 50.00697891Hz nên game chạy chậm hơn dự định 17%
Bài gốc có lỗi đánh máy; tỷ lệ 8:6 cũng chính là 4:3
Độ phân giải đầu ra 256x224 (8:7) được kéo giãn thành ảnh 4:3
Tôi tự hỏi có trình giả lập nào mô phỏng chính xác diện mạo CRT hay không
Điều này khiến tôi mong đợi những góc nhìn sâu hơn về việc thiết kế game mang tính biểu tượng đã được hình thành như thế nào