1 điểm bởi GN⁺ 2024-04-23 | 1 bình luận | Chia sẻ qua WhatsApp

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.
  • DSP series: 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

 
GN⁺ 2024-04-23
Ý kiến trên Hacker News
  • Hộp game của các máy chơi game đời cũ có thể kết nối trực tiếp với bus, tương tự thẻ mở rộng PCI trên PC, nên có thể triển khai nhiều chức năng khác nhau. Tuy nhiên, từ sau GBA thì chúng chỉ còn được dùng như phương tiện lưu trữ dữ liệu đơn thuần.
  • Nếu dùng công nghệ hiện đại, có thể tích hợp chip ray tracing hoặc chip mở rộng MSU1 vào hộp game để cải thiện đáng kể hiệu năng máy chơi game. Về mặt lý thuyết, việc chế tạo chip vật lý thực sự cũng là điều khả thi.
  • CPU của SNES thường chạy ở 3.58MHz, nhưng khi dùng một số hộp game SlowROM giá rẻ thì tốc độ sẽ giảm xuống còn 2.68MHz. Cũng có cộng đồng modding cố gắng cải thiện điều này bằng các bản vá.
  • Cơ chế chống sao chép của SNES hoạt động bằng cách đồng bộ chip CIC giữa máy và hộp game, nhưng có thể bị vượt qua khá dễ dàng bằng thiết bị sao lưu.
  • Việc các nhà phát triển game ngày xưa chia sẻ kỹ thuật chi tiết qua các bài blog có mật độ thông tin cao hơn video YouTube.
  • Super Mario World là một kiệt tác khi chứa được nhiều nhân vật, sprite và màn chơi trong dung lượng chỉ 360KB.
  • Nếu kết hợp cơ chế chip mở rộng của SNES với công nghệ hiện đại, có thể tạo ra đồ họa tiên tiến hơn nữa. Chip SuperFX có framebuffer riêng và hoạt động theo cách sao chép sang VRAM.
  • Người thực hiện bản port Doom cho SNES đã phát triển mọi thứ hoàn toàn bằng reverse engineering, không có tài liệu về chip GSU hay mã nguồn Doom.
  • Phần đáng kể trong giá game ngày xưa đến từ chi phí sản xuất hộp game. Ngày nay, chi phí phân phối game gần như bằng không.
  • Trong Yoshi's Island, có thể quan sát thấy hiện tượng giảm tốc độ khung hình trong một số tình huống nhất định.
  • Dung lượng game thường được tính theo đơn vị lũy thừa của 2 để khớp với kích thước chip ROM. Không rõ nguồn gốc của số byte chính xác được nêu trong tài liệu.
  • Các chip mở rộng của SNES đã cho phép tạo ra những game vượt xa đáng kể hiệu năng mặc định của máy. Đặc biệt, chip SA-1 cho hiệu năng nhanh gấp 4 lần CPU chính.
  • Các game không chính thức từng dùng nhiều mẹo khác nhau để vượt qua chống sao chép, chẳng hạn như bắt buộc phải cắm hộp game chính hãng.
  • Nếu phân tích mối tương quan giữa dung lượng game và các yếu tố khác, có thể rút ra những góc nhìn thú vị về quá trình phát triển game trên SNES.