1 pontos por GN⁺ 17 일 전 | 1 comentários | Compartilhar no WhatsApp
  • Reimplementa o Mac OS dos anos 1980 no nível de API, permitindo executar diretamente aplicativos Mac 68K sem a ROM ou o software de sistema da Apple
  • Em vez de emular todo o hardware, adota uma estrutura que substitui o próprio sistema operacional, possibilitando executar apps instantaneamente sem processo de boot
  • É composto por um emulador 68K de backend e um frontend baseado em SDL2, oferecendo o mesmo ambiente em várias plataformas como macOS, X11 e Linux framebuffer
  • Permite executar softwares clássicos do Macintosh como MacPaint, Lode Runner e The Fool’s Errand em um ambiente gráfico de 1 bit
  • Distribuído como código-fonte aberto no GitHub, é um projeto de reimplementação aberta que também pode ser executado em sistemas da família POSIX e clientes VNC

Visão geral do Advanced Mac Substitute

  • O Advanced Mac Substitute (AMS) é um projeto que reimplementa o Mac OS dos anos 1980 no nível de API, capaz de executar aplicativos Mac 68K sem a ROM ou o software de sistema da Apple
  • Diferentemente de emuladores tradicionais, não emula todo o hardware; em vez disso, simula apenas o processador 680x0 e substitui o próprio sistema operacional
  • Essa arquitetura permite executar aplicativos imediatamente, sem processo de boot

Estrutura e componentes

  • O AMS é estruturado como um aplicativo fatorado (factored)
    • O backend é um emulador 68K, que pode ser compilado e executado em qualquer sistema da família POSIX
    • O frontend é uma camada de abstração de terminal bitmap, baseada em SDL2, incluindo implementações para macOS, X11 e Linux framebuffer (fbdev)
  • Essa estrutura oferece o mesmo ambiente de execução para aplicativos Mac 68K em diversas plataformas

Aplicativos executáveis e demonstrações

  • O AMS consegue executar vários aplicativos para o Macintosh original
    • Entre os exemplos estão jogos como Amazing, Solitaire, Missile e IAGO, lançados em 1984
    • Também é possível executar programas como MacPaint, System’s Twilight, Lode Runner e The Fool’s Errand
  • Cada aplicativo roda dentro do AMS em um ambiente gráfico de 1 bit, e há vídeos demonstrando o funcionamento real

Recursos suportados

  • O AMS oferece suporte aos seguintes elementos gráficos e de interface do Mac OS
    • Gráficos com profundidade de 1 bit, regiões (regions), círculos e retângulos arredondados, linhas (line), cursores, GrafPorts, texto, janelas, controles, menus e caixas de diálogo
  • Com isso, reproduz com fidelidade as características visuais e funcionais dos softwares Macintosh dos anos 1980

Código-fonte e ambiente de execução

  • O código-fonte do AMS está disponível no GitHub, no repositório metamage_1
  • Pode ser executado diretamente em macOS / OS X, X Window System, console Linux framebuffer ou em um cliente VNC
  • A documentação anterior (legacy documentation) do projeto foi movida para uma página separada, e uma revisão está em andamento

Exemplos de demonstração

  • O site oficial inclui vários vídeos de demonstração, nos quais é possível ver a execução de MacPaint, Amazing e Nyanochrome Cat
  • A tela “Welcome to Advanced Mac Substitute” não é uma tela de boot real, mas sim uma interface em forma de aplicativo

Outras informações

  • O projeto é mantido em v68k.org, e a atualização mais recente ocorreu em 29 de novembro de 2025
  • O desenvolvedor também mantém atividade por meio de contas no GitHub e no Twitter

