1 poin oleh GN⁺ 8 hari lalu | 1 komentar | Bagikan ke WhatsApp
  • Mengimplementasikan ulang Mac OS era 1980-an pada level API, sehingga dapat menjalankan aplikasi Mac 68K secara langsung tanpa ROM atau perangkat lunak sistem Apple
  • Dengan arsitektur yang menggantikan sistem operasi itu sendiri tanpa mengemulasikan seluruh perangkat keras, aplikasi dapat langsung dijalankan tanpa proses boot
  • Terdiri dari emulator 68K backend dan frontend berbasis SDL2, sehingga menyediakan lingkungan yang sama di berbagai platform seperti macOS, X11, dan Linux framebuffer
  • Dapat menjalankan perangkat lunak Macintosh klasik seperti MacPaint, Lode Runner, dan The Fool’s Errand dalam lingkungan grafis 1-bit
  • Didistribusikan sebagai kode sumber terbuka di GitHub, dan merupakan proyek reimplementasi terbuka yang juga dapat berjalan di sistem keluarga POSIX dan klien VNC

Ikhtisar Advanced Mac Substitute

  • Advanced Mac Substitute(AMS) adalah proyek yang mengimplementasikan ulang Mac OS era 1980-an pada level API, sehingga dapat menjalankan aplikasi Mac 68K tanpa ROM atau perangkat lunak sistem Apple
  • Berbeda dari emulator tradisional, AMS tidak mengemulasikan seluruh perangkat keras, melainkan hanya memodelkan prosesor 680x0 dan menggantikan sistem operasi itu sendiri
  • Dengan struktur ini, aplikasi dapat langsung dijalankan tanpa melalui proses boot

Arsitektur dan komponen

  • AMS disusun sebagai aplikasi factored
    • Backend adalah emulator 68K yang dapat dibangun dan dijalankan di sistem keluarga POSIX mana pun
    • Frontend adalah lapisan abstraksi terminal bitmap berbasis SDL2, dan mencakup implementasi untuk macOS, X11, serta Linux framebuffer (fbdev)
  • Melalui struktur ini, AMS menyediakan lingkungan eksekusi aplikasi Mac 68K yang sama di berbagai platform

Aplikasi yang dapat dijalankan dan demo

  • AMS dapat menjalankan berbagai aplikasi untuk Macintosh orisinal
    • Contohnya termasuk game seperti Amazing, Solitaire, Missile, dan IAGO yang dirilis pada 1984
    • Selain itu, program seperti MacPaint, System’s Twilight, Lode Runner, dan The Fool’s Errand juga dapat dijalankan
  • Setiap aplikasi berjalan di dalam AMS dalam lingkungan grafis 1-bit, dan tersedia video demonstrasi dari pengoperasiannya

Fitur yang didukung

  • AMS mendukung berbagai elemen grafis dan UI Mac OS berikut
    • Grafis kedalaman 1-bit, regions, lingkaran dan persegi panjang bersudut bundar, garis, kursor, GrafPorts, teks, jendela, kontrol, menu, dialog, dan lainnya
  • Dengan itu, AMS mereproduksi karakteristik visual dan fungsional perangkat lunak Macintosh era 1980-an dengan setia

Kode sumber dan lingkungan eksekusi

  • Kode sumber AMS tersedia di GitHub dalam repositori metamage_1
  • Dapat dijalankan langsung di macOS / OS X, X Window System, konsol Linux framebuffer, atau klien VNC
  • Dokumentasi lama (legacy documentation) proyek telah dipindahkan ke halaman terpisah, dan revisi saat ini masih berlangsung

Contoh demonstrasi

  • Situs resminya memuat berbagai video demo, dan menampilkan adegan eksekusi MacPaint, Amazing, dan Nyanochrome Cat
  • Layar “Welcome to Advanced Mac Substitute” bukan layar boot yang sebenarnya, melainkan antarmuka berbentuk aplikasi

Informasi lain

  • Proyek ini dikelola di v68k.org, dan pembaruan terbaru dilakukan pada 29 November 2025
  • Pengembangnya aktif melalui akun GitHub dan Twitter

