User Tools

Site Tools


nab:v1:bytecodes

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
nab:v1:bytecodes [2013/12/08 10:35] – Add title redoxnab:v1:bytecodes [2013/12/08 11:25] – Markdown conversion redox
Line 1: Line 1:
-====== Bytecodes ======+Bytecodes
  
 +## Overview
 Le Nabaztag v1 est bien plus limité que le Nabaztag v2, il faut donc avoir recours à différents bytecodes au lieu d'un seul, envoyé lors du boot du lapin comme c'est le cas sur le v2. Le Nabaztag v1 est bien plus limité que le Nabaztag v2, il faut donc avoir recours à différents bytecodes au lieu d'un seul, envoyé lors du boot du lapin comme c'est le cas sur le v2.
  
 Quand Mindscape a mis les sources à disposition, ils ont donné les sources des bytecodes suivants: Quand Mindscape a mis les sources à disposition, ils ont donné les sources des bytecodes suivants:
  
-  **Nabaztag_pointbleu.vasm** Bytecode de démo je présume, fait clignoter les leds à tour de rôle en bleu clair (si je me souviens bien) +__Nabaztag\_pointbleu.vasm__:  Bytecode de démo je présume, fait clignoter les leds à tour de rôle en bleu clair (si je me souviens bien)
-  * **Nabaztag_asleep_v1.0.vasm** Permet de mettre le lapin en "sommeil", leds éteintes, oreilles couchées, aucune interaction +
-  * **Nabaztag_msg_v0.9.vasm** Permet de lire un fichier audio (voir ADPCM2-4bits plus bas) +
-  * **Nabaztag_demo.vasm** Bytecode très similaire au suivant +
-  * **Nabaztag_wait.vasm** Pour moi, c'est le bytecode principal, il gère les "services" (tels que la météo, le trafic, les emails... via les leds du ventre), ainsi que les mouvements d'oreilles, les clics, le TaiChi, ... C'est sur ce bytecode là que j'ai le plus travaillé pour l'instant.+
  
-====== VASM ======+* __Nabaztag\_asleep\_v1.0.vasm__: Permet de mettre le lapin en "sommeil", leds éteintes, oreilles couchées, aucune interaction
  
 +* __Nabaztag\_msg\_v0.9.vasm__: Permet de lire un fichier audio (voir [[#ADPCM2-4bits|ADPCM2-4bits]] plus bas)
 +
 +* __Nabaztag\_demo.vasm__: Bytecode très similaire au suivant
 +
 +* __Nabaztag\_wait.vasm__: Pour moi, c'est le bytecode principal, il gère les "services" (tels que la météo, le trafic, les emails... via les leds du ventre), ainsi que les mouvements d'oreilles, les clics, le TaiChi, ... C'est sur ce bytecode là que j'ai le plus travaillé pour l'instant.
 +
 +
 +## VASM
 Ces fichiers sont des sources écrites dans un langage assembleur particulier au Nabaztag V1, le VASM, dont on peut trouver la documentation sur Internet, en cherchant **Nabaztag-vasm-RevB.pdf** Ces fichiers sont des sources écrites dans un langage assembleur particulier au Nabaztag V1, le VASM, dont on peut trouver la documentation sur Internet, en cherchant **Nabaztag-vasm-RevB.pdf**
  
 Ces sources ont donc besoin d'être assemblées avant d'être envoyées au Nabaztag. Pour cela, plusieurs options: Ces sources ont donc besoin d'être assemblées avant d'être envoyées au Nabaztag. Pour cela, plusieurs options:
-  * Faire la conversion à la main, très déconseillé... 
-  * Utiliser la source Java fournie par Mindscape ( le fichier en question est **Vasm.java** dans le dossier des sources VASM) 
-  * Utiliser un autre assembleur. Il en existe quelques uns, dans les anciens projets de serveurs Nabaztag V1 **MAIS** beaucoup ne supportent pas certaines opcodes spécifiques au sources de Violet...  
-  * C'est pourquoi j'en ai réécris un en Php, qui permet d'assembler les sources existantes. Par manque de ressources serveur, je ne le mets pas en ligne pour l'instant, mais n'hésitez pas à me contacter pour l'avoir, tout mon travail sur le Nabaztag est sous license GPLv3. 
  
-====== ADPCM2-4bits ======+* Faire la conversion à la main, très déconseillé...
  
 +* Utiliser la source Java fournie par Mindscape ( le fichier en question est **Vasm.java** dans le dossier des sources VASM)
 +
 +* Utiliser un autre assembleur. Il en existe quelques uns, dans les anciens projets de serveurs Nabaztag V1 **MAIS** beaucoup ne supportent pas certaines opcodes spécifiques au sources de Violet... 
 +
 +* C'est pourquoi j'en ai réécris un en Php, qui permet d'assembler les sources existantes. Par manque de ressources serveur, je ne le mets pas en ligne pour l'instant, mais n'hésitez pas à me contacter pour l'avoir, tout mon travail sur le Nabaztag est sous license GPLv3.
 +
 +
 +## ADPCM2-4bits
 Le Nabaztag est limité en ressources, il ne peut pas lire de fichiers Wav directement (laissez tomber les mp3, c'est même pas la peine d'en parler). Il faut les convertir en ADPCM2-4bits. Le Nabaztag est limité en ressources, il ne peut pas lire de fichiers Wav directement (laissez tomber les mp3, c'est même pas la peine d'en parler). Il faut les convertir en ADPCM2-4bits.
 C'est un format propriétaire OKI, fermé. Il est à ma connaissance impossible de trouver de la documentation dessus librement. Il se rapproche du format ADPCM, mais les tables de conversion et peut-être une partie de l’algorithme sont différent. C'est un format propriétaire OKI, fermé. Il est à ma connaissance impossible de trouver de la documentation dessus librement. Il se rapproche du format ADPCM, mais les tables de conversion et peut-être une partie de l’algorithme sont différent.
Line 30: Line 39:
  
 Pour faire la conversion Wav vers ADP il faut: Pour faire la conversion Wav vers ADP il faut:
-  * Un fichier WAV:+ 
 +* Un fichier WAV:
     * Mono     * Mono
     * PCM     * PCM
     * Échantillonné à maximum 16 kHz     * Échantillonné à maximum 16 kHz
-  * Un convertisseur WAV -> ADP, là plusieurs solutions+ 
 +* Un convertisseur WAV -> ADP, là plusieurs solutions
     * Un convertisseur avec interface graphique, sous Windows     * Un convertisseur avec interface graphique, sous Windows
     * Le fichier wav2adp de Mindscape sous GNU/Linux (32-bits)     * Le fichier wav2adp de Mindscape sous GNU/Linux (32-bits)
Line 44: Line 55:
  
 Ensuite, pour lire ces fichiers convertis, il suffit de les inclure dans la source "...msg.vasm" de Minscape. Ensuite, pour lire ces fichiers convertis, il suffit de les inclure dans la source "...msg.vasm" de Minscape.
- 
-