Caratteri ridefiniti per Amstrad CPC

RetroMagazine nr. 24 – Anno: 2023 – Autore: Francesco Fiorentini

Future Set on Amstrad
Il nome mi colpisce immediatamente, lasciando poco spazio all’immaginazione. Si tratta quasi sicuramente di una serie di istruzioni per ridefinire il set di caratteri dell’Amstrad CPC per modificarne il look & feel. Un rapido sguardo al codice, fugge immediatamente ogni dubbio. E’ un vero e proprio set di caratteri ridefiniti da utilizzare nei nostri programmi in Locomotive Basic.

Versione originale: Pete White
PubblicazionePopular Computing Weekly 08/86
Anno: 1986

Ho subito un’idea! Nel numero 23 abbiamo portato l’avventura testuale Astronave Farmer in Locomotive Basic. Si tratta di un gioco che ci vede a bordo di un’astronave alla deriva nello spazio… Quale migliore occasione per sfruttare un set di caratteri futuristici? Decido quindi di mettermi all’opera per recuperare questo pezzo di storia a firma di Pete White per dargli una seconda vita.

Recupero del codice
Ovviamente se il codice fosse stato selezionabile e copiabile dal pdf allegato, Arturo non avrebbe mai chiesto il supporto di altri utenti del gruppo… Quindi, anche in questo caso, l’unica soluzione era quella di riscrivere il codice a mano. Ma io sono estremamente pigro e l’idea di mettermi a scrivere una per una un’ottantina di righe di codice piene zeppe di numeri, non mi ha mai sfiorato nemmeno lontamente nell’anticamera del cervello. Anche perche’ molti dei numeri sono quasi illeggibili. Siamo nel 2020, possibile che non ci sia un modo piu’ pratico?

Ma certo che c’e’! Un OCR, un riconoscitore di caratteri! Decido quindi di provare questa strada.
Cerco online un riconoscitore di caratteri gratuito e tra i tanti scelgo https://ocr.space/.
Con lo snipping tool creo 3 immagini, una per ogni colonna del codice e provo a dare la prima in pasto all’OCR.
Il primo risultato e’ deludente oltre ogni aspettativa. Pochissimi numeri riconosciuti e testo illeggibile.
Armeggio un po’ con i settaggi ed utilizzo il motore OCR 2 che, secondo il sito, e’ piu’ efficiente nel riconoscimento dei numeri.

Questa volta il risultato e’ decisamente accettabile. Circa un 60% del testo e’ stato riconosciuto. Devo soltanto fare delle sostituizioni nel testo per trasformare le virgole che erano state interpretatte come punti, correggere a mano i numeri errati e correggere a sua volta tutte le occorrenza errate del comando SYMBOL. Un lavoraccio, ma sicuramente piu’ veloce che scrivere tutto da zero.

Abbiamo finito?
Ho corretto tutto il codice, sono soddisfatto! Eseguo il programma e mi accorgo che alcuni caratteri sono illeggibili… Eppure mi sembrava di aver interpretato correttamente i numeri, anche quelli quasi illeggibili.
Evidentemente mi sbagliavo, oppure anche nel codice iniziale c’erano degli errori.
Devo quindi correggere i caratteri errati. Punto il mio browser all’inidirizzo http://xlr8.at/8x8hexbin/ e controllo i caratteri che non mi convingono. Dopo un po’ di prove, le correzioni mi soddisfano e dichiaro concluso il mio lavoro di recupero.

Come funziona?
Tramite il comando SYMBOL del Locomotive Basic é possibile ridefinire facilmente i caratteri dell’Amstrad CPC: SYMBOL n,i1[,i2,i3,i4,i5,i6,i7,i8] – Ridefinisce l’aspetto del carattere n.
Ciascuno degli otto numeri interi definisce il contenuto di una riga di pixel, a partire dalla parte superiore del carattere. Ogni carattere é formato da una griglia di 8×8 pixel. Le righe mancanti sono considerate vuote.
SYMBOL 255,255,129,129,129,129,129,129,255
PRINT CHR$(255)

Astronave Farmer Enhanced
Rinumero le righe del codice che ho recuperato e le aggiungo in coda al codice di Astronave Farmer. Utilizzando un GOSUB (vai a subroutine) faccio eseguire la parte del codice che ridefinisce i caratteri, prima che il programma stampi qualcosa a schermo e… Ci siamo! L’avventura testuale ha il suo carattere ‘Future Set’.

Il gioco Astronave Farmer Enhanced potete scaricarlo dal nostro sito a questo indirizzo:
www.retromagazine.net/download/Farmer_Enhanced.dsk

Il gioco e’ listabile, quindi potete tranquillamente controllarne il codice, ma se lo vorrete in formato txt, contattatemi.
Ah dimenticavo. Non e’ finita qui… La versione enhanced e’ corredata anche di uno splash screen in formato SCR. Volete sapere come realizzarne uno? Non perdete il prossimo articolo.

Ecco il codice dei caratteri ridefiniti.

