1 points par GN⁺ 5 시간 전 | 1 commentaires | Partager sur WhatsApp
  • Des CPU classiques aux ordinateurs 8 bits et aux systèmes d’arcade, cette page d’émulateurs rassemble en un seul endroit des logiciels exécutables immédiatement pour chaque machine
  • En plus de Visual 6502 Remix et Visual Z80 Remix, elle propose divers systèmes comme Amstrad CPC, ZX Spectrum, Commodore, Acorn Atom et la gamme Robotron
  • Les paramètres type, file, input, joystick, exp et mod dans l’URL permettent de définir la machine et l’image disque, la saisie initiale, le joystick, l’extension RAM et la configuration des modules
  • Elle inclut BASIC, FORTH, ASMDEV, CP/M 2.2 ainsi que de nombreuses démos et jeux pour CPC, C64, VIC-20 et KC85, et permet pour des titres comme Boulderdash de comparer les versions de plusieurs machines à l’exécution
  • Certaines entrées nécessitent une touche de démarrage, la saisie d’une commande ou la sélection du joystick, et Demoizart comporte un avertissement stroboscopique : il faut donc vérifier les conditions d’exécution

Visualisation du fonctionnement du CPU

Émulateurs d’ordinateurs pris en charge

Langages et environnements de développement

Démos Amstrad CPC

Démos Commodore C64 et VIC-20

Démos et jeux KC85

Jeux disponibles sur plusieurs plateformes

Jeux sur machine unique et jeux d'arcade

1 commentaires

 
GN⁺ 5 시간 전
Avis Hacker News
  • Les URL avec -preview ont été créées pour tester quelques idées ; ce sont d’anciennes adresses qui n’ont pas été mises à jour depuis 2021. L’adresse actuelle est https://floooh.github.io/tiny8bit/.
    Au-delà de l’émulation au niveau des broches, ce qui est intéressant, c’est que le CPU avance cycle par cycle. Le CPU ne joue pas un rôle particulier de contrôleur du système, il progresse à chaque tick avec les autres puces. Sur le Z80, au lieu d’avoir une branche par instruction, il y a une branche switch-case par cycle d’instruction ; le fonctionnement détaillé est expliqué ici : https://floooh.github.io/2021/12/17/cycle-stepped-z80.html
    À l’origine, c’était surtout un projet sur lequel je travaillais pendant les vacances de Noël, et depuis 2023 je n’y ai presque plus touché. Depuis, je me suis surtout contenté de mettre à jour les dépendances sokol et Dear ImGui, et d’ajouter de temps en temps de nouvelles démos publiées sur https://www.pouet.net/ et https://csdb.dk/

  • Ce projet me fait fortement penser à 0x10c. Je reste fasciné par l’idée d’un univers où existent des mini-ordinateurs virtuels ; j’ai encore en tête quelques concepts mêlant voyage spatial et cyberpunk, avec des éléments de design de puces à la Zachtronics, et même des variantes fantasy.
    Cela dit, je n’arrive pas à me défaire de l’impression que c’est un sujet extrêmement de niche. Si ça vous intéresse, on peut en parler ici ou vous pouvez me contacter à l’adresse e-mail de mon profil. Référence : https://en.wikipedia.org/wiki/0x10c

    • J’ai déjà créé un jeu de puzzle façon Zachtronics basique à partir de 0x10c, et c’est encore aujourd’hui l’un de mes concepts préférés. Même à son lancement, quand tout le monde serait absorbé par le code, il n’y aurait probablement que quelques centaines d’utilisateurs dans le monde, donc financièrement ce serait un choix terrible.
      Rien que la question de savoir si les joueurs voudraient vraiment construire eux-mêmes tout le système d’exploitation pour manipuler le matériel du vaisseau spatial est difficile ; ou bien faut-il intégrer un marché logiciel dans le jeu pour acheter et vendre des programmes de contrôle de vaisseau ? Je me demande si quelqu’un construirait vraiment un Windows 3.1 pour DCPU sans aucune récompense.
      J’aimerais réussir quelque chose comme ça, mais un jeu open source sorti auparavant descendait jusqu’au niveau du BIOS et c’était beaucoup trop technique pour la plupart des gens. Peu d’utilisateurs auront envie de commencer par travailler sur l’API/ABI juste pour déplacer un vaisseau spatial
  • J’aime bien l’approche d’émulation au niveau des broches de ce projet. Chaque composant est autonome et modulaire, ce qui apporte beaucoup de flexibilité.
    Des interfaces extrêmement fines mais explicitement définies sont peut-être encore un domaine insuffisamment exploré en matière d’interopérabilité. Si les deux côtés échantillonnent les valeurs à des moments définis et ne fournissent qu’un petit nombre de signaux pour l’accès temporel, alors, qu’il s’agisse de broches, de quelques registres ou d’une zone mappée en mémoire, cela devient un excellent sujet pour des tests de conformité.
    À l’ère du code généré par l’IA, des composants modulaires assortis d’exigences de conformité explicites peuvent être particulièrement utiles. Peu importe comment l’intérieur de la boîte noire est implémenté, tant que le comportement requis n’est pas violé

    • C’est justement l’idée de base d’une bibliothèque logicielle, et c’est possible même sans IA ;)
      En pratique, créer une bibliothèque autonome demande un peu de discipline, et de ne pas suivre trop aveuglément ceux qui prêchent le DRY
    • J’ai implémenté toutes les puces de mon émulateur Amstrad CPC jusqu’au niveau des broches, mais pour atteindre la vitesse temps réel dans ce mode, il faut un CPU M2 ou supérieur.
      J’ai donc aussi ajouté un mode "soldered" pour gagner en vitesse au prix d’un peu de modularité. Dans ce mode, on ne peut pas détacher le CRTC, et j’ai fini par ajouter également un mode haute vitesse séparé. Malgré tout, l’implémentation au niveau des broches reste très précieuse en tant qu’oracle de vérification permettant de valider l’exactitude à tout moment.
      Maintenant, j’aimerais construire un port d’extension connecté en USB pour y brancher tout le vrai matériel. Je n’ai pas encore publié le code au niveau des broches, mais il suffit d’attendre environ une semaine
    • Le matériel et le logiciel sont conçus depuis longtemps comme des boîtes noires et des modules dont il n’est pas nécessaire de connaître l’intérieur. Tout n’est pas ainsi, mais la plupart des choses recherchent la modularité. Il est amusant de voir plus de gens redécouvrir cette idée en essayant maintenant de satisfaire l’IA
  • Vraiment génial. Quand j’étais enfant, charger un seul jeu depuis une cassette semblait durer une éternité, et maintenant ça se lance en un instant. J’aimais particulièrement Bruce Lee sur ZX Spectrum

  • Il faut aussi davantage d’Oric : https://oric.games/

  • Certains jeux ont un volume assez élevé par défaut. C’est difficile à savoir avant de cliquer sur le jeu lui-même

  • Ce serait bien de pouvoir régler le volume dans l’interface du site. Le son de certains jeux est beaucoup trop fort

  • Merci de mettre l’adresse à jour vers https://floooh.github.io/tiny8bit/. C’est l’adresse officiellement liée, elle a déjà été utilisée dans une soumission précédente, et le développeur l’a aussi signalé l’an dernier ici : https://news.ycombinator.com/item?id=43821756
    Je me demande où l’auteur de la publication a trouvé cette adresse de prévisualisation, et si elle était liée ailleurs

  • Ce projet existe depuis au moins 8 ans : https://hn.algolia.com/?query=Tiny%20Emulators&type=story&da...