PC-BASIC, Programmes et fichiers

Guide de langage PC-BASIC

PC-BASIC peut contenir qu'un programme BASIC à la fois en mémoire.

Pour saisir une ligne de programme, lancez avec un numéro de ligne et entrez les commandes BASIC après cela. La longueur maximale d'une ligne de programme  est de 255 caractères, y compris le numéro de ligne et les espaces.

La ligne de programme ne sera pas être exécuté immédiatement, mais stocké dans le programme. Les lignes de programme sont triées par ligne nombre, de sorte que la ligne 10 est exécutée avant la ligne 20.

Toutes les lignes de programme doivent avoir un numéro de ligne. Les numéros de ligne vont de 0 à 65535 inclus. Il n'est pas possible d'entrer une ligne nombre supérieur à 65529, mais ceux-ci peuvent exister dans les programmes chargés.

Au sein d'une ligne de programme, les instructions sont séparées par deux-points :

EX.

195 C=1:W(X,1)=C:C=C+1
200 R=X:S=1:GOTO 260 

Pour exécuter le programme, tapez la commande RUN. PC-BASIC va maintenant exécuter toutes les lignes de programme dans l'ordre à l'intérieur de l'environnement de travail.

Vous ne pouvez pas déplacer le curseur ou entrer des commandes pendant l'exécution du programme.

Si et quand le programme se termine, le contrôle de l'environnement de travail reviendra pour vous.

Vous pouvez interrompre un programme à tout moment en utilisant l'une des combinaisons de touches Ctrl + Break ou Ctrl + Scroll Lock. Le programme s'arrêtera immédiatement, imprimera un message Break et vous rend le contrôle.

Dans GW-BASIC, vous ne pouvez pas utiliser Ctrl + C pour interrompre un programme en cours d'exécution.

Toutefois plusieurs les claviers modernes n'ont pas de touche Break ou Scroll Lock, ce qui rendrait impossible pour interrompre un programme qui ne se termine pas.

Par conséquent, par défaut, PC-BASIC traite Ctrl + C comme s'il s'agissait de Ctrl + Break.

Définissez l'option Ctrl-c-break=False si vous préférez le comportement GW-BASIC stylé.

Lors de l'utilisation de l'interface textuelle ou de ligne de commande, cette option est ignorée.

Un programme peut être stocké sur un lecteur à l'aide de la commande SAVE, de l'une des trois manières suivantes :

1. Texte brut, lisible par n'importe quel éditeur de texte : SAVE "MYPROG",A

2. Tokénisé, occupant moins d'espace de stockage : SAVE "MYPROG"

3. Protégé, qui est un format crypté : SAVE "MYPROG",P

Dans les trois cas, le programme sera écrit dans le répertoire de travail courant avec le nom MONPROG.BAS.

PC-BASIC peut lire et écrire des fichiers protégés créés par GW-BASIC. Contrairement à GW-BASIC, cependant, il ne désactive pas l'accès au contenu non chiffré du fichier.

Le cryptage utilisé par GW-BASIC a été cassé il y a plusieurs décennies, donc le mode protégé offrait peu protection de toute façon ; interdire l'accès est un petit danger pour la sécurité car cela permettrait à quelqu'un de vous envoyer un programme que vous ne pouvez pas inspecter avant de l'exécuter.

Cependant, il est possible de désactiver l'accès aux fichiers protégés en activant l'option hide-protected.

Vous pouvez lire un fichier programme en mémoire avec LOAD "MYPROG". Cela effacera le programme actuellement en mémoire et le remplacera par celui lu dans le répertoire de travail courant.

Pour accéder aux fichiers dans un répertoire différent, spécifiez un chemin à partir du répertoire courant.

la spécification du chemin suit les conventions DOS.

Le seul séparateur de chemin valide est la barre oblique inverse \.

Par exemple, LOAD "PROGRAMS\MYPROG".

Vous pouvez charger ou exécuter un programme immédiatement au démarrage de PC-BASIC en utilisant la commande load ou options d'exécution.

Par exemple, pcbasic --run=MONPROG.BAS

Les arguments de ces options peuvent être fournis sous forme de chemins PC-BASIC ou de chemins dans le formulaire standard pour votre système d'exploitation.

PC-BASIC permet de convertir entre les trois formats de programme :

Soit en chargeant le programme et enregistrement dans le format souhaité,

ou à partir de la ligne de commande en utilisant l'option de convertisseur.

Pour convertir un fichier tokenisé ou protégé en texte brut, vous pouvez utiliser, par exemple :

pcbasic --convert=A PROGRAMME.BAS PROGRAMME.BAS

Accéder à vos disques

PC-BASIC émule les périphériques de disque DOS, qui sont désignés par des lettres de lecteur telles que Z:, C: 

L'une des lettres de lecteur correspond au périphérique actuel.

Sous Windows :

• Par défaut, les périphériques de disque PC-BASIC s'accorderont avec les lettres de lecteur Windows au démarrage de la session PC-BASIC.

• Si PC-BASIC est démarré à partir du raccourci du menu Démarrer, le périphérique actuel sera votre Dossier Documents (ou Mes Documents sur certaines versions de Windows). Vous pouvez modifiez cet emplacement en définissant le dossier Démarrer du raccourci.

• Si PC-BASIC est démarré à partir de l'invite de commande, le périphérique actuel sera défini sur le répertoire de travail actuel de l'invite de commande.

• Si le périphérique actuel de PC-BASIC ou le dossier Démarrer dans est remplacé par un dossier système tel que comme C:\Program Files\PC-BASIC , Windows déplacera les fichiers qui y sont écrits vers %LocalAppData%\VirtualStore à la place.

• Notez que les périphériques de disque DOS de PC-BASIC ne sont pas le même que le lecteur Windows. Le périphérique C: sur PC-BASIC n'est pas toujours votre lecteur Windows C:.

Par par défaut, les lettres de lecteur Windows sont mappées sur les périphériques PC-BASIC au démarrage de la Session PC-BASIC. Cependant, si vous utilisez l'option mount ; ou si les lettres du lecteur Windows changent pendant que PC-BASIC est en cours d'exécution (via, par exemple, l'utilisation du réseau ou la carte du réseau Drive Operations), ils ne seront plus d'accord.

Sur d'autres systèmes :

• Par défaut, Z : pointera vers le répertoire de travail actuel à partir duquel PC-BASIC a été lancé. Ce sera l'appareil actuel.

• S'il est démarré à partir d'un menu ou d'un package d'application, il s'agira généralement de votre répertoire personnel ˜.

Ce périphérique actuel est l'endroit où les fichiers seront enregistrés et chargés dans BASIC. Si vous ne le faites pas, spécifier un autre endroit.

Vous pouvez changer le périphérique actuel à l'aide de l'option de périphérique actuel dans le fichier de configuration ou sur l'invite de commande.

ou installer PC-BASIC dans votre répertoire de programme...

ou si vous utilisez des sous répertoire pour vos programmes, vous pouvez créez un répertoire racine du disque.

Ex. Dans un répertoire nommé C:\Basic

Fichiers à copier dans votre répertoire de travail ou dans tous vos répertoires si vous voulez en utiliser plusieurs

Soit: Le dossier Lib, les fichiers pcbasic.exe, pcbasicw.exe, python3.dll, python37.dll

Vous pouvez mapper des lecteurs et d'autres emplacements de système de fichiers en tant que périphériques PC-BASIC en utilisant le option de montage.

Par exemple, sous Windows, l'option mount=A:C:\Users\Me\BasicFloppy rendra le dossier C:\Users\Me\BasicFloppy disponible en tant que périphérique A: de PC-BASIC.

Sur d'autres plates-formes, un exemple d'option de montage pourrait ressembler à mount=A:/home/me/BasicFloppy ce qui rendrait le répertoire /home/me/BasicFloppy disponible en tant que le périphérique A: de PC-BASIC.

PC-BASIC utilise les conventions DOS pour les noms de fichiers et les chemins. Ceux-ci ont des différents de Conventions de noms de fichiers courts Windows et pas si différentes des conventions Unix.

Cette peut conduire à des effets surprenants en présence de plusieurs fichiers correspondant au même Nom DOS. Pour éviter de telles surprises, il est préférable d'exécuter PC-BASIC dans un répertoire de travail qui lui est propre et utilisez le format tout en majuscules pour tous les fichiers.

Fichiers BASIC compatibles

De nombreux dialectes BASIC utilisent la même extension.BAS, mais leurs fichiers ne sont pas compatibles. PC- BASIC exécute uniquement les fichiers de programme GW-BASIC.

Quelques conseils pour reconnaître les programmes GW-BASIC :

• Les fichiers GW-BASIC stockés sous forme de texte sont des fichiers de texte brut avec des numéros de ligne.

• Les fichiers tokenisés sont des fichiers binaires commençant par l'octet magique &hFF.

• Les fichiers protégés sont des fichiers binaires commençant par l'octet magique &hFE.

En particulier, les fichiers QBASIC (qui n'ont pas de numéro de ligne) et les fichiers QuickBASIC (magic byte &hFC) ne fonctionnera pas.

PC-BASIC acceptera les conventions de retour à la ligne DOS et Unix pour les programmes stockés en clair texte. Ce comportement est différent de GW-BASIC, qui n'accepte que les fichiers texte avec CR LF fins de ligne.

Par conséquent, dans des cas exceptionnels où une ligne de programme est continuée via LF correct, les fichiers texte GW-BASIC peuvent ne pas être chargés correctement.

Si vous rencontrez de tels un cas, utilisez l'option soft-linefeed pour activer le comportement GW-BASIC.

Si le saut de ligne progressif est activé, les fichiers texte au format Unix standard (fins de ligne LF, pas de caractère de fin de fichier) échoueront à se charger, comme ils le font dans GW-BASIC.

Sous Linux ou Mac, utilisez un utilitaire tel qu'unix2dos pour convertir programmes enregistrés sous forme de fichiers texte avant de les charger.

Lors de l'enregistrement en tant que texte, PC-BASIC utilise les fins de ligne CR LF et &h1A à la fin du fichier.

Paquets PC-BASIC peut exécuter des programmes packagés.

Un package est simplement un répertoire ou une archive zip.

Le contenu du répertoire ou du fichier zip sera chargé en tant que répertoire de travail actuel.

Si une configuration fichier nommé PCBASIC.INI est présent dans ce répertoire, ses paramètres sont chargés ; habituellement, un de ces paramètres sera un argument d'exécution lié à un programme BASIC inclus dans l'archive ou le répertoire.

PC-BASIC reconnaîtra les fichiers zip quelle que soit leur extension.

Une suggestion

L'extension pour les packages PC-BASIC est.BAZ.

Les packages sont un choix pratique si un programme doit modifier de nombreuses options PC-BASIC pour fonctionner comme vous le souhaitez, ou s'il a besoin d'une configuration du répertoire de travail.

Les packages de fichiers zip sont décompressés dans un répertoire temporaire chaque fois qu'ils sont chargés. Le répertoire temporaire est supprimé à la fermeture de PC-BASIC.

Avec les packages zipfile, il est donc impossible d'enregistrer les fichiers et de les rouvrir lors de la prochaine exécution du package.

Cassettes audio

Le périphérique CAS1 s'interface avec l'émulateur de cassette. Les cassettes n'ont jamais été très populaires sur IBM PC, et en effet uniquement disponible avec le PC d'origine et le PCjr. Il n'y a pas de nombreuses cassettes IBM PC dans la nature.

Cependant, si vous en croisez un, il vous suffit pour le lire avec PC-BASIC est de l'enregistrer dans un fichier.WAV (RIFF WAVE) et de le joindre au CAS1 : périphérique avec l'option cas1=WAV:filename.

Vous pouvez également générer votre propre bande images et stockez-y vos programmes. Les fichiers WAV générés par PC-BASIC sont volumineux mais très facilement compressé dans une archive ZIP; cela fonctionne mieux et conduit à des fichiers plus petits qu'un transcodage vers un format audio avec perte comme MP3.

Comme alternative à .WAV, vous pouvez stocker des bandes au format CAS. Il s'agit simplement d'un petit vidage de la bande et est interchangeable avec les images de bande pour l'émulateur PC IBM PCE.

Les versions précédentes de PC-BASIC incluaient la prise en charge des cassettes BASICODE; cela a été abandonné au profit d'un décodeur BASICODE séparé. Utilisez ce décodeur pour convertir le programme BASICODE au format PC-BASIC avant de le charger dans PC-BASIC.

Sécurité PC-BASIC fait des choix par défaut avec la sécurité de base, mais ne sécurise pas ses programmes de manière significative.

Les programmes BASIC ont un accès plus ou moins complet à votre ordinateur. Vous devez les traiter avec la même prudence que vous le feriez avec des scripts shell ou binaires.

Par conséquent, n'exécutez pas un programme à partir d'Internet que vous n'avez pas inspecté au préalable. En utilisant LIST ou pcbasic --convert=Un nom de fichier sur la ligne de commande. Vous ne vous contenteriez pas de télécharger un exécutable sur Internet et de l'exécuter soit, non?

 

 

 

 

 

 

 

Recherche personnalisée