Conversion d'une implémentation BASIC vers une autre
Un simple coup d'oeil à la référence des commandes et des fonctions révélera de nombreuses différences entre les implémentations BASIC utilisées par Apple, Atari, Commodore PET, IBM, Radio Shack et Texas Instruments. Malgré cela, il est souvent possible de «traduire» un programme écrit dans une implémentation BASIC vers une autre. Les programmes traitant de calculs mathématiques ou de stockage et de manipulation de données sont généralement plus faciles à convertir ; les programmes impliquant des graphiques, des sous-routines en langage assembleur ou la gestion de fichiers externes présentent des problèmes de conversion considérables (et parfois insurmontables). Voici une approche systématique pour convertir différentes implémentations :
- Analysez le programme à convertir pour rechercher les instructions en langage assembleur telles que PEEK, POKE, CALL, POP, USR,... Ces routines en langage assembleur seront difficiles, voire impossibles, à convertir. Vous aurez besoin des cartes mémoire des deux micro-ordinateurs et devriez être capable de les utiliser. Vous devrez également connaître les jeux d'instructions des microprocesseurs concernés et comprendre la programmation en langage assembleur. Si un programme utilise beaucoup de routines en langage assembleur, il sera probablement plus simple d'écrire un programme entièrement nouveau plutôt que de convertir le programme existant.
- Examinez le programme pour les instructions et fonctions suivantes, ayant des significations différentes selon les implémentations. Consultez cette section pour connaître la signification exacte de chaque implémentation :
- Au fur et à mesure de votre progression dans le programme, notez le nom de toutes les variables et leur signification.
- Décomposez le programme que vous souhaitez convertir en blocs fonctionnels, tels que les entrées, les calculs, les sorties,... Un organigramme ou une description écrite de chaque bloc peut être utile pour les programmes plus longs.
- Les instructions graphiques sont rarement transposables avec précision dans d'autres implémentations. Cependant, les effets de nombreuses instructions graphiques peuvent être approximés sur d'autres systèmes en utilisant des instructions graphiques spécifiques à ce système. Cependant, si un programme utilise des graphiques élaborés (tels que ceux disponibles sur Apple, Atari ou Radio Shack Extended Color), il peut être pratiquement impossible de les reproduire ou de les approximer sur des systèmes utilisant Commodore PET ou Radio Shack Level II BASIC.
- Une conversion ligne à ligne est généralement inefficace et peu pratique. Il est préférable de convertir chaque bloc fonctionnel en utilisant les fonctionnalités et capacités spécifiques de l'implémentation BASIC vers laquelle vous effectuez la conversion.