Tiny Emulators - coleção de pequenos emuladores
(floooh.github.io)- 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,expemodna 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
- Visual 6502 Remix: visualização da 6502
- Visual Z80 Remix: visualização da Z80
Emuladores de computadores compatíveis
-
Linha Amstrad
-
Linha ZX Spectrum
-
Linha Commodore
-
Outros sistemas
- Acorn Atom
- LC-80
- Robotron Z1013
- Robotron Z9001: inclui BASIC e módulo de RAM
- Robotron KC87: após iniciar o BASIC, pressione Enter
Linguagens e ambiente de desenvolvimento
- FORTH for KC85/4: define o módulo M026, a imagem
forth.853e a entrada de comandos inicial - FORTH for Z1013: executa na configuração Z1013 de 64 KB
- BASIC for Z1013: usa a configuração Z1013 de 64 KB e
kc_basic.z80 - ASMDEV for KC85/4: define o módulo M027, a imagem
develop.853e os comandos iniciais - CP/M 2.2 for CPC: carrega
6128sp_4.dske depois insere|cpm
Demos do Amstrad CPC
-
Demos iniciais do CPC
- DTC
- Tire Au Flan: pressione Space para continuar
- Wolfenstrad
- Byte'98
- Ecole Buissonniere
- Demoizart: há aviso de estroboscópio
- Logon's Run
- YAP!
- Backtro
- Isometrikum
-
Demos adicionais do CPC
- SotB Demo: selecione
Preview 1e depois pressione Space - Points Barres: pressione Space para continuar
- Still Rising
- Octopus Pocus
- Gloire a Piou!
- phX / Condense
- Batman Forever
- CRTC
- Wunderbar
- Phortem
- Pheelone
- Phreaks
- Phat 2
- Wobbler
- Battro
- SotB Demo: selecione
Demos de Commodore C64 e VIC-20
-
Demos de C64
-
Demos de VIC-20
- PPY: usa a expansão
maxram - Muna.Paluu: usa a expansão de RAM de 8 KB
- PPY: usa a expansão
Demos e jogos do KC85
-
Demos do KC85/4
-
Jogos do KC85/3
- Digger: usa o módulo M022
- Jungle: usa o módulo M022
- Pengo
- House
- Cave
- Versão alternativa de Cave: é uma versão alternativa melhor
- Labyrinth
- Pacman: insere
PACMANautomaticamente - Ladder: insere
LADDERautomaticamente - Mad Breakin: usa o módulo M022
-
Jogos do KC85/4
- Chess: insere
CHESSautomaticamente - Enterprise
- Tetris
- Sokoban
- Chess: insere
Jogos disponíveis em várias plataformas
-
Boulderdash
-
Bomb Jack
-
Cybernoid
-
Série Arkanoid
- Arkanoid for CPC
- Arkanoid RoD for CPC
- Arkanoid RoD for ZX128: use o joystick Sinclair 1
-
Silkworm
-
Chase HQ
-
Ghosts'n'Goblins
-
Bruce Lee
-
Head over Heels
-
Nebulus
Jogos de plataforma única e arcade
-
Arcade e C64
- Pengo Arcade: insira uma moeda com
1e inicie com Enter - Zaxxon for C64
- Dig Dug for C64
- Pengo Arcade: insira uma moeda com
-
Jogos de CPC
- Fruity Frank
- 1943
- Dragon Ninja
- Gryzor
- Astro Marine Corps
- Intern.Karate
- IK+
- Ikari Warriors
- Rick Dangerous
- Prince of Persia
- Live and Let Die: executa na configuração CPC464
-
Jogos de ZX Spectrum
- Batty for ZX48K
- Great Escape for ZX128: selecione o joystick Kempston
- Flying Shark for ZX48K: selecione o joystick Kempston
- Cyclone for ZX48k: selecione o joystick Kempston
- Exolon for ZX48k: selecione o joystick Kempston
- Quazatron for ZX128: selecione o joystick Kempston
- Rainbow Islands for ZX
- Sir Fred for ZX48K: selecione o joystick Kempston
-
KC85/3
- Breakout: insere
BREAKOUTautomaticamente
- Breakout: insere
-
Acorn Atom
- Chucky Egg: após
*LOAD, inicie com Space - Jet Set Willy: após
*LOAD, selecioneJOYMMC
- Chucky Egg: após
-
VIC-20
-
Robotron Z1013
1 comentários
Comentários no Hacker News
As URLs com
-previewforam 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-casepor ciclo de instrução, e o funcionamento detalhado está descrito em https://floooh.github.io/2021/12/17/cycle-stepped-z80.htmlOriginalmente 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
É 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
Na prática, criar bibliotecas autocontidas exige um pouco de disciplina e não seguir cegamente o pessoal que vive gritando DRY
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 momentoAgora 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
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...