- Rekreasi Zaxxon dalam pemasang x86-64, berjalan terus dari UEFI dan dengan kod sumber terbuka GPLv3.
- Cabaran diselesaikan: input bebas lag (tetikus/kayu bedik), pemasaan yang tepat dan enjin grafik jenis PPU dengan 128 FPS dan tiada bunyi.
- Kompilasi dengan MASM x64 dan menghubungkan dengan MSVC; BOOTX64.EFI dalam EFI/BOOT/ partition GPT, dengan Secure Boot dilumpuhkan.

Terdapat projek yang membuat anda mengangkat kening dan berfikir: wow, ini adalah sesuatu yang berbeza. Perisian Inkbox telah memberi penghormatan kepada sekolah lama Membawa kembali permainan arked isometrik klasik dan menjadikannya but terus daripada perisian tegar PC, tanpa sistem pengendalian di antaranya. Tafsiran semula mereka terhadap Zaxxon (1982) adalah lebih daripada sekadar rasa ingin tahu: ia diprogramkan sepenuhnya dalam bahasa himpunan x86-64 dan dikeluarkan sebagai sumber terbuka di bawah lesen GPLv3.
Perkara yang paling menarik bukan hanya hasil, tetapi perjalanan. Falsafah projek adalah "kembali kepada logam": tinggalkan lapisan sistem pengendalian, ambil kesempatan daripada perkakasan Tanpa perantara, mereka menunjukkan bahawa anda masih boleh membina pengalaman permainan yang digilap di mana kami biasanya hanya melihat alat diagnostik. Dan ya, terdapat video penerangan dengan gambaran keseluruhan teknikal yang panjang dan menghiburkan yang memperincikan bagaimana semuanya berlaku dan halangan yang dihadapi sepanjang perjalanan.
UEFI sebagai titik permulaan: mengapa percubaan ini penting
Percubaan paling menyeronokkan pada UEFI Ia kekal sebagai tunjuk cara, mainan teknikal atau muatan yang dimuatkan "dalam" persekitaran perisian tegar. Di sini, bagaimanapun, pendekatannya berbeza: mesin dibut dan perkara pertama yang anda lihat ialah permainan, tanpa melalui sistem pengendalian atau menu perantaraan. Perincian itu membuat semua perbezaan dari segi kerumitan dan pengalaman pengguna.

