Pascal

Le mie prime esperienze di programmazione sono state in BASIC, su ZX Spectrum e poi PC. Il liceo scientifico, nel mezzo degli anni '90, mi introdusse al Pascal. Da li a scovare un paio di dischetti con Turbo Pascal (e poi Delphi) il passo è breve.

Quando ho messo piede su internet, nel 2000, sono finito sul newsgroup it.comp.lang.pascal. In quel periodo ho prodotto un po' di guide ed programmini, e poi creato un sito per contenerli—questo!

Il mondo è cambiato, il sito è cambiato, ma archivio quei materiali in questa pagina.

Turbo Pascal 7

La guida contestuale del Turbo Pascal 7 era una risorsa essenziale al tempo, con tutti i dettagli del linguaggio e delle librerie che venivano con il compilatore.

Per un paio d'anni ho tradotto alcune pagine in italiano, per renderle più accessibili ai visitatori del newsgroup.

Ovviamente ho cercato di automatizzare la cosa scrivendo un convertitore da .TPH a pagine HTML. Casomai servisse a qualcuno, qua c'è l'eseguibile a 16-bit. Un giorno ritroverò i sorgenti.

Guide

In un momento di ispirazione, nel lontano 2002, ho scritto tre guide, in quel formato "zine" che andava ai tempi:

Sorgenti

Con l'originale descrizione del 2004.

Prompt Plasma (html)  (pas)  [memoria video in modalità testo / eventi timer / TSR]

Un programma che colora lo schermo con un effetto plasma, senza modificare i caratteri visualizzati. L'uso più interessante è lanciare il Turbo Pascal, compilare, passare alla shell DOS (dal menu File), lanciare l'eseguibile ottenuto e tornare al TP con exit. Dopo un po' da nausea, attenzione.

fMouse (html)  (pas)  [gestione mouse / inline assembler]

Unit per la gestione del mouse sia in modalità testo che grafica. Compatibile al 99% con le funzioni e procedure della unit drivers che accompagna il tp7. Richiesta da buona parte dei miei programmi.

DrLife (html)  (pas)  [memoria video in modalità testo / mouse]

Nata una domenica di sole e strani pensieri, una minima implementazione del gioco Life in modalità testo; informazioni su uso e tasti all'interno del sorgente. Richiede la unit fmouse.

fms/fmslots - Gestione mailslot [comunicazioni]

Due unit, una a basso livello (fms.pas, in pratica una pascalizzazione delle chiamate all'int 21) e una a livello un po' più alto (fmslots.pas), simile alle read/write su file, che si occupa in modo trasparente dell'allocazione di buffer e simili fastidiose cose.

A cosa servono le mailslot? Si possono usare per comunicare su una tipica rete locale windows (dove NetBIOS sia attivato) per spedire messaggi da un programma all'altro, su computer diversi o sulla stessa macchina. I messaggi possono essere scambiati con qualsiasi programma, quindi anche Windows nativi (e.g., prodotti in Delphi/C/etc). Con un adeguato supporto dal lato Windows, un programma DOS 16-bit può richiedere alla sua controparte servizi avanzati e ottenere i risultati. Pensate e tremate: socket!

Mailslot cat - mscat (zip)  (html)  (pas)  [comunicazioni]

mscat è una specie di netcat basato sulle mailslot: permette inviare e ricevere messaggi su mailslot locali/remote, in ambiente DOS con LanManager o Win9x/NT/etc. L'archivio zip comprende l'eseguibile, i sorgenti del programma e delle unit fms e fmslots, nonché un inutile readme.