
|
Bienvenue sur les pages du site de LPJJl Software dédiées à la programmation ! J'ai rassemblé ici tout ce qui compose mon environnement de développement : sources, docs et liens utiles. Une partie de ces ressources (notamment les tutoriels et les sources) est hébérgée sur les serveurs de www.developpez.com. Ayant
la chance de programmer de manière indépendante, j'ai pu choisir ma
voie, qui n'est pas celle de la facilité puisque je n'utilise aucun outil
de RAD (développement rapide et visuel d'applications). |
New
(29-05-2008) Sources
Pascal (Win32) : Unit WinShell 3.0 - Programme
complet d'installation de l'EDI BPW 7.0
New
(29-05-2008) Formats
de fichiers : Dot What!? - extensions de
fichiers
New
(29-05-2008) Programmation
Pascal : TPW 1.5 et BPW 7.0 téléchargeables
sur www.developpez.com
Visites (depuis le 03-04-2005) :
Pascal
Assembleur
C
Système - MS-DOS - Windows - Linux
Hardware - BIOS
PC Games Programmer's Encyclopedia (PC-GPE)
Plate-forme MS-DOS
Plate-forme Windows 16 bits
Plate-forme Windows 32 bits
EDI, compilateurs et aides en ligne
Programmation Pascal
Programmation Assembleur
Programmation Windows
Programmation système
Programmation hardware
Sites de programmation généralistes
Autres langages et technologies
Système - MS-DOS - Windows - Linux
Formats de fichiers
Les quelques docs et sources qui suivent m'ont bien servi et sont sans doute devenus difficiles à trouver, à cause de leur relative vétusté. L'avertissement est donc lancé : ce qui suit est probablement en grande partie obsolète. Mais, parfois, on est bien content d'avoir gardé ses vieilles disquettes...
Si vous utilisez certains extraits des sources proposés, veuillez vérifier la licence d'exploitation indiquée par leur auteur.
InfoMem 2.0 : informations sur l'occupation de la mémoire et tests
SpeakWav 1.0 : pour jouer un fichier wav sur le haut-parleur du PC
Diskinfos 1.5 : informations générales sur le disque dur et tests
Parquer 2.7 : pour parquer des disques durs
Boot 1.0 : pour booter à chaud, à froid ou sous Windows 3.x
Delp 1.0 : amélioration de la commande del
DelSof 1.0 : effacement de fichiers sauf ceux spécifiés
DelTree 2.0 : amélioration de la commande deltree
TreePlus 1.5 : amélioration de la commande tree
Unit CmdLine : unité d'analyse de paramètres passés en ligne de commande
Unit XMS : gestionnaire de mémoire XMS
K-Tools - bibliothèque d'unités d'objets Turbo Pascal 6 et 7
Labyrinthe 3D - sources d'un jeu en VGA avec images au format PCXUnit UDrivers : gestion du clavier et de la souris
Unit UTextScr : gestion de l'écran en mode texte
Unit UMem : gestion de la mémoire
Unit UImprim : gestion de l'imprimante
Unit OTableau : objets liés aux tableaux dynamiques
Unit OFile : objets liés aux fichiers
Unit OBinFile : objets liés aux fichiers avec mémoire tampon
Unit OFText : objets liés aux fichiers textes
Unit OFHelp : objets liés aux fichiers d'aide
Unit OFWrite : objets liés aux fichiers .wri (Write for Windows)
Unit OFSwag : objets liés aux fichiers swag
Unit OFZip : objets liés aux fichiers .zip
Unit OFDirTab : objets liés à la constitution de listes des fichiers d'un répertoire
Unit OChamp : objet champ de saisie
Unit OTEdit : éditeur abstrait
Unit OGenView : objet générique représentant une zone d'écran
Unit OTxtView : objet représentant une zone d'écran en mode texte
Unit ODialWin : fenêtres de dialogues simples
Unit OFileWin : fenêtres de visualisation d'un fichier texte
Unit OTextWin : fenêtres de visualisation de textes
Unit OHelpWin : fenêtres d'aide
Unit OCRTWin : fenêtres simulant la console DOS
Unit OCalend : fenêtre calendrier
Unit OEdWin : fenêtre d'édition de texte
textread.pas : visualisateur de fichiers textes
wriread.pas : visualisateur de fichiers .wri
swagread.pas : visualisateur de fichiers swag
zipview.pas : visualisateur de fichiers .zip
kmenu.pas : menu pour disque dur
batmenu.pas : menu pour dsiquette
miniedit.pas : mini-éditeur
calend.pas : calendrier
Midas Sound System 0.32 - système digital multi-canaux en Pascal et Assembleur - plusieurs cartes son supportées
Gnasher v. 24 - sources d'un Pac-man en Turbo PascalPascal Wizard Library - sources divers en Pascal
PC Sound Programmer 2.0 - pour jouer de la musique sur le haut-parleur du PCUnit Archives : routines de visualisation du contenu de fichiers de plusieurs formats d'archives
Unit BCD : opérations sur les nombres BCD (Binary-Coded Decimal)
Unit Equipmt : routines de détermination de l'environnement matériel et logiciel
Unit ExtMath : fonctions mathématiques étendues
Unit Joystick : routines de gestion du joystick
Unit Keyboard : routines de gestion du clavier
Unit Mouse : routines de gestion de la souris
Unit Music : langage permettant de jouer de la musique plus simplement que les fonctions de base du Pascal
Unit Strings : routines de compression, cryptage, recherches, extraction, etc, de chaînes de caractères
PCX Kit, UPKPCX - gestion du format PCX en Pascal, C et Assembleur
Personal Communications Lib for Pascal 4.3 - modems et interface sérieGestion de la Sound Blaster et des fichiers VOC en Pascal
sbdetect : détection du modèle de carte Sound Blaster
Unit sbdsp.pas : programmation du DSP, accès direct au matériel, DMA, double-buffering, mixage d'échantillons, sortie stéréo, gestion des formats VOC et WAV, ajustement de volume en temps réel, enregistrement line-in/micro/CD
testsb.pas : joue des fichiers VOC sur tous modèles de cartes Sound Blaster
Source (Delphi) de l'IDE et du compilateur Inno Pascal
Unit FastSprite3 - sprites en Pascal avec source d'un space gameStarField en VGA - exemple d'utilisation des formules de projection centrale
TrueType fonts for DOS 1.60 (également fontes Windows, BGI et BIOS)Prof. Timo Salmi's Turbo Pascal FAQ
XMS Demo - copie de fichier via la mémoire XMS
Adressage en mode flat 32 bits
Opcodes de toutes les instructions, du 8086 au PentiumDivers sources en Assembleur
386reg.asm : programmation d'un timer à l'aide de l'int 08h - affichage en temps réel du contenu des registres en haut de l'écran
100x37.asm, 132x43.asm, 80x30.asm et 90wide.asm : manipulation des registres vidéo pour changer le nombre de lignes et de colonnes de texte à l'écran
blitzkey.asm : BlitzKey 1.00 - TSR fournissant un gestionnaire amélioré du clavier (ajout de fonctionnalités à l'int 16h)
bootdos5.asm : bootstrap loader de MS-DOS 5
bootsect.asm : secteur de boot de MS-DOS 6.20 (version allemande)
c_alt_dl.asm : TSR qui intercepte Ctrl-Alt-Del pour afficher le contenu des registres ainsi que l'instruction suivante à excécuter
cacheoff.asm : désactivation du cache d'un 486 ou d'un Pentium
chain.asm et fatview.asm : parcours de la chaîne des clusters et secteurs composant un fichier (FAT12)
chfont.asm : change la police de caractères en programmant les registres vidéo
chime1 : affiche l'heure et fait retentir un carillon toutes les heures (programmation de timers)
click.asm : sortie d'un clic sur le haut-parleur chaque fois qu'une touche est pressée
cmos.asm : sauvegarde de la CMOS (64 ou 128 bytes) dans un fichier
cpu2asm : identification du type de processeur (jusqu'au 486) à l'aide de son n° de masque
devchain.asm : affiche la liste des pilotes DOS résidant en mémoire
device.asm : squelette d'un pilote de périphérique DOS
dimmer.asm : TSR permettant de régler l'intensité d'éclairage d'un écran VGA
dirtree.asm et vtree.asm : affichage de l'arborescence des répertoires d'un disque
dos_log.asm : Dosmon - TSR qui affiche des informations durant l'exécution de services DOS
dpmi.asm : bascule en mode protégé et affiche un message
drlite.asm : loupiotte indiquant l'activité d'un lecteur (disque dur ou disquette) en haut de l'écran
enaba20.asm : activation et désactivation de la ligne d'adresse A20
envedit.asm : édition interactive des variables d'environnement du DOS
exe2bin2.asm : alternative à l'utilitaire exe2bin pour PC-DOS 3.3
exesize.asm : démonstration du calcul de la taille d'un exécutable à partir de son header
exetocom.asm : programme à utiliser comme préfixe à un .exe pour en faire un .com qui se charge plus rapidement en mémoire
fire2.asm : effet de flammes en mode 13h
follower.asm et mcb.asm : parcours de la chaîne des MCB (Memory Control Blocks)
format.asm : programme de formatage de disquette
fractal.asm, fractal2.asm, tinyfrac.asm et Xmas fractals '94 : génération de fractales
gwintext.asm : fenêtre graphique en mode texte
hdpark.asm : utilitaire permettant de parquer les têtes d'un disque dur
hdprotec.asm : protection d'un disque dur contre l'écriture (détournement de l'int 13h)
hwread.asm : démonstration de l'accès direct au contrôleur de disquette
isprot.asm : détermine si le processeur est en mode protégé et à quel DOS extender il se conforme
key128.asm : modification de la taille du buffer clavier
level.asm et tsremove.asm : suppression propre de TSR de la mémoire
lh-tsr.asm : TSR s'installant en mémoire haute
loader.asm : alternative plus rapide au loader de MS-DOS
mem-find.asm : recherche de chaînes de caractères en mémoire
mouse.asm : pilote de souris (émulation)
newbeep.asm : TSR qui modifie le beep système par défaut
psp-env.asm : accès aux variables d'environnement via le PSP
random.asm et random3.asm : générateurs de nombres aléatoires
scancode.asm : affiche le scancode de chaque touche pressée en haut de l'écran (détournement de l'int 09h)
scrnsave.asm : screen saver TSR
show-mcb.asm : TSR très complet qui affiche tous les détails de la configuration du PC, des pilotes, des blocs mémoire, etc
silent.asm : éteint le haut-parleur du PC
test4ems.asm : affiche les caractéristiques du pilote EMS
tetris13.asm : TinyTetris 1.3 - jeu de Tetris
uuencode.asm et uudecode.asm : cryptage et décryptage uuCode
vgamoire.asm : démonstration du mode non documenté 320 x 400 x 256 couleurs
vgapan.asm : démonstration du smooth panning en mode texte
vrate.asm : calcule le taux de rafraîchissement du mode vidéo courant
Petit glossaire MS-DOS (notions fondamentales, astuces)
Référence générale sur la compression de données
La référence de la programmation batch par le Prof. Timo Salmi
Référence du Microsoft Windows 3.x SDK- user, kernel, Win32s
VGAdoc 2ème édition - références techniques des chips SVGA
Liste des ports d'entrée/sortie
Glossaire complet sur les interruptions (jusqu'à MS-DOS 7)The Printer 2.5 - catalogue des codes d'échappement de centaines d'imprimantes - exécuter printer.exe
Far call interface list : liste de toutes les adresses des fonctions BIOS, DOS, noyau Windows, pilotes, etc
La zone de données du BIOS en mémoire
Bugs propres aux processeurs de la famille 80x86Documentation générale sur la programmation système
~dpmi.txt : spécifications DPMI (DOS Protected Mode Interface) version 0.9
~vcpi.txt : spécifications VCPI (Virtual Control Program Interface)
~xms.txt : spécifications XMS version 2.0
486opt.txt : optimisation de code pour le 486
a20.txt : test des réglages optimaux de la ligne d'adresse A20
antidbg.txt et antidebg.txt : techniques pour lutter contre le désassemblage
asm.txt : table d'assemblage 8086
assume.txt : explications sur la directive assume
child.txt : précisions sur la fonction DOS Exec
cmd-line.txt : comment accéder aux paramètres passés au programme dans la ligne de commande
cmos.txt : lecture et structure de la CMOS
debug.txt : tutoriel sur l'utilitaire debug
dma.txt : introduction au DMA (Direct Memory Access)
dmafaq.txt : tutoriel DMA
dmaports.txt : registres et ports DMA
exehdr.txt et exeheadr.txt : structure du header d'un exe
fat.txt et format.txt : structure et lecture d'une FAT
hdsleep.txt : mise en veille d'un disque dur
kbdlight.txt : contrôle des LED du clavier
loadall.txt : précisions sur l'instruction non documentée loadall
lock-kbd.txt : blocage du clavier par redirection de l'int 09h
mcb.txt : détection de virus résidents en parcourant la chaîne des MCB (Memory Control Blocks)
mod.txt : description du format de fichier MOD
obj.txt : structure d'un fichier objet
opcode.txt : résumé des opcodes des instructions du 80486
pc-spkr.txt : utilisation du canal 2 du 8253 pour produire un son sur le haut-parleur du PC
pic.txt : référence du PIC 8259
pit.txt : utilisation du 8254 pour produire des sons
pmode.txt et procmode.txt : généralités sur les modes réel et protégé
protmode.txt : accès au mode protégé via VCPI
random#.txt : génération de nombres aléatoires
reboot.txt : code pour rebooter le PC
rtc.txt : programmation de la RTC (Real Time Clock)
sbcprog.txt : transfert de données du DSP de la Sound Blaster sans DMA
sb-prog.txt : programmation des canaux FM des cartes Adlib et Sound Blaster
serial.txt : tutoriel sur les communications série (RS232)
serial19.txt : communication série avec le protocole TTY
sndblstr.txt : programmation de la carte Sound Blaster
sounds.txt : production de sons sur le haut-parleur du PC en programmant le 8253 et le 8255A
umb.txt : utilisation de l'interface XMS pour déterminer l'adresse et la taille des UMB (Upper Memory Blocks) disponibles
vesabios.txt : spécifications VBE (Vesa bios extension) version 2.0
PC-GPE
: une encyclopédie complète sur tous les aspects de la programmation de jeux !
La meilleure façon d'en profiter est de passer par l'interface pcgpe.exe.
Sujets traités :
Assembleur
Tutoriel pour débuter en Assembleur
Liste des opcodes des instructions des processeurs Intel 80x86
Test du type de CPU en Pascal
Test de fréquence du processeur en Assembleur (jusqu'au 486)VGA
Tutoriel en 10 parties sur la programmation de trainers
Le mode X
Le scrolling
Programmation des registres et des palettes
Les fonctions du BIOS VGASVGA
Introduction à la programmation des cartes SVGA
Le standard VESA
Technologie des cartes ATI, Genoa, Trident, Paradise, Tseng
Identification du chip SVGA
Programmation du chip Video7
Le mode XtendedAlgorithmes graphiques
Rotations 3D
Shading 3D
Perpectives
Algorithmes de Bresenham
Coniques
Introduction aux arbres BSP
Texture mapping et free direction texture mappingEffets spéciaux graphiques
Star field
Effet de flammeFormats de fichiers
Fichiers graphiques : BMP, PCX, GIF, IFF, LBM, FLI, FLC
Fichiers sons : MOD, VOC, WAV, CMF, SBI, IBK, midi, Ultra trackerSons
Haut-parleur PC
Game Blaster
Adlib
Sound Blaster
Gravis Ultra Sound
Le son surroundProgrammation des périphériques d'entrée
Introduction à la programmation de la souris
API du pilote de souris Genius
Programmation du clavier
Programmation du joystick
Programmation du Gravis gamepad et du Gravis analog proMémoire
EMS : spécifications LIM
Spécifications XMS
Introduction du DMA (Direct Memory Access)Programmation du PIT 8253 (en Pascal)
Divers : techniques utilisées par le moteur 3D de Doom
Initiation à la programmation Windows en Virtual Pascal avec la bibliothèque OWL
Il s'agit d'un tutoriel complet d'initiation à la programmation Windows en Pascal objet avec la bibliothèque OWL (Object Windows Library), une alternative intéressante à Delphi. Le tutoriel vous aidera à découvrir les rouages intimes de Windows.
Le compilateur utilisé est Virtual Pascal 2.1.
Prérequis : de bonne notions du langage Pascal sont indispensables.
Le thunking générique en Pascal
Le thunking générique permet à une application Windows 16 bits d'utiliser les routines de l'API Windows 32 bits. Et cela grâce à quelques fonctions du kernel 16 bits implémenté dans les versions 32 bits de Windows.
Si la technique utilisée, quoique assez pointue, est assez naturelle à mettre en oeuvre en C, elle entraîne certaines difficultés en Pascal puisque ce langage ne supporte pas le prototypage de procédures et fonctions à nombre variable de paramètres.Ce tutoriel peut être mis en rapport direct avec le source de l'unité Win32.
Les sources ci-dessous sont théoriquement
compilables directement avec Turbo Pascal 7.0.
Toutefois, si vous rencontrez un conflit de version de l'unité TXT, vous pouvez
en télécharger le source complet ici pour la recompiler.
Tennis Tournament Organizer 1.20 (Turbo Pascal 4.0 et MASM 5.0 - 1997)
Gestion complète d'un tournoi de tennis de table.
Le contenu de la disquette d'installation et le source de l'utilitaire d'installation sont également fournis.Sujets intéressants :
Menus déroulants et fenêtrage en mode texte;
Gestion de la souris en mode texte;
Programmation de timer;
Screen-saver;
Sauvegarde automatique;
Système complet d'aide contextuelle;
Options avancées;
Gestion de fichiers textes de grande taille;
Impressions sous MS-DOS.Téléchargement :
Triple Yahtzee 2.20 (Turbo Pascal 4.0 - 1996)
Jeu de triple Yahtzee en mode texte, à 10 joueurs maximum sur le même poste.
La présence du source ne se justifie pas vraiment par son intérêt intrinsèque mais plutôt pour que vous puissiez faire la comparaison avec les versions ultérieures du programme (la version 3.00 pour Windows 16 bits et la version 4.00 (en réseau) pour Windows 32 bits).Sujet intéressant : bonne illustration de l'utilisation de l'unité TXT 2.00, dont le source est également disponible.
Téléchargement :
Unit TXT 2.00 (Turbo Pascal 4.0 et MASM 5.0 - 1993)
Il s'agit d'une unité complète de gestion d'écran en mode texte.
Cette unité est utilisée en lieu et place de l'unité CRT de Turbo Pascal dans la plupart des sources présentés dans ce chapitre, du moins pour la plate-forme MS-DOS.
Vu l'avènement de Windows, la version 3.00 est restée inachevée. Un système de communication entre fenêtres était en cours de développement, ainsi que la gestion intégrée de la souris et une reconnaissance accrue du hardware vidéo.Sujets intéressants :
Beaucoup de routines de bas niveau de gestion du mode texte;
Fenêtrage avec possibilité de sauvegarde en mémoire et de restauration du contenu d'une fenêtre;
Routines de lecture au clavier avec possibilités de filtrage de caractères;
Activation et désactivation du Ctrl-Break;
Simulation par le BIOS d'une touche pressée au clavier;
Réglage du typematic du clavier;
Possibilité de dessiner sa propre police de caractères;
Possibilité de modifier le curseur.Téléchargement :
Mines 1.01 (Turbo Pascal 4.0 et MASM 5.0 - 1993)
C'est le célèbre démineur de Windows sous MS-DOS en mode graphique.
Sujets intéressants :
Programmation en mode graphique;
Implémentation d'un timer.Téléchargement :
Echecs 1.00 (Turbo Pascal 4.0 et MASM 5.0 - 1993)
Permet d'encoder et de jouer des parties d'échecs en notation internationale.
Attention : ne tourne que sous MS-DOS.Sujet intéressant : dessin de caractères ASCII personnalisés pour représenter des pièces d'échecs en mode texte.
Téléchargement :
CMOSSave / CMOSLoad 1.00 (Borland Pascal for Windows 7.0 - 2005)
Ces petits utilitaires permettent de sauvegarder les données de la zone de mémoire CMOS (CMOSSave) et de les restaurer (CMOSLoad).
Sujets intéressants :
Lecture et écriture dans la zone de mémoire CMOS par accès direct aux ports.
Téléchargement :
Unit Win32 1.00 (Borland Pascal for Windows 7.0 - 2004)
Cette unité permet à un programme Windows 16 bits d'utiliser les routines de l'API Windows 32 bits.
Sujet intéressant : la technique utilisée est le thunking générique, dont un tutoriel est disponible.
Le langage Pascal ne supportant pas le prototypage de procédures ou fonctions à nombre variable de paramètres, un subterfuge est utilisé pour contourner cet obstacle.Téléchargement :
Secours 2.00 (Borland Pascal for Windows 7.0 - 2000)
Ce programme permet de récupérer des données sur une disquette défectueuse. Il m'a d'ailleurs sauvé la mise plus d'une fois.
Il peut combiner les portions valides des deux copies de la FAT pour reconstituer la séquence des secteurs d'un fichier ou d'un répertoire.Sujets intéressants :
Parcours d'une FAT 12 bits;
Fenêtres enfants et dialogues non modaux;
Dialogues Windows standard d'enregistrement de fichier, de choix de police de caractère et de choix de couleurs.Téléchargement :
Budget 1.00 (Borland Pascal for Windows 7.0 - 2000)
Il s'agit d'un calendrier permettant, mois par mois, de suivre ses recettes et dépenses. Il est également possible de planifier tout cela dans le futur, à l'aide d'un outil de report paramétrable. Des petits pictogrammes, correspondant à certains types de recettes ou dépenses, améliorent la lisibilité du calendrier.
Sujets intéressants :
Le calendrier qui s'affiche est une ListBox dont le fonctionnement normal a été détourné;
Tracé de courbes et de graphiques camemberts.Téléchargement :
Triple Tahtzee 3.00 (Borland Pascal for Windows 7.0 - 1999)
Jeu de Triple Yahtzee à 10 joueurs maximum sur le même poste.
Il s'agit du portage sous Windows 16 bits de la version 2.20 du jeu, destinée à MS-DOS (également disponible sur ce site).Sujet intéressant : l'utilisation de l'interface MDI pour attribuer une fenêtre enfant à chaque joueur. Indirectement, cette technique a ajouté une possibilité supplémentaire au jeu : l'ordre normal des tours peut être détourné et un joueur peut passer son tour ou jouer plusieurs fois de suite, la partie ne s'arrêtant que lorsque tous les joueurs ont terminé leur feuille de points.
Téléchargement :
Instalog 1.10 (Borland Pascal for Windows 7.0 - 1999)
Prévu uniquement pour Windows 3.x, ce programme permet de garder trace de toutes les modifications effectuées lors de l'installation d'un logiciel.
Une première "photo" est prise avant l'installation, puis une seconde après l'installation, de sorte que toutes les modifications sont répertoriées dans un log que l'on peut enregistrer. Sont ainsi pris en compte : autoexec.bat, config.sys, win.ini, system.ini et l'arborescence des répertoires dépendant de Windows.
Je continue à utiliser ce petit soft sur mon 486.Sujets intéressants :
Dialogue non modal de statut s'affichant pendant les opérations;
Comparaison de listes chaînées de chaînes AZT.
Ressources de types menu, icône, dialogue, table de chaîne, table d'accélérateurs.Téléchargement :
Adresses 1.10 (Borland Pascal for Windows 7.0 et Microsoft Word for Windows 6.0 - 1999)
Carnet d'adresses et répertoire téléphonique.
Le programme pourrait aisément être amélioré mais j'implore votre indulgence, vu qu'il s'agit d'un de mes tout premiers programmes Windows.Sujets intéressants :
Le programme peut servir de serveur DDE pour une autre application (un modèle de document WinWord 6 accompagne d'ailleurs le source);
Possibilité de paramétrer les couleurs de fond et de texte;
Impression de listing et d'étiquettes;
Dialogues Windows standards de choix de police de caractères et de choix de couleurs.Téléchargement :
Programme d'installation de l'EDI BPW 7.0 (Virtual Pascal 2.1 - 2008) New
Programme complet d'installation de l'EDI BPW 7.0, multilingue (FR, UK, NL, DE), qui, outre l'installation des binaires et des unités standard, propose d'installer les sources de la RTL et des exemples. Le programme règle les répertoires par défaut dans les fichiers de configuration et crée un raccourci sur le bureau.
Sujets intéressants :
Utilisation des tables de chaînes pour développer un logiciel multilingue;
Dialogue SHBrowseForFolder;
Création de raccourci sur le bureau à l'aide des interfaces du shell Windows;
Copie de fichiers à l'aide des fonctions de l'API.Téléchargement :
Unit WinShell 3.00 (Virtual Pascal 2.1 - 2008) New
Unité d'interface avec les bibliothèques Ole32.dll, OleAut32.dll et Shell32.dll.
Le type interface de Delphi et Free Pascal n'étant pas supporté par Virtual Pascal, cette version utilise des classes abstraites.
Fourni avec les sources de deux programmes d'exemple.Sujets intéressants :
Objets COM;
Objets OLE;
Interfaces déclarées comme classes abstraites.Téléchargement :
Triple Tahtzee 4.00 (Virtual Pascal 2.1 - 2006 ou 2007)
Développement en cours - vous pouvez toutefois télécharger le squelette du programme, contenant notamment la connexion des postes clients au serveur.
Jeu de Triple Yahtzee à 10 joueurs maximum en réseau ou sur le même poste.
Il s'agit de la dernière évolution en date du jeu dont les sources des version 2.20 et version 3.00 sont également disponibles sur ce site.Sujets intéressants :
Programmation des sockets;
Interface MDI.
Unit WinShell 1.00 (Virtual Pascal 2.1 - 2005)
Unité d'interface avec les objets COM (IShellLink, IPersistFile...) nécessaires à la manipulation des raccourcis Windows.
Sujets intéressants :
Déclaration des objets COM;
Convention d'appel _StdCall.Téléchargement :
ChgLinks 1.00 (Virtual Pascal 2.1 - 2005)
Programme permettant de modifier les noms de chemins dans tous les raccourcis du profil local d'un utilisateur de Windows NT/2000/XP (raccourcis du bureau, groupe de programmes, menu démarrer, envoyer vers, documents récents, groupes de programmes de démarrage).
Une série de règles permettent de remplacer certains extraits des noms de chemins.
Le programme nécessite l'unité WinShell décrite ci-dessus.Sujets intéressants :
Utilisation des objets COM (IShellLink, IPersistFile...);
Manipulation des raccourcis Windows via l'interface OLE;
Détermination des emplacements des différents types de raccourcis;
Parcours récursif d'une arborescence de répertoires.Téléchargement :
WinSock (Virtual Pascal 2.1 - 2005)
6 sources pour apprendre les bases de l'API WinSock.
A mettre en relation directe avec l'excellent tutoriel WinSock sur vbip.Sockets1 : initialisation de la librairie WinSock (programme console);
Sockets2 : détermination de l'adresse IP d'un hôte distant (programme console);
Sockets3 : détermination du nom d'hôte local et de ses adresses IP (programme console);
Sockets4 : déterminer le nom d'un hôte à partir de son adresse IP (programme console);
Sockets5 : informations sur tous les services installés et sur tous les ports (programme console);
Sockets6 : test global de l'API WinSock - création de sockets, mise en mode serveur ou en mode client, échange de données, etc.
Permet de se faire la main sur les sockets, les ports, les protocoles, tant sur Internet qu'en réseau local.Téléchargement :
LPJJGlos 2.00 (Virtual Pascal 2.1 - 2005)
Programme de création et de maintenance d'un glossaire de macros WinHelp.
Sujets intéressants :
Dans un but didactique, le programme prend en compte la plupart des fonctionnalités standard que doit avoir un programme Windows en matière de gestion de fichiers :
Dialogues standard d'ouverture et d'enregistrement de fichiers;
Mémorisation des derniers fichiers ouverts dans le menu Fichier;
Prise en compte du glisser-déposer depuis le shell;
Prise en compte d'un nom de fichier passé en ligne de commande.Egalement dans un but didactique, le programme regroupe l'ensemble des fonctionnalités de gestion d'une ListBox personnalisée :
Gestion des variables dynamiquement alloués entièrement confiée à Windows;
Tri, ajout, modification et suppression d'enregistrements;
Réponse au double-clic pour modification;
Dessin des éléments de la boîte liste par le programme.Pour terminer, les données sont enregistrées sous la forme d'enregistrements de taille variable.
Téléchargement :
Virtual Pascal - page
d'accueil
Virtual
Pascal - documentation
Virtual
Pascal v 2.1 build 279 - téléchargement gratuit sur developpez.com
Dev-Pascal
- page d'accueil
Free Pascal - page d'accueil du site officiel
Free
Pascal - documentation en ligne
Lazarus -
page d'accueil
Lazarus
- documentation en ligne
Lazarus
- tutoriel
GNU
Pascal - page d'accueil
GNU
Pascal - aide en ligne
IRIE
Pascal - documentation en ligne
Think
Pascal - documentation en ligne - compilateur pour Mac
Framework Pascal 6.0
succède à TMT Pascal 5.0
TMT
Pascal 5.0 - documentation en ligne
RadASM
- page d'accueil
NASM
- page d'accueil
NASM
- documentation en ligne
FASM
- page d'accueil
FASM - documentation
en ligne
GNU
Assembler - documentation en ligne
QEMU emulator -
page d'accueil
QEMU
emulator - documentation en ligne
ConTEXT programmer's editor -
page d'accueil
ConTEXT - FAQ
PE
Explorer disassembler - éditeur de DLL et désassembleur Win32
Winspector - utilitaire de traçage des
messages Windows
Servile
Software Decoder 6.0 - analyseur et traceur de code
Installeur
Nsis - page d'accueil
Installeur Nsis -
documentation en ligne
EMS
Professional Software - compilateurs Pascal et licences à vendre
Virtual Pascal - page
d'accueil
Virtual
Pascal - documentation
Virtual
Pascal v 2.1 build 279 - téléchargement gratuit sur www.developpez.com
TPW
1.5 et BPW 7.0 - téléchargeables sur www.developpez.com New
Dev-Pascal
- page d'accueil
Free Pascal - page d'accueil du site officiel
Free
Pascal - documentation en ligne
Lazarus -
page d'accueil
Lazarus
- documentation en ligne
Lazarus
- tutoriel
GNU
Pascal - page d'accueil
GNU
Pascal - aide en ligne
IRIE
Pascal - documentation en ligne
Think
Pascal - documentation en ligne - compilateur pour Mac
Framework Pascal 6.0
succède à TMT Pascal 5.0
TMT
Pascal 5.0 - documentation en ligne
Pascaland - Plus
de 300 compilateurs et interpréteurs Pascal !
Developpez.com
- forum Pascal
Point
de rencontre Borland Pascal - site de questions-réponses de Christian Baussaron
dBforums
comp.lang.pascal.borland - forum Borland Pascal - malheureusement non
modéré
SWAG
(SourceWare Archive Group) online
TCP/IP
en Borland Pascal
Bastisoft
- programmation Internet
Felix
Colibri - programmation WinSock en Delphi
Martin
Harvey - multithreading en Delphi
John Colibri -
sources, articles, formations, livres, Pascalissime
RadASM
- page d'accueil
NASM
- page d'accueil
NASM
- documentation en ligne
FASM
- page d'accueil
FASM - documentation
en ligne
GNU
Assembler - documentation en ligne
Developpez.com
- forum Assembleur
Agner Fog - optimisation
Pentium, conventions d'appel, mesure de cycles
Page Assembleur
- tutoriels DOS, Windows, DirectX, BMP, GIF, mode protégé, Sound Blaster
Assembleur
CodeS SourceS - tutoriels, sources
The Operating
System Resource Center - tutoriels programmation d'OS
Tutoriel mode
protégé
John Fine -
protected mode and operating systems
Robert Collins
- les bases du mode protégé
The
Art of Assembly language - cours complet de programmation en Assembleur
ELEC
201 - assembleur 68HC11
Dickens
- les instructions du 68HC11
DHC11 - a
68HC11 disassembler
James
R. Larus - simulateur SPIM S20
Gas
2.9.1 manual - AT&T syntax vs Intel syntax
Matthew
Mastracci - interfacing DJGPP with NASM procedures
Joris
Dedieu - introduction au µcontrôleur Motorola ColdFire
Le jeu
d'instructions Intel x86
Le
jeu d'instructions du 68000
Les jeux
d'instructions de tous les microprocesseurs 8 et 16 bits
MAXAM
- développement Z80
MSDN
Catch
22 - tutoriel d'impression sous Windows
Portage
d'applications Windows 16 bits en 32 bits
Al's
Win32 programming page - tutoriels et références
Conventions
d'appel Win32
Johnnies's
WinSock tutorial
vbip -
tutoriels API WinSock en VB
- vraiment progressif et bien fait
GameDev
- programmation de sockets asynchrones
TangentSoft - WinSock
programmer's FAQ
YOV408 -
tutoriels programmation WinSock
FlipCode
- introduction à la programmation multithreads
Exploring
Windows 2000 memory - gestion bas niveau de la mémoire
The
code project - création de raccourcis via l'interface IShellLink
Pascal
Newsletter #52 : création de raccourcis
Ralph
Brown's interrupt list
Ralph
Brown's interrupt list (site miroir)
John
Lockwood - processing systems and structures
Le
segment de données du BIOS - avec certaines données non documentées
BIOS Central
- structure de la CMOS
BIOS
Central - zone de données du BIOS
Structure
de la CMOS des principaux fabricants
Bochs
- référence générale sur la CMOS
PC Guide
- table d'utilisation de l'UMA (Upper Memory Area)
La
SFT (System File Table) de MS-DOS
Table
des appels système Linux
LookupTables - tables
ASCII, ANSI, EBCDIC, UniCode, etc
Intel
- documentation technique du Pentium 4
Intel
- détection hyperthreading et comptage des processeurs en multi-core
AMD
- Architecture AMD64
Zeus
98 OS
Zeus
online documentation - PIT, RTC, PIC, FAT, MBR, etc
Zeus
offline documentation - mode protégé
A20 : a
pain from the past - la ligne d'adresse A20
GameDev
- programmation
Sound Blaster 16
PC-GPE
- programmation du DSP de la SoundBlaster
TFM -
commandes du DSP de la Sound Blaster
Inverse
Reality - tutoriels Sound Blaster 16
Liste
des scancodes clavier
OSDever
- programmation VGA, SVGA
FreeDOS-32
- programmation du contrôleur de disquette
Xavier's
programming pages - programmation des lecteurs de disquette
IBM
- référence langage COBOL
Référence
POV-Ray par Fabien Mosen - très complet
HP - development tools
and distributed computing
- tous les langages !
Developpez.com
- club d'entraide des développeurs francophones - n° 1 des sites francophones !
Les forums de
Developpez.com
Norton Guides -
références techniques multi-langages
Jeremya
- Commandes de l'utilitaire Debug
ALRJ - articles de programmation
hardware, 2D, 3D
Experts-Exchange
- inscription gratuite jusqu'à un certain stade mais vaut le détour
Les
FAQ du Prof. Timo Salmi
CodePedia -
l'encyclopédie du développeur
CodePedia
- section Pascal
CodePedia
- section Assembleur
Programmers
Heaven - articles, sources et messageboards
Programmers
Heaven - section Pascal
Programmers
Heaven - section Assembleur
GameDev
- articles et ressources orientées vers la programmation de jeux
RFC
Editor - portail vers toutes les spécifications officielles d'Internet
(protocoles, utilitaires, services)
PC Tools
WinGuides - guide de la base de registre de Windows
Linux
Knowledge Base and Tutorial
Dot What!? - extension de
fichiers Windows, Apple Macintosh et Linux New
File-extensions.org
Gary
Kessler - table des signatures de fichiers
e-tech
- encyclopédie des formats de fichiers
Wotsit - formats de fichiers
Data
formats - surtout intéressant pour les fichiers images et audio
A
beginner's guide to bitmaps
Windows
Programming Cave - format de fichier BMP
Game
programmer - format de fichier BMP
Format
de métafichier Windows (EMF et WMF)
Spécifications
RTF - version 1.0
Spécifications
RTF - version 1.5
Spécifications
RTF - version 1.6
Pierre's
library - formats d'exécutables (ELF, PE, COFF, OMF)
JPEG
image compression FAQ