Je voulais faire une démo depuis que je me suis familiarisé avec ce phénomène de sous-culture informatique sur l'exemple classique de la
Lyra polonaise
II . Je voulais aussi régulièrement exposer quelque chose dans les plus grandes demopati russes,
Chaos Constructions , mais à chaque fois mes mains n'atteignaient pas. Enfin, il a été possible de satisfaire les deux besoins à la fois, dans le style de Van Damme (double hit, depuis la platine) - pour réaliser et monter
AONDEMO . Dans la compétition
ZX Spectrum 640K Demo .
Nous vous proposons un guide détaillé sur la façon d'arriver à une telle vie.
L'histoire
Les téléphones avec identification automatique de l'appelant (Caller ID), également connus sous le nom de «Caller ID» ou «Electronic Secretary», sont apparus en URSS vers 1989, et au cours des 15 prochaines années se sont développés rapidement, allant du moyen de gagner des étudiants, des ingénieurs sans emploi (ainsi que l'assemblage Spectrum) et des coopératives entières, au principal sujet d'activité des entreprises assez importantes. Au milieu des années 1990, un tel téléphone a été trouvé dans presque tous les appartements, et tout utilisateur du réseau téléphonique à la fois pouvait comprendre par la nature des bips du combiné si son numéro était désormais déterminé (faux bips et son caractéristique de la demande). En 2004, la popularité de tels appareils a disparu, le service de détermination du numéro sur le PBX est d'abord devenu payant, puis il a été complètement aboli, laissant la place à une norme européenne plus moderne. L'omniprésence des communications mobiles a rapidement poussé les téléphones filaires dans le sous-sol profond, où l'on ne sait toujours pas de qui
sortent les descendants «élites» des AON 90 (
Palikha ).
La scène des développeurs et assembleurs des premiers identifiants des appelants est une sorte de réalité parallèle au spectre domestique. Racines de radio amateur et romance. Développement spontané, développement et production artisanale. Matériel similaire, intérêts similaires, période et volume de popularité similaires. Beaucoup de gens au début ont fait les deux simultanément. Les jeunes auteurs du logiciel de toute l'Union (Pavel Sukhodolsky, l'auteur de la
Russie , avait alors environ 15 ans), l'emprunt non sélectionné du code les uns des autres, les droits d'auteur et les messages dans le code, les adresses fidosny, les articles dans la presse, les livres, la mythologie et bien plus encore. Une histoire à très grande échelle, mais déjà bien couverte dans les sables du temps, du début de l'ère numérique, qui attend toujours ses chercheurs.
Identification de l'appelant et moi
Ma connaissance d'AON a eu lieu dans la première moitié des années 90, déjà après les premiers jeux que j'ai vus sur Spectrum and Dandy, mais peu de temps avant le début des activités de programmation créative. J'ai aimé fouiner avec ces téléphones, expérimenter des séquences clés dans un firmware frais ou inconnu, écouter des mélodies populaires dans une version "informatique" et être surpris des voix "informatiques", ainsi que lire les instructions pour mentionner les artefacts inconnus "magnétophone", "boucle de sécurité" , "Carte vocale", "bip". Un ami d'enfance a aidé son père à assembler de tels appareils, et j'aimais l'électronique et je me suis juste intéressé aux ordinateurs, et donc, par à-coups, je me suis impliqué dans des connaissances secrètes sur le Z80, le BB55 et d'autres notations magiques. En même temps, des «déterminants» ont commencé à apparaître parmi tous les amis. Ils se sont souvent cassés et sont tombés entre mes mains avec une demande d'essayer de réparer, ce que j'ai fait, parfois avec succès, souvent non. Dans les années 2000, cette activité a échoué.
En 2013, en fouillant les coins les plus reculés de l'appartement, je suis tombé sur deux téléphones encore en vie et je me suis souvenu du bon vieux temps. Un peu plus tard, les recherches dans le domaine de la musique 1 bit, des synthétiseurs DIY et surtout des vieux ordinateurs tels que KIM-1 m'ont fait penser que AON est un ordinateur monocarte prêt à l'emploi et à part entière qui peut être utilisé à des fins musicales non standard (comme boîte à rythme ou séquenceur). Étant enthousiaste, j'ai commencé à écrire un émulateur et à démonter l'ancien firmware, mais il est rapidement devenu évident que les téléphones trouvés précédemment avaient été jetés avec succès pendant le processus de nettoyage. Le sujet a été reporté.
Peu à peu divers intérêts, idées et sujets - le développement de PCSPE pour haut-parleur PC, les souvenirs et l'intérêt pour les vieux téléphones avec AON et leur histoire, la lecture
du site
155la3 sur les composants radio soviétiques rares (
indicateurs de segment incroyables! ), Les vieilles idées sur l'utilisation musicale de ce fer, l'acquisition de nombreux Les identifiants d'appel sur Avito, ainsi que les pièces de rechange électroniques et les outils pour divers projets, les travaux continus sur l'émulateur, etc., sont devenus le bon schéma. Peu avant le
Multimatographe 2018, une connexion logique s'est finalement établie entre les entités «démo» et «téléphone» (pour autant que je m'en souvienne, cela a été causé par l'expression «démo pour une calculatrice» vue), et un travail déterminé a commencé. Bien sûr, rien de significatif n'a pu être fait en une semaine avec un peu, les choses ont ralenti, mais ont repris avec l'approche du
CC2018 . Dans les meilleures traditions, par un travail de grève et des efforts incroyables, pendant deux jours et la veille de la fête, j'ai réussi à inventer, écrire et déboguer la plupart des plans, tourner et monter la vidéo, et envoyer l'œuvre au concours tôt le matin.
Déjà après la sortie, j'ai découvert que les écrans à sept segments ne sont pas un invité rare dans les œuvres de
Wild Compo . Mais je n'ai jamais vu de telles personnes et je n'en ai jamais entendu parler auparavant.
Le fer

