Win3x.Org

Windows & DOS Community

Microsoft GW-BASIC, QuickBASIC et QBasic [en]

Répondre   Page 1 sur 1  [ 5 messages ]
Auteur Message
RORO
Sujet du message : Microsoft GW-BASIC, QuickBASIC et QBasic [en]
Publié : 06 avr. 2009 12:34
 
 
En fouillant sur le net je suis tombé sur un site qui dispose d'une impressionnante collection d'anciennes versions du Basic.
GW-BASIC/QuickBASIC/QBasic
By Na Than Assh Antti · for archiving purposes · download at your own risk
========================================================

Microsoft GW-BASIC
GW-BASIC est une version améliorée du vieux programme BASIC inclus dans la ROM des premiers IBM PC. Sur ces ordinateurs, lorsque vous démarriez sans disquette ou disque dur système, BASIC se lançait (à l'origine, ce dernier ne gérait que des cassettes). Les commandes conçues pour les cassettes demeurent dans GW-BASIC, pourtant livré avec des disquettes dédiées voire avec certaines versions de DOS

Téléchargements
Microsoft BASIC 5.21 - 1981 (45 Ko) Clics : 88
Microsoft BASIC 5.27 - 1982 (24 Ko) Clics : 71
Microsoft BASIC 5.28 - 1983 (24 Ko) Clics : 85
Microsoft GW-BASIC 2.02 - 1984 (50 Ko) Clics : 73
Microsoft GW-BASIC 3.20 - 1986 (58 Ko) Clics : 68
Microsoft GW-BASIC 3.22 - 1987 (59 Ko) Clics : 72
Microsoft GW-BASIC 3.23 - 1988 (59 Ko) Clics : 168
Manuel de référence (226 Ko) Clics : 160


Microsoft QuickBASIC 1
A l'époque, QuickBASIC 1.0 était connu sous le nom de "BASIC Compiler" et fut distribué au format disquette dès 1982. En fait, il utilise le même langage de programmation que GW-BASIC et n'est qu'une version en ligne de commande de ce dernier. Configuration minimale : 256 Ko de RAM, DOS 2.0 et un lecteur de disquettes 360 Ko.

Téléchargements
Microsoft BASIC Compiler 1.0 - 1982/1984 (133 Ko) Clics : 111
Microsoft BASIC Compiler 2.0 - 1985 (205 Ko) Clics : 132


Microsoft QuickBASIC 2
Ajout d'un éditeur d'environnement et d'autres nouveautés : support de tableaux numériques dynamiques (jusqu'à 64 Ko chacun), des fonctions BLOAD/BSAVE, de la condition IF..THEN..ELSE..ENDIF et des cartes vidéos EGA.

Téléchargements
Microsoft QuickBASIC 2.00 - 1986 (121 Ko) Clics : 101
Microsoft QuickBASIC 2.01 - 20 janvier 1987 (361 Ko) Clics : 99


Microsoft QuickBASIC 3
Les applications QB.EXE et QB87.EXE sont incluses, ce qui apporte un compilateur et un interpréteur à la fois. QB87.EXE exploite les coprocesseurs arithmétiques. L'éditeur fut significativement amélioré (ajout des codes SELECT CASE, DO LOOP, CONST ; prise en charge du mode texte 43-lignes sur les cartes vidéos EGA). Configuration minimale : 320 Ko de RAM, DOS 2.0 et un lecteur de disquettes 3.5" ou 5.25"

Téléchargements
Microsoft QuickBASIC 3.00 - 13 avril 1987 (370 Ko) Clics : 117
Manuel de référence (230 Ko) Clics : 158


Microsoft QuickBASIC 4
Support de variables TYPE définies par l'utilisateur (TYPE...END TYPE), de tableaux dynamiques de plus grande taille (supérieurs à 64 Ko), de valeurs chaines de longueur corrigée et des appels à des langages de haut niveau (Microsoft C, FORTRAN, Pascal). Débogueur amélioré pour l'éditeur, compatible avec Microsoft CodeView. QuickBASIC 4.50 a apporté une interface remaniée. Elle comprend aussi une version numérique du manuel de référence. Configuration minimale : 384 Ko de RAM, DOS 2.1 et deux lecteurs de disquettes (ou un disque dur)

Téléchargements
Microsoft QuickBASIC 4.0 - 10 octobre 1987 (586 Ko) Clics : 102
Microsoft QuickBASIC 4.5 - 1988 (1.1 Mo) Clics : 196


Microsoft QBasic
QBasic peut être vu comme une nouvelle version de QuickBASIC... bridée, car dépourvue de compilateur ! Il était complété par un nouvel éditeur de texte, EDIT.COM. Le duo fut conçu pour remplacer avantageusement les vieillissants GW-BASIC et EDLIN, qui n'avaient plus évolué depuis des années. Certains utilisateurs ont utilisé l'appellation officieuse de "QuickBASIC 5.0", peut être à cause du numéro de version des librairies (v5) ou du fait qu'il fut livré avec MS-DOS 5. QBasic 1.1 est apparu avec MS-DOS 6.0. Cette dernière version est également présente dans les disques d'installation de Windows 95 (répertoire other\oldmsdos) et même de Windows 98 (répertoire tools\oldmsdos). Bien que QBasic 1.1 de Windows 9x soit identique à celle de MS-DOS 6.x, EDIT a été entièrement réécrit dès 1995, et n'a plus du tout besoin de QBasic pour fonctionner.

