1 điểm bởi GN⁺ 2026-03-14 | 1 bình luận | Chia sẻ qua WhatsApp
  • Dolphin, khởi đầu là trình giả lập GameCube vào năm 2003, đang mở rộng sang một nền tảng mới khi bổ sung hỗ trợ hệ thống arcade Triforce vào năm 2026
  • Với tối ưu hóa MMU Fastmem, việc truy cập bộ nhớ dựa trên bảng trang được tăng tốc, đặc biệt Rogue Squadron III lần đầu tiên có thể chạy ở tốc độ đầy đủ
  • Lỗi đồng bộ trực tuyến của Mario Strikers Charged đã được khắc phục sau 5 năm, giúp chơi mạng với Wii thật hoạt động chính xác
  • Trong giả lập Triforce, việc khôi phục giao thức màn hình cảm ứng và chức năng thẻ IC của The Key of Avalon đang được tiến hành, đồng thời các tính năng liên quan đến F-Zero AXVirtua Striker 4 cũng dự kiến được cải thiện
  • Nhiều tính năng giúp nâng cao trải nghiệm người dùng và hiệu năng đã được bổ sung, như lưu đệm trò chơi vào RAM, thiết lập gợi ý bộ điều khiển SDLđiều chỉnh thời gian của menu Wii

Bổ sung hỗ trợ Triforce

  • Dolphin chính thức hỗ trợ Triforce, hệ thống arcade do Sega·Namco·Nintendo cùng phát triển
    • Bao gồm các cải tiến ban đầu như tự động chèn Magnetic Card, thiết lập khu vực và sửa lỗi giả lập nhiều cabin
  • Đã xác nhận giao thức màn hình cảm ứng của The Key of Avalon tương tự Elo SmartSet, trò chơi đã khởi động thành công nhưng bị dừng do vấn đề khởi tạo thẻ IC
  • Thông qua việc khôi phục chức năng thẻ IC, các chế độ xây dựng đội hình và tạo nhân vật trong Virtua Striker 4, Gekitou Pro Yakyuu và các game khác dự kiến sẽ hoạt động trở lại

Tối ưu hóa MMU Fastmem và Rogue Squadron

  • Việc triển khai ánh xạ Fastmem bằng bảng trang giúp hiệu năng của Rogue Squadron II·III tăng tối đa gấp đôi
    • Thông qua việc theo dõi lệnh tlbie, các thay đổi của bảng trang được phản ánh theo thời gian thực
  • Việc tắt Branch Following, tối ưu hóa vô hiệu hóa mã và bật CPU Vertex Culling giúp giảm tụt khung hình và giật hình
  • Rogue Squadron III nay lần đầu tiên có thể chạy ở tốc độ hoàn chỉnh trên phần cứng hiệu năng cao

Sửa lỗi Mario Strikers Charged

  • Nguyên nhân của lỗi đồng bộ vật lý giữa Dolphin và Wii thật được xác định là do phép tính số thực dấu chấm động không chính xác của lệnh fmadds
  • Sự cố được khắc phục bằng hiệu chỉnh làm tròn chính xác sử dụng thuật toán 2Sum, giúp các trận đấu trực tuyến đồng bộ hoàn toàn
  • Bản sửa này được phát triển dựa trên kinh nghiệm xử lý vấn đề tương tự trong Inazuma Eleven GO: Strikers 2013

Các cải tiến chính khác

  • Thời gian quản lý dữ liệu của menu Wii được điều chỉnh gần với phần cứng thật hơn, giúp giảm tải CPU quá mức khi truy cập NAND
  • Bổ sung tính năng Load Whole Game into Memory, giúp loại bỏ độ trễ chờ đĩa khi chạy từ thiết bị lưu trữ mạng như NAS
  • Bổ sung thiết lập GUI cho SDL hints, cải thiện khả năng tương thích tay cầm như tách Joy-Con và lỗi hot-plug của DualSense
  • Áp dụng bản vá đồng bộ VBI cho một số game như Need for Speed: Hot Pursuit 2Rabbids Go Home, giúp giới hạn khung hình hoạt động bình thường

