Risolto un bug di 36 anni fa nel software BBS per Apple II

Il gruppo di utenti Call-A.P.P.L.E. ha rilasciato un aggiornamento per correggere un errore di battitura del 1990 nel codice del modem Hayes.

Il gruppo di utenti Apple II, noto come Call-A.P.P.L.E., ha recentemente rilasciato la versione 2.4.1d del software per bulletin board ACOS GBBS Pro. L’obiettivo dell’aggiornamento è correggere un banale errore di battitura rimasto nascosto nel codice per ben 36 anni. Il difetto, che consisteva in un codice di ritorno errato per i modem Hayes, risale a una build del software del 1990.

La scoperta su hardware originale

La scoperta di questo bug storico è stata possibile solo grazie alla determinazione di un membro della community, il quale ha scelto di eseguire il software sull’hardware originale dell’Apple II anziché affidarsi a un emulatore. Gli emulatori, infatti, tendono ad astrarre o ignorare i rigidi requisiti di temporizzazione e di handshake tipici delle porte seriali fisiche. Collegato a un vero modem compatibile con lo standard Hayes, il codice del 1990 non riusciva ad analizzare correttamente le risposte del dispositivo. Indagando sul malfunzionamento, gli sviluppatori hanno individuato un semplice errore di sintassi, sfuggito per decenni.

Il ruolo di GBBS Pro e Call-A.P.P.L.E.

Sviluppato originariamente da Greg Schaefer negli anni ’80, GBBS Pro funzionava su ACOS (All-purpose Communications Operating System), un ambiente linguistico tokenizzato creato per il sistema operativo ProDOS di Apple. Durante l’epoca d’oro delle connessioni dial-up, era una delle piattaforme standard per ospitare un BBS, gestendo bacheche, trasferimenti di file e giochi. Oggi il software è mantenuto da Call-A.P.P.L.E., un’organizzazione attiva dal 1978 che continua a preservare e aggiornare i sistemi operativi e le utility d’epoca per i moderni appassionati di retrocomputing.

Dettagli dell’aggiornamento

L’aggiornamento alla versione 2.4.1d è distribuito come un set di dischi sostitutivo completo. Gli utenti delle versioni 2.3 o 2.4 dovranno applicare questa patch per garantire che i loro modem si inizializzino e rispondano correttamente alle chiamate. Il problema originale risiedeva nel set di comandi Hayes, che regola la comunicazione tra computer e modem: a causa dell’errore di battitura, il software interpretava male la stringa di conferma inviata dal modem. La correzione ripristina la corretta sequenza di handshake.

L’ingegneria dietro ACOS

ACOS rimane un affascinante esempio di ingegneria del software. Essendo un linguaggio tokenizzato progettato specificamente per le telecomunicazioni, garantiva un’esecuzione più rapida rispetto al classico AppleSoft BASIC e richiedeva meno memoria, un vantaggio cruciale su macchine dotate di soli 64K o 128K di RAM. La sua natura modulare permetteva inoltre agli operatori di sistema di scrivere script personalizzati senza dover ricompilare l’intero sistema operativo.

Avatar photo

Redazione Retroacademy

Retroacademy nasce dall’amore incondizionato per il retrogaming, i computer vintage e tutto ciò che ha fatto la storia dell’informatica e del videogioco.

Potrebbero interessarti anche...