Téléchargements
Microsoft Qbasic 1.0 - 1991 (281 Ko) Clics : 112
Microsoft Qbasic 1.1 - 1993 (287 Ko) Clics : 176

Dernière modification par Big Monstro le 22 juil. 2015 16:20, modifié 1 fois.

Haut
Citer
gm86
Sujet du message : Re: Propose lien vers site spécialisé Microsoft Basic
Publié : 06 avr. 2009 18:06
Membre inscrit
Avatar de l’utilisateur
Hors-ligne
 
Messages : 630
Inscription : 01 sept. 2008 19:07
 
Ce site est très intéressant puisqu'il propose en plus des QuickBasic et QBasic des interpréteurs BASIC utilisant les numéros de lignes, dont certaines versions sont introuvables ailleurs.
Pas mal de gens ont débuté l'informatique avec des ordinateurs incluant le BASIC Microsoft ou similaire -- moi-même j'ai touché un peu au BASIC sur MO5 et TO8 avec la tortue en prime.
Le programmeur soigneux évitera la "programmation spaghetti" et l'utilisation abusive des GOTO : les numéros de ligne servent
d'abord à faciliter la mise au point du programme (erreur à la ligne tant) avant de servir d'embranchement de type labyrinthe.
Pour comprendre les avantages de GWBASIC/BASICA à une époque, voici le lien à un article d'un littéraire :
http://www.epi.asso.fr/fic_pdf/b62p231.pdf

En revenant au site de RORO, de la documentation complète en anglais (il y a pire) est aussi disponible.

P.S. : le littéraire que je cite ne s'était pas rendu compte que QuickBASIC utilise par défaut des variables entières alors que GW-BASIC utilise des variables en simple précision.
L'IBM BASICA 2.10 proposé par le site est patché afin d'inclure le BASIC de ROM non présent sur les compatibles IBM. Bizarrement, la mémoire allouée au code est diminuée à la taille d'origine ; ce qui signifie que lancer une application DOS à l'aide de l'instruction SHELL provoquera un plantage lors du retour au BASIC.

Dernière modification par gm86 le 21 août 2012 19:50, modifié 4 fois.

_________________

C:\ONGRTLNS.W95


Haut
Profil Citer
RORO
Sujet du message : Re: Propose lien vers site spécialisé Microsoft Basic
Publié : 06 avr. 2009 18:51
 
 
Merci pour ces précisions, et je tiens à rajouter qu'à l'époque l'occupation disque était aussi un critère primordial pour le choix des programmes, vu l'extrème faible capacité des disques durs. Souvent les programmes etaient exécutés directement à partir d'une disquette.


Haut
Citer
Vorro
Sujet du message : Re: Propose lien vers site spécialisé Microsoft Basic
Publié : 06 avr. 2009 23:18
Modérateur
Avatar de l’utilisateur
Hors-ligne
 
Messages : 2423
Inscription : 20 juin 2006 22:54
PC Rétro : Compaq Contura Aero 4/33C !
 
Hey ! Pas mal, merci pour ce petit site. Un de plus dans mes Favoris ! 8)

_________________

[ img ]
:!: :arrow: :arrow: :arrow: Téléversez vos fichiers sur NWServeur (service fourni par Atnode)


Haut
Profil Citer
gm86
Sujet du message : BASIC-86
Publié : 19 juin 2015 21:21
Membre inscrit
Avatar de l’utilisateur
Hors-ligne
 
Messages : 630
Inscription : 01 sept. 2008 19:07
 
message du 26 mai 2009
Le première fois que j'ai utilisé Qbasic, j'ai numéroté toutes les lignes !
J'ai vite compris que c'était inutile vu qu'il y a deux fenêtres : l'édition du programme et l'exécution immédiate des instructions.
En GWBASIC/BASICA, toute ligne non numérotée est exécutée immédiatement. Elle ne fait pas partie du programme. C'est utile pour poser une opération ou vérifier des valeurs en vue de déboguer.

P.S. : l'interpréteur GW-BASIC était livré jusqu'aux versions 4.x de MS-DOS, qu'elles soient spécifiques ou pas aux différents constructeurs tels HP, Tandy, Compaq, Olivetti, Bull Micral, ZDS, Epson, Ericsson, etc. C'est pourquoi plusieurs interpréteurs existent, chacun étant spécifique et ne faisant pas forcément fonctionner un programme prévu pour un autre. Les numéros de version s'arrêtent à 3.23.
De son côté, IBM fournissait avec PC/DOS les BASIC disque et avancé (BASIC.COM et BASICA.COM) qui nécessitaient, tous deux, une machine IBM avec BASIC de ROM.
message du 6 juillet 2012
Je reviens sur ce lien qui révèle d'un grand intérêt.
Au passage, le BASICA 3 d'IBM qu'il présente est en fait un interprète portant le nom de BASICA.EXE et fourni pour les compatibles IBM de la marque MITSUBISHI. C'est donc un GW/BASIC car il ne nécessite pas la présence de la ROM BASIC des ordinateurs IBM.