Hiệu năng và đóng góp từ cộng đồng

  • Bản phát hành lần này đã hợp nhất 465 commit, phản ánh nhiều thử nghiệm từ cộng đồng và nghiên cứu phần cứng
  • Bao gồm các trường hợp giải quyết những bài toán khó tồn đọng lâu năm như dòng Rogue Squadron, Mario Strikers ChargedTriforce, giúp cải thiện đáng kể độ chính xác và hiệu năng của Dolphin

1 bình luận

 
GN⁺ 2026-03-14
Ý kiến Hacker News
  • Thật đáng kinh ngạc khi Dolphin có thể kết nối trực tuyến với máy Wii thật, thay cho các máy chủ chính thức đã đóng từ lâu
    Thật vui khi biết vẫn có những người có sự tận tâm đầy đam mê như vậy

    • Tôi tưởng tượng nếu nhân loại có thể hợp tác theo cách này thì chúng ta có thể đạt được bao nhiêu điều
      Nhưng trong ngắn hạn, những tiến bộ kỹ thuật như thế này cũng có thể làm bất bình đẳng trầm trọng hơn
    • Những nỗ lực như thế này là điều thiết yếu cho việc bảo tồn game
      Nếu lỗi của trình giả lập khiến game không thể chạy hoàn toàn hoặc một phần, thì các thế hệ tương lai sẽ mất cơ hội trải nghiệm những tựa game đó
      Thật tuyệt khi mọi người quan tâm đến mức này
  • Điều tôi thấy thú vị nhất là việc phát triển trình giả lập thường dẫn đến phát hiện rằng game gốc từng có những hành vi kỳ quặc nhưng là chủ đích

    • Tôi đã làm công việc decompile gần 2 năm, và thấy rất thú vị khi bắt gặp hành vi kỳ lạ của compiler, giới hạn của các phiên bản GCC cũ, cũng như kiểu mã gần như mê tín của các lập trình viên thời đó
      Tôi đã ngạc nhiên khi biết GCC từ giữa thập niên 90 đã tự động xử lý những thứ mà đầu những năm 2000 tôi từng cố tối ưu thủ công
    • Hôm nay nhờ cộng đồng 9front mà tôi biết một số game GB đã dùng SRAM của cartridge như bộ nhớ swap
      Trình giả lập không lưu SRAM nên gây ra sai lệch dữ liệu save, nhưng đã được sửa rất nhanh
      Vì là mã C đơn giản dựa trên Plan9 nên việc sửa khá dễ
  • Tôi luôn thích đọc báo cáo phát triển Dolphin
    Chúng trình bày nội dung kỹ thuật theo cách rất dễ hiểu

    • Tôi cũng đã đọc các báo cáo đó từ trước khi trở thành lập trình viên, và chúng giúp tôi rất nhiều trong việc học cách suy nghĩ logic về hoạt động bên trong của chương trình
    • Tôi đặc biệt ấn tượng ở chỗ chúng không chỉ nói “đã thay đổi gì” mà còn giải thích “vì sao nó khó
  • Liên quan đến các báo cáo của Dolphin, một trong các tác giả từng đăng một bài viết thú vị bàn về vấn đề của cộng đồng trình giả lập mã nguồn mở
    Rethinking Open Source
    Tóm lại, nếu công khai mã nguồn các dự án được hype lớn trước khi hình thành cộng đồng và bản sắc rõ ràng, bạn có thể gặp rắc rối vì những người dùng đưa ra yêu cầu phi thực tế
    Ngoài ra còn có trường hợp người khác lấy các nhánh chưa hoàn thiện rồi phát hành như thể đó là do họ làm ra
    Đội ngũ Dolphin vẫn đang vận hành dự án với mức độ chuyên nghiệp rất cao bất chấp những khó khăn như vậy

    • Thật sự rất khó để duy trì động lực giữa những người dùng công kích hoặc thiếu biết ơn
      Ngay cả khi được trả tiền cũng đã khó, nên với một dự án miễn phí thì còn khó hơn nữa
    • Trước đây tôi từng phải dùng nhiều nhánh không tương thích khác nhau, nên thật vui khi có vẻ như giờ hỗ trợ Triforce đã vào mainline
      Các bản fork trước đây có chất lượng chưa tốt
  • Thật dễ chịu khi thấy tác giả thực sự phấn khích về những gì mình viết

    • JMC thật sự quá tuyệt
      Khi tôi từng báo lỗi netplay của Melee trước đây, anh ấy là kiểu người có sự tò mò với mọi thứ và đào sâu đến cùng
  • Dolphin thật sự là một hình mẫu về phát triển thông minh
    Trước đây trên chiếc máy cũ của tôi phải dùng cả 4 lõi thì Metroid Prime mới chạy được, nhưng vài năm sau cùng game đó chỉ còn dùng 25% của một lõi
    Nhờ JIT và tối ưu hiệu quả giả lập, hiệu năng đã tăng vọt
    Những tối ưu như vậy thật sự là thành tựu đáng nể

  • Trong lúc thảo luận về khả năng tương thích arcade Triforce, có nhắc tới “hỗ trợ thẻ IC”, và nói rằng nếu triển khai được thì sẽ mở ra rất nhiều tính năng
    Trông giống như thẻ giao thông ở Nhật, nhưng trên bo mạch Triforce nó được dùng để lưu dữ liệu tiến trình trong game
    Đây là một tính năng rất hay mà tôi chưa từng thấy ở arcade tại Mỹ

    • Game Triforce hỗ trợ hai loại thẻ: thẻ từ (magcard)thẻ IC
      Magcard rẻ hơn nhưng kém bền hơn, và có thể in lên được
      Thẻ IC dày hơn, bền hơn nhưng không thể in
      Nguồn có ảnh minh họa: Rise of the Triforce
    • Thực ra đây có nghĩa là thẻ nhớ
      Gần như mọi game Triforce đều dùng thẻ để lưu dữ liệu
      Có lẽ bạn cũng từng thấy phiên bản Mario Kart Arcade GP ở Mỹ
    • Nó cũng có ở các arcade tại Mỹ
      Khái niệm này tương tự thẻ AIME dùng trong maimai, chunithm, DDR v.v.
      Tuy nhiên, thẻ IC của Triforce không chỉ dùng để xác thực mà còn có chức năng lưu dữ liệu
  • Trường hợp lệnh CPU fnmsubs được triển khai sai trong JIT nhưng lại hoạt động đúng trong interpreter khá thú vị
    Tôi nghĩ đây là cơ hội rất phù hợp để áp dụng differential fuzzing

  • Điểm chính của bài này là Dolphin đã khôi phục hỗ trợ cho các cabinet arcade Triforce
    Triforce là phần cứng do Nintendo, Sega và Namco cùng phát triển, và Dolphin đã ngừng hỗ trợ nó vào năm 2016
    Giờ đây các game như F-Zero AX, Mario Kart Arcade GP 1·2 lại chạy được
    Xem chi tiết: The Return of the Triforce

    • Vài tuần trước cũng đã có một thread liên quan
      Liên kết thảo luận trước
      Đoạn đầu bài viết đã nói về việc này rồi, nên khó mà gọi đây là một “chủ đề bị chôn vùi”
  • Tôi có thắc mắc liệu họ có nhận quyên góp không, nhưng không tìm thấy trên trang chính thức

    • Thực tế là họ không nhận quyên góp
      Bài viết trên diễn đàn liên quan: Dolphin Donations