UEFI ialah pengganti moden untuk yang lama BIOS Dan, walaupun ia mempunyai perkhidmatan untuk masuk/keluar, masa dan video, Ia tidak direka untuk menawarkan pengalaman permainan yang canggihIni memaksa pengarangnya untuk mengimbangi kekurangan dengan kejuruteraan peringkat rendah: daripada cara membaca kawalan dalam masa nyata kepada cara melukis pada kelajuan penuh tanpa koyak atau kependaman yang menjengkelkan.
Nilai cadangan adalah dua kali ganda. Di satu pihak, menunjukkan bahawa perisian tegar boleh menawarkan lebih daripada sekadar utiliti konfigurasi dan ujian. Sebaliknya, ia berfungsi sebagai pengajaran praktikal tentang seni bina PC semasa, pemasaan, dan reka bentuk enjin grafik minimalis yang tidak bergantung pada perpustakaan "mewah".
Inkbox merumuskannya dengan idea yang hebat: mereka bosan dengan sistem pengendalian yang menetapkan kadar dan hadnya. Tanggapan mereka adalah untuk memprogramkan dalam bahasa pemasangan, tanpa sistem pengendalian, untuk memanfaatkan sepenuhnya perkakasan itu.Ia bukan manifesto anti-apa-apa; ia adalah pengisytiharan kebebasan kreatif, dengan insentif tambahan bahawa sesiapa sahaja boleh meneliti kod dan menolaknya berkat lesen terbukanya.
Apakah Permainan Angkasa untuk x64 dan apakah matlamatnya untuk dicapai?
Projek ini mempunyai nama yang ringkas dan deskriptif: Permainan Angkasa untuk x64 ialah a Rekreasi Zaxxon untuk platform x86_64 yang dibungkus sebagai imej UEFI. Tiada emulator yang terlibat, mahupun port "tradisional" yang bergantung pada SDL, DirectX atau yang serupa: ia adalah binari BOOTX64.EFI yang dimuatkan seolah-olah ia adalah sistem but.
Ini bermakna, sebaik sahaja anda menyediakannya pada cakera dengan partition EFI, PC but dan terus beraksiTiada desktop, tiada perkhidmatan latar belakang, tiada pengurus tetingkap atau pemacu kompleks: hanya perisian tegar, binari dan perkakasan anda bertindak balas dengan tepat kepada perkara yang diminta oleh pemasang.
Sesuai dengan semangat asal, Rekreasi itu mengekalkan estetika isometrik dan rasa arked lapan bit itu. Untuk mencapai matlamat ini, mereka telah membina sejenis enjin yang meniru PPU klasik (Unit Pemprosesan Gambar), jenis yang mengubah had kepada gaya visual. Ia adalah anggukan teknikal yang turut memudahkan saluran pemaparan yang sangat terkawal.
Dalam repositori awamnya, anda akan menemui kod sumber dan arahan untuk menyusun, memaut dan menjalankan permainan pada perkakasan sebenar. Set dikeluarkan di bawah GPLv3supaya ia boleh dikaji, diubah suai dan diedarkan semula di bawah syarat lesen yang terkenal dalam komuniti perisian percuma.
Cabaran teknikal: input, masa dan video luar talian
Sesiapa sahaja yang telah bermain-main dengan UEFI tahu bahawa papan kekunci, jam dan sokongan grafiknya adalah utilitarian, bukan "pemain permainan". Halangan utama pertama adalah pintu masukPapan kekunci UEFI standard memperkenalkan kelewatan dalaman yang terasa kikuk dan tidak tepat untuk permainan. Kelewatan ini mengganggu kedekatan yang diminta arked, jadi Inkbox mencari laluan lain: input tetikus/kayu bedik untuk pengalaman yang lebih responsif dan lancar.
Cabaran kedua ialah masa. Tanpa sistem pengendalian yang menyediakan pengaturcara resolusi tinggiDengan pemasa monoton yang dikunyah dengan baik dan perancang benang yang dimanjakan, kita perlu mencipta mekanisme yang stabil untuk mengukur kependaman...untuk menjajarkan bingkai dan mengekalkan ketekalan enjin permainan. Video projek memfokuskan pada perkara ini secara terperinci, kerana menentukan masa adalah separuh daripada pertempuran dalam permainan.
Di hadapan grafik, penyelesaiannya melibatkan pemapar yang mereplikasi gelagat PPU retro. Ia bermula dengan penimbal asas dengan resolusi rendah (256×256)Ini adalah mencukupi untuk estetika konsol sekolah lama, dan dari situ imej akhir berskala dan digubah. Hasilnya adalah segar dan seragam, dengan konsistensi estetik yang diharapkan daripada pembuatan semula yang menghormati identiti visual asal.
Setelah mengatasi halangan tersebut, Demonstrasi terakhir kelihatan licin seperti sutera: FPS 128Animasi cecair dan kawalan sentuhan responsif. Walau bagaimanapun, terdapat satu peninggalan yang disengajakan: tiada bunyi dilaksanakan buat masa ini. Pengalaman visual dan permainan yang kukuh adalah lebih baik daripada menyebarkan dirinya terlalu nipis dalam lelaran pertama.
Cara membinanya: alat penyusunan dan pemautan
Kod ini ditulis dalam pemasang 64-bit dan bergantung pada alat Microsoft untuk pemasangan dan pemautan. Microsoft Macro Assembler (MASM) dalam mod x64 digunakan untuk pemasangan.Proses pemautan dikendalikan oleh Microsoft Visual C++ Linker (MSVC Linker). Tiada keajaiban yang terlibat: ini adalah alat yang terkenal dalam ekosistem. Windows yang menghasilkan binari yang serasi dengan UEFI.
Hasil kompilasi ialah UEFI standard boleh laku: BOOTX64.EFIFail itu adalah yang harus diletakkan di laluan boot dijangka oleh perisian tegar: EFI/BOOT/, dalam partition sistem EFI (ESP) cakera dengan jadual partition GPT. Jika anda datang dari LinuxSama ada anda menggunakan macOS atau sistem Windows moden, struktur ini akan terdengar biasa.
Persediaan adalah mudah dengan hanya beberapa keperluan. Pergi ke tetapan perisian tegar dan lumpuhkan Secure Boot Untuk mengelakkan kunci tandatangan, pilih cakera tempat anda menyalin BOOTX64.EFI sebagai peranti but. Jika semuanya sudah sedia, mesin akan segera melancarkan permainan tanpa sebarang skrin pemuatan tambahan.
Bagi mereka yang suka bereksperimen dengan peranti yang berbeza, terdapat kelebihan yang jelas: UEFI ialah standard yang disokong secara meluas pada mesin x86_64Selagi perkakasan anda adalah 64-bit dan perisian tegar anda melaksanakan UEFI, anda sepatutnya boleh mencuba pembuatan semula tanpa terlalu banyak masalah. Ia sentiasa membantu untuk mengesahkan bahawa perisian tegar membenarkan anda melumpuhkan Boot Selamat.
Penskalaan perkakasan, penyahpepijatan dan pilihan lain
Di luar asas, projek itu menambah idea yang sangat menarik dari segi prestasi: mod "penskalaan perkakasan". Ia memanfaatkan pemproses aplikasi lain (teras sistem) untuk menukar penimbal permainan kepada sasaran 1024x1024 dengan cepat. Ia adalah satu daya tarikan kecil penyelarasan dalam persekitaran UEFI: permainan seri pada 256x256, dan resolusi akhir didarab tanpa menghukum kadar bingkai.
Jika anda lebih suka kesederhanaan atau peralatan anda sederhana, anda boleh melumpuhkan penskalaan itu. Dalam kes itu, program membuang penimbal 256x256 ke skrin sebagaimana adanya.Mengekalkan rupa piksel yang lebih sempurna sambil mengurangkan beban pengiraan. Bergantung pada pilihan anda, anda boleh mengutamakan kesucian visual atau ketajaman tambahan.
Bagi mereka yang ingin melihat "keberanian", terdapat togol yang direka untuk pembangunan. Terdapat pilihan untuk memaparkan kotak hit (kotak perlanggaran) yang hanya masuk akal jika penskalaan perkakasan aktif, kerana tindanan lebih jelas dan lebih mudah diurus pada resolusi yang lebih tinggi.
Tindanan diagnostik juga boleh diaktifkan. Mod nyahpepijat membuang maklumat ke dalam konsolIni termasuk butiran input kawalan dan kiraan lajur enjin pemaparan. Jika anda melaraskan pemasaan, latensi atau ketepatan bacaan peranti, data ini tidak ternilai untuk memahami perkara yang berlaku dalam setiap bingkai.
Prestasi dan pengalaman permainan
Apa yang terbaik mentakrifkan percubaan ini ialah bagaimana dia berasa bertanggungjawab. Permainan lancar pada 128 FPS Dan tindak balas yang lancar mewujudkan rasa seperti arked: segala-galanya berlaku pada masa yang tepat, tanpa sistem terlalu memikirkan. Kedekatan ini adalah hasil kawalan yang teliti ke atas saluran paip: lebih sedikit lapisan, kurang ketidakpastian.
Walaupun tanpa bunyi, ia adalah permainan yang menyeronokkan sepenuhnya. Penekanan adalah pada permainan dan kejelasan visualDengan palet, sprite dan tatal yang membangkitkan era lapan bit tanpa menggunakan penapis moden atau pemprosesan pasca yang tidak perlu. Jika anda datang untuk nostalgia, anda akan tinggal untuk persembahan.
Isu pintu masuk patut mendapat tepukan yang berasingan. Elakkan papan kekunci "standard" UEFI —disebabkan kelewatan terbina dalam— dan memilih tetikus/kayu bedik bukan sahaja mengelakkan masalah, tetapi mengukuhkan identiti arked pembuatan semula. Ini ketara dalam ketepatan semasa melaraskan trajektori dan sejauh mana permainan bertolak ansur dengan pembetulan pantas.
Pada sistem berbilang teras semasa, mod penskalaan menjadikan paparan 1024x1024 serta-merta. Edarkan kerja penskalaan antara teras Ia membolehkan anda mengekalkan kadar bingkai 128 FPS tanpa mengeluarkan peluh, manakala dalam mod ringkas estetika 256×256 "mentah" menawarkan tekstur retro yang tidak berkompromi.
keserasian dan ketersediaan
Salah satu kekuatan cadangan ini ialah skopnya. Binari direka untuk dijalankan pada mana-mana mesin x86_64 dengan UEFI, yang merangkumi spektrum PC desktop yang sangat luas dan komputer riba kontemporari. Tiada model atau jenama tertentu diperlukan; ia cukup untuk memenuhi piawaian dan membenarkan EFI bermula tanpa halangan.
Jika anda mahu bermain-main, pintu terbuka. Repositori "Permainan Angkasa untuk x64" di GitHub termasuk kod, dokumentasi dan sumber supaya anda boleh menyusun dan membina imej anda sendiri. Sesiapa sahaja yang sudah selesa dengan MASM dan penghubung MSVC akan berasa seperti di rumah sendiri; dan mereka yang tidak mempunyai alasan yang sempurna untuk belajar.
Melesenkannya di bawah GPLv3 bukanlah butiran kecil. Pilihan itu memastikan pengetahuan kembali kepada masyarakatDan mana-mana derivatif akan mengekalkan keterbukaan yang sama. Untuk projek pendidikan atau makmal kejuruteraan terbalik, ini adalah harta karun: anda boleh membaca, mengubah suai, membandingkan dan mengukur tanpa sekatan proprietari.
Kisah di sebaliknya: motivasi dan pengajaran
Mengapa terlibat dalam kekacauan sedemikian? Motivasi penulis adalah teknikal seperti falsafah.: untuk mengalih keluar kekangan sistem pengendalian, untuk menemui semula pengaturcaraan Di tengah-tengah perkara itu, dan menangkap semula intipati arked "apa yang anda lihat ialah apa yang anda dapat." Semangat ini diterjemahkan ke dalam pilihan reka bentuk yang bersahaja dan berkesan.
Video yang mengiringi projek itu adalah bonus. Ia bukan treler, ia adalah kelas induk Ini mengenai cara menangani had sebenar perisian tegar dan cara mengubahnya menjadi pengalaman permainan yang menarik. Sesiapa sahaja yang bergelut dengan pemasa, kependaman dan tinjauan peranti akan menghargai tahap perincian.
Terdapat pembelajaran di mana-mana: daripada pilihan peranti input kepada saluran paip lukisan dan penskalaan. Tiru kelakuan PPU retro Ia bukan sekadar nostalgia; ia adalah keputusan pragmatik yang mengehadkan masalah, mengelakkan kebergantungan luaran, dan memberikan keselarasan kepada estetika akhir.
Pendekatan ini, dengan cara ini, menghasilkan kod yang boleh dibaca dan dipelajari. Pengaturcaraan dalam pemasang x86-64 tidak biasa hari iniDan lebih kurang lagi dengan tahap cita-cita suka bermain ini. Atas sebab ini, nilai pendidikan projek sangat besar untuk sesiapa sahaja yang benar-benar ingin memahami perkara yang perkakasan lakukan dalam setiap arahan.
Butiran praktikal untuk mencubanya pada komputer anda
Jika anda ingin tahu, berikut ialah laluan asas: Anda menyusun dengan MASM dalam 64 bit, anda memaut dengan MSVC dan anda mendapat binari BOOTX64.EFI. Anda menyalin fail itu ke partition EFI (ESP) cakera dengan jadual GPT, menghormati laluan EFI/BOOT/ dan sediakan perisian tegar anda untuk but daripada peranti itu dengan Boot Selamat dilumpuhkan.
Sesetengah firmware menambah "personaliti" mereka sendiri, jadi ambil perhatian. Anda mungkin perlu memaksa perintah but Atau pilih cakera secara manual daripada menu but cepat. Sebaik sahaja logo UEFI pengeluar muncul dan proses but bermula, jika laluannya betul, anda akan terus masuk ke dalam permainan.
Untuk pelarasan prestasi, tiada misteri. Dayakan penskalaan perkakasan jika anda mahukan 1024x1024 Dengan kejelasan maksimum dan banyak teras, lumpuhkannya jika anda mencari imej 256x256 yang bersih. Jika anda menyahpepijat, tunjukkan kotak hit dan panel diagnostik: anda akan melihat input yang direkodkan dan kiraan lajur yang dikendalikan oleh enjin dalam masa nyata.
Sebagai nota keselamatan: Melumpuhkan Secure Boot adalah keperluan untuk binari ini.Ingat untuk mengembalikan perubahan ini jika anda mahu, setelah anda selesai bermain. Ini bukan langkah yang luar biasa dalam projek UEFI rumah, tetapi adalah baik untuk diingat jika anda bekerja dalam pasukan pengeluaran.
Di luar permainan: impak dan kemungkinan
Memberi tumpuan semata-mata pada anggukan retro adalah tidak adil. Kerja ini membuka perbualan tentang perkara yang boleh dilakukan dalam UEFI Dengan disiplin kejuruteraan dan objektif yang jelas. Hari ini ia adalah permainan arked klasik; esok ia boleh menjadi utiliti grafik lanjutan, persekitaran ujian perkakasan atau pengalaman interaktif yang tidak bergantung pada pemasangan apa-apa pada cakera.
Untuk adegan pendidikan, rayuan adalah serta-merta. Repositori pemasang yang diulas dengan baikDokumen itu, yang merangkumi input, pemasaan, grafik dan keselarian cahaya dalam UEFI, merupakan sumber pembelajaran yang luar biasa. Sukar untuk membayangkan makmal yang lebih menerangi untuk memahami seni bina PC moden tanpa lapisan sistem pengendalian.
Dalam komuniti pembuat dan retro, kesan riak juga jelas. Untuk mendapatkan semula kawalan penuh ke atas saluran paip Ia menawan hati. Ia menangkap semula semangat DIY pada tahun 80-an dan membawanya ke dalam persekitaran yang moden dan standard. Ramai yang akan mendapat inspirasi untuk bereksperimen dengan enjin UEFI mini mereka sendiri berdasarkan prinsip ini.
Dan bagi mereka yang hanya mahu bermain untuk sementara waktu, cadangan lebih daripada menyampaikan. Ia pantas, ia bersih, dan ia menakjubkan. Boot PC anda dan terus ke klasik yang diubah suai tanpa pernah melihat desktop. Jika anda sedang mencari sesi arked tanpa gangguan, sukar untuk meminta lebih banyak lagi.
Satu idea yang merangkumi keseluruhan projek ialah autonomi. Apabila anda mengawal setiap arahan, anda mengawal pengalaman.Anda tidak bergantung pada kemas kini OS, penjadual tugas atau pemacu. Terdapat kos—tiada bunyi buat masa ini, tiada lapisan keselesaan—tetapi sebagai balasan anda mendapat mainan teknikal yang menarik dan manifesto kebebasan kreatif.
Antara permata teknikal yang kecil, pengurusan input alternatif kepada papan kekunci UEFI yang kikuk dan penggunaan pemproses aplikasi untuk penskalaan menonjol. Butiran selari "ringan" itu dalam perisian tegar Ini adalah peringatan bahawa standard menawarkan lebih banyak kelonggaran daripada yang biasa kita eksploitasi setiap hari.
Jika anda suka menyelidiki kod sumber dan komited, anda akan berseronok menyemak organisasi projek, kejelasan rutin dan cara kes tepi diselesaikan. Keputusan untuk berkongsi di bawah GPLv3 Dia memberi jaminan bahawa tiada siapa yang mengekalkan ace mereka: apa yang dipelajari di sini beredar dan berkembang dengan sumbangan orang lain.
Pada akhirnya, ia lebih daripada sekadar pelabuhan mudah, Ia adalah pernyataan niat yang dibungkus dalam piksel.Ia menghidupkan semula cara pengaturcaraan dan bermain —tanpa bius atau abah-abah—yang masih mempunyai daya tarikan pada tahun 2025. Dan ia melakukannya dengan menghormati pelaksanaan asal dan teknikal untuk dipadankan, bermula di mana tiada siapa menjangkakan untuk melihat permainan: perisian tegar itu sendiri.
Penulis yang bersemangat tentang dunia bait dan teknologi secara umum. Saya suka berkongsi pengetahuan saya melalui penulisan, dan itulah yang akan saya lakukan dalam blog ini, menunjukkan kepada anda semua perkara yang paling menarik tentang alat, perisian, perkakasan, trend teknologi dan banyak lagi. Matlamat saya adalah untuk membantu anda mengemudi dunia digital dengan cara yang mudah dan menghiburkan.