Ngành
Dự án chuyển hệ Ogre Battle 64 lên PC bằng kỹ thuật tái biên dịch tĩnh đạt 99,05%
(giờ Việt Nam)
Tóm tắt AI
Dự án chuyển hệ Ogre Battle 64 từ N64 sang PC đã hoàn thành 99,05% nhờ công cụ N64Recomp, cho phép chạy game dưới dạng tệp thực thi gốc trên Windows.
Chính văn · Bản dịch AI
Tái biên dịch tĩnh (static recompilation) tựa game N64 "Ogre Battle 64: Person of Lordly Caliber (USA, Rev A)" thành tệp thực thi gốc trên PC, sử dụng bộ công cụ N64Recomp.
Kho lưu trữ này không chứa bất kỳ dữ liệu game nào có bản quyền. Bạn phải tự cung cấp bản ROM dump của riêng mình (xem bên dưới).
Yêu cầu hệ thống
Một máy tính PC 64-bit và GPU được trình kết xuất (renderer) hỗ trợ:
Chỉ cần bàn phím là có thể chơi; tay cầm hỗ trợ XInput (Windows) hoặc SDL là tùy chọn. Thiết bị âm thanh cũng là tùy chọn: nếu không có, game sẽ chạy mà không có tiếng. Trên Windows, không cần cài đặt Visual C++ redistributable — gói này đã bao gồm runtime cần thiết cho trình biên dịch shader của nó.
Nếu game bị treo khi khởi động, trước tiên hãy cập nhật trình điều khiển đồ họa (graphics driver). Trên các GPU cũ, OGRE_CONSOLE=1 sẽ mở một bảng điều khiển hiển thị nhật ký khởi động và OGRE_GRAPHICS_API dùng để cố định backend (vulkan hoặc d3d12).
Tuyên bố từ chối trách nhiệm về AI
Công việc trong dự án này chủ yếu được thực hiện bởi mô hình DeepSeek v4/v4.1 Flash.
Trạng thái
Xem tệp PLAN.md để biết kế hoạch đầy đủ, trạng thái hiện tại và các phát hiện kỹ thuật.
Bắt đầu
Xem phần Reproduce trong PLAN.md. Tóm tắt:
ROM phải là bản dump USA Rev A (40 MB, định dạng.n64 16-bit byte-swapped hoặc đã được chuyển đổi sang.z64). Công cụ tools/convert_rom.py sẽ chuyển đổi từ.n64 sang.z64.
Một bản clone mới sẽ không thể build ứng dụng cho đến khi chạy lệnh make regenerate một lần: mã C đã tái biên dịch (RecompiledFuncs/, Bank*Funcs/, RspFuncs/, app/src/bank_funcs.inc) được tạo từ ROM của chính bạn và cố tình không được commit lên kho lưu trữ. Lệnh make regenerate sẽ chạy splat, MIPS link, 34 đơn vị bank, quá trình tái biên dịch chính và RSP microcode theo đúng thứ tự hoạt động.
Build và chạy ứng dụng
Khi khởi chạy, ứng dụng sẽ hiển thị màn hình đen — OGRE BATTLE 64: RECOMP / CLICK TO LOAD YOUR ROM (OR DROP IT IN THIS WINDOW). Hãy nhấp vào đó để chọn ROM, kéo thả ROM vào cửa sổ này, hoặc đơn giản là đặt tệp ROM cạnh tệp thực thi. ROM sẽ được xác thực bằng mã hash và lưu lại, vì vậy các lần khởi chạy sau sẽ vào thẳng game. Dữ liệu lưu (battery save) sẽ nằm trong thư mục saves/ cạnh tệp thực thi.
Bản build có thể chơi được
Gói này là một tệp duy nhất: SDL2 được liên kết tĩnh (lệnh make dist sẽ tải và build một phiên bản SDL2 cố định một lần, vì sdl2 của Homebrew là bản shim tương thích dựa trên SDL3 và không có thư viện tĩnh). Không có dữ liệu game nào được bao gồm, vì vậy người chơi phải tự cung cấp ROM của mình trên màn hình bắt đầu. Xem docs/guides/app-build.md → "Distribution".
Trình kết xuất (tools/RT64) là một git submodule được cố định tại một commit upstream và cần một bản vá thủ công một lần trên các hệ thống có SDL < 2.0.22 (ví dụ: Ubuntu 22.04 đi kèm với SDL 2.0.20, nhưng SDL_GetWindowSizeInPixels yêu cầu phiên bản 2.0.22 trở lên):
Hãy áp dụng lại bản vá sau bất kỳ lần cập nhật git submodule nào bên trong tools/RT64, vì hành động này sẽ reset submodule và loại bỏ bản vá cũ.
Pháp lý
Ogre Battle 64 © Quest / Nintendo. Dự án này phục vụ mục đích bảo tồn và nghiên cứu khả năng tương tác. Tuyệt đối không phân phối ROM hoặc các tài nguyên đã trích xuất từ game.
Bài gốc còn tiếp — xem tiếp tại bài gốc ↗
Bài viết được AI dịch và tổng hợp tự động từ Hacker News Nổi bật (buzzing.cc bản dịch tiếng Trung). Liên kết bài gốc ở phía trên. Dữ liệu đồng bộ qua API công khai được ghi nguồn tại AI HOT (canonical) ↗. AIHOT.vn luôn dẫn nguồn đầy đủ — nếu bạn thấy điểm cần chỉnh sửa, hãy gửi ý kiến tại trang phản hồi.