CANON X-07

Je ne sais pas vraiment pourquoi, mais j’ai toujours été attiré par les ordinateurs de poche programmables (pocket computers). Vous savez ces petites machines qui ont fait le bonheur des passionnés dans les années 1980. Les grandes marques qui se battaient sur ce terrain étaient principalement CASIO, SHARP, EPSON, HP et CANON.

Quelques machines SHARP de type Ordinateurs de poche.

J’ai toujours aimé ces petites machines car elles sont 100% autonomes. On peut les programmer de n’importe où avec un langage simple (le BASIC) et elles bénéficient en plus de plusieurs mois d’énergie (généralement grâce à de simples piles).

Je me rends bien compte que ces petites merveilles sont d’un autre âge, mais je sais qu’il y a pas mal de personnes qui en sont gaga (et j’en fait partie). En ce qui me concerne, à l’époque de leur sortie, elles étaient pour la plupart hors de prix pour un ado de 15 ans. Mais je ne dois pas me plaindre car à l’époque mes parents ont été assez chiques pour m’acheter dans un premier temps un CASIO PB-200 puis un peu plus tard un CASIO PB-1000.

Mais en 1983 une machine est sortie, une machine qui était à mis chemin entre les ordinateurs de poche et les « vrais » ordinateurs. Cette machine était le CANON X-07, inaccessible financièrement mais tellement fantastique que 40 ans plus tard elle faisait toujours partie des choses qui me faisaient envie.

Publicité lors de la sortie du CANON X-07.

Comme maintenant l’aspect financier est moins un problème qu’il y a 40 ans, je me suis lancé récemment et je m’en suis acheté une sur eBay (oui oui, j’ai craqué, je suis faible).

J’ai trouvé une machine complète, dans sa boite d’origine et avec tous les manuels. Il ne manquait que le câble de connexion vers un magnétophone pour lire et enregistrer les programmes sur cassette audio (back to the futur).

Mon précieux !

Rapide description

Les spécifications techniques de la bête sont les suivantes :

MICROPROCESSEURNSC 800 (Z80 en version CMOS)
RAM8 Ko extensible à 16 Ko
ROM20 Ko, comprenant le Basic Microsoft
VIDEO4 lignes de 20 caractères = 120×32 pixels
AUDIOPiezzo réglable en durée et en fréquence

Dans la foulée j’ai acheté l’extension mémoire (toujours eBay) qui permet d’avoir 8 Ko de plus (soit 16 Ko en tout). Ca permet au BASIC d’avoir un terrain de jeu plus conséquent et comme on peut partitionner la mémoire pour créer un volume de stockage des programmes et des fichiers, ça permet d’avoir de la place en RAM pour emporter avec soi les quelques programmes dont on a toujours besoin.

Mémoire de 8 Ko à placer directement dans le CANON X-07

Pour faire simple, la mémoire est composée de 3 grandes parties :

  • La zone de saisie et modification du programme BASIC (éditeur en RAM).
  • La zone de stockage des programmes et fichiers (le volume en RAM).
  • Une zone réservée pour y implanter des programmes en assembleur.

Quand on fait RUN, on lance le programme qui se trouve dans la zone d’édition.

Quand on fait SAVE « nom du programme » on enregistre le programme qui se trouve en zone d’édition dans le volume RAM en mode programme exécutable. Le code qui se trouve dans la zone d’édition ne bouge pas, ce qui veut dire qu’après un SAVE vers le volume RAM le programme se trouve en double en mémoire. On peut vider l’éditeur avec un simple NEW.

Quand on fait RUN « nom du programme », on lance le programme correspondant stocké dans le volume RAM directement, sans pour autant le charger dans la zone d’édition (et là la RAM vous dit « merci beaucoup »).

Basic Microsoft

Le BASIC est fourni par Microsoft. C’est un BASIC de bon niveau, très complet, qui permet de réaliser la plupart des fonctions nécessaires pour ce type de machine. Il est assez rapide et sa prise en main est aisée (aidée par la présence dans le package de plusieurs manuels dédiés).

Il possède les opérateurs booléen tels que AND, OR, NOT ce qui à l’époque n’était pas toujours le cas. Les CASIO PB-700 par exemple ne les avaient pas (galère pour coder certains tests).

