La Touhou Bad Apple Demo est un phénomène mondial depuis le début des années 2010 :
Mais la séquence intéresse particulièrement la sphère des demo makers, la Touhou Bad Apple Demo était née. Les communautés de programmeurs rivalisent d'ingéniosité pour porter aussi fidèlement que possible la Bad Apple Demo sur nombre d'anciennes machines que l'on pensait incapables de jouer des vidéos.
L'affichage en noir et blanc rend en effet le défi hautement intéressant, permettant ici un bel éventail d'astuces techniques allégeant la complexité des algorithmes. Il n'y a que 2 couleurs, cela se prête a priori bien à une compression de chaque image en RLE 1 bit, mais en prime d'une image à la suivante il n'y a la plupart du temps qu'une large minorité de pixels qui changent de couleur, ce qui ouvre également la voie à des compressions au niveau de la vidéo.
C'est donc à qui combinera les meilleures astuces en fonction de la plateforme ciblée. On peut citer nombre d'exploits avec des portages :
- Tout commence en 1996 au Japon sur le microordinateur Nec PC-98 avec Touhou Project, une série de jeux vidéo shoot 'em up extrêmes. En effet il s'agit d'un sous-genre particulièrement difficile, le manic shooter, où la globalité de l'écran est souvent littéralement tapissée de projectiles. La difficulté infernale n'empêche pas des qualités qui feront son énorme succès : un gameplay addictif, des visuels colorés, des personnages récurrents très typés mangas.
- En 1998 sort le 4ème jeu de la série, Lotus Land Story, pour le moment toujours sur PC-98.
- En 2007 la musique de fond de son 3ème niveau est remixée dans une version étendue par Masayoshi Minoshima, avec ajout de la voix de la chanteuse J-Pop Nomico.
- En 2008, Nico Nico Douga publie un scénarimage d'une séquence animée mettant en jeu les personnages du monde Touhou et se voulant accompagner le remix.
Mais la séquence intéresse particulièrement la sphère des demo makers, la Touhou Bad Apple Demo était née. Les communautés de programmeurs rivalisent d'ingéniosité pour porter aussi fidèlement que possible la Bad Apple Demo sur nombre d'anciennes machines que l'on pensait incapables de jouer des vidéos.
L'affichage en noir et blanc rend en effet le défi hautement intéressant, permettant ici un bel éventail d'astuces techniques allégeant la complexité des algorithmes. Il n'y a que 2 couleurs, cela se prête a priori bien à une compression de chaque image en RLE 1 bit, mais en prime d'une image à la suivante il n'y a la plupart du temps qu'une large minorité de pixels qui changent de couleur, ce qui ouvre également la voie à des compressions au niveau de la vidéo.
C'est donc à qui combinera les meilleures astuces en fonction de la plateforme ciblée. On peut citer nombre d'exploits avec des portages :
- pour microordinateurs remontant jusqu'au début des années 1980 : IBM 5150 (1981), Commodore 64 (1982), Atari STE (1985), ...
- pour consoles de jeux jusqu'à la fin des années 1970 : Atari 2600 (1977), Vectrex (1982), Nintendo NES (1988), Sega Master System (1985), Sega Megadrive / Genesis (1988), ...
Nous ne retiendrons pour la suite que les démos Bad Apple effectivement codées sur-mesures pour les calculatrices sur lesquelles elles tournent.
C'est-à-dire que nous excluons d'autres façons de faire, comme :
C'est-à-dire que nous excluons d'autres façons de faire, comme :
- les vidéos Bad Apple lues via un lecteur de vidéo
- les homebrew Bad Apple jouées via un émulateur de console de jeux
C'est en décembre 2013 que fb39ca4 sort la première véritable démo Bad Apple du monde des calculatrices Texas Instruments, prenant la forme d'une application .8xk de 1,4 Mo pour TI-83 Plus et TI-84 Plus monochromes.
Précisons qu'avec une telle taille, elle ne peut être installée que sur les modèles supérieurs offrant 1,5 Mo de mémoire d'archive : TI-83 Plus Silver Edition, TI-83 Plus.fr USB, TI-84 Plus Silver Edition et TI-84 Plus Pocket SE.
Codée en langage assembleur z80, la démo jouée en plein écran 96×64 pixels impressionne de part sa fluidité et surtout inclut cette fois-ci enfin le son !
Le son est produit sur le port mini-Jack 2.5 supprimé des modèles plus récents, et nécessite donc un adaptateur mini-Jack 2.5 mâle ↔ mini-Jack 3.5 femelle.
À noter qu'il ne s'agit pas de la version originale mais, comme tu pourras vérifier sur la vidéo ci-dessous, d'un réarrangement instrumental (style musique électronique MIDI) adapté aux capacités de la machine et particulièrement au fait que nous n'avons maintenant quasiment plus de place en mémoire :
Précisons qu'avec une telle taille, elle ne peut être installée que sur les modèles supérieurs offrant 1,5 Mo de mémoire d'archive : TI-83 Plus Silver Edition, TI-83 Plus.fr USB, TI-84 Plus Silver Edition et TI-84 Plus Pocket SE.
Codée en langage assembleur z80, la démo jouée en plein écran 96×64 pixels impressionne de part sa fluidité et surtout inclut cette fois-ci enfin le son !
Le son est produit sur le port mini-Jack 2.5 supprimé des modèles plus récents, et nécessite donc un adaptateur mini-Jack 2.5 mâle ↔ mini-Jack 3.5 femelle.
À noter qu'il ne s'agit pas de la version originale mais, comme tu pourras vérifier sur la vidéo ci-dessous, d'un réarrangement instrumental (style musique électronique MIDI) adapté aux capacités de la machine et particulièrement au fait que nous n'avons maintenant quasiment plus de place en mémoire :
En 2015 c'est maintenant ac100v qui reprend le flambeau, mais cette fois-ci sur la scène Casio, avec ici encore une démo Bad Apple avec son et image !
Elle prend la forme d'une application .g1a qui n'est pas compatible avec les dernières calculatrices de génération USB Power Graphic 3 (Graph 35+E II et fx-9750/9860GIII), mais seulement avec les :
L'écran est ici plus large que le format d'affichage de la démo, puisque faisant 128×64 pixels. La démo, ici codée en langage C, est en fait jouée en 85×64 pixels, laissant des bandes noires latérales n'ayant pas besoin d'être rafraîchies, ce qui est justement une astuce d'optimisation.
Mais énorme surprise, ici nous avons droit à la piste audio originale grâce au même adaptateur !
Elle prend la forme d'une application .g1a qui n'est pas compatible avec les dernières calculatrices de génération USB Power Graphic 3 (Graph 35+E II et fx-9750/9860GIII), mais seulement avec les :
- USB Power Graphic (processeur SH3 - Graph 35+USB Graph 75/85/95 fx-9750GII / fx-9860G/GII)
- USB Power Graphic 2 (processeur SH4 - Graph 35+E/USB Graph 75/95 fx-9750/9860GII)
- un fichier .vid de 535 Ko pour l'animation
- et un fichier .aud de 770 Ko pour le son
L'écran est ici plus large que le format d'affichage de la démo, puisque faisant 128×64 pixels. La démo, ici codée en langage C, est en fait jouée en 85×64 pixels, laissant des bandes noires latérales n'ayant pas besoin d'être rafraîchies, ce qui est justement une astuce d'optimisation.
Mais énorme surprise, ici nous avons droit à la piste audio originale grâce au même adaptateur !
Il s'agissait ici d'une application .g3a dédiée à la Casio Graph 90+E ainsi qu'aux modèles internationaux ou plus anciens fx-CG10/20/50.
La démo est ici encore codée en langage C sur 64×56 pixels, puis affichée avec un grossissement de 4 sur 256×224 pixels, laissant donc ici une bande blanche à droite.
Plus exactement elle prend la forme d'une application pour le firmware tiers Omega, et n'est donc installable que sur NumWorks N0110.
Attention l'application est de grande taille, tu ne peux plus faire rentrer toutes les autres applications disponibles.
C'est d'ailleurs bien dommage que la page Omega d'installation d'applications n'affiche pas les tailles à ce jour, ce serait désormais une information essentielle pour effectuer son choix.
C'est d'ailleurs bien dommage que la page Omega d'installation d'applications n'affiche pas les tailles à ce jour, ce serait désormais une information essentielle pour effectuer son choix.
La démo est jouée en 320×240 pixels. Toutefois, pas de son sortant de la calculatrice pour le moment. Espérons que cela arrive un jour... courage M4x1m3 !
Pour la rentrée 2014, Casio commençait à renouveler sa gamme de calculatrices scientifiques de par le monde, remplaçant l'ancienne génération ES Plus par la nouvelle génération Classwiz.
En France dans ce contexte, l'ancienne fx-92 Collège 2D+ a été remplacée par la fx-92 Spéciale Collège pour la rentrée 2015, puis par la fx-92+ Spéciale Collège pour la rentrée 2018.
Dans le cadre de cette évolution matérielle, le processeur restait certes un 8 bits RISC nX-U8/100, mais l'écran pour sa part était très fortement amélioré, passant de 96×31 pixels à 192×63 pixels, une définition exceptionnelle dans le sens où elle est supérieure à celle de certains modèles de calculatrices graphiques monochromes !
En réalité le matériel gère 192×64 pixels, et la ligne manquante est ici remplacée par une série de 20 drapeaux allumables en haut de l'écran.
En France dans ce contexte, l'ancienne fx-92 Collège 2D+ a été remplacée par la fx-92 Spéciale Collège pour la rentrée 2015, puis par la fx-92+ Spéciale Collège pour la rentrée 2018.
Dans le cadre de cette évolution matérielle, le processeur restait certes un 8 bits RISC nX-U8/100, mais l'écran pour sa part était très fortement amélioré, passant de 96×31 pixels à 192×63 pixels, une définition exceptionnelle dans le sens où elle est supérieure à celle de certains modèles de calculatrices graphiques monochromes !
En réalité le matériel gère 192×64 pixels, et la ligne manquante est ici remplacée par une série de 20 drapeaux allumables en haut de l'écran.
Face à l'écran aussi extraordinaire de la fx-92+ Spéciale Collège, n'as-tu donc jamais rêvé de la démo Bad Apple ?
Un défi ici non seulement logiciel mais également matériel, le logiciel de la calculatrice ne permettant pas à ce jour l'exécution de code machine tiers, et le processeur étant sans doute bien peu puissant.
Un défi ici non seulement logiciel mais également matériel, le logiciel de la calculatrice ne permettant pas à ce jour l'exécution de code machine tiers, et le processeur étant sans doute bien peu puissant.
Et bien ton rêve devient aujourd'hui réalité grâce à DSchndr.
Il utilise ici le modèle allemand similaire fx-87DE X.
Pour la partie matérielle du défi, DSchndr se propose de greffer à la calculatrice un nano-ordinateur ESP32 et de l'interfacer directement avec le bus de l'écran, court-circuitant ainsi le matériel de Casio, ainsi qu'un I2C port expander pour le clavier.
Plus exactement il s'agit ici d'un nano-ordinateur ESP-WROOM-32.
Et voici sans plus attendre le résultat, utilisant ici l'intégralité des 192×63 pixels et jouant même avec la ligne de drapeaux afin d'appuyer les différents effets :
Il utilise ici le modèle allemand similaire fx-87DE X.
Pour la partie matérielle du défi, DSchndr se propose de greffer à la calculatrice un nano-ordinateur ESP32 et de l'interfacer directement avec le bus de l'écran, court-circuitant ainsi le matériel de Casio, ainsi qu'un I2C port expander pour le clavier.
Plus exactement il s'agit ici d'un nano-ordinateur ESP-WROOM-32.
Et voici sans plus attendre le résultat, utilisant ici l'intégralité des 192×63 pixels et jouant même avec la ligne de drapeaux afin d'appuyer les différents effets :
Téléchargements :
- Omega + Bad Apple (pour NumWorks N0110)
- Bad Apple (pour Casio Graph 90+E / fx-CG10/20/50)
- Bad Apple (pour Casio Graph 35+E/USB / 75 / 85 / 95 / fx-9750GII / fx-9860G/GII)
- Bad Apple (pour TI-83+.fr USB / TI-83+SE / TI-84+SE / TI-84+Pocket SE)
- Bad Apple (pour HP 49/50G)