1 comentários

 
GN⁺ 17 일 전
Comentários do Hacker News
  • Projeto realmente incrível. A estética de uma espécie de “linha do tempo alternativa” transmitida pelo MacOS clássico em preto e branco parece passar confiança e estabilidade
    Traz de volta lembranças dos Macintosh SE ou Plus alinhados na sala de informática da escola primária
    Apresento a UI de desktop web do MacOS System 7 que criei. É uma reinterpretação que permite navegação real na web

    • Assim que vi o ícone do Mac sorridente e a barra de progresso vazia, imediatamente permiti o domínio no NoScript. Foi realmente encantador
      Dei uma boa risada ao ver o protetor de tela. Era familiar e ao mesmo tempo estranho, como olhar para um universo paralelo
      Eu também já fiz um simulador de Mac baseado na web. O objetivo era aprender CSS e JS, mas percebi que a web não é adequada para empilhar estruturas complexas, e essa experiência acabou levando à criação do Advanced Mac Substitute
  • Nos últimos meses, estive adicionando JIT ARM64 ao Basilisk II
    Agora estou patchando a ROM do Quadra para contornar a detecção de hardware NuBus
    Quero muito experimentar este projeto. Se recursos modernos como compartilhamento de arquivos entrarem no ambiente clássico do Mac, acho que ficaria perfeito até em dispositivos pequenos

  • É surpreendente que software dos anos 1980 funcione apenas com compatibilidade de API
    É admirável que não dependa de detalhes de implementação como timing ou alinhamento de memória
    Se dependesse de um único detalhe de implementação, talvez não rodasse em outro OS

    • O Mac Classic era um sistema com uma pureza estrutural quase perfeita
      Fazia a maior parte do trabalho apenas com framebuffer de 1 bit e CPU
      A maior parte dos hacks em máquinas de 8 bits servia para contornar funcionalidades limitadas
      Não sei se a Apple tomou essas decisões pensando nas gerações futuras, mas a estrutura simples deve ter facilitado a expansão nas gerações seguintes
    • Claro, também havia muitos apps que dependiam de quirks de implementação
  • Projeto realmente incrível. Lembra o software comercial ARDI Executor, lançado em 1990
    Na época, ele alcançava velocidade impressionante em hardware de PC com uma reimplementação no nível de API
    Lembro de ficar admirado quando, na infância, rodava jogos de Mac num PC com Windows e pensava “então isso é possível”
    Vale a pena ver também o wiki do Executor e o código no GitHub
    Um engenheiro da ARDI chegou a aparecer rapidamente no documentário Triumph of the Nerds, em 1996

    • Eu conhecia o Executor, mas nunca o vi funcionando de verdade
      Na época, o desempenho de emulação era importante, mas hoje o hardware é rápido o bastante para isso não ser um grande problema
      Agora o que importa é portabilidade e manutenção, além de adaptar para o ambiente moderno programas projetados para monopolizar a CPU
  • Não faço ideia de quão rápido isso seria em comparação com o hardware original do Mac 512k
    Lembra a experiência mecânica de ficar trocando discos o tempo todo, na época em que o sistema rodava a partir de um único floppy
    Se houvesse uma função de “rodar devagar” que até reproduzisse o som de leitura/escrita do floppy, seria muito divertido

    • Houve recentemente no HN um projeto de hardware retrô que incluía emulação de som. Esse som foi a parte mais marcante
    • Já usei o emulador de Apple II chamado Virtual II, que tinha som de floppy e controle de velocidade, e a sensação era parecida
    • Ainda lembro de jogar King’s Quest IV num Apple IIe quando era criança. Tinha que trocar o floppy a cada mudança de tela. Era realmente o sofrimento da troca de disco
  • Fico curioso sobre como isso se compara ao Executor

  • Seria ótimo ter uma camada de compatibilidade tipo Carbon em que apps antigos pudessem rodar em janelas modernas e também salvar arquivos

    • O Advanced Mac Substitute salva documentos e arquivos de configuração em um diretório do host isolado por sandbox
      Por exemplo, no demo do MacPaint, se você der duplo clique no documento Hello, ele abre como MacPaint.app no Finder do macOS
    • Parece que um projeto assim pode justamente virar a base de um sistema desse tipo
  • Fico curioso se isso foi concluído antes do MACE ou se os objetivos são diferentes

  • Será que “Dark Castle” roda? Gastei realmente muito tempo com esse jogo

    • Até hoje me pergunto por que o protagonista parece o Shaggy do Scooby Doo
      E olhando este commit, parece que ele realmente roda
    • Eu provavelmente iria direto para Beyond Dark Castle. O nível de acabamento da série claramente mudou
  • É uma conquista realmente impressionante. Fico curioso sobre o processo de desenvolvimento, a motivação e quanto tempo levou

    • Como na época a maioria das chamadas do MacOS provavelmente era acessada por instruções TRAP do 68K, imagino que a ROM tenha sido reimplementada diretamente em vez de emular o hardware
      Um amigo meu também já reescreveu a Toolbox como uma biblioteca em C para portar apps de Mac para PC
      Ele reimplementou praticamente tudo, como QuickDraw, Event Manager e Memory Manager. Usava uma UI OpenLook, então a sensação era completamente diferente
    • A motivação mais inicial para eu começar este projeto foi o desejo de trazer The Fool’s Errand de volta à vida. Ironicamente, esse foi o ponto de partida