· kaynak Hacker News – Front Page (native)
MoofTCP: System 6 kullanan 68k Mac'ler için sıfırdan yazılmış bir MacTCP alternatifi
MoofTCP, System 6 kullanan 68k Macintosh bilgisayarlarda Apple'ın MacTCP yazılımının yerini, taşınabilir C ile sıfırdan yazılmış bir TCP/IP yığını ile alıyor; DHCP, kullanışlı bir kurulum aracı ve tanılama özellikleri eklerken bellek kullanımını artırmıyor.
Apple'ın 1990'lar yığını için birebir yedek
MoofTCP, matthewmrichter tarafından GitHub'da yayımlanan, System 6 kullanan Motorola 68000 Macintosh bilgisayarlarda Apple'ın MacTCP ağ yazılımının yerini alan açık kaynaklı bir proje. Hacker News ana sayfasında yer almasıyla daha geniş bir ilgi gördü.
Proje sayfasına göre MacTCP için yazılmış uygulamalar değişiklik gerektirmeden çalışıyor; çünkü MoofTCP, dnrp ad çözümleyicisinin yanı sıra TCP, UDP ve ICMP echo'yu kapsayan aynı .IPP sürücü arayüzünü uyguluyor. Bu tanıdık arayüzün ardında ise taşınabilir C ile sıfırdan yazılmış bir TCP/IP yığını, ayrıca kendi kontrol paneli, kurulum aracı ve DHCP istemcisi bulunuyor. Belirtilen hedef makine 4 MB RAM'e sahip bir Mac Classic; proje, bu dar bellek bütçesinin baştan sona mühendislik kararlarını şekillendirdiğini söylüyor.
Projeye ilham veren şey, MacTCP'nin işlevsel olsa da yaşını göstermesi: BlueSCSI gibi bir SCSI Wi-Fi/Ethernet adaptörüyle eşleştirilmiş 4 MB'lık bir Classic üzerinde yavaş yanıt verebiliyor, bellek tüketimi yüksek olabiliyor ve yapılandırması zahmetli. Bu nedenle MoofTCP öncelik sırasıyla güvenilirlik (programlar çıkarken takılmalar ve bellek sızıntıları olmaması), telnet oturumları gibi etkileşimli kullanım için düşük gecikme ve veri aktarım hedefliyor — tüm bunları yaparken MacTCP'den daha fazla yerleşik bellek kullanmıyor.
Kutuda neler var
Yığınınsa kendisinin ötesinde proje şunları sunuyor:
- Kontrol panelinden seçilebilen DHCP ya da sabit adres seçeneği.
- Dar bellekli makineler için sistem belleğinden yaklaşık 5 KB tasarruf sağlayan, DHCP'siz bir derleme olan MoofTCP Lite; tek bir kurulum aracı her iki sürümü de içeriyor ve bir onay kutusuyla seçim yapılıyor.
- MacTCP'nin dosyalarını bir kenara taşıyan, kaldırıldığında bunları tam olarak geri yükleyen ve kurulum yarıda kesilirse kendini onaran bir kurulum aracı.
- MultiFinder desteği, böylece çıkış yapan bir uygulamanın açık bıraktığı bağlantılar temizleniyor.
- Tanılama: isteğe bağlı bellek içi günlük ve hata raporu üretmek için küçük bir MoofDiag aracı.
Test edilen donanım ve yazılım
Proje, 4 MB RAM'e ve DaynaPORT'lu bir BlueSCSI v2 WiFi adaptörüne sahip, System 6.0.8 kullanan gerçek bir Mac Classic üzerinde ve ayrıca Snow emülatöründe test edildiğini bildiriyor. Telnet terminali Flynn ve Wikipedia Reader her ikisinde de çalışıyor; MacTCP Watcher, NCSA Telnet, Fetch ve TurboGopher emülatörde çalışıyor; Eudora açılıyor ancak posta işlemi denenmemiş. Gereksinimler, System 6.0.8 kullanan bir 68k Mac ve .ENET0 sürücüsünü sağlayan bir Ethernet adaptörü — MoofTCP kendi Ethernet sürücüsünü içermiyor ve proje, kullanıcıları diğer sistem sürümlerindeki sonuçları bildirmeye davet ediyor.
Bellek tarafında tam sürücü 95.623 bayt kod kaplarken Lite derlemesi 90.722 bayt kaplıyor; gerçek bir Mac Classic üzerinde tek Finder altında sürücünün ilk açılışından sonra sistem yığınında yaklaşık 30,7 KB boş alan kalmış.
Nasıl geliştirildi
Taşınabilir çekirdek malloc ve global durum kullanmaktan kaçınıyor; CMake ve ctest ile, öntanımlı olarak etkin AddressSanitizer ve UBSan ile birlikte fuzzer'lar aracılığıyla modern masaüstü sistemlerde test ediliyor. Mac için çapraz derleme yalnızca Docker gerektiriyor; sabit sürüme pinned edilmiş Retro68 araç zinciri imajını otomatik olarak çekiyor. Kod MIT lisanslı ve README'ye göre herhangi bir Apple ya da üçüncü taraf kodu içermiyor. Onlarca yıllık donanıma yönelik bir proje için öne çıkan bir detay var: README, projenin insan planlaması ve testleriyle birlikte Claude Code kullanılarak geliştirildiğini söylüyor.
Bilinen sınırlamalar arasında IPv6 desteğinin olmaması, yalnızca System 6.0.8 üzerinde DaynaPORT sürücüsüyle test edilmiş olması ve bilinçli olarak temel düzeyde tutulmuş bir DHCP istemcisi sayılabilir — lease RELEASE yok, INIT-REBOOT yok, adres çakışması sondası yok ve DHCP çalışırken UDP port 68 diğer programlara kapalı. DHCP sunucusu yoksa ilk açılış başarısız olmadan önce yaklaşık on saniye bekliyor. Yol haritası, DaynaPORT sürücüsünün benzer bir şekilde yeniden yazılmış hali olan MoofPort'a ve BlueSCSI ile daha sıkı entegrasyona işaret ediyor.
Neden önemli
BlueSCSI gibi adaptörler onlarca yıllık Macintosh bilgisayarlara depolama ve ağ bağlantısı kazandırmayı kolaylaştırdı; ancak altındaki sistem yazılımı bu hıza ayak uyduramadı: MacTCP tescilli, eski ve yapılandırması zahmetli. MoofTCP bu boşluğu kapatıyor: mevcut retro uygulamalar değişiklik gerektirmeden kullanabileceği, modern sanitizer ve fuzzer'larla doğrulanabilen ve serbest bir lisans taşıyan, sıfırdan yazılmış bir yığını. Ayrıca güncel geliştirme pratiklerinin — container ile çapraz derleme ve yapay zeka destekli kodlama — 68000 dönemi bir platforma kadar uzanmasının güzel bir örneği. System 6 kullanan bir makineyi çalışır durumda tutan herkes için, bir onay kutusuyla kurulup sorunsuzca geri alınabilen ağ desteği gerçek bir konfor artışı.
- #retro-computing
- #open-source
- #tcp-ip
- #macintosh
- #networking