deniz.in

Piyasalar

Hava durumu

Hava durumu yükleniyor

· kaynak Hacker News – Front Page (hnrss.org)

Ogre Battle 64, yerel PC çalıştırılabilir dosyasına tam statik yeniden derlemeye yaklaşıyor

Bir GitHub projesi, Ogre Battle 64'nin 807 işlevli ana kod segmentini N64Recomp kullanarak yerel C koduna yeniden derledi; işin büyük bölümü bir yapay zekâ modeline atfediliyor. Oyuncular ROM'larını kendileri sağlıyor.

Ogre Battle 64, yerel PC çalıştırılabilir dosyasına tam statik yeniden derlemeye yaklaşıyor

Bir GitHub projesi, Ogre Battle 64: Person of Lordly Caliber'ı yerel bir PC çalıştırılabilir dosyasına statik olarak yeniden derledi; depoyu sitenin ana sayfasına taşıyan bir Hacker News gönderisi bu çabayı yüzde 99,05 tamamlanmış olarak gösteriyor. lfarroco adlı GitHub hesabı altında yürütülen proje, açık kaynak N64Recomp araç zincirini kullanarak Nintendo 64 taktik RPG'sinin makine kodunu, bir emülatör tarafından çalışma anında yorumlanmak yerine modern donanım için derlenen C koduna çeviriyor.

Yeniden derlenen kısım

Projenin README'sine göre oyunun ana kod segmenti — 807 işlev — tamamen C'ye yeniden derlendi. Geriye kalan ise işleme, giriş ve sesi kapsayan runtime uygulama katmanı; geliştirici bunu bir sonraki kilometre taşı olarak listeliyor. Depodaki bir planlama belgesi ilerlemeyi ve teknik bulguları takip ediyor.

İşlem hattı oyuncunun kendi ROM dökümünden çalışıyor. splat aracı sökümü (disassembly) üretiyor, bir MIPS bağlantı adımı ve 34 banka birimi işleniyor, ardından ana yeniden derleme ve RSP mikro kodu, tek bir make hedefi üzerinden çağrılan belirli bir sırayla üretiliyor. Üretilen C dosyaları bilinçli olarak depoda tutulmuyor: her kullanıcı bunları kendi dökümünden yerel olarak yeniden üretiyor ve proje telif hakkıyla korunan materyalin dağıtılmasını böylece engelliyor.

Yapay zekâ boyutu

README, işin büyük bölümünün DeepSeek v4/v4.1 Flash modeli tarafından yapıldığını belirten dikkat çekici bir uyarı taşıyor. Bu doğruysa, bu durum bir büyük dil modelinin, Tarihsel olarak dekompilasyon projelerini yıllarca süren gönüllü çabalarına dönüştüren işlev işlev çeviri işinin yükünü üstlendiğinin daha görünür örneklerinden biri olur. Bu iddia projenin kendi beyanı ve çıktının hâlâ insan doğrulaması ve entegrasyona ihtiyacı var — ama tersine mühendislik çalışmalarının nereye gittiğine işaret ediyor.

ROM'unu kendin getir

Depoda hiçbir oyun verisi yok. Kullanıcılar USA Rev A sürümünün dökümünü sağlamalı — 40 MB'lık big-endian bir .z64 dosyası — ve bayt sırası değiştirilmiş .n64 dökümleri için bir dönüştürme betiği dahil edilmiş. Bitmiş uygulama, oyuncudan ROM'unu yüklemesini veya sürükleyip bırakmasını ya da basitçe çalıştırılabilir dosyanın yanına koymasını isteyen bir başlangıç ekranıyla açılıyor. Döküm hash ile doğrulanıp saklanıyor, böylece sonraki açılışlar doğrudan oyuna giriyor ve pil kayıtları programın yanındaki saves klasörüne yazılıyor.

Proje kendini koruma ve birlikte çalışabilirlik araştırması olarak konumlandırıyor, Ogre Battle 64'nin telif hakkının hâlâ Quest ve Nintendo'ya ait olduğunu kabul ediyor ve ROM veya çıkarılmış varlıkların yeniden dağıtılmamasını rica ediyor.

Derleme ve paketleme

Kaynak koddan derleme N64Recomp araçlarını, CMake ve bir MIPS binutils gerektiriyor; README klonlama, yama uygulama ve derleme adımlarını adım adım anlatıyor. İşleme (rendering), belirli bir upstream commit'ine sabitlenmiş bir git alt modülü olarak RT64 tarafından hallediliyor ve 2.0.22'den eski SDL kullanan sistemler için bir yama sağlanıyor — Ubuntu 22.04, işleyicinin ihtiyaç duyduğu SDL_GetWindowSizeInPixels çağrısını içermeyen 2.0.20 ile geliyor.

Bir dağıtım hedefi, SDL2'yi statik olarak bağlayan tek ve kendine yeten bir çalıştırılabilir dosya üretiyor. Derleme süreci, sabitlenmiş upstream SDL2'yi kendisi indirip derliyor çünkü Homebrew'ün sdl2 paketi, statik kütüphanesi olmayan SDL3 tabanlı bir uyumluluk katmanı. Depoda ayrıca bir WebAssembly derlemesi için headless-browser hata ayıklama probları var; bu, aynı kod yolunun tarayıcıyı da hedefleyebileceğine işaret ediyor.

Neden önemli

Statik yeniden derleme, klasik oyunları modern donanımda oynamak için emülasyona ciddi bir alternatif olarak yerleşiyor. MIPS talimatlarının çalışma anında yorumlanması yerine, orijinal kod bir kez C'ye çevrilip yerel olarak derleniyor; bu da daha iyi performans ve modlar ile düzeltmeler için daha temel bir temel anlamına gelebilir.

Ogre Battle 64 projesi, N64Recomp araç zincirinin birinci taraf amiral gemisi oyunların ötesine geçip segmentli, banka tabanlı kod düzenine sahip bir üçüncü taraf oyuna uzandığını gösteriyor; "ROM'unu kendin getir" modeli ise bu tür projeleri dağıtılabilir tutuyor ve telif hakkını asıl hak sahiplerinde bırakıyor. En az bunun kadar önemli olanı yapay zekâ uyarısı: eğer büyük modeller gerçekten çevirinin büyük kısmını yapıyorsa, oyun koruma çalışmaları için darboğaz, tersine mühendislik kişi-saatlerinden inceleme, doğrulama ve entegrasyona doğru kayıyor olabilir.

  • #nintendo-64
  • #recompilation
  • #game-preservation
  • #open-source
  • #ai

İlgili yazılar