Découverte autour du firmware – 1ere partie

First of all, I would like to apologize to my English-speaking readers, but this article is written in French.

You can translate it with Deepl  translator.

Langage de développement

Tous ceux qui ont tenté de lire un firmware se sont rendu compte qu’une partie était écrite en Basic, mais ce n’est pas le seul langage qui apparaît.

En effet le firmware commence par une grosse partie d’assembleur difficile à décryptée.

Pour comprendre ou plutôt faire abstraction de cette partie, il faut regarder du coté des premieres versions de ce chargeur, le Victor Hi-IQ.

Celui-ci est architecturé autour d’un processeur Z8671.2018-10-21_21h36_18

Comme vous pouvez le voir, il y a une inscription « BASIC/DBG »….

Ce processeur possède une ROM qui contient un interpréteur BASIC.

Tout est décrit dans la documentation suivante z8671_basic_debug

1ere note, dans la partie 6.2 nous découvrons que le programme (notre firmware) débute à l’@1020.

0010 @2=%80:@3=0:^246=%41:A=%FF80:@A=8
0040 ^244=%20D:^242=%91:@241=%CA
0070 @A=6:@A=%38:@A=1:GO@%E200
0090 @54=0:M=%70:I=0:^%64=%FE68:^%68=%FE80
0095 @%FD37=0:^%FD38=%58:^%FD

Certes c’est encore du chinois, mais c’est bien du BASIC, de la manipulation de données en mémoire.

Concernant les versions suivantes du chargeur, les processeurs sont des Z8681 ou Z8691 qui eux, sont dépourvu de ROM.

Alors pour pouvoir assurer la continuité de leur Firmware, et une compatibilité descendante, l’équipe de Victor Engineering a suivi exactement ce qui est décrit dans ce site web, Z8671-Basic, et l’interpréteur BASIC se trouve à présent en ROM externe.

Celui-ci débute à l’adresse 0000h et se termine à 07F0h.

Le firmware des chargeurs est bien écrit en BASIC, seules quelques fonctions sont écrites en assembleur, certainement pour des problèmes de performance.

C’est tout pour cette fois, à suivre pour un autre épisode.

Publicités

Répondre

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l'aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s