En fait, AON est l'ordinateur monocarte le plus simple avec un affichage à sept segments, un clavier téléphonique et une interface de ligne téléphonique. Sur une décennie et demie, le fer a changé, de la conception du KR580VM80 (i8080) 1989 à la puce
R100-XP sur mesure de
Russia-Telecom 2003 (8051, périphériques et analogique AY-3-8910 sur une puce), avec de nombreux intermédiaires arrêts et branches.
J'ai choisi la version la plus classique et la plus populaire du développement de 1990, historiquement et techniquement la plus proche de l'esprit du Spectrum: Z80 à 4 MHz exactement, 2 kilo-octets de RAM statique, 8 à 64 kilo-octets de ROM, port 8255 et minuterie 8253 avec une fréquence d'entrée de 1 MHz. Un des canaux du timer génère des interruptions, un autre son, le troisième n'est pas impliqué. Ce schéma a été présenté sous la forme de «grandes» et de «petites» cartes, la première était spécifiquement destinée à être installée dans le cas du téléphone à bouton-poussoir letton
VEF-TA-12 , la seconde a été intégrée dans une grande variété de téléphones importés, principalement des clones de bureau
Panasonic . Pour ces cartes, il y avait une variété de firmware, en particulier
Arktur-36 ,
Selena ,
Lira ,
Hello . Et, bien sûr, la plus célèbre est la
Russie , jusqu'à la version 23 incluse.
La reprogrammation du téléphone est très simple - n'importe quelle ROM 5 volts du volume requis et un programmateur suffisent. J'ai utilisé diverses EEPROM d'anciennes cartes mères et de nouveaux Winbond W27C512 achetés en Chine, ainsi que le programmateur WizardProg-87 le plus simple et le plus abordable.
La plus grande difficulté lors du travail du fer s'est avérée être l'état des panneaux sous le ROM sur les planches de l'antiquité d'un quart de siècle ou plus. Ils n'étaient pas initialement de haute qualité, et de nos jours le contact en eux est constamment perdu, ce qui rend difficile de déterminer s'il s'agit d'une erreur dans le code écrit ou simplement d'un non-contact dans la prise. J'ai essayé de résoudre ce problème en installant une prise ZIF, mais la hauteur des autres composants de la carte ne permettait pas de la souder, et l'étagère des connecteurs d'augmentation de hauteur, insérée dans la prise d'origine, souffrait également d'une perte de contact constante.
Les effets

