11 poin oleh GN⁺ 2025-11-19 | Belum ada komentar. | Bagikan ke WhatsApp
  • Quake yang dirilis pada 1996 menghadapi tiga perubahan teknologi sekaligus: akselerator 3D, internet, dan transisi dari MS-DOS ke Windows 95
  • id Software memanfaatkan kompiler djgpp dan struktur kompatibel DPMI untuk membuat satu file executable yang dapat berjalan baik di DOS maupun Windows 95
  • Melalui sistem ‘Chunnel’ dari Mpath, Quake versi DOS dibuat agar bisa mengakses stack Winsock TCP/IP milik Windows 95
  • Struktur ini terdiri dari komponen seperti quakeudp.dll, genvxd.dll, dan mgenvxd.vxd, yang bertindak sebagai perantara agar executable DOS dapat berkomunikasi dengan API jaringan Win32
  • Setelah itu, id Software beralih ke executable khusus Win32 (WinQuake, GLQuake) sehingga struktur rumit ini pun menghilang

Quake dan masa transisi sistem operasi

  • Antara 1996 hingga 1997, pangsa pasar MS-DOS turun setengahnya, dan Microsoft mendorong transisi ke Windows 95 dan NT
  • Sebagian pengembang (misalnya Blizzard North) membuat game khusus Windows 95, tetapi id Software mendukung DOS dan Windows sekaligus lewat satu executable (quake.exe)
  • quake.exe dirancang agar kompatibel dengan cwsdpmi.exe untuk DOS atau server DPMI bawaan Windows 95, dengan menggunakan klien DPMI dari DJGPP
  • Insinyur Microsoft Raymond Chen menyebutnya sebagai “contoh menakjubkan dari program yang tetap berjalan normal di extender yang sangat berbeda

Menjalankan Quake di lingkungan DOS

  • Untuk menjalankan Quake di DOS, hanya diperlukan empat file: quake.exe, config.cfg, pak0.pak, dan cwsdpmi.exe
  • Mode multipemain mendukung empat cara: modem, NullModem, IPX, dan TCP/IP
    • IPX digunakan untuk LAN, sedangkan TCP/IP untuk internet, tetapi DOS tidak menyediakan stack TCP/IP secara bawaan
  • Satu-satunya TSR TCP/IP untuk DOS adalah BWNFS dari Beame & Whiteside, dengan harga 395 dolar AS (pada 1996), sehingga sangat mahal

Menjalankan di lingkungan Windows 95

  • Saat quake.exe dijalankan di virtual DOS box (dos-box) milik Windows 95, ia bekerja dengan cara yang sama
  • Karena menggunakan server DPMI Windows 95, cwsdpmi.exe tidak lagi diperlukan
  • Eksekusinya berjalan lancar, tetapi membutuhkan RAM minimal 16MB, dengan overhead memori yang lebih besar dibanding DOS
  • Akses VGA diizinkan secara langsung, sehingga dapat berjalan di layar penuh tanpa penurunan performa

q95.bat dan Chunnel dari Mpath

  • q95.bat bukan sekadar skrip untuk menjalankan Quake, tetapi juga mengaktifkan koneksi TCP/IP melalui sistem tunneling Winsock (Chunnel) milik Mpath
  • Mpath Interactive mengoperasikan layanan game online (Mplayer) dan mendukung permainan internet untuk berbagai game termasuk Quake dan Unreal
  • Pada masa itu, insinyur Mpath Larry Hastings menceritakan pengalaman bermain internet deathmatch melawan tim id Software pada build awal Quake
  • Mpath menerima source code Quake, lalu memodifikasinya agar dapat berkomunikasi dengan stack jaringan Mplayer, dan melisensikan teknologi Chunnel kepada id

Struktur teknis Chunnel

  • q95.bat menjalankan qlaunch.exe, yang kemudian memuat quakeudp.dll
    • quakeudp.dll berfungsi sebagai jembatan ke Winsock (wsock32.dll)
    • Melalui genvxd.dll, ia memuat driver perangkat virtual mgenvxd.vxd dan berkomunikasi dengan Win32 lewat interupsi 0x48
  • Implementasi soket BSD di Quake (mpplc.c) adalah kode dari Mpath, yang meneruskan panggilan jaringan melalui interupsi perangkat lunak
  • genvxd.dll kemudian melakukan unmarshalling atas panggilan tersebut dan meneruskannya ke Winsock
  • Simbol di mgenvxd.vxd memuat nama John Cash
  • Teknologi ini merupakan teknologi berpaten milik Mpath, dan source code-nya tidak dibuka
  • Setelah Desember 1996, id Software beralih ke executable khusus Win32 (WinQuake, GLQuake, QuakeWorld) sehingga struktur Chunnel ditinggalkan

Kesimpulan

  • Dukungan TCP/IP di Quake diwujudkan lewat struktur kreatif yang membuat executable DOS secara tidak langsung memanggil stack jaringan Windows 95
  • Ini adalah teknologi hibrida yang bekerja di batas antara DOS dan Windows, sekaligus contoh masa transisi jaringan game pada pertengahan 1990-an
  • Setelah peralihan penuh ke Win32, semuanya menjadi lebih sederhana, tetapi pada masanya struktur ini melambangkan tantangan teknis dan inovasi di era transisi sistem operasi

Belum ada komentar.

Belum ada komentar.