L’accès direct à la mémoire est possible via les instructions PEEK et POKE, et l’accès aux ports I/O aussi via les instructions INP et OUT. On peut aussi exécuter du code machine avec EXEC. Tout cela permet une grande liberté d’usage et ouvre bien des horizons.

Les fonctions graphiques sont aussi présentes et sont rapides. Chaque pixel de l’écran est accessible individuellement et on peut tracer des lignes et des cercles très facilement.

Ouverture vers l’extérieur

La grande force de cette machine est son ouverture vers l’extérieur car elle possède 4 ports de communication :

  • Port série
  • Port parallèle
  • Port d’extension propriétaire
  • Port de communication vers magnétophone
Port cassette et port parallèle
Port série
Port d’extension

Avoir autant de ports de communication était très rare, et pour le coup le CANON X-07 en devient encore plus intéressant. Tout ceci l’ouvre vers l’extérieur. Avec le port série et/ou le port cassette, vous pouvez très facilement sauvegarder vos programmes et du coup vous ne passez plus votre temps à retaper tel ou tel programme car vous avez du le supprimer de la mémoire pour faire de la place. Juste ça c’est top ! En plus le CANON X-07 possède toute une série de commandes et de facilités (nous en parlerons un peu plus bas) qui en font une machine communicante par nature.

Problème du câble vers le magnétophone

En fait il n’y a pas 1 problème mais 3, les voici :

  • Le câble est introuvable et non fourni lors de mon achat
  • Je n’ai plus de magnétophone à cassettes
  • Je n’ai plus de cassettes

Pour le magnétophone et les cassettes, je vous rassure, il y en a encore, fraîchement sortis d’usine et disponibles un peu partout (perso je me suis fourni chez AMAZON). J’ai trouvé un magnétophone qui répond parfaitement au besoin, c’est à dire une prise pour la lecture, une autre pour l’écriture et une 3ème pour la télécommande (l’ordinateur commande le moteur du magnétophone, très pratique).

Un magnétophone et quelques cassettes

Pour les cassettes c’est la même chose, on en trouve sans soucis chez les mêmes vendeurs. Le seul petit hic, c’est que tout ce petit monde vaut assez cher (forcément on ne doit pas être beaucoup à en avoir besoin), il faut grosso modo compter entre 30 et 50 euros pour le magnéto et 5 euros la cassette (forcément vendues par paquet de 5 ou 10). Je vous conseille de prendre des cassettes de bonne qualité sinon gare aux mauvaises surprises quant à la durée de vie et la qualité de vos enregistrements.

Pour le câble, c’est un peu plus compliqué. Ce qui est bien c’est que les spécifications techniques le concernant sont clairement fournies dans les manuels du X-07, encore une preuve de l’esprit d’ouverture dont les gens de CANON on fait preuve pour cette machine.

Schéma du câble vers le magnétophone

Actuellement je bosse dans un bureau d’étude, et l’aspect pluridisciplinaire de notre équipe est un gros atout. L’un de mes collègues, Aubrin, est électronicien et il m’a très gentiment fabriqué le fameux câble en suivant les directives du manuel du CANON. Le plus difficile a été de trouver la fiche de connexion coté CANON. Ca ressemble à une prise DIN un peut étrange mais en fait c’est une prise PS2 avec une pinoche en moins (merci à Guillaume pour son œil d’aigle concernant le type de prise et à Aubrin pour la réalisation de ce câble).

Câble « maison » pour les sauvegardes sur cassette audio

Etape suivante, créer un câble pour relier le CANON et un PC afin de les faire communiquer via la liaison série. Je me dois tout d’abord de remercier mes collègues Aubrin et Guillaume car sans eux rien n’aurait été possible.

Toujours grâce à la documentation fournie par CANON avec le X-07, il est possible d’en réaliser un. Mais il faut aussi prendre en compte des particularités (ça serait trop facile autrement) quant à la manière dont les signaux sont gérés coté CANON. A l’origine, il fallait utiliser un boîtier de conversion (référence CANON X-722) qui s’occupait d’effectuer tout le nécessaire pour fournir des signaux conformes. Sans ce boitier les signaux sont inversés et donc pour que ça marche il faut réaliser le travail du X-722.

