Phân tích bên trong băng game Super Nintendo
(fabiensanglard.net)Here is a summary of the key points from the article on Super Nintendo cartridges, translated into Korean and organized using Markdown syntax:
Cấu trúc bên trong băng game Super Nintendo
- Băng game Super Nintendo có thể chứa ngoài các lệnh và asset trong chip ROM còn có thêm các thành phần khác.
- Có thể tìm thấy chip chống sao chép CIC, SRAM, thậm chí cả "bộ xử lý tăng cường hiệu năng" bên trong PCB.
CIC (chống sao chép)
- Cơ chế chống sao chép của SNES hoạt động bằng cách để hai con chip trong máy console và băng game giao tiếp với nhau trong trạng thái đồng bộ.
- Nếu CIC của console phát hiện hoạt động bất thường, nó sẽ reset toàn bộ bộ xử lý.
ROM: lệnh & asset
- Trước đây kích thước ROM của game được biểu thị theo bit thay vì byte (ví dụ: The Legend of Zelda 3 là 8Mb).
- Game có dung lượng lớn nhất là Star Ocean (48Mb), trong khi những tác phẩm kinh điển như Super Mario World chỉ dùng một ROM 4Mb.
- Tác giả đã tự tạo một tệp CSV tổng hợp ước tính mức sử dụng ROM của 3.378 tựa game.
SRAM (chức năng lưu)
- Một số game cung cấp tính năng lưu tiến trình bằng chip SRAM và pin.
- Khi console tắt nguồn, SRAM chuyển sang chế độ tiêu thụ điện thấp để giảm hao pin.
Bộ xử lý tăng cường hiệu năng (Enhancement Processor)
- Nổi tiếng nhất là Super FX được dùng trong Star Fox năm 1993 (biệt danh "MARIO", "GSU-1").
- Có danh sách đầy đủ các game SNES sử dụng chip tăng cường hiệu năng trên Wikipedia và snescentral.com.
- Tổng cộng có 13 loại chip được dùng trong 72 trò chơi.
SA-1
- "Super Accelerator 1" là MVP của các chip tăng cường hiệu năng, được dùng trong 34 băng game.
- Đây là cùng CPU 65C816 như trên console nhưng chạy nhanh gấp 4 lần ở 10.74Mhz.
- Có 2KB SRAM và CIC tích hợp.
- SA-1 có 3 chế độ hoạt động (tăng tốc, xử lý song song, xử lý hỗn hợp). Ở cấu hình mạnh nhất, nó tăng hiệu năng toàn hệ thống lên 5 lần.
- Trong cộng đồng retro gaming, SA-1 được dùng để cải thiện gameplay của các game cũ từng gặp vấn đề chậm khung hình như Mario World, Gradius 3, Contra 3.
CX4
- CX4 là sản phẩm của Capcom, được dùng trong Mega Man X2 và X3.
- Nó cung cấp kết xuất wireframe 3D, nhiều phép toán khác nhau, cùng tính năng scale/rotate sprite vào VRAM.
- Dù nổi tiếng với hiệu ứng wireframe, nó thực ra được dùng cho toàn bộ xử lý sprite trong game, giúp hiển thị nhiều sprite hơn mà không bị nhấp nháy màn hình.
Các Enhancement Processor khác
CS-DD1: chip giải nén sprite. Được dùng trong 2 game.DSPseries: dùng trong 16 game. Cung cấp phép nhân 16-bit tốc độ cao, các lệnh như sin/cos.OBC-1: dùng trong 1 game. (mới chỉ có suy đoán liên quan đến thao tác sprite)S-RTC: cung cấp chức năng đồng hồ thời gian thực. Dùng trong 1 game.SPC7110: chip giải nén dữ liệu. Dùng trong 3 game.ST-010,ST-011,ST-018: chip của SETA nhằm cải thiện AI. Mỗi loại được dùng trong 1–2 game.
SUPERFX (GSU-1, GSU-2)
- GSU-1 được dùng trong 5 game bao gồm Star Fox.
- Chạy ở 10.74Mhz, với bộ đệm lệnh 512 byte để hoạt động mà không làm SNES CPU bị thiếu tài nguyên.
- Trong khi SNES PPU tập trung vào tile/sprite, SuperFX lại chuyên về pixel rendering và polygon rasterization.
- Thông thường nó render vào framebuffer trên băng game rồi chuyển sang VRAM tại thời điểm VSYNC.
- GSU-2 là phiên bản chạy GSU-1 ở tốc độ đầy đủ 21.47Mhz. Nó được dùng trong 3 game như Yoshi's Island và Doom.
- Trong cộng đồng SNES đang có các dự án dùng GSU-1 và GSU-2 để cải thiện các game cũ.
Chip tăng cường hiệu năng và emulator
- Các chip tăng cường hiệu năng đã cải thiện đáng kể trải nghiệm chơi game và giúp nhà phát hành giảm chi phí, nhưng về sau lại trở thành cơn đau đầu cho các nhà phát triển emulator.
- Một số game phụ thuộc vào những chip đặc biệt nên mãi đến năm 2012 mới được giả lập đúng cách.
- Việc reverse engineering các chip đòi hỏi rất nhiều công sức để phục vụ emulator.
- Với các chip có ROM nội bộ (dựa trên ARM), cần cung cấp file BIOS cho emulator.
- Tính đến năm 2020, việc giả lập một số chip hiếm vẫn chưa hoàn tất.
Ý kiến của GN⁺
- Các chip tăng cường hiệu năng là một ví dụ thú vị trong lịch sử thiết kế phần cứng và phát triển game. Nhiều ý tưởng và nỗ lực nhằm tận dụng tối đa phần cứng hạn chế đã được thể hiện rất rõ.
- Nếu nhìn từ góc độ phát triển emulator ngày nay thì chúng khá phiền phức, nhưng vào thời đó đây là cách hiệu quả để nâng cao chất lượng game và tiết kiệm chi phí phát triển.
- Những trường hợp tương tự trong ngành có thể kể đến các chip bổ sung trên Sega Mega Drive/Genesis (SVP, Sega Virtua Processor, v.v.) hay khe thẻ nhớ của Neo Geo.
- Những chip mở rộng như vậy thường xuất hiện vào giai đoạn cuối vòng đời console, có thể xem là nỗ lực vượt qua giới hạn phần cứng. Đồng thời đây cũng là giai đoạn chuyển tiếp để chuẩn bị cho việc ra mắt console mới.
- Việc cộng đồng retro gaming thực hiện các dự án cải thiện hiệu năng cho game cũ là điều rất ấn tượng. Có thể xem đó là quá trình diễn giải lại game theo góc nhìn hiện đại trong khi vẫn giữ được ý đồ của đội ngũ phát triển ban đầu.
1 bình luận
Ý kiến trên Hacker News