منصوبے کے بارے میں

Wine-Assembly ایک براؤزر پر مبنی Windows 98 ایمولیٹر ہے جو اصل، غیر تبدیل شدہ .exe فائلوں کو چلاتا ہے۔ یہ ایک x86 انٹرپریٹر اور Win32 API کے دوبارہ نفاذ پر مشتمل ہے، دونوں براہ راست WebAssembly Text (WAT) میں لکھے گئے ہیں۔ کوئی آپریٹنگ سسٹم امیج بوٹ نہیں ہوتی، اور کوئی سورس پورٹس برقرار نہیں رکھے جاتے۔ ایمولیٹر PE فائلوں کو براہ راست لوڈ کرتا ہے، x86 بنیادی بلاکس کو تھریڈڈ کوڈ کیش میں ڈی کوڈ کرتا ہے، CPU فلیگز کو سست طریقے سے حساب کرتا ہے، اور Win32 API کالز کو WAT ہینڈلرز تک پہنچاتا ہے۔ یہ 16 بٹ Windows 3.1 NE ایگزیکیوٹیبلز، ری لوکیشن کے ساتھ اصلی DLLs، DirectX (DirectDraw، Direct3D، DirectSound، DirectInput)، اور Winsock اور DDEML پر ملٹی پلیئر کے لیے ورچوئل LAN کو سپورٹ کرتا ہے۔ ایپلیکیشنز کی ایک وسیع رینج چلتی ہے، بشمول گیمز جیسے 3D Pinball Space Cadet، SkiFree، Solitaire، Minesweeper، Chip's Challenge، Diablo shareware، اور Winamp 2.91/2.95، نیز Windows 98 لوازمات جیسے Notepad، WordPad، Calculator، Paint، RegEdit، اور Task Manager۔ سموک میٹرکس 114 بائنریز کو ٹریک کرتا ہے، جن میں 81 پاس، 29 وارننگز/معروف حدود، 4 متوقع 16 بٹ اسکیپس، اور کوئی غیر متوقع کریش نہیں۔ یہ پروجیکٹ v86، 98.js، Webamp، اور js-dos سے مختلف ہے کیونکہ یہ BIOS، کرنل، اور ڈسک بوٹ کو چھوڑ دیتا ہے، تیز اسٹارٹ اپ کے لیے PE فائل کو براہ راست لوڈ کرتا ہے، اور تفریح کے بجائے اصل بائنریز چلاتا ہے۔ یہ ہاتھ سے WAT میں لکھا گیا ہے، 61 سورس حصوں میں تقریباً 210,000 لائنوں پر مشتمل ہے، نیز ایک JavaScript ہوسٹ جو کینوس، فائل/نیٹ ورک I/O، آڈیو، ان پٹ، اور ٹائمر فراہم کرتا ہے۔ بلڈ ایک حسب ضرورت WAT کمپائلر استعمال کرتا ہے اور تقریباً 1 MB کے ٹیل کال اور مطابقت والے WebAssembly بلڈز تیار کرتا ہے۔ فوری اسٹارٹ ہدایات میں `bash tools/build.sh` کے ساتھ بلڈنگ، مقامی طور پر سرونگ، اور Node.js کے ساتھ کمانڈ لائن سے چلانا شامل ہے۔ CLI ٹریسنگ، بریک پوائنٹس، ان پٹ انجیکشن، اور فریموں کو PNG میں رینڈر کرنے کو سپورٹ کرتا ہے۔ ریپوزٹری میں میموری لے آؤٹ، ڈیزائن نوٹس، اور فی ایپ ریورس انجینئرنگ نوٹس پر وسیع دستاویزات شامل ہیں۔ یہ پروجیکٹ MIT لائسنس یافتہ ہے۔