Module CANON X-722 pour le X-07

Je ne vais pas entrer dans les détails (car ce n’est pas du tout mon domaine) mais en gros on utilise un composant permettant la liaison vers USB (FTDI FT232RL USB to TTL Serial Adapter Module 5V and 3.3V), plus ajout de quelques composants pour inverser les signaux.

Un autre souci c’est le format spécial de la prise coté CANON. Sur le Net une personne a réalisé cette prise en impression 3D, et ça donne à la base ça :

La prise CANON série imprimée en 3D

L’idée a été ensuite de modifier la prise pour qu’elle intègre le module de conversion :

Prise incluant le module de conversion.

Quelques soudures plus tard, bingo, je deviens l’heureux propriétaire d’un câble de connexion entre le X-07 et un PC en USB avec une prise adaptée tout en un !

Guillaume et Aubrin testant le bon fonctionnement du câble.

Le monde s’ouvre à mon CANON X-07 !

Grâce au câble série, je peux faire communiquer le X-07 avec un PC. Ca ouvre pas mal de possibilités !

La première qui me vient à l’esprit, c’est de pouvoir sauvegarder les programmes basic sur le PC en utilisant la liaison série. En regardant la documentation il s’avère que les ingénieurs de chez CANON avaient prévu ça dès le départ et que tout est présent dans le système de la machine pour le faire.

Le X-07 n’est pas très rapide coté liaison série. On peut la paramétrer entre 100 et 8000 bauds, pas plus. Par défaut c’est la vitesse de 4800 bauds qui est utilisée. Pour simplifier les choses j’ai décidé de n’utiliser que cette vitesse ce qui permet d’éviter de stipuler la vitesse dans les commandes d’envoi et réception via la liaison série.

Pour envoyer les données (binaires) d’un programme basic sur la liaison série, il suffit d’utiliser la commande SAVE avec les bon paramètres. Le périphérique série porte comme nom « COM: » (super classique). La commande est donc :

SAVE "COM:"

Il faut « juste » qu’en face (sur le PC) un programme soit en mesure de lire les données envoyées (on va voir ça un peu plus loin).

Pour charger un programme depuis la liaison série, c’est tout naturellement la commande LOAD qu’il faut utiliser :

LOAD "COM:"

Là aussi, il faut que coté PC quelque chose envoie les données demandées.

X07 STUDIO

Pour ce qui est du coté PC, j’ai développé un outil qui permet de coder plus efficacement avec le X-07. Ses fonctions sont multiples (je vais toutes vous les présenter) et nous allons commencer par l’enregistrement et la lecture de programmes BASIC via la liaison série.

Enregistrement d’un programme sur le PC

X07 STUDIO demande de lancer depuis le CANON X-07 la commande SAVE « COM: », comme le PC est à l’écoute, il va récupérer les données envoyées par cette commande et permettre leur enregistrement dans un fichier.

En regardant dans la documentation fournie avec le X-07, il est expliqué qu’un programme envoyé par la commande SAVE se termine par 13 octets à zéro. Il suffit donc de récupérer tous les octets qui arrivent par la liaison série jusqu’au fameux 13 octets de fin et c’est comme ça qu’on sait que les données ont toutes été transférées.



Lecture d’un programme enregistré sur le PC

X07 STUDIO demande de sélectionner le programme à envoyer au CANON puis demande de lancer sur le X-07 la commande de chargement. Une fois les données envoyée, X07 STUDIO informe que tout s’est bien passé.




Et voilà, on a déjà de quoi sauvegarder toutes nos créations !

Le BASIC sans lignes c’est plus cool non ?

Le BASIC Microsoft qui équipe le CANON X-07 est de très bonne facture. Il est puissant, et permet d’accéder à quasiment toutes les fonctions de l’appareil.

Mais ça reste un BASIC avec des numéros de lignes et avec des variables qui ne peuvent pas avoir un nom de plus de 2 caractères (ça c’est hard). Alors pourquoi ne pas arranger ça et réaliser un outil permettant de coder sans numéro de ligne, et avec des variables dont le nom fait plus de 2 caractères ?

