- Patch Halo 2 HD untuk Xbox orisinal adalah proyek yang menggabungkan modifikasi executable, modifikasi hardware konsol, dan pembuatan tool benchmark untuk mencoba rendering 720p dan 1080p melampaui 480p
- Berbeda dari label 480p yang ada, Halo 2 asli secara internal menggambar ke back buffer 640×480 lalu GPU meng-upscale ke 720×480, sehingga dukungan HD perlu mengubah penanganan buffer D3D dan mode video sekaligus
- Menjalankan 720p tidak cukup dengan RAM 64MB bawaan, sehingga memerlukan upgrade RAM 128MB dan hot patch kernel; pembatasan juga diakali agar memori fisik kontigu untuk GPU dapat dialokasikan dari 64MB bagian atas
- Performa ditingkatkan lewat triple buffering, tiling render target texaccum, overclock GPU dari 233,33MHz ke 300MHz, dan lainnya; scene benchmark Zanzibar naik dari sekitar 19FPS ke kisaran 27–28FPS
- RAM tambahan juga dimanfaatkan untuk memperbesar cache tekstur dan geometri serta meningkatkan kecepatan transfer HDD; patch final membuat 720p layak dipakai, sementara 1080p lebih mirip bonus untuk screenshot
Tujuan proyek dan asumsi hardware
- Tujuannya adalah menambahkan dukungan resolusi HD ke Halo 2 versi Xbox orisinal, sekaligus melihat sejauh mana hardware konsol yang dimodifikasi bisa bertahan
- Ruang lingkup pekerjaan mencakup patch game, modifikasi hardware konsol Xbox, dan penulisan tool kustom untuk benchmark performa
- Xbox modifikasi yang menjadi basis proyek disebut “god box” dan mencakup perubahan berikut
- Mengganti CPU Pentium 3 733MHz bawaan dengan varian CPU Pentium 3 1,4GHz melalui board interposer kustom
- CPU dapat di-overclock hingga sekitar 2GHz
- Menggunakan RAM tambahan dan SSD
- Menggunakan kernel kustom atau image BIOS yang mendukung modifikasi hardware
- Resolusi video maksimum yang didukung Halo 2 adalah 480p, dan targetnya adalah menambahkan dukungan 720p serta, jika memungkinkan, 1080i
- Karena menaikkan resolusi meningkatkan beban GPU akibat bertambahnya komputasi pixel shader, pekerjaan ini dinilai layak hanya jika overclock GPU memungkinkan
- Kemudian overclock GPU sekitar 15% menjadi mungkin, dan konsol “GENESIS-3” disiapkan untuk pengembangan
480p Halo 2 dan struktur rendering internal
- Halo 2 secara label di boks mendukung 480p, tetapi
D3DPRESENTFLAG_PROGRESSIVEtidak disetel di D3D present parameter dan skala ukuran layar juga selalu1.0f screen_boundsinternal disetel ke 640×480 terlepas dari mode video- Di Xbox orisinal, 480p diperlakukan sebagai 720×480
- Halo 2 merender ke back buffer 640×480, lalu GPU meng-upscale ke 720×480 dan mengirimkannya ke video encoder
- Dalam mode widescreen, kamera anamorphic 1,33:1 digunakan untuk merender tampilan yang lebih lebar dengan dipadatkan ke surface 640×480 yang sama
- Metode ini mungkin dimaksudkan untuk mengimbangi kompresi horizontal pada mode stretch TV
- Patch juga menambahkan opsi untuk mematikan scaling anamorphic
Patch D3D untuk rendering HD
- Untuk dukungan resolusi, tiga fungsi menjadi target modifikasi utama
_rasterizer_detect_video_mode: diubah agar progressive scan juga aktif pada 720p_rasterizer_init_screen_bounds: menetapkan ukuran 640×480, 720×480, 1280×720, atau 1920×1080 sesuai mode videorasterizer_device_initialize: mengatur back buffer D3D dan present flag
- Dalam mode 1080i, setelah memastikan lebar layar adalah 1920,
D3DPRESENTFLAG_PROGRESSIVEdihapus danD3DPRESENTFLAG_INTERLACEDdisetel - Setelah perubahan awal, filter biru hilang dari menu utama, dan muncul masalah pola garis berulang serta geometri air yang terpotong
- Sebagian masalah terjadi karena view 640×480 yang di-hardcode untuk back/front/depth buffer
- Texture/surface view yang melihat memori yang sama dengan lebar berbeda muncul, sehingga susunan scan line menjadi tidak selaras
Memori D3D dan rekonstruksi render target
- Xbox orisinal menggunakan arsitektur unified memory, di mana CPU dan GPU memakai RAM yang sama
- Bukan struktur seperti PC yang membuat alokasi D3D di VRAM lalu dikelola GPU
- CPU dapat membuat memori untuk tekstur, render target, vertex buffer, dan lainnya, lalu meneruskan alamat langsung ke GPU
- Halo 2 memakai sekitar 25 render target, tetapi alokasi buffer unik sebenarnya hanya 4–5
- Beberapa render target berbagi memori yang sama sebagai resource view berbeda untuk menghemat memori
rasterizer_primary_targets_initializemembuat render target tambahan dan texture view dari back/front/depth buffer yang dibuat D3D, sambil meng-hardcode ukuran 640×480- Patch membungkus fungsi tersebut dengan hook, lalu setelah fungsi asli berjalan, ukuran texture/surface diperbaiki agar sesuai dengan resolusi back buffer saat ini
- Pitch memori tiled bisa berbeda dari
width * bppbiasa, sehingga dihitung denganD3D_CalcTilePitch - Pitch yang salah dapat menimbulkan efek garis, terutama pada 1080i
- Pitch memori tiled bisa berbeda dari
Perbaikan ukuran render target texaccum
- Geometri air yang terpotong di menu utama terjadi karena render target texaccum terkunci pada 640×480
- Implementasi Xbox DirectX hanya mengizinkan 4 sampling tekstur per pass pixel shader
- Objek yang membutuhkan lebih dari 4 tekstur input harus dirender dalam beberapa pass
- Layer texaccum terlebih dahulu mengomposisi detail texture, lalu digunakan sebagai input untuk pass lightmap
rasterizer_targets_initializemengalokasikan render target texaccum sebagai 640×480_rasterizer_alloc_and_create_render_targetdibungkus dengan hook agar lebar dan tinggi target texaccum dengantarget_index == 1diubah ke ukuran back buffer saat ini- Setelah perubahan ini, geometri air yang terpotong hilang, dan tidak ada lagi masalah rendering yang mencolok saat map loading
- Masalah filter biru diselesaikan dengan pembaruan pengecekan ukuran sederhana, tetapi proses detailnya dihilangkan
Batas memori yang menghalangi 720p
- Saat disetel ke 720p, game crash ketika mulai berjalan; penyebabnya adalah kekurangan memori akibat membesarnya front/back/depth buffer dan rasterizer target
- Xbox orisinal memiliki model konsumen dengan RAM 64MB dan dev kit/debug console dengan RAM 128MB untuk pengembangan
- Pada board retail pun posisi untuk chip RAM tambahan memang tersedia
- Dengan menyolder chip RAM dan memakai kernel yang dimodifikasi, tambahan 64MB dapat diakses
- Untuk menjalankan 720p ke atas, upgrade RAM 128MB diperlukan
- Agar 480p normal tetap berjalan tanpa upgrade RAM, memori harus diambil dari cache tekstur in-memory milik game, dan dalam kasus ini pop-in tekstur meningkat
Patch memory manager Halo 2
- Saat start, Halo 2 mengalokasikan sekitar 48,9MB dari 64MB yang tersedia sebagai satu area data runtime besar
- Area ini dibagi untuk metadata level, tekstur, geometri, animasi, cache suara, rasterizer target, resource jaringan/simulasi, dan lainnya
- Untuk memvisualisasikan penggunaan memori, XboxImageGrabber ditulis
- Tool ini menelusuri page table entry dan memvisualisasikan status penggunaan RAM sebagai bitmap
- Area data runtime dialokasikan pada alamat hardcoded 0x80061000
- Tag data dalam file map diserialisasi berdasarkan alamat dasar ini, sehingga data ini harus selalu berada di alamat yang sama
- Data runtime lain dapat dipindahkan
- Area yang dijadikan target pemindahan adalah rasterizer target, texture cache, dan geometry cache
- Hook dilakukan pada call alokasi tertentu untuk memindahkannya ke debug memory region
- Pada waktu pembebasan seperti saat level baru dimuat, pemanggilan free yang sesuai ditambahkan
- Ukuran area data runtime juga diperkecil untuk mengurangi pemborosan
physical_memory_mallocdi-inline oleh compiler, sehingga tiap call site perlu dipatch secara terpisah
Hot patch kernel Xbox dan memori fisik 64MB bagian atas
- Alamat memori yang diteruskan ke GPU harus berupa alamat fisik, dan rentang memori tersebut harus kontigu
- GPU tidak memiliki konsep page table atau penerjemahan alamat virtual
- Pada kernel RAM 128MB pun, secara default alokasi fisik kontigu hanya bisa dilakukan dari 64MB pertama, sedangkan alokasi virtual bisa menggunakan seluruh 128MB
- Pengujian manual memakai page table entry dari 64MB bagian atas sebagai memori GPU berhasil
- Batasan yang membuat memori fisik untuk GPU tidak bisa dipakai dari 64MB bagian atas bukanlah hardware, melainkan pembatasan software di kernel
- Di dalam
MmAllocateContiguousMemoryExterdapat pemeriksaanMAX_USABLE_PFN- Nilai lama adalah 0x83FE0000, yang setara dengan 64MB - 128KB
- 128KB teratas dicadangkan sebagai area GPU scratch 64KB dan CPU page table 64KB
- Saat game boot, patch memeriksa apakah konsol memiliki RAM 128MB, lalu mencari nilai
mov edx, 0x3FDFdiMmAllocateContiguousMemoryExdan mengubahnya ke nilai baru yang sesuai untuk konfigurasi 128MB - Setelah itu,
MmAllocateContiguousMemoryExdanMmFreeContiguousMemorydigunakan untuk mengalokasikan dan membebaskan memori fisik kontigu dari seluruh 128MB - Ada juga efek samping
- Setelah keluar dari game, jika kembali ke dashboard atau melakukan warm reboot seperti eject DVD tray tanpa cold reboot, aplikasi/game berikutnya bisa mengalami artefak grafis parah dan crash
- Untuk menyembunyikannya, patch tambahan dimasukkan agar cold reboot dipaksa saat game keluar
Hasil rendering 720p/1080p dan bottleneck performa
- Rendering 720p terlihat lebih baik secara visual, tetapi performanya rendah hingga FPS turun di bawah 10 pada scene berat
- 1080p bisa dirender secara native, tetapi output konsol Xbox hanya bisa berupa sinyal 1080i
- Jika D3D back buffer didump langsung, screenshot 1080p dapat diperoleh sebelum GPU mengubahnya menjadi half frame untuk video encoder
- Pengukuran performa membandingkan tiga konfigurasi: Xbox bawaan, god box dengan hanya CPU di-overclock, dan god box dengan CPU+GPU di-overclock
- Titik berat di Zanzibar digunakan sebagai “zanzibar benchmark scene”
- Pada pengukuran awal, FPS ketiga konfigurasi hampir sama, dan grafik performa menunjukkan penyebabnya adalah swap stall
- Halo 2 menggunakan vsync on dan double buffering
- Terjadi kondisi stall karena GPU menunggu vblank dan tidak dapat memutar swap chain
Triple buffering dan konfirmasi bottleneck GPU
- Sebagai solusi, triple buffering diterapkan dengan menaikkan back buffer count menjadi 2, sehingga memakai total 3 buffer: 1 front buffer dan 2 back buffer
- Di
D3DPRESENT_PARAMETERS,BackBufferCount = 2,D3DSWAPEFFECT_DISCARD, danD3DPRESENT_INTERVAL_ONEdisetel - Karena engine rendering Halo 2 menukar pointer back/front buffer tiap frame dengan asumsi double buffering, swap hook dan primary target initialize hook juga harus diubah
- Dua primary render surface dan texture view diubah agar selalu merujuk ke back buffer saat ini
- Meski game secara internal menukar dua pointer, keduanya menunjuk ke memori yang sama, sehingga secara efektif menjadi no-op
- Pada scene benchmark Zanzibar, FPS dengan GPU bawaan menjadi sekitar 22FPS
- Naik sekitar 3FPS dari sebelumnya
- Meningkat sekitar 10% terhadap cap 30FPS
- Swap stall hilang dan utilisasi GPU menjadi maksimal, mengonfirmasi bahwa bottleneck-nya adalah GPU
Overclock GPU dan RAM
- Render target texaccum diubah ke memori tiled untuk mendapat tambahan 1–2FPS
- Scene benchmark Zanzibar membaik dari sekitar 19FPS menjadi 23–24FPS
- Dalam kondisi GPU god box di-overclock, scene benchmark Zanzibar mencatat 27–28FPS
- Saat berkeliling map, game umumnya mempertahankan 30FPS dan hanya turun di beberapa area berat
- Untuk menghindari kebutuhan reflash BIOS, memory-mapped IO register milik GPU clock generator disesuaikan langsung saat game start
- Perhitungan clock GPU didasarkan pada nilai M, N, P dari
NVPLL_COEFFdan base clock 16,6667MHz- Nilai N bawaan 28 menghasilkan clock GPU 233,33MHz
- Nilai N disesuaikan agar dapat diatur dalam kelipatan sekitar 8MHz, dan dibuat bisa dikonfigurasi lewat file ini
- Overclock GPU 300MHz menambah sekitar 3FPS lagi pada benchmark Zanzibar dibanding GPU bawaan
- Batas overclock berbeda-beda antar-GPU
- GPU pada konsol revision 1.0–1.4 sering menunjukkan batas di kisaran low 300MHz
- Ada kasus GPU konsol revision 1.6 berjalan stabil di atas 400MHz
- Clock RAM juga diuji
- Throughput maksimum teoretis bus memori Xbox adalah 6,4GB/s, dengan nilai yang bisa digunakan secara praktis dianggap sekitar 70%, yaitu 4,5GB/s
- RAM pada dasarnya mendekati 200MHz, sehingga menaikkannya sekitar 10MHz saja bisa membuatnya tidak stabil
- Dalam pengujian setelan sekitar 208MHz, peningkatan 0,7FPS diamati
- Chip RAM yang mampu 250MHz juga dipesan, tetapi pada saat artikel ditulis belum dipasang dan belum diuji lebih lanjut
Mengurangi pop-in dan memperbesar cache
- Halo 2 sejak awal memiliki masalah pop-in tekstur dan geometri, dan hal ini lebih terlihat pada konsol yang memakai HDD mekanis awal 2000-an
- RAM tambahan dimanfaatkan untuk memperbesar texture cache dan geometry cache
- Geometry cache bawaan adalah 6,5MB untuk map single-player dan 7MB untuk map multiplayer
- Texture cache berbeda-beda tergantung ukuran map, dan memakai ruang tersisa di antara tag data dan low detail texture cache
- Cache bekerja dengan metode LRU
- Setiap 30 frame, data yang tidak dipakai selama 30 frame terakhir dihapus
- Jika cache penuh, caller menentukan eviction paksa, atau permintaan load gagal dan dicoba lagi pada frame berikutnya
- Tekstur dapat memiliki buffer low/medium/high LOD
- Jika load high LOD gagal, medium atau low LOD dicoba
- LOD rendah bisa terlihat lebih dulu lalu kemudian berubah ke LOD tinggi, menyebabkan pop-in
- Map juga mencakup emergency low detail texture cache berukuran 2×2 hingga maksimum 8×8
- Cache ini digunakan untuk menggambar model sementara di layar meski load tekstur normal gagal
- Fenomena ketika terrain terlihat memakai tekstur beresolusi sangat rendah setelah membuka dan menutup menu teman Xbox Live terkait dengan penggunaan cache ini
- Fitur visualisasi grafik dari Bungie debug build direkonstruksi agar penggunaan cache bisa dilihat langsung dan ukurannya disesuaikan
- Pengaturan final menaikkan geometry cache menjadi 20MB dan texture cache menjadi fixed 30MB
- Kedua cache menjadi hampir dua kali lebih besar dibanding setelan bawaan
- Dalam cutscene pembuka Outskirts, Master Chief langsung ditampilkan dengan tekstur resolusi tinggi dan ruang cache juga masih tersisa
- Untuk mengurangi pop-in yang tersisa, kecepatan transfer HDD juga dinaikkan
- UDMA 2 bawaan sekitar 33,3MB/s
- UDMA 3 sekitar 44,4MB/s
- Jika ada kabel IDE 80-pin, dapat disetel hingga UDMA 5 sekitar 100MB/s
- Pada kabel IDE bawaan, peningkatannya sekitar 10%; pada kabel IDE upgrade, secara teoretis peningkatan kecepatan transfer bisa mencapai 300%
- Profil memori final 720p memanfaatkan lebih dari 75% dari RAM 128MB
- Dalam mode 1080p, penggunaan memori swap chain dan rasterizer target terlalu besar sehingga ukuran cache harus dikurangi, dan pada praktiknya memakai hampir seluruh 128MB
Hasil akhir
- Secara keseluruhan, patch 720p berhasil ditingkatkan ke level yang playable, sementara dukungan 1080p lebih mirip bonus untuk screenshot
- Masih ada ruang peningkatan pada perubahan performa dan memori, tetapi hasilnya sudah mendorong batas Halo 2 dan konsol Xbox cukup jauh
- Unduhan patch Halo 2 HD dan source code tersedia di GitHub
1 komentar
Opini Hacker News
Tautan video di bagian bawah artikel: https://www.youtube.com/watch?v=O_nk21389u8
Video itu memuat perbandingan berdampingan antara versi asli yang di-upscale ke 480p dan 720p, dan mulai sekitar menit ke-7 menjelaskan apa saja yang diperlukan untuk mendapatkan 720p sambil mempertahankan gameplay sekitar 30fps
Artikelnya juga bagus, tetapi videonya juga menarik karena merangkum perubahan yang diperlukan untuk resolusi yang lebih tinggi
Soal 720×480 bukan resolusi 16:9 atau bukan “480p sejati”, sebenarnya keluhannya harus diarahkan ke standardisasi ITU pada 1970-an: https://tech.ebu.ch/docs/techreview/trev_304-rec601_wood.pdf
Dalam memo Februari 1980, disebutkan bahwa untuk mengakomodasi semua durasi garis pindai efektif standar Eropa, jumlah sampel per garis efektif harus lebih besar dari 715,5; kemudian 720 sampel yang digunakan dalam Rec. 601 dan SMPTE 125 menjadi nilai pertama yang “berfungsi”
Rec. 601 menyediakan 720 sampel per garis efektif untuk kanal luminans dan masing-masing 360 sampel untuk sinyal beda warna, dan saat HDTV didefinisikan, resolusi horizontal sistem TV yang sudah ada ini digandakan serta rasio aspek 16:9 diterapkan, yang berujung pada 1920 sampel/garis dan 1080 garis
Sistem pemindaian progresif 1280×720 juga termasuk dalam keluarga 720 piksel yang sama, dan sebagian besar sistem berbasis TV digital, DVD, dan MPEG diturunkan dari format standar dasar 4:2:2 ini
“Semangat hacker” itu sendiri sepenuhnya sah, tetapi saya penasaran apakah ada alasan khusus untuk repot-repot menambahkan memori ke konsol dan melakukan overclock GPU demi memainkan Halo 2 seperti ini, alih-alih memakai versi PC
Ada banyak video yang membahas cacatnya secara rinci di berbagai tingkat
https://youtu.be/03K2Uz3s1hg?si=zaFO1XdzMcFvI1F6
Rasanya seperti membuktikan bahwa itu cukup mungkin dilakukan, atau bahkan lebih baik
Mungkin ini hampir seperti hambatan psikologis, tetapi umumnya ringan dan menyenangkan; seperti sisi berlawanan dari obsesi membeli model terbaru perangkat populer lebih dulu daripada siapa pun
Keduanya memberi semacam rasa superioritas
Sekarang pun Halo 2 masih bisa dimainkan lewat lobi online atau kampanye, dan grafis asli dari 343 maupun grafis HD remaster juga bisa dipilih
Di artikel utama disebutkan, “sistem data tag dirancang sefleksibel dan secepat mungkin, dan cara kerja internalnya luar biasa dari sisi rekayasa. Saya bisa menulis satu artikel hanya tentang mengapa saya menganggap engine Blam sebagai salah satu engine paling fleksibel, tetapi itu tidak relevan dengan artikel ini”; kalau artikel itu benar-benar ditulis, saya pasti ingin membacanya
Saya terlalu pemula untuk bisa mengikuti cara kerjanya, dan strukturnya begitu dinamis sampai saya secara mendasar tidak bisa memahami bahwa arsitektur semacam itu mungkin ada
Saya tidak mengerti bagaimana posisi pemain bisa berada dalam konteks yang sama dengan senjata yang memiliki pengaturan, bahkan efek-efeknya pun berada di daftar yang sama
Banyak hal yang sekarang saya minati pada akhirnya juga terus berputar di sekitar konsep-konsep seperti ini
Saya berharap era modding Xbox dan Halo 2 bisa kembali lagi di masa modern
Masa itu sangat memengaruhi pilihan karier saya, dan sampai sekarang saya masih percaya Halo 2 adalah game online paling inovatif sepanjang masa
Dulu, hanya dengan membeli alat sederhana untuk memuat save game, kita bisa membuat Xbox softmod dalam beberapa menit; tetapi konsol sekarang meledakkan e-fuse dan mencegah downgrade, selain punya jauh lebih banyak penguatan keamanan
Bersamaan dengan proyek Insignia yang mulai mendukung Halo 2, ini benar-benar masa yang bagus bagi Halo 2 klasik
Salah satu alasan saya menjadi software engineer sekarang adalah karena dulu mudah melihat cara kerja halaman web, mengutak-atik memori program, serta membuka hardware untuk melihat bagian dalamnya
Saat era Halo PC, saya belajar banyak tentang apa saja yang masuk ke dalam sebuah game dengan memodifikasi level, dan meski tahu apa itu “BSP” mungkin hanya trivia tak berguna, itu memberi saya keyakinan bahwa saya bisa memahami lebih banyak hal
Sekarang pun orang masih bisa masuk dan belajar teknologi, tetapi jalur lewat utak-atik sungguhan seperti itu makin sulit terlihat
Software sudah jauh lebih sulit untuk di-crack atau di-debug; bukan tidak mungkin, tetapi hambatan masuknya jauh lebih tinggi
Halaman web juga masih bisa diinspeksi, tetapi banyak situs sekarang sudah menjadi tumpukan div untuk menopang monster JavaScript yang diminifikasi dan diobfuskasi, sementara game makin bergantung pada streaming konten dari server sehingga dalam banyak kasus sejak awal sudah sulit
Hardware pun mengharuskan kita menghadapi prosedur keamanan yang bisa membuat perangkat jadi brick, heat gun untuk membuka bezel yang direkatkan, dan risiko kerusakan permanen
Setiap perubahan seperti ini pasti punya alasannya, tetapi dalam prosesnya sebagian besar kesenangan ikut hilang, dan meski tool masa kini secara teknis lebih baik, modding game tidak lagi terasa seperti dulu
Sekarang pun dengan konsol berbasis PC seperti PC atau Steam Deck, kita masih bisa cukup leluasa mengutak-atik; saya tidak tahu apa alasan harus bertarung dengan konsol proprietary yang memang dirancang untuk terkunci
Selain mendapatkan akses ke hardware x86 kustom yang bisa dibeli murah di pasar, juga tidak jelas apa lagi yang didapat
FPS online kompetitif dengan komunitas modding yang kuat sudah aktif di PC selama lebih dari 10 tahun sebelumnya
Berkat Project Cartographer, masih ada komunitas aktif: https://halo2.online/home/
Orang ini tampaknya lebih berdedikasi pada Halo 2 daripada Bungie masa kini terhadap IP mereka sendiri
IP-nya dimiliki Microsoft dan pengembangannya ditangani 343 Industries
Bungie sekarang punya Destiny/Destiny 2 dan extraction shooter Marathon yang akan datang
Saya menghabiskan sangat banyak waktu untuk game itu, dan senang melihat ada orang lain yang juga tersihir seperti saya
Meski begitu, dedikasi sebesar ini patut dihormati
Mungkin terdengar terlalu sinis, tetapi proyeknya sendiri benar-benar keren
Hanya saja, saya ragu apakah mengganti dan meng-overclock CPU, menambah RAM, menambahkan penyimpanan solid-state, lalu bahkan meng-overclock GPU masih bisa disebut mendorong batas Xbox asli
Pada titik itu, rasanya secara praktis itu sudah bukan Xbox lagi
Saat orang mengatakan mereka memodifikasi mesin dan suspensi Honda Civic habis-habisan lalu mendorongnya sampai batas, bertanya “tapi apakah itu benar-benar masih Civic?” mungkin secara teknis benar, tetapi bisa terdengar seperti mencari-cari kesalahan
Penulis berhak memberi judul yang diinginkan, dan kita bisa membacanya ulang di kepala sebagai “memodifikasi OG Xbox sampai hampir mati”
Karena Halo 2 bisa berjalan di 360 dengan resolusi lebih tinggi, memperjelas bahwa ini proyek modding yang menargetkan Xbox asli itu berguna
Bukan berarti secara harfiah Xbox yang belum dimodifikasi, melainkan bahwa target modding-nya adalah Xbox asli
Di konsol dengan kabel IDE bawaan, kecepatan transfer naik 10%, dan dengan kabel IDE yang di-upgrade, secara teori bisa naik hingga 300%
Jika punya RAM 128MB, RAM tambahan dapat dimanfaatkan untuk mengaktifkan mode video 720p dan 1080i serta memperbesar cache memori tekstur dan geometri, sehingga pop-in hampir hilang
Jika hanya menginginkan 480p, cukup overclock GPU pada konsol standar dan gunakan kabel IDE lain
Ungkapan terkait SSD tampaknya secara tidak sengaja menimbulkan salah paham, dan mungkin yang dimaksud adalah kombinasi kabel 80-pin dan SSD
CPU yang di-overclock tidak diperlukan dan CPU juga bukan bottleneck; RAM tambahan hanya diperlukan jika menginginkan 720p ke atas
Masukan ini sudah disampaikan, jadi tulisan blog tersebut mungkin akan diperbarui agar bagian ini lebih jelas
Begitulah skena komputer retro, dan tuning mobil juga mirip
Ada orang yang menginginkan Corvette sempurna dalam kondisi keluar pabrik, ada pula yang menginginkan Model A dengan mesin yang 50 tahun lebih modern
Membengkokkan benda yang akrab dan sudah dikenal sesuai keinginan sendiri adalah hal yang keren
Beban kerjanya luar biasa besar
Menarik juga bahwa teman “doom” tidak ingin mengungkap identitasnya