1 puan yazan GN⁺ 17 일 전 | 1 yorum | WhatsApp'ta paylaş
  • 1980'lerdeki Mac OS'yi API düzeyinde yeniden uygulayarak Apple'ın ROM'u veya sistem yazılımı olmadan 68K Mac uygulamalarını doğrudan çalıştırabilir
  • Tüm donanımı emüle etmek yerine işletim sisteminin kendisini ikame eden bir yapıya sahip olduğundan, önyükleme süreci olmadan uygulamaları anında çalıştırmak mümkündür
  • Arka uç 68K emülatörü ve SDL2 tabanlı ön uçtan oluşur; macOS, X11, Linux framebuffer gibi çeşitli platformlarda aynı ortamı sunar
  • MacPaint, Lode Runner, The Fool’s Errand gibi klasik Macintosh yazılımlarını 1 bit grafik ortamında çalıştırabilir
  • GitHub'da açık kaynak olarak dağıtılır ve POSIX tabanlı sistemler ile VNC istemcilerinde de çalışabilen açık bir yeniden uygulama projesidir

Advanced Mac Substitute genel bakış

  • Advanced Mac Substitute(AMS), 1980'lerdeki Mac OS'nin API düzeyinde yeniden uygulanmış bir projesidir ve Apple'ın ROM'u veya sistem yazılımı olmadan 68K Mac uygulamalarını çalıştırabilir
  • Geleneksel emülatörlerden farklı olarak tüm donanımı emüle etmez; yalnızca 680x0 işlemciyi taklit eder ve işletim sisteminin kendisinin yerini alır
  • Bu yapı sayesinde önyükleme süreci olmadan uygulamalar doğrudan başlatılabilir

Mimari ve bileşenler

  • AMS, ayrıştırılmış (factored) bir uygulama biçiminde yapılandırılmıştır
    • Arka uç (backend), POSIX tabanlı sistemlerin herhangi birinde derlenip çalıştırılabilen bir 68K emülatörüdür
    • Ön uç (frontend), bitmap terminal soyutlama katmanıdır; SDL2 tabanlıdır ve macOS, X11, Linux framebuffer (fbdev) için uygulamalar içerir
  • Bu yapı sayesinde farklı platformlarda aynı 68K Mac uygulaması çalışma ortamını sağlar

Çalıştırılabilen uygulamalar ve demolar

  • AMS, orijinal Macintosh için geliştirilmiş çeşitli uygulamaları çalıştırabilir
    • Örnek olarak 1984'te çıkan Amazing, Solitaire, Missile, IAGO gibi oyunlar buna dahildir
    • Ayrıca MacPaint, System’s Twilight, Lode Runner, The Fool’s Errand gibi programlar da çalıştırılabilir
  • Her uygulama AMS içinde 1 bit grafik ortamında çalışır ve gerçek çalışma videoları sunulmuştur

Desteklenen özellikler

  • AMS, aşağıdaki Mac OS grafik ve kullanıcı arayüzü öğelerini destekler
    • 1 bit derinliğinde grafikler, bölgeler (regions), daireler ve yuvarlatılmış dikdörtgenler, çizgiler (line), imleç, GrafPorts, metin, pencereler, kontroller, menüler, iletişim kutuları vb.
  • Bu sayede 1980'ler Macintosh yazılımlarının görsel ve işlevsel özelliklerini yüksek sadakatle yeniden üretir

Kaynak kodu ve çalışma ortamı

  • AMS'nin kaynak kodu GitHub üzerindeki metamage_1 deposunda yayımlanmıştır
  • macOS / OS X, X Window System, Linux framebuffer konsolu veya VNC istemcisi üzerinde doğrudan çalıştırılabilir
  • Projenin eski belgeleri (legacy documentation) ayrı bir sayfaya taşınmıştır ve şu anda gözden geçirilerek yenilenmektedir

Gösterim örnekleri

  • Resmî sitede birden fazla demo videosu yer alır; MacPaint, Amazing, Nyanochrome Cat gibi uygulamaların çalışma sahneleri görülebilir
  • “Welcome to Advanced Mac Substitute” ekranı gerçek bir önyükleme ekranı değil, uygulama biçimindeki bir arayüzdür

Diğer bilgiler

  • Proje v68k.org tarafından yönetilmektedir ve son güncelleme 29 Kasım 2025 tarihinde yapılmıştır
  • Geliştirici GitHub ve Twitter hesapları üzerinden de aktiftir