10 REM **
11 REM * Future Set on Amstrad CPC
12 REM * original code by Pete White
13 REM * Popular Computing Weekly 7-13 August 1983
14 REM *
15 REM * Typed and corrected by
16 REM * Francesco Fiorentini on June 2020
17 REM * RetroMagazine World July 2020
18 REM **
20 SYMBOL AFTER 32
30 REM Upper case chars
40 SYMBOL 65,126,66,66,126,98,98,98,0
50 SYMBOL 66,126,66,66,126,98,98,126,0
60 SYMBOL 67,126,64,64,96,96,96,126,0
70 SYMBOL 68,254,66,66,98,98,98,254,0
80 SYMBOL 69,126,64,64, 120,96,96,126,0
90 SYMBOL 70,126,64,64,120,96,96,96,0
100 SYMBOL 71,126,64,64,102,98,98,126,0
110 SYMBOL 72,66,66,66,126,98,98,98,0
120 SYMBOL 73,60,16,16,24,24,24,60,0
130 SYMBOL 74,126,8,8,24,24,24,120,0
140 SYMBOL 75,68,68,68, 120,100,100,100,0
150 SYMBOL 76,64,64,64,96,96,96, 126,0
160 SYMBOL 77,126,74,74,98,98,98,98,0
170 SYMBOL 78,98,82,74,102,98,98,98,0
180 SYMBOL 79,126,66,66,98,98,98,126,0
190 SYMBOL 80,126,66,66,126,96,96,96,0
200 SYMBOL 81,126,66,66,98,98,106,126,4
210 SYMBOL 82,126,66,66,126,106,100,98,0
220 SYMBOL 83,126,64,64,126,6,6,126,0
230 SYMBOL 84,126,16,16,24,24,24,24,0
240 SYMBOL 85,66,66,66,98,98,98,126,0
250 SYMBOL 86,66,66,66,66,66,36,24,0
260 SYMBOL 87,66,66,66,98,106,106,126,0
270 SYMBOL 88,102,102,36,24,36,102,102,0
280 SYMBOL 89,66,66,126,16,24,24,24,0
290 SYMBOL 90,126,4,8,16,32,64,126,0
295 REM Lower case chars
300 SYMBOL 97,0,0,126,6,126,70,126,0
310 SYMBOL 98,96,96,96,126,98,98,126,0
320 SYMBOL 99,0,0,126,96,96,96,126,0
330 SYMBOL 100,6,6,6,126,70,70,126,0
340 SYMBOL 101,0,0,126,98,126,96,126,0
350 SYMBOL 102,60,48,48,120,48,48,48,0
360 SYMBOL 103,0,0,126,70,70,126,6,126
370 SYMBOL 104,96,96,96,126,98,98,98,0
380 SYMBOL 105,24,0,24,24,24,24,24,0
390 SYMBOL 106,6,0,6,6,6,6,6,126
400 SYMBOL 107,96,96,102,108,120,108, 102,0
410 SYMBOL 108,24,24,24,24,24,24,24,0
420 SYMBOL 109,0,0,126,90,90,66,66,0
430 SYMBOL 110,0,0,108,114,98,98,98,0
440 SYMBOL 111,0,0,126,102,102,102,126,0
450 SYMBOL 112,0,0,126,98,98,126,96,96
460 SYMBOL 113,8,0,126,70,70,126,6,6
470 SYMBOL 114,0,0,108,114,96,96,96,0
480 SYMBOL 115,0,0,126,96,126,6,126,0
490 SYMBOL 116,24,62,24,24,24,24,30,0
500 SYMBOL 117,0,0,102,102,102,102,126,0
510 SYMBOL 118,0,0,102,102,102,60,24,0
520 SYMBOL 119,0,0,66,66,90,90,126,0
530 SYMBOL 120,0,0,198,104,16,104,198,0
540 SYMBOL 121,0,0,102,102,102,126,6,126
550 SYMBOL 122,0,0,126,12,24,48,126,0
555 REM Numbers
560 SYMBOL 48,126,102,110,118,102,102,126,0
570 SYMBOL 49,24,56,24,24,24,24,126,0
580 SYMBOL 50,126,2,2,126,96,96,126,0
590 SYMBOL 51,126,2,2,30,6,6,126,0
600 SYMBOL 52,96,96,96,96,104,126,8,8
610 SYMBOL 53,126,64,126,6,6,6,126,0
620 SYMBOL 54,126,64,64,126,98,98,126,0
630 SYMBOL 55,126,2,4,62,16,32,64,0
640 SYMBOL 56,126,66,66,126,66,66,126,0
650 SYMBOL 57,126,66,66,126,6,6,6,0
680 SYMBOL 95,0,255,0,0,0,0,0,0
1000 CLS
1011 PRINT “Future Set on Amstrad CPC”
1012 PRINT “original code by Pete White”
1013 PRINT “Popular Computing Weekly 7-13 Aug 1983”
1014 PRINT “”
1015 PRINT “Typed and corrected by”
1016 PRINT “Francesco Fiorentini on June 2020”
1017 PRINT “RetroMagazine World July 2020”

Share

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.