Je vous conseille de télécharger les sources de QBASIC, l'environnement de programmation avec pseudo-compilation en mémoire de MS/DOS et PC/DOS. Elles sont d'une lecture intéressante.
Ainsi, l'instruction VIEW PRINT qui date de l'époque du prédécesseur et interprète GW/BASIC était bien prévue pour gérer de véritables fenêtres et non simplement définir quelles lignes d'écran défileront :
VIEW PRINT [<top line> TO <bot line>][,<left col> TO <right col>]
au lieu de
VIEW PRINT [<top line> TO <bot line>]
Malheureusement, l'écran d'édition de GW/BASIC ne pouvait supporter que des lignes entières.
Ensuite, pour ceux qui ne l'auraient pas remarquer, l'instruction COLOR de la plupart des interprètes et de QBASIC supportent trois paramètres que ce soit en mode texte (SCREEN 0) ou en mode graphique CGA 4 couleurs (SCREEN 1). Or, sous le mode graphique, le troisième paramètre ne fait que remplacer le deuxième. Pourquoi ne pas utiliser ce dernier paramètre pour la couleur de texte (et par défaut du tracé) comme sous TurboBASIC et PowerBASIC de Borland qui, pourtant, ne le documente pas. Cela éviterait d'utiliser l'astuce POKE 78,n (n={1;2;3;7}, 7 signifiant la couleur par défaut) qui fonctionne avec les GW/BASIC standards de Microsoft et BASIC(A) d'IBM. Je l'ai aussi essayé avec succès avec l'interprète pour MITSUBISHI mais l'instruction CLS réinitialise la couleur de texte. Pour rappel, certains interprètes GW/BASIC comme celui pour Olivetti utilisent cette syntaxe en mode SCREEN 1 :
COLOR fond, palette, premier plan graphique, fond graphique (?), couleur texte
Enfin, je pense à une dernière amélioration : la définition des touches par l'utilisateur. L'instruction est la suivante :
KEY n%, CHR$(indClav%) + CHR$(codeBal%)
Celle de PowerBASIC permet d'ignorer certains bits d'état du clavier via le dernier paramètre :
KEY n, CHR$(shiftstatus, scancode [,any])
De plus, QBASIC ne permet pas de distinguer les touches Maj gauche et droite (indClav%={1;2;3}). Pourtant, l'octet 17h du segment de données du BIOS (40h) indique cela :
1 Maj droite
2 Maj gauche

donc ce serait seulement 3 qui indiquerait une des deux touches.
Proposition de BASIC 5.21 et 5.27 => téléversés en interne, cf. supra

Vu que je ne possédais pas de disques originaux, je n'osais pas proposer ces archives. Néanmoins, je considérais que ces liens étaient très importants. En effet, la révision 5.27 est le seul interprète en BASIC Microsoft (Disk version) pleinement fonctionnel ; la version 5.28 étant défaillante au niveau de la déclaration des anciennes fonctions USR (routines assembleur).
Le BASIC Microsoft ne comporte aucune caractéristique propre à un ordinateur, telle la gestion graphique ou d'un périphérique de pointage. Il se base sur les capacités du système d'exploitation CP/M, ancêtre de MS-DOS. C'est le langage rencontré dans la plupart des listings exposées dans les vieux articles de programmation informatique.

Je continue donc sur mon idée de proposition d'une archive avec documentation, comme promis. Mais ces derniers mois, je ne savais pas comment la rendre attrayante. J'ai donc décidé de m'orienter vers un cours de programmation. J'en profiterai pour glisser dans le texte les particularités du BASIC-86 qui inspira directement GW-BASIC pour PC IBM et compatibles.
Le cours se basera sur les livres suivants :
- Initiation BASIC Programmation structurée de F.Crochet et D.Vilain aux éditions RADIO ;
- Techniques de BASIC sur IBM/PC et compatibles de John P. Grillo (Author) et J. D. Robertson (traduit d'un ouvrage américain).
J'ai un peu de temps libre pour griffonner un brouillon.

Je trouve que ce BASIC permet une excellente initiation à la programmation à condition d'être guidé. Il permet de bricoler rapidement et facilite donc les expérimentations. Le revers de la médaille est un style de programmation libre et pas forcément structuré. Toutefois, une fois le travail préparé sur papier comme le ferait tout bon programmeur, l'élaboration d'un programme profitera de la syntaxe clair de ce langage.
D'accord, il y a un brin de nostalgie. Simplement, lorsque Windows 95 est arrivé, seul QBasic restait accessible et les seuls livres de BASIC qui traînaient avaient rapport avec le BASIC Microsoft standard ou lié à des machines tels les Thomson MO5 et TO7.

_________________

C:\ONGRTLNS.W95


Haut
Profil
Afficher : Trier par : Ordre :
Répondre   Page 1 sur 1  [ 5 messages ]
Revenir à « Programmation »
Aller :