Avant de commencer le développement de la démo, j'ai écrit, ou plutôt ajouté, l'émulateur AON, commencé en 2014. J'ai dû faire face à certains points non évidents, ainsi qu'à appliquer le code d'émulation de la minuterie de quelqu'un d'autre 8253 pour obtenir un son plus ou moins normal et la fréquence des interruptions. La présence d'un émulateur et au moins de capacités de débogage rudimentaires accélère considérablement le développement. De plus, le code a été principalement testé dans l'émulateur, et seulement occasionnellement sur le matériel, pour s'assurer que tout fonctionne correctement et qu'il semble normal sur l'écran LED avec indication dynamique, une simulation adéquate dont je n'ai pas encore pu faire.
Le code a été écrit en
SjAsmPlus normal. L'identification de l'appelant a une carte mémoire plutôt bizarre, probablement le résultat de la minimisation des modifications matérielles tout en augmentant les volumes de ROM pour un nouveau firmware plus puissant. Par conséquent, bien qu'il soit possible d'installer jusqu'à 64 kilo-octets de ROM, seuls 32 kilo-octets sont disponibles en mémoire, en alternance entre des banques de 8 kilo-octets de RAM. Les moitiés de 32 kilo-octets de la ROM complète peuvent être commutées par sortie sur le port, mais cela n'était pas nécessaire pour la démo, tout tenait en 32K. Dans l'image ROM, les banques de 8 kilo-octets doivent aller de suite, sans lacunes, par conséquent, en utilisant des directives d'assembleur et un fichier BAT, j'ai dû organiser le placement des banques aux adresses souhaitées avec des ajouts de zéros, une sauvegarde séparée et une fusion dans l'image finale.
Environ la moitié des effets de la démo sont écrits en code honnête, et la seconde moitié, qui était déjà à court de temps, a été réalisée sous forme d'animation. L'animation a été dessinée dans un éditeur-extracteur
fouetté LED9ED , qui peut être téléchargé sur mon site Web.

