Opus 1

Opus 1 est un programme que j’ai écrit en 1996 et paru dans la revue de poésie expérimentale Doc(k)s / Alire 10. Ecrit initialement sous Turbo Pascal 6, le code source sera prochainement mis en ligne après adaptation à Turbo Pascal 7 (il y a un problème avec la fonction Delay). En voici une capture vidéo :

Latis Pro 5.6.25.0 : Installation sous Windows 2000

Le seul ordinateur qui me reste sous Windows fonctionne avec Windows 2000. Une antiquité donc. Ayant besoin d’installer Latis Pro 5.6.25.0 (qui ne fonctionne que sous Windows), je me suis résolu à l’installer sur mon vieux système. Et là patatras, j’ai un message qui m’indique que la bibliothèque de liaisons dynamique gdiplus.dll est introuvable. Après une trop longue recherche sur Internet, j’ai résolu le problème en mettant le fichier en question (issu du patch de sécurité WindowsXP-KB975337-x86-ENU) dans le répertoire LatisPro (C:\Program Files\Eurosmart\LatisPro). L’installation du logiciel en version gratuite se fait avec la clé « LTP 111 222 333 » (sans limitation de temps ; les acquisitions ne sont toutefois pas possibles).

Turbo Pascal : BGIDriv et BGIFont

Dans un de mes programmes écrit avec Turbo Pascal, plus de 20 ans après, je ne savais plus d’où sortaient les unités BGIDriv et BGIFont alors j’ai tout repris à zéro :

Créer un répertoire C:\TEMP (mkdir temp dans DOSBox).
Copier dans ce répertoire les fichiers BGIDRIV.PAS, BGIFONT.PAS, BGILINK.PAS, BGILINK.MAK qu’on trouve dans ~/DOSBox/TP7/EXAMPLES/BGI.
Copier dans ce même répertoire tous les fichiers .CHR et .BGI qu’on trouve dans ~/DOSBox/TP7/BGI.
Modifier BGILINK.MAK en remplaçant BGI = ..\..\bgi par BGI = \TEMP

Dans DosBox, taper :
cd temp
make -fbgilink.mak

BGIDRIV.TPU et BGIFONT.TPU sont alors créés.
Les copier dans ~/DOSBox/PERSO/TP7/BUILD/.

On peut ensuite supprimer C:\TEMP.

Seules GothicFont (GOTH.CHR), SmallFont (LITT.CHR), TriplexFont (TRIP.CHR) et SansSerifFont (SANS.CHR) sont intégrées dans l’unité BGIFONT.TPU.
Pour BoldFont (BOLD.CHR), EuroFont (EURO.CHR), ComplexFont (LCOM.CHR), SimplexFont (SIMP.CHR), ScriptFont (SCRI.CHR) et TriplexScriptFont (TSCR.CHR), il faut utiliser InstallUserFont de l’unité Graph. J’en parlerai plus tard…

C282

C282 est un programme que j’ai écrit en 1996 avec Turbo Pascal 6 (Pascal + Assembleur). Paru une première fois dans la revue de poésie expérimentale Doc(k)s / Alire 10, il ne disposait pas à l’époque de régulateur de vitesse. La capture vidéo qui suit concerne une version de 2000 :

Merci Internet : Grâce à SWAG Archive, j’ai pu remettre la main sur des bibliothèques que j’avais perdues :
High Resolution Timer de TurboPower Software (Unit TpTimer),
Palette Manipulation de David Dahl (Unit Palette).
Après révision, le code source sera mis en ligne prochainement.

Turbo Pascal et DOSBox

J’ai adoré en son temps programmer avec Turbo Pascal. Aujourd’hui, je souhaite m’y replonger pour diverses raisons. J’ai installé il y a quelques jours DOSBox (sous Debian). Au tour de Turbo Pascal… avant d’aller voir du côté de Free Pascal.

Dans mon répertoire ~/DOSBox, j’ai créé un répertoire TP7 dans lequel j’ai décompressé l’archive tp7.zip téléchargeable après inscription sur le site Developpez.com ou directement depuis leur ftp.

Dans la console, taper :
nano ~/.dosbox/dosbox-0.74-2.conf

et modifier le fichier dosbox-0.74-2.conf :
[autoexec]
mount C ~/DOSBox
path=/TP7/BIN
C:

