Il 0% ha trovato utile questo documento (0 voti)
12 visualizzazioni78 pagine

RetroMagazine 48

RetroMagazine_48

Caricato da

Michele Rallo
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
12 visualizzazioni78 pagine

RetroMagazine 48

RetroMagazine_48

Caricato da

Michele Rallo
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd

L'importante é partecipare, ma noi vogliamo SOMMARIO

vincere! ◊ Sega Master System Pag. 3


◊ Tiny Disk II Pag. 11
Benvenuti a questo ennesimo numero di RetroMagazine, dove la
◊ Beige è bello! THE A400 Mini... Pag. 18
nostalgia e la tecnologia vintage si incontrano per offrirvi un
viaggio affascinante nel passato dell'informatica. Mentre il ◊ Compilare con Libdragon Pag. 22
mondo si è riunito a Parigi per celebrare le Olimpiadi del 2024, ◊ PunyInform - Tutorial 3 Pag. 24
noi cogliamo l'occasione per rammentarvi come i computer del ◊ Da numero a cifre Pag. 31
passato hanno influenzato il modo in cui viviamo gli eventi di ◊ Grandi fattoriali Pag. 34
tutti i giorni. ◊ “Cielo... mio marito!” Pag. 36
◊ Hare Basic - 10 Volte più veloce Pag. 42
Le Olimpiadi sono sempre state un palcoscenico mondiale per
◊ Quest for the Golden Chalice (Coleco) Pag. 43
l'innovazione, non solo nello sport ma anche nella tecnologia.
Dal cronometraggio elettronico ai sistemi avanzati di gestione ◊ Timo's Castle (C64) Pag. 44
delle gare, i computer hanno giocato un ruolo cruciale nel ◊ The Key (CPC) Pag. 46
garantire che questi eventi si svolgano in modo fluido e preciso. ◊ Lyle in Cube Sector (MD) Pag. 48
Il cronometraggio delle gare sportive ha subito notevoli ◊ Atlantean (PCE) Pag. 50
cambiamenti dagli anni '80 a oggi, evolvendosi grazie alle ◊ Dicing Knight Period (Wonderswan) Pag. 52
innovazioni tecnologiche che hanno reso il processo più
◊ Genesis Dawn of a New Day (ZX) Pag. 54
preciso, affidabile e ricco di dati.
◊ Goldorak (GX4000) Pag. 56

Allo stesso modo, lo sviluppo del software ha beneficiato di ◊ Cecconoid (Amiga) Pag. 58
questa evoluzione tecnologica che ha permesso l'incontro, ◊ Mikie (Atari 8bit) Pag. 60
anche virtuale, di sviluppatori ed appassionati portando una ◊ Roguecraft (Amiga) Pag. 62
ventata di innovazione nel modo di approcciare la ◊ Robo Tito (Atari 2600) Pag. 65
programmazione. Ne sono esempio le decine di giochi che ◊ The Heart of Salamanderland (CPC) Pag. 66
periodicamente vengono sfornati per le nostre retro-macchine
◊ Formula V20 1985 (VIC20) Pag. 68
e, in questo specifico numero, le conversioni di Prince of Persia
◊ Princess Paloma's Rescue (MSX2) Pag. 69
per Plus4 e VIC20. Alzi la mano chi avrebbe immaginato
possibile 40 anni fa questo piccolo miracolo... ◊ Prince of Persia (Plus4) Pag. 70
◊ Prince of Persia (VIC20) Pag. 71
Voglio inoltre invitarvi a riflettere su come il retrocomputing ◊ Pocket Bomberman (GB/GBC) Pag. 72
non sia solo una celebrazione della tecnologia del passato, ma ◊ The Amiga Arcade Classic CD32 (Amiga) Pag. 73
un modo per comprendere meglio l'innovazione continua, ◊ Marathon (Mac/Linux) Pag. 74
analizzando come i principi fondamentali della programmazione
◊ Kien (GBA) Pag. 76
e del design hardware degli anni '70 e '80 abbiano gettato le
◊ 3D Pool (C64) Pag. 77
basi per le soluzioni avanzate che vediamo oggi.

Mentre Parigi ospita i Giochi del 2024, noi celebriamo la


resilienza e la creatività delle menti che hanno plasmato il
Hanno collaborato alla stesura di questo numero
mondo del retrocomputing. di RetroMagazine World (in ordine sparso):

Speriamo che questo numero continui ad ispirarvi a riscoprire il • Carlo N. Del Mar Pirazzini • Marta Rossmann
fascino dei computer del passato e a riconoscere il loro impatto • Daniele Brahimi • Gianluca Girelli
duraturo sull'innovazione tecnologica contemporanea. • Francesco Fiorentini • András Vajda
• Giulio Fieramosca • Fredrik Ramsberg
Francesco Fiorentini • Roberto Del Mar Pirazzini
• Giampaolo Moraschi • Immagine di copertina:
• Leonardo Miliani Giuseppe Mangini

• Takahiro Yoshioka • Layout di copertina:


Carlo N. Del Mar Pirazzini
• Barbara “Morgana” Murgida
• Eugenio Rapella
• Diamanti Maurizio

Pagina 2 di 78 RETROMAGAZINE WORLD ANNO 8 - NUMERO 48


HARDWARE

Sega Master System


di Leonardo Miliani
Scottata non solo dal fatto che Nintendo abbia presentato appunto. L’hardware dei due sistemi è comune, e si basa
il suo Famicom lo stesso giorno del lancio della sua console su una CPU Zilog Z80 con affiancato un chip grafico Texas
SG-1000 ma anche per via dello scarso successo Instruments TMS9918A ed un chip audio SN76489.
commerciale che sta riscuotendo nei confronti della rivale, Componenti discreti che, proprio per le loro specifiche
Sega decide di rivedere l’hardware della sua console e nella media, non riescono a competere con il Famicom.
presenta un prodotto ad 8 bit dalle alterne fortune, il Sega Eppure, alla fine del 1983, dopo qualche mese dalla sua
Master System (fig. 1). Dominatore dei mercati PAL, esce presentazione, le vendite dell’SG-1000 vanno anche
sconfitto in quelli NTSC ma, nonostante ciò, la console discretamente bene, perché il Famicom presenta dei
serve come sprone al costruttore giapponese per continuare problemi tecnici e Nintendo non solo richiama le console
ad investire nel mercato dei sistemi da gioco domestici già vendute ma ritarda anche la distribuzione di quelle a
per diversi anni a venire. magazzino per correggere questi difetti. Così facendo la
console Sega vive qualche mese di gloria dovuto all’assenza
Dall’SG-1000 al Master System di concorrenza, ma poi il prodotto Nintendo non appena
Come già visto in un precedente articolo, l’SG-1000 nasce ritorna sul mercato inizia nuovamente a macinar vendite.
su proposta della filiale giapponese di Sega che, nel 1982, Nel frattempo Sega sta vivendo un momento critico della
vedendo il calo che sta iniziando a colpire il mercato dei sua esistenza: West & Gulf, la multinazionale a cui
giochi arcade soprattutto in Nord America, suggerisce appartiene, decide di disfarsi dei rami societari che non
alla casa madre statunitense di puntare sulla produzione rendono molto e Sega, che in America sta attraversando
di un home computer. Durante lo sviluppo di quello che la famosa crisi dei videogiochi del 1983, non naviga in
diverrà l’SC-3000, Sega viene a conoscenza del fatto che buone acque, e viene smembrata, con la divisone arcade
Nintendo sta investendo nello sviluppo di una console da venduta ad un’azienda rivale mentre vengono
giochi domestica, ed il progetto dell’SC-3000 viene rivisto momentaneamente tenute la divisione ricerca e sviluppo
per poter diventare anch’esso una console, l’SG-1000 americana e la filiale giapponese. Le cose purtroppo non

Fig. 1 - Il Sega Master System (foto: Evan-Amos – fonte: Wikimedia Commons)

RETROMAGAZINE WORLD ANNO 8 - NUMERO 48 Pagina 3 di 78


HARDWARE

migliorano e, agli inizi del 1984, viene messa in vendita colori contemporanei sullo schermo da una tavolozza di
anche quest’ultima. Fortunatamente, l’ex amministratore 64. Gli sprite gestibili passano a 64, ognuno con 16 colori.
David Rosen e l’attuale presidente Hayao Nakayama, con Il chip audio è lo stesso dell’SG-1000 ma, per risparmiare
il supporto finanziario del gruppo CSK Corporation, spazio e componenti, viene integrato direttamente nel
rilevano l’azienda ed iniziano un piano di rilancio. Rivedono chip grafico.
l’SG-1000 per renderlo più esteticamente accattivante, Il 20 ottorbe 1985, due giorni dopo che Nintendo ha
risolvendo alcuni problemi progettuali della prima versione, messo in vendita negli USA la versione internazionale del
come ad esempio i joystick che non si possono staccare Famicom, ribattezzata Nintendo Entertainment Syste
dal corpo principale. L’SG-1000 Mark II viene messo in (NES), Sega presenta in Giappone il Mark III, evoluzione
commercio a metà del 1984 ma, anche in questo caso, dell’SG-1000 Mark II con cui condivide ben poco, essendo
le vendite non vanno bene. Nintendo ha attuato un’aggressiva una console completamente diversa (fig. 2).
politica commerciale legando a sé gli sviluppatori di
videogiochi: chi vuole pubblicare giochi per il Famicom Sebbene dotata di caratteristiche tecniche superiori, la
deve rilasciarli in esclusiva per la sua console. Non potendo console non riesce ad imporsi sul NES sopratutto per le
offrire gli stessi giochi della concorrente, l’offerta di Sega citate esclusive che Nintendo riesce a strappare ai
è composta per lo più da conversioni dei suoi arcade. produttori di videogiochi. Nonostante le non brillanti
Concettualmente, poi, l’hardware è lo stesso del precedente vendite in patria, Sega decide comunque di esportare la
sistema, basato sul TMS9918A che è oggettivamente console pensando che riesca a fare meglio sui mercati
inferiore al chip video del Famicom: quest’ultimo offre internazionali di quanto stia facendo in Giappone. Per
molti più sprite, oltretutto multicolore, ed una tavolozza operare al meglio sul prolifico mercato statunitense, viene
molto più ricca. Sega decide pertanto di rivedere il progetto fondata una succursale denominata Sega of America al
del TMS9918A e ne tira fuori un chip che è capace di 32 cui comando viene posto Bruce Lowry, che viene direttamente

Fig. 2 - Il Sega Mark III, evoluzione dell'SG-1000 Mark II e progenitore del Master System
(foto: Muband – fonte: Wikimedia Commons)
Pagina 4 di 78 RETROMAGAZINE WORLD ANNO 8 - NUMERO 48
HARDWARE

da Nintendo of America, dove ha ricoperto il ruolo di vice- capitano Kirk di Star Trek, per pubblicizzare il suo VIC-20.
presidente del reparto vendite. La scelta del nome aziendale Cercando di incrementare le vendite, Sega of America si
è anche opera sua: egli infatti reputa che “Sega” e accorda con la catena di giocattoli Tonka cedendo l’esclusiva
“America” siano due parole che stanno bene insieme, e, sulla commercializzazione negli USA, sperando che le
poi, venendo da un’azienda che si chiama Nintendo of vendite della console, acquistabile anche nei comuni
America, la scelta sembra scontata. Sega of America si negozi di giocattoli, possano risalire. Purtroppo Tonka
occupa inizialmente della revisione estetica della console non ha esperienza nella gestione delle vendite di dispositivi
per adattarla ai gusti occidentali: viene abbandonato il videoludici elettronici ed i numeri continuano a languire.
case bianco a favore di uno più scuro, dotato anche di Alla fine del 1987 Sega mette in vendita il Master System
plastiche più lisce e con angoli più pronunciati, ripulendo anche in Giappone, ma anche qui le cose continuano a
anche l’aspetto spigoloso della parte superiore e non andar bene, non riuscendo a contrastare il NES.
imprimendoci una grafica che ricorda quella dei lettori di Per il Master System va molto meglio in altri mercati. In
musicassette. Europa la console arriva a metà del 1987, inizialmente
Alla console viene assegnato il nome di Master System in Gran Bretagna, Francia e Germania, ma con un avvio
mediante un sondaggio fatto fra i dipendenti stessi di della commercializzazione segnato da un incidente di
Sega of America. L’avallo definitivo arriva comunque dal percorso. A causa della lentezza di Sega nel soddisfare i
presidente della casa madre giapponese Okawa, che lo preordini, i distributori locali accusano forti perdite
approva anche per via del richiamo al fatto che in una economiche e recidono i contratti. Agli inizi del 1988
qualunque competizione c’è sempre solo un “Master”, Virgin Mastertronic prende in mano la distribuzione su
colui che si impone su tutti gli altri, e ciò viene visto come tutto il mercato europeo e spinge la console facendo leva
benaugurante per i destini della console. sulle sue superiori capacità grafiche rispetto al Commodore
64 ed al Sinclair Spectrum. Forte anche della non buona
Commercializzazione penetrazione sul suolo europeo del NES, il Master System
La console viene presentata al CES di Chicago che si tiene si afferma velocemente come il sistema da gioco più
nel mese di luglio del 1986 e messa in vendita nel mese venduto: nel 1990 Virgin Mastertronic vende poco meno
di settembre dello stesso anno. La confezione, bianca e di 1 milione di Master System. Forte di questi numeri,
con una trama a quadretti, contiene la console, diversi sviluppatori di giochi europei decidono di pubblicare
pomposamente chiamata “Power base”, una pistola ottica, i loro titoli per la console di Sega, con il risultato che il
due controller ed una cartuccia multi-gioco, il tutto al parco giochi del Master System versione PAL batte quello
prezzo di 200 dollari. Sega investe circa 15 milioni di NTSC: sono circa 100 i giochi prodotti negli USA, contro
dollari per promuovere la console ma i risultati non sono i 300 prodotti in Europa.
quelli sperati: alla fine della stagione natalizia, quando La console viene presentata anche in Sud Corea, dove
la console è in promozione a circa 150 dollari per contrastare riceve una buona accoglienza e resta la console più
le vendite del NES, Sega ha venduto circa 250.000 unità venduta fino almeno al 1993. Anche in Australia i numeri
del Master System, meno di un quarto di quanto ha venduto sono molto buoni. Alla fine del 1989 il Master System
Nintendo. Nonostante Sega spinga sulla qualità dei giochi viene distribuito anche in Brasile, ad opera di TecToy, che
con lo slogan “la grafica sulla scatola è la grafica sul lavora molto bene commercializzando la console con
video”, ad indicare che ciò che si vede sulle confezioni dei successo, spingendola non solo con la pubblicità ma
giochi non sono immagini ritoccate ma il vero aspetto dei anche realizzando localizzazioni in portoghese dei giochi
titoli così come appaiono sullo schermo, il NES continua per la console.
a vendere molto di più per via degli accordi di esclusiva Nel 1988 viene presentato in Giappone il Mega Drive, la
di Nintendo ed anche per la poca offerta di giochi da parte prima console Sega a 16 bit, e subito tutti gli sforzi della
di altri sviluppatori. In pratica, in Nord America, i giochi società si concentrano sulla nuova arrivata. Il Master
per la console sono prodotti, oltre che da Sega, solo da System cade presto nel dimenticatoio: l’ultimo gioco
Activion e Parker Borthers. Per spingere le vendite viene pubblicato è del 1989, poi un lento declino fino al 1991,
assunto un ex-astronauta della NASA, Scott Carpenter, quando viene tolta dal mercato. Nel 1992 sparisce anche
un po’ come Commodore ha fatto qualche anno prima dal Nord America, senza lasciare troppa traccia di sé. Nel
prendendo come volto immagine William Shatner, il 1994 esce di scena anche dalla Corea mentre in Europa,
RETROMAGAZINE WORLD ANNO 8 - NUMERO 48 Pagina 5 di 78
HARDWARE

Fig. 3 - Scheda madre del Sega Master System: si notano la CPU Z80 (il chip centrale posto verticalmente), il
VDP (il grosso chip leggermente a sinistra rispetto al centro). Sul lato destro la porta Sega Card (in basso) e
quella per le cartucce (in alto) (foto: Evan-Amos – fonte: Wikimedia Commons)