Je suis parti de l’idée de développer un outil qui ne ferait que générer un programme BASIC standard (avec la syntaxe utilisant des numéros de lignes) à partir d’un code construit sans numéro de ligne, avec des variables au nom long (et avec aussi 2 ou 3 autres petites choses dont je parlerai plus tard)…

Après quelques heures de développement, X07 STUDIO permet de saisir un programme avec la syntaxe d’un basic « maison » plus évolué que celui inclus dans la machine puis de générer une version standard et de l’envoyer au CANON X-07 via la liaison série.

Voici le code du jeu dans lequel vous devez trouver un nombre compris entre 0 et 99 :

CLS

N%=INT(RND(0)*100)
C%=0

@LOOP
C%=C%+1
INPUT "Votre nombre: ";A%

IF (A%<N%) THEN PRINT A%;"TROP PETIT":GOTO @LOOP
IF (A%>N%) THEN PRINT A%;"TROP GRAND":GOTO @LOOP

CLS
BEEP 10,1
BEEP 20,2
PRINT "VOUS AVEZ TROUVE EN";C%;"COUPS";

@WAITKEY
IF INKEY$="" THEN @WAITKEY
END

Pour aller à une ligne précise (avec GOTO ou GOSUB ou ON GOTO ou ON GOSUB) on utilise des labels. Les labels sont des noms qui commencent par le signe @ (dans ce code on a les labels @LOOP et @WAITKEY)

Avec ce code sans aucun numéro de ligne, on peut générer un code BASIC classique compréhensible par le X-07, voici ce code :