Pour accéder à Turbo Pascal, il ne reste plus qu’à taper turbo dans DOSBox.

Pour basculer entre le mode fenêtré et le mode plein écran, presser Alt-Entrée. Pour libérer le curseur de la souris, presser Ctrl-F10.

File > Change dir…

Options > Directories
EXE & TPU directory: C:\PERSO\TP7\BUILD
Unit directories: C:\TP7\UNITS;C:\PERSO\TP7\SRC\LIB

Options > Save

Quelques Liens :
Les manuels de Borland sur le Turbo Pascal (en pdf)
SWAG : SourceWare Archive Group
https://turbo-pascal.developpez.com
https://github.com/johangardhage/dos-tpdemos

Snap Circuits

Voici un excellent kit d’expérimentation pour initier un enfant à l’électronique : il s’agit de Snap Circuits d’Elenco. Le produit est en langue anglaise mais quelques livrets sont traduits en français.

Les boîtes de base :
Projets 1-101 (en français)
Projets 102-305 (en français)
Projects 306-511 (en anglais)
Projects 512-692 (en anglais)

On peut trouver les kits Snap Circuits sur ce site :
https://www.robotshop.com/eu/fr/snap-circuits-fr.html

En plus des boîtes de base, il y a quelques boîtes à thèmes dont :
Snaptricity (en anglais)
Light (en français)
Sound (en anglais)
Motion (en anglais)
Arcade (en français)
STEM (en anglais)
Green (en anglais)
Understanding Logic Gates & Circuits (en anglais)

On peut aussi fabriquer ses propres modules en s’inspirant de cette vidéo (impression 3D et boutons pression anorak de 12 mm).

Installation de DOSBox sous Debian 10

DOSBox est un émulateur simulant un environnement compatible MS-DOS dans le but d’exécuter des programmes développés autrefois pour ce système. Il se trouve que j’ai besoin de faire tourner certains de mes vieux programmes…

Dans la console :
sudo apt-get install dosbox
mkdir ~/DOSBox (ou un autre chemin)
nano ~/.dosbox/dosbox-0.74-2.conf

Modifier le fichier dosbox-0.74-2.conf :
[cpu]
cycles=max
(à la place de cycles=auto)
[dos]
keyboardlayout=fr
(à la place de keyboardlayout=auto)
[autoexec]
mount C ~/DOSBox
(pour un chemin qui contient des espaces, mettre le chemin entre guillements : " ")

Lancer DOSBox depuis la console :
dosbox

Dans DOSBox :
c:
dir

Pour basculer entre le mode fenêtré et le mode plein écran, presser Alt-Entrée. Pour libérer le curseur de la souris, presser Ctrl-F10.

Puissance 4 en Python : Création d’une nouvelle IA

Etant donné les résultats de la compétition précédente concernant IA3 et IA7 (7 victoires chacune) et le faible score d’IA6 alors qu’entre IA6 et IA7 il n’y a qu’une inversion (B2PH et A2PH), je vais introduire une nouvelle IA (IA10) avec comme priorités : A4PH / B4PH / B3PH / B2PH / A3PH / A2PH / PH. Il s’agit donc d’une IA offensive. Elle reste cependant facile à battre pour un humain (Les alignements « troués » ne sont toujours pas pris en compte).

Présentation des résultats :

Sur 1 million de parties, les résultats bruts sont :

IA10 / IA0 / Nulles : 984 590 / 14 607 / 803
IA10 / IA1 / Nulles : 670 273 / 0 / 329 727
IA10 / IA2 / Nulles : 883 310 / 116 690 / 0
IA10 / IA3 / Nulles : 201 453 / 157 344 / 641 203
IA10 / IA4 / Nulles : 710 937 / 210 235 / 78 828
IA10 / IA5 / Nulles : 400 016 / 390 242 / 209 742
IA10 / IA6 / Nulles : 1 000 000 / 0 / 0
IA10 / IA7 / Nulles : 166 433 / 112 602 / 720 965
IA10 / IA8 / Nulles : 555 897 / 314 420 / 129 683
IA10 / IA9 / Nulles : 507 615 / 4 644 / 487 741
IA10 / IA10 / Nulles : 178 886 / 179 550 / 641 564