EB_

  Рет қаралды 4,902

Électro-Bidouilleur

Électro-Bidouilleur

Күн бұрын

Пікірлер: 42
@gerardmontessuit7854
@gerardmontessuit7854 2 жыл бұрын
Tout une évolution par rapport au Bull Micral un dinosaure de 1972 La puissance des ordinateurs actuel est phénoménale J'attends la suite avec impatience!
@equinoxxee
@equinoxxee 2 жыл бұрын
Bonjour Bertrand, merci pour cette série de vidéos très intéressantes ! Je suis content d'avoir découvert le site ASM80 grâce à toi. C'est une merveille pour écrire en assembleur, compiler et débuguer puis exporter le fichier BIN sur une EEPROM pour faire des tests avec un Z80 et également un 8080 ou 6502. TOP 👍
@LGMOTORSPORTRACING
@LGMOTORSPORTRACING 2 жыл бұрын
très bon travail, hâte de voir la suite, que de bon souvenir.
@pr5834
@pr5834 2 жыл бұрын
super comme y avait rien à la tv comme dab , j'ai regardé la série z80 , mais des fois pour prolonger les séries on ravive les morts non 😅 . Pour l'enregistrement et la relecture à l'époque y en a qui ajustait la tête de lecture du magnéto avec un tournevis 🤪 . En tous cas merci c'est pationant pour la génération 80 .
@AUDIOETRADIOATUBES
@AUDIOETRADIOATUBES 2 жыл бұрын
Que de souvenirs, c’est très exactement à partir de ces expériences que j’ai décidé de faire carrière dans la radio analogique même si aujourd’hui l’informatique m’a rattrapé puisque je travaille dans la 4G et que je ne tourne plus un noyau depuis 20 ans au profit de commandes Linux :) super video
@serge3990
@serge3990 2 жыл бұрын
Quelle série passionnante ! j'attends la suite avec impatience ! bon weekend Bertrand ;-)
@Elysian450
@Elysian450 2 жыл бұрын
C'est bien, j'aime beaucoup cette vidéo.
@francksutton
@francksutton 2 жыл бұрын
Merci Bertrand 👌
@papyblue2162
@papyblue2162 2 жыл бұрын
Chouette ça va continuer !. Petite précision : la fonction call va sauvegarder le compteur ordinal aux deux adresses situées avant le pointeur de pile. Donc si le pointeur est à 0000 ce seront donc les adresses FFFF et FFFE qui seront visées. A moins d'un décodage partiel des adresses de la ROM et de la RAM, il y a peu de chance que ce soit celles-ci qui répondent.
@guychaboteaux5187
@guychaboteaux5187 2 жыл бұрын
Ce sera marrant d'avoir une application qui produirait un fichier audio à partir des codes hexa. Il n'y aurait alors plus qu'à faire "lire ce fichier" par la plateforme pour charger le programme 😄 Encore un très bon épisode 👍
@pascalf4477
@pascalf4477 2 жыл бұрын
Bonjour, Ce système est déjà utilisé sur l'émulateur ZX Spectrum qui utilise des fichiers WAV pour remplacer l'interface cassette dans l'émulateur. Je ne serais pas étonné que ces fichiers joués simule la sortie son d'une cassette audio sur l'ordinateur d'origine.
@Carlou_
@Carlou_ 2 жыл бұрын
super intéressant! merci!
@jrioublanc
@jrioublanc 2 жыл бұрын
Merci pour la mise au point du début et pour cette vidéo très intéressante. Personnellement je n'ai pas trouvé les bons niveaux sonores à l'époque des sauvegardes sur K7. :(
@orignal29
@orignal29 2 жыл бұрын
Bien hâte de voir la compilation du code en C. J'adore cette série. Ça me donne vraiment le goût de fabriquer une plaquette de ce genre, mais en 6502.
2 жыл бұрын
La série tire à sa fin, croyez-moi!
@francksutton
@francksutton 2 жыл бұрын
@ c'est bien dommage 😭
@marocstarinfo2716
@marocstarinfo2716 2 жыл бұрын
merci
@renelefebvre53
@renelefebvre53 2 жыл бұрын
Dans le temps (1978) j'avais réalisé en assembleur 8080 , un moniteur qui pouvait écrire et lire des cassettes standards . le codage était, de mémoire, à base de deux fréquences et le format des datas était celui d'un dump format intel hex . :10010000214601360121470136007EFE09D2190140 :100110002146017EB7C20001FF5F16002148011988 :10012000194E79234623965778239EDA3F01B2CAA7 je pouvais sauver et recharger à n'importe quelle adresse , ou ajouter un offset pour des cas spéciaux . Le bon temps, vraiment !
@gerardzi7930
@gerardzi7930 2 жыл бұрын
Z80 for ever ! SuperZ Bertrand
@freddyzinkiewicz660
@freddyzinkiewicz660 2 жыл бұрын
Attention le Z est Russe désormais !! LOL
@Photoss73
@Photoss73 2 жыл бұрын
Il surgit hors de la nuit (informatique), et signe son nom d'un Z80 qui veut dire Bertrand. 🙂
@gerardzi7930
@gerardzi7930 2 жыл бұрын
@@freddyzinkiewicz660 Attention ! Bertrand est stricte Pas de politique :-))
@freddyzinkiewicz660
@freddyzinkiewicz660 2 жыл бұрын
@@gerardzi7930 merci je savais pas !
@Photoss73
@Photoss73 2 жыл бұрын
@@freddyzinkiewicz660 c'est juste un N qui a mal tourné.
@lefauve
@lefauve 2 жыл бұрын
Super vidéo, merci ! Est-ce que tu pourrais faire un épisode sur la partie électronique qui s'occupe du codage et surtout du décodage audio utilisé pour la sauvegarde sur K7 ? La documentation est assez succincte sur ce sujet (ils listent les UC utilisées, mais le scan du schéma n'est pas suffisamment lisible pour se faire une idée de comment ça fonctionne). A propos de l'interface K7, il devrait être assez simple d'écrire une petite application sur PC pour générer un fichier sonore à partir de la sortie de ton assembleur (ou d'un compilateur C) afin de t'éviter d'avoir à entrer de longues séries d'octets au clavier.
2 жыл бұрын
Je suis au même point que vous. Pas possible de faire mieux que le schéma du manuel. Honnêtement, je ne veux pas m'attarder outre mesure sur cette plateforme...la prochaine vidéo sera d'ailleurs la dernière.
@lefauve
@lefauve 2 жыл бұрын
@ Pas de problème, merci pour les vidéos de la série et pour la documentation. Je vais essayer de me débrouiller avec le code source du moniteur.
@angeliquerobaye8351
@angeliquerobaye8351 2 жыл бұрын
Le bon vieux temps (Commodore C64.🤔😋
@etienneguyot9069
@etienneguyot9069 2 жыл бұрын
Le bon vieux son de l'enregistrement sur K7. Pendant longtemps, c'était le seul moyen abordable pour enregistrer et recharger ses programmes. Standard Kansas City il me semble, comme sur mon vieux Tatav...
2 жыл бұрын
C'est bien cela, 1200 et 2400 Hz.
@sammin5764
@sammin5764 2 жыл бұрын
🌟🌹🌟
@christophedomergue1807
@christophedomergue1807 2 жыл бұрын
Bonjour, en base 16, 14, OK, mais cela fait 20 octets en base 10, non ?
2 жыл бұрын
C'est bien ce que j'ai écrit en commentaire de correction, non?
@christophedomergue1807
@christophedomergue1807 2 жыл бұрын
@ Oui ! Je ne l'avais pas vu 👀👍🏻
@pascalf4477
@pascalf4477 2 жыл бұрын
Bonjour Bertrand, Pourquoi ne pas définir les variables comme locales, ainsi le compilateur utilisera soit les registres du Z80, soit la pile plutôt que ces horribles variables globales affectées à une adresse fixe. Cela permet de gagner en lisibilité et en portabilité.
2 жыл бұрын
Il me semble l'avoir essayé sans succès...
@pascalf4477
@pascalf4477 2 жыл бұрын
Bertrand, Finalement, sur ton site ce n'est pas la version finale que tu avais publie. En cette partie 4 05:30, tu lis les cases mémoire 0x0000 à 0x0002 (prog. moniteur en EPROM) qui sont respectivement les opcodes 0x31, 0x6A, 0x13 ce qui correspond au mnémonique Z80 suivant LD SP,0x136A soit charger le haut de la pile en 0x136A NB: le codage en 16 bit est little Endian soit poids faible suivi du poids fort Cette 1ere instruction n'est pas un hasard et qui donne une pile maximale de 874 octets En tout cas c'est dans le premier Ko de RAM car le second Ko était optionnel. La RAM au delà de cette adresse était peut-être utilisé pour y mettre du code ou des variables. Petite modif. de ton code pour avoir une pile valide et utiliser les variables locales, le passage d'arguments et même les interruptions logicielles et matérielles avec un petit effort supplémentaire. Testé avec SDCC : mcs51/z80/z180/r2k/r3ka/gbz80/tlcs90/ds390/pc08/s08/stm8 3.6.0 v9615 (MINGW32) published under GNU General Public License (GPL) /* _===_ _ _ ______ _ _ _ _ _ | ___| | | | | ___ (_) | | (_) | | | |__ | | ___ ___| |_ _ __ ___ ______| |_/ /_ __| | ___ _ _ _| | | ___ _ _ _ __ | __|| |/ _ \/ __| __| '__/ _ \______| ___ \ |/ _` |/ _ \| | | | | | |/ _ \ | | | '__| | |___| | __/ (__| |_| | | (_) | | |_/ / | (_| | (_) | |_| | | | | __/ |_| | | \____/|_|\___|\___|\__|_| \___/ \____/|_|\__,_|\___/ \__,_|_|_|_|\___|\__,_|_| Essai de Basculement de la broche PIO-B0 sur plateforme Z80 PRO-83 Code source développé et compilé sur SDCC électro-Bidouilleur, V1, Juillet 2022. Licence de droits: Attribution 4.0 International (CC BY 4.0) */ void pause(unsigned int arg1); void boucleprinc(void) ; __sfr __at 0x41 pio_b_d; __sfr __at 0x43 pio_b_c; // Le signe DIESE est substitué par $$$ sans quoi le message est rejeté par la messagerie yt // a remplacer toutes les occurences avant de compiler $$$define RAMTOP 0x17FF // 3 lignes qui changent tout et aussi la possibilité de mixer ASM et C // 8 octets maxi pour cette section (RST 0 du Z80) void main(void) { // pointeur de pile sur la fin de la RAM __asm DI LD SP,$$$RAMTOP IM 1 __endasm; // le Z80 a sa pile sur le haut de la RAM et l'interruption INT est masquée // (confirmation car elle l'est au RESET) // le mode 1 n'a pas besoin de vecteur pour les chips Z80 PIO-SIO-DART // et un front descendant sur la broche INT* saute à l'adresse 0x38 // les variables locales et les retours de routine suite a un CALL sont gerees boucleprinc(); } // code en attente (inutile) pour gestion future et détournée // des vecteurs RST 8 a RST 38h et interruptions matérielles void remplissage(void) { __asm LD IX,$$$0x1234 LD IY,$$$0x5678 LD IX,$$$0xAABB LD IY,$$$0xDEF0 NOP NOP __endasm; // en option completer le remplissage pour que la fonction suivante soit en 0x100 } void boucleprinc(void) { unsigned char sortie=1; pio_b_c = 0x0F; // port PIO-B en mode sortie (mode 0) do { sortie++; pio_b_d = pio_b_d ^ 0x01; // inverser le bit B0 du port B pause(10); } while(--sortie); // le compilateur est bizarre dans son optimisation, // il ne genere pas le RET final si while(1) car un RET Z est généré dans la boucle // cette pirouette ne sert qu'a l'obliger a travailler proprement // les efforts doivent aussi venir du codeur } void pause(unsigned int arg1) { unsigned int cnt; for (cnt = arg1; cnt > 0; cnt--) { __asm NOP; __endasm; } } // Fin
2 жыл бұрын
Si vous viviez plus près, je vous donnerais la plateforme juste pour l'effort! Dans l'exemple du basculement de B0, je n'ai pas défini la pile parce que l'on ne s'en sert pas. Tout cela a été testé avant que j'ajoute le paramètre définissant la pile dans la commande SDCC. Le but était de faire le code le plus compact possible.
@pascalf4477
@pascalf4477 2 жыл бұрын
Merci Bertrand, J'ai pris l'exemple toggle B0 car très compact pour illustrer l'absence de pointeur de pile, vu qu'on part de l'adresse 0. Cet exemple n'a pas besoin de pile, c'est exact, mais les autres oui, dès qu'une instruction CALL est invoquée. Par contre ils doivent fonctionner à la perfection sous le moniteur car celui-ci initialise une pile et décharge l'utilisateur de le faire. Mais en stand-alone, aucune erreur, ni oubli ne passe. Je ne sais pas ce que fait SDCC avec cet argument, mais c'est sûr aucun code n'est généré à ce sujet. Contrairement au MC68000 qui exige un pointeur de pile inclus dans le vecteur de reset, le Z80 définit tous ses registres à 0 au reset et rien d'autres n'est prédéfini si le programmeur ne le fait point.
EB_#545 Découverte - Plateforme d'apprentissage Z80 PRO-83, Partie 5
33:00
Électro-Bidouilleur
Рет қаралды 4 М.
Compteur LINKY - Analyses, décorticage et explications
30:26
Deus Ex Silicium
Рет қаралды 2,4 МЛН
ВЛОГ ДИАНА В ТУРЦИИ
1:31:22
Lady Diana VLOG
Рет қаралды 1,2 МЛН
Ful Video ☝🏻☝🏻☝🏻
1:01
Arkeolog
Рет қаралды 14 МЛН
Air Sigma Girl #sigma
0:32
Jin and Hattie
Рет қаралды 45 МЛН
EB_#540 Découverte - Plateforme d'apprentissage Z80 PRO-83, Partie 3
31:17
Électro-Bidouilleur
Рет қаралды 5 М.
Examples of BAD Ground in PCB Layout And How to Fix It
1:22:42
Robert Feranec
Рет қаралды 11 М.
EB_#485 Banc d'Essai - Casque-Loupe avec Grossissement Interchangeable
14:49
Électro-Bidouilleur
Рет қаралды 10 М.
Les Circuits Intégrés
24:49
Deus Ex Silicium
Рет қаралды 397 М.
EB_#643 Réparation - Sonde RF 18 GHz  Boonton 4200-4E
30:19
Électro-Bidouilleur
Рет қаралды 6 М.
EB_#641 Mise en Boîtier - Plaquette OCXO de chez AliExpress
22:37
Électro-Bidouilleur
Рет қаралды 6 М.
Keylogger électronique, ou comment se faire espionner à son insu
17:32
Deus Ex Silicium
Рет қаралды 239 М.
L’incroyable découverte du FBI dans la cave d’une maison
24:09
Anatomie d'un calculateur habitacle automobile (BSI)
22:13
Deus Ex Silicium
Рет қаралды 364 М.
ВЛОГ ДИАНА В ТУРЦИИ
1:31:22
Lady Diana VLOG
Рет қаралды 1,2 МЛН