1 yorum

 
GN⁺ 17 일 전
Hacker News yorumları
  • Gerçekten harika bir proje. Siyah-beyaz klasik MacOS hissinin verdiği o ‘alternatif zaman çizgisi’ estetiği sanki güven ve istikrar duygusu veriyor.
    İlkokuldaki bilgisayar laboratuvarında sıra sıra dizilmiş Macintosh SE ve Plus’ların anısı aklıma geldi.
    Kendi yaptığım MacOS System 7 web masaüstü arayüzünü paylaşayım. Gerçek web gezintisinin mümkün olduğu bir yeniden yorumlama sürümü.

    • Gülen Mac ikonunu ve boş ilerleme çubuğunu görür görmez NoScript'te alan adına hemen izin verdim. Gerçekten çok çekiciydi.
      Ekran koruyucuyu görünce kahkaha attım. Tanıdık ama yabancı, adeta bir paralel evrene bakıyormuş gibi hissettirdi.
      Ben de zamanında web tabanlı bir Mac simülatörü yapmıştım. Amaç CSS ve JS öğrenmekti, fakat web'in karmaşık yapılar kurmak için pek uygun olmadığını fark ettim; o deneyim de Advanced Mac Substitute'u yapmama vesile oldu.
  • Son birkaç aydır Basilisk II'ye ARM64 JIT ekliyordum.
    Şimdi de Quadra ROM'u yamalayarak NuBus donanım algılamasını atlatmaya çalışıyorum.
    Bu projeyi mutlaka denemek istiyorum. Klasik Mac ortamına dosya paylaşımı gibi modern özellikler eklenirse, küçük cihazlarda bile kusursuz olabilir.

  • 1980'lerin yazılımlarının yalnızca API uyumluluğu ile çalışabilmesi şaşırtıcı.
    Zamanlama ya da bellek hizalaması gibi uygulama ayrıntılarına bağımlı olmamaları gerçekten etkileyici.
    Tek bir uygulama ayrıntısına bile bağımlı olsalar başka bir OS'te çalışmayabilirlerdi.

    • Mac Classic, mimari olarak neredeyse kusursuz bir saflığa sahip bir sistemdi.
      Çoğu işi yalnızca 1 bit framebuffer ve CPU ile yapıyordu.
      8 bit makinelerdeki hack'lerin çoğu, sınırlı özellikleri aşmaya yönelikti.
      Apple bunu gelecek nesilleri düşünerek mi yaptı bilmiyorum ama basit yapı sayesinde sonraki nesillerde genişletme daha kolay olmuş olmalı.
    • Elbette uygulamadaki tuhaflıklara (quirk) bağımlı birçok uygulama da vardı.
  • Gerçekten harika bir proje. Bana 1990'da çıkan ticari yazılım ARDI Executor'ü hatırlattı.
    O dönem PC donanımında API düzeyinde yeniden uygulama ile şaşırtıcı hızlar elde ediyordu.
    Çocukken Windows PC'de Mac oyunları çalıştırıp “demek bu mümkünmüş” diye hayret ettiğimi hatırlıyorum.
    Executor wiki sayfası ve GitHub kodu da bakmaya değer.
    ARDI'nin mühendisi 1996 belgeseli Triumph of the Nerds'te de kısa süre görünmüştü.

    • Executor'ü biliyordum ama hiç canlı görmemiştim.
      O zamanlar emülasyon performansı önemliydi ama bugün donanım çok daha hızlı olduğu için bu büyük bir sorun değil.
      Artık önemli olan taşınabilirlik ve bakım kolaylığı, ayrıca CPU'ya özel tasarlanmış programları modern ortama uyarlamak için yamalamak.
  • Orijinal Mac 512k donanımına kıyasla ne kadar hızlı olacağını hayal bile edemiyorum.
    Sistemi tek bir floppy ile çalıştırdığımız, diski sürekli değiştirip durduğumuz o mekanik deneyim aklıma geliyor.
    Eğer ‘yavaş çalıştırma’ özelliği olsa ve floppy okuma/yazma seslerini bile taklit etse gerçekten çok eğlenceli olurdu.

    • Yakın zamanda HN'de ses emülasyonu da içeren bir retro donanım projesi görmüştüm. En etkileyici kısmı o sesti.
    • Virtual II adlı Apple II emülatörünü kullandım; floppy sesi ve hız kontrolü vardı, benzer bir his veriyordu.
    • Küçükken Apple IIe'de King’s Quest IV oynadığımı hatırlıyorum. Her ekran geçişinde floppy değiştirmek gerekiyordu. Gerçek bir disk değiştirme eziyetiydi.
  • Executor ile karşılaştırınca nasıl olduğunu merak ediyorum.

  • Eski uygulamaların modern pencere çerçevelerinde çalışabildiği ve dosya kaydetmenin mümkün olduğu Carbon benzeri bir uyumluluk katmanı olsa güzel olurdu.

    • Advanced Mac Substitute, belgeleri ve ayar dosyalarını sandbox içine alınmış host dizininde saklıyor.
      Örneğin MacPaint demosunda Hello belgesine çift tıklarsanız, macOS Finder içinde MacPaint.app ile açılıyor.
    • Böyle bir proje tam da bu tür bir sistemin temeli olabilir gibi görünüyor.
  • MACE'den önce mi tamamlandı, yoksa hedefleri farklı mı, merak ediyorum.

  • “Dark Castle” çalışır mı acaba? O oyuna gerçekten çok zaman harcamıştım.

    • Ana karakter neden Scooby Doo'daki Shaggy'ye benziyor, hâlâ merak ediyorum.
      Ayrıca bu commit gerçek anlamda çalıştırılabildiğini gösteriyor.
    • Ben olsam doğrudan Beyond Dark Castle'a geçerdim. Serinin olgunluğu açıkça farklıydı.
  • Gerçekten olağanüstü bir başarı. Yapım süreci, motivasyon ve ne kadar zaman aldığı çok merak uyandırıyor.

    • Muhtemelen o dönemde MacOS çağrılarının çoğuna 68K TRAP komutları üzerinden erişildiği için, donanım emülasyonu yerine ROM doğrudan yeniden uygulanmış olmalı.
      Bir arkadaşım da zamanında Toolbox'ı C kütüphanesi olarak yeniden yazıp Mac uygulamalarını PC'ye taşımıştı.
      QuickDraw, Event Manager, Memory Manager gibi neredeyse her şeyi baştan uygulamıştı. OpenLook UI kullandığı için hissi tamamen farklıydı.
    • Bu projeye başlamamdaki en erken motivasyon, The Fool’s Errand'ı yeniden hayata döndürme arzusuydu. İronik ama çıkış noktası buydu.