continua (next page) Frasi Famose index main index

While in 1987, someone suggested me to reverse-engineer GEM screen drivers...
Ebbene sì, questa pure è una storia che va raccontata.

Correva l'anno 1987. Qualcuno dei miei conoscenti aveva rimediato una versione già installata di GEM che clamorosamente gli andava bene anche sul suo 8088 a 4.77 MHz e in soli 256k RAM.

Mi fu data una copia (in tre o quattro dischetti da 360k) perché io facessi il reverse-engineering del driver Hercules, scoprissi i punti dove il driver scriveva a video, e modificassi il minimo indispensabile per farlo andare sulla CGA (in teoria doveva essere sufficiente modificare un B000h in B800h, e una coppia 720/348 in 640/200). Lo strumento a disposizione era ovviamente il mefitico DEBUG.EXE del DOS. Poi, magari, si poteva anche andare a toccare il driver della stampante.

Inutile dire che l'impresa (tecnicamente fattibile, a costo di un buon numero di anni-uomo di lavoro) fallì miseramente ancor prima della prima mezz'ora di ambientamento.

Dopo un po' di anni (e un po' di passaggi di mano in mano dei diritti su GEM), vengo a sapere che i sorgenti originali sono stati rilasciati in pubblico dominio (licenza GNU/GPL) ed è in corso una ristesura del GEM, un "FreeGEM" (cercatelo sui motori di ricerca) che conserva ancora moltissimo dei sorgenti originali (datati tra il 1985 e il 1987).

Gli originali, incredibile a dirsi, erano per gran parte in assembler; c'era anche una buona quantità di codice in C, scritto però come se fosse un "assembler potenziato", e parecchie funzioni farraginose - non vi dico il caos per allocare memoria o salvare un file, attraverso l'ormai leggendario INT 21h... e ancora non avevo visto le acrobazie fatte per assecondare il DOS 2.0!

Però, a scorrerli, si torna indietro di quindici anni, che nell'informatica corrispondono a diverse ere geologiche...!



All'ippodromo di Agnano

send e-mail - continua (next page)