Connexion
Pour récupérer votre compte, veuillez saisir votre adresse email. Vous allez recevoir un email contenant une adresse pour récupérer votre compte.
Inscription
En vous inscrivant, vous acceptez les conditions d'utilisation du site et de nous vendre votre âme pour un euro symbolique. Amusez vous, mais pliez vous à la charte.

Un Rédacteur Factornews vous demande :

ACTU

Les vendredis à la mod

CBL par CBL,  email  @CBL_Factor
 
Les projets de décompilation de jeux console se poursuivent et on apprend aujourd hui l'existence d'une version décompilée d'Animal Crossing, l'original sur GameCube. Il n'a pas fallu longtemps pour que des développeurs s'en servent pour créer un portage PC. Forcément, il vous faut le jeu original en version américaine et ensuite, à vous les joies d'une version native du jeu. Ça tourne à merveille sur Deck et vous pouvez même coller le pack de textures HD conçu à l'origine pour Dolphin, l'émulateur GameCube.

Au plus bas niveau, un processeur est défini par trois choses principales : des instructions, des registres mémoire et une horloge. Les instructions manipulent les données (charger en mémoire, additionner, soustraire...) qui sont stockées dans les registres (ou dans des zones mémoires référencées par ces registres) et le tout est cadencé par l'horloge, chaque instruction traitant un ou plusieurs cycles d'horloge. Si vous lisez un programme en assembleur, vous verrez une série de mots de trois ou quatre lettres (les instructions) suivies d'une série de mots de deux lettres (les registres) parfois suivies de nombres (les données). Un 8086 dispose donc de 14 registres et d'une centaine d'instructions. À noter qu'assembleur et langage machine sont intimement liés mais que ce n'est pas la même chose. Pour simplifier, l'assembleur est une version "lisible" du langage machine.

Pour créer un émulateur pour un processeur donné, il faut donc simuler le fonctionnement de ces registres et de ces instructions dans un langage compris par la machine hôte. Les gens normaux choisissent d'écrire leurs émulateurs dans un langage compilé comme le C ou le C++ pour des raisons de performances mais en théorie, on peut écrire un émulateur dans n'importe quel langage. Lyra Rebane est une experte en CSS au point de trouver des failles de sécurité dans le langage. Mais son projet le plus dingue a été de créer un émulateur 8086 en CSS et qui tourne donc sur votre navigateur. Vous avez bien lu. Pas en JavaScript. Pas en WebAssembly. En CSS. Vous pouvez le voir ici en action exécuter un petit programme écrit en C. Encore une fois, le code de l'émulateur n'est pas écrit en C mais en CSS. Le code se trouve dans la page HTML. Les instructions par exemple se trouvent à partir de la ligne 8927.

Alors non, ce n'est pas utile, ce n'est pas performant, ce n'est même pas élégant à lire mais c'est totalement dingue pour un langage pensé à la base pour donner un peu de couleurs à nos pages web. À noter que c'est possible grâce à la nouvelle fonctionnalité de CSS appelée @function qui permet de programmer directement dans le langage. Dans le même genre, on vous recommande aussi Minecraft en CSS.
Rechercher sur Factornews