1 pontos por GN⁺ 5 시간 전 | 1 comentários | Compartilhar no WhatsApp
  • De CPUs clássicas a computadores de 8 bits e sistemas de arcade, reúne em um só lugar páginas de emuladores que permitem executar imediatamente o software de cada plataforma
  • Junto com Visual 6502 Remix·Visual Z80 Remix, oferece vários sistemas, como Amstrad CPC, ZX Spectrum, Commodore, Acorn Atom e a linha Robotron
  • Os parâmetros type, file, input, joystick, exp e mod na URL permitem definir a plataforma e a imagem de disco, entrada inicial, joystick, expansão de RAM e configuração de módulos
  • Inclui BASIC, FORTH, ASMDEV, CP/M 2.2 e vários demos e jogos de CPC·C64·VIC-20·KC85, e obras como Boulderdash podem ser executadas para comparar versões de várias plataformas
  • Alguns itens exigem tecla de inicialização, entrada de comandos ou seleção de joystick, e o Demoizart tem aviso de luzes estroboscópicas, portanto é preciso verificar também as condições de execução

Visualização do funcionamento da CPU

Emuladores de computadores compatíveis

Linguagens e ambiente de desenvolvimento

Demos do Amstrad CPC

Demos de Commodore C64 e VIC-20

Demos e jogos do KC85

Jogos disponíveis em várias plataformas

Jogos de plataforma única e arcade

1 comentários

 
GN⁺ 5 시간 전
Comentários no Hacker News
  • As URLs com -preview foram criadas para testar algumas coisas e são endereços antigos, sem atualização desde 2021. O endereço atual é https://floooh.github.io/tiny8bit/
    Além da emulação em nível de pinos, também é interessante o fato de a CPU avançar ciclo a ciclo. A CPU não atua como um controlador especial do sistema; ela avança junto com os outros chips a cada tick. No Z80, em vez de haver um desvio por instrução, há um desvio switch-case por ciclo de instrução, e o funcionamento detalhado está descrito em https://floooh.github.io/2021/12/17/cycle-stepped-z80.html
    Originalmente era um projeto no qual eu trabalhava principalmente durante as férias de Natal, e desde 2023 quase não consegui mexer nele. Desde então, basicamente só atualizei as dependências de sokol e Dear ImGui e, de vez em quando, adicionei novas demos publicadas em https://www.pouet.net/ e https://csdb.dk/

  • Este projeto me faz lembrar fortemente de 0x10c. Ainda sou fascinado pela ideia de um universo em que existe um minicomputador virtual, e continuo imaginando coisas baseadas em viagem espacial e cyberpunk, misturando elementos ao estilo Zachtronics no design de chips, até com variações de fantasia
    Ainda assim, não consigo afastar a sensação de que isso é um tema extremamente de nicho. Se alguém tiver interesse, pode falar aqui ou entrar em contato pelo e-mail do perfil. Referência: https://en.wikipedia.org/wiki/0x10c

    • Já cheguei a fazer um jogo de puzzle no estilo Zachtronics baseado em 0x10c, e até hoje é uma das minhas ideias favoritas. Mesmo no início do lançamento, com todo mundo mergulhado em programação, parece que haveria só algumas centenas de usuários no mundo todo, então financeiramente seria uma escolha terrível
      É difícil até decidir se os usuários realmente iriam querer criar um sistema operacional inteiro do zero para lidar com o hardware da nave espacial, ou se o jogo deveria ter um mercado interno de software para comprar e vender programas de controle da nave. Fico em dúvida se alguém realmente faria um Windows 3.1 para DCPU sem receber nada por isso
      Eu gostaria de fazer isso dar certo, mas um jogo open source lançado no passado desceu até o nível de BIOS e acabou técnico demais para a maioria das pessoas. Poucos usuários vão querer começar trabalhando em API/ABI só para conseguir mover uma nave espacial
  • Gosto da abordagem de emulação em nível de pinos deste projeto. Cada componente é autocontido e modular, o que dá bastante flexibilidade
    Interfaces extremamente finas, mas explicitamente definidas, talvez ainda sejam uma área pouco explorada em termos de interoperabilidade. Se os dois lados apenas amostram valores em momentos definidos e fornecem só alguns sinais para acesso temporal, seja com pinos, alguns registradores ou uma área mapeada em memória, isso vira um excelente alvo para teste de conformidade
    Na era do código gerado por IA, componentes modulares com requisitos explícitos de conformidade podem ser especialmente úteis. Não importa como o interior da caixa-preta foi implementado, desde que ela não viole o comportamento exigido

    • Essa é justamente a ideia básica de uma biblioteca de software, e isso já era possível sem IA ;)
      Na prática, criar bibliotecas autocontidas exige um pouco de disciplina e não seguir cegamente o pessoal que vive gritando DRY
    • Implementei todos os chips do meu emulador de Amstrad CPC até o nível de pinos, mas para rodar em tempo real nesse modo é preciso uma CPU M2 ou superior
      Por isso também adicionei um modo "soldered" para ganhar velocidade, abrindo mão de um pouco da modularidade. Nele, não dá para desacoplar o CRTC, e no fim também coloquei um modo rápido separado. Mesmo assim, a implementação em nível de pinos tem grande valor por si só, porque vira um excelente oráculo de validação para verificar a precisão a qualquer momento
      Agora quero fazer uma porta de expansão com conexão USB e ligar todo o hardware real. Ainda não publiquei o código em nível de pinos, mas em cerca de uma semana ele deve sair
    • Hardware e software vêm sendo projetados há muito tempo como caixas-pretas e módulos cujo interior não precisa ser conhecido. Nem tudo é assim, mas a maior parte busca modularidade. É engraçado ver mais gente redescobrindo essa ideia agora, no processo de tentar satisfazer a IA
  • Muito legal. Quando eu era criança, carregar um jogo por fita parecia levar uma eternidade, e agora ele roda instantaneamente. Eu gostava especialmente de Bruce Lee no ZX Spectrum

  • Falta mais Oric também: https://oric.games/

  • Alguns jogos estão com o volume bem alto em relação ao esperado. É difícil perceber isso antes de clicar no jogo

  • Seria bom poder ajustar o volume na UI do site. O som de alguns jogos está alto demais

  • Por favor, atualizem o endereço para https://floooh.github.io/tiny8bit/. É o endereço oficialmente vinculado, já foi usado em envios anteriores, e o desenvolvedor também informou isso no ano passado em https://news.ycombinator.com/item?id=43821756
    Também fiquei curioso sobre onde o autor deste post encontrou esse endereço de preview e se ele estava vinculado em algum outro lugar

  • Este projeto existe há pelo menos 8 anos: https://hn.algolia.com/?query=Tiny%20Emulators&type=story&da...