grazie ai giochi che continuano ad essere regolarmente lo sfondo) mentre altri 16 sono a disposizione per gli
pubblicati, resiste fino al 1996. Il Brasile resta un caso a sprite. La tavolozza è indicizzata ed i 32 colori sono scelti
parte: terminata la commercializzazione ufficiale, TecToy fra i 64 disponibili e numerati da 0 a 31. In realtà c’è una
ha continuato a produrre, ad intervalli regolari, varie piccola precisazione da fare: mentre per i colori dello
console compatibili con il Master System e, recentemente, sfondo si può scegliere fra i colori per le tile (dallo 0 al
anche un dispositivo compatibile sia con il Master System 15) oppure fra quelli per gli sprite (dal 16 a 31), per questi
che con il Mega Drive. ultimi si può scegliere solo fra i colori a loro riservati (dal
16 al 31).
Caratteristiche tecniche La risoluzione è di 256x192 pixel ma può salire a 256x224
Sviluppata per risultare migliore del NES, la console riesce e, nei sistemi PAL anche a 256x240: in quest’ultimo caso
ad assolvere questo compito in maniera egregia, offrendo non si ha il classico bordo intorno all’immagine. Il VDP
una grafica con più sprite e colori della controparte gestisce un massimo di 488 tile differenti per lo sfondo,
Nintendo. Come detto, il Video Processing Unit (VDP), il che possono essere riflesse in orizzontale o verticale.
cuore grafico del Master System (fig. 3), deriva direttamente Inoltre, le tile possono apparire sia davanti che dietro agli
dal TMS9918A, un chip di Texas Instruments ben noto sprite. Questi ultimi possono essere 64 contemporaneamente
agli amanti dei computer anni ‘80 avendo equipaggiato sullo schermo (il doppio di quelli offerti dal TMS9918A
sia il TI-99/4A sia tutti i computer della serie MSX. Partendo originale), per un massimo, però, di 8 per singola riga
da questa base, i progettisti Sega hanno tirato fuori video. Rispetto a quelli gestiti dal chip da cui deriva, gli
un’unità capace di visualizzare un’immagine con molti sprite del VDP sono multicolore e le loro dimensioni
più colori: mentre il TMS9918A è limitato a 16 colori (anzi possono essere di 8x8 oppure 8x16 pixel: esiste anche
15, perché il 16° in realtà è un “non colore”, una trasparenza) la possibilità di ingrandirli raddoppiandone le dimensioni:
il VDP offre una tavolozza di ben 64 colori, di cui 32 visibili essi passano, rispettivamente, a 16x16 e 16x32 pixel.
contemporaneamente sullo schermo, secondo una Come le tile dello sfondo, anche gli sprite attingono i dati
ripartizione particolare: 16 colori sono disponibili per le a blocchi di 8x8 pxiel dalla memoria. Ciò comporta che
“tile” (le tessere, o caratteri, di 8x8 pixel che compongono più sprite con dettagli diversi si hanno più memoria si

Pagina 6 di 78 RETROMAGAZINE WORLD ANNO 8 - NUMERO 48


HARDWARE

da 4 a 32 KB, quella di una cartuccia ROM va da 16 a 512


KB. Una curiosità: come per altri produttori, anche Sega
ha distribuito i suoi giochi riportando la capacità del
supporto in bit invece che in byte, in modo che sembrino
più grandi e diano così l’idea di contenere più dati del
gioco: si hanno così supporti con capacità, ad esempio,
di 256 Kbit (32 KB), 1 Mbit (128 KB), 2 Mbit (256 KB)
oppure 4 Mbit (512 KB).
Esteticamente la console si presenta come un parallelepipedo
di colore nero, largo e basso. Anteriormente ci sono 2
prese per i controller ed il pulsante di accension mentre
posteriormente ci sono l’uscita video composita, l’uscita
RF per il collegamento ad un comune TV, il selettore del
canale televisivo su cui far uscire il segnale e l’ingresso
dell’alimentazione. Sul lato superiore ci sono il vano per
l’alloggiamento delle cartucce ROM nonché la porta per
le Sega Card oltre che i pulsanti di reset e di pausa del
gioco. I controller di gioco sono rettangolari, con una
crociera direzionale con possibilità di montare una piccola
astina per trasformarla in un piccolo joystick, e due pulsanti.

Accessori e revisioni
Per il Master System sono stati prodotti diversi accessori.
Quelli più famosi sono gli occhiali SegaScope 3-D (fig. 5)
Fig. 4 - Una Sega Card con il gioco Hang-On e la pistola ottica Light Phaser (fig. 6). I primi sono degli
(fonte: [Link]) speciali occhiali che permettono, se abbinati a giochi
toglie alle tile dello sfondo, e viceversa. Infine, il chip sviluppati appositamente, una visione steroscopica. Gli
gestisce anche lo scrolling verticale e orizzontale. occhiali si collegano alla console tramite la porta delle
Il chip audio è integrato nello stesso silicio del VDP: si Sega Card e per essi sono stati sviluppati solo 8 giochi,
tratta del core audio dell’SN76489, capace di 3 voci ad tra cui “OutRun 3D” e “Zaxxon 3-D”. La Light Phaser è
onda quadra e di un generatore di rumore. Niente di una pistola ottica realizzata riproducendo il profilo dell’arma
esaltante, ma nel complesso un discreto processore audio usata nell’anime giapponese Zillion, ed è stata usata in
molto diffuso, essendo usato sul TI-99/4A, sul BBC Micro, 13 giochi, tutti pubblicati al di fuori del Giappone. Non
sul ColecoVision e su diversi giochi arcade. Nella versione mancano le rivisitazioni delle classiche periferiche di
originale giapponese della console, la Mark III, è presente gioco, come il Sega Control Stick, un joystick in stile
un ulteriore chip audio, lo Yamaha YM2413, per la arcade, oppure il Sega Sports Pad (non rilasciato in
generazione di audio FM. Europa), un trackball studiato per i giochi sportivi ma
La CPU è la stessa Zilog Z80 dell’SG-1000, con clock di usato solo in 3 titoli (“Sports Pad Football”, “Sports Pad
3,58 MHz. La console offre 8 KB di RAM per la memorizzazione Soccer” e “NFL Sunday Ticket”).
dei dati del gioco in esecuzione e 16 KB di VRAM, esclusivi
del VDP. I giochi sono distribuiti su 2 supporti differenti: Sega ha rilasciato anche una versione portatile della
le classiche cartucce ROM e le Sega Card, un formato console, il Sega Game Gear (fig. 7): è stato presentato in
proprietario introdotto con l’SG-1000 (fig. 4). Queste Giappone a fine 1990, poi nel 1991 in Europa e Stati Uniti
ultime sono di dimensioni più contenute e più economiche e infine l’anno successivo in Australia e Nuova Zelanda.
da produrre, risultando in giochi con un costo di acquisto Si tratta di un dispositivo a batterie con un piccolo schermo
inferiore rispetto a quelli distribuiti sulle classiche cartucce LCD a colori di 3,2 pollici di diagonale: rispetto al Master
ma, per contro, offrono significativamente meno spazio System, la risoluzione è di 160x144 pixel ed i colori sono
di archiviazione: mentre la capacità di una Sega Card va sempre 32 contemporaneamente su schermo ma il suo
RETROMAGAZINE WORLD ANNO 8 - NUMERO 48 Pagina 7 di 78
HARDWARE

Fig. 6 - La Light Phaser, progettata sulla pistola laser


Fig. 5 - I Sega Scope 3-D
dell'anime "Zillion"
(foto: Boffy B – fonte: Wikimedia Commons)
(foto: Evan-Amos – fonte: Wikimedia Commons)
VDP ha una tavolozza espansa a ben 4.096 diverse tonalità. 2008 TecToy ha rilasciato infine una versione del Master
Tramite un adattatore denominato Master Gear è possibile System III basata su un SoC con 131 giochi integrati.
usare i giochi del Master System sul Game Gear, grazie
al fatto che condivide praticamente lo stesso hardware Giochi
della console. Come già ampiamente ribadito in precedenza, Nintendo
Nel 1990 la console viene rivista e, per contenerne i costi ha saputo garantirsi l’esclusiva della pubblicazione dei
di produzione, viene ridotta di dimensioni e vengono giochi per la sua console. Questo ha tagliato fuori... dai
rimosse alcune caratteristiche fra cui l’uscita video giochi diverse altre console, fra cui appunto il Master
composito, il pulsante di reset e la porta per le Sega Card. System di Sega, che su diversi mercati non è riuscita a
Viene integrato un gioco, che si avvia quando la console reggere il confronto con la rivale, come in Giappone e in
viene accesa senza una cartuccia inserita: per le versioni Nord America, da sempre due dei più prolifici per i
NTSC c’è “Alex Kidd in Miracle World” mentre per quelle videogiochi. Nonostante ciò la buona diffusione avuta su
PAL “Sonic the Hedgehog”. Viene messa in commercio altri mercati, come quello europeo o quello brasiliano, ha
come Master System II ed incontra un buon favore di invogliato diversi sviluppatori a produrre titoli specifici
pubblico sopratutto in Europa e Brasile (fig. 8). per il Master System. Soprattutto in Europa il fenomeno
TecToy, grazie al successo della console sul suolo brasiliano, si è fatto sentire con una produzione così ricca che ha
presenta nel 1992 la Master System III Compact, che in surclassato di gran lunga quella nordamericana: molti
realtà non è altro che il Master System II rimarchiato (fig. giochi sviluppati in Europa sono infatti esclusive pubblicate
9). La console viene distribuita con una cartuccia multigioco solo per la console in versione PAL, come “Asterix” (fig.
allegata alla confezione. Sempre TecToy ha prodotto, 11). Come poi Nintendo ha fatto con Mario, anche Sega
sempre per il solo mercato brasiliano, la Master System ha cercato fortuna creando una mascotte e affidando ad
Super Compact, di dimensioni più ridotte e dotata di un essa il ruolo di rappresentante della console stessa. Se
trasmettitore radio per inviare il segnale al televisore. Nel almeno inizialmente questo ruolo è stato rivestito in modo
non ufficiale da “Alex Kidd”, comparso in “Alex Kidd in
Miracle World” (fig. 10) del 1986, questo ruolo è stato
poi affidato ufficialmente a “Sonic the Hedgehog” (fig.
18), il porcospino blu comparso per la prima volta
nell’omonimo titolo del 1991. Oltre ai giochi basati su
questi personaggi sono molto famose le conversioni degli
arcade di Sega o di altri produttori, come “Bubble
Bobble” (fig. 15). Ci sono giochi che hanno saputo più di
altri tirar fuori il meglio dal Master System e sono divenuti
nel tempo vere icone, ad esempio “Ninja Gaiden” (fig.
Fig. 7 - Il Sega Game Gear 13), quelli con Topolino come personaggio protagonista
(foto: Evan-Amos - fonte: Wikimedia Commons) come “Castle Illusion starring Mickey Mouse” (fig. 12) o

Pagina 8 di 78 RETROMAGAZINE WORLD ANNO 8 - NUMERO 48


HARDWARE

Fig. 9 - Il Sega Master System III, esclusiva


Fig. 8 - Il Sega Master System II
brasiliana commercializzata da TecToy(foto:
(foto: Evan-Amos - fonte: Wikimedia Commons)
Neowoikkin2113 - fonte: Wikimedia Commons)

“Wonder Boy III” (fig. 17). Grazie alle capacità grafiche sono invece rivelate vere e proprie cacce all’oggetto per
della console, la produzione di giochi è rimasta attiva cultori della console. Alla fine dei salmi, le 13/15 milioni
anche dopo la sua dismissione e la diffusione dei sistemi di console vendute in tutto il mondo e le circa 8 milioni
di nuova generazione, con conversioni di giochi nati per di unità vendute nel solo Brasile sono numeri che esprimono
questi sistemi, come “Street Fighter II” o “Prince of bene l’amore per un oggetto che è rimasto nel cuore di molti.
Persia” (fig. 16).

Eredità
Nonostante nella sua vita commerciale non abbia fatto
registrare numeri da record, il Master System resta
comunque una pietra miliare nella storia di Sega. E’ la
console che ha rafforzato l’immagine dell’azienda
giapponese come produttore di console, raccogliendo
l’eredità dell’SG-1000 e consolidando la sua presenza
nel settore, e preparando il territorio per quel successo
di vendite che è stato poi il Mega Drive, nonché introducendo
la mascotte Sonic che è divenuta l’immagine stessa
dell’azienda. Le sue caratteristiche grafiche hanno lasciato
il segno in migliaia di fan tant’è che, a distanza di anni
Fig. 10 - Asterix
dalla sua dismissione, in alcuni Paesi console messe in (fonte: [Link])
vendita in operazioni di amarcord non proprio sicure si

Fig. 11 - Alex Kidd in Miracle World Fig. 12 - Castle Illusion - starring Mickey Mouse
(fonte: [Link]) (fonte: [Link])

RETROMAGAZINE WORLD ANNO 8 - NUMERO 48 Pagina 9 di 78


HARDWARE

Fig. 13 - Ninja Gaiden Fig. 14 - Phantasy Star


(fonte: [Link]) (fonte: [Link])

Fig. 15 - Bubble Bobble Fig. 16 - Prince of Persia


(fonte: [Link]) (fonte: [Link])

Fig. 17 - Wonder Boy III - The dragon's Trap Fig. 18 - Sonic the Hedgehog
(fonte: [Link]) (fonte: [Link])

Pagina 10 di 78 RETROMAGAZINE WORLD ANNO 8 - NUMERO 48


HARDWARE

Tiny Disk II
di Giulio Fieramosca

Una decina di anni fa sono entrato in possesso di un Apple ] prima cosa ho iniziato a documentarmi per studiare
[e, salvato prima che venisse gettato. I molteplici problemi l’elettronica ed il protocollo.
- i chip di memoria guasti e il floppy drive meccanicamente
guasto - non lo hanno reso molto appetibile per le Il protocollo - Organizzazione fisica dei dati
sperimentazioni, ed è rimasto per anni nel garage della L’involucro morbido dei floppy da 5¼” protegge un
nostra “RetrOfficina”, tirato fuori soltanto per le rare dischetto di materiale plastico, ricoperto di un sottile
esposizioni. Questo fino al 2022 quando mi sono deciso strato magnetizzabile. Le informazioni sono registrate
di dedicare un bel po’ di tempo al restauro di questa digitalmente applicando un campo magnetico localizzato
interessante e storica macchina. ad un’area ristretta, che vi resta impresso. La lettura
Tagliando corto, il floppy drive originale è rotto e non avviene con il processo inverso, captando i cambiamenti
sono riuscito a ripararlo. Il che è un gran dispiacere, visto nella magnetizzazione del dischetto.
che buona parte del software per questa macchina circolava Lettura e scrittura avvengono mediante una coppia di
su dischetto. Non solo, pur essendo dotata di interfaccia testine, poste a distanza ravvicinata dal dischetto, mentre
a nastri, in molti casi era necessario precaricare versioni quest’ultimo è in rotazione. Immaginando la superficie
più avanzate di BASIC o di DOS... da dischetto. Mi sono suddivisa in intervalli regolari, si utilizzata una particolare
guardato in giro per valutare l'acquisto di uno di quegli codifica per mappare i bit su disco: il bit “1” si rappresenta
onnipotenti emulatori di floppy, come il floppyEmu o il con una inversione di polarità e lo “0” con l’assenza di
wDrive. Sono belli ma costosi. Il che mi ha spinto a transizioni di polarità.
realizzare la mia personale versione di emulatore floppy,
con l'intenzione di rendere tutto il progetto disponibile online. Il campo magnetico impresso nel dischetto sarebbe troppo
Prima di reinventare l’acqua calda ho dato un’occhiata debole per poter essere direttamente digitalizzato: per
sul web alla ricerca di un qualche progetto libero, ed in questa ragione è necessario un amplificatore che mantenga
effetti mi sono imbattuto in un certo “SDISK II”, di cui costante l’ampiezza del segnale analogico, così da poter
sono disponibili online sia gli schemi che il sorgente. Ho leggere sia un disco appena scritto che uno più rovinato.
provato a realizzarlo senza successo, ma non ci ho messo Sfortunatamente, una lunga sequenza di zeri dà un output
molto impegno: l’hardware non mi convinceva del tutto. pressoché costante ed il Drive II tenderà ad “alzare il
In ogni caso il firmware è stato un ottimo ed utilissimo volume”... arrivando a captare le minuscole variazioni
punto di partenza su cui lavorare per il mio progetto. dovute al rumore di fondo. È per questa ragione che la
In tutto questo non avevo la minima idea di come funzionasse scrittura di una sequenza di bit non può mai contenere
un floppy, men che mai quello dell’Apple II. Quindi, per più di due zeri consecutivi. Questa è una grossa limitazione

RETROMAGAZINE WORLD ANNO 8 - NUMERO 48 Pagina 11 di 78


HARDWARE

disco è interamente a carico del software.

Dunque, è necessario in qualche modo distinguere un


settore da un altro. Per questa ragione ciascun a settore
è associato un campo di descrizione, detto “address field”.
L'address field contiene le informazioni di identificazione
Fig. 1 - Rappresentazione della superficie del settore all'interno del disco, ad esempio “traccia
magnetizzata del dischetto. Ogni inversione di numero 2, settore numero 7”. Questi valori richiedono un
polarità è associata ad un bit "1". byte ciascuno, ma non possono essere trascritti direttamente
che ci impedisce, per esempio, di trascrivere un testo perché potrebbero non essere rappresentabili su disco.
direttamente sul disco: la lettera A maiuscola, codice Per questo, ciascun numeretto viene prima codificato con
ASCII 01000001, sarebbe proibita! un approccio “odd-even”: data la sequenza “10101010”,
Ma i problemi non sono finiti qui. Durante la lettura, la si sostituiscono agli “0” i bit dispari del byte da codificare.
testina capta un flusso continuo di bit e il Drive II non A partire dalla stessa sequenza si fa lo stesso con i bit
prevede un mezzo meccanico per segnalare l’inizio di un pari, ottenendo due byte distinti. È evidente che, così
segmento valido. facendo, il primo bit sarà sempre 1 e non si potranno mai
Per ovviare a questo inconveniente, il Drive II fu progettato avere 0 consecutivi.
imponendo che un byte valido debba sempre avere un bit
“1” in testa. La lettera A maiuscola è a maggior ragione
proibita.
Inoltre, per garantire un corretto allineamento, prima di
ogni segmento dati valido è anteposta una particolare
sequenza di 12 bit, pari a “1111111100”, che porta il
sistema di lettura ad allinearsi sempre sul primo “1”.
Questo codice viene anche chiamato “self-synced FF”.
All’address field segue il data field, che contiene
l’informazione vera e propria. I dati non sono codificati
con la tecnica “odd-even” perché comporterebbe un
raddoppio nello spazio occupato. Sono state preferite
altre codifiche ad efficienza maggiore, dette "5-and-3" e
"6-and-2", ma la loro implementazione trascende dallo
scopo di questo racconto, per cui rimando direttamente
al manuale “Beneath Apple DOS” per approfondire. Ci è
sufficiente sapere che in un settore possiamo immagazzinare
256 byte, che adottando la codifica più efficiente lievitano
Fig. 2 - Geometria del fisco floppy
a 342 byte.
Come sui più recenti floppy da 3.5" e sui dischi rigidi, il È importante sottolineare che entrambi i fields hanno un
disco è suddiviso in tracce concentriche e per ogni traccia prologo univoco di tre caratteri, importanti per distinguerli
i dati sono segmentati in settori, così da poter gestire e decodificarli correttamente. I primi due byte di entrambi
letture e scritture in gruppi più piccoli. Il contenuto i campi, “D5 AA”, sono codici riservati che non possono
informativo di una traccia sarà qualcosa di simile alla essere utilizzati altrove e fungono da ulteriore sistema di
figura di seguito. allineamento.

La particolarità dell’Apple Drive II, che lo differenzia da Come accennato, ciascun field è preceduto dalle sequenze
altri modelli dell’epoca, sta nella estrema semplicità di "self-sync FF". Oltre a servire da pattern di
dell’hardware. Per contro, la gestione della geometria del sincronizzazione, questi “gap” fungono da buffer per la
Pagina 12 di 78 RETROMAGAZINE WORLD ANNO 8 - NUMERO 48
HARDWARE

scrittura. meccanismi di protezione anticopia, che però non sono


Siccome l'operazione di scrittura è implementata in software stato interessato ad emulare.
ed avviene "alla cieca", queste aree di buffer servono ad
avere margine sufficiente per evitare che la riscrittura di
un field sovrascriva porzioni di settori adiacenti.

L’emulatore
Per implementare l’emulatore ho seguito le orme del
progetto SDISK II ed ho utilizzato soltanto un microcontrollore.
Le immagini disco da servire vengono prelevate da una
comune SD card formattata in FAT e servite sull’interfaccia
disco.
Il sistema del floppy drive dell’Apple II è fondamentalmente Per scegliere l’immagine e monitorare lo stato del drive
composto di due schede: il drive ne contiene una, denominata ho predisposto in prima battuta una interfaccia a riga di
“analog card”, che si occupa di effettuare la conversione comando via seriale, poi una interfaccia semi grafica tramite
dal mondo analogico al mondo digitale; la seconda scheda display OLED e selettore, che non richiede la presenza di
è contenuta all’interno dell’unità centrale, detta “interface un secondo computer.
card”, e si occupa del coordinamento ad alto livello. Include, La scelta del microcontrollore è ricaduta sull’architettura
fra le altre cose, una ROM per il codice di bootstrap ed una AVR - per intendersi, la stessa della prima serie Arduino –
serie di chip necessari a “serializzare” e “deserializzare” perché avevo una scheda di sviluppo con una variante più
i byte da scambiare con il processore. Di fatto, l’emulatore performante da utilizzare per le prime prove. Inoltre, anche
di floppy dovrà spacciarsi per la analog card. l’SDISK II è basato su AVR ed il suo codice è stato un buon
Il drive resta in attesa finché il segnale “drive enable” è punto di partenza.
disattivato. Attivare il drive significa portarlo in modalità
lettura, e da quel momento lungo il filo di read inizieranno
a scendere i dati letti dalla testina. La logica di digitalizzazione
ripulisce tutto quel che la testina è in grado di captare e
restituisce un segnale squadrato costituito da un treno di
impulsi, uno per ciascun bit “1” rilevato, e con spaziatura Tutta la sezione “moderna” opera a 3.3V, un vincolo imposto
di 4µs. dalla scheda SD e dal display. L’interfaccia con l’Apple II
Il drive commuta in scrittura non appena si attiva anche richiede particolare cautela, non solo per le differenti
il segnale di “write request”. In questa fase viene accesa tensioni operative (5V vs 3.3V), ma anche per gli standard
la testina di scrittura che col proprio campo magnetico va logici non compatibili (LVCMOS vs TTL): anche riscalando
a sovrascrivere qualsiasi cosa ci fosse in precedenza. le tensioni, le due parti potrebbero non capirsi alla perfezione.
Commutare o lasciare invariato il “write” determina il Nella prima versione sperimentale mi sono accontentato
nuovo contenuto del disco, ovvero se scrivere un bit “1” di usare quel che avevo: traslatori di livello economici ma
oppure uno “0”. lenti per scendere verso l’emulatore e qualche buffer per
rigenerare il segnale dell’emulatore. Fortunatamente
esistono dei circuiti integrati adatti allo scopo che ho
inserito nella versione realizzata su PCB.
Resta la gestione del posizionamento della testina sulla Ho approfittato anche dei LED presenti sulla scheda di
traccia, di fatto tramite un motore passo passo controllato sviluppo per avere un feedback visivo dello stato del lettore,
direttamente tramite le quattro fasi con attivazione per esempio riportando la posizione della testina.
sequenziale. Per cambiare traccia in realtà è necessario
attivare due fasi consecutive, probabilmente per garantire Lettura
una maggiore precisione nell'allineamento motore-traccia. Esistono più formati con cui possono essere digitalizzate
Le “tracce intermedie” venivano utilizzate per particolari le immagini disco dell'Apple II, ma per mantenere decenti
RETROMAGAZINE WORLD ANNO 8 - NUMERO 48 Pagina 13 di 78
HARDWARE

le prestazioni dell'emulatore ho mantenuto il formato .NIC Questo può essere svolto interamente a controllo di
utilizzato sull’SDISK II. Si tratta di un file binario che programma, cosa effettivamente fatta nel progetto originale
memorizza i bit grezzi fisicamente letti dalla testina del dell’SDISK II mediante l’uso di alcune routine in assembly.
lettore. Il file è strutturato per settori e tracce crescenti. Nella mia implementazione ho voluto delegare la generazione
Ho riportato un paio di estratti nella coppia di figure che del segnale di lettura ad una periferica hardware presente
seguono, evidenziando la struttura dati ed il sopra citato nel microcontrollore, detta timer PWM. Tale periferica
address field. permette di generare autonomamente un segnale ad onda
Comprendendo i gap, la dimensione di ciascun settore quadra, programmandone il periodo e la frazione di periodo
nel .NIC è di 416 byte. A questi, sono aggiunti 96 byte di in cui il segnale deve “rimanere basso”.
fill a 0, così da mantenere ciascun settore allineato a blocchi Questa periferica non è altro che un contatore con un
di 512 byte. Questa scelta è dettata dalla specifica di singolo pin di uscita associato. Se ne possono programmare
funzionamento di lettura e scrittura da scheda SD, che il valore massimo - il periodo - ed un valore di soglia. Finché
richiede di operare a multipli di un blocco, proprio pari a il valore del contatore è minore del valore di soglia, il pin
512 byte. rimane a 0. Superato il valore intermedio, l’uscita viene
portata ad 1.

Volendo generare una sequenza di “1” è sufficiente


programmare la periferica con un periodo di 4 µs e un
tempo di attesa di 3 µs. Impostando il valore di soglia ad
un valore superiore al periodo, non avverrà mai il “match”
e l’uscita resterà nulla, generando uno “0”.
Al termine di ogni periodo il software va ad aggiornare il
valore di soglia in accordo con il bit effettivo da trasmettere.
Non è più necessario effettuare una attesa attiva perché
la periferica PWM è programmata per richiedere una
interruzione al termine di ogni periodo. Ad ogni interruzione
il programma ha poco meno di 3 millisecondi per leggere
un bit dalla scheda SD e decidere se abilitare l'uscita del
PWM per l'impulso.
Il Drive II non ha coscienza della suddivisione in settori
del disco, per cui la traccia corrente viene comunque letta
per intero e trasferita alla scheda di interfaccia. Le operazioni
su un settore specifico sono effettuate in software, leggendo
ed interpretando ciascun address field per decidere se
scartare i dati provenienti da altri settori.
Per l’emulatore, questo si traduce in una specifica di
Data la memoria limitata presente sul micro, non è possibile funzionamento molto semplice: finché il segnale di drive
scaricare tutta l'immagine .NIC in RAM all'inizio della lettura. enable è attivo, il firmware dell’emulatore cicla la lettura
Piuttosto, noti la traccia ed il settore che devono essere di tutti i settori della stessa traccia.
forniti al computer, è sufficiente posizionare l'indirizzo di
lettura della scheda SD nel punto desiderato ed, ogni 4 Il controllo della traccia avviene attraverso i quattro fili di
microsecondi, “tirare fuori” un bit, generando o meno un fase PHI0-PHI3, che nel drive originale controllavano
impulso. direttamente il motore passo-passo di posizionamento
Pagina 14 di 78 RETROMAGAZINE WORLD ANNO 8 - NUMERO 48
HARDWARE

della testina. Nell’emulatore, il cambio della traccia è gestito la presenza della periferica di DMA.
dal codice principale, non c’è necessità di scomodare Il DMA, o Direct Memory Access, è un componente del
interruzioni poiché si tratta di segnali molto lenti, tanto microcontrollore che consente di effettuare scambio dati
che si riescono ad osservare ad occhio nudo tramite dei LED. fra la memoria ed una periferica senza l’intervento diretto
La routine di “controllo traccia” monitora i quattro segnali del processore. In questo caso la periferica è la SPI che
di fase e incrementa opportunamente il contatore interno gestisce la comunicazione con la scheda SD.
di traccia in base alla direzione impartita. Il cambio traccia Con il DMA, l’overhead si riduce al tempo tecnico necessario
potrebbe avvenire in qualunque momento, anche nel bel per impostare sul DMA l’indirizzo del blocco SD da leggere,
mezzo della lettura di un settore. Per non complicare troppo dopodiché questo verrà caricato in RAM in circa 300 µs.
la logica, ho deciso di non interrompere mai la lettura di Non importa attendere che il buffer DMA sia stato caricato
un settore e di applicare il cambio traccia solo quando per intero prima di iniziare a servire i dati sulla linea read,
viene fatto il caricamento di un nuovo blocco da SD. Tanto, tanto la scheda SD è molto più veloce.
nel mondo reale, i dati letti durante il cambio di traccia Non mi è sembrato utile ottimizzare ulteriormente la fase
sarebbero comunque invalidi e da scartare. di lettura, la scelta di usare il DMA si è rivelata utile più
Il controllo di traccia è incrementale e senza alcun feedback: che altro per scrittura e formattazione.
difatti, il computer effettua, ad ogni accensione, un
azzeramento forzato della posizione della testina muovendo
il motore alla cieca. È questo il motivo del rumore che fa il
disk drive all’accensione. È stato interessante un primo
esperimento di lettura in cui non avevo implementato la
gestione delle tracce: la prima traccia veniva letta con Scrittura
successo ma, passando alla successiva, il software si Bisogna differenziare la scrittura di un floppy in due casi
accorgeva dell’incongruenza tramite i campi dell’address distinti, ovvero la sovrascrittura di un settore e la
field. Anche in questo caso veniva tentato l’azzeramento formattazione. Sebbene si tratti in entrambi i casi di
della testina nella speranza di riallinearsi alla traccia giusta, operazioni di sovrascrittura, nel primo si va ad alterare il
purtroppo senza successo. contenuto di un singolo data field, mentre nel secondo
caso viene riscritta l’intera traccia, compreso l’address
field. La formattazione opera quindi su settori multipli ed
ha dei vincoli temporali molto più stringenti, tanto che il
Il vincolo temporale più stringente in lettura è imposto dai primo prototipo di tinyDisk non era in grado di supportare.
4 µs di periodo di bit all’interno dello stesso settore. Invece,
non c’è nessuna fretta di servire un nuovo settore. Sia Considerando il caso più semplice, la sovrascrittura di un
chiaro, le routine software dell’Apple II implementano un settore, si possono fare le seguenti assunzioni:
timeout che termina la lettura se il settore richiesto non è -prima di iniziare la scrittura di un settore, la routine Apple
leggibile entro un certo tempo. Ma questo intervallo di attende sempre di ricevere l'address field corretto per
tempo è sufficiente per svolgere un po’ di burocrazia. Per potersi allineare sul settore corretto, quindi inizia a
servire un nuovo settore è necessario indirizzare sovrascrivere il data field che segue;
correttamente il blocco corretto dalla scheda SD, operazione - l’address field non viene mai sovrascritto, serve per
effettuata a controllo di programma e che richiede qualche allinearsi al settore corretto;
decina di µs. - 0xD5 è un byte univoco e riservato, che può essere usato
Come dicevo, nel primo approccio non ho fatto uso di come marcatore di allineamento nella decodifica del segnale
buffering di settore. I dati sono letti bit per bit dalla scheda write;
SD ogni 4 µs e serviti immediatamente sulla linea read. La - durante la scrittura di un settore non verrà mai cambiata
scheda SD impone che i 512 byte di blocco debbano essere traccia, sarebbe alquanto controproducente.
letti per intero, per cui al termine del settore restano
comunque 96 byte da ignorare, che aggiungono un ulteriore La strategia per convertire il segnale di write in uno stream
overhead prima di poter iniziare a leggere il settore binario è semplice: per completare un byte è necessario
successivo. Per abbattere questi tempi morti ho sfruttato aver decodificato almeno 8 simboli. Ogni transizione
RETROMAGAZINE WORLD ANNO 8 - NUMERO 48 Pagina 15 di 78
HARDWARE

rappresenta un “1”. Lo “0”, ovvero la mancanza di una SD. A questo punto la scrittura in SD Card può procedere
transizione in uno slot di 4µs, richiede che sia predisposto autonomamente senza l'intervento della CPU, che è libera
un timer con periodo leggermente maggiore di 4us, per di decodificare il nuovo settore in arrivo.
tenere conto delle minime fluttuazioni del clock dell'Apple II. Pur avendo un singolo buffer è raro che la lettura del nuovo
settore sovrascriva una parte non ancora trasferita sulla
memoria di massa, perché sussiste un fattore x8 fra il data
rate dell'SPI in uscita e del Drive II in ingresso.
La criticità temporale, in effetti, risiede nel tempo di
finalizzazione della scrittura in scheda SD: queste memorie,
dopo aver immesso il buffer tramite SPI, richiedono un
tempo ulteriore per effettuare la cancellazione fisica e la
La routine software dell’Apple II inizia sempre riscrivendo sovrascrittura, tempo che varia in base al modello e all'età
la sequenza di self-synced FF, che può essere scartata. La del supporto di memoria.
prima informazione utile, e fondamentale per potersi Questo ritardo aggiuntivo ha dato qualche grattacapo, ma
allineare, è il prologo del data field, ovvero il byte 0xD5. si può mitigare forzando il salvataggio dei settori di una
Rilevato quello, tutti i byte che seguono possono essere stessa traccia in aree fisicamente contigue della scheda
salvati in un buffer che sarà opportunamente caricato nel SD - di fatto imponendo una blanda non frammentazione
blocco corretto della SD, sovrascrivendo il file .NIC originario. dei file .NIC - e permettendo una ottimizzazione nelle
Al termine della scrittura, l’Apple II torna in lettura per operazioni fisiche di cancellazione e sovrascrittura.
allinearsi, eventualmente, con un altro settore da
sovrascrivere. Giudizio finale e riferimenti
In caso di più settori da sovrascrivere, il mio firmware non L'obiettivo di sostituire il drive originale con un emulatore
è in grado di gestire una nuova scrittura finché non è è stato raggiunto con successo. L'ho validato sul campo
terminato il “write back” sulla scheda SD. Fortunatamente, provando una serie di immagini disco di software "da
questo tempo non è così lungo e l’Apple II ha sufficiente esposizione": giochi, applicativi, demo... in lettura non ho
pazienza e non va in errore. Ovviamente è previsto un avuto problemi degni di nota.
timeout nel caso in cui non dovesse essere mai rilevato
l’address field da sovrascrivere. Lo stesso vale per la scrittura, testata sia salvando codice
Storia ben diversa riguarda la formattazione. Poiché la BASIC dal DOS, sia modificando arbitrariamente il contenuto
formattazione va a ridefinire la geometria del disco, in dei settori tramite il software CopyII+. La formattazione
questo caso la traccia viene interamente sovrascritta senza meriterebbe ancora delle indagini perché, sporadicamente,
alcuna attesa fra un data field e l’address field del settore fallisce quando si ha a che fare con schede SD particolarmente
successivo. Purtroppo il microcontrollore non ha abbastanza lente o vissute.
RAM per per memorizzare una traccia - già un singolo
settore porta via 512 byte dei 2K disponibili. Nonostante le semplificazioni, che limitano la fedeltà di
emulazione, il progetto si è rivelato una sfida ardua ed
averlo realizzato in casa è stato utile per imparare qualcosa
di nuovo. Ho provato a riassumere i tratti più salienti di
questo progetto senza scendere eccessivamente nel
dettaglio sperando di suscitare curiosità ed interesse
La soluzione che mi è sembrata più ragionevole è stata sull'argomento. Lascio ai più volenterosi la possibilità di
tentare di implementare una pipeline con l’unico buffer di approfondire direttamente sul codice del progetto rilasciato
settore disponibile. Il principio è il seguente: registrata la con licenza libera, che sia con l'obiettivo di realizzarne una
richiesta di scrittura, il buffer viene popolato decodificando propria versione o proporre modifiche e miglioramenti.
il segnale Write, come per la sovrascrittura del settore. Al
termine, c'è un breve periodo di grazia rappresentato dalla
scrittura del gap fra settori, che il firmware sfrutta per
istruire la periferica DMA a trasferire il buffer in scheda
Pagina 16 di 78 RETROMAGAZINE WORLD ANNO 8 - NUMERO 48
HARDWARE

Riferimenti

Repository del progetto:


[Link]

SDISK II, home page del progetto:


[Link]

Beneath Apple DOS:


[Link]
Beneath%20Apple%[Link]

The Amazing Disk II Controller Card, descrizione del controller disco a cura del progettista del "Floppy Emu":
[Link]

Understanding the Apple II:


[Link]

Fig. 3 - Apple IIe computer (enhanced version)


(foto: Bilby – fonte: Wikimedia Commons)

RETROMAGAZINE WORLD ANNO 8 - NUMERO 48 Pagina 17 di 78


HARDWARE

Beige è bello!
THE A400 Mini, un gradito ritorno
di Carlo Nithaiah Del Mar Pirazzini
Dopo un’ondata di micro-console che include NES, SNES, MOS 6502, il 400 era posizionato sul mercato come il più
Megadrive, PC Engine e il ritorno di micro-home computer conveniente dei due e aveva una tastiera a membrana e
come C64 e Amiga, ora mettiamo mano su quello che un singolo slot per cartucce (l’800 aveva una tastiera
deve essere l’esperimento più interessante fino ad ora: meccanica e due slot per cartucce, oltre a Ram espandibile
l’Atari 400 Mini. e tanto altro).
Basato sulla gamma di computer domestici 8bit di Atari, Nonostante fossero stati lanciati come personal computer,
che arrivò sul mercato nel 1979, questa piccola versione l’Atari 400 e 800 erano supportati da un’ampia gamma
è un “perla” realizzata con una collaborazione tra Atari, di giochi, come Star Raiders del 1980 vera e propria Killer
Plaion e Retro Games ltd. Application per la macchina.
Al momento Atari è impegnata in una sorta di viaggio nel Anche la neonata Electronic Arts supportava attivamente
passato, avendo rilasciato una raccolta dei suoi giochi il sistema; l’iconico MILE di Danielle Bunten Berry fece il
per console moderne e l’Atari 2600+, una replica (quasi) debutto sulla gamma ad 8bit di Atari e sfruttò pienamente
a grandezza naturale della sua console di successo di le porte controller multiplayer.
inizio anni 80.
Tuttavia, l’Atari 400 è un’entità meno riconoscibile e Con l’avanzare del tempo, Atari rinnovò la sua gamma
potrebbe potenzialmente essere più difficile da vendere. con il 1200XL, 600XL e 800XL e, dopo che Sam Tramiel
Vale la pena dargli un’occhiata? Scopriamolo. rilevò l’azienda e la rinominò Atari Corporation, la serie
XE continuò la discendenza.
Una breve storia Rispetto all’Atari VCS/2600 da 30 milioni di vendite, il
Uscito nel 1979 insieme all’Atari 800, l’Atari 400 offriva duo 400/800 ne vendette circa quattro milioni di unità,
un’esperienza audiovisiva più avanzata rispetto ai suoi non un successo commerciali in termini comparativi, ma
rivali grazie all’uso innovativo dell’architettura del comunque un successo relativamente elevato per l’epoca.
coprocessore, una novità assoluta per un computer
domestico. ATARI 400 mini – Design e Controller
Mentre entrambe le macchine utilizzavano la stessa CPU Il 400 mini sembra una copia sputata del vero computer,

Fig. 1 - La piccola “console” e il classico Joystick CX40


Pagina 18 di 78 RETROMAGAZINE WORLD ANNO 8 - NUMERO 48
HARDWARE

Fig. 2 - Star Raider: la Killer application sui sistemi ATARI 8Bit

con il suo design angolare ispirato a Star Wars, la tastiera porte USB con funzioni da porte Joystick, replicando il
a membrana, quattro tasti quadrati gialli e il LED di computer originale (il che significa che è possibile giocare
alimentazione rosso. a MULE in quattro).
L’unica differenza visiva è la scritta “THE400” che sostituisce Sul retro abbiamo una quinta porta USB, una porta HDMI
“Atari 400” nella parte anteriore dello slot pseudo-cartuccia. e una porta USB-C per l’alimentazione. Ovviamente
Il sistema misura 2,0x6,0x5,3 pollici e pasa davvero poco troviamo anche il pulsante di accensione.
più di 200 grammi. La tastiera è ovviamente non funzionante,
come tipico per le emulazioni di console in miniatura. Tutti i sistemi ad 8bit Atari hanno tre chip coprocessore
Il pannello frontale sotto la tastiera contiene quattro personalizzati oltre alla CPU 6502: ANTIC, GTIA e POKEY.

Fig. 3 - Et voilà… Il The 400


RETROMAGAZINE WORLD ANNO 8 - NUMERO 48 Pagina 19 di 78
HARDWARE

marcature arancioni. La base ha un pulsante sulla spalla


nascosto nell’angolo in alto a sinistra. I pulsanti Black
Menu e Home sporgono leggermente dal pannello posteriore.

Nella confezione si trovano anche un cavo HDMI beige,


un cavo alimentazione USB-C e il manuale di avvio rapido.
Manca l’adattore CA per collegare il cavo USB-C.

Parliamo di giochi
Il sistema è dotato di 25 titoli. Molti sono classici senza
tempo, tra cui Bristles, Bruce Lee (rinominato Lee), Capture
the Flag, Fip and Flop, Miner 2049er, Star Raiders, The
Seven Cities of Golds.
L’Atari 8bit era una macchina perfetta per conversioni di
classici arcade e qui abbiamo l’imbarazzo della scelta:
Asteroids, Battlezone, Berzerk Centipede, Crystal Castles,
Millipede e Missile Command sono perfetti su queste
Fig. 4 - Il CXStick in dotazione in tutta la sua macchine!
“turgidezza” Mancano alcuni classici per mancanza di diritti (vedi i
Per mostrare la potenza di questi chip in emulazione, Il titoli Nintendo come Mario Bros, Donkey Kong).
400mini ha un processore AllWinner H3 (in pratica un Sono 25 titoli scelti con cura e molto giocabili e sulla
Cortex A7 quad-core), 256 gb di Ram e 128 gb di spazio pagina [Link]
di archiviazione, più che sufficienti per salvare i giochi e troverete tutti manuali.
impostare al meglio il sistema. Ho testato la mini console su un TV TCL 55 pollici in
Il joystick si chiama TheCXStick e assomiglia al CX40 modalità gioco e ho scoperto che il controller ha una
originale tanto amato da tutti noi. Devo ammettere che leggerissima latenza. Inferiore al quarto di secondo e
è un ottimo stick, con movimenti precisi e nessun clic di comunque nei limiti ragionevoli per una console plug and
troppo. Anche il pulsante di fuoco ha un buon fealing. A play.
differenza dell’originale, questo ha ovviamente un connettore Tutti i giochi testati non hanno presentato bug o errori
USB all’estremità del cavo. Ha anche un set di pulsanti né tantomeno blocchi.
supplementare (sono 7), ben inseriti nel design e poco La porta USB sul retro permette di caricare ulteriori titoli
invasivi. Quattro sono tasti direzionali nascosti sotto le attraverso una pendrive formattata in FAT32.

Fig. 5 -Il menù di settaggio per i giochi

Pagina 20 di 78 RETROMAGAZINE WORLD ANNO 8 - NUMERO 48


HARDWARE

Fig. 6 -Tony Montezuma’s Gold gira alla grandissima su THE400 Mini

Questo significa poter accedere a tutta la ludoteca possibile fuoco e il secondo con il pulsante S (dorsale) e poi si
per i sistemi e anche alle nuove meravigliose produzioni. preme HOME per caricare.
The400 Mini accetta i formati nei file ATR, COM e XEX. Quando è il momento di inserire il secondo o un terzo
Rileva automaticamente il tipo di sistema in cui gira il disco, si tengono premuti i pulsanti direzionali HOME e
gioco e se richiede espansioni e accorgimenti di setup. GIU’. Sembra macchinosa ma funziona perfettamente.

Premendo MENU’ durante il gioco si apre una schermata Il verdetto


per configurare il modello ATARI (400, 800, 800XL, 130 Non si può negare che l’Atari 400 mini raggiunga pienamente
XE o 5200, con o senza Basic abilitato), l’altezza e la l’obiettivo: presenta una replica in miniatura di un classico
larghezza del display, l’offset verticale e un modo per a 8bit, ricco di titoli e impreziosito da diverse funzionalità
rimappare i controlli. moderne, da possibilità di aggiungere nuovi titoli e da un
buon Joystick di supporto.
Programmazione, giochi multi-disco e alcuni bug Anche i titoli pre installati sono una buona scelta: certo,
Parlando di BASIC, si può programmare su THE400 mini sarebbe stato bello vedere i classici Nintendo o Pacman
formattando una pendrive USB, abilitando il BASIC nelle e anche il già citato Star Raiders, ma questo problema si
impostazioni, collegando una tastiera USB in una porta supera inserendoli su una pendrive di supporto.
libera e caricando THE400_BASIC. Alcuni dubbi sorgono sul pubblico a cui è destinato; mentre
Questo da accesso al sistema e a un disco per salvare i il VCS o le console Nintendo possono fare affidamento
programmi. su una vasta platea di fanatici, la famiglia Atari 8 bit è
I test con le moderne tastiere sono stati misti. La mancanza meno nota, anche se i suoi giochi sono di una qualità
di una tastiera “Reale” si fa sentire per impostazioni e incredibile grazie ad un hardware superiore.
comodità. Il settaggio è ovviamente non reale. Se si è cresciuti con questo sistema, il the400 mini è il
La mancanza di una tastiera inclusa è anche il motivo per prodotto dei sogni. Emulazione eccellente, possibilità di
cui il sistema manca di alcuni titoli importanti, come caricare ogni cosa e aggiornamenti moderni come sistemi
l’originale Star Raiders e Rescue on Fractalus!. Ma basta di salvataggio e funzione rewind.
un po’ di pazienza e si riesce a lavorare. VERDETTO: 8/10
Il sistema supporta anche i giochi multi-disco con una
soluzione ingegnosa: selezioni il primo con il pulsante di Sito Web del prodotto: [Link]

RETROMAGAZINE WORLD ANNO 8 - NUMERO 48 Pagina 21 di 78


SOFTWARE

Compilare con Libdragon


di Takahiro Yoshioka – trad Carlo Nithaiah Del Mar Pirazzini

Continuiamo la nostra esplorazione in Libdragon e questa Esecuzione del comando di compilazione


volta proviamo a Compilare. Il comando di compilazione è abbastanza semplice. Apri
Passiamo la palla a Takahiro. semplicemente il tuo terminale/CMD, spostati nella
directory corretta ed esegui questo comando:
Introduzione Ciò richiederà tutto il tuo codice sorgente e produrrà un
La compilazione (o creazione) è il processo che prende sacco di file di output inclusa la ROM del tuo Nintendo 64.
il codice sorgente e lo converte in un file binario eseguibile. Se ricevi un errore, *** No rule to make target '/include/
Ci sono alcuni passaggi intermedi come la preelaborazione [Link]'. Stop.
e il collegamento, ma per semplicità chiameremo l'intera Significa che stai utilizzando un file normale make anziché
operazione come “Compilazione”. In questa pagina libdragon make.
vedremo come iniziare a compilare i progetti Libdragon.
Spiegazione dei file di output
Preparazione della finestra mobile Una volta compilato il progetto, nella cartella del progetto
Il primo passo è far funzionare il tuo motore Docker. Puoi saranno presenti diversi nuovi file.
farlo aprendo Docker Desktop. Il file principale che ti interesserà è hello.z64 file, che
Se non hai Docker aperto o non hai creato un contenitore sarà il tuo file ROM N64. Puoi inserirlo nel tuo emulatore
Libdragon, potresti ricevere un errore come questo quando preferito ed eseguirlo per vedere come funziona il tuo
esegui Make: programma.

Il resto del file viene inserito nella ./build/ directory.


Supponendo che tu stia lavorando con il progetto scheletro,
sono i seguenti (sarà diverso per progetti più complessi):
Questa guida presuppone che tu abbia seguito i passaggi • [Link] – Questo è il file in formato collegabile eseguibile.
descritti nella sezione Impostazione di Lib. È un file binario che contiene codice oggetto, librerie

Fig. 1 - Esempio di output del comando: libdragon make

Pagina 22 di 78 RETROMAGAZINE WORLD ANNO 8 - NUMERO 48


SOFTWARE

condivise e codice eseguibile. Esecuzione della ROM


• [Link] e [Link] – Non sono sicuro di cosa Esegui la ROM in un emulatore di tua scelta. Tendo a
siano, ma sembrano file che accompagnano il file .elf utilizzare Project 64, ma in questo caso utilizzerò Ares.
principale che contiene codice macchina binario e
informazioni sui simboli. Dovresti ottenere qualcosa del genere:
• [Link] – File di testo che contiene informazioni su
come è disposta la memoria e sulle varie sezioni di dati/
codice dell'eseguibile.
• main.d – File di dipendenza. Mostra da quali file dipende
la build. In questo semplice programma menzionerà solo
main.o da quale è stata creata main.c.
• main.o – Il file oggetto per main.c. Contiene il codice
compilato utilizzato per l'output nella fase di compilazione
della build (prima del collegamento)

Tieni presente che i file chiamati "hello._" si riferiscono


alla build nel suo insieme, mentre quelli chiamati "main._"
si riferiscono ai singoli file sorgente.
Se utilizzi Git per il monitoraggio delle versioni, potrebbe Ecco fatto, la tua prima ROM Libdragon N64!
essere saggio aggiungere questi file all'elenco .gitignore
di esclusione poiché cambieranno spesso, occuperanno
spazio e non sono molto rilevanti per lo sviluppo del tuo
progetto. Possono essere utili per il debug se sai come
farlo. Basta aggiungere questo:

RETROMAGAZINE WORLD ANNO 8 - NUMERO 48 Pagina 23 di 78


SOFTWARE

PunyInform - Tutorial 3
di Fredrik Ramsberg - tradotto e adattato per RMW da Gianluca Girelli

Programmazione con PunyInform 1: Le basi Direttive del compilatore


PunyInform è uno strumento per scrivere avventure Le prime due righe del codice sono le direttive del
testuali sia per computer a 8 bit che per computer più compilatore, che aiutano a rendere il file di gioco il più
recenti. Se avete già installato PunyInform (trovate tutte piccolo possibile. In genere si desidera avere queste righe
le informazioni nei numeri precedenti), è ora di iniziare a nella parte superiore del codice sorgente di ogni gioco
programmare il vostro primo gioco. Questo tutorial vi PunyInform che scriviamo.
guiderà attraverso i primi passi per scrivere un'avventura
testuale utilizzando PunyInform. Commenti
Il codice sorgente completo del gioco di esempio può Nelle righe 3, 4, 9, 16 e 20 possiamo vedere come inserire
essere scaricato dal link a fondo pagina. Inizia quindi qui commenti per rendere il codice più leggibile: un punto
una serie di articoli tutorial, di cui questo è il primo. Questa esclamativo significa che il resto della riga è un commento
prima versione del gioco implementa alcuni ambienti e a testo libero (a meno che il punto esclamativo non sia
un oggetto con cui il giocatore può interagire, ma non c'è seguito da % e la riga appaia all'inizio del file; in tal caso
modo di vincere o perdere: ciò verrà trattato nel prossimo è trattata come una direttiva del compilatore.)
tutorial.
Storia e titolo
Iniziamo a scrivere un nuovo gioco - Fig. 1 Il secondo passo è dichiarare il nome del gioco/storia e
il titolo, qualcosa di simile a uno slogan. Dobbiamo sempre

Fig. 1 - Iniziamo a scrivere un nuovo gioco

Pagina 24 di 78 RETROMAGAZINE WORLD ANNO 8 - NUMERO 48


SOFTWARE

definire lo "story name" e, nella maggior parte dei casi, E' il momento di includere tutte le estensioni della libreria
vorremo definire anche un titolo. Tienete presente che ^ che vogliamo utilizzare (confronta Extensions nel manuale
può essere utilizzato nelle stringhe per indicare caratteri per saperne di più) e scrivere tutte le entry point routines
di nuova riga. (Inoltre, ~ può essere usato per indicare i di cui abbiamo bisogno (Non c'è bisogno di leggerlo ora,
caratteri delle virgolette doppie, ma non è usato in questo ma quelle supportate sono elencate sotto Entry Point
codice.) Routines nel manuale PunyInform e ciò che fanno è
descritto nel Manuale di The Inform Designer sotto Entry
Definizione delle costanti Point Routines.) [NDR: la filosofia di gioco è basata sul
Nella sezione successiva vengono definite le costanti che manuale ufficiale del linguaggio Inform6, "The Inform
controllano PunyInform. Maggiori informazioni sulle Designer's Manual" scritto da Graham Nelson, giunto alla
costanti possono essere reperite nel manuale incluso versione 4. Trovate il link a fondo pagina.]. In questo
nella cartella di ogni release di PunyInform, alla voce particolare gioco, abbiamo deciso di non utilizzare alcuna
Customizing the Library. Per alcune costanti, come estensione o entry point routines. Possiamo sempre
INITIAL_LOCATION_VALUE, è necessario fornire un valore. cambiare idea in seguito, in caso di necessità.
Per le altre costanti, tuttavia, è sufficiente definire
semplicemente la costante (dandole effettivamente il Includere puny.h
valore 0). La libreria PunyInform controlla se la costante A questo punto includiamo il secondo ed ultimo file della
è stata definita o meno e modifica di conseguenza alcuni libreria, chiamato “puny.h”. Questo file, a sua volta,
aspetti del suo comportamento. Constant DEBUG; viene includerà tutti gli altri file della libreria.
utilizzato per abilitare la modalità debug, il che significa
che sarà disponibile una serie di verbi di debug, quindi Verbi, grammatica e azioni
puoi digitare cose come "GONEAR TEDDY BEAR" per Infine, definiamo nuovi verbi, estendiamo quelli esistenti
teletrasportarti dove si trova l'orsacchiotto, o "ACTIONS" con una nuova grammatica e definiamo nuove azioni.
per vedere quali azioni vengono attivate da ciò che digiti Lasciamo questa sezione vuota per ora.
sulla tastiera. È molto utile averlo durante lo sviluppo e
il test del gioco, ma ricordate di disattivarlo prima di Oggetti di gioco - Fig.2
rilasciare il gioco al pubblico. Costant
OPTIONAL_FULL_DIRECTIONS; invece abilita le direzioni Ora è il momento di definire gli oggetti del gioco. In genere
nord-ovest, nord-est, sud-ovest e sud-est. Se vuole usare si crea un oggetto per ogni locazione del gioco e un
direzioni multiple (invece delle quattro standard nord, oggetto per ogni cosa con cui il giocatore può interagire.
sud, est e ovest), dovete definire questa costante. Ricordate Una cosa può essere qualcosa di tangibile come una
che però rende il gioco un pochino più grande e un pochino chiave o un'auto, ma può anche essere qualcosa come
più lento. l'aria, l'acqua, la costa vista da un aereo, o anche un odore
Costant INITIAL_LOCATION_VALUE = Entrance; dice al o un suono. Gli oggetti possono essere utilizzati anche
gioco da dove il giocatoreinizierà la sua avventura. Tenete per concetti astratti e concetti di gioco come pensieri,
inoltre presente che ogni istruzione o affermazione deve conversazioni, menu, ecc. Gli oggetti hanno una gerarchia,
terminare con un punto e virgola. in cui un oggetto può essere "dentro" un altro oggetto.
Il significato di "in" dipende dalle proprietà dell'oggetto
Includere globals.h contenitore (il cosiddetto genitore) e dell'oggetto contenuto
Dopo aver definito tutte le costanti di cui abbiamo bisogno, (il cosiddetto figlio). Essere in un altro oggetto di solito
è il momento di includere il file “globals.h”. Questo imposta significa che il figlio è nel genitore, sul genitore, tenuto
le variabili globali, le costanti, ecc. necessarie alla libreria dal genitore, indossato dal genitore o parte del genitore.
PunyInform.
Stanze
Estensioni della libreria e entry point routines Una stanza (anche detta locazione) è un oggetto che non

RETROMAGAZINE WORLD ANNO 8 - NUMERO 48 Pagina 25 di 78


SOFTWARE

Fig. 2 - Oggetti di gioco

ha un genitore e in cui il giocatore può trovarsi. Iniziamo Proprietà


definendo la nostra prima stanza. Per prima cosa digitiamo Successivamente vengono visualizzate le proprietà
Object seguito dal nome interno dell'oggetto, in questo dell'oggetto e la parola chiave with segna l'inizio di questa
caso scegliamo di chiamarlo Entrance. Poi arriva la stringa sezione. Una proprietà può contenere uno o più valori a
del nome dell'oggetto. Questo è il nome che verrà stampato 16 bit. Ogni valore viene spesso utilizzato per memorizzare
a video per questo oggetto nel gioco, racchiuso tra un numero, un ID oggetto, l'indirizzo di una parola del
virgolette doppie. Per le stanze, è pratica comune scrivere dizionario, l'indirizzo di stringa o l'indirizzo di una routine.
in maiuscolo il nome stampato. Noterete che il nome Se lo si usa come numero, può contenere qualsiasi numero
interno e il nome stampato di un oggetto sono spesso intero compreso tra -32768 e +32767. Dopo l'ultimo
identici o molto simili. Tuttavia, il nome interno può essere valore di una proprietà, si deve digitare una virgola per
composto solo dalle lettere A-Z e a-z, cifre e trattino dire che questa proprietà finisce qui. Tenete presente che
basso, senza spazi o altri caratteri speciali. E mentre molte un oggetto ottiene solo le proprietà che per esso vengono
località possono condividere lo stesso nome stampato definite. Ciò significa che se volete creare un'uscita a
(ad esempio una serie di locazioni potrebbero avere lo nord in una stanza più avanti nel gioco, ma non dovrebbe
stesso nome stampato di "Foresta" o "Brughiera"), il essercene una dall'inizio, dovete includere n_to 0, nella
nome interno di ciascuna località deve essere univoco. definizione dell'oggetto. Ciò garantisce che n_to esista
Abbiamo scelto di mettere Object Entrance "Entrance" e abbia un valore, in modo che il valore possa essere
sulla stessa riga e poi andare a capo prima dell'istruzione successivamente modificato. Per prima cosa diamo
with , ma è solo una scelta stilistica: si possono avere all'oggetto Entrance la proprietà name e gli assegniamo
interruzioni di riga ovunque si desideri nella definizione quattro valori, ciascuno (l'indirizzo di) una parola del
di un oggetto. dizionario. Quando diamo a una stanza la proprietà name,
Pagina 26 di 78 RETROMAGAZINE WORLD ANNO 8 - NUMERO 48
SOFTWARE

significa che se il giocatore usa una di queste parole in s_to, e_to, w_to, u_to, d_to, in_to e out_to . Se abbiamo
questa stanza, il gioco dovrebbe stampare "You don’t definito costant OPTIONAL_FULL_DIRECTIONS , possiamo
need to use that word in this game." o qualcosa del genere. anche usare ne_to, nw_to, se_to e sw_to . Ogni uscita può
Questo può essere usato per aiutare il giocatore a avere un singolo valore (non una lista di valori), e questo
concentrarsi su ciò che è importante nel gioco. Ricordate valore solitamente è (A) una stanza o (B) una stringa da
che le parole del dizionario sono sempre racchiuse tra stampare se il giocatore tenta di andare in quella direzione.
virgolette singole. Se una parola del dizionario è composta Definiamo quindi cant_go , che è un messaggio da stampare
da un solo carattere, è necessario aggiungere // dopo se il giocatore tenta di andare in una direzione per la
quel carattere, per distinguerlo da un carattere, che quale non abbiamo specificato un valore. Se non definiamo
utilizza anch'esso virgolette singole. Quindi: 'n' è un la proprietà cant_go, verrà visualizzato il messaggio
carattere, mentre 'n//' è una parola del dizionario. standard “You can’t go that way.”.
Assegnamo ora la proprietà description, obbligatorio se
l'oggetto è una stanza. La descrizione può essere una Attributi
stringa o una routine che stampa del testo, e questo viene Esaminiamo ora la parola chiave has , il che significa che
stampato o eseguito quando il giocatore entra nella stanza definiremo gli attributi di questo oggetto. Un attributo è
o digita LOOK. Come potete vedere, una stringa può un flag a un bit, che può essere solo vero o falso. A
contenere caratteri di fine riga e quindi la riga successiva differenza delle proprietà, tutti gli attributi esistono per
può iniziare con tabulazioni o spazi: tutto questo viene tutti gli oggetti, quindi anche se non si include un attributo
contratto dal compilatore in un singolo carattere di spazio. nella definizione dell'oggetto, si può comunque modificarlo
Successivamente, scegliamo di specificare le uscite da più avanti nel gioco. In questo caso diamo alla stanza
questa stanza. Per questo utilizziamo le proprietà n_to, l'attributo light, nel senso che è la stanza stessa a fornire

Fig. 3 - oggetto chiamato UpstairsHallway

RETROMAGAZINE WORLD ANNO 8 - NUMERO 48 Pagina 27 di 78


SOFTWARE

luce. Ciò significa che il giocatore può vedere nella stanza riferimento agli oggetti che incontra (non alle stanze, ma
(nel senso che può vedere cio' che contiene ed intaragire praticamente a tutti gli altri oggetti). Il modo più semplice
con eventuali oggetti), senza portare la propria lampada. per abilitare ciò è dare all'oggetto una proprietà name e
Successivamente inseriamo un punto e virgola, che segna lasciare che contenga un elenco di parole del dizionario
la fine della definizione dell'oggetto. che sono sostantivi e forse aggettivi che possono essere
usati per riferirsi a questo oggetto. In questo caso, ci
L'oggetto Cubicle accontentiamo semplicemente di 'painting'. E ricordate
Questo oggetto porta solo una cosa nuova sul tavolo: la di racchiudere sempre le parole del dizionario tra singoli
proprietà initial. Se utilizzata in una stanza, questa apici. Poi arriva la proprietà initial. Per gli oggetti normali
proprietà viene stampata subito prima del nome della viene utilizzata per descrivere l'oggetto finché il giocatore
stanza quando il giocatore entra nella stanza. Ecco come non lo ha raccolto, quindi possiamo usarla per descrivere
appare: il dipinto in un modo che abbia senso solo nel luogo in
cui si trova il dipinto all'inizio del gioco. Poi arriva la
proprietà description. Per gli oggetti normali, questa
viene stampata se il giocatore esamina gli oggetti. Può
essere una stringa o una routine che stampa un testo.
Successivamente, definiamo la proprietà after. Questa è
una routine (inizia con [; e termina con ] ) che viene
chiamata dopo che un'azione è riuscita. In questa routine,
si digita il nome di un'azione che il giocatore può eseguire
dove questo è l'oggetto principale (chiamato anche noun),
i due punti e il codice che si desidera eseguire se questa
azione è stata intrapresa. Tutte le azioni possibili sono
elencate nel manuale sotto actions e mentre si gioca in
Piano superiori e oggetti normali (non stanze) modalità DEBUG tutte le azioni eseguite dal linguaggio
Ricordate che abbiamo scritto nell'oggetto Entrance che possono essere visualizzate dopo aver digitato il comando
salire (u_to) porterebbe a UpstairsHallway? Ciò significa ACTIONS. In questo caso vogliamo eseguire del codice
che dobbiamo definire un oggetto chiamato UpstairsHallway dopo che il giocatore ha esaminato il dipinto, e questo
da qualche parte nel codice. Si veda la Fig. 3 viene reso possibile dall'istruzione give self general;
Analizziamolo. give è un'istruzione per impostare un
Questa location non illustra alcun concetto nuovo per attributo per un oggetto. self è l'oggetto su cui viene
noi, ma mostra come a volte sia conveniente avere due eseguito questo codice (quindi in questo caso avremmo
uscite diverse che conducono alla stessa posizione. Con potuto digitare Painting e ottenere lo stesso effetto).
il testo che dice che le scale scendono a ovest, ha senso general è un attributo multiuso. Decidiamo noi cosa
avere sia d_to che w_to che conducono alla stanza in significa per ogni oggetto. In questo caso abbiamo deciso
fondo alle scale. Ora ecco che arriva il nostro primo oggetto che per il dipinto significhi “Il giocatore ha esaminato il
che non è una stanza. Stiamo parlando di un dipinto. dipinto?”. L'attributo è azzerato all'inizio del gioco e non
Mettendo una freccia (->) dopo Oggetto diciamo al appena il giocatore esamina il dipinto viene impostato a
linguaggio che questo oggetto è all'interno dell'ultimo "general". Alla fine di una regola after, come questa, di
oggetto che non aveva una freccia, quindi il dipinto è nella solito possiamo scegliere di restituire true o false, dove
stanza UpstairsHallway. Poi vengono le properties. true significa "Abbiamo stampato un messaggio adatto,
Ricordate che la proprietà description è obbligatoria per quindi la routine di azione non dovrebbe stamparne uno.".
le stanze? Non è così per gli oggetti normali. In effetti, Tuttavia, Examine è un caso speciale. Dato che tutto ciò
non esistono proprietà obbligatorie per gli oggetti regolari. che fa è stampare qualcosa, stampa il suo messaggio
In genere, vogliamo che il giocatore sia in grado di fare prima che venga chiamata la routine after, e non importa

Pagina 28 di 78 RETROMAGAZINE WORLD ANNO 8 - NUMERO 48


SOFTWARE

cosa restituiamo. Nota: le routine nelle proprietà La routine Initialise


restituiscono false alla fine, quindi se non restituisci nulla È rimasta solo una piccola routine obbligatoria. Ogni gioco
in modo esplicito, restituiscono false. Le routine con nome PunyInform deve fornire una routine chiamata Initialise.
("named routines" vedi più avanti) restituiscono true alla Si veda la Fig. 4
fine. Esaminiamo ora short_name . Questa è un'opportunità
per sovrascrivere il nome fornito tra virgolette doppie Scrivere una "named routine" significa semplicemente
sulla prima riga di questo oggetto. Può essere una stringa iniziare con [ quindi digitare il nome della routine, eventuali
o una routine. Se è una routine, viene richiamata la routine variabili locali necessarie e un punto e virgola. Quindi si
e se la routine restituisce true si presume che sia stato scrive il codice e si finisce con ];
stampato il nome breve completo dell'oggetto e non viene Initialise viene richiamata dalla libreria all'avvio del gioco.
stampato altro. Se restituisce false, viene stampato il In questo caso, l'unico codice di cui abbiamo bisogno qui
nome normale dell'oggetto. Qui controlliamo se il dipinto è l'istruzione print per stampare il testo iniziale all'avvio
ha l'attributo general settato (il che significa che il giocatore del gioco.
ha esaminato l'oggetto), e se lo ha, stampiamo la stringa
"dipinto di un clown" e restituiamo true. In caso contrario, Di seguito il codice completo di questo gioco "minimale",
arriviamo alla fine della routine, il che significa che la che verrà affinato e espanso negli articoli successivi. Buon
routine restituisce false e viene invece stampato il nome divertimento!
normale dell'oggetto. Nota: true è solo un sinonimo di 1 !% ­~S
e false è un sinonimo di 0. Si può restituire qualsiasi valore !% $OMIT_UNUSED_ROUTINES=1
utilizzando l'istruzione return, ma esistono forme abbreviate !% $ZCODE_LESS_DICT_DATA=1
per quando si vuole invece restituire true o false. return
true; and return 1; e rtrue; sono quindi equivalenti. Proprio Constant Story "The Mansion at the Edge
come return false; return 0; e rfalse; sono equivalenti. of Town";
Nota: un'istruzione if può eseguire una singola istruzione Constant Headline "^An interactive
( if(x > 5) print "X è grande!"; ) o più istruzioni racchiuse nightmare.^";
tra parentesi graffe ( if(x > 5) { print "X è grande!"; y =
x; } ). I ritorni a capo e le tabulazioni o gli spazi aggiuntivi ! Constants to control PunyInform defined here
vengono aggiunti solo per motivi di leggibilità e non Constant DEBUG;
influiscono sull'esecuzione del programma. Vediamo Constant OPTIONAL_FULL_DIRECTIONS;
questo codice in azione. Constant INITIAL_LOCATION_VALUE = Entrance;

Include "globals.h";

! PunyInform extensions and entry point


routines are placed here

Include "puny.h";

! Verb grammar and actions go here

! The game objects begin here


Object Entrance "Entrance"
with
Questi sono tutti gli oggetti del gioco, almeno per questa name 'front' 'door' 'cubicle' 'stairs',
prima iniziale. description "You are in the entrance

RETROMAGAZINE WORLD ANNO 8 - NUMERO 48 Pagina 29 di 78


SOFTWARE

Fig. 4 - La routine Initialise

area of the mansion. A wide set of


stairs lead up. There is a small Object ­> Painting "painting"
cubicle in the southeast corner, with
while the front door is to the south.", name 'painting',
u_to UpstairsHallway, initial "Hanging on the west east wall
se_to Cubicle, is a dark oil painting.",
in_to Cubicle, description "It's a lovely old painting
s_to "The front door has apparently of a crying clown.",
been nailed shut.", after [;
cant_go "There's nothing of interest Examine:
in that direction.", give self general;
has light; ],
short_name [;
Object Cubicle "Cubicle" if(self has general) {
with print "painting of a clown";
initial "You squeeze in through the rtrue;
small opening, hitting your head }
against the doorway in the process.^", ];
description "It's quite cosy in here.
There are some marks on the wall ! And finally, the Initialise routine goes here
where a desk probably used to stand. [Initialise;
The exit is to the north.", print "^^You and your friends went out to
out_to Entrance, the old abandoned mansion on the
n_to Entrance, outskirts of town. Once in the house,
has light; you remember getting separated
from the group, and then all went black.
Object UpstairsHallway "Upstairs Hallway" As you come to, several hours
with have passed, you seem to be alone, and
description "Nothing much to see here everything is quiet.^^";
really. There are some doors, but ];
they have all been nailed shut. The
stairs lead down to the west.", LINK UTILI
d_to Entrance, - [Link]
w_to Entrance, 1iYRoJYkPXx7RYnd-tl0gT74L2Sa04mSp
has light; - [Link]

Pagina 30 di 78 RETROMAGAZINE WORLD ANNO 8 - NUMERO 48


SOFTWARE

Da numero a cifre (per C64 – per principianti)


di Eugenio Rapella

Supponiamo di avere un numero naturale X formato da RIGHT$(X$,1) restituisce l’ultimo carattere della stringa
quattro cifre (in base 10). Per qualche motivo (ad esempio (“5”) per cui U=VAL(RIGHT$(X$,1)) diviene il valore
per risolvere un “Quesito con la Susi”), abbiamo bisogno numerico 5.
di ottenere separatamente le quattro cifre. Poiché la funzione MID$(A$,H,K) restituisce una stringa
formata da K caratteri della stringa A$ a partire dalla
In definitiva, partendo da X, vogliamo ottenere le quattro posizione H (così, se A$=”MAGAZINE”, avremo MID$(A$,
variabili U, D, C, M che contengano rispettivamente la 3,4)=”GAZI”), D sarà 3, C assumerà il valore 2 e M il valore 7.
cifra delle unità, quella delle decine, quella della centinaia
e quella delle migliaia (così, se X=7235, avremo U=5, Un confronto tra PROG1 e PROG2, in termini di velocità,
D=3, C=2 e M=7). non ha evidenziato grandi differenze; i due programmi
possono essere facilmente modificati se il numero delle
Ecco una possibilità per il nostro C64 (PROG1): cifre è diverso da quattro.
10 v1=int(x/10):u=x-10*v1
20 v2=int(v1/10):d=v1-10*v2 Ed eccoci ad un nuovo “Quesito con la Susi”, sempre da
30 m=int(v2/10):c=v2-10*m “La Settimana Enigmistica”:

Per capire come funziona il programmino è sufficiente L’insegnante mostra che, se dividiamo 8712 per 2178,
seguire un esempio. Se X=7235, abbiamo X/10 = 723.5 che è il primo numero scritto “all’indietro”, si ottiene
e V1=INT(723.5)=723. esattamente 4. La richiesta è quella di trovare un numero
Dunque U=7235-10*723=5 come desiderato. Ora di quattro cifre che, operando in maniera analoga, dia
V1/10=72.3 quindi V2=72 e D=723-10*72=3. Infine esattamente 9 anziché 4.
V2/10=7.2 quindi M=7 e C=72-10*7=2.

Un’altra possibilità è quella di trasformare X in una stringa


e sfruttare la funzione MID$(..) per estrarre una singola
lettera dalla stringa. Alla fine, otterremo il valore numerico
con la funzione VAL(..).

Ecco il PROG2:
10 x$=str$(x)
20 u=val(right$(x$,1))
30 d=val(mid$(x$,4,1))
40 c=val(mid$(x$,3,1))
50 m=val(mid$(x$,2,1))

Da notare che la funzione STR$(..) trasforma il valore


numerico in stringa anteponendo uno spazio. Così, se
X=7235, avremo una stringa di cinque caratteri: X$=“ 7235”.

RETROMAGAZINE WORLD ANNO 8 - NUMERO 48 Pagina 31 di 78


SOFTWARE

Ecco come procede il nostro C64 (PROG3): ● Se l’istruzione IF 9*H=K THEN PRINT K,H viene modificata
10 for k=1000 to 9999 in IF 4*H=K THEN PRINT K,H si ritrova solo la coppia di
20 v1=int(k/10):u=k­10*v1 numeri 8712, 2178. Anche nell’esempio proposto all’inizio,
30 v2=int(v1/10):d=v1­10*v2 la soluzione è unica.
40 m=int(v2/10):c=v2­10*m ● Se in luogo di 9 o 4, eseguo il programma con uno dei
50 h=1000*u+100*d+10*c+m valori 2,3,5,6,7,8 non si trova alcuna soluzione.
60 if 9*h=k then print k,h ● Naturalmente con IF H=K THEN PRINT K,H si ottengono
70 next tutti i numeri di quattro cifre … “palindromi”: 1001, 1111,
1221, … ,9889, 9999.
Per ogni K che va da 1000 a 9999, vengono estratte da
K le singole cifre e, alla 50, viene costruito il numero H Mentre stavo scrivendo questo articolo, su un nuovo
che è K … scritto all’indietro. numero de “La Settimana Enigmistica” è comparso un
Alla 60 si controlla se K/H è esattamente uguale a nove nuovo “Quesito con la Susi”:
nel qual caso K e H vengono stampati.
Susi chiacchiera con Giulia e Pietro.
Un’alternativa al PROG3, è il seguente PROG4 dove, a Susi: “Cosa c’è scritto sui vostri foglietti?”
partire dalle singole cifre, si costruiscono i due numeri K Pietro: “In entrambi c’è un numero di due cifre e, se
e H. Si noti che la cifra delle migliaia, M, parte da uno in moltiplichiamo i due numeri, otteniamo lo stesso numero
modo che K sia, in effetti, un numero di quattro cifre: che si ottiene se li scriviamo da destra a sinistra e poi li
10 for m=1 to 9:for c=0 to 9 moltiplichiamo”.
20 for d=0 to 9:for u=0 to 9 Giulia: “Il mio numero è sette volte il numero di Pietro e
30 k=1000*m+100*c+10*d+u le quattro cifre dei due numeri sono tutte diverse”.
40 h=1000*u+100*d+10*c+m Pietro: “Qual è la somma dei nostri due numeri?”
50 if 9*h=k then print k,h
60 next:next:next:next

Entrambi i programmi passano in rassegna molti più


candidati di quanto sia necessario; ovviamente, non ci si
aspetta che i lettori de “La Settimana Enigmistica” risolvano
il problema con l’aiuto del C64 e qualche scorciatoia ci
deve pur essere (al solito, il mio Commodore mi vieta di
“spoilerare” i suoi programmi dando suggerimenti).

I nostri PROG3 e PROG4 hanno però il vantaggio di fornire


rapidamente altre informazioni:
● Quando viene trovata una soluzione, l’elaborazione
prosegue comunque. Alla fine si ha una sola stampa, a
conferma che la soluzione è unica.
● Nel testo originale del quesito viene segnalato che le
cifre devono essere diverse tra loro. I programmi ignorano
questa richiesta: la soluzione è comunque unica anche
senza questa limitazione. Indichiamo con X1 il numero sul foglietto di Pietro. Se A

Pagina 32 di 78 RETROMAGAZINE WORLD ANNO 8 - NUMERO 48


SOFTWARE

rappresenta la cifra delle decine e B quella delle unità, termina l’elaborazione senza ulteriori stampe: la soluzione
avremo X1=10*A+B. Analogamente, se Y1 rappresenta il è unica.
numero sul foglietto di Giulia, con C cifra delle decine e D
cifra delle unità, avremo Y1=10*C+D. Per la verità, se il prodotto dei due numeri originali, 10*A+B
e 10*C+D, deve coincidere con il prodotto dei due scritti
Il PROG5 lavora seguendo il testo in maniera molto letterale: “all’indietro”, deve aversi:
100 for a=1 to 9:for b=1 to 9 (10*A+B)*(10*C+D)=(10*B+A)*(10*D+C).
110 for c=1 to 9:for d=1 to 9 Eseguendo qualche passaggio, si deduce 99*A*C=99*B*D
120 if a=b or a=c or a=d then 220 ovvero A*C=B*D.
130 if b=c or b=d then 220
140 if c=d then 220 Se volete, potete sostituire l’istruzione 170 con 170 IF
150 x1=10*a+b:y1=10*c+d A*C<> B*D THEN 220 ed eliminare l’istruzione 180: il
160 if y1<>7*x1 then 220 programma sarà un pochino più corto e un pochino più veloce.
170 x2=10*b+a:y2=10*d+c
180 if x1*y1<>x2*y2 then 220 Naturalmente, anche questo “Quesito con la Susi” si può
190 s=s+1:print"sol n. ";s risolvere senza scomodare il nostro Commodore (il numero
200 print"x1=";x1;"y1=";y1 sul foglietto di Giulia non può essere inferiore a 12 – il più
210 print"prodotto:";x1*y1 piccolo numero di due cifre con cifre diverse -, ma non può
220 next:next:next:next superare 14 – in quanto 14*7=98 è il massimo valore
possibile sul foglietto di Pietro, dunque …), ma il nostro
Alla 100-110 si aprono i quattro cicli FOR-NEXT: le cifre PROG5, opportunamente modificato, può essere utile per
variano da 1 a 9; lo zero è escluso in modo che tutti e rispondere ad altre domande.
quattro i numeri in gioco risultino di due cifre.
Ad esempio, quante sono le coppie di numeri di due cifre,
Le quattro cifre devono essere tutti differenti; quando tutte diverse, il cui prodotto è identico a quello che si
questo non avviene, una delle tre IF (120-140) rimanda ottiene moltiplicando i numeri scritti all’indietro? Non sono
alla scelta dei prossimi candidati. poche, eccone alcune: 12*63=21*36; 13*62=31*26;
14*82=41*28, 23*64=32*46, … , 36*84=63*48.
Alla 150 si calcola il possibile valore di X e quello di Y; se
Y non è sette volte X, la coppia non può essere la soluzione
(istr. 160).

Alla 170 si calcolano i valori di X e Y scritti


“all’indietro” (X2,Y2): se il prodotto di questi non coincide
col prodotto dei numeri originali, la coppia (X1,Y1) non è
la soluzione del quesito (istr. 180).

Alla 190 si arriva solo se tutte le richieste sono soddisfatte;


il programma trova subito una soluzione, ma continua la
ricerca.

Dopo circa cinque minuti, l’emulatore VICE (no Warp Mode),

RETROMAGAZINE WORLD ANNO 8 - NUMERO 48 Pagina 33 di 78


SOFTWARE

Grandi fattoriali (per C64 – per principianti)


di Eugenio Rapella

Il nostro C64 non ha bisogno di un gran programma per Poiché “n!” è il prodotto degli interi da 1 a “n”, log(n!) =
calcolare il fattoriale di un numero naturale “n” (si indica log(1)+log(2)+ … + log(n) (… ricordate? “Il logaritmo
con “n!” ed è definito come il prodotto di tutti gli interi del prodotto è la somma dei logaritmi…”). La funzione
tra 1 e “n”, con la convenzione di porre 0!=1; così 4! LOG del C64 fornisce i logaritmi in base “e” (logaritmi
=4*3*2*1=24; i fattoriali entrano in gioco in vari capitoli “naturali”), ma è facile risalire al logaritmo in base 10
della matematica come il Calcolo Combinatorio, le serie (logaritmo “decimale”) utilizzando la formula del
ecc.), per la verità se la cava con una sola istruzione: cambiamento di base: LOG10(X)=LOG(X)/LOG(10).
Ecco allora il miniprogramma che ci consente di determinare
1 input" n = ";n:f=1:for k=1 to da quante cifre è formato “n!” :
n:f=f*k:next:print n;"! = ";f
10 input" n = ";n
Se al RUN chiediamo il calcolo di 10!, otteniamo subito 20 for h=1 to n:s=s+log(h):next
3628800 e, fino a 12, otteniamo i valori esatti: 12! 30 print" il numero di cifre di n! e' ";int(s/
=479001600. Per 13! il C64 passa alla notazione log(10))+1
esponenziale: 13!=6.2270208E+09 ovvero 6,227*10^9
è il valore approssimato di 13 fattoriale. Si va avanti così Scopriamo allora che 100! è un numero formato da ben
fino a 33! = 8.68331762E+36. Dal 34 in poi il nostro 158 cifre, 500! da 1135 cifre e 1000! raggiunge le 2568 cifre!
amato Commodore getta la spugna e segnala un ?OVERFLOW
ERROR IN 1. Per il calcolo effettivo di questi numeroni torniamo al
programma iniziale. Mentre il contatore K si mantiene
In internet si trovano numerosi siti che forniscono il valore moderato, è la variabile F che cresce a dismisura. Per
esatto di “n!” anche per n>33. Al C64 la cosa non va a mantenere il valore esatto, una possibilità è quella di
genio: “Se ci riescono altri, posso riuscirci anch’io!”. immagazzinarne le cifre in un vettore C(..): i prodotti
Vediamo come se la cava. parziali K*F possono essere calcolati moltiplicando ogni
cifra di F per K ricostruendo poi le cifre del prodotto come
Al crescere di “n”, “n!” cresce molto rapidamente; per nel seguente esempio:
prima cosa chiediamo al nostro Commodore di valutare
da quante cifre sarà formato “n!” (va da sé che stiamo Calcolare 842*13
lavorando in base 10).
Abbiamo bisogno di rinfrescare alcune nozioni relative ai
logaritmi; utilizzeremo i logaritmi in base 10. Il logaritmo
decimale di un numero naturale k>0 è strettamente legato
al numero di cifre che lo formano. Se, ad esempio, k=7203,
avremo 1000 ≤ k < 10000. Poiché il logaritmo è una
funzione crescente, si avrà
3=log(1000)≤log(k)<log(10000)=4, dunque log(k)=3,
…. . In generale, se k≥1, il numero delle cifre che formano
“k” è int(log(k))+1 (nel nostro esempio, log(k)= 3,…. da
cui int(log(k))=3 e int(log(k))+1=4 che è proprio il numero
di cifre di 7203) L’aggiornamento del vettore C(..) avviene in due passi. Il

Pagina 34 di 78 RETROMAGAZINE WORLD ANNO 8 - NUMERO 48


SOFTWARE

valore contenuto in C(K) viene separato in due parti: U prima. Al crescere di “n”, il numero delle iterazioni cresce
che contiene la cifra delle unità di C(K) e D che contiene a dismisura e i tempi d’attesa possono diventare proibitivi.
la parte che precede U; se C(K)=725 avremo U=5 e D=72. Quando si arriva alla 220 il calcolo è stato completato:
Per il calcolo sarà: D=INT(C(K)/10) e U=C(K)-D*10 C(1) contiene la cifra delle unità, C(2) quella delle decine
(infatti, continuando con l’esempio precedente, e così a salire fino a C(NC) che contiene la cifra più
D=INT(725/10)=INT(72,5)=72 e U=725-72*10=5), significativa.
dopodichè U diviene il nuovo C(K) e C(K+1)=C(K+1)+D. Il ciclo 230-250 si incarica della stampa finale; il ricorso
Naturalmente, il vettore C(..) sarà dimensionato col valore a RIGH$(STR$(C(W)),1) serve per eliminare lo spazio
calcolato nel miniprogramma (per comodità non utilizzeremo iniziale che il C64 pone automaticamente prima della
C(0)). cifra. In questo modo le varie cifre vengono stampate
“incollate” l’una all’altra.
Ecco allora il programma completo: Un consiglio: all’inizio utilizzate il programma con piccoli
100 poke 53280,6:print chr$(5);chr$(147) valori di “n”, n=10, n=20, poi … vedete voi. L’interprete
110 input"n = ";n:if n<4 then 110 Basic del C64, lo sappiamo, è un po’ un lumacone, il
120 for h=1 to n:s=s+log(h):next calcolo di 100! attraverso l’emulatore VICE ha richiesto
130 nc=int(s/log(10))+1:print:print"il ben 24 minuti.
numero di cifre di n! e' ";nc
140 print:print"procedo con il calcolo, abbi Ecco un paio di output:
pazienza":print
150 dim c(nc):c(1)=1
160 for h=1 to n:print"..";h;
170 for j=1 to nc:c(j)=c(j)*h:next j
180 for k=1 to nc­1
190 d=int(c(k)/10):u=c(k)­d*10
200 c(k)=u:c(k+1)=c(k+1)+d
210 next k:next h
220 print:print:print n;"! = ";
230 for w=nc to 1 step ­1
240 print right$(str$(c(w)),1);
250 next w

L’istruzione 100 si incarica dei preliminari: colore bordo,


colore caratteri, pulizia dello schermo e la 110 richiede
il numero (maggiore di 3) di cui si intende calcolare il
fattoriale.
Nella 120 e 130 viene calcolato il numero delle cifre (NC)
di “n!” e alla 150 il vettore C(..) viene dimensionato e
inizializzato.
Alla 160 inizia il ciclo principale; il contatore H, che ci
dice a che punto siamo con il calcolo, viene stampato in
modo che l’utilizzatore possa farsi un’idea di quanto dovrà
aspettare. All’interno del ciclo principale sono presenti
altri due cicli “for-next”: quello alla 170 moltiplica ciascuna
cifra di C(..) per il K del momento, quello dalla 180 alla
210 esegue il “travaso delle cifre” nei termini esposti

RETROMAGAZINE WORLD ANNO 8 - NUMERO 48 Pagina 35 di 78


SOFTWARE

“Cielo... mio marito!”


di András Vajda

Sommario ordinandole - per fissare le idee - in modo decrescente,


La celeberrima battuta tratta da “Tailleur pour dames” dalla più alla meno desiderabile. In pratica, ad ogni
del grande Georges Feydeau, una delle più esilaranti (e elemento di uno dei due insiemi si associa una particolare
copiate) pochade incentrate sul tema delle relazioni permutazione dell’altro insieme. Si procede quindi a
extraconiugali, si presta splendidamente ad introdurre il formare le coppie, seguendo gli elenchi di preferenze: la
non meno famoso problema combinatorio noto come soluzione ottenuta è detta matrimonio stabile se non
“Problema dei matrimoni stabili”. In questo articolo esistono due individui, uno per insieme, i quali preferiscono
proponiamo come primo assaggio una succinta descrizione reciprocamente l’altro individuo al proprio partner attuale.
del problema così come posto originariamente da Gale L’algoritmo pubblicato nel 1962 (che chiameremo GS) è
& Shapley nel 1962 e una elegante implementazione in basato su semplicissimi passaggi detti "proposte", che
COMAL 80 per Commodore 64. vengono accettate o rifiutate secondo il semplice confronto
posizionale tra il partner attuale e il proponente nella
Introduzione scala delle priorità della parte che riceve la proposta. Se
Sfatiamo subito un mito: scorrendo l’ormai vastissima la ricevente preferisce il proprio partner attuale al
lista delle applicazioni nate attorno a questo problema e proponente, scatta il manzoniano "Questo matrimonio
sue variazioni ([Man13], pagg. 30 ÷ 31), si vede come in non s’ha da fare" e si passa alla successiva preferenza.
realtà l’uso di tali algoritmi in ambito matrimoniale e simili L’idea tipica, nelle intenzioni di Gale & Shapley, è che
(dating online, etc.) è sporadico, pressoché inesistente. l’insieme M degli "uomini" (es. studenti) si propone e
Come spessissimo avviene, il riferimento al “matrimonio quello delle "donne" W (es. college, cliniche) valuta le
stabile” usato nel nome del problema è volutamente proposte, ma ovviamente nulla impedisce di eseguire
metaforico e serve unicamente a creare uno spiritoso l’algoritmo seguendo la convenzione opposta. Il principale
spunto mnemonico e situazionale per quello che è un merito di Gale & Shapley è quello di avere dimostrato che:
serissimo problema di assegnazione di risorse in operations 1. Qualunque istanza del problema SM ammette almeno
research, nato attorno ad una istanza importante una soluzione stabile;
(l’assegnazione di studenti ai college universitari e, 2. Tale soluzione ha la proprietà di essere proponent-
indipendentemente, dei medici tirocinanti alle cliniche) optimal, ossia garantisce a ciascun membro dell’insieme
ed evolutosi poi in una serie di generalizzazioni con un proponente il migliore accoppiamento in assoluto rispetto
vastissimo campo applicativo: dall’assegnazione di posti a qualsiasi altra eventuale soluzione stabile (e non).
istituzionali in enti pubblici e parastatali di ogni genere Questa proprietà è la cosiddetta ottimalità paretiana debole.
alla logistica, dalla pianificazione della produzione
all’assegnazione di risorse ai centri di costo, alla gestione Il tutto usando un algoritmo di estrema semplicità che,
di affiancamenti nell’ambito sanitario o militare, eccetera. dati due insiemi non vuoti M e W di cardinalità n e le
relative matrici di preferenze, genera la soluzione male-
Matrimoni stabili: l’origine storica del problema optimal (o female-optimal) in O(n2) al caso peggiore.
In cosa consiste esattamente il problema Stable Marriage L’analisi del caso medio di esecuzione avrebbe diritto ad
(SM)? Esistono numerose varianti, ma nella formulazione un intero articolo dedicato, ma ci limitiamo qui a presentarne
originale, dovuta a Gale e Shapley nel 1962 ([GS62]), si il risultato che coinvolge la definizione di numero armonico:
hanno due distinti gruppi (uomini e donne), di pari
dimensione. Ciascun membro di ogni gruppo esprime in
una lista completa le proprie preferenze per l’altro sesso,

Pagina 36 di 78 RETROMAGAZINE WORLD ANNO 8 - NUMERO 48


SOFTWARE

dove Hn è appunto l’ennesimo numero armonico. in notazione standard a due linee:


Nell’espressione analitica più a destra, γ è la costante di
Euler-Mascheroni e ψ0() è la funzione digamma, ossia la Leggendo la notazione da sinistra a destra e dall’alto in
derivata logaritmica della funzione gamma Γ(), a sua volta basso, abbiamo appunto le coppie (1,4),(2,3),(3,2),(4,1).
estensione del fattoriale ai numeri reali. Si veda il classico In questa notazione, la permutazione identità della prima
[Leb72]. riga rappresenta l’insieme proponente nell’ordine naturale.
Detto questo, il numero medio di proposte nell’algoritmo Ne consegue che si può usare anche la notazione posizionale
GS è dato da n · Hn + O((logn)4). Ne consegue che la 1-line, come per qualsiasi altra permutazione, senza
complessità media è dell’ordine di Θ(nlogn). perdita di informazione: la notazione 4 3 2 1 rappresenta
La soluzione ottenuta può essere ovviamente espressa esattamente le medesime coppie, dove agli uomini è
in vari modi. Sostanzialmente essa consta di un elenco implicitamente assegnata la posizione 1..n crescente
di n coppie univoche (m,w) con m ϵ M e w ϵ W. Si abbiano verso destra e le relative partner vengono specificate
i seguenti due insiemi: M = {Aldo, Bruno, Carlo, Dario} e esplicitamente.
W = {Elena, Flora, Grazia, Helga}. Ciascun membro degli Tuttavia, la natura combinatoria elementare della soluzione
insiemi esprime il suo elenco di preferenze, usando le non ci è di grande aiuto computazionalmente. Trovare tra
iniziali dei nomi: le possibili permutazioni dell’insieme W (o M, se del caso)
la soluzione ottimale per esaustione applicando il paradigma
del “generate and test” è una via del tutto impraticabile
anche per problemi di dimensioni assai modeste. Tale
soluzione può anche essere vista nella sua natura di
relazione binaria, ossia un sottoinsieme del prodotto
Intuitivamente, la prima riga della matrice a destra ci dice cartesiano M ×W tra i due insiemi dati, il quale prodotto
che la signorina Elena preferisce nell’ordine il signor Dario, in soldoni non è altro che l’elenco di tutte le possibili n2
poi come seconda scelta il signor Aldo, e via di seguito coppie ordinate formate prendendo un solo elemento per
in ordine discendente di preferenza. volta da ciascun insieme di partenza. Assolutamente
Dal punto di vista computazionale, tuttavia, come nella banale dal punto di vista combinatorio, in ultima analisi:
maggior parte della letteratura, è invalsa l’abitudine di ma come spesso avviene, gli algoritmi necessari ad
codificare gli insiemi di input usando piccoli interi sia per ottenere una enumerazione esaustiva di tali soluzioni,
gli uomini che per le donne. Anche se inizialmente la come pure quelli dedicati a trovare particolari tipologie
notazione può creare una certa confusione, si tratta di soluzione, erano ben lungi dal vedere la luce ai tempi
comunque di una codifica estremamente efficace, universale di Gale & Shapley, sono quasi tutti caratterizzati da
e facile da manipolare, soprattutto per grandi insiemi. complessità computazionale molto elevata e/o richiedono
Così, le nostre tabelle assumono un aspetto leggermente un approccio del tutto peculiare, con l’ausilio di strutture
diverso, mantenendo esattamente il medesimo significato: dati non elementari.

Gli anni Settanta e Ottanta


Pochi anni dopo la pubblicazione dell’articolo di Gale &
Shapley, McVitie e Wilson nel 1970/71 [MW70, MW71b,
MW71a] presentano vari algoritmi in ALGOL60, il più
importante dei quali consente la generazione esaustiva
La soluzione stabile male-optimal generata da GS è il di tutte le soluzioni stabili per una data istanza di SM (per
seguente elenco di coppie che segue la convenzione la versione del problema generalizzata al caso di liste di
(m,w): {(1,4),(2,3),(3,2),(4,1)}, che corrisponde a {(A,H), dimensioni disuguali, che come caso particolare risolve
(B,G),(C,F),(D,E)} usando le rispettive iniziali. Tale elenco l’istanza standard). Sfortunatamente, per motivi di
può ovviamente essere espresso come una permutazione copyright ancora vigente su tali articoli, non sarà possibile

RETROMAGAZINE WORLD ANNO 8 - NUMERO 48 Pagina 37 di 78


SOFTWARE

qui approfondire come meriterebbe l’argomento presentando sistematicamente del problema in un contesto accademico,
il sorgente originale integrale. Tale algoritmo ricorsivo, a fine anni Ottanta, esistevano decine di pubblicazioni al
pur avendo prestazioni decisamente non entusiasmanti, riguardo, SM era menzionato in almeno mezza dozzina
ha una sua notevole importanza storica in quanto costituisce di testi di algoritmica a partire dagli anni Settanta e oltre
il primo tentativo di fornire una generazione esaustiva alla già citata Gusfield-Irving (allora fresca di stampa) vi
delle soluzioni. Negli stessi anni anche D. E. Knuth aveva erano altre due monografie dedicate, una delle quali
proposto un algoritmo sostanzialmente simile, con [RS90] fondamentalmente incentrata solo sugli aspetti
analoghe prestazioni. game-theoretic e l’altra, dovuta al venerabile D.E. Knuth
Occorreranno quasi venti anni prima che tale sforzo sia [Knu97], edita solo in francese fino al 1997. Sei lustri
superato, con la pubblicazione di alcuni articoli poi confluiti dopo il numero di pubblicazioni e di testi di algoritmica
nella fondamentale monografia di Gusfield e Irving [GI89] che fanno menzione del problema è pressoché raddoppiato,
i quali - grazie ad un attento studio della natura algebrica tuttavia si deve rilevare che molte delle questioni poste
dello spazio delle soluzioni come reticolo e come anello nelle principali monografie storiche (alle quali se ne è
d’insiemi, e suggerendo un uso accorto di strutture dati aggiunta una quarta [Man13] pochi anni fa) non hanno
order-preserving in grado di garantire contemporaneamente ancora trovato soluzione e il problema rimane ricco di
sia l’accesso diretto indicizzato, sia cancellazioni in O(1) spunti di ricerca e applicativi.
- hanno proposto l’algoritmo ancora attualmente in uso Il lettore interessato può scaricare un articolo di
per la generazione esaustiva anche su istanze di grandi approfondimento sull’algoritmo di Gusfield & Irving,
dimensioni, con prestazioni in O(n2), praticamente il latamente correlato al retrocomputing (viene proposta
medesimo ordine di grandezza del GS (che in quel tempo una implementazione in C89 conforme agli strumenti
è in grado però di generare solo una singola soluzione, disponibili all’epoca della pubblicazione della monografia,
non tutte). Avremo modo di approfondire altrove come senza fare ricorso a Python e strutture dati avanzate), la
si possano ottenere simili incrementi prestazionali. cui dimensione renderebbe difficoltosa la pubblicazione
Altro aspetto caratteristico (e divertente!) dell’algoritmo in questa sede, anche in numerose puntate.
di McVitie e Wilson, che lo rende ancora più degno di
studio e di interesse, è la sua originale implementazione L’algoritmo di Gale & Shapley
su un KDF-9 a transistor della English Electric Computers La versione più elementare, riportata nei testi di algoritmica
(poi English Electric LEO Marconi Computers), installato e in numerosi articoli divulgativi, è anche la più utilizzata
presso l’Università di Newcastle: questo è genuino per le implementazioni. Si tratta di un algoritmo iterativo
retrocomputing, e del migliore! Di tale storico elaboratore, di estrema semplicità, che però garantisce un risultato
dotato di memorie a nuclei magnetici, esiste un emulatore per nulla intuitivo leggendo il problema. Il nondeterminismo
scritto in Ada e dotato di una ricchissima documentazione, introdotto dalla mancanza di un particolare ordine dei
col quale l’Autore si è a lungo divertito. proponenti è un aspetto che è stato dato per scontato
Come già accennato, a partire dalla metà degli anni negli articoli scientifici degli anni Sessanta e Settanta: in
Ottanta alcune pubblicazioni (principalmente dovute a realtà l’ordine dei proponenti è del tutto irrilevante, perché
Gusfield, Irving e Leather: [IL86, ILG87, GILS87, Gus87]) l’algoritmo genera sempre e comunque la medesima
avevano risvegliato l’interesse generale verso il problema, soluzione male-optimal (o female-optimal, invertendo
stimolando numerosi articoli divulgativi sulle principali banalmente le tabelle di preferenze), come non mancano
riviste internazionali di programmazione applicativa e - di notare Gusfield e Irving ([GI89], pagg. 9 ÷ 10).
come immediata conseguenza - anche diverse
implementazioni di studio in vari linguaggi di alto livello procedure STABLE_MARRIAGE
(tra i quali Ada, C, Clipper, COMAL) da parte dell’Autore. assign each person to be free;
In questo articolo ci concentreremo su una di tali while some man m is free do
implementazioni in COMAL 80 V. 2.01 per Commodore 64. begin
Un’ultima nota. La prima volta che l’Autore si è occupato w:=next(m);

Pagina 38 di 78 RETROMAGAZINE WORLD ANNO 8 - NUMERO 48


SOFTWARE

if free(w) then stabili.


assign m and w to be engaged {to each Chiudiamo questa breve sezione con una curiosità storica:
other}; nelle implementazioni fino a tutti gli anni Settanta, veniva
else usato il bit del segno per indicare se un individuo m o w
if w prefers m to her fiancé m' then risultava coniugato, senza utilizzare un array ausiliario.
assign m and w to be engaged; Un tipico trucco di retroprogrammazione che ha
free m'; caratterizzato, prima ancora dell’era dei PET e degli home
else computer, un’intera epoca di programmi in ALGOL e
w rejects m {m remains free}; FORTRAN, condizionata dai costi delle memorie fisiche e
end; dalla loro proverbiale scarsità.
output the n engaged pairs;
L’implementazione in COMAL 80
Il funzionamento dell’algoritmo è decisamente intuitivo. Si presenta una implementazione di esempio in COMAL
La funzione di comodo next(m) fornisce la donna w 80 (provata con la versione 2.01 su cartridge) per
immediatamente successiva all’attuale partner (o la prima Commodore 64, versione semplificata e ridotta di una
della lista, se siamo alla prima esecuzione) nell’elenco di delle prime implementazioni dell’Autore, datata 1984.
preferenze dell’uomo m, il proponente. La funzione free(w), Per verificare facilmente la correttezza dell’implementazione,
in modo del tutto ovvio, controlla se w ha già un partner. si sono scelte le tabelle di preferenze dell’esempio di
In tale caso, si confrontano le posizioni del proponente dimensione 8 da [GI89], pag. 12 che generano la soluzione
m e dell’attuale partner m’ nell’elenco delle preferenze stabile male-optimal seguente, ordinando al solito le
di w e si agisce di conseguenza, realizzando la coppia che coppie secondo la convenzione (m,w):
assegna a w il partito relativamente migliore secondo le {(1,5),(2,3),(3,8),(4,6),(5,7),(6,1),(7,2),(8,4)}
preferenze di lei e libera il meno desiderabile, che così
potrà proporsi ad altre potenziali partner nelle successive //********************************
// save stable­marriage
iterazioni. Importante rilevare che tali comparazioni, così
//********************************
come l’implementazione delle funzioni ausiliarie, possono
DATA 5,7,1,2,6,8,4,3
e devono essere realizzate in O(1) senza ricorso a DATA 2,3,7,5,4,1,8,6
farraginose ricerche lineari negli array principali, data DATA 8,5,1,4,6,2,3,7
anche la dimensione media dei problemi generalmente DATA 3,2,7,4,1,6,8,5
DATA 7,2,5,1,3,6,8,4
trattati con questa famiglia di algoritmi, dell’ordine di
DATA 1,6,7,5,8,4,2,3
migliaia di proponenti. Altrettanto importante notare che DATA 2,5,7,6,3,4,8,1
i controlli di bound sugli indici sono sostanzialmente DATA 3,8,4,5,7,2,6,1
superflui, in quanto Gale & Shapley hanno dimostrato
che l’algoritmo termina sempre senza che alcun proponente DATA 5,3,7,6,1,2,8,4
DATA 8,6,3,5,7,2,1,4
oltrepassi il termine della propria lista di preferenze,
DATA 1,5,6,2,4,8,7,3
restando così celibe. DATA 8,7,3,2,4,1,5,6
L’idea vincente dell’algoritmo si può spiegare in modo DATA 6,4,7,3,8,1,2,5
semplicissimo: ogni conflitto di preferenze tra i proponenti DATA 2,8,5,3,4,6,7,1
DATA 7,5,2,1,8,6,4,3
viene risolto in modo deterministico, scegliendo tra i due
DATA 7,4,1,5,2,3,6,8
quello che risulta più vicino alla cima della lista preferenziale
della donna contesa. In questo modo uno o più proponenti DIM male'pref(8,8)
dovranno accontentarsi di una partner che preferiscono DIM female'pref(8,8)
meno, come mostra l’esito finale dell’esempio che vedremo DIM male'lut(8,8)
DIM m'coupled(8)
tra breve, ma che comunque (è dimostrabile) rimane la
DIM w'coupled(8)
loro migliore scelta in assoluto tra tutte le possibili soluzioni DIM stack(8)
RETROMAGAZINE WORLD ANNO 8 - NUMERO 48 Pagina 39 di 78
SOFTWARE

stack'ptr:=0 ENDPROC disp'data

PAGE PROC disp'solution


FOR i:=1 TO 8 DO PRINT AT 12,1: "Stable marriage (m,w):"
FOR j:=1 TO 8 DO FOR i:=1 TO 8 DO
READ male'pref(i,j) w:=male'pref(i,m'coupled(i))
ENDFOR j PRINT AT 12+i,1: "(",i,",",w,")"
push(i) PRINT AT i+1,2+2*m'coupled(i): CHR$(158),w
ENDFOR i PRINT AT w+1,22+2*male'lut(i,w):
CHR$(159),i,CHR$(154)
FOR i:=1 TO 8 DO ENDFOR i
FOR j:=1 TO 8 DO PRINT AT 20,1: CHR$(154)
READ female'pref(i,j) ENDPROC disp'solution
male'lut(female'pref(i,j),i):=j
ENDFOR j PROC push(d)
ENDFOR i stack'ptr:+1
stack(stack'ptr):=d
disp'data ENDPROC push

WHILE stack'ptr>0 DO PROC pop(REF d)


pop(man) d:=0
m'coupled(man):+1 IF stack'ptr>0 THEN
woman:=male'pref(man,m'coupled(man)) d:=stack(stack'ptr)
IF w'coupled(woman)<1 THEN stack'ptr:­1
w'coupled(woman):=man ENDIF
ELSE ENDPROC pop
IF
male'lut(man,woman)<male'lut(w'coupled(woman)
Il listato, sebbene privo di commenti, risulta del tutto
,woman) THEN
autoesplicativo. Si è scelto di implementare uno stack nel
push(w'coupled(woman))
w'coupled(woman):=man modo più classico, tramite l’array denominato (con audace
ELSE spicco di fantasia) stack() e la singola variabile stack’ptr.
push(man) Il valore 0 è in questo caso perfetto come guard value,
ENDIF
poiché in COMAL gli indici partono sempre da 1. Si noti
ENDIF
ENDWHILE che in COMAL il carattere apostrofo è perfettamente valido
se utilizzato come separatore nei nomi di procedura e
disp'solution variabile, esattamente come l’underscore in altri linguaggi.
Gli array male’pref() e female’pref() contengono, senza
END "Fine lavoro"
alcuna sorpresa, le liste delle preferenze dei due sessi,

PROC disp'data mentre male’lut() è utilizzato per il reverse lookup in


PRINT "Uomini: Donne:" tempo costante, poiché per ogni possibile coppia (m,w)
FOR i:=1 TO 8 DO ci fornisce la posizione di m nella lista delle preferenze
PRINT i,": ",
di w, rendendo possibile il confronto immediato tra la
FOR j:=1 TO 8 DO
posizione del proponente e quella dell’attuale partner,
PRINT male'pref(i,j)," ",
ENDFOR j come richiesto dall’algoritmo.
PRINT AT i+1,21: i,": ", Ultima banale nota: l’array w’coupled() ci dice in modo
FOR j:=1 TO 8 DO immediato chi è attualmente il partner di w per ogni w
PRINT female'pref(i,j)," ",
W e le sue locazioni contengono ciascuna un piccolo
ENDFOR j
PRINT intero 1 ≤ m ≤ 8 che identifica il partner, mentre l’array
ENDFOR i m’coupled(), come è evidente dal codice, è utilizzato in

Pagina 40 di 78 RETROMAGAZINE WORLD ANNO 8 - NUMERO 48


SOFTWARE

modo leggermente diverso. Il contenuto di ciascuna cella dall’altro che apprezzino sempre meglio il linguaggio e
è sempre un piccolo intero non negativo, ma usato stavolta la sua grande espressività.
come indice relativo alla posizione di w nella lista delle
preferenze di m. In questo modo, ad esempio, considerando Riferimenti bibliografici
la coppia (m,w) = (1,5) si avrà che m’coupled(m)=1 in [GI89] Dan Gusfield and Robert W. Irving, “The stable marriage

quanto male’pref(m,1)=5, e così via per ogni altra coppia. problem: Structure and algorithms”, MIT Press, Cambridge, MA,
USA, 1989.
A proposito di array, si ricordi solo che essi sono
[GILS87] Dan Gusfield, Robert Irving, Paul Leather, Michael
implicitamente inizializzati a zero, così come le variabili
Saks, “Every finite distributive lattice is a set of stable matchings
in genere. Si noti ancora una volta come il linguaggio è for a small stable marriage instance”, Journal of Combinatorial
un po’ prolisso (come ALGOL, COBOL o FORTRAN) ma Theory, Series A 44 (1987), no. 2, 304-309.
estremamente chiaro, leggibile, ordinato. Il risultato finale [GS62] D. Gale, L. S. Shapley, “College admissions and the
è visibile nello screenshot che segue, dove i partner sono stability of marriage”, The American Mathematical Monthly 69

elencati esplicitamente ed evidenziati con colori diversi (1962), no. 1, 9-15.


[Gus87] Dan Gusfield, “Three fast algorithms for four problems
nelle matrici di preferenze dalla procedura disp’solution,
in stable marriage”, SIAM Journal on Computing 16 (1987), no.
mostrando la collocazione relativa dei partner in ciascuna
1, 111-128.
lista di preferenze per stimolare doverose riflessioni nel
[IL86] Robert W. Irving, Paul Leather, “The complexity of counting
lettore sul significato profondo dell’ottimalità paretiana stable marriages”, SIAM Journal on Computing 15 (1986), no.
dell’algoritmo. 3, 655-667.
[ILG87] Robert Irving, Paul Leather, Dan Gusfield, “An efficient
algorithm for the "optimal" stable marriage”, [Link] 34 (1987),
532-543.
[IM08] Kazuo Iwama, Shuichi Miyazaki, “A survey of the stable
marriage problem and its variants”, Proceedings of the International
Conference on Informatics Education and Research for Knowledge-
Circulating Society (Icks 2008) (USA), ICKS08, IEEE Computer
Society, 2008, pp. 131-136.
[Knu97] Donald E. Knuth, “Stable marriage and its relation to
other combinatorial problems”, American Mathematical Society,
Providence, R.I, 1997.
[Leb72] N. N. Lebedev, “Special functions and their applications,”
Dover Publications, Inc., New York, 1972.
Conclusioni
[Man13] David Manlove, “Algorithmics of matching under
Si è presentato in estrema sintesi uno dei problemi
preferences”, World Scientific Publishing Company, 2013.
combinatori più longevi e famosi, con qualche fondamentale [MW70] D. G. McVitie, L. B. Wilson, “Stable marriage assignment
riferimento alle principali tappe nello sviluppo delle for unequal sets”, BIT Numerical
soluzioni fino a tutti gli anni Ottanta. Per un più completo Mathematics 10 (1970), no. 3, 295-309.
orientamento nella vasta letteratura esistente si rimanda [MW71a] D. G. McVitie, L. B. Wilson, “The stable marriage

senz’altro il lettore interessato alle monografie già citate, problem”, Communications of the ACM 14 (1971), no. 7, 486-490.
[MW71b] D. G. McVitie, L. B. Wilson, “Three procedures for the
alla loro bibliografia ed al più recente survey disponibile:
stable marriage problem”, Communications of the ACM 14
[IM08].
(1971), no. 7, 491-492.
Si è quindi fornita una completa implementazione in [RS90] Alvin E. Roth, Marilda A. Oliveira Sotomayor, “Two-sided
COMAL 80 2.01 per Commodore 64 che consente di matching: A study in game-theoretic modeling and analysis”,
esemplificare le caratteristiche e la grande eleganza di Econometric Society Monographs, Cambridge University Press,
tale linguaggio evoluto, rendendone trasparente il 1990.

funzionamento grazie alla semplicità dell’algoritmo. La


duplice speranza dell’Autore è che da un lato i lettori siano
incuriositi dal problema e dalle sue numerose varianti,

RETROMAGAZINE WORLD ANNO 8 - NUMERO 48 Pagina 41 di 78


SOFTWARE

Hare Basic – 10 Volte più veloce


di Carlo Nithaiah Del Mar Pirazzini

Hare Basic nasce dalla mente di Aleksi Eeben, già autore del Un listato d’esempio presente nella cartella di documentazione
Bunny Basic nel 2019 con due scopi: festeggiare i 60 anni della del HARE BASIC:
nascita del BASIC e realizzare un interprete di base veloce e
funzionale da poter sostituire in Basic 2.0 di C64 e VIC20.
Hare Basic è un sottoinsieme altamente ottimizzato del Basic
Commodore che si può attivare o disattivare a seconda delle
necessità. È un interprete e non un compilatore ed è dotato di
pochi comandi e funzioni, tutti eseguibili direttamente su C64.

Ecco come si presenta HARE BASIC all’avvio:

Ci sono anche molte altre differenze tutte spiegate con dovizia


e numerosi esempi sul manuale presente nel sito [Link]
release/?id=242880 che vi consigliamo caldamente di leggere.

Nella pagina dropbox dell’autore ([Link]


scl/fo/qkn7ehgoctgcq4ldrlx43/AHwpvxdq06t3rVN9dkCrY4g?
rlkey=t44bux2c3qtsa31t5eupank8t&e=2&st=0oe22jyb&dl=0)
è presente anche una serie di esempi utili per comprendere la
velocità di esecuzione e le differenze.

La sintassi è molto simile, ma ci sono alcune restrizioni e differenze. I numerosi esempi presenti nella dotazione del software
Non sono presenti variabili stringa, tuttavia esiste un supporto
semplice per le stringhe con terminazione NULL che possono farlo.
Non ci sono ARRAY. Si accede alla memoria direttamente con
POKE e PEEK per creare strutture dati più grandi.
È possibile una solo operazione aritmetica alla volta.
Non è possibile utilizzare gli spazi bianchi. Riceverai un messaggio ?
HARE ERROR READY.
GOTO e GOSUB possono prendere una variabile come destinazione.
THEN non accetta solo una variabile numeri. Tuttavia, THENGOTO
funziona con variabili.
La funzione STR$ viene riproposta per fare riferimento a stringhe In conclusione mi sono divertito a “giocare” con questa versione
con terminazione NULL nella memoria. Si possono utilizzare snella e veloce del Basic, una scoperta e sicuramente una ventata
variabili come puntatore o utilizzare un indirizzo di memoria diretto. di novità e freschezza, segno di una scena di retro sviluppo viva
RND è implementato come un comando che inserisce un numero e vegeta.
casuale nell'intervallo 0-65534. Nei prossimi numeri analizzeremo assieme ad alcuni collaboratori
Il comando LOAD non riavvia il programma, ma continua con alcuni listati sviluppati con HARE BASIC, non mancate!
l'istruzione successiva.

Pagina 42 di 78 RETROMAGAZINE WORLD ANNO 8 - NUMERO 48


GAME TESTING

Anno: 2012
Editore/Sviluppatore: Team

QUEST FOR THE Pixelboy


Genere: Avventura

GOLDEN CHALICE
Piattaforma: Colecovision
Sito web: https://
[Link]/
quest_chalice.php

Draghi, Castelli, pipistrelli ed un là permetteranno al principe di Larosia


principe codardo… mio Dio! di ritrovare il calice e riportarlo al
Tutto questo è Quest for the Golden castello Giallo.
Chalice, progetto del 2012 per La struttura di gioco è semplice come
Colecovision. era quella di Adventure. Girovagare
Un gioco che si ispira ad Adventure per le mappe labirintiche, recuperare
per Atari 2600; titolo molto amato le chiavi ed evitare di essere uccisi
dagli sviluppatori e si vede nel layout da mostri terrificanti.
del gioco. L’aspetto visivo è ben fatto e ricorda
Ma questo Quest for the Golden Chalice molto Zelda. La grafica è nitida e tutto
è uno di quei titoli di cui sentivamo il si muove bene.
bisogno sulla console di Coleco. Insomma siamo di fronte ad un titolo
Grazie alle capacità grafiche della che deve essere recuperato
console rispetto all’Atari 2600, questo assolutamente e che porta sulle spalle
“omaggio” ad Adventure prende uno solo 12 anni dalla sua uscita.
stile grafico ed un gusto moderno che GIUDIZIO FINALE
ricorda la saga di “Zelda”. di Giampaolo Moraschi
Un gioco divertente con una trama
bislacca che vede il principe di Larosia, » Giocabilità 85%
Un grande omaggio ad Adventure
noto per la sua codardia, affrontare
per Atari 2600 ma con lo stile
mostri, creature malvagie e dei potenti alla Zelda. Semplice e divertente.
draghi.
Il calice dorato è stato rubato da un » Longevità 80%
malvagio mago chiamato Mardok e Anche qui sono presenti diversi
nascosto. Easter Eggs come nel titolo
originale.
Solo la spada, una buona dose di
Divertente.
fortuna e diverse chiavi sparse qua e

RETROMAGAZINE WORLD ANNO 8 - NUMERO 48 Pagina 43 di 78


GAME TESTING

Anno: 2022
Editore/Sviluppatore: Roman

TIMO’S CASTLE
Warner
Genere: Platform
Piattaforma: Commodore 64
Sito web: [Link]
hc

Timo’s Castle è un prodotto ben fatto.


Dietro al gioco si trovano un team
rodato e una ottima programmazione.
Nel gioco impersoneremo Timo
McClane, giovane rampollo nobile
scozzese. Un ragazzo che non vuole
saperne della nobiltà e delle tradizioni,
ma che si trova suo malgrado ad
indagare sulla morte dei suoi genitori
avvenuta in modo misterioso.
Da questo tragico evento abbiamo
ereditato un piccolo maniero perduto
nelle Highlands scozzesi.
Assieme alla fidanzata Amber, Timo
si trova al suo interno con lo scopo
di rimetterlo in ordine e, magari, di
scoprire il destino della sua famiglia.
Ma qualcosa da subito non va. Il Questo legame è ovviamente
castello è maledetto e una perfida migliorato: abbiamo un aspetto più
strega rapisce Amber. moderno, animazioni più veloci e una
E la nostra storia ha inizio. cura per i dettagli maggiore.
Timo’s Castle è uno omaggio al famoso L’aspetto grafico è gradevolissimo ed
Henry’s House. Come l’illustre è apprezzabile lo sprite del
predecessore è un platform a schermo protagonista che ci ha ricordato l’eroe
fisso.
I livelli di gioco sono le stanze del
castello (in totale 8) e sono tutte
caratterizzate in modo differente e
piene di oggetti posseduti che hanno
la voglia di fare a pezzi il protagonista.
Tutto questo immerso in tantissimi
riferimenti familiari e ad un’atmosfera
che ricorda i mitici anni 70, i
funambolici 80 e i “grunge” anni 90.
Timo’s Castle mantiene tutti gli
elementi che rendevano Henry House
speciale. Le stanze ben realizzate e
con una discreta dose di difficoltà. I
nemici sempre pronti ad ostacolare
il nostro eroe e quella voglia di vedere
cosa c’è dopo ogni livello.

Pagina 44 di 78 RETROMAGAZINE WORLD ANNO 8 ­ NUMERO 48


GAME TESTING

GIUDIZIO FINALE

» Giocabilità 90%
Mantiene lo stile di Henry’s
House nello stile dei livelli ma
si lascia maneggiare meglio.
Le collisioni e il design dei
livelli sono bellissimi.

» Longevità 85%
Risente dello stile “old” di un
tempo e richiede pratica, ma
portarlo al termine è una
grande soddisfazione.

di Magic Pockets, con quello strambo


aspetto da “tamarro” degli anni 80.
Ma è il sonoro che abbiamo amato di
più. Tutte le stanze sono caratterizzate
da una bella colonna sonora e l’intro
presenta una versione SID di “Scottland
the Brave” perfetta.
Lo stile di Henry’s House si sente. Non
è un titolo semplice, soprattutto se
preso sottogamba. Richiede precisione
e attenzione per concludere i livelli.
Arrivare alla schermata finale non è
impresa facile, ma la voglia di vederla
vi farà premere sul tasto fire fino alla fine.

Il gioco è disponibile al download al


costo di 4,99 dollari e li vale tutti. Non
sarà l’assoluto capolavoro ma è un
titolo dannatamente divertente.

di Carlo Nithaiah Del Mar Pirazzini

RETROMAGAZINE WORLD ANNO 8 - NUMERO 48 Pagina 45 di 78


GAME TESTING

Anno: 2024
Editore/Sviluppatore: Pakete

THE KEY
Soft
Genere: Avventura punta e
clicca
Piattaforma: Amstrad CPC
Sito web: https://
[Link]/es/thekey

Un fatto terribile compiuto inquietante sui misteri di Carfax


quarant’anni prima, alcune cassette Mansion.
sono a testimonianza delle atrocità Questi sono gli elementi di apertura
avvenute, un biglietto e una chiave del primo episodio di The Key,
affissi alla porta di casa e una nota avventura punta e clicca in terza

Pagina 46 di 78 RETROMAGAZINE WORLD ANNO 8 ­ NUMERO 48


GAME TESTING

GIUDIZIO FINALE

» Giocabilità 85%
Lo stile LucasArts è un plus
per un’avventura punta e
clicca dalla trama solida.

» Longevità 80%
Enigmi molto divertenti.

persona per Amstrad CPC. una in lingua francese ed una in inglese.


Il team di sviluppo, i Pakete soft, nel Tirando le somme non mi resta che
2019 rilasciarono già un titolo punta consigliarvi il titolo e suggerirvi di
e clicca di buona fattura chiamato seguire il team Pakete Soft.
Escape the ROM, nato per mostrare il
Paket engine, ma con The Key ci mettono di Giampaolo Moraschi
davanti ad un vero e proprio omaggio
allo spirito delle avventure “LucasArts”
dei bei tempi andati.
La trama scorre bene ed è ricca di
puzzle (alcuni davvero machiavellici!)
e si lascia giocare senza portarci mai
verso punti morti.
L’interfaccia ci ricorda alla lontana lo
Scumm e funziona alla meraviglia,
contornata da un aspetto tecnico ben
fatto con una dettagliata e colorata
grafica ed un buon accompagnamento
musicale.
La bellezza di questo titolo parte già
dal suo modo per essere scaricato…
ovvero tramite un enigma!
Nel sito ufficiale dei Pakete si trova un
folle enigma cliccabile che solo se
risolto vi porterà a scaricare il titolo.
Geniale!
La trama è interessante e ben sviluppata
con alcuni tocchi di genio nei dialoghi.
Il gioco è disponibile in lingua spagnola
ma sono previste a breve due versioni:

RETROMAGAZINE WORLD ANNO 8 - NUMERO 48 Pagina 47 di 78


GAME TESTING

Anno: 2024

LYLE IN CUBE
Editore/Sviluppatore: Michael
Moffit

SECTOR
Genere: Platform/Metroidvania
Piattaforma: Sega Megadrive
Sito web: https://
mikejmoffi[Link]/lics-md

“Il mio nome è Lyle. Purtroppo non


posso dirvi il mio cognome; gli eroi
dei videogiochi di solito hanno nomi
composti di una sola parola ed io non
voglio fare l’eccezione.
Inoltre, come la maggior parte degli
eroi dei videogiochi, posso saltare più
in alto del normale, la mia testa è più
grande del mio busto (diamine anche
i miei occhi sono più grandi!) e la mia
salute non è determinata dalla
pressione, dallo stress, dal cibo o da
ciò che mi circonda, ma da una semplice
barretta in alto sullo schermo che stai
guardando.
Vivo in una piccola baracca nel mezzo
del settore Cubo, un regno popolato nipponico. Devo trovare potenziamenti
da ogni sorta di mostri cattivi. E sì! Ci che mi migliorino. Ovviamente tutti
sono tantissimi cubi qui in giro: verdi incentrati sulla cubosità del gioco.
durevoli, rossi esplosivi, cubi arancioni Però è divertente dai. Posso lanciare
di doppia dimensione e così via. In cubi, sollevare cubi, calciare cubi e
effetti, ho un cubo verde proprio nel attaccare i nemici con i cubi.
mio cortile. Alla fine è una vita del cubo ma è
Il mio unico compagno di vita è un divertente.”
gattino di nome Keddums. Sul serio!
Ora però basta parlare di me… se
scarichi la rom puoi leggere tutto sul
file txt che racconta del gioco. Uffa!
La scorsa notte, mentre dormivo, una
figura incappucciata è entrata nel
cortile e mi ha rapito il gatto. Inutile
dire che questa cosa la trovo
intollerabile: Keddums è il mio unico
amico! Quindi, mentre scrivo queste
righe, ho deciso di partire per reclamare
il mio peloso e cubico amico.
Però non è facile questa avventura…
cavolo appena esco di casa sono
indifeso come un vermicello. Non posso
nemmeno saltare in testa ai nemici
come fa quel baffuto idraulico italo-

Pagina 48 di 78 RETROMAGAZINE WORLD ANNO 8 ­ NUMERO 48


GAME TESTING

GIUDIZIO FINALE

» Giocabilità 90%
Vasto ma godibile in alcuni
punti. Difetta per mancanza di
semplicità iniziale.

» Longevità 75%
Alcune volte ci si trova a vagare
senza meta.
Inizialmente non è facile
rimanere in vita.

Lyle in Cube Sector è un gioco apparso In alcuni punti presenta una dispersione
qualche tempo fa su pc e solo ora vede di trama e offre poche indicazioni su
una versione per Sega Megadrive come muoversi nell’avventura. Questo
praticamente identica ma decisamente ci porterà ad esplorare più e più volte
più “godibile” per velocità. gli stessi posti e, alla lunga, potrebbe
È un gioco in stile Metroid. Il classico annoiarci.
Metroidvania che va tanto di moda di Altro appunto è la difficoltà iniziale
questi tempi. Condivide il sistema davvero “tenace”. Partire senza
esplorativo del famoso gioco Nintendo potenziamenti e debolissimi ci porterà
ma fortunatamente è meno “vasto” e spesso a game over. Avrei dosato meglio
permette un’esplorazione più mirata. tutto questo con qualcosa di più fruibile.
Possiede anche una forte dose di Ma nel complesso, questo gioco merita
umorismo e un simpatico e curato di essere scaricato e apprezzato.
aspetto grafico piuttosto minimalista C’è tanto da esplorare e tiene occupati
che sulla console Sega ci sta per un po’ di tempo. La sequenza finale
decisamente bene. è divertente.
Non è un titolo perfetto, ovviamente. di Carlo Nithaiah Del Mar Pirazzini

RETROMAGAZINE WORLD ANNO 8 - NUMERO 48 Pagina 49 di 78


GAME TESTING

Anno: 2024

ATLANTEAN
Editore/Sviluppatore:
Aetherbyte
Genere: Shoot em Up
Piattaforma: Pc Engine

Al giorno d'oggi il PC Engine è tutt'altro


che una nota a piè di pagina nella
storia dei videogiochi per molte
persone.
I veri amanti dei videogiochi non
possono fare a meno di apprezzarlo
come una delle piattaforme classiche
più affascinanti e avere un nuovo
sparatutto rilasciato 20 anni dopo la
sua scomparsa è a dir poco
eccezionale.
Sviluppato da un piccolo studio
indipendente nel 2014, Atlantean è
a tutti gli effetti il risultato di un lavoro
d'amore mirato alla base di fan
hardcore, come molti altri esempi che
l'hanno preceduto negli ultimi anni. del pianeta Atlantide dall'essere rapiti

Atlantean non prova nulla di nuovo o dagli invasori robotici Aquanoid per

rivoluzionario, e a prima vista potrebbe scopi indicibili.

essere scambiato per uno pseudo- Per portare a termine il compito eroico
sequel dell'universalmente impegnato si può sparare (pulsante II), attivare
Deep Blue . Fortunatamente l'unica bombe che puliscono lo schermo

cosa in comune tra i due giochi è il (pulsante I) e muoversi

tema sottomarino, con il gameplay


reale molto diverso tra loro. L'omaggio
casalingo a Defender è chiaramente
evidente e dal momento che non esiste
un gioco con uno stile equivalente
nella libreria di PC Engine, possiamo
tutti salutarlo come il primo del suo
genere per la console per videogiochi
di NEC. Certo, ci sono voluti solo più
di 20 anni per avere un nuovo titolo,
ma ora che è qui immagino che alcune
persone avranno un assaggio della
vecchia corsa al gameplay di Defender .
Comunque, la missione del giocatore
è proteggere gli abitanti sottomarini

Pagina 50 di 78 RETROMAGAZINE WORLD ANNO 8 ­ NUMERO 48


GAME TESTING

GIUDIZIO FINALE

» Giocabilità 80%
Tecnicamente non il massimo
ma decisamente giocabile anche
se soffre di alcuni rallentamenti.

» Longevità 80%
Un buon livello di difficoltà.

orizzontalmente ad ipervelocità (START). mantenere vivo l'interesse. Gli strati di


Il campo di gioco è quello già visto in parallasse sono usati ovunque e possono
Defender e nei suoi mille cloni, la velocità indurre un po' di scatti (in particolare
di scorrimento è dettata dal giocatore nella sezione delle mine), mentre il
e un radar in alto ti dice la posizione di design colorato sembra monotono e
tutti i nemici e anche degli atlantidei non consente a nessun palco di
che dovresti proteggere dal rapimento. distinguersi dagli altri. C'è una Statua
Girare a sinistra ea destra deve tenere della Libertà distrutta da qualche parte
in considerazione la continua nel gioco, ma cosa ci fa esattamente
combinazione di velocità e inerzia. in un pianeta alieno? Scherzi a parte,
Ogni fase è composta da cinque sezioni. il gioco non riesce ad andare oltre il
Nella prima si affronteranno tre ondate livello base di realizzazione.
di invasori consecutive, nella seconda Nel complesso, l'unico vero svantaggio
saremo al centro dello schermo per del gameplay vero e proprio è il notevole
attraversare le fessure delle pareti della rallentamento quando incontri troppi
miniera in arrivo e nella terza un'altra nemici contemporaneamente, il che
ondata di invasori. Poi si arriva al boss rende brevemente i controlli non reattivi
"aqualord", seguito da una sezione e influisce sulle funzioni di fuoco/
bonus in cui è necessario catturare bombardamento.
atlantidei che cadono per avere Tirando le somme si tratta di un titolo
l'opportunità di ripopolare gli abitanti forse non eccelso tecnicamente ma
rapiti o morti. Questo round bonus è divertente.
assente solo nel 4° e ultimo livello, Non si inserisce tra i migliori shooter
poiché il gioco termina quando il 4° per la console, ma merita una partitella
Aqualord viene sconfitto. ogni tanto.
Suoni e grafica sono abbastanza nella
media per gli standard di PC Engine. di Carlo Nithaiah Del Mar Pirazzini
La totale mancanza di potenziamenti
è un po' deludente, ma almeno il
gameplay di base è sufficiente per

RETROMAGAZINE WORLD ANNO 8 - NUMERO 48 Pagina 51 di 78


GAME TESTING

DICING KNIGHT
Anno: 2004
Editore/Sviluppatore: Qute/
Platine Dispositif

PERIOD
Genere: ARPG
Piattaforma: WonderSwan
Color

Dicing Knight Period è un gioco molto


intelligente. Ora, non intendo questo
nel senso di trama profonda, intricati
meccanismi di gioco e sapienti
indovinelli in game. In realtà, non è
altro che un umile gioco d’azione
rilasciato verso la fine del ciclo vitale
della console portatile WonderSwan
(abbiamo parlato di questa sfortunata
console nei numeri 37 ita e 15 uk di
RetroMagazine, andate a recuperarli,
NdR).
Ma è il modo in cui Dicing Knight
racchiude quell’azione che lo rende
così intelligente.
Il WonderSwan era un sistema portatile
dal design molto particolare e questo
gioco lo riflette. Questa sua semplicità concede al
Dalle piccole stanze all’azione è gioco di raggiungere un equilibrio tra
sorprendete quanto questo titolo rilassante e coinvolgente perfetto! È
dimostri l’unità tra la piattaforma e come se il gioco distillasse divertimento
il suo design. È un’esperienza molto in una forma pura e senza restrizioni.
più forte di quanto inizialmente lasci È incredibile la facilità in cui mi sono
intendere. ritrovato a frugrare in mezzo ai
Ma cos’è esattamente Dicing Knight?
Chiamarlo Action Game non dice
molto a ciò che è e come funziona.
Invece è meglio metterlo tra un mix
di gameplay: quello d’azione di Final
Fantasy Adventure e un’esplorazione
profonda dei dungeon alla roguelike.
Si oscilla la spada contro i vari mostri
e si esplora un dungeon, stanza per
stanza, piano per piano.
Ovviamente, non c’è molto da dire in
un gioco del genere. Non richiede
chissà che abilità per essere giocato
e, con solo due pulsanti con cui
interagire, risulta un gioco semplice.
Ma è qui che risiedono i punti di forza
di DK (lo abbreviamo per comodità!).

Pagina 52 di 78 RETROMAGAZINE WORLD ANNO 8 ­ NUMERO 48


GAME TESTING

GIUDIZIO FINALE

» Giocabilità 95%
Si fa tutto con pad direzionale e
due tasti e lo si fa con
soddisfazione.

» Longevità 90%
Bilanciato e strutturato. Porta
ad un Nirvana assoluto per chi
cerca qualcosa che dia
soddisfazione piena.

sotterranei di gioco, girovagando alla tutorial.


ricerca di attività per occupare il tempo. Dicing Knight è perfettamente
Gran parte del divertimento dipende consapevole di che tipo di gioco vuole
dalla concentrazione del design; come essere: un dungeon crawler veloce e
ogni elemento serve ad offrire orientato all’azione che appaghi i
divertimento al giocatore velocemente. giocatori. Difficile pensare a un gioco
Colpire il nemico, ad esempio, conferisce migliore su WonderSwan, ma anche su
una forza tangibile. Il feedback altri sistemi.
immediato è evidente. I livelli sono Riscopritelo!
bilanciati. Le stanze non sono mai più
grandi di un singolo schermo (ricorda di Roberto Del Mar Pirazzini
la semplicità del Zelda per NES) e i
nemici di solito muoiono con pochi
colpi ben assestati. Ognuna di queste
scelte progettuali crea un gioco costruito
attorno a porzioni di tempo in game
molto piccole, lasciando poco tra te e
il tuo divertimento.
Il gioco fa questo. Utilizza il tempo per
strutturare l’esperienza; dare ad un
giocatore qualcosa su cui lavorare in
modo che sia divertente. Intento
encomiabile, che sembra ovvio ma
spesso non lo è.
Giocare a questo titolo è divertente.
Dannatamente divertente.
C’è un’estetica d’azione perfetta che
si bilancia con un livello di difficoltà
graduale e che appaga.
È un titolo che dona gioia a chi cerca
qualcosa di semplice ed intelligente da
scoprire in mezzo a cervellotici roguelike
moderni o mostruose avventure tutte
RETROMAGAZINE WORLD ANNO 8 - NUMERO 48 Pagina 53 di 78
GAME TESTING

Anno: 2010/2024
Editore/Sviluppatore:

GENESIS Retroworks
Genere: Shoot em up
Piattaforma: ZX Spectrum
DAWN OF A NEW DAY Sito web: https://
[Link]/genesis-
dawn-of-a-new-day

Nessuno sulla terra aveva mai preso


sul serio la minaccia dei terribili alieni
Dork (beh, con quel nome… ndNith).
Nessuna pensava potessero
attaccare… ma l’umanità non impara
mai.

La terra è invasa da queste bislacche


creature e un solo pilota potrà liberarla
e salvare tutti.

È scontato che questo pilota lo


guideremo noi come è scontato che
per liberarci dai Dork non sarà affatto
facile: prima dovremo recuperare tutti
i pezzi dell’astronave Genesis e poi
affrontarli.

Non è scontato invece recuperare i di fronte o di approntare alcuni percorsi


pezzi, dislocati in cinque pianeti diversi. alternativi.
Una volta assemblati ci si recherà
belli e combattivi verso la terra, pronti Insistere, perseverare e combattere…
a liberarla dai Dork. fare un game over e ricominciare…
questo è l’imperativo di Genesis.
Uno shoot em up a scorrimento
orizzontale con tutti gli elementi dei
classici del passato.

Power up, doppio tiro, smart bomb e


tanti, tantissimi avversari a riempirci
la giornata di sano blastaggio spaziale.

È possibile giocarlo con joystick


Kempston o Sinclair oppure coi
comandi della tastiera.

Non è un gioco facile, tutt’altro!


Possiede un alto tasso di mortalità e
spesso il modo migliore per affrontare
il livello è quello di eliminare solo i
nemici che ci troveremo direttamente

Pagina 54 di 78 RETROMAGAZINE WORLD ANNO 8 ­ NUMERO 48


GAME TESTING

GIUDIZIO FINALE

» Giocabilità 85%
Power up, doppio tipo di sparo,
smart bomb… ricche wave di
nemici e un bel level design.

» Longevità 70%
Avrei reso il gioco più
“umano”. Sembra partorito
dalla mente del Marchese De
Sade.

Il gioco scorre fluido e graficamente è


piuttosto vario e divertente.

Ha subito una lunghissima gestazione


ma è finalmente disponibile sia in
formato TAP che in edizione fisica.

Un buon prodotto per gli amanti del


genere e per i masochisti spaziali che
cercano un titolo dal forte impatto sui
propri nervi.

di Giampaolo Moraschi

RETROMAGAZINE WORLD ANNO 8 - NUMERO 48 Pagina 55 di 78


GAME TESTING

Anno: 2024
Genere: Shoot em up
Piattaforma: Amstrad GX4000/

GOLDORAK
Plus
Sito web: https://
[Link]-
[Link]/Fichiers/Projets/
Goldorak_CPC/
Goldorak_CPC.html

“Va, distruggi il male, va! (Goldrake)!


Mille armi tu hai non arrenderti mai,
perché il bene tu sei, sei con noi.”

Dite la verità, la stavate cantando vero?


La sigla scritta da Luigi Albertelli,
Vince Tempera e Massimo Luca Bandini
e cantata da Actarus al secolo Michael
Tadini.
Pezzo quasi mitico del 1978 e sigla
finale del cartone Atlas Ufo Robot.
Quanti ricordi suscita Goldrake. Primo
cartone “mainstream” lanciato nel
78 e capolavoro ideato da quel genio
di Go Nagai.
Terzo nella saga di Mazinga (Z, Grande
Mazinga e Goldrake) e figlio di una
vedere giochi o nuove produzioni sul
serie di errori atomici e tipicamente
robottone guidato da Duke Fleed.
italiani dell’adattamento.
In attesa della nuova serie Nippo-
Nato in Giappone con il nome di Ufo
araba e dopo aver visto il terrificante
Robot Grendizer, arrivò in Europa
“Goldrake il banchetto dei lupi” per
attraverso la Pictural Film di Jacques
le nuove console, eccomi su Amstrad
Canestrier, che ne aveva acquisto i
per parlare di questa versione nuova
diritti e cambiato il nome in Goldorak
di zecca.
(edizione francese).
Si tratta di uno shoot em up a
Il titolo Atlas Ufo Robot deriva dalla
scorrimento verticale che ci ricorda
brochure che la signora Nicoletta
alla lontana il classico arcade
Artom, manager della rai per i prodotti
per l’infanzia, aveva visionato.
Atlas non era un nome altisonante ed
esotico ma solo la guida/brochure, e
UFO ROBOT il titolo di presentazione
e venne frainteso come titolo per la
serie.
Col tempo si è cercato di affermare
che “Atlas” nel titolo non fu un errore,
ma una scelta deliberata dovuta al
gradevole (ma casuale) riferimento
ad Atlante.
Misteri italici, miti, forse ignoranza
del tempo… fatto sta che tutto questo
divenne mito.
Chi legge fa parte di quella generazione
“Goldrake” ed è sempre contento di

Pagina 56 di 78 RETROMAGAZINE WORLD ANNO 8 ­ NUMERO 48


GAME TESTING

GIUDIZIO FINALE

» Giocabilità 80%
Semplice da giocare e con un
buon design dei livelli. Non
troppo varie le wave e il tipo di
avversari ma interessante.
Curato ogni aspetto (grafica,
sonoro e presentazione).

» Longevità 70%
Non è difficile e purtroppo non
molto vario.

“Mazinger Z Arcade” di Banpresto. I nemici sono ben distinguibili e con


Scopo semplicissimo. Ci si getta con boss discretamente vari.
il Goldrake al recupero dei pezzi del Bella la intro realizzata da Eric Cubizolle
disco di Alcor (Koji Kabuto) distrutti e (TITAN) che si è occupato di tutto
nascosti dalla flotta di Vega (troppo l’aspetto grafico e della sceneggiatura.
stressati sti vegani… mancanza di B12). Non male l’accompagnamento musicale
Ovviamente recuperare i pezzi del disco di Pulsophonic. Riprodotte le sigle
volante non è impresa facile visto che originali e interessanti gli effetti sonori.
gli abitanti di Vega sono piuttosto Il gioco gira sulla sfortunata GX4000
aggressivi e pronti a far la pelle al Robot oppure su qualsiasi CPC Plus ed in
cornuto. emulazione.
Per difenderci avremo a disposizione Per gli appassionati del mega robottone
l’armamento basico chiamato Missile di Nagai è un bel prodotto, ma forse
Gamma, ma possiamo potenziare il un po’ noioso. Personalmente mi sarei
nostro robot upgradando il comparto spinto un po’ di più nel numero di nemici
difensivo ogni volta che rientreremo e nella loro varietà sullo schermo.
alla base. Il gioco è sicuramente molto
Le armi disponibili sono tutte ben interessante e da provare.
caratterizzate e con funzioni più o meno Da quello che abbiamo potuto vedere
decisive in alcuni scontri. in futuro arriveranno anche versione
Il nostro robot parte con tre vite ed un per Atari8bit e altre piattaforme.
livello d’energia che viene consumato È un prodotto curato con tanto di
ad ogni collisione o colpo ricevuto. manuale e sito web con tutta la
Arrivato a zero vite e zero energia si documentazione su sviluppo, musica,
arriva al game over. grafica e tanto altro.
Che dire, un classicone del genere con Se amate questo genere, i robottoni,
le classiche wave di nemici in caduta Go Nagai e siete della generazione
dal basso verso l’alto. Goldrake non fatevelo scappare.
La grafica è stata realizzata
completamente in Multipaint, un di Giampaolo Moraschi
programma davvero ben fatto che
consigliamo di andare a visionare a
questo indirizzo: http://
[Link]/.
Il gioco è molto colorato e ben
caratterizzato e, anche se non presenta
chissà che quantità di roba sullo
schermo, piuttosto veloce.
RETROMAGAZINE WORLD ANNO 8 - NUMERO 48 Pagina 57 di 78
GAME TESTING

Anno: 2024
Editore/Sviluppatore:
Thalamus/Triple Eh?

CECCONOID Genere: Shoot em up


Piattaforma: Amiga
Sito web: https://
[Link]/
cecconoid-amiga

Cecconoid è un tipico arcade game.


Competitivo, rigoroso, difficile… Un
moderno titolo che potrebbe benissimo
provenire da una dimensiona parallela
dove siamo in piena Golden Age dei
videogiochi.
Ricorda Cybernoid, ma con un appeal
da moderno roguelike e un pizzico di
Metroid.
La storia affascina quanto la sua
grafica in bianco, nero e rosso. Trasuda
di vibrazioni anni 80.
La navicella spaziale Equinox e sotto
attacco. Stormlord e i suoi scagnozzi
stanno distruggendo tutto quello che
è contenuto al suo interno e l’unica
menù iniziale è configurabile come
speranza per l’umanità è la capsula
meglio vogliamo e in base alle nostre
d’attacco Samurai-1 ovvero noi.
esigenze.
La missione prevede il recupero della
Le meccaniche di gioco sono
chiave del Capitano Solomon e
decisamente particolari e fanno fronte
l’apertura del nucleo di Stormlord
anche ad una difficoltà davvero elevata,
ovvero il suo annientamento.
adatta al giocatore esperto e non al
Sembra divertente vero? Si, forse la
casual gamers.
storia è banalotta, ma il risultato è
Esteticamente è un grandissimo
sicuramente divertente.
prodotto. La grafica in bianco e nero
Il gioco è uno sparatutto con
scorrimento laterale multidirezionale
che non ha un ritmo frenetico. Richiede
attenzione nei combattimenti e nei
posizionamenti. Ci si concentrerà su
tattiche precise per affrontare i nemici
con la nostra pixelosa astronave.
Nemici decisamente agguerriti e pronti
a farci la pelle. Non solo altre astronavi,
ma anche missili, mine, trappole, raggi
laser… insomma qualsiasi cosa che
si muove sullo schermo vuole farci la
festa.
Il gioco fa uso della doppia levetta: il
primo joystick serve per muoversi, il
secondo per direzionare lo sparo. Nel

Pagina 58 di 78 RETROMAGAZINE WORLD ANNO 8 ­ NUMERO 48


GAME TESTING

GIUDIZIO FINALE

» Giocabilità 90%
La meccanica delle due leve è
interessante e stimolante.
Eugatron è un grande valore
aggiunto.

» Longevità 85%
Non è un titolo semplice e
richiede tanta manualità.

(e rosso) è un gioiello. Un connubio tra Bello, fragoroso, distruttivo!


vecchio e nuovo con notevoli effetti Per gli appassionati di questo tipo di
animati. giochi Cecconoid è un’esperienza
Anche il comparto audio è incredibile. fenomenale. Alta difficoltà, bella grafica,
Colonna sonora azzeccatissima. grandissimo sonoro e un buon level
Il titolo al suo interno presenta anche design. Forse adatto ai giocatori più
il gioco Eugatron. Una versione ancora “esperti”, ma sicuramente un gran bel
più “estrema” del gioco principale. titolo.
Un deathmatch game dove si dovranno
affrontare orde su orde di avversari di Carlo Nithaiah Del Mar Pirazzini
sullo stile dei classici come Robotron
2084 o Smash TV.

RETROMAGAZINE WORLD ANNO 8 - NUMERO 48 Pagina 59 di 78


GAME TESTING

Anno: 2024
Sviluppatore: Krzysztof "Vega"

MIKIE Góra, Michał "Miker" Szpilowski


e Krzysztof "Kaz" Ziembik
Genere: Action game
Piattaforma: Atari 8bit

Mikie era un videogioco arcade del


1984 realizzato da Konami dallo stile
irriverente per l’epoca.
Ci portava nel mondo stereotipato
delle “High School” americane nei
panni di un buffo ragazzetto con
pettinatura pompadour e dai modi
“grezzi” con poca voglia di studiare
e tanta voglia di stare assieme alla
sua ragazza che si trovava all’esterno
della scuola.
Il gioco si sviluppava in cinque scenari:
Il primo durante la lezione dove il
biondo “tamarro” faceva cadere i
compagni e le compagne dalle sedie
e raccoglieva dei cuoricini sotto queste bit dell’epoca…
ultime, mentre il professore cercava Mancava giusto una versione Atari
di fermarlo lanciandogli, qualche 8bit e finalmente è arrivata.
volta, la dentiera. Il titolo è stato realizzato dal gruppo
Il secondo ci vedeva nello spogliatoio formato da Krzysztof "Vega" Góra,
alle prese con il professore, un rozzo Michał "Miker" Szpilowski e Krzysztof
bidello e il cuoco. Anche qui dobbiamo "Kaz" Ziembik, gira su Atari con 128k
scappare. in formato PAL, il che significa
Il terzo era la mensa dove bisognava
evitare i cuochi e il sempre più furente
professore.
Il quarto era la palestra e in fine si
arrivava al cortile dove, evitando
grossi giocatori di football americano,
si poteva raggiungere l’amata.
Solo tre vite e tanta, tantissima
manualità per portare a termine la
storia.
Il gioco fu convertito inizialmente per
Sega SG 1000 e successivamente
per Amstrad CPC, Commodore 64,
ZX Spectrum, Acorn Electron e BBC
Micro… quindi su tutti i sistemi ad 8

Pagina 60 di 78 RETROMAGAZINE WORLD ANNO 8 ­ NUMERO 48


GAME TESTING

GIUDIZIO FINALE

» Giocabilità 90%
Mantiene le caratteristiche del
coin op ed è realizzato in modo
impeccabile.
Comandi perfetti.

» Longevità 80%
Una partita tira l’altra anche se
vi farà “uscire dai gangheri”
molte volte.

macchine come il 130XE e macchine


dotate di espansione di memoria oppure
su Altirra in emulazione (configurato
a dovere).
E dobbiamo dira che gira molto bene
e risulta divertente come un tempo.
Utilizza la modalità grafica Antic 4,
ovvero caratteri 40x24 in cinque colori.
Si muove veloce ed è bello da vedere.
Il comparto sonoro è bello. Sono presenti
i celebri brani che caratterizzavano il
coin op ovvero A Hard Day’s Night e
Twist and Shout dei Beatles.
La giocabilità è figlia dei suoi tempi. È
un gioco del 1984, un mangia gettoni
e non poche volte vi fara “impazzire”.
Non sarà impresa facile superare
professori, bidelli, ballerine, insegnati
di educazioni e vari energumeni presenti;
ma come per il coin op la voglia di
ricominciare anche dopo “morti” è
devastante. Una partita tira l’altra.
Un altro bel titolo per questa nuova era
dei nostri amati retro sistemi.

di Carlo Nithaiah Del Mar Pirazzini

Sito web: [Link]


[Link]?
ct=kazip&sub=M&title=+Mikie#kaz_c55
9e7d8dc286f05c79af72fa972060f

RETROMAGAZINE WORLD ANNO 8 - NUMERO 48 Pagina 61 di 78


GAME TESTING

Anno: 2024
Editore/Sviluppatore:
Thalamus, BadgerPunch Games

ROGUECRAFT
Genere: Dungeon Crawler/
Roguelike
Piattaforma: Amiga
Sito web: https://
[Link]/
roguecraft

Ho sempre apprezzato i Dungeon


Crawler. Un genere che presenta
alcune caratteristiche derivate
direttamente dai giochi di ruolo ma
che li semplifica portandoli all’interno
di labirinti dove conta poco il dialogo
parlato ma è più necessaria l’azione.
Uno dei primi videogiochi del genere
fu Pedit5, realizzato nel 75 da Rusty
Rutheford. Un titolo basico che
includeva diverse caratteristiche di
D&D e la presenza di tanti tesori
all’interno dell’avventura.
Tra i più famosi e amati (soprattutto
su Amiga) troviamo il mai troppo
lodato Dungeon Master, la serie Eye
of the Beholder oppure i vari Ultima,
Diablo e compagnia bella.
E proprio su Amiga ritroviamo questo
genere con Roguecraft, titolo
sviluppato dai BadgerPunch Games
l’uccisione di un certo numero di
e distribuito da Thallion, che ci porta
all’interno del pericoloso mondo di nemici oppure recuperando alcuni
Mordecom. oggetti o pozioni. L’uccisione di un
Saremo alla guida di Zendar. Uno degli numero cospicuo di avversari rilascerà
ultimi veri eroi della sua epoca. Si nella stanza una gemma rossa
getterà alla ricerca di un potente (aumenterà i cuori) oppure una gemma
amuleto nascosto nei sotterranei blu (accrescerà la forza).
maledetti.
Prima di farlo è però necessario
scegliere la classe di appartenenza
del nostro Zendar.
Possiamo decidere tra Guerriero
(modalità facile) resistente e fornito
di spada, il Ladro (difficoltà media)
più leggero, armato di doppio coltello
e di una capacità di teletrasporto
rapido, ed infine il Mago (difficoltà
massima), debole fisicamente ma con
la capacità di lanciare potenti proiettili
magici.
Ogni classe di gioco ha un proprio
indicatore di saluta massimo mostrato
in alto con dei piccoli cuori rossi e un
indicatore di forza che si trova appena
sotto con una barra blu.
È possibile aumentare sia la salute
che il livello di forza attraverso
Pagina 62 di 78 RETROMAGAZINE WORLD ANNO 8 ­ NUMERO 48
GAME TESTING

Zendar si muove attraverso stanze che


verranno rivelate su una mappa laterale
ma mano che verranno esplorate.
Lo scopo è trovare la scala che porta al
livello successivo. Compito non semplice
visto che la chiave è solitamente nascosta
da qualche parte nello stesso dungeon
e ben protetta.
Una volta recuperata, la porta del nuovo
livello si apre e viene contrassegnata
sulla mappa da un pallino blu.
I dungeon di Roguecraft vengono generati
in modo procedurale e presentano il
classico menù di questo genere di giochi:
tesori, segreti, trappole e una vagonata
di nemici (FATE ATTENZIONE AI MIMIC
TRAVESTITI DA FORZIERI!).
Il proseguire dell’avventura non solo ci
permetterà di potenziarci ma presenterà
anche nemici via via più coriacei,
consigliamo quindi di bilanciare
saggiamente la forza prima di affrontare
i livelli più in basso.
Il movimento di gioco è a turni, con
Zendar che si muove facendo il suo turno
e i mostri nella stanza che si muovono
in risposta alla sua azione.
Si ingaggia il combattimento spostandosi
in direzione del mostro di turno e
affrontandolo nel quadrato accanto (o
lanciando da lontano un proiettile magico
nel caso della scelta del Mago).
In automatico avverrà lo scontro.
L’uso del pulsante di fuoco è per
l’inventario. Premendolo si passa ad un
pannello situato in basso dove si potrà
selezionare e leggere quello che abbiamo
raccolto nel nostro girovagare.
Solitamente si tratta di pozioni e ce ne

RETROMAGAZINE WORLD ANNO 8 - NUMERO 48 Pagina 63 di 78


GAME TESTING

GIUDIZIO FINALE

» Giocabilità 95%
Bellissimi livelli generati
proceduralmente e un ottimo
sistema di gioco. I Dungeon
sono sempre vari e ben fatti.

» Longevità 91%
Le tre classi di gioco offrono
esperienze diverse d’approccio
ai dungeon. Giocare con il
mago è un vero inferno ma il
titolo non stanca mai.

sono diverse: la pozione verde è un una dipendenza. Unico piccolissimo


classico cura ferite, la pozione blu e appunto è per quanto riguarda la
quella rossa invece cambiano effetto difficoltà nella modalità “Mago”.
in ogni partita. Effettivamente il livello di sfida con
Tra i possibili effetti possiamo citare il questa classe è quasi impossibile. Da
Congelamento, l’Esplosione, Rivelazione veri eroi. Un’inezia, ma è consigliato
e il Teletrasporto. È presente anche fare tantissima pratica con le altre
una folle bottiglia contenente Alcol che classi prima di imbarcarsi nell’avventura
metterà a dura prova i nervi dei giocatori con il maghetto. Roguecraft può essere
più esperti con effetti curiosi. giocato su Amiga con chipset ECS/AGA,
Se si dovesse morire prima di arrivare 1 Mb di Chip ram e 1 Mb di altra ram e
al mega boss finale, apparirà una processore 68000. I ragazzi di
schermata di Game Over che riassume BadgerPunch consigliano una
tutto il punteggio, il livello raggiunto, configurazione A1200 per aver miglior
quanti forzieri recuperati, quanti segreti esperienza di gioco e meno
rivelati e… quale mostro ci ha ucciso! problematiche di rallentamento.
Lo sviluppo di Roguecraft è stato Ovviamente funziona senza problemi
piuttosto lungo e molto atteso. Mettendo su qualsiasi emulatore e su A500 mini.
le mani su questa versione per la stampa
possiamo dire con certezza che ne è di Carlo Nithaiah Del Mar Pirazzini
valsa la pena perché Roguecraft è un
vero gioiellino. È bello da vedere e
sentire. Una piccola opera d’arte in
pixel che stupisce per i dettagli e per
la meravigliosa scelta cromatica.
Il dettaglio per ogni singola cosa è
maniacale. Un esempio? Le animazioni
dei mostri. Meravigliose.
C’è tantissima varietà nell’affrontare i
livelli con le tre classi di gioco, c’è
varietà nei dungeon e nei mostri.
E che dire della colonna sonora… un
bomba che coinvolge e crea
un’atmosfera unica e seducente.
Il punto di forza è però nel design dei
livelli e nel modo in cui si viene coinvolti
nell’esplorazione. Se all’inizio appare
come un semplice gioco d’esplorazione
col susseguirsi delle partite diventa
Pagina 64 di 78 RETROMAGAZINE WORLD ANNO 8 ­ NUMERO 48
GAME TESTING

Anno: 2024
Editore/Sviluppatore: VHZC

ROBO TITO
Games
Genere: Platform/Action
Piattaforma: Atari 2600
Sito web: [Link]
robotito

Il piccolo robot Tito ha un solo difetto. ammettere di essermi divertita a


La sua programmazione non è andata giocarci sul VCS che mi hanno prestato.
a buon fine e soffre di una terribile È una bella sfida quella di portare Tito
“allergia” alle cose mostruose, ai in salvo e non richiede chissà che tipo
fantasmi e ai mostri. di “cervellotico” sistema. Basta
scappare e comprendere al meglio i
Per sua sfortuna si trova intrappolato movimenti dei nemici.
in un posto terrificante infestato da
tutte le creature più orribili del creato. Un gioco semplice, programmato con
Però il posto è sui nostri Atari VCS ed cura e molto divertente.
il gioco è davvero divertente nella sua Mi sono piaciuti tantissimo gli sprite
semplicità. di Tito e di alcuni mostri (adoro il
fantasma).
Tito non è armato di nessun raggio
laser o super forza, ma si può allungare Il gioco è veloce e si lascia amare.
e aggrappare alle pareti in alto per Posso aggiungere altro? Direi di no
sfuggire a trappole e mostri. se non quello di supportare lo
Per noi è semplice! Dobbiamo aiutarlo sviluppatore e di caricare il gioco su
ad uscire da lì. VCS o in emulazione. GIUDIZIO FINALE
Il gioco è semplice e simpatico e devo di Marta Rossmann
» Giocabilità 90%
Mi sono piaciute molto le
meccaniche e il design dei livelli
di gioco. Adoro lo sprite.

» Longevità 80%
Una sfida bilanciata. Non troppo
difficile né troppo semplice. Molto
godibile.

RETROMAGAZINE WORLD ANNO 8 - NUMERO 48 Pagina 65 di 78


GAME TESTING

Anno: 2024
Editore/Sviluppatore: Juan J.

THE HEART OF Martinez


Genere: Platform

SALAMANDERLAND
Piattaforma: Amstrad CPC/
GX4000
Sito web: https://
[Link]/jjm/heart-of-
salamanderland/

Patton è il più grande avventuriero


del suo tempo. Sempre pronto ad
imbarcarsi in avventure spericolate;
tra Templi Maledetti, Arche perdute
o misteriosi cimeli templari. Sempre
pronto a srotolare la sua frusta… Ehi!
Ma sbaglio o ci ricorda Indiana Jones?
The Heart of Salamanderland è un
platform game per Amstrad CPC (dai
64k di Ram in su) ed il protagonista
è chiaramente ispirato al celebre eroe
di Lucas.
Lo scopo è recuperare una reliquia
nascosta lungo 55 stanze belle ricche
di mostri e trappole. La frusta del
nostro Patton sarà la nostra unica Il titolo supporta i due pulsanti: uno
arma di difesa/offesa e, per arrivare per la frusta ed uno per il salto.
alla reliquia sacra, dovremo esplorare Ed è proprio saltare la chiave di volta.
i sotterranei e recuperare le 9 lacrime The Heart of Salamanderland
del guardiano. A quel punto uccidere appartiene a quel genere di giochi
il mega boss finale e reclamare il dove la precisione da piattaforma a
meritato premio. piattaform è la chiave di volta per
vedere i titoli di coda.
La struttura ricorda quella dei più I salti devono essere “perfetti”.
rodati platform dell’epoca d’oro. I
livelli sono ben congeniati e in generale Il titolo è disponibile per il download
non troppo impegnativi o cervellotici, gratuito su [Link] che vi ho linkato
ma strutturati con una curva di nel box apposito. Gli autori stanno
difficoltà crescente.
Il titolo è stato sviluppato da Juan J.
Martines che si è occupato di grafica,
suono e codice. Un lavoro ben fatto
perché tutto risulta molto colorato,
animato bene e con un buon
accompagnamento musicale.
C’è anche lo zampino di Eric Cubizolle,
in arte TITAN, che ha realizzato la
schermata introduttiva (molto bella)
ispirandosi ai classici come
Castlevania, Rick Dungerous e
Montezuma’s Revenge.

Pagina 66 di 78 RETROMAGAZINE WORLD ANNO 8 ­ NUMERO 48


GAME TESTING

GIUDIZIO FINALE

» Giocabilità 80%
I due pulsanti di gioco sono
essenziali. Saltare con il solo
joystick può portare ad
esaurimento. I livelli di gioco
sono ben strutturati.

» Longevità 75%
55 schermi di gioco possono
sembrare tanti ma in realtà,
con un po’ di pratica il compito
si porta a casa facilmente.

realizzando anche un’edizione fisica


prevista in uscita per fine 2024 sul sito
di Poly Play.

Ma alla fine è un bel gioco? Si, un bel


platform che si giochicchia volentieri
e che si ricarica tutte quelle volte che
vogliamo senza la pretesa di essere un
capolavoro assoluto.

Sufficienza piena.

di Marta Rossmann

RETROMAGAZINE WORLD ANNO 8 - NUMERO 48 Pagina 67 di 78


GAME TESTING

FORMULA V20
Anno: 2024
Editore/Sviluppatore: Huffeduff

1985
Genere: Driving
Piattaforma: VIC 20 (+24kb di
espansione)

Formula V20 1985 è un titolo di corse Siamo di fronte ad un buon prodotto


per VIC 20 che omaggia i grandi per VIC, adatto agli appassionati del
classici come Pit Stop II e Pole Position. genere e agli amanti di Pit Stop 2 e soci.
Nasce per essere giocato su un VIC E' possibile eseguirlo su Vice in
espanso a 24k. emulazione selezionando nelle
Il titolo è realizzato in Kick Assembler, impostazioni le opzioni per
strumento versatile utilizzato anche l'espansione di memoria.
per altri titoli dello sviluppatore.
E' possibile selezionare sette diversi di Giampaolo Moraschi
team e gareggiare su quattro circuiti
diversi. Si può scegliere la modalità
campionato oppure correre in una
singola gara selezionandola così come
è possibile scegliere il livello di
difficoltà. GIUDIZIO FINALE
Il gioco è molto veloce e si muove bene.
Grafica convincente abbastanza
dettagliata e effetti sonori adeguati » Giocabilità 75%
al genere. Un buon gioco di corse per VIC
Si gioca abbastanza bene con l'ausilio espanso sulla falsariga di titoli
storici.
dal pad/stick e il livello di difficoltà è
livellato sulle piste partendo da un » Longevità 70%
livello basso fino al massimo della Avrei voluto più piste di gioco.
sfida possibile.

Pagina 68 di 78 RETROMAGAZINE WORLD ANNO 8 ­ NUMERO 48


GAME TESTING

PRINCESS
Anno: 2024
Editore/Sviluppatore: InfiniteMSX
Genere: Platform/Puzzle

PALOMA’S Piattaforma: MSX2 (64kb/128kbvm,


MSX-Music)

RESCUE
Sito web: [Link]
2024/05/03/msxdev24-01-
princess-palomas-rescue/

Il primo titolo della bellissima funzionalità MSX-Music, standard


competition MSXdev24 è questo audio del 1987.
Princess Paloma’s Rescue, un gioco Esteticamente è gradevole sotto tutti
d’azione per MSX2 che vede un i punti di vista. C’è una grafica
intrepido eroe imbarcarsi nella ricerca “pucciosa” e ben animata e una bella
di una principessa rapita. musica condita di buoni effetti sonori.
Adoro l’MSXdev, credo sia una delle Attenzione! Non è un gioco semplice
migliori competition per nuovi titoli e mette alla prova le capacità di
in assoluto e ogni anno ci sforna e ragionamento in certe situazioni.
mostra piccoli gioielli. Alcuni quadri sono decisamente ostici
Questo solido gioco di InfiniteMSX si da portare a termine.
mette in pole position per attirare Però è un gran bel giochino e non ci
l’attenzione dei giudici e di noi addetti resta che guardare cos’altro ha in
del settore. serbo questa edizione 2024 della
La principessa Paloma è stata rapita MSXDev. GIUDIZIO FINALE
da un perfido mago chiamato Morgath,
il nostro eroe ha il compito di di Giampaolo Moraschi
attraversare cinque regni distinti, » Giocabilità 85%
recuperare delle chiavi e cercare di Meccaniche semplice e bei livelli
arrivare incolume dalla bella Paloma. di gioco.
Impresa come sempre in questo
genere di giochi, non semplice. È un » Longevità 80%
Difficile in alcuni punti e richiede
titolo ricco di trappole e ostacoli e
attenzione.
viene richiesto ingegno e un po’ di
astuzia e materia grigia per superare
i livelli.
Il titolo è nativo MSX2 e richiede

RETROMAGAZINE WORLD ANNO 8 - NUMERO 48 Pagina 69 di 78


GAME TESTING

Anno: 2024

PRINCE OF Editore/Sviluppatore: TCFS


Genere: Platform

PERSIA
Piattaforma: Plus 4
Sito web: https://
[Link]/software/
Prince_of_Persia

W il Plus 4! Coloratissimo e animato con una


Macchina che per il sottoscritto “ha grande cura. Dettagliato, veloce, con
avuto poco tempo”. tutti i colori del TED brillanti e vivaci.
Poco tempo per essere conosciuta Unica pecca, il sonoro che rallenta
dal pubblico, poco tempo per essere un po’.
conosciuta dagli sviluppatori e dai
programmatori e, soprattutto, poco Il Plus 4 è un home computer che
tempo per essere presa sul serio dalla deve essere riscoperto e apprezzato.
stessa Commodore. Il team di TCFS lo sta facendo.
Ha dato una nuova vita ad una
Eppure, nel 2024 mostra i muscoli. macchina che purtroppo ha avuto
Il team composto da TCFS, Unreal e davvero pochissimo tempo per farsi
Csabo ci hanno dimostrato in questi voler bene.
anni come un’ottima conoscenza
porta sempre a risultati impressionanti. di Giampaolo Moraschi
Prince of Persia per PLUS 4 è una
meraviglia!
GIUDIZIO FINALE
» Giocabilità 90%
Una meraviglia per gli occhi con
tutti i livelli e la giocabilità del
titolo originale.

» Longevità 90%
È Prince of Persia… ho detto
tutto.

Pagina 70 di 78 RETROMAGAZINE WORLD ANNO 8 ­ NUMERO 48


GAME TESTING

Anno: 2024

PRINCE OF
Editore/Sviluppatore: LeChuck
Genere: Platform
Piattaforma: VIC 20 (+35kb)

PERSIA
Sito web: https://
[Link]/ipw-web/
bulletin/bb/[Link]?
p=120870#p120870

Sono passati 35 anni dall'arrivo del finale) e diverse mancanze sotto il


Principe sui nostri schermi di gioco. punto di vista delle animazioni ma è...
Una saga iconica con numerosi seguiti bellissima!
e con un folto numero di estimatori. Per essere giocata occorre
Il fascino del primo capitolo però è un'espansione di memoria da 35Kb
innegabile, lo abbiamo visto in tutte e un buon joystick, per il resto la magia
le sue forme ma sembrava impensabile di Prince of Persia c'è tutta.
su un VIC 20. Il gioco utilizza 27 colonne x 29 righe
I limiti di memoria del piccolo computer e quindi gira su formati PAL.
domestico di Commodore sono sempre Il Principe su VIC si muove bene e si
stati un ostacolo per la realizzazione lascia giocare presentando tutte le
di certi titoli... Questo fino ad oggi... peculiarità di questo amatissimo titolo.
Si può fare! E lo ha fatto lo sviluppatore Ora non ci resta che attendere la
LeChuck, ispirato dalla versione versione per Plus 4 in via di sviluppo.
(bellissima) per ZX Spectrum realizzata
da Nicodim. di Giampaolo Moraschi
La versione di Prince of Persia per
VIC 20 presenta solo 9 livelli (più
GIUDIZIO FINALE
» Giocabilità 85%
Limitazioni tecniche e meno livelli
ma è sempre un grande gioco.

» Longevità 90%
E' Prince of Persia, un titolo che
vuole essere giocato fino in
fondo.

RETROMAGAZINE WORLD ANNO 8 - NUMERO 48 Pagina 71 di 78


GAME TESTING

Anno: 1997 versione Game Boy,

POCKET 1998 versione Game Boy Color


Editore/Sviluppatore: Nintendo,

BOMBERMAN
Hudson Soft
Genere: Platform
Piattaforma: Game Boy, Game
Boy Color

Oggi vi parlo di questo piccolo gioiellino più bombe, altre che ci fanno esplodere
che è una vera perla per Game Boy. le bombe a nostro piacimento, e tanti
Una versione completamente diversa altri come quella delle ali che ci fa
del classico gioco di Bomberman saltare in alto, raccogliamo le nostre
perché a differenza della solita pietre per andare avanti con i livelli
schermata labirintica (infatti si colloca e sconfiggere i vari mostriciattoli e
nel genere "Maze" come Pac-Man), nemici che ci si parano davanti in
questa è un platform dove il nostro un'avventura unica per Game Boy!
protagonista deve attraversare cinque In più per chi avesse una repulsione
mondi (Forest, Ocean, Wind, Cloud e per il grigio/verde dello schermo
Evil) e alla fine di ogni livello affrontare esiste la versione Color uscita nel
un Boss, l'ultimo sarà per l'appunto 1998, non contenti però ci sta anche
Evil (che stranamente non hanno un mini-game la modalità "Jump"
censurato) ma in breve la trama: dove Bomberman dovrà essere guidato
"Molto tempo addietro il Sole fu avvolto in un percorso in salita e dovrà far
da una nuvola oscura e sinistra. Una esplodere i vari blocchi che si
vecchia leggenda sostiene che quella presentano davanti per continuare il
nube era il risultato di un potente percorso.
mostro che aveva lanciato una Un platform carino e anomalo che
maledizione sulla "Spada del Sole" mescola gli elementi classici di
sigillando il suo potere. L'unica Bomberman a quelli di Super Mario.
speranza rimasta per far tornare la La grafica è semplice ed essenziale
luce sulla terra è quella di raccogliere così come il reparto sonoro.
le cinque Pietre del Potere, sorvegliate È un titolo da riscoprire, forse non il
dai mostri malvagi di Evil Mountain. capolavoro assoluto ma decisamente
Solo le Pietre del Potere hanno la un bel gioco.
forza necessaria per rompere
definitivamente la maledizione della di Barbara “Morgana” Murgida
spada e far tornare le cose alla
normalità."
Tra power-up che ci fanno piazzare

GIUDIZIO FINALE

» Giocabilità 80%
E’ un platform classico con alcuni
tocchi di genio. Semplice da
giocare e imparare.

» Longevità 60%
Purtroppo finisce troppo presto…
troppi pochi livelli!

Pagina 72 di 78 RETROMAGAZINE WORLD ANNO 8 ­ NUMERO 48


GAME TESTING

Anno: 2024

THE AMIGA ARCADE Editore/Sviluppatore: JOTD666


Genere: Compilation di giochi
arcade

CLASSIC CD32 Piattaforma: Amiga CD32


Sito web: [Link]
arcade-classics-for-cd32

Una bella compilation come nella meritano di essere scoperti e riscoperti.


gloriosa Golden Era! In particolar modo Tetris e Xevious,
Mi emozionavo sempre quando praticamente perfetti.
uscivano questo tipo di compilation Questa compilation è totalmente
o quelle in stile Budget. Era come una gratuita e scaricabile dalla pagina
grande lotteria. [Link] dello sviluppatore.
The Amiga Arcade Classic CD32 è Funziona su macchine reali ed in
una iso (quindi avviabile da CD32) emulazione.
contenente tutti i titoli sviluppati da Personalmente avrei curato con
JOTD per Amiga partendo da alcuni maggior attenzione il menu di selezione
classici da sala giochi. Porting diretti dei titoli, magari realizzando qualcosa
da Z80 a 68000. di “graficamente” gradevole.
Al suo interno troviamo Bagman e
GIUDIZIO FINALE
Ne sentivamo il bisogno? No, ma
Super Bagman, Karate Champ 2 player, rimane un buon pacchetto di giochi
» Giocabilità 75%
Moon Patrol, Ms. Pacman e Pacman, da provare o far conoscere ai nostri Ci sono tanti titoli del passato con le
Amidar, Donkey Kong, Galaxian, figli/nipoti. limitazioni del gameplay del periodo
Scramble, Pengo, Pheonix, Tetris e d’appartenenza. Alcuni titoli sono
Xevious. di Giampaolo Moraschi meravigliosi, altri… meno.
Alcuni titoli li abbiamo recensiti nella
rivista qualche numero fa. Sono tutti
» Longevità 80%
C’è tanta “roba” da giocare e da
ottimamente portati su Amiga e provare.

RETROMAGAZINE WORLD ANNO 8 - NUMERO 48 Pagina 73 di 78


GAME TESTING

Anno: 1994
Genere: Sparatutto in prima
persona

MARATHON
Musiche: Bungie
Editore: Bungie (originale)
Team Aleph One (realizzazione
di porting moderni)
Piattaforma: Windows/Mac/
Linux

Gli anni novanta sono stati l’epoca


d’oro degli sparatutto in prima persona,
hanno visto la nascita di titoli
importanti come Wolfenstein 3D e
Doom, quest’ultimo ha indirettamente
coniato il termine “Doom-like”, una
etichetta che veniva data a qualsiasi
FPS uscito da lì in poi (dovrà passare
qualche anno prima che il termine
First Person Shooter o FPS, divenga
il termine ufficiale di questo genere
di videogiochi).
Tra quei pochi sviluppatori, per l’epoca,
che provarono a cavalcare l’onda del
successo di Doom, troviamo l’ormai
famosa Bungie, che tento di rinnovare
la formula degli sparatutto dell’epoca
discorso vale per i personaggi, sia
prima con Pathway into Darkness e
alleati che nemici, che non saranno
subito l’anno successivo con Marathon.
semplici comparse.
Marathon è ambientato nel lontano
Un’altra particolarità è la possibilità
futuro, interamente all’interno della
di guardare In alto e in basso, all’epoca
nave colonia che porta lo stesso nome,
(parliamo del 94) la visuale negli
abbordata da una fazione composta
sparatutto alla Doom si muoveva
da varie razze aliene. Il giocatore
soltanto verso sinistra o destra. È
impersona un addetto alla sicurezza
che ha lo scopo di salvare la nave.
Attraverso i vari livelli si incontreranno
vari terminali, ognuno di essi ci metterà
in contatto con tre intelligenze artificiali
chiamate Leela, Durandal, and Tycho.
Questi terminali, tramite un testo,
rileveranno dettagli importanti sulla
trama ma anche sugli alieni e le IA
stesse, chi sono e quali sono le loro
intenzioni o compiti.
La prima particolare distinzione da
Doom è proprio il modo in cui viene
presentata la trama, che questa volta
non è solo una semplice scusa per
farsi strada tra i nemici, ma sarà una
cosa attiva e importante, stesso

Pagina 74 di 78 RETROMAGAZINE WORLD ANNO 8 ­ NUMERO 48


GAME TESTING

GIUDIZIO FINALE

» Giocabilità 80%
Marathon presenta dei livelli
forse claustrofobici o a volte
confusionari, ma ci si
accorgerà subito che gli
ambienti di gioco lo rendono
godibile e meno monotono, ci
si troverà dal semplice leggere
terminali e cercare chiavi per
aprire porte, ad aiutare
membri dell’equipaggio in
difficoltà o risolvere puzzle per
proseguire in una determinata
zona.
» Longevità 80%
Il gioco è abbastanza lungo,
con mappe grandi e con livelli
che spesso possono essere
completati in modo non
lineare.
presente anche la possibilità di
ricaricare le armi, una caratteristica
oggi diventata la norma neglj sparatutto,
anche se è possibile farlo in automatico
solo quando finisce il caricatore, le
munizioni infatti non saranno
abbondanti e si dovrà fare attenzione
a non finirle, poiché potranno essere
trovate solo in giro per la mappa e in
relativamente poche quantità. È anche
presente un sensore di movimento,
altra novità rispetto a Doom, che
permetterà di rilevare la posizione dei
nemici.
In classico stile Bungie, la trama gira
intorno a temi filosofici che si
riscontrano nel punto centrale di
quest’ultima, ovvero l’IA che diventa
senziente e inizia a provare vari
sentimenti, un tema classico della
fantascienza, ma questa volta
presentato in modo davvero interessante
e coinvolgente.
poiché Il codice sorgente venne
rilasciato gratuitamente, è possibile
scaricare il gioco e i suoi sequel
gratuitamente da Steam o dal sito del
team che ha lavorato al porting, Aleph
One.

di Maurizio Diamanti

RETROMAGAZINE WORLD ANNO 8 - NUMERO 48 Pagina 75 di 78


GAME TESTING

Anno: 2024
Editore/Sviluppatore: Incube8

KIEN
Genere: Platform/Action
Piattaforma: Game Boy Advance
Sito web: https://
[Link]/en-eu/
products/kien-gba

Il gioco più posticipato di sempre è tanto di scatola, libretto e foglietto


finalmente arrivato sui nostri GBA. pieno di adesivi. Diciamo che il costo
Mi riferisco a Kien, un action game della cartuccia è altino.
che si potrebbe definire un “Pre-souls” Ma dopo tutti questi anni d’attesa
che doveva uscire nei primi anni 2000 possiamo ritenerci soddisfatti? Direi
proprio su Game Boy Advance. non completamente.
Kien è un bel gioco ma presenta alcuni
problemi.
La grafica è sicuramente brillante ma
infantile, con i nostri eroi e mostri che
sembrano presi da una serie di cartoni
animati di Cartoon Network. Le
immagini statiche che raccontano la
storia sono poco dettagliate e
“scollate” dal contesto.
Purtroppo, alcune cause di forza Simpatiche le animazioni ma
maggiore e notevoli ritardi lo hanno decisamente poche e ripetitive.
super-posticipato fino ai giorni nostri. Il sonoro è terribile, al limite
Ma di che si tratta? dell’insopportabile e vi consiglio di
È un platform d’azione con diversi abbassarlo il prima possibile.
elementi presi in prestito dai giochi Lo schema di gioco alla GNG è
di ruolo, che prende il giocatore e lo interessante ma diventa noioso a
porta attraverso 23 livelli fantasy causa della ripetitività di livelli e
piuttosto impegnativi e complicati. nemici.
Il gameplay ricorda Ghouls ‘n Ghost Scomodo anche il sistema di
per ritmo di gioco incessante e per salvataggio a PASSWORD dove sarà
la mole di nemici pronti a far la pelle necessario segnare alla fine di ogni
ai protagonisti (ad inizio avventura livello la parola d’ordine per accedere.
possiamo decidere se giocare con il Ma uno slot per salvare? Nel 2024 si
guerriero o la maga). poteva anche fare.
La caratteristica non lineare consente Insomma, ci aspettavamo qualcosa
al giocatore di esplorare il vasto mondo di più… molto di più.
nel modo preferito e consentendo di
potenziare al meglio il proprio di Marta Rossmann
personaggio.
Disponibile in due edizioni: la prima
in digitale che contiene la rom di gioco
GIUDIZIO FINALE
e il manuale in formato pdf, la seconda
invece è in formato cartuccia con » Giocabilità 40%
Livelli, mostri e schema di gioco
ripetitivo.
Il respawn dei nemici è mal
gestito e sicuramente esagerato.
Pessimo sonoro.

» Longevità 50%
Non impossibile da terminare ma
decisamente noioso.

Pagina 76 di 78 RETROMAGAZINE WORLD ANNO 8 ­ NUMERO 48


GAME TESTING

Anno: 1989

3D POOL
Editore/Sviluppatore: Firebird/

Microprose Software

Genere: Sport

Piattaforma: Commodore 64

L’estate è arrivata e piano piano anche noiosa come in altri. Le opzioni


le vacanze; Per molti di noi che hanno disponibili sono piuttosto studiate
vissuto al massimo gli anni 80 e 90, per dare al gioco una bella longevità,
andare nelle località turistiche dalla partitella singola, la pratica
equivaleva passare intere giornate ( molto utile) un torneo che inizia dai
nelle sale giochi tra decine di cabinati quarti per poi affrontare in finale Joe
arcade giocando a suon di gettoni e Maltese, noto campione di biliardo
ad osservare gli altri che giocavano, dell’epoca.
magari quelli più bravi di noi che I comandi sono semplici, con il solo
terminavano il gioco con un solo tasto fire si deve solo definire la
gettone. potenza di tiro con una barra di potenza
Nelle numerose sale giochi che situata sulla schermata in alto e
abbiamo visitato, oltre ai cabinati l’effetto della pallina calibrando una
arcade, c’erano anche tavoli da ping crocetta posta sulla biglia bianca
pong, calcio balilla e soprattutto per accanto all’indicatore di potenza.
i più adulti, il biliardo. Non il classico Se nel gioco ci fosse stata anche la
che trovavamo nei baretti di paese, stecca, sarebbe stato più realistico
bensì quello all’americana, un po’ ma è comunque un buon gioco del
diverso dal classico a cui eravamo tavolo verde che merita di essere
abituati. vissuto dagli appassionati e non solo.
Sui computer domestici non tardarano Il livello sonoro è invece inesistente
di certo ad arrivare simulazioni di a parte le biglie quando si toccano e
biliardo, così che anche noi più piccoli vanno in buca, dopotutto la
potevamo già giocare e imparare sin concentrazione è essenziale in un
da subito le regole. 3D Pool della gioco come questo e le musiche nei
Firebird è un buon simulatore 3D che giochi sportivi durante le gare non
riproduce fedelmente le regole e lo mi sono mai state particolarmente
stile di gioco del biliardo americano. simpatiche, nemmeno se fossero state
Si comincia la partita con le biglie le mie hit preferite.
poste a triangolo e la palla bianca Spero vi stiate organizzando bene per
pronta ad effettuare il primo tiro, che le vacanze portando sotto l’ombrellone
sarà quella che dovremo utilizzare il nuovo numero di questa rivista,
per mandare tutte le nostre biglie in qualche gioco a tema estate e vacanze
buca. e soprattutto tanti bei ricordi di quegli
La prima biglia ad essere mandata in anni d’oro, dato che ahimè le sale
giochi ormai sono del tutto scomparse,
buca determinerà quale dei due tipi
dovremo giocare se saremo noi i primi salvo quelle due o tre che resistono.
GIUDIZIO FINALE
a fare buca e in gioco ci sono le biglie Auguro a tutti i lettori italiani e stranieri
piene, ossia quelle a tinta unita e le una buona permanenza nei luoghi
» Giocabilità 85%
seconde cerchiate, tutte quante scelti per trascorrere il dovuto relax Non difficile prendere la mano.
numerate più una nera (la numero8) e divertimento... E al prossimo numero Un po’ più difficile vincere.
che dovà essere mandata per ultima; con un’altra ricca stagione di retro!
Se per errore la manderemo prima,
subiremo la sconfitta diretta. di Daniele Brahimi » Longevità 70%
Come tutti i giochi 3D sui computer Diverse opzioni renderanno il
8 bit, potremo notare una lentezza gioco a prova di polvere, poi il
che a mio avviso non ho trovato così biliardo é il biliardo...

RETROMAGAZINE WORLD ANNO 8 - NUMERO 48 Pagina 77 di 78


Scusate per il ritardo
Disclaimer
Cari lettori, vogliamo innanzitutto ringraziarvi per la vostra pazienza e fedeltà
nei confronti della nostra rivista. RetroMagazine World (fanzine aperiodica)
è un progetto interamente no profit e fuori
da qualsiasi circuito commerciale. Tutto il
Come molti di voi sanno, la creazione di contenuti di alta qualità richiede un materiale contenuto è prodotto dai rispettivi
autori e pubblicato grazie alla loro
impegno considerevole, e in questo periodo gli impegni della vita quotidiana autorizzazione.
hanno avuto un impatto significativo sulla nostra capacità di produrre dei
contenuti. La gestione di impegni personali e professionali, insieme alle RetroMagazine World viene concessa al
pubblico con licenza: Attribuzione - Non
inaspettate sfide che si presentano ogni giorno, ha richiesto più tempo ed commerciale - Condividi allo stesso modo
energia del previsto, portando inevitabilmente a un ritardo nella pubblicazione 4.0 Internazionale (CC BY-NC-SA 4.0 INT)
[Link]
di questo nuovo numero di RetroMagazine World. nc-sa/4.0/[Link]

Nonostante le difficoltà, il nostro impegno per offrirvi articoli approfonditi e In pratica sei libero di: condividere, riprodurre,
distribuire, comunicare o esporre in pubblico,
contenuti avvincenti rimane immutato. Abbiamo lavorato duramente per rappresentare, eseguire e recitare questo
assicurarci che ogni pagina della rivista continui a riflettere la passione e la materiale con qualsiasi mezzo e formato,
modificare, rielaborare, trasformare il
dedizione che ci contraddistinguono, e ci siamo presi questo tempo aggiuntivo contenuto e basarti su di esso per altre
per assicurarci che la qualità non ne risenta. opere, alle seguenti condizioni:

Attribuzione
Allo stesso tempo voglio rassicurare tutti quelli che cominciavano a preoccuparsi Devi riconoscere una menzione di paternità
del futuro di RetroMagazine World che la rivista e tutto quello che le ruota adeguata, fornire un link alla licenza e
indicare se sono state effettuate delle
attorno sono vivi e vegeti. Vi assicuro che stiamo facendo tutto il possibile per modifiche. Puoi farlo in qualsiasi maniera
mantenere fede al nostro impegno di continuare a offrirvi i contenuti che amate ragionevole possibile, ma non con modalità
e che aspettate con entusiasmo. tali da suggerire che il licenziante avalli te
o l'utilizzo del materiale da parte tua.

Come di consueto, l'invito a partecipare alla vita della rivista con contenuti, NonCommerciale
Non puoi utilizzare il materiale per scopi
domande, curiositá e quant'altro, é aperto a tutti. Vi aspettiamo! commerciali.

Ancora una volta, vi ringraziamo per la vostra comprensione e supporto. Senza StessaLicenza
Se rielabori, trasformi il materiale o ti basi
di voi, nulla di tutto ciò sarebbe possibile. su di esso, devi distribuire i tuoi contributi
Siamo fiduciosi che troverete questo numero della rivista tanto interessante e con la stessa licenza del materiale originario.
stimolante quanto i precedenti, forse di piú, grazie al grande numero di recensioni Il licenziante non può revocare questi diritti
di giochi. fintanto che tu rispetti i termini della licenza.
Grazie per la vostra pazienza e il vostro continuo sostegno.
Divieto di restrizioni aggiuntive
Non puoi applicare termini legali o misure
Francesco Fiorentini tecnologiche che impongano ad altri soggetti
dei vincoli giuridici su quanto la licenza
consente loro di fare.

RetroMagazine World
Anno 8 - Numero 48 - LUGLIO 2024

Direttore Responsabile
Francesco Fiorentini
Vice Direttore
Marco Pistorio
Coordinatore Redazione/Editing
David La Monaca
Responsabili Area Web
Giorgio Balestrieri

Potrebbero piacerti anche