1 komentar

 
GN⁺ 8 hari lalu
Opini Hacker News
  • Proyek yang benar-benar keren. Nuansa MacOS klasik hitam-putih memberi estetika seperti ‘timeline alternatif’ yang terasa meyakinkan dan stabil
    Ini mengingatkanku pada deretan Macintosh SE atau Plus di lab komputer sekolah dasar
    Saya ingin memperkenalkan UI desktop web MacOS System 7 yang saya buat. Ini adalah versi reinterpretasi yang memungkinkan browsing web sungguhan

    • Begitu melihat ikon Mac yang tersenyum dan progress bar kosong itu, saya langsung mengizinkan domainnya di NoScript. Sangat memikat
      Saya tertawa keras saat melihat screensavernya. Rasanya familier tapi asing, seperti melihat alam semesta paralel
      Saya juga pernah membuat simulator Mac berbasis web dulu. Awalnya untuk belajar CSS dan JS, tetapi kemudian saya sadar web tidak cocok untuk membangun struktur yang kompleks, dan pengalaman itu menjadi pemicu lahirnya Advanced Mac Substitute
  • Selama beberapa bulan terakhir saya menambahkan ARM64 JIT ke Basilisk II
    Sekarang saya sedang mem-patch ROM Quadra untuk melewati deteksi hardware NuBus
    Saya benar-benar ingin mencoba proyek ini. Jika fitur modern seperti file sharing masuk ke lingkungan Mac klasik, rasanya akan sempurna bahkan di perangkat kecil

  • Menakjubkan bahwa software tahun 1980-an bisa berjalan hanya dengan kompatibilitas API
    Fakta bahwa ia tidak bergantung pada detail implementasi seperti timing atau alignment memori sungguh luar biasa
    Ketergantungan pada satu detail implementasi saja bisa membuatnya tidak jalan di OS lain

    • Mac Classic secara arsitektur adalah sistem dengan kemurnian yang nyaris sempurna
      Hampir semua fungsi dijalankan hanya dengan framebuffer 1-bit dan CPU
      Kebanyakan hack pada mesin 8-bit dilakukan untuk mengakali keterbatasan fungsi
      Saya tidak tahu apakah Apple membuat keputusan ini dengan memikirkan generasi masa depan, tetapi struktur yang sederhana pasti memudahkan ekspansi di generasi berikutnya
    • Tentu saja, ada juga banyak aplikasi yang bergantung pada quirk implementasi
  • Proyek yang benar-benar keren. Ini mengingatkanku pada software komersial ARDI Executor yang dirilis pada 1990
    Saat itu ia menghasilkan performa luar biasa di hardware PC lewat reimplementasi level API
    Saya masih ingat waktu kecil menjalankan game Mac di PC Windows dan kagum sambil berpikir ‘ternyata ini bisa’
    Wiki Executor dan kode GitHub juga layak dilihat
    Engineer ARDI bahkan sempat muncul sebentar di dokumenter 1996 Triumph of the Nerds

    • Saya tahu tentang Executor, tapi belum pernah benar-benar melihatnya
      Dulu performa emulasi memang penting, tetapi sekarang hardware sudah cukup cepat sehingga itu bukan masalah besar
      Yang penting sekarang adalah portabilitas dan maintainability, serta mem-patch program yang dirancang dengan asumsi CPU eksklusif agar cocok dengan lingkungan modern
  • Sulit membayangkan seberapa cepat ini dibanding hardware Mac 512k asli
    Ini mengingatkanku pada pengalaman mekanis terus-menerus mengganti disket saat sistem dijalankan hanya dari satu floppy
    Akan sangat menyenangkan kalau ada fitur ‘jalankan dengan lambat’ yang bahkan mereproduksi suara baca/tulis floppy

    • Baru-baru ini ada proyek hardware retro di HN yang menyertakan emulasi suara. Justru suaranya yang paling berkesan
    • Saya pernah memakai emulator Apple II bernama Virtual II yang punya suara floppy dan pengaturan kecepatan, jadi rasanya mirip
    • Saya masih ingat bermain King’s Quest IV di Apple IIe waktu kecil. Setiap pindah satu layar, saya harus mengganti floppy. Benar-benar derita ganti disk
  • Saya penasaran bagaimana perbandingannya dengan Executor

  • Akan bagus kalau ada lapisan kompatibilitas seperti Carbon, di mana aplikasi lama bisa berjalan dalam frame window modern dan tetap bisa menyimpan file

    • Advanced Mac Substitute menyimpan dokumen dan file pengaturan di direktori host yang tersandbox
      Misalnya, jika Anda klik ganda dokumen Hello di demo MacPaint, dokumen itu akan dibuka dengan MacPaint.app di Finder macOS
    • Proyek seperti ini terasa bisa menjadi fondasi bagi sistem semacam itu
  • Saya penasaran apakah ini selesai lebih dulu daripada MACE, atau memang tujuannya berbeda

  • Apakah “Dark Castle” bisa jalan? Saya benar-benar menghabiskan banyak waktu untuk game itu

    • Sampai sekarang saya masih penasaran kenapa protagonisnya terlihat seperti Shaggy dari Scooby Doo
      Dan kalau melihat commit ini, ternyata memang bisa dijalankan
    • Saya mungkin akan langsung ke Beyond Dark Castle. Kematangan seri itu memang terasa berbeda
  • Ini pencapaian yang luar biasa. Saya penasaran dengan proses pembuatannya, motivasinya, dan berapa lama waktu yang dibutuhkan

    • Mungkin motivasi paling awal saat saya memulai proyek ini adalah keinginan untuk menghidupkan kembali The Fool’s Errand. Ironisnya, justru itu titik awalnya
      Mungkin karena pada masa itu sebagian besar pemanggilan MacOS diakses lewat instruksi TRAP 68K, jadi ROM-nya direimplementasikan langsung alih-alih melakukan emulasi hardware
      Teman saya juga dulu pernah menulis ulang Toolbox sebagai library C untuk mem-port aplikasi Mac ke PC
      Hampir semuanya diimplementasikan ulang, termasuk QuickDraw, Event Manager, Memory Manager, dan lain-lain. Karena memakai UI OpenLook, nuansanya jadi terasa benar-benar berbeda