100 CLS
110 N%=INT(RND(0)*100
120 C%=0
130 C%=C%+1
140 INPUT "Votre nombre: ";A%
150 IF (A%<N%) THEN PRINT A%;"TROP PETIT":GOTO 130
160 IF (A%>N%) THEN PRINT A%;"TROP GRAND":GOTO 130
170 CLS
180 BEEP 10,1
190 BEEP 20,2
200 PRINT "VOUS AVEZ TROUVE EN";C%;"COUPS";
210 IF INKEY$="" THEN 210
220 END

On peut utiliser des noms de variables plus explicites que C% ou N% ou A% :


#VAR COMPTEUR%
#VAR NOMBRE%
#VAR PROPOSITION%

CLS

NOMBRE%=INT(RND(0)*100)
COMPTEUR%=0

@LOOP
COMPTEUR%=COMPTEUR%+1
INPUT "Votre nombre: ";PROPOSITION%

IF (PROPOSITION%<NOMBRE%) THEN PRINT PROPOSITION%;"TROP PETIT":GOTO @LOOP
IF (PROPOSITION%>NOMBRE%) THEN PRINT PROPOSITION%;"TROP GRAND":GOTO @LOOP

CLS
BEEP 10,1
BEEP 20,2
PRINT "VOUS AVEZ TROUVE EN";COMPTEUR%;"COUPS";

@WAITKEY
IF INKEY$="" THEN @WAITKEY
END

Ce qui est traduit par :

52 DIM X7%(2)
100 CLS
110 X7%(1)=INT(RND(0)*100)
120 X7%(0)=0
130 X7%(0)=X7%(0)+1
140 INPUT "Votre nombre: ";X7%(2)
150 IF (X7%(2)<X7%(1)) THEN PRINT X7%(2);"TROP PETIT":GOTO 130
160 IF (X7%(2)>X7%(1)) THEN PRINT X7%(2);"TROP GRAND":GOTO 130
170 CLS
180 BEEP 10,1
190 BEEP 20,2
200 PRINT "VOUS AVEZ TROUVE EN";X7%(0);"COUPS";
210 IF INKEY$="" THEN 210
220 END

Les variables avec des noms longs (déclarées avec le mot clé #VAR) sont remplacées dans le code final par des variables de type tableau. J’utilise une particularité du BASIC du CANON qui permet d’utiliser en même temps des variables ayant le même nom mais des types différents. Ainsi A$, A% sont utilisables en même temps sans problème.

X07 STUDIO utilise pour remplacer les variables déclarées par #VAR un tableau nommé X7 pour chaque type possible. Dans cet exemple on déclare 3 variables de type entier (%), elles sont remplacées par les variables X7%(0), X7%(1) et X7%(2). Pratique non ?

J’ai aussi ajouté la possibilité de créer des « bibliothèques » de code pour regrouper des fonctions qu’on utilise sans arrêt. C’est la directive #IMPORT qui permet d’intégrer ces bibliothèques au code. Dans ces bibliothèques il faut juste être très rigoureux sur le nommage des labels. Le plus simple est de précéder les labels par le nom de la bibliothèque. Par exemple pour la bibliothèque « UTILS » le label « WaitForKey » sera nommé « UTILS.WaitForKey », ça évite pleins de problèmes.

J’ai aussi ajouté la possibilité de déclarer du code paramétré. Ce ne sont pas des fonctions car le code sera répété autant de fois qu’utilisé, ça se rapproche plus de fonctions « inline ».

Si j’ai à utiliser plein de fois le code suivant :

LOCATE X%,Y%:PRINT M$

Pour afficher en X,Y le message M$ je peux déclarer une fonction inline suivante :

#DEF ShowMessage[X%,Y%,M$]=LOCATE X%,Y%:PRINT M$

Et l’utiliser dans le code de la manière suivante :

ShowMessage[5,1,"Bonjour !"]
ShowMessage[10,2,"Hello !"]

Ces lignes seront remplacées par X07 STUDIO par :

LOCATE 5,1:PRINT "Bonjour !"
LOCATE 10,2:PRINT "Hello !"

Un peu de confort pour coder c’est mieux !

Coder c’est bien, coder confortablement c’est mieux ! J’ai donc doté X07 STUDIO d’un éditeur de code avec colorisation syntaxique. En gros ça donne ça :

Le code BASIC généré est lui aussi en couleurs :

D’ailleurs X07 STUDIO permet aussi de coder directement en BASIC CANON sans passer par du code modernisé (le code sans numéros de lignes). On peut sauvegarder son code BASIC (et celui généré) pour travailler dessus à sa guise.

Comment transférer le code vers le X-07 ?

Là encore, un grand merci aux ingénieurs de chez CANON.

Ils ont prévu un mode spécial qui permet de remplacer les entrées clavier par ce qui vient de la liaison série. Vous voyez où je veux en venir ?

Ce mode, que j’appelle le mode esclave, est initialisé par 2 commandes, la 1ère ouvre le canal de communication, la seconde (un appel système) permet de placer le CANON en mode esclave. Tout ce qui passera par le canal 5 sera interprété comme si cela venait du clavier.

INIT #5,"COM:"
EXEC &HEE1F

Le canal #5 est réservé à cet usage. C’est donc un très bon moyen de transférer les lignes de code BASIC vers le CANON. C’est comme si on tapait au clavier le programme. Ce n’est pas très rapide mais comme c’est 100% automatique c’est assez sympa à utiliser.

Donc depuis le code généré par X07 STUDIO, il suffit d’activer la commande « Transférer » (voir l’écran un peu plus haut) pour lancer la procédure.

X07 STUDIO nous invite dans un 1er temps à placer le CANON en mode esclave. Un fois que c’est fait (le CANON est donc à l’écoute de ce qui arrive par la liaison série) il suffit de cliquer sur le bouton « Démarrer » et de laisser faire.

Le programme est « tapé » via la liaison série, ligne après ligne, caractère après caractère. Une barre de progression indique l’avancement de l’opération. Une fois que c’est terminé, X07 STUDIO demande si l’on souhaite lancer le programme. Si oui, il replace le CANON en mode normal (il retrouve l’usage de son clavier) et lance le programme par une commande RUN (tout ça en une seule fois avec les 2 commandes sur une seule ligne). Normalement le programme se lance.

Transfert du programme en mode esclave.

Pour que tout fonctionne bien il faut impérativement que les signaux RTS/CTS soient câblés au niveau de la liaison série. Ces signaux permettent de gérer le flux de données. En gros quand le CANON n’est pas prêt à recevoir des données il l’indique au PC, et inversement. Du coup le flux de données est bien synchronisé. Sans ces signaux (qui sont des signaux standards) le PC pourrait envoyer des données alors que le CANON n’est pas du tout en train de les écouter. Quand il valide une ligne BASIC par exemple, pendant un bref instant il est bien occupé et n’écoute plus la liaison série, du coup il perd des caractères.

Si vous ne câblez pas ces signaux, vous devrez ajouter des temporisations (aléatoires) qui vont énormément ralentir le transfert et qui ne garantiront en rien que tout se passera bien.

X07 STUDIO possède 2 modes de communication, avec et sans RTS/CTS, mais vous avez compris, sans ces signaux c’est galère.

Le générateur de symboles

Le CANON X-07 permet de redéfinir certains éléments de son jeu de caractères. Les caractères 128 à 159 et 224 à 255 sont utilisables avec la commande FONT$ du BASIC et sont redéfinissables.

Pour simplifier la création de symboles, j’ai inclus dans X07 STUDIO un générateur de symboles. Il suffit de coller dans le code BASIC la définition du symbole élaborée au fur et à mesure de sa création.

On peut aussi prendre le code BASIC et le coller dans le générateur de symboles, le symbole correspondant sera alors affiché.

Après le BASIC si on passait à l’assembleur ?

Comme le processeur du X-07 est un Z80 (processeur 8 bits), il n’est pas trop difficile de se mettre à l’assembleur car le Z80 reste un processeur assez simple à programmer. Il est idéal pour apprendre en tous cas.

Il y a des publications sur le NET qui prennent le temps d’expliquer comment utiliser l’assembleur pour augmenter les capacités et la vitesse du X-07.

A une époque il y a même eu plusieurs livres qui ont été publiés sur le sujet. Ca fait en gros 40 ans mais on les trouve facilement, numérisés, sur le NET. Merci à leurs auteurs.

Les plus connus sont :

Les mystères du XO7 – l’assembleur du canon X07 d’André Tonic, Adward Arevian et Philippe MILLET

Il s’agit d’une VÉRITABLE BIBLE pour les amateurs éclairés du Canon X-07. Il décrit en détail :

  • Les principes de l’assembleur NSC800 (compatible Z80)
  • Les instructions
  • Les adresses de certaines routines en ROM
  • L’utilisation du sous processeur TOSHIBA 6834
  • Et présente quelques petits programmes didactiques et amusants.

Applications en Assembleur Dans l’Univers du Canon X-07 d’André Tonic, Adward Arevian, Philippe MILLET et Jean-Jacques ROUSSEAU

Il s’agit de la suite du premier ouvrage. Il décrit en détail :

  • Les principes d’implantation des routines ASM
  • Les codage des variables
  • L’utilisation de certaines routines de la ROM
  • Le principe de l’extension des fonctions existantes
  • Les interruptions et les entrées sorties
  • Le schéma de l’interface video X-720
  • Quelques programmes d’exemples de jeux et utilitaires

X07 STUDIO et l’assembleur

Pourquoi ne pas doter X07 STUDIO d’un éditeur assembleur ? Pourquoi pas !

Je me suis donc lancé dans la création d’un petit éditeur assembleur, d’un compilateur (transformation du code assembleur en code machine) et d’un générateur de programme BASIC dont le rôle est de charger en mémoire le code assembleur compilé.

Je n’avais jamais eu l’occasion de faire ça avant, et franchement c’est très intéressant à réaliser.

Ce petit assembleur permet de créer des labels (pour marquer un emplacement qui plus tard deviendra une adresse physique réelle), des zones de déclaration de données sous la forme de valeurs sur 8 et 16 bits, et aussi sous la forme de chaines de caractères, et des constantes sur 8 et 16 bits. Pour le moment je me suis arrêté là dans les fonctionnalités. Les adresses finales sont calculées par le compilateur (ce qui rend les choses tout de même bien plus simples).

Pour le moment, l’assembleur ne génère aucun message d’erreur en cas de soucis pendant la compilation. Ca sera là dans une prochaine version.

Une fois le programme assembleur créé et compilé sans erreur, on peut générer le programme BASIC qui sera chargé de l’implanter en mémoire dans le CANON X-07

Chargeur BASIC du programme assembleur présenté plus haut.

Et comme pour les programmes BASIC générés toute à l’heure à partir du BASIC sans ligne de code, on peut transférer le programme généré avec le mode esclave du CANON X-07.

Voilà, pour le moment c’est tout ce que X07 STUDIO sait faire. Mais progressivement je vais lui ajouter d’autres modules, d’autres fonctions et le rendre encore plus simple à utiliser.

X07 STUDIO sur GitHub

Si X07 STUDIO vous intéresse le projet est disponible sur GitHub.

J’ai publié la version 0.6 de X07 STUDIO pour Windows x86 et x64 pour ceux qui n’auront pas la « force » de générer le programme avec Visual Studio et .NET 8



Un écran pas très lisible

L’écran du CANON X-07 n’est pas très lisible. La meilleure position pour l’utiliser est de le pencher un peu vers soi, la lecture s’en trouve fortement améliorée. C’est dans ce but que Guillaume (mon collègue de travail, monsieur imprimante 3D) m’a créé un socle. C’est super pratique !



De la documentation à gogo

Si vous cherchez un peu vous allez trouver beaucoup d’informations. Déjà, dans la documentation fournie en standard avec la CANON X-07 il y en a de très utiles pour utiliser au mieux cette fantastique machine.

Sur le NET vous allez aussi en trouver beaucoup tellement il y a des gens qui se sont passionnés (et se passionnent encore) pour cette machine.

Voici quelques liens intéressants :

Conclusion

Voilà mes premières aventures avec le CANON X-07. Cette machine, veille de 40 ans, est juste extraordinaire, très en avance sur son temps.

La prochaine étape sera de la « brancher » sur des composants de type Arduino (qui pour certains seront plus puissants qu’elle), pour, entre autre, lui ajouter des fonctions GPS, Bluetooth Low Energy, etc…

Je ne manquerai pas de vous tenir informé de mes nouvelles aventures avec le CANON X-07 !

8 réflexions au sujet de “CANON X-07”

  1. Excelent.
    Câble de connexion pc, et son boîtier super intéressant.
    Les Rétro Programmers for Obscure Systems, vont venir voir.
    J’ai mis le lien dans le Discord.

    Répondre
  2. Bonjour,
    Je suis fan et je viens de découvrir votre appli ainsi que tout ce que vous avez fait
    J’avais déjà suivit ce gars https://www.youtube.com/watch?v=XTSEMSYD_uA
    afin de réaliser le cable et faire des échanges.
    Est il possible par le biai de votre application, de charger un fichier texte (un programme écrit en basic) dans votre application et de l’envoyer dans l’XO-7 ?
    Merci d’avance pour votre réponse
    Serge

    Répondre
  3. Bonsoir, j’ai commencé à parcourir cette page dédiée au Canon X07 et je pense beaucoup progresser grâce à elle. Je fais un tour de la machine en me documentant dans l’idée de, peut-être m’en procurer une assez vite pour produire quelque chose avant la fin de la Game Jam RPUFOS.

    Mais, j’avoue hésiter un peu car c’est tout de même une veille machine qui ne coute pas non plus 50 balle, même aujourd’hui. Je me suis demandé si ma calculette Casio CFX 9930 programmable de 97 n’était pas,14 ans plus tard plus puissante que cet ordinateur de poche qui, certes procède plus de charme et aussi du son… Le but étant de m’amuser et d’apprendre la programmation. Y a t il une différence majeur entre une calculette programmable et un ordinateur de poche?

    Répondre
    • Bonsoir. Comme votre calculatrice se programme en BASIC, comme le CANON X-07, je dirais que pour se faire les dents ce sera en gros la même chose. Maintenant il est quasiment certain que votre CASIO est plus puissante et plus rapide que le CANON. Pour apprendre les deux sont très bien et au final, coté programmation pure, se ressemblent beaucoup.

      Répondre

Laisser un commentaire

En savoir plus sur CODING 4 PHONE

Abonnez-vous pour poursuivre la lecture et avoir accès à l’ensemble des archives.

Poursuivre la lecture

En savoir plus sur CODING 4 PHONE

Abonnez-vous pour poursuivre la lecture et avoir accès à l’ensemble des archives.

Poursuivre la lecture