En raison de la densité plutôt élevée des effets, environ 4 secondes par effet, et du brassage progressif des effets, plus près de la date limite, il s'est avéré que le contenu de la partie centrale de 16 secondes de la démo, où la pseudo-polyphonie musicale se déploie en pleine force, était complètement absent. Un effet de remplissage explicite a été inventé de toute urgence, bien que très collant, avec des segments tombants, en alternance avec l'analyseur de spectre précédemment écrit. Je devais espérer que la haute densité d'informations sonores détournerait l'attention de l'action prolongée sur l'écran.
Les prénoms dans le bloc d'accueil sont un hommage aux passionnés du passé. Ce sont les noms des auteurs du firmware AON trouvés dans les écrans de démarrage et le code.
Bien que ce ne soit pas tout à fait le sujet, il serait impardonnable de manquer l'occasion de montrer la célèbre inscription en sept segments EGGOG. L'endroit le plus logique pour cela a été trouvé à la toute fin - la démo a commencé par une imitation d'échec et s'est terminée par un message d'erreur.
L'analyse de l'implémentation logicielle des effets n'a pas beaucoup de sens, tout est assez transparent. La principale caractéristique de la plate-forme, qui mérite d'être mentionnée, est la nécessité d'une indication dynamique du logiciel, c'est-à-dire que vous devez constamment trier les bits de l'affichage et inclure les segments souhaités. Cela se fait par des interruptions. Le taux d'interruption a été choisi plutôt élevé, 960 hertz (~ 4166 cycles d'horloge par interruption), et l'indication a été faite à travers une liste de longueur arbitraire, qui décrit l'ordre dans lequel les décharges sont activées. En plus d'un affichage stable avec une luminosité décente, cela a facilité la création de deux effets - «gel» avec un huit lumineux caractéristique (l'énumération des chiffres cesse de fonctionner) et l'effet de la modification de la luminosité (certaines décharges sont activées plusieurs fois en un seul cycle). Dans le mode d'affichage normal, le taux de rafraîchissement de l'affichage est d'environ 106 hertz, ce qui a éliminé le scintillement visible à l'œil et simplifié la prise de vue ultérieure sur vidéo.
La musique
Le seul canal sonore AON est construit sur l'un des canaux de la minuterie 8253 et copie essentiellement le périphérique PC Speaker, uniquement avec une fréquence d'entrée différente - c'est-à-dire qu'il peut bourdonner avec un son d'une hauteur donnée pendant que le processeur vaque à ses occupations. Il n'y a aucun moyen de modifier la forme et le volume du signal. Depuis que j'étudie de près le sujet de la musique pour un haut-parleur PC classique depuis un certain temps maintenant - j'ai écrit l'outil PCSPE VST pour créer facilement une telle musique dans les DAW modernes et j'ai acquis une expérience dans l'arrangement de mélodies strictement monophoniques (une seule note sonne toujours à la fois) - une solution c'était évident: ne pas écrire un autre moteur 1 bit, mais juste faire de la musique dans PCSPE et l'adapter à AON. Il est moins laborieux et authentique dans le son, et idéologiquement vrai - extrayez l'inhabituel du familier.

La musique a été écrite dans
Reaper . Étant donné que l'idée artistique pour démarrer la démo était d'imiter le lancement du firmware Rus standard, je viens de répéter cette mélodie, d'imiter certains sons typiques (pressions de boutons, sonnerie standard) et de construire une composition rythmique à partir d'eux. En outre, la piste s'est progressivement développée, sur la base de l'idée initiale, le long du chemin de la complication progressive - de plus en plus de soirées, créant l'illusion du son simultané de plusieurs canaux. Étant donné que l'idée de l'effet le plus difficile dans la démo était un symbole allant de gauche à droite avec différents niveaux de luminosité, rappelant l'éclairage d'une machine Kitt, j'ai également fait un insert avec une mélodie de
Knight Rider et trouvé un endroit approprié pour cela.
La plate-forme choisie est très limitée en termes visuels, et pour augmenter le divertissement, il a été initialement décidé de faire trackmo, c'est-à-dire une synchronisation exacte de la musique et des effets visuels. Par conséquent, la musique et l'intrigue de la démo ont été principalement inventées et écrites en parallèle. Contrairement aux trackers, où seuls le motif et la liste des commandes actuels sont visibles, dans Reaper, vous pouvez voir la piste et sa structure dans son ensemble, ainsi que réorganiser facilement les fragments. Cela a aidé à prendre des décisions sur la structure et le contenu de la démo.
Malheureusement, la synchronisation précise des effets avec la musique s'est avérée très difficile. Le son de mon émulateur brut ne correspond pas tout à fait à l'affichage, les tests fréquents sur le matériel sont difficiles et il n'y avait pas de temps pour développer un système de synchronisation normal utilisant des horodatages. En conséquence, à certains endroits, vous ne pouvez pas voir exactement le coup exact des effets dans la musique. Bien qu'il y ait eu du temps, en cours de route, les horaires ont été ajustés manuellement, mais à la fin j'ai dû accepter la synchronisation la plus précise et publier telle quelle.
En plus des sons, le firmware des AON était remarquable pour les échantillons de voix. Dans le processus, j'ai trié en termes généraux leur format de stockage et écouté des échantillons dans lesquels il y avait beaucoup de choses intéressantes (3-4 voix différentes, les empruntant discrètement de firmware à firmware, des phrases d'envoi d'un abonné à divers endroits). Il y avait une idée de faire un insert de discours dans la démo composée de ces échantillons, disant quelque chose d'inattendu dans une voix reconnaissable. Mais il n'y avait pas assez de temps pour proposer une bonne idée et sa mise en œuvre. Fait intéressant, la voix dans l'ancien firmware est stockée sous forme d'échantillons 4 bits avec une fréquence d'échantillonnage de 4500-5000 Hz, et est jouée via le temporisateur PWM.
Vidéo
Pour montrer une démo pour un matériel inhabituel, ne pouvant pas assister à la fête avec ce matériel, j'avais besoin d'enregistrer et de monter une vidéo - ce n'est pas une occupation ordinaire pour un programmeur lors de la création d'une démo.

Dans le processus de développement, deux appareils ont été utilisés, un totalement non représentable avec une petite carte et un
VEF-TA-12 classique bien conservé avec une grande carte. Les tests ont été effectués principalement sur le premier, et les dernières touches de débogage et d'enregistrement vidéo - sur le second. Il diffère également à l'avantage par des nombres visuellement plus grands sur l'écran, bien que le type d'indicateur soit le même. Probablement la plus petite distance de l'écran au filtre a joué un rôle.
Une caractéristique intéressante de cet écran, la calculatrice
ALS318 , s'est avérée que dans toutes les copies des AON avec lesquelles je l'ai en main, certaines décharges ont sensiblement perdu de la luminosité. Le plus probable est que les identifiants de l'appelant aimaient se bloquer, et lorsque l'indication dynamique se fige, l'une des décharges s'allume pendant longtemps avec une luminosité totale. Bien qu'il soit possible de choisir et de mettre l'affichage le plus vivant, je n'ai rien fait à ce sujet, décidant que cela ajouterait de l'authenticité à la vidéo.
Tout a été filmé au dernier moment avec une grande hâte, sur une caméra vidéo ordinaire, puis rapidement et rapidement monté dans Blender - parce que là, je savais comment le faire, mais il n'y avait rien d'autre à portée de main. La partie introductive est conçue pour vous rappeler à quel point c'est un miracle de la technologie et pour expliquer comment un autre programme y est arrivé. Les plans avaient également un cadre avec l'insertion de la ROM dans la carte, mais il a dû être abandonné en raison de l'état du panneau ROM, nécessitant un remplacement à deux mains avec un long grognement obscène.
Publication et résultats
Section pour ceux qui s'intéressent à la vie de la demoscene et aux subtilités organisationnelles.
Il s'est avéré que la démo était dans la catégorie
ZX Spectrum . Juste deux semaines avant l'événement, un amendement aux règles a été introduit, disant que la participation dans cette catégorie est autorisée à fonctionner "pour les ordinateurs compatibles ZX Spectrum et les autres ordinateurs commercialisés au plus tard en 1991". En fait, la catégorie s'est transformée en une
démo combinée Oldschool , c'est-à-dire une démo pour toutes les anciennes plates-formes informatiques, et pour des raisons de nature politique, le nom reste le même. Bien sûr, cela a provoqué un certain nombre de malentendus et de critiques, et a déjà commencé à devenir un mème de la scène locale.
De plus, lors de la fête elle-même, en raison du nombre insuffisant d'œuvres dans divers concours, la plupart des démos pour plates-formes rares et
Wild ont été combinées dans
Combined Demo , et en plus de mon travail, un seul travail non-ZX est entré dans la
démo ZX . Dans cette situation, je pense qu'il serait plus approprié de mettre en évidence ces deux œuvres dans
Combined , laissant cette fois une compétition avec ZX Spectrum au nom uniquement de ZX Spectrum. Si je connaissais cet état de fait au moment de l'envoi de l'œuvre, je choisirais la catégorie
Démo combinée .
Pour quelles raisons, j'ai décidé de ne pas exposer dans la catégorie
Wild (il exposait traditionnellement des œuvres au format vidéo et animation, bien que théoriquement il soit également destiné à travailler sur des plateformes non standard). Je ne prétends pas qu'en fait le travail est très proche de cette direction. ,
TRD , , . — , . , , , , ZX-81. - . , ( ), .
Téléchargez
AONDEMOAONZ80Emu WindowsLED9ED WindowsPCSPE DAW VSTi