ATTENTION : cette page n'est qu'un mirroir du site original suite à la fermeture de l'hébergeur initial. Il ne peut en aucun cas se substituer à l'original et si l'auteur décide de ne plus rendre public sa page et/ou sa(ses) création(s), ce miroir sera retiré sans délai BASIC 1000D (fr)

BASIC 1000D

Jean-Jacques Labarthe
10 mai 2000 révisé le 15 septembre 2008

English

Le Basic 1000d est un langage de programmation permettant la résolution exacte, sous forme symbolique, de problèmes mathématiques (Calcul Formel). Sa programmation, très proche des Basics usuels, permet un apprentissage aisé. A l'origine (1990), il était commercialisé pour Atari ST et TT. C'est maintenant un logiciel gratuit (freeware, graticiel) avec ses fichiers annexes et son source commenté en assembleur MC68K. Ce site distribue une version (v1.20) spécialement adaptée pour l'utilisation sur Mac avec l'émulateur NoSTalgia ou sur PC avec l'émulateur PaCifiST.


LOGICIELS


Le logiciel Basic 1000d (version 1.20) est disponible sous forme d'une image-disque, disk1.st.sit.hqx ou 1000dst.zip (les fichiers décompressés ont des noms différents mais sont identiques), qui est directement utilisable par les émulateurs. L'image-disque contient le programme 1000D.PRG, les bibliothèques MATH.Z et STND.Z, le fichier de configuration CFG1000D.Z, et le fichier d'aide en ligne HELP.Z.
L'image-disque 1000dprg.zip contient plusieurs programmes intéressants écrits en Basic 1000d. Ces programmes, en particulier 0TEST.Z, peuvent être utilisés pour tester les divers émulateurs.

Les utilitaires mac2st et st2mac pour échanger des fichiers entre le Mac et l'émulateur NoSTalgia sont fournis avec leurs sources en C. Ils permettent aussi la traduction de fichiers textes.

Pour ceux qui n'utilisent pas un Mac, un dossier 1000d contenant les fichiers 1000D.PRG, MATH.Z, STND.Z, CFG1000D.Z et HELP.Z est également disponibles sous forme d'une archive zip. Sur Mac, ce dossier peut être créé par st2mac à partir de disk1.st.

disk1.st
  • disk1.st.sit.hqx (371 299 octets) image-disque du Basic 1000d
  • 1000dst.zip (289 211 bytes) la même image-disque sous forme d'archive zip
  • 1000d.zip (286 991 octets) archive zip de (1000D.PRG, MATH.Z, STND.Z, CFG1000D.Z et HELP.Z)
  • 1000dprg.zip (27 084 bytes) archive zip d'une image-disque contenant des programmes en Basic 1000d
  • utilitaires.sit.hqx (116 939 octets) utilitaires mac2st et st2mac


CODE SOURCE


Le source du Basic 1000d en assembleur MC68K (680x0) est disponible. Jusqu'à présent, je ne possédais qu'une documentation manuscrite de ce source (description des algorithmes et commentaires du code). Je suis en cours d'inclure cette documentation dans le source du Basic 1000d.
L'archive 1000d.src contient le fichier source SYN.Z (sans commentaires). Ce source s'assemble avec ASM.PRG, un assembleur freeware qui fonctionne sur Atari TT, mais ni sur ST, ni sous l'émulateur NoSTalgia. En modifiant le début de la source (mettre FLAG30=1 et FLAGTT=1), vous pouvez assembler une version plus rapide pour Atari TT. ASM.DOC + ASM2.DOC est une doc 1stWord de l'assembleur.
Le fichier algorthm.c contient le source du Basic 1000d avec la description des algorithmes et les commentaires sur le code. Les commentaires sont en anglais et en style C++. Ils ressortiront en couleur si vous utilisez un éditeur de texte C++. Pour le moment, la version disponible est une version préliminaire qui ne contient des commentaires et algorithmes que sur les sous-programmes de manipulations des entiers, rationnels et nombres flottants (y compris les fonctions exp, log, sin, tan, atn).

Pour la documentation sur le language assembleur voir le site :


DOCUMENTATION


La documentation est disponible sous forme de sources TEX ou de fichiers pdf (affichage web rapide). Le format TEX nécessite un logiciel comme MAC-GUT (shareware).

Manuel de référence

Fac-similé électronique du livre (1990, 529 pages, en français). Le fichier min donne une version plus facilement chargeable du manuel où les illustrations et les deux tables de l'appendice (codes ASCI et motifs de remplissage) ont été ôtées.

Mise à jour

La mise à jour du manuel de référence (1992, en français, 24 pages) corrige des erreurs du Manuel de référence et décrit de nouvelles fonctions.

Pratique du Basic 1000d

La pratique du Basic 1000d (1991, 288 pages, en français) décrit en détail de nombreux exemples.


Les possibilités du Basic 1000d (temps de calculs sur Atari ST)


NOMBRES

Flottants réels et complexes jusqu'à 1230 chiffres significatifs
La racine carrée de 2 est calculé avec 1000 chiffres en 1.3 s
Fonctions spéciales (Gamma(x), erf, coefficient 3j, ...)
Entiers et nombres rationnels jusqu'à plus de 19000 chiffres traités exactement (factorielle 100 est calculé exactement en 0.12 s)
Test de primalité et facteurs premiers (par exemple la factorisation de 267 - 1 en 193707721 * 761838257287 s'obtient en 12 minutes)
Base de 2 à 36
Calculs modulaires

CALCUL FORMEL

Développement, substitution et factorisation des polynômes et fractions rationnelles (x9 + y9 est factorisé en 1 s)
Calculs dans les extensions algébriques
Dérivation, intégration et sommation en termes finis
Géométrie plane (traitement algébrique)
Développements limités
Calculs matriciels (déterminants, inverses)
Résolution exacte de systèmes d'équations

UN VRAI BASIC CONVIVIAL ET PERFORMANT

Aide en ligne, éditable à loisir
Bibliothèques de programmes qui enrichissent le Basic de nouvelles fonctions (Plus de 300 programmes en 2 bibliothèques sont fournis)
Débogueur très sophistiqué
Fonctions musicales, graphiques, tracé de courbes
Programmation structurée sans numéros de lignes
Fonctions et procédures récursives


FONCTIONNEMENT SUR MAC avec NoSTalgia


Le Basic 1000d 1.20 fonctionne parfaitement sous l'émulateur NoSTalgia 0.62 (avec TOS 1.0, 1.4 ou 1.6) de Philippe Gérin. L'émulateur est si splendide que c'est bien mieux que sur un vrai Atari ST. Sur un iMAC DV avec un processeur G3 à 400 MHz, le Basic tourne environ 6 fois plus vite que sur Atari ST avec un processeur 68000 à 8 MHz.
Par contre, le Basic 1000d ne fonctionne pas correctement sous l'émulateur PowerST 0.2 : certaines fonctions renvoient des résultats faux ou bloquent le programme. Par exemple, l'instruction print intsqr(2^67-1) ne renvoie pas 12148001999 sous PowerST 0.2. D'après Philippe Gérin, le Basic 1000d fonctionne bien sous la version 0.3 de PowerST.

Des touches n'étant pas émulées dans la version 0.62 de NoSTalgia, j'ai doublé certaines commandes. La liste en est donnée dans le sous-menu Nostalg du menu HELPS du Basic 1000d.
La touche ^ ne fonctionne pas bien avec le clavier français. On peut sélectionner le clavier US dans les menus du Mac avant de lancer NoSTalgia (le TOS voit bien un clavier français). Il est toutefois plus pratique de garder la sélection clavier français et d'utiliser [ca]< pour obtenir ^ dans le Basic 1000d.
Les combinaisons des touches de fonction avec Alt et Alt+Shift sont interceptées par Mac OS 9. Les seules combinaisons utilisées, dans le menu du debugger, [a]F2 et [a]F9, ont été doublées. Les nouvelles combinaisons de touches, Control+Alt+pavé numérique, ne fonctionnent pas toutes avec le TOS 2.6. Il faut donc utiliser le TOS 1.0, 1.4 ou 1.6.


FONCTIONNEMENT SUR PC avec PaCifiST


Le Basic 1000d 1.20 fonctionne parfaitement sous l'émulateur PaCifiST de Fréderic Gidouin (j'ai testé les versions v0.46 et v0.48 avec le TOS 1.62). Sur un PC à 450 MHz, le Basic tourne environ 10 fois plus vite que sur Atari ST.

Le Basic 1000d ne fonctionne pas correctement sous l'émulateur WinSTon v0.4 de Paul Bates. Certaines fonctions renvoient des résultats faux ou bloquent le programme. Par exemple, les instructions :
     precision 100
     print sin(2)
ne renvoient pas
  0.9092974268256816953960198659117448427022549714478902683789730115309673015407
835446201266889249593803~


ETC.


Ce site a reçu compteur visites.

Anneau Atari Francophone Site suiv. L'anneau Atarifr
Vous voulez joindre l'anneau Anneau Atari Francophone ?
Site maintenu par Jean-Jacques Labarthe

[Saute Préc.] [Préc.] [Suiv.] [Sauter suiv.] [Aléatoire] [Liste des sites]


Ce site fait aussi partie du
ST Emulation Webring
[ 5 Sites Préc. ¦ Préc. ¦ Suiv. ¦ 5 Sites Suiv. ¦ Aléatoire ¦ Liste des sites ]