Section courante

A propos

Section administrative du site

Code source du Turbo Pascal 6

Le code source de Turbo Pascal version 6 est disponible sur des sites Web (comme archive.org) et est trouvable à partir d'un moteur de recherche depuis 2018. Il ne contient aucun commentaire et on ne s'est pas s'il s'agit de la version définitive 6.0 (s'il contient des bogues majeurs) en dehors du fait qu'elle contient une seule et unique chaîne de caractères de droits d'auteur. De plus, on ne se sait pas si c'est Borland ou une taupe travaillant pour l'entreprise l'ayant propagé sur l'Internet. Le produit date de l'année 1990 et est donc largement dépassé par les technologies actuelles et les prodiges ayant proposés sous successeur Delphi. Le code est toutefois fort intéressant et à un fort caractère pédagogique.

Le compilateur et l'éditeur de texte de code source est écrit en langage de programmation assembleur 8086 et l'IDE du Turbo Pascal 6 est écrit en Turbo Pascal lui-même. Le code source ne contient aucun code superflue et est franchement très petit et efficace. Toutefois, il manque certains fichiers comme par exemple DRIVERS.PAS, OBJECTS.PAS,... pourtant disponible avec l'édition commerciale.

Liste des fichiers du projet Turbo Pascal 6

Voici la liste des fichiers du code source de Turbo Pascal 6 :

Nom du fichier Description
BASM.PAS Ce fichier contient l'unité Turbo Pascal permettant l'interprétation du code assembleur inclus dans le code source Pascal (inclusion des objets du fichier COMPILER/BASM.ASM et COMPILER/OPCODES.ASM).
BPTDLG.PAS Ce fichier contient la boite de dialogue de point d'arrêt (BreakPoint) de l'IDE de Turbo Pascal 6.
CALSTKWN.PAS Ce fichier contient la boite de dialogue des appels de pile (Call Stack) de l'IDE de Turbo Pascal 6.
COMPILER\ARITH.ASM Ce fichier contient les procédures de multiplications, division de comparaison de type de données LongInt, Extended et Real.
COMPILER\ASM.ASM Ce fichier permet la gestion de la clause ASM, de ces étiquettes,...
COMPILER\ASMEXPR.INC Ce fichier permet de gérer les expressions dans une clause ASM.
COMPILER\ASMINSTR.INC Ce fichier permet d'évaluer les instructions dans une clause ASM.
COMPILER\ASMLEX.INC Ce fichier permet d'analyser lexicale de l'assembleur : Nombre, opérateur, symbole et les jetons.
COMPILER\BASM.ASM Ce fichier contient le noyau assembleur.
COMPILER\BASM.INC Ce fichier contient une inclusion assembleur pour évaluer les symboles assembleurs.
COMPILER\CHEAP.ASM Ce fichier contient les routines de mémoire de tas du compilateur.
COMPILER\CODEGEN.ASM Ce fichier permet de générer le code machine correspondant au code assembleur.
COMPILER\COMPILE.ASM Ce fichier permet de compiler les structures unitaires et de programmes.
COMPILER\COMPILER.INC Ce fichier contient une inclusion de la structures unitaire et de programme.
COMPILER\CONVERT.ASM Ce fichier contient les routines de conversions de nombre réel, entier et de chaîne de caractères.
COMPILER\CONVERT2.ASM Ce fichier contient les routines de conversions de types ordinal Byte, Integer, Word, LongInt,...
COMPILER\DEBANALZ.INC Ce fichier permet d'analyser les structures de tampons.
COMPILER\DEBEMUL.INC Ce fichier permet d'effectuer les traitements de déboguage avec l'Interruption 01h et l'Interruption 03h.
COMPILER\DEBOPCOD.INC Ce fichier permet d'indiquer le code machine correspondant du débogueur.
COMPILER\DEBUG.ASM Ce fichier contient les routines de cartographie (numéro de ligne,...) du débogueur.
COMPILER\DEBUG2.ASM Ce fichier contient les routines de PSP, de pile, de chargement de programme et d'exécution d'un programme du débogueur.
COMPILER\DEBUGGER.ASM Ce fichier contient les routines d'initialisation et de terminaison du débogueur.
COMPILER\DECLARE.ASM Ce fichier contient les routines de déclarations de constante, d'entier, de chaîne de caractères, d'énumérations...
COMPILER\ERROR.ASM Ce fichier contient le gestionnaire des erreurs.
COMPILER\EXPR.ASM Ce fichier contient le traitement des expressions.
COMPILER\EXTARITH.ASM Ce fichier contient l'arithmétique étendue.
COMPILER\EXTCONV.ASM Ce fichier contient les conversions étendues.
COMPILER\EXTEND.INC Ce fichier contient des macros étendues.
COMPILER\EXTPOW10.ASM Ce fichier contient les routines de puissance 10.
COMPILER\EXTSTR.ASM Ce fichier contient les routines d'extension de chaîne de caractères.
COMPILER\LEX.ASM Ce fichier contient les routines haché, d'entité, de calcul et de symbole du lexicale du compilateur.
COMPILER\LINK.ASM Ce fichier contient les routines de fabrication de liaison.
COMPILER\LINKMAP.ASM Ce fichier contient les routines de fichier .MAP.
COMPILER\OBJECT.ASM Ce fichier contient les routines de manipulation de fichier .OBJ.
COMPILER\OPCODES.ASM Ce fichier contient les routines de transformations des opcodes assembleurs.
COMPILER\OPERS.ASM Ce fichier contient les traitements de condition d'opération.
COMPILER\PUT.ASM Ce fichier permet d'injecter les informations de structure.
COMPILER\STDFUNC.ASM Ce fichier contient les fonctions intégrés du Turbo Pascal (ABS, CHR, COPY, CONCAT, CSEG, EOF, FILEPOS, HI, IORESULT, LENGTH, LO, MEMAVAIL, ODD, OFS, ORD, PARAMCOUNT, PARAMSTR, POS, PTR, RANDOM, SIZEOF, SQRT, SUCC, SWAP, TRUNC, UPCASE,...)
COMPILER\STDPROC.ASM Ce fichier contient les procédures intégrés du Turbo Pascal (APPEND, ASSIGN, BLOCKREAD, BLOCKWRITE, CHDIR, DELETE, DISPOSE, ERASE, EXIT, FREEMEM, GETMEM, HALT, INC, INSERT, MARK, MOVE, READ, READLN, RENAME, SETTEXTBUF, WRITE, WRITELN...)
COMPILER\STDUTILS.ASM Ce fichier contient les routines invisibles du Turbo Pascal comme le castre de type de données, l'empilage d'expression,...
COMPILER\STMT.ASM Ce fichier contient le traitement des mots réservés du Turbo Pascal (ASM, BEGIN, CASE, FILE, FOR, GOTO, IF, NEW, PORT, WHILE, WITH,...)
COMPILER\STMTPART.ASM Ce fichier contient les routines de gestion des entrées et les interruptions.
COMPILER\TDINFO.ASM Ce fichier contient les informations de symbole et de segment du Turbo Debugger.
COMPILER\TDINFO1.INC Ce fichier contient les informations d'unité du Turbo Debugger.
COMPILER\TDINFO2.INC Ce fichier contient les informations de constantes du Turbo Debugger.
COMPILER\TDINFO3.INC Ce fichier contient les informations de valeurs NIL, de chaîne de caractères et ordinal pour Turbo Debugger.
COMPILER\TDINFO4.INC Ce fichier contient les informations de fonctions et de membres pour Turbo Debugger.
COMPILER\TDINFO5.INC Ce fichier contient les informations de types, de variables, de tableaux, d'enregistrement pour Turbo Debugger.
COMPILER\TDINFO6.INC Ce fichier contient les informations d'allocation de mémoire pour Turbo Debugger.
COMPILER\TDINFO7.INC Ce fichier contient les routines d'écriture d'entête d'informations de déboguage de Turbo Debugger.
COMPILER\TPSTART.ASM Ce fichier contient les routines de démarrage et d'initialisation du compilateur.
COMPILER\UNITS.ASM Ce fichier contient les routines de gestion des unités du Turbo Pascal.
COMPILER.PAS Ce fichier contient les routines permettant de lancer la compilation, d'arrêt la compilation, de rechercher les erreurs de compilations et toutes les commandes générales associés à la compilation.
COMPOPT.PAS Ce fichier contient l'unité des options (directive) de compilation de Turbo Pascal.
COMPVARS.PAS Ce fichier contient les variables globales du compilateur.
COMPWIND.PAS Ce fichier contient la boite de dialogue de la progression de compilation.
CONFIG.PAS Ce fichier contient les routines de boite de dialogue de configuration de l'IDE de Turbo Pascal.
CONTEXT.PAS Ce fichier contient les constantes de contexte.
CONTROLS.PAS Ce fichier contient le contrôle de la liste des fenêtres de l'IDE de Turbo Pascal.
CPUWIN.PAS Ce fichier contient la boite de dialogue de la fenêtre des registres du microprocesseur.
DEBUG.PAS Ce fichier contient les commandes de déboguage dans l'IDE de Turbo Pascal 6.
EDITOR.PAS Ce fichier contient les routines d'une fenêtre de l'éditeur de fichier de code source en format texte.
EVALDLG.PAS Ce fichier contient les routines de la boite de dialogue d'évaluation d'expression.
EXTEND.PAS Ce fichier contient les routines de transformations des valeurs de types de données Extended.
FNAMES.PAS Ce fichier contient les routines de transformation de chemin de fichier.
GETOPT.PAS Ce fichier contient la routine de traitement des options de Turbo Pascal 6.
HELP.PAS Ce fichier contient les routines de la fenêtre d'aide de Turbo Pascal 6.
HELPFILE.PAS Ce fichier contient les routines de décompression des données contenu dans le fichier d'aide de Turbo Pascal 6.
HELPHIST.PAS Ce fichier contient les routines préserver l'historique de navigation de l'aide de Turbo Pascal 6.
HELPSCRN.PAS Ce fichier contient les routines d'affichage de l'écran d'aide de Turbo Pascal 6.
HELPUTIL.PAS Ce fichier contient les routines de recherches d'aide complémentaires.
MAKEFILE Ce fichier permet contient les définitions de fabrications des compilateur BASM, TPC et de l'IDE de Turbo Pascal 6.
MEM.PAS Ce fichier contient les routines de gestion de la mémoire EMS.
OUTPUTWN.PAS Ce fichier contient les routines de la fenêtre de sortie (Output).
PARAMS.PAS Ce fichier contient des routine de gestion de paramètres contenu dans le PSP.
REG.PAS Ce fichier permet d'enregistrer les objets de fenêtre de l'environnement de l'IDE de Turbo Pascal.
RUNERR.PAS Ce fichier contient la routine de gestion des erreurs fatales de l'IDE du Turbo Pascal.
SHELL.PAS Ce fichier contient la routine permettant d'appeler l'interpréteur de commande en libérant le maximum de ressource de l'IDE du Turbo Pascal.
STRNAMES.PAS Ce fichier contient les constantes de nom.
TCOLORS.PAS Ce fichier contient la boite de dialogue de sélection de couleurs.
TDINFO.PAS Ce fichier contient l'unité regroupant les routines de déboguage de fichier .MAP.
TDOS.PAS Ce fichier contient les routines de base de manipulation de fichier texte du DOS.
TEDIT\ED.INC Ce fichier contient les routines de manipulation de ligne.
TEDIT\EDBLOCK.ASM Ce fichier contient les routines de manipulation de bloc de l'éditeur.
TEDIT\EDCHANGE.ASM Ce fichier contient les routines d'entreposage de ligne de l'éditeur.
TEDIT\EDCURSOR.ASM Ce fichier contient les routines de déplacement du curseur dans l'éditeur.
TEDIT\EDDELETE.ASM Ce fichier contient les routines de fusion et de suppression d'une ligne de texte de l'éditeur.
TEDIT\EDINDENT.ASM Ce fichier contient les routines de gestion de l'indentation de l'éditeur.
TEDIT\EDINSERT.ASM Ce fichier contient les routines d'insertion de texte.
TEDIT\EDKEYS.ASM Ce fichier contient les entrées de raccourci clavier de l'éditeur de code source texte.
TEDIT\EDLINES.ASM Ce fichier contient les routines de recherches de ligne et de colonne.
TEDIT\EDMAIN.ASM Ce fichier contient les routines principales des commandes de l'éditeur code source texte.
TEDIT\EDMATCH.ASM Ce fichier contient les routines de recherche de prochaine ligne de recherche de jeton.
TEDIT\EDPAGES.ASM Ce fichier contient les routines d'affichage de page de l'éditeur de code source texte.
TEDIT\EDPOS.ASM Ce fichier contient les routines indiquant ou fixant la position de l'éditeur de code source texte.
TEDIT.PAS Ce fichier contient l'unité regroupement toutes les routines et les commandes de l'éditeur de code source texte.
TMENU.PAS Ce fichier contient la liste des éléments du menu de l'IDE du Turbo Pascal.
TRACER.PAS Ce fichier contient les routines permettant de tracer le programme.
TRES.PAS Ce fichier contient les informations de données de ressource (chaîne de caractères,...) qu'utilise l'IDE du Turbo Pascal 6.
TSTATUS.PAS Ce fichier contient les éléments de la barre d'état dans le bas de l'écran de l'IDE de Turbo Pascal 6.
TSTDDLG.PAS Ce fichier contient les boites de dialogues standard de l'IDE de Turbo Pascal 6.
TURBO.CMD Ce fichier contient les commandes de Turbo Pascal 6.
TURBO.PAS Ce fichier contient le code source du programme principale de l'IDE de Turbo Pascal 6 (c'est le démarreur).
TURBO1.PAS Ce fichier contient les jointures de commandes de l'IDE de Turbo Pascal 6.
TURBO2.PAS Ce fichier contient les boites de dialogues général de l'IDE de Turbo Pascal 6.
TVARS.PAS Ce fichier contient les variables de l'IDE de Turbo Pascal 6.
TWINDOWS.PAS Ce fichier contient les fenêtres de l'IDE de Turbo Pascal 6.
UTILS.PAS Ce fichier contient les routines de boite de dialogues utilitaires pour l'IDE du Turbo Pascal 6.
VFILES.PAS Ce fichier contient les routines de pages virtuelles dans les fichiers.
VIDEOIO.ASM Ce fichier contient les routines d'entrée/sortie d'initialisation et de terminaison vidéo écrit en assembleur utiliser dans l'unité VideoIO.
VIDEOIO.PAS Ce fichier contient les routines d'entrée/sortie d'initialisation et de terminaison vidéo.
VMEM.PAS Ce fichier contient les routines de traitements de flux de données lors d'échange de tampon de la mémoire virtuelle.
VMEMUTIL.PAS Ce fichier contient les routines pour mettre ou lire des données du tampons d'échange virtuelle de l'IDE du Turbo Pascal.
VSWAP.PAS Ce fichier contient les routines d'échanges de préservation de l'environnement et de l'écran de Turbo Pascal et du passage à un autre programme ou environnement.
WATCHWIN.PAS Ce fichier contient les routines de la fenêtre de boite de dialogue de surveillance (Watch) du débogueur.

Les utilitaires

Les utilitaires inclus avec le Turbo Pascal 6 ne sont pas inclus avec ses versions du code source de Turbo Pascal 6. Par contre, il existe des clones sur le Web de ses programmes :

Lien Langage de programmation Projet
https://github.com/gladir/TURBOPASCAL6-0/blob/main/CPUTEST.PAS Turbo Pascal TURBOPASCAL6-0
https://github.com/gladir/TURBOPASCAL6-0/blob/main/EMSTEST.PAS Turbo Pascal TURBOPASCAL6-0
https://github.com/gladir/TURBOPASCAL6-0/blob/main/GREP.PAS Turbo Pascal, Free Pascal TURBOPASCAL6-0
https://github.com/gladir/TURBOPASCAL6-0/blob/main/GREP2MSG.PAS Turbo Pascal, Free Pascal TURBOPASCAL6-0
https://github.com/gladir/TURBOPASCAL6-0/blob/main/TOUCH.PAS Turbo Pascal, Free Pascal TURBOPASCAL6-0


Dernière mise à jour : Mercredi, le 16 juin 2021