RetroMagazine 47
RetroMagazine 47
SOMMARIO
◊ Commodore 64 Pag. 3
Come sapete non ci piace troppo sbandierare i traguardi
◊ Casi di identità... - parte seconda Pag. 13
raggiunti da RetroMagazine World, ma per questa volta
◊ Il gioco del "Mini-Lotto" Pag. 18
vogliamo fare un'eccezione.
Era da un po' di tempo che facevamo la posta al numero di ◊ Guida al SGDK - parte seconda Pag. 24
download e, finalmente, il momento è giunto. ◊ PunyInform: installazione degli strumenti Pag. 28
e compilazione di un gioco
I numeri di RetroMagazine World in italiano ed in inglese sono
stati scaricati in totale più di 300.000 volte. ◊ Il Fortran sul Commodore 64 - il comando Pag. 32
MEM
◊ Invito a … “Personaggio” per C64 Pag. 35
Certo, se guardiamo al numero di visualizzazioni dei video su
YouTube, dove alcuni di essi hanno ampiamente passato il ◊ ROTOR RAMPAGE Pag. 36
miliardo, questo numero fa sorridere, ma per noi di ◊ Intervista a Richard/TND, un maniaco del Pag. 40
codice
RetroMagazine World e per me personalmente, si tratta di un
traguardo notevole che meritava di essere celebrato. Quando ◊ Giappone 24^ puntata: Gacha...pon! Pag. 50
nel 2017 abbiamo cominciato questa avventura in pochi ◊ Pang+ (Amstrad GX4000) Pag. 52
credevano che avremmo avuto la costanza di portare avanti un ◊ Shadow Gangs (Dreamcast) Pag. 54
progetto di questa portata. E invece, questi numeri stanno a ◊ Great Giana Sisters (Plus4) Pag. 56
confermare quanto di buono fatto sinora e quanto ancora ci sia ◊ King of Demons (SNes) Pag. 58
da lavorare. Eh sì, perché anche se 300.000 download possono
◊ Go For It! Goemon (PS1) Pag. 60
sembrare tanti, sono soltanto una pietra miliare nel nostro
◊ Alice Sisters (Atari Falcon) Pag. 62
percorso a cui auguriamo ben altri traguardi.
◊ Tetris (Atari 8bit) Pag. 64
Ah, poi c'è da aggiungere un'altra considerazione... ◊ Xiaomei and the Flame Dragon's Fist (MD) Pag. 66
Questi sono soltanto i download che possiamo contare dal ◊ Harhargon (C64) Pag. 68
nostro sito web, ma dato che alcuni siti fanno il mirroring dei ◊ Trucho (MSX) Pag. 56
nostri numeri, la somma dei download reali è decisamente piú ◊ Good Knight (C64) Pag. 72
alta. Quanto più alta non ci è dato saperlo, quindi, per
◊ Savage Princess 2 (ZX) Pag. 74
correttezza, noi facciamo sempre e solo riferimento a questo
◊ Godzilla Balls (MSX) Pag. 76
dato.
◊ Mai Nurse (GB/PC Engine) Pag. 78
Ovviamente il nostro intento non è quello di fare numeri, ◊ Bomb Jack the Remake (SMS) Pag. 79
altrimenti dovremmo e potremmo adottare delle strategie ◊ Arkon Blazet (C64) Pag. 80
diverse, ma quello di proporre ad ogni uscita un numero ricco ◊ Beach Head (C64) Pag. 82
di contenuti di qualità e della passione che ormai credo tutti i
nostri affezionati lettori hanno imparato a conoscere. Però il
conforto che questa nostra passione non sia fine a se stessa, ci
dà la forza per continuare a lavorare alacremente e per
continuare questa magnifica avventura.
Appuntamento allora al traguardo dei 500.000 download, che
Hanno collaborato alla stesura di questo numero
speriamo di doppiare presto. di RetroMagazine World (in ordine sparso):
Ah, quasi dimenticavo, un immenso GRAZIE a tutti voi Lettori, • David La Monaca • Fredrik Ramsberg
senza i quali RetroMagazine World sarebbe soltanto un • Carlo N. Del Mar Pirazzini • Marta Rossmann
bellissimo esercizio di stile. • Daniele Brahimi • Gianluca Girelli
• Francesco Fiorentini • Marco Pistorio
Francesco Fiorentini • Francesco Donatini • Michele Ugolini
• Roberto Del Mar Pirazzini
• Giampaolo Moraschi • Immagine di copertina:
• Leonardo Miliani Giuseppe Mangini
Commodore 64
di Leonardo Miliani
Nel 1981 inizia lo sviluppo di un nuovo sistema pensato
esclusivamente per il gioco che, dopo alterne vicende,
viene riconvertito in un computer vero e proprio. Questo
computer viene messo in commercio per sostituire il suo
affermato predecessore: non solo fa meglio, diviene esso
stesso un best-seller registrando numeri sensazionali e
divenendo il computer che ha venduto come nessun altro.
Stiamo parlando del Commodore 64, confidenzialmente
noto come C64 (fig. 1).
Fig. 2 - Il Commodore VIC-20
(autore: Evan Amos - fonte: Wikimedia Commons)
Un nuovo chipset
Come ogni azienda che si rispetti, messo in commercio
un prodotto si pensa subito al successivo, e così fa la
Commodore. Bisogna però fare i conti con una situazione
non certo tranquilla all’interno dell’azienda: nonostante
il successo del VIC-20, il PET segna ancora ottimi incassi
e Tramiel non sembra deciso a toglierlo dal mercato.
Questo crea dello scontento: c’è, infatti, una corrente
dissidente di diversi ingegneri e dirigenti che non vede
di buon occhio il fatto che l’azienda sia orientata Fig. 4 - Il MOS VIC-II, chip grafico del C64 (foto:
Christian Taube - fonte: Wikimedia Commons)
prevalentemente verso le macchine da ufficio come il PET
e preme per perseguire la strada aperta con il VIC-20, video: il VIC-20 possiede un chip che genera sì un’immagine
ossia quella di produrre soprattutto macchine destinate a colori ma con sole 22 colonne di testo. C’è però nel
ad un’utenza più domestica. Oltretutto, il creatore del cassetto un nuovo chip video denominato VIC1.5, che
PET, Chuck Peddle, se n’è andato di recente, dopo essersi altro non è se non il VIC portato a 40 colonne. Questo
scontrato direttamente con Jack Tramiel proprio per via chip era stato pensato per una versione a colori del PET
del VIC-20: Tramiel, infatti, ha bocciato il progetto TOI nonché come aggiornamento del VIC-20 stesso, pensato
(The Other Intellect) che Peddle aveva presentato per per essere sostituito al VIC grazie al fatto che mantiene
farlo diventare il futuro VIC-20, privilegiandone un altro. la piedinatura del chip originale: nessuno dei due progetti
Andandosene il suo creatore, in molti pensano che al PET ha, però, mai visto la luce, ed il VIC1.5 è rimasto nel
sia venuta meno la persona di riferimento nonché quella cassetto. Winterble chiede un incontro con Tramiel e gli
che poteva portarne avanti lo sviluppo. prospetta la volontà di usare questo chip grafico come
Invece il settore commerciale spinge per continuare sulla base per realizzare un nuovo progetto orientato
strada del VIC-20 che sta registrando vendite da record, principalmente ai giochi ma trasformabile anche in un
per cui non ha al momento voglia di scendere da questo computer. A Tramiel piace l’idea e dà l’OK a Winterble,
carro vincente. Tuttavia, gli ingegneri di MOS Technology che incarica perciò Charpentier e Bob Russel, un altro
sanno bene che questo successo non potrà durare: il VIC- ingegnere che ha lavorato sul VIC-20, di studiare i sistemi
20 è obiettivamente inferiore ad altre proposte in da gioco in circolazione per prendere degli spunti: questi
circolazione, come i computer ad 8 bit di Atari, il 400 e ultimi, in dieci giorni, esaminano le console ed i computer
l’800. D’accordo con Charles Winterble, capo della MOS presenti sul mercato, come l’Intellivision, i computer Atari
Technology, essi decidono di iniziare a sviluppare il suo ed il TI99/4A, e stilano l’elenco delle caratteristiche che
successore. Winterble ne inizia a parlare ad Al Charpentier, il chip deve avere. Alla fine, incontrano nuovamente Tramiel
il progettista del chip video VIC che ha dato il nome al per presentargli il progetto finale, il quale lo approva in
VIC-20, ed insieme gettano le basi di un nuovo chipset. via definitiva.
Il cuore del nuovo computer si chiamerà 6510 (fig. 3), in Charpentier si mette al lavoro e progetta una versione
pratica un 6502 con una porta di I/O aggiuntiva, mentre migliorata del VIC1.5, che viene chiamato VIC-II: il nuovo
per la gestione delle periferiche viene progettato il CIA, chip è capace di generare un’immagine a 40 colonne di
una versione avanzata del PIA. Il punto cruciale è il reparto testo con una risoluzione di 320x200 pixel e 2 colori su
schermo da una tavolozza di 16. Decide però di permettere
anche una modalità multicolore con 4 colori differenti
per far sì che i giochi siano più realistici, al costo però di
dimezzare la risoluzione a 160x200 pixel. Aggiunge poi
la gestione di 8 sprite in hardware con tutta una serie di
caratteristiche avanzate come il controllo delle collisioni
e la possibilità di gestirli anche multicolore: gli sprite sono
una cosa così importante che ben 2/3 della superficie
Fig. 3 - La CPU MOS 6510 (autore: Konstantin Lanzet del chip sono dedicati alla loro gestione. Viene poi
- fonte: Wikimedia Commons) mantenuto lo scrolling hardware in orizzontale e verticale,
Pagina 4 di 83 RETROMAGAZINE WORLD ANNO 8 - NUMERO 47
HARDWARE
utile per i giochi con la scena in movimento. Per il suono Ci sono ancora molti problemi da risolvere, alcuni derivanti
viene deciso di creare un chip audio separato, abbandonando dal chip video, che mostra artefatti grafici in alcune
quindi la strada del sistema integrato seguita per il VIC condizioni, altri causati dai problemi di velocità di lettura
(che genera immagine e audio) e seguendo quella già e scrittura del nuovo lettore di dischi; infine, c’è il sistema
battuta dalla concorrenza. A questo progetto si dedica operativo, che va adattato al nuovo hardware. Tutto
Bob Yannes, un amante della musica e dei sintetizzatori questo lavoro porta via molto tempo: il C64, che doveva
digitali, il quale realizza un chip con capacità audio mai debuttare a primavera, viene alla fine messo in commercio
viste prima su un sistema dometistico: il MOS SID (Sound solo nel mese di agosto del 1982.
Interface Device) è capace di generare suoni usando 4
forme d’onda a più ottave. Siccome lo sviluppo porta via Il MAX (o MAX Machine)
molto tempo e Yannes non riesce a concretizzare tutte le Nel frattempo, Tramiel vuole monetizzare il lavoro fatto
idee che ha in mente, al posto di multiplexare l’oscillatore e decide di mandare in produzione il progetto parallelo
audio e creare più voci da un’unica sorgente interna, basato sullo stesso chipset del C64 ma destinato a
decide di replicare 3 volte il circuito creato: è così che il diventare una console, progetto noto in azienda come
SID è dotato di 3 generatori di suono indipendenti. MAX (fig. 5). Il MAX deve replicare in Giappone il successo
del VIC-20 avuto sul suolo americano, combattendo
Verso il Commodore 64 contro i prodotti del Sol Levante sul loro stesso terreno:
Nel frattempo, Tramiel ha deciso che il progetto del è perciò un progetto per una console da giochi da vendere
computer sia grandioso: l’erede del VIC-20 dovrà essere intorno ai 180 dollari. Dato che usa gli stessi componenti
non un computer qualunque, bensì il più potente sistema del C64, le cartucce dei giochi di questi due sistemi
della sua categoria. Jack, sicuro del fatto che i prezzi delle vengono rese intercambiabili: per far ciò, il C64 viene
memorie scenderanno nel periodo che intercorre fra modificato creando una modalità che rende compatibile
l’inizio della progettazione e la messa in vendita, decide la mappa della memoria del computer con quella della
che il nuovo computer venga dotato di ben 64 KB di RAM. console così che, all’inserimento della cartuccia, il C64
Parte lo sviluppo di quello che inizialmente è il progetto “diventi” un MAX. Lo sviluppo iniziale avviene negli USA
VIC-40, un nome scelto non a caso: con esso si vuole far ma la finalizzazione dello stesso viene fatta in Giappone
intendere che questa macchina è il successore del VIC- presso la filiale locale della Commodore da Yash Terakura.
20. Tutti i suddetti chip sono consegnati da MOS Technology Sebbene nasca come console da gioco, il MAX è stato
per il mese di novembre del 1981, ed il team inizia subito pensato per diventare anche un piccolo computer, una
un vero e proprio “tour de force”, dato che Charpentier soluzione molto in voga all’epoca ed adottata anche da
e Tramiel hanno deciso di presentare la macchina al altri produttori di sistemi da gioco, come il ColecoVision
Consumer Electronic Show (CES) di gennaio del 1982. trasformabile nel computer Adam, il kit Spectravideo
Nonostante saltino anche le festività del Giorno del CompuMate per l’Atari 2600, il Keyboard Component per
Ringraziamento e quelle di Natale e lavorino alle volte il Mattel Intellivision, e altri ancora. Ma invece di vendere
anche 16/20 ore al giorno, gli ingegneri riescono a la tastiera come accessorio, la nuova macchina viene
completare il prototipo solo pochi giorni prima del CES,
la scadenza prefissata.
Poco prima della presentazione ufficiale, il nuovo computer
viene ribattezzato semplicemente “C64”, dal quantitativo
di memoria installata. Il C64 è il vero mattatore del CES
e lo stand della Commodore è letteralmente preso d’assalto
dagli operatori del settore per assistere alla presentazione
del computer: colpiscono non solo le strabilianti
caratteristiche tecniche, con un suono ed una grafica mai
visti prima su un home computer, ma anche e soprattutto
il fatto che costi solo 595 dollari. Terminato l’evento, il
C64 torna sui banchi degli ingegneri: il prototipo deve Fig. 5 - Il Commodore MAX, o MAX Machine
(foto: Thomas Conté - fonte: Wikimedia Commons)
essere convertito in un computer che può essere prodotto.
RETROMAGAZINE WORLD ANNO 8 - NUMERO 47 Pagina 5 di 83
HARDWARE
dollari per contrastare le vendite del C64 del periodo forte tanto che il C128 viene tolto dal mercato dopo 4
natalizio. Come riposta, agli inizi del 1983, Commodore anni con circa 2,5 milioni di unità vendute, meno di quanto
ribassa il C64 da 595 a 399 dollari, senza però rimetterci: il C64 abbia fatto registrare nel suddetto anno d’oro del
questo è possibile grazie al fatto che l’azienda produce i 1984. Nello stesso 1985 viene presentata anche l’Amiga:
chipset dei propri computer. sebbene sia un computer a 16 bit con caratteristiche
A febbraio, Texas Instruments ribassa il TI-99/4A a 150 enormemente superiori, il C64 regge l’urto anche contro
dollari: come risposta, ad aprile Commodore taglia i prezzi quest’ultimo avversario, grazie anche al fatto che nel
di tutta la linea del VIC-20, il cui prezzo scende sotto ai 1985 il C64 si può acquistare per 149 dollari ed è quindi
100 dollari. Non solo, attua anche una campagna una valida alternativa economica per chi vuole un computer
promozionale che letteralmente demolisce la concorrenza: performante ma non troppo costoso.
qualsiasi computer reso alla Commodore darà diritto ad Nel 1992, Commodore afferma di aver venduto circa 12
un rimborso di 100 dollari sull’acquisto del C64. Questa milioni di C64 dall’inizio della sua commercializzazione
promozione non solo riempie i magazzini della Commodore fino al 31 dicembre 1991. Nel 1992 le vendite sono di
di computer di qualsiasi tipo ma, per assurdo, incrementa, 650.000 unità. Nel 1993 si parla di poco più di 200.000
anche se temporaneamente, le vendite dei microcomputer unità mentre per il 1994 i numeri sono incerti, anche
della Timex Sinclair, che importa negli USA i prodotti della perché questo è l’anno del fallimento di Commodore, per
Sinclair: la gente acquista economici Timex-Sinclair a cui è lecito stimare vendite esigue. Possiamo affermare
meno di 50 dollari per spedirli alla Commodore, ottenere che in tutta la sua vita commerciale il C64 abbia venduto
il rimborso di 100 dollari, e intascarsi la differenza. sulle 13 milioni di unità, anche se, secondo altre fonti, i
A maggio la Atari ribassa l’Atari 800 di 100 dollari ma, numeri potrebbero essere superiori: in ogni caso, il C64
al CES di giugno, la Commodore annuncia che il C64 è il computer che detiene il record di vendite, e difficilmente
passa a soli 200€, un terzo del prezzo iniziale! Ad ottobre verrà superato in questo primato.
la Texas Instruments issa bandiera bianca e si arrende
alla Commodore, ritirando il suo TI-99/4A dal mercato: Caratteristiche tecniche
il nemico di Tramiel esce sconfitto. Atari, invece, subisce Il cuore del computer è il MOS 6510, una CPU derivata
un colpo ancor più pesante: complice anche la cosiddetta dal 6502 rispetto al quale presenta una riorganizzazione
crisi dei videogiochi del 1983 che colpisce il mercato dei piedini grazie a cui è stato possibile aggiungere una
nordamericano dei videogiochi, alcune scellerate scelte porta di I/O a 8 linee (nel C64 ne sono usate solo 6)
di mercato prese per la sua console 2600 si rivelano degli utilizzata per controllare la mappatura della memoria del
enormi fiaschi commerciali, ed Atari viene trascinata nel computer nonché per comandare direttamente l’eventuale
baratro. L’azienda registra più di 500 milioni di dollari di lettore a cassette collegato. A parte questa differenza
perdite: Atari per poco non ci lascia le penne, e solo una esterna, il 6510 è in pratica un 6502 per cui il software
forte riorganizzazione societaria, con lo smembramento può essere adattato semplicemente modificando le parti
in due entità distinte dei reparti arcade e sistemi domestici che accedono all’hardware della macchina.
e la vendita di quest’ultimo, la salva dalla bancarotta. Rispetto al VIC-20, dove un unico coprocessore si occupa
A questo punto, l’ascesa del C64 continua senza rivali. della generazione del segnale video e dell’audio, sul C64
Anche la Apple, nonostante gli aggiornamenti al suo Apple questi compiti vengono divisi fra 2 chip appositi: il VIC-
II, non rappresenta più una minaccia dato che il costo di II si occupa dell’immagine mentre il SID si occupa del
questo computer è molto superiore a quello del C64. Il suono. Il VIC-II è un chip capace di generare un’immagine
1984 vede quest’ultimo registrare 2,6 milioni di unità a colori sia in modalità grafica che testuale: nella prima,
vendute, il picco più alto mai raggiunto durante tutto il la schermata è composta da 320x200 pixel mentre nella
periodo in cui resta in vendita: successivamente, le vendite seconda da 40x25 caratteri, ed in entrambe le modalità
proseguono su circa 1,5 milioni di unità all’anno fino al i colori possibili sono 16. In modalità grafica si può operare
1989, quando calano a circa 1 milione di unità all’anno. sia in alta che in media risoluzione, quest’ultima è detta
Il C64 resiste anche al “fuoco amico”: nel 1985, la anche multicolore: nella prima l’immagine è divisa in
Commodore presenta il suo successore, il C128. Nonostante blocchi di 8x8 pixel ed ogni blocco permette un colore di
caratteristiche più avanzate e la quasi completa compatibilità sfondo, uguale per tutta l’immagine, ed un colore primario
con il C64, la domanda per quest’ultimo resta sempre diverso. La modalità multicolore è stata prevista dai
RETROMAGAZINE WORLD ANNO 8 - NUMERO 47 Pagina 7 di 83
HARDWARE
Fig. 7 - Una scheda madre del C64 del 1984: si notano centralmente in alto il MOS SID e, alla sua sinistra, la
CPU 6510. In basso il chip posto orizzontalmente è il VIC-II (foto: [Link] - fonte: Wikimedia Commons)
progettisti del chip per favorire i programmatori di giochi: cambiare gli attributi grafici al raggiungimento di una
in essa, al posto di usare 1 bit per ogni pixel colore ne determinata riga dello schermo, ad esempio per modificare
vengono usati 2. In questo modo si possono indirizzare il colore del bordo o dell’immagine.
4 colori differenti per blocco, al costo però di dimezzare Il comparto sonoro non è da meno. Creato da un vero
la risoluzione orizzontale, che passa a 160 pixel, e, di musicista ed appassionato di musica elettronica, il SID è
conseguenza, i blocchi sono di 4x8 pixel. Le modalità un vero sintetizzatore digitale capace di generare 4 diverse
testuali sono 3: la modalità classica, con 1000 celle forme d’onda: a dente di sega, triangolare, quadrata e
(40x25) di 8x8 pixel, ognuna delle quali in grado di rumore bianco. E’ dotato di 3 voci separate, ognuna capace
visualizzare caratteri con 2 colori; la modalità multicolore, di miscelare più forme d’onda per crearne di nuove nonché
in cui la risoluzione è di 4x8 pixel per cella ma col vantaggio applicare dei filtri o modulare le onde per creare numerosi
di poter indirizzare 4 colori per cella; la modalità multicolore effetti. Oltre a ciò, ognuno dei 3 oscillatori può gestire
estesa, che permette 5 colori per cella, al costo però di l’ADSR, sigla che sta per Attach-Decay-Sustain-Release,
ridurre la tabella dei caratteri da 256 a 64. Nelle modalità vale a dire la gestione del volume nelle 4 fasi del suono,
multicolore si hanno delle limitazioni: per non occupare rispettivamente il tempo che ci mette a raggiungere
molta memoria, viene impostata una serie di colori comuni inizialmente il volume massimo e la durata della prima
a tutto lo schermo ed altri specifici per ogni singolo blocco diminuzione, il tempo di mantenimento durante la
di pixel. Alcuni dati del colore sono memorizzati in un generazione principale del suono ed infine quello che ci
banco di memoria di 1024 nibble (1024 celle da 4 bit) impiega a raggiungere il volume zero una volta interrotta
detta Color RAM a cui accede solo il VIC-II. la penultima fase.
Oltre a ciò il chip gestisce 8 sprite monocromatici di 24x21 Il sistema operativo della macchina occupa 20 KB: 8 KB
pixel oppure multicolore di 12x21 pixel con 3 colori, con contengono il BASIC 2.0, lo stesso del predecessore VIC-
le limitazioni già viste in precedenza (1 solo colore per 20, mentre in altri 8 KB è stipato il KERNAL, ossia le routine
ogni sprite e 2 comuni a tutti). Il chip gestisce anche le di gestione delle funzioni base della macchina. Infine, 4
collisioni per cui si può sapere quando uno sprite collide KB sono destinati ad accogliere la mappa caratteri,
con un altro o con lo sfondo. Gli sprite possono essere composta da due diverse tabelle: la prima contiene i
anche ingranditi del doppio (non cambia la risoluzione, classici caratteri ASCII nonché una serie di caratteri
dato che semplicemente ogni pixel diventa un blocco di semigrafici ereditati dal PET, mentre la seconda la versione
2x2 pixel sullo schermo). Infine, il VIC-II gestisce sia lo “shiftata” della prima, dove le classiche lettere maiuscole
scorrimento verticale che orizzontale nonché un interrupt sono sostituite dalla loro versione minuscola. Alla ROM
agganciato al pennello video grazie a cui si possono si somma una memoria RAM di 64 KB: dato che il processore
Pagina 8 di 83 RETROMAGAZINE WORLD ANNO 8 - NUMERO 47
HARDWARE
Versioni ed espansioni
Nel corso della sua lunga vita commerciale (ben 12 anni
di carriera!) il Commodore 64 è andato incontro a numerose
revisioni e cambiamenti, non solo estetici. Partendo dal
comparto tecnico, c’è da segnalare che la Commodore,
nell’ottica di ottimizzare la produzione della macchina e
rincorrere una perenne riduzione dei costi, ha continuamente
aggiornato la scheda elettronica del computer (fig. 7).
Questo si riflette sulla dimensione e forma della scheda
ospitata all’interno del computer ma anche sugli integrati
stessi: ad esempio, nel corso del tempo sono cambiati il
numero dei chip di RAM, la disposizione degli integrati
Fig. 8 - La configurazione di memoria del C64.
nonché il tipo stesso di chipset montato (quando ad
Normalmente la RAM che condivide gli stessi indirizzi
della ROM e della memoria di sistema è disattivata esempio sono uscite le nuove versioni con processo
(autore: Actraiser - fonte: [Link]) produttivo aggiornato).
6510 non può indirizzare più di 64 KB di memoria, alcuni A parte l’elettronica, ci sono state anche delle versioni a
banchi di RAM sono disattivati ed al loro posto risultano volte che hanno riguardato l’estetica o le capacità del
attive le suddette ROM in modo che, normalmente, C64. La prima versione speciale è stata la console MAX,
l’interprete BASIC risulti attivo ed il computer possa o Ultimax com’era nota all’interno dell’azienda, messa in
gestire gli input dell’utente dati tramite l’editor di schermo. vendita agli inizi del 1982, prima addirittura del C64
La gestione dei banchi attivi avviene grazie ad un sofisticato stesso ma durata veramente poco tempo. L’Educator 64
sistema di scambio delle memorie (“bank switching”) è stato un tentativo fatto dalla Commodore nel 1983 di
gestito da un apposito integrato, detto PLA. La sintesi di erodere le quote dell’Apple II negli istituti scolastici.
tutto questo si traduce in circa 38 KB di RAM disponibili Rilasciato con un case simile a quello del PET e con un
all’utente per i programmi in BASIC: nel caso in cui si monitor integrato a fosfori verdi, il computer non ha avuto
voglia disporre di tutta la memoria disponibile, è possibile fortuna dovendo battersi contro l’esteso parco software
disattivare la ROM del sistema operativo ed attivare la del primo. Sempre nel 1983 viene presentato il Commodore
RAM sottostante, che occupa gli stessi indirizzi, a costo SX-64 (fig. 9), un C64 che riprende lo stile dell’Osborne
di rinunciare al BASIC ed al KERNAL. (fig. 8). 1 e del Kaypro II, ossia quello di un computer “portabile”
Giochi e programmi
Fig. 10 - Il Commodore 64C, che riprende Inutile dire che le capacità grafiche e sonore del computer
lo stile del C128 nonché la sua enorme diffusione ha sempre attratto gli
(foto: Kausalkette - fonte: Wikimedia Commons)
sviluppatori software, tanto che a metà degli anni ‘80 del
delle dimensioni di una piccola valigia, rispetto a questi XX secolo affinché un qualunque programma abbia
sistemi è stato il primo ad offrire un monitor a colori. successo basta che venga pubblicato per il PC IBM e per
Nel 1986, seguendo lo stile del C128 introdotto l’anno il Commodore 64. Molti programmi di utilità sono stati
prima, viene presentato il C64C, una versione con un case convertiti anche per il C64, ad esempio il foglio elettronico
più basso e filante e di colore beige chiaro (fig. 10). MultiPlan di Microsoft, oppure KoalaPainter, il programma
Funzionalmente identico al precedente modello, alcune di disegno offerto in abbinamento alla tavoletta grafica
periferiche però non si adattano più per via dei diversi KoalaPad. Una grossa spinta alla diffusione di programmi
ingombri, ad esempio le schede acceleratrici da montare “seri” si è avuta dopo l’introduzione del GEOS, un sistema
internamente o alcuni accessori esterni come le tastiere operativo grafico rilasciato da Berkley Software nel 1986:
musicali da applicare sui tasti della macchina. A parte originariamente sviluppato proprio per il C64, il GEOS
questo, internamente si segnala il passaggio alla nuova offre un ambiente grafico che ricorda molto quello del
versione del chipset, che porta con sé un problema col primo Macintosh di Apple e permette, essendo un vero
SID: per correggere un “difetto” del progetto iniziale, il sistema operativo, l’esecuzione di applicazioni che possono
SID ha perso quella forza e quella “ruvidezza” iniziali non solo accedere a tutte le periferiche della macchina
nonché alcuni effetti sonori che, nel corso degli anni, ma avvalersi anche del supporto dell’ambiente a finestre.
diversi musicisti hanno imparato a tirar fuori trasformando Oltre a quello integrato, non mancano versioni del BASIC
un difetto in un pregio. Se ad alcuni il suono più pulito più avanzate che sfruttano meglio le capacità della
piace di più, gli amanti del vecchio C64 gridano allo macchina, ad esempio il Simon’s BASIC, che offrono nuovi
scandalo, non sentendo più alcuni suoni che il SID originale comandi per l’accesso facilitato ai dischi e per disegnare
era in grado di riprodurre rispetto al nuovo. Verso la fine in modalità grafica, gestire gli sprite o generare musica
degli anni ‘80 del XX secolo la Commodore produce, per in maniera più semplice. Rimanendo in tema di linguaggi
il mercato tedesco, un paio di versioni speciali (la “ALDI” di programmazione, si è avuta anche un’ampia offerta di
e la “G”) per le quali viene rispolverato il vecchio case: interpreti e compilatori per i più diffusi linguaggi dell’epoca,
quindi, “ibridi” con le forme del primo C64 ed i colori delle come l’assembly, il Forth, il C, il Pascal, il FORTRAN.
plastiche più chiari come sul C64C. I giochi sono stati, però, quelli che più di tutti hanno
Nel 1990, provando (erroneamente) a ripercorrere mostrato le capacità audio e grafiche del C64: nella
(malamente) la strada (errata) del MAX, viene rilasciato seconda metà degli anni ‘80 più del 60% del software
il Commodore 64 Game System, abbreviato in 64 GS, un prodotto per questa piattaforma sono giochi per cui è
C64 privato della tastiera e di tutto tranne la porta per impossibile citarli tutti, sono migliaia. Secondo alcune
le cartucce e quelle per i joystick. Il C64 GS è in pratica stime siamo sull’ordine dei 6.000, ed il numero dei
la versione “console” del computer e può far funzionare programmi complessivamente rilasciati, contando i
le sue cartucce giochi a patto che questi non richiedano software applicativi, arriva complessivamente a 10.000.
input da tastiera, dato che non esiste… Inutile dire che È doveroso poi fare un distinguo fra i giochi pubblicati
anche qui siamo al nuovo, ennesimo, fiasco commerciale. negli USA e quelli pubblicati in Europa: se i primi sono
Pagina 10 di 83 RETROMAGAZINE WORLD ANNO 8 - NUMERO 47
HARDWARE
stati rilasciati prevalentemente su dischetto, perché forti dell’esperienza e della conoscenza della macchina
questo era il formato più diffuso in Nord America, in Europa accumulata negli anni precedenti, hanno rilasciato delle
sono stati rilasciati giochi prevalentemente su cassetta, vere e proprie perle che hanno sfruttato al massimo le
formato più economico e diffuso nel Vecchio Continente. capacità del C64. “Turrican” I (fig. 13) e II sono giochi
Quindi, molti titoli sviluppati per usare il caricamento di nati sul C64 rispettivamente nel 1990 e nel 1991 che,
dati in modo random durante il gioco non sono stati data la loro qualità, hanno riscosso così tanto successo
pubblicati su nastro mentre non tutti i titoli rilasciati su da essere stati convertiti per altre piattaforme. “Mayhem
cassetta, pubblicati prevalentemente da sviluppatori in Monsterland” (fig. 14), del 1993, è universalmente
europei, sono arrivati in America. A parte questo, ci sono noto come il non-plus-ultra dei giochi ad 8 bit: i
comunque dei titoli distintivi del computer: “Impossible programmatori sfruttano così a fondo il C64 che il risultato
Mission” del 1984 (fig. 11), dove si vestono i panni di un finale, un platform in stile “Supermario”, sembra un gioco
agente speciale, è uno dei primi giochi a larga diffusione, per un sistema a 16 bit.
spesso citato come uno dei giochi “must-have” del C64.
Ci sono poi i giochi sportivi multi-evento pubblicati da Le capacità audio del computer hanno fatto nascere anche
Epyx, come “Summer Games”, “Winter Games” (fig. 12), un nuovo lavoro, ossia il compositore digitale di musiche
“California Games” e “World Games”. “Pitstop II” va citato per giochi. Tra gli artisti musicali nati e formatisi sul C64
perché è il primo titolo di corse automobilistico per 2 non possiamo non citare Martin Galway, il primo ad usare
giocatori con visione divisa. musica campionata nella sua conversione di “Arkanoid”
del 1987, oppure Matt Gray, noto per i famosi temi musicali
Agli inizi degli anni ‘90, quando ormai la piattaforma è della serie “The Last Ninja”, giochi che, oltre alle musiche,
alla fine della sua vita commerciale e quando il mercato sono da ricordare per le scene isometriche (fig 15). Rob
è ormai dominato dai sistemi a 16 bit, i programmatori, Hubbard ha scritto molte musiche di famosi giochi fra cui
Conclusioni
Potremmo continuare ancora per molto tempo, citando
la miriade di periferiche nate per far fare al Commodore
64 qualsiasi tipo di lavoro. Io stesso ricordo che, a metà
degli anni ‘80, andai a far visita ad un amico il cui genitore
aveva il computer collegato ad un modem e, tramite un
programma, riceveva le immagini dai satelliti Meteosat,
le elaborava e mostrava poi sullo schermo la situazione
meteo dell’Italia in tempo reale. Miriadi di ragazzi hanno
costruito le loro carriere informatiche imparando i rudimenti
della programmazione su questo computer, e chi non
Pagina 12 di 83 RETROMAGAZINE WORLD ANNO 8 - NUMERO 47
SOFTWARE
Bentrovati nuovamente, amici lettori di RetroMagazine precedente di questo articolo, con un quesito ovvero:
World! "Come fare a comprendere se due eseguibili siano
riconducibili allo stesso codice sorgente riconducibile,
Nella prima parte di questo articolo, pubblicato sul quando le rispettive firme MD5 dei due programmi
numero 42 di RetroMagazine World, Vi ho parlato di eseguibili non corrispondono?"
una mia esperienza nello sviluppo di alcuni lavori in
assembly per il nostro amato biscottone. Mi sono Qualcuno penserà: "se i due programmi eseguibili si
soffermato sul problema di come individuare in comportano allo stesso modo...saranno gli stessi!".
maniera precisa se un programma eseguibile coincide Per Voi è una approssimazione accettabile? Io
esattamente, byte per byte, con uno creato pensavo invece ad una analisi di livello quasi
successivamente, anche a distanza di qualche anno. 'forensico' :D
Vi ho parlato della possibilità di determinare la firma
MD5 del file per riuscire a calcolare la sua esatta Come si potrebbe procedere? Allora, innanzitutto è
corrispondenza con un altro file. bene precisare che dovreste avere a disposizione
l'esatto codice sorgente. Dovreste ricompilarlo e poi
Questa è una strada che, di solito, è agilmente analizzarlo opportunamente.
percorribile, o lo dovrebbe essere almeno nella
maggior parte dei casi.
Tale analisi dovrebbe essere fatta a pari condizioni. Mi
Vi suggerisco inoltre di documentare sempre i vostri spiego meglio:
lavori, utilizzando magari delle note all'interno del
codice sorgente stesso, indicando sempre la data Se il programma originale venisse inizialmente
esatta della compilazione, il compilatore che avete decompresso al suo avvio, l'esame del suo codice
impiegato, specificandone anche il numero di versione, dovrebbe avvenire immediatamente dopo la sua
eventuali tools utilizzati (specificandone i numeri di decompressione.
versione anche per questi) ed infine il sistema
operativo che avete utilizzato. Perché? Perché partiamo dall'idea che le firme MD5
dei due files siano diverse e che quindi esiste una
Se vi troverete a ricompilare i sorgenti di questi lavori, differenza tra i due files.
vi sarà più facile mettere insieme tutti i 'pezzi' per Per osservarli dobbiamo partire dalle stesse condizioni
ottenere lo stesso preciso file oggetto, e ne potrete iniziali (decompresso il primo, decompresso anche il
confrontare la firma MD5 con quella del file oggetto secondo).
creato in precedenza. Dobbiamo cercare di comprendere DOVE differiscono,
in quali zone di memoria ed in quale misura.
Purtroppo, nonostante tali accortezze, il risultato non
è sempre garantito. Qui il discorso si fa sicuramente più tecnico ed inoltre,
Vi ricordo, che faccio riferimento in maniera esplicita a
Vi ho raccontato di una situazione che mi si è lavori realizzati per il Commodore 64.
presentata, quando mi sono trovato a ricompilare una La tecnica potrebbe essere impiegata anche in altri
mia vecchia intro che ho pubblicato nel 2016 su CSDB ambiti, tuttavia gli esempi ed i tools che vi illustrerò si
e non sono riuscito, nonostante vari tentativi, a riferiscono al Commodore 64.
riottenere lo stesso file .prg identico a quello in
precedenza pubblicato. È necessario ottenere un dump della memoria del C64
E' probabile che, in questa precisa circostanza, il subito dopo che il programma sia stato lanciato e sia
motivo sia da addebitare al fatto che, a suo tempo, stato decompresso.
adoperai una versione di EXOMIZER che girava su
sistemi LINUX. Come? A tale scopo potreste utilizzare questo ottimo
Ritengo che lo stesso tool di compressione dati che (e gratuito) strumento: c64 65XE NES DEBUGGER (rif.
gira su Windows si comporti, internamente, in maniera figura 1)
leggermente diversa e, da qui, il risultato è un file .prg
leggermente diverso e quindi una firma MD5 non [Link]
coincidente.
Vi ho lasciato quindi, alla conclusione della parte
RETROMAGAZINE WORLD ANNO 8 - NUMERO 47 Pagina 13 di 83
SOFTWARE
La procedura per ottenere un dump è la seguente: rileveremo dovessero essere minime il discorso
1) Lanciate il programma potrebbe essere diverso.
2) Premete: CTRL+B "BREAKPOINTS"
3) Impostate un indirizzo preciso dove intendete Anche in questa fase è importante esaminare i
bloccare l'esecuzione del programma,in sorgenti per determinare quali aree di memoria siano
corrispondenza del riquadro "CPU PC" cioè il registro preposte, ad esempio, a contenere dei dati e quali,
Program Counter (anche se è possibile sfruttare invece contengano le istruzioni assembly.
ulteriori opzioni). Se non conosciamo queste informazioni potremmo
NOTA BENE: QUI vi potrà essere prezioso il codice non poter stabilire, trovando una differenza tra i due
sorgente del programma per capire DOVE vi conviene dump, se tale differenza possa essere trascurata o
impostare il punto di interruzione dal quale poi salvare meno.
una immagine completa della memoria del C64.
4) date ancora: CTRL+B Il contenuto di ciascun file di dump non è
5) Premete CTRL+O e scegliete il file .prg da lanciare. immediatamente leggibile. Conviene utilizzare un
Se avete fatto tutto bene si fermerà l'esecuzione del decompilatore per renderlo più leggibile.
programma ESATTAMENTE alla locazione che avete Io uso spesso un mio personale decompilatore ma ne
indicato nel punto 3. esistono diversi in circolazione.
6) Premete CTRL+U per salvare su file del vostro PC
un dump completo della memoria del C64. Posso segnalarVi, tra i tanti, questo:
Infiltrator Disassembler V1.0 (rif. figura 2)
Ovviamente, se state confrontando questo primo [Link]
file .prg con un secondo che avete creato
successivamente, dovrete effettuare le stesse
Quando si è riusciti ad elaborare i 2 files .prg, e li si è
operazioni una seconda volta specificando stavolta il
decompilati, è possibile confrontare insieme i 2 file di
nuovo file .prg di cui volete ottenere un dump che poi
testo generati per determinarne le differenze.
confronterete.
In questo articolo propongo una variazione di un incredibilmente veloce. Non sono un esperto di
programma che avevo presentato in un libro molti anni Assembly per cui, molto probabilmente, il mio
fa. È poco più di un pretesto per lavorare un po’ con il programma potrebbe essere migliorato, ma il mio
nostro C64 sia in Basic sia in Assembly. obiettivo è, diciamo così, di tipo didattico. Un piccolo
Le conclusioni a cui giungeremo tramite il nostro esperimento: un codice (ricco di commenti) che ho
“Gioco del Lotto” semplificato rimangono valide per il scritto basandomi quasi esclusivamente su un
gioco normale (liberandoci dalle complicazioni di “Vocabulary of the 6510 Chip” che ho trovato in
carattere combinatorio). Internet.
Ecco la favoletta:
Ecco qui il listato del primo programma:
Molti cittadini di Bingotown giocano ogni settimana al
100 poke 53280,6:poke 53281,6:print chr$(5):x=rnd(-ti):dim
Mini-Lotto. Dal lunedì al venerdì è possibile puntare su
r(9),f(9):pa=4
uno dei dieci numeri 0,1,2,..,9. Al sabato viene 110 ra$=".. perso...": v$=chr$(18)+" vinto !! "+chr$(146)
eseguita un’estrazione e coloro che hanno giocato il 115 for nl=1to39:s$=s$+chr$(32):next
120 print chr$(147):input"quante simulazioni ";ns:print chr$(147)
numero sorteggiato vincono. La somma per una
130 for k=1 to ns: m=0:x=int(rnd(1)*10):f(x)=f(x)+1:w$=""
giocata è fissa e piuttosto elevata; normalmente una 140 print chr$(19):print"simul n.";k;" su";ns
persona non gioca più di un numero a settimana. 150 print"numero uscito:";x:print
Tre amici, Alfio, Bruno, Carlo, sono fra i più incalliti 160 print"-----------------------------------"
170 print"alfio ha puntato sul numero ";pa:rr$=ra$
giocatori: ogni settimana si recano al botteghino. 180 if x=pa then rr$=v$:ta=ta+1
190 print"alfio ha";rr$:print"tot alfio";ta:print"% alfio";100*ta/k
Alfio sostiene che la miglior strategia è quella di 200 print:print"-----------------------------------":m=0
210 print
giocare sempre lo stesso numero perché, prima o poi,
220 print s$
è destinato ad uscire. Poiché considera il quattro il suo 230 for j=0 to 9:w$=w$+str$(r(j)):if r(j)>m then m=r(j):pb=j
“numero fortunato” (Alfio è nato il 4 aprile), gioca 240 next j:print chr$(145)+w$
250 print:print"bruno ha puntato sul numero ";pb:rr$=ra$
sempre e solo quello.
260 if x=pb then rr$=v$:tb=tb+1
270 print"bruno ha";rr$:print"tot bruno";tb:print"% bruno";100*tb/k
Bruno tiene aggiornata una “tabella dei ritardi” dove 280 for j=0 to 9:r(j)=r(j)+1:next j
associa ad ogni numero il numero di settimane 290 r(x)=0
300 pc=int(rnd(1)*10)
trascorse dall’ultima uscita. Quando si reca al 310 print:print"-----------------------------------"
botteghino gioca il numero con il ritardo maggiore: se 320 print"carlo ha puntato sul numero ";pc:rr$=ra$
un numero è un po’ che non si fa vedere, … beh, sta 330 if x=pc then rr$=v$:tc=tc+1
340 print"carlo ha";rr$:print"tot carlo";tc:print"% carlo";100*tc/k
arrivando il suo turno!
350 next k
360 print chr$(147):print"sono state eseguite ";ns;"simulazioni"
Carlo sostiene che sono tutte baggianate e che 370 print:print"totale di alfio:";ta
380 print"% alfio:";100*ta/ns
giocare un numero o l’altro è del tutto indifferente.
390 print:print"totale di bruno:";tb
Con l’aiuto di un mazzo di carte ben mescolato, ogni 400 print"% bruno:";100*tb/ns
settimana sceglie a caso il numero su cui puntare. 410 print:print"totale di carlo:";tc
420 print"% carlo:";100*tc/ns
430 print:for k=0 to 9:print"freq. di";k;">";f(k);" in %:";100*f(k)/
Che dire? Qual è la strategia più promettente? Ne ns:next
parliamo un po’ più avanti. Per ora mettiamo al lavoro
il nostro C64: simulerà un bel po’ di estrazioni e terrà
aggiornata la situazione delle vincite dei tre amici. Alla 100 si sceglie la combinazione di colori (bordo,
sfondo, carattere), si inizializza il generatore di numeri
Proporrò tre programmi: il primo (in Basic) mostra in casuali e si dimensionano i due vettori R e F, entrambi
dettaglio la situazione man mano che si succedono le di dimensione 10. Per ogni I da 0 a 9, R(I) conterrà le
estrazioni. È destinato a chi vuol seguire in tempo settimane di ritardo del numero I (ad uso di Bruno) e
reale come stanno andando le cose. Con tutte le sue F(I) la frequenza dell’uscita del numero I. PA è la
PRINT è, però, un bel po’ … lento. variabile che contiene la puntata di Aldo che,
Il secondo (sempre in Basic) è identico al primo sappiamo, è sempre e comunque il numero 4.
“ripulito” dalle PRINT intermedie. Ci fornisce solo i Alla 110 vengono definite un paio di costanti
risultati finali ma è, naturalmente, più veloce del alfanumeriche che ci serviranno e, alla 120, viene
primo. richiesto il numero di simulazioni che si intendono
Il terzo è identico al secondo, ma è in Assembly ed è… eseguire (NS). Si ripulisce lo schermo e … si parte!
Pagina 18 di 83 RETROMAGAZINE WORLD ANNO 8 - NUMERO 47
SOFTWARE
Il gruppo di istruzioni dalla 130 (FOR K…) alla 350 percentuali) di sorteggio dei vari numeri.
(NEXT K) viene eseguito per ciascuna simulazione. In Fig.1 una schermata durante l’elaborazione (con la
Alla 130, a X viene assegnato il numero sorteggiato e tabella dei ritardi utilizzata da Bruno); in Fig. 2 la
la “frequenza di X” viene subito aggiornata. schermata finale.
Ogni singola simulazione prevede la stampa di una
intera schermata. Alla 140, la PRINT CHR$(19) Le simulazioni confermano che nessuna delle strategie
riporta il cursore nell’angolo superiore sinistro dello adottate dagli amici è preferibile alle altre. Poiché la
schermo senza ripulirlo. Questo fa sì che, al variare probabilità di azzeccare la cifra esatta è del 10 %,
delle simulazioni (circa una al secondo), sullo schermo anche le frequenze percentuali si avvicineranno a
si modifichino solo i valori che variano davvero. Le questo valore.
scritte che non devono cambiare rimangono fisse e È vero che, se si gioca sempre lo stesso numero, o il
consentono la lettura della schermata (se provate a numero con maggior ritardo, questo, prima o poi,
sostituire CHR$(19) con CHR$(147) vedrete la uscirà, ma questo è semplicemente dovuto al fatto di
differenza). … giocare (qualsiasi numero): sbagliare sempre è
Viene poi stampato il numero della simulazione (K) e il poco probabile e, prima o poi, si vince.
numero uscito (X).
* Le dieci locazioni dalla 828 ($033C) alla 837 ($345) Ecco il codice:
conterranno le frequenze assolute di ciascuno dei
numeri da 0 a 9. Se, in un dato istante, la locazione 828
*=$c000 ; sys 49152
contiene il numero 12, significa che, fino a quel
momento, il numero 0 è stato sorteggiato 12 volte. Da lda #$ff ; ********************
notare che, essendo 255 simulazioni, qui, come in tutti sta $d40e ; * inizializzazione
gli altri casi, i numeri da memorizzare non superano sta $d40f ; * del generatore di
questo valore e un byte è sufficiente a contenerli. lda #$80 ; * di numeri casuali
sta $d412 ; ********************
* Le dieci locazioni di memoria dalla 838 ($346) alla
847 ($34F) sono riservate al “vettore dei ritardi”. ldx #$1b ; le locazioni da
lda #$0 ; 828 a 855 che
* Le locazioni 848 ($350), 849 ($351), 850 ($352) alfa1 sta $33c,x ; verranno utilizzate
contengono rispettivamente TA, TB, TC: il “totale delle dex ; per le variabili
vincite di Alfio” ecc.
bne alfa1 ; vengono preventivamente
sta $33c ; azzerate
* La locazione 851 ($353) contiene il numero giocato
da Bruno; la 852 ($354) contiene il valore massimo del
“vettore dei ritardi”. ldy #$ff ; si eseguono 255 simulazioni
beta
* La locazione 853 ($355) è riservata al numero jsr teta ; vai al sorteggio...
giocato da Carlo; la 854 ($356) contiene il numero sta $356 ; qui va il numero uscito
estratto. tax ; che va anche nel registro X
inc $033c,x ; aggiorna tot. vett. NUMERI USCITI
Per generare un numero casuale, ho utilizzato un cmp #$4 ; è uscito il 4?
codice Assembly che avevo trovato in Internet; sono bne istr0
dovuto ricorrere alla competenza di Marco Pistorio per inc $350 ; se sì, aggiorna il tot. di Alfio
svelarne i misteri.
; Nelle istruzioni che seguono viene determinato qual è
Marco mi ha fornito una dettagliata spiegazione (che
; il massimo valore nel VETTORE DEI RITARDI e a quale
meriterebbe un articolo a sé stante) che cerco di
; indice X corrisponde(sarà il numero che giocherà Bruno)
sintetizzare.
istr0 ldx #$09
Sappiamo che il nostro C64 è dotato del meraviglioso gamma lda $354 ; qui va l'attuale MASSIMO (M)
SID (Sound Interface Device) grazie al quale molti cmp $346,x ; confr con l'elemento del vett
giochi sono accompagnati da fantastiche colonne RITARDI
sonore (andate a risentirvi quella di “Monty On The bcs istr1 ; se R(X)<=M vai a istr1
Run”). Il SID può anche generare un “rumore” ottenuto lda $346,x ; ... altrimenti
grazie ad un registro (LFSR = Linear Feedback Shift sta $354 ; metti R(X) in M
Register) il cui segnale, opportunamente manipolato, txa
genera una sequenza pseudo-casuale di bit. Per far sta $353 ; e X in $353
questo, occorre impostare la frequenza della “voice 3” istr1 dex
nelle locazioni $D40E e $D40F:
bpl gamma ; se non abbiamo finito si torna a
gamma
lda #$ff; set voice #3 frequency
sta $d40e
sta $d40f ; Nelle istruzioni che seguono, il numero scelto da Bruno
; (quello con maggior ritardo), in $353, viene confrontato
e impostare a 1 il bit #7 del registro che controlla la ; col numero uscito, in $356. Se sono uguali, il totale
voce #3, portando a zero gli altri bit di questo registro: delle
in esecuzione.
; vittorie di Bruno, in $351, viene incrementato. Ecco allora che possiamo completare il programma
lda $353 Basic generato con le istruzioni di stampa; anzi,
cmp $356 possiamo fare di più.
bne istr2 Poiché le 255 simulazioni vengono eseguite molto
inc $351 velocemente, possiamo permetterci il lusso di far
eseguire al C64 più “blocchi” di 255 simulazioni
; Nelle istruzioni che seguono viene aggiornato il ciascuno e stampare i totali complessivi.
VETTORE DEI
Ecco il codice:
; RITARDI: Si addiziona 1 a tutte le componenti, poi
viene 1000 REM GENERATED ML LOADER
; azzerato il ritardo del numero uscito. 1040 poke 53280,4:poke 53281,4:print
istr2 ldx #$09 chr$(5),chr$(147):dim f(9)
istr3 inc $346,x 1120 SA = 49152
dex 1160 FOR N = 0 TO 119
bpl istr3 1200 READ A%:POKE SA+N,A%: NEXT N
ldx $356 1240 input"quanti gruppi di 255 simulazioni > ";g
lda #$0 1280 for g1=1 to g
sta $346,x 1360 SYS SA
1400 ta=ta+peek(848)
; Nelle istruzioni che seguono viene gestita la 1440 tb=tb+peek(849)
situazione di 1480 tc=tc+peek(850)
; Carlo: il numero che gioca è scelto a caso (jsr teta) 1520 for k=0 to 9:f(k)=f(k)+peek(828+k):next
e, se 1560 next g1
; coincide con il numero uscito, il suo totale (in $352) 1570 tgg=255*g
viene 1600 print chr$(147):print"sono state
; incrementato. eseguite";tgg;"simulazioni"
jsr teta 1640 print:print"totale di alfio:";ta
cmp $356 1680 print"% alfio:";100*ta/tgg
bne istr4 1720 print:print"totale di bruno:";tb
inc $352 1760 print"% bruno:";100*tb/tgg
1800 print:print"totale di carlo:";tc
istr4 dey 1840 print"% carlo:";100*tc/tgg:print
bne beta ; se non hai finito, un'altra 1920 for k=0 to 9:print"freq. di";k;">";f(k);" in %:";
simulazione. 100*f(k)/tgg:next
rts 1960 END
3060 DATA 169,255,141,14,212,141,15,212
;** subroutine teta: genera in A 3070 DATA 169,128,141,18,212,162,27,169
;** una cifra casuale tra 0 e 9 3080 DATA 0,157,60,3,202,208,250,141
teta 3090 DATA 60,3,160,255,32,110,192,141
alfa lda $d41b ; in A un numero tra 0 e 255 3100 DATA 86,3,170,254,60,3,201,4
and #$0f ; ora in A un numero tra 0 e 15 3110 DATA 208,3,238,80,3,162,9,173
cmp #$0a ; è maggiore o uguale a 10 ? 3120 DATA 84,3,221,70,3,176,10,189
bcs alfa ; se sì, torna ad alfa 3130 DATA 70,3,141,84,3,138,141,83
rts ; in A c'è una cifra tra 0 e 9 3140 DATA 3,202,16,235,173,83,3,205
3150 DATA 86,3,208,3,238,81,3,162
3160 DATA 9,254,70,3,202,16,250,174
Il programma in Assembly esegue le 255 simulazioni, 3170 DATA 86,3,169,0,157,70,3,32
ma non presenta i risultati ottenuti. 3180 DATA 110,192,205,86,3,208,3,238
Uno dei “tools” di CBM Prg Studio è “Generate BASIC
3190 DATA 82,3,136,208,175,96,173,27
loader”: il programma Assembly viene trasformato in
3200 DATA 212,41,15,201,10,176,247,96
una serie di DATA che il programma Basic generato
leggerà e inserirà nelle locazioni a partire dallo SA
(Starting Address) che corrisponde al *=$C000 del
codice in Assembly. L’istruzione SYS SA manderà il tutto Il FOR-NEXT (1160-1200) carica in memoria il codice
Assembly; alla 1240 si chiedono quanti “blocchi” si Il programma in Assembly ci permette di … esagerare:
intendono eseguire. Per ogni blocco (FOR-NEXT, 1280- se, al RUN, inseriamo la richiesta di 67 gruppi,
1560) viene eseguito il codice Assembly (SYS SA) e i operiamo ben 17085 giocate e, dopo circa 35 secondi,
totali delle vincite dei tre amici vengono aggiornati otteniamo (Fig. 6):
prelevando i valori dalle locazioni a loro riservati (1440-
1480), lo stesso avviene per le frequenze assolute alla
1520.
Alla fine vengono stampati i risultati; il numero
complessivo delle simulazioni eseguite è, naturalmente,
pari a 255 per il numero di blocchi richiesti (TGG istr.
1570).
Se, dato il RUN, scegliete di eseguire un solo gruppo,
eseguite 255 simulazioni e, come vedrete, il risultato è
pressoché immediato (Fig. 5).
Fig. 6
Nel precedente articolo avevamo preparato il setup e • all’interno della RAM dedicata alla parte grafica (VRAM)
ottenuto la prima rom con la stampa a schermo del classico i dati degli sprite sono memorizzati in una tabella (sprite
Hello World, adesso proseguiamo la nostra esplorazione table) che vedremo a breve più nello specifico;
del framework dedicato allo sviluppo di giochi per il Sega • uno sprite può essere associato ad una palette composta
Megadrive con un altro classico del genere, la visualizzazione da sedici colori (di cui il primo trasparente) tra i 512
di uno sprite animato. possibili (all’argomento palette dedicheremo un
approfondimento in un successivo articolo).
PREPARIAMO LO SCORPIONE
Come sprite di esempio utilizzeremo quello di un simpatico
scorpione preso da un gioco che sto realizzando, per il
quale sono state previste le animazioni per il movimento
e per quando è in stato di stun. Quando preparate il file
PNG è indispensabile configurarne i colori con la modalità
di codifica indicizzata (indexed color mode) e utilizzare
una palette composta al massimo da 16 colori, in questo
caso è stato utilizzato il viola che è il colore adottato in
Fig. 1 - Tanta fatica per stordire uno scorpione… genere come trasparente per convenzione (valori RGB
Non vi aspettavate mica Sonic?
255,0,255).
Prima di iniziare richiamiamo alcune caratteristiche
hardware inerenti gli sprites:
• le dimensioni minime di uno sprite corrispondono all’unità
minimale che il chip video dedicato alla grafica (VDP)
basato su caratteri (tiles) è in grado di gestire (8x8px),
mentre le dimensioni massime corrispondono a 4x4 tiles
Fig. 2 - Lo spritesheet con le animazioni
(32x32px);
• per le risoluzioni standard che presentano 320px in
orizzontale (320x224px in modalità NTSC, 320x240px Una volta preparata l’immagine, nella cartella “res”
in modalità PAL) possono essere visualizzati fino a un creiamo il file “[Link]” che è identificato dal SGDK
massimo di 80 sprites (non più di 20 per scanline); come il file di configurazione delle risorse impiegate nel
• gli sprites sono visualizzati su un piano (plane/playfield) gioco (immagini, audio, ecc.) e inseriamo il riferimento
dedicato (quindi indipendente ad esempio dal background) alla nostra immagine dello scorpione definendolo con
di 512x512px, così da poter nascondere dalla visualizzazione questi attributi:
di gioco gli sprite che non si vogliono visualizzare in quanto 1. SPRITE è la tipologia di risorsa che sarà appunto uno
lo schermo di gioco inizia alle coordinate 128,128 ed sprite (fosse stata un’immagine statica avremmo utilizzato
essendo più piccolo occupa solo una porzione del piano IMAGE);
degli sprites; 2. spr_scorpion è il nome della costante di tipo
Come risultato abbiamo ottenuto il nostro scorpione che diventerà sempre più una costante man mano che i vostri
è bello fermo immobile ma comunque presente e giochi si arrichiranno di elementi grafici e di interazioni,
correttamente visualizzato all’interno dello schermo di gioco. torneremo sull’argomento con qualche esempio preso
da situazioni reali.
UNO SGUARDO ALLA SPRITE TABLE
Se eseguiamo il programma utilizzando l’emulatore ANIMIAMO LO SCORPIONE
Gens_KMod (che avevo segnalato nel precedente articolo È giunto il momento di riprendere lo scorpione che avevamo
come strumento di debug) possiamo visualizzare la tabella abbandonato ed animarlo stordendolo, poverino, con
degli sprites accedendo da CPU → Debug → Genesis → l’animazione di stun (trovate il codice in Fig. 6):
VDP - Sprites, ciascuna entry è costituita da 8 bytes in • (A) introduciamo due variabili, “frame” per memorizzare
cui sono rappresentati: il frame corrente da visualizzare e “nextFrameTimer” per
• “Num” è il numero dello sprite, il nostro essendo il primo regolare la velocità del cambio frame (altrimenti l’animazione
ha il numero 0, e come già detto essendo la risoluzione sarebbe troppo veloce);
di 320px in orizzontale abbiamo a disposizione fino ad • (B) nel loop di gioco, stabiliamo arbitrariamente a 10 il
un massimo di 80 sprites; valore che il timer deve raggiungere per far scattare il
• “YPos” e “Xpos” sono la posizione verticale ed orizzontale frame successivo di animazione, e regoliamo il valore del
dello sprite, il valore è 228 perché il piano dedicato agli frame in modo che non sia mai diverso da 0 e 1 in quanto
sprites inizia dalla posizione 128,128 rispetto allo schermo l’animazione di stun si compone di due soli frames di
per cui la posizione sullo schermo 100,100 corriponde animazione;
alla 228,228 del piano degli sprites; • (C) impostiamo l’animazione con lo stun e il frame
• “Size” è la dimensione dello sprite quindi 32x32px; corrente e avanziamo il timer del cambio frame;
• “Link” è una internalità che indica collegamento al • (D) l’update dello sprite engine viene spostato nel loop
successivo sprite della linked list della tabella; di gioco in quanto la tabella degli sprite deve recepire i
• “Pal” è la palette dello sprite e quindi il valore è 0; cambiamenti dello sprite animato.
• “Tile” è il numero iniziale della tile usata dallo sprite;
• “Flags” sono dei valori 0/1 relativi alla priorità alta/ Questo è un semplice esempio di come è possibile realizzare
bassa e all’eventuale flip orizzontale/verticale; una animazione di velocità costante, poi esaminando
come sono fatte le struct Sprite e SpriteDefinition del
Vedrete che la lettura dei dati della tabella degli sprites framework potete costruirvi il vostro engine per, ad
RISORSE UTILI
[Link]
[Link]
[Link]
[Link]
genesis/
[Link]
Technical_specifications
Nel tutorial precedente ho fornito una breve introduzione Passaggio 2: ottieni il compilatore
a PunyInform, una nuova libreria per scrivere avventure
testuali per computer a 8 bit (e altri). Ora diamo un'occhiata PunyInform è una libreria per il linguaggio di
a cosa devi scaricare e installare per iniziare a scrivere programmazione Inform 6. Per utilizzarlo sarà necessario
un gioco utilizzando PunyInform. scaricare il compilatore, chiamato “inform” o “inform6”.
PunyInform richiede almeno la versione 6.34 del compilatore.
Per questo articolo utilizzerò Windows, ma puoi anche Se usi Windows, è disponibile come eseguibile binario,
utilizzare PunyInform su Mac o Linux. quindi puoi semplicemente scaricarlo e iniziare a usarlo.
Vai a [Link]
Passaggio 1: installa la libreria PunyInform [Link]
e scarica inform634_win32.zip . Apri l'archivio Zip ed
Vai su [Link] estrai il file (ce n'è solo uno) nella cartella base di
releases e scarica la versione più recente di PunyInform PunyInform (la cartella che contiene le sottocartelle
(la versione che arriva per prima nella pagina) facendo “documentation” e “lib”).
clic su "Codice sorgente (zip)" in Risorse. Una volta
terminato il download, fai clic sull'archivio Zip nella finestra Ecco come potrebbe apparire ora la tua cartella PunyInform
del browser per aprire l'archivio in Esplora risorse, fai clic [Fig. 1]:
su "Estrai tutto" nella parte superiore della finestra,
appena sotto la barra dei menu. Scegli una cartella in cui Passaggio 3: installare un interprete Z-code
desideri posizionare i file PunyInform. Esplora risorse
probabilmente suggerirà qualcosa come "C: Anche se il vero punto di forza di PunyInform è che ti
\Users\MyUsername\Downloads\PunyInform-1_2\" e permette di scrivere giochi abbastanza veloci e abbastanza
dovrebbe funzionare correttamente. Puoi sempre rinominare piccoli da poter essere giocati su 8 bit, i giochi prodotti
e/o spostare la cartella in un secondo momento. saranno ugualmente riproducibili praticamente su qualsiasi
computer, e presto scoprirai di poter eseguire la maggior chiamalo [Link] . Quindi apri [Link] nel Blocco
parte dei test sul tuo PC moderno. Per fare questo avrai note (o l'editor di testo che preferisci – se vuoi qualcosa
bisogno di un interprete Z-code. PunyInform compila il di veramente carino, puoi ottenere l'editor di testo Atom
codice sorgente di Inform 6 in Z-code, un formato di gioco e installare il pacchetto "language-inform6" in File ->
inventato dai maghi delle avventure testuali di Infocom. Impostazioni). Il file [Link] ora dovrebbe assomigliare
Un file Z-code è infatti un'immagine di memoria per un a questo [Fig. 3].
computer virtuale/immaginario chiamato Z-machine.
Sebbene la Z-machine non esista, può essere emulata su Ora cambia il testo nella riga che inizia con Titolo costante
un'ampia gamma di piattaforme, inclusi i computer a 8 (riga 9 dall'alto). Cambia Un gioco di esempio in Questo
bit degli anni Ottanta, ma anche computer a 16 bit come è il mio primo gioco o qualcos'altro che trovi divertente.
Commodore Amiga e Atari ST, nonché computer con Salvare il file.
sistema operativo MS-DOS, qualsiasi versione di Windows,
Mac OS, Unix, Linux, Android: qualunque sia la tua scelta. Passaggio 5: compila il gioco
Ci vuole solo un interprete Z-code (un emulatore per Z-
machine) per quella piattaforma. Esiste un interprete Avvia un prompt dei comandi (in Windows 10, fai clic
molto popolare chiamato Frotz, che è stato portato su sull'icona Start di Windows sulla barra dei menu di Windows
molte piattaforme diverse. Per Windows, ti consiglio di e digita cmd, quindi fai clic su Prompt dei comandi.) Ora
procurarti Windows Frotz. usa il CD dei comandi per andare alla cartella base di
PunyInform. Se si trova su un dispositivo diverso, puoi
digitare la lettera del dispositivo e ":" per passare prima
a quel dispositivo, come D: e poi CD per andare alla cartella
giusta. CD .. sale di un livello e CD \ (che è un carattere
barra rovesciata) va alla cartella principale del dispositivo
corrente. Se inizi a scrivere il nome di una cartella, puoi
premere più volte il tasto TAB per visualizzare tutti i file
e le cartelle con un nome corrispondente. Utilizzare DIR
per elencare i file nella cartella corrente [Fig. 4].
a utilizzare le opzioni della riga di comando -e (per utilizzare Ora creiamo una versione Commodore 64 del tuo gioco.
le abbreviazioni delle stringhe, rendendo il file della storia Per fare ciò, raggrupperemo il file della storia con un
più piccolo) e -s (per stampare alcune statistiche sul file interprete Z-code chiamato Ozmoo. Vai a
della storia prodotto).
[Link]
Passaggio 6: avvia il gioco in Windows Frotz
Nella sezione "Carica file Z-code", seleziona il file mygame.z3
Ora usa Esplora risorse per andare alla cartella base e fai clic su "Carica". Quindi, in Costruisci gioco, assicurati
PunyInform. Dovresti vedere mygame.z3 lì. Fare doppio che il file della storia mygame.z3 sia selezionato, quindi
clic su di esso. Il gioco ora dovrebbe avviarsi in Windows scorri fino alla fine della pagina e fai clic su "Costruisci".
Frotz [Fig. 5]. Se tutto va bene, riceverai un messaggio che il gioco è
stato creato con successo e sotto File puoi vedere
Passaggio 7: trasforma il tuo gioco in un'immagine disco mygame.d64. Fare clic sul nome del file per scaricare il file.
C64
Pagina 30 di 83 RETROMAGAZINE WORLD ANNO 8 - NUMERO 47
SOFTWARE
Una volta terminato il caricamento del gioco, assicurati Designer’s Manual, 4^ edizione:
che la modalità Warp sia disattivata, digita esegui e premi [Link]
Invio.
Un forum amichevole dove chiedere aiuto:
Il gioco ora si decomprime e poi si avvia [Fig. 6]. [Link]
Continuano i nostri esperimenti con il Fortran utilizzando Vediamo subito un esempio pratico per utilizzare il comando
il compilatore Abacus Fortran-64 sul Commodore 64. MEM nei nostri programmi Fortran:
Nei numeri precedenti abbiamo visto come scrivere,
compilare ed eseguire programmi di crescente complessitá 10 : program col
con questo strumento; questa volta peró proveremo a 15 :* this program writes
spingerci un po' piú in lá. 16 :* a list of numbers
Chi programma in Basic sul Commodore 64, sa come 17 :* from 1 to 16
questo linguaggio sia estremamente limitato su questa 18 :* with different colors
macchina e pertanto occorra ricorrere a due comandi 20 : integer a,b
particolari per leggere e scrivere direttamente in memoria 30 : open 3,3
sbloccando alcune funzioni altrimenti inutilizzabili. 40 : do 10 i = 1, 16, 1
Ovviamente mi riferisco ai comandi PEEK (per leggere) 45 : mem (646) = i
e POKE (per scrivere). 50 : write (3,100) i
L'Abacus Fortran-64 si comporta esattamente alla stessa 60 : 10 continue
maniera: il set di comandi base é limitato, ma fortunatamente 65 : close 3
ci é stato dato modo di accedere direttamente alla memoria 70 : stop
tramite il comando MEM che emula esattamente quello 80 : 100 format(i5)
che fanno PEEK e POKE in Basic. 90 : end
NOTE:
1) L'uso di MEM sul lato sinistro di un'equazione è
equivalente al POKE in BASIC. L'uso di MEM sul lato destro
di un'equazione equivale al PEEK in BASIC.
scroll fine orizzontale possiamo simulare un terremto a video. Espressione logica puó invece utilizzare i seguenti operatori:
.EQ. - equal
5 for i =1 to 50 .NE. - not equal
10 x=x+1: if x=7 then x=x .LT. - less than
20 poke53270,(peek(53270) and 240) or abs(x) .GT. - greater than
30 next i .GE. - greater than or equal
La funzione ABS(), che corrisponde a quella del Basic.
Questo é un ottimo esempio di come utilizzare il comando Ed infine gli operandi AND e OR, che in Abacus Fortran-
PEEK e POKE. Se volessimo replicare il programma in 64 si scrivono rispettivamente .AND. e .OR.
Abacus Fortran-64 dovremmo scrivere:
Il programma Helic
10 : program ter La domanda a questo punto sorge spontanea... Possiamo
15 :* this program simulates utilizzare il comando MEM per disegnare ed animare sprite
17 :* an earthquake on the screen in Fortran? La risposta é ovviamente affermativa.
20 : integer x,y Il programma qui sotto dimostra come sia possibile
40 : do 10 i = 1, 50, 1 disegnare uno sprite, in questo caso specifico un elicottero,
45 : x=x+1 e muoverlo per lo schermo utilizzando il joystick in porta
46 : if (x .eq. 7) then 2. L'esempio e' tratto da un programma allegato al disco
47 : x=x dell'Abacus Fortran-64.
48 : endif
50 : y=(mem (53270) .and. 240) .or. abs(x) 1000 : *program sprite display
55 : mem (53270)=y 1010 : *use joystick in port 2
60 : 10 continue 1020 : *to move sprite
70 : stop 1030 : program helic
ROTOR RAMPAGE
Recensione del gioco ed intervista con gli sviluppatori
a cura di Gianluca Girelli
Abbiamo una missione, qui a Retromagazine World: Siamo quindi lieti di presentare ai nostri lettori un
preservare il passato e portarlo nel futuro. Il passato a nuovissimo gioco, Rotor Rampage, sviluppato appositamente
cui siamo interessati è, ovviamente, quello che riguarda per il meraviglioso Commodore PET da Dave Duke e Ken
i sistemi retro in ogni forma possibile, dallo studio, McIlveen.
riparazione e/o miglioramento dell'hardware al recupero,
conservazione e/o sviluppo di nuovo software.
altri dettagli. Ecco cosa mi hanno detto. dei giochi dell'epoca. Ho deciso che doveva essere caricato
da disco per essere il migliore possibile. A causa dei
RM: Ciao Dave, puoi raccontare ai nostri lettori qualcosa problemi di memoria e della velocità di esecuzione era
Dave: Sono sempre stato appassionato di informatica e e questo si è rivelato un problema significativo. Le routine
in particolare del PET, una meraviglia che la gente di accesso al disco su un Commodore PET in linguaggio
cominciava a buttare nella spazzatura quando uscivano macchina erano impossibili da trovare, pertanto il progetto
nuove macchine ma che io continuo a collezionare e rimase congelato per diversi anni finché non incontrai
RM: Quando è iniziato tutto questo? Si è scoperto che Ken aveva alcune routine dei primi anni
Dave: Ho iniziato a restaurare macchine circa vent'anni '80 che potevano accedere ai dati del floppy disk dal
PET, che alla fine ho spedito in tutto il mondo, comprese Bingo, avevamo gli strumenti per costruire ciò che sognavo
Lo staff di RMW è lieto di avere l'opportunità di incontrare interessi personali al di là del lavoro, ecc.)?
Richard del gruppo TND (The New Dimension), coder,
programmatore, sviluppatore, musicista, grafico, redattore RTND: Salve, mi chiamo Richard e vengo dal Regno Unito.
di diskmag, webmaster, blogger, ecc. Se pensate ad un In realtà non vorrei dare troppe informazioni sul mio
ruolo nella “scena” del retrocomputing, e in particolare conto, sulla mia istruzione, ecc. Come ogni buon inglese
in quella relativa al Commodore 64, beh, Richard lo ha sono una persona molto riservata per natura! I miei
sicuramente ricoperto e lo ricopre tuttora. Un vero fan interessi personali, al di là del mio lavoro, includono:
del computer a 8 bit più famoso del mondo e un grande videogiochi/retrocomputing, giocare a biliardo, freccette
sostenitore e divulgatore della Scena, allora cerchiamo e fare lunghe passeggiate. Non ho molto interesse per la
di saperne di più sulle attività di Richard. televisione di oggi a causa della scarsa qualità dei
programmi che ho sempre subito intorno agli anni 2000.
DLM: Ciao Richard e grazie mille per aver accettato il
mio invito per un'intervista. Tutti i lettori e la redazione DLM: Immagino che tu sia sempre stato un appassionato
di RMW sono molto contenti di avere l'opportunità di e un utente di computer fin da quando eri bambino. Cosa
farti alcune domande sulla tua esperienza nel mondo ti ha spinto sulla strada dell'informatica e qual è stata
underground della computer scene targata C64. la tua prima esperienza con un computer? Il Commodore
64 è stato il suo primo micro computer?
RTND: Salve. È un vero piacere partecipare all'intervista.
Sono felice di rispondere alle tue domande e di cercare RTND: Hai assolutamente ragione, e no, il Commodore
di fornire quante più informazioni possibili sulla mia storia 64 non è stato il mio primo micro! Il mio primo home
vissuta accanto al C64. computer è stato in realtà un Commodore VIC20 di
seconda mano dotato di lettore di cassette C2N e anche
DLM: Puoi presentarti brevemente e raccontarci qualcosa una cartuccia di espansione RAM da 3K per riprodurre
della tua vita (ad esempio, di dove sei, la tua formazione alcuni titoli “Bubble Bus”. La maggior parte delle cassette
scolastica, la tua crescita e le tue inclinazioni, i tuoi che mi ero procurato erano per il VIC20 non espanso.
All'epoca avevo solo 9 o 10 anni quando presi questo
computer. Ricordo con piacere quanto divertimento provati
giocando a diversi giochi per VIC20. Devo dire che i giochi
che mi sono piaciuti di più in assoluto sono stati proprio
quelli per il VIC20. Titoli come VIC Avenger, un gioco alla
maniera di Space Invaders. Ricordo anche Triad, una
variante di Galaxian. Mi piacevano anche Space Rescue,
Duck Shoot e Super Breakout.
DMC Album - Un ampio selettore musicale Nel 1990 era estremamente difficile acquistare i giochi
contenente i fantastici brani di Richard.
Pagina 40 di 83 RETROMAGAZINE WORLD ANNO 8 - NUMERO 47
RETROINTERVIEW
grezza direttamente sul computer. Poi, in un secondo migliore da fare sia lasciare la temporizzazione raster per
momento, avrei migliorato un po' le cose. una demo/intro o qualcosa del genere come ultima parte
Quando si tratta di fare musica, sperimento con gli editor prima dell’effettiva pubblicazione.
musicali e i tracker finché non ottengo i brani giusti che
ritengo adatti alle mie produzioni. Una vera sfida per me, che non ho mai affrontato davvero,
è lo scorrimento a doppio buffer nei giochi. Soprattutto
DLM: La tecnologia e molti strumenti di sviluppo sono perché la maggior parte delle volte non ho abbastanza
sicuramente cambiati nel corso di questi anni, ma per memoria per farlo. La RAM di solito viene assorbita da
quanto riguarda la parte creativa del tuo lavoro, affronti altri dati. Questo è il motivo per cui la maggior parte dei
ancora il processo nello stesso modo in cui hai lavorato miei giochi usa solo tre colori se utilizza lo scorrimento
per le tue produzioni più recenti? verticale o orizzontale della mappa di gioco. Amazon
Tales, per esempio, usa più colori, ma non utilizza il double-
RTND: Concordo con te che gli strumenti di sviluppo sono buffering.
cambiati nel corso degli anni. Anche se la maggior parte
del tempo, uso tool di cross-development, come C64Studio, DLM: Qual è stato/è il tuo gioco preferito per C64? Trovi
CBMPRGStudio per la programmazione, Cuneiform, Char ancora un po' di tempo per giocare ai videogiochi?
Pad, Multipaint e Sprite Pad per la grafica, ed Exomizer
per la compressione. Uso anche l’emulatore VICE per i RTND: Per quanto riguarda i giochi preferiti, il mio gioco
test. In questo modo il processo di sviluppo, compressione preferito di sempre per il C64 è “Mayhem in Monsterland”.
e test del gioco è più breve rispetto a quello che si faceva Ricordo di aver provato la demo giocabile del gioco nel
un tempo. 1993, quando Commodore Format lo regalò sul nastro
Power Pack a doppia cassetta del numero 37. Alla fine
Usavo una cartuccia freezer come Action Replay, dischi ho acquistato la versione completa su disco. Rimasi molto
di utilità di pubblico dominio per creare e sviluppare colpito dalla presentazione generale, dalla grafica e dal
grafica e musica e Turbo Assembler per programmare il concetto.
software. Mi sono divertito molto con questi strumenti.
In realtà, di tanto in tanto li uso ancora :-). C'è anche un altro mio gioco preferito per C64 che è una
vera sfida da giocare. Si tratta naturalmente di Armalyte.
DLM: Qual è stato il più grande ostacolo tecnico che hai Per me è forse uno degli shoot'em up su C64 più difficili
superato durante la progettazione/programmazione/
test delle tue produzioni per le macchine a 8 bit (C64)?
DLM: Parlando di brani SID, qual è il tuo artista/musicista/ RTND: In realtà non sono un grande collezionista di
compositore preferito di sempre per il C64? computer retro. Tuttavia, ho collezionato una discreta
quantità di giochi per C64 su cassetta. Si tratta
RTND: Sicuramente Jeroen Tel perché le sue melodie nei principalmente di giochi economici e nastri di allegati alle
giochi per C64 sono orecchiabili e memorabili. copertine delle riviste (Commodore Format Power Pack,
Zzap! 64 Mega Tape, Commodore Force Reel Action).
DLM: Ora una domanda che tutti vorrebbero farti come Sono sempre stato legato al C64 e ne ho avuti 5 in passato,
di cui tre sono ora difettosi e uno è stato distrutto da un squadra ci può essere molta più qualità in una produzione.
bambino in visita a casa mia. Erano tutti C64C. Mi piace sviluppare per il C64 per divertimento, non per
soldi. È sempre una buona idea collaborare con altre
La motherboard del mio C64C più longevo è stato sostituito persone. Loro tendono a testare il mio materiale e a
da un Ultimate64 nel vecchio case C64C a causa di segnalare qualsiasi bug da risolvere, oppure mi consigliano
problemi di alimentazione. Ricordo che questo C64C i miglioramenti che possono essere realizzati in una
mostrava una debole e grande linea nera che scorreva produzione C64 in base all’esperienza comune.
sullo schermo e la mappa caratteri si confondeva. Quindi,
come ultima risorsa, l'Ultimate 64 è stato un ottimo DLM: Sono sicuro che negli ultimi anni hai lavorato molto
sostituto per me. duramente ai tuoi progetti, ma anche che ti sei divertito
molto nel farlo. Qual è il momento o la storia più divertente/
Tra le altre tecnologie retro che possiedo ci sono un strana che hai vissuto mentre lavoravi alle tue produzioni?
computer C64 Mini e un C64 Maxi (sul quale posso anche
giocare a giochi VIC20 memorabili). Ho anche una mini RTND: Sviluppare produzioni per C64 è stato davvero
console NES Classic, un Evercade VS prima edizione per molto divertente. A volte può diventare un grattacapo
i giochi retro non legati al C64. Ho anche una macchina quando affronta la fase di correzione dei bug all'ultimo
arcade personalizzata che mio fratello ha realizzato per minuto, ma il risultato complessivo di solito è piuttosto
il mio 40° compleanno qualche anno fa. buono (o cattivo).
DLM: All'inizio lavoravi da solo sul C64, in squadra o A proposito del momento più divertente dello sviluppo di
semplicemente ti consultavi con altri coder per ottenere un nuovo gioco per C64: il momento più divertente (e
un particolare risultato o per risolvere un bug nel tuo forse esilarante) è accaduto nel 2022. Ho visto un sondaggio
codice? Cosa preferisci in generale, lavorare in un team su Twitter pubblicato dal Commodore Format Archive.
o da solo? C'era scritto:
“theC64”). Ho provato la mini console nell'aprile 2018, La sezione SEUCK School si basa sul miglioramento dei
prima di preordinare una Ultimate 64 nel giugno 2018 giochi creati con Shoot’Em Up Construction Kit. Si va
(quando il mio Commodore 64 ha cominciato ad avere dall'aggiunta di musica ai front-end e al gioco, fino alla
problemi). Con l'insorgere della comunità retro che si realizzazione di giochi SEUCK completi, come la creazione
preparava a creare nuovi giochi per questa console, ho di un nuovo front-end, l'aggiunta di potenziamenti e molto
deciso di espandere “Assemble It” e di renderla ancora altro. Alcuni fanatici di SEUCK hanno persino contribuito
migliore di prima. Questa volta “Assemble It” era basata a fornire alcuni suggerimenti per il miglioramento di
su IDE moderni piuttosto che su Turbo Assembler. Poiché SEUCK. Ho inserito anche un servizio speciale sul motore
all'epoca usavo molto ACME Assembler, decisi di usare di SEUCK Redux.
C64 Studio come strumento principale per scrivere il
codice e anche strumenti di cross-development come DLM: Tra le tue numerose pubblicazioni ci sono molti
Char Pad e Sprite Pad per la grafica, Goat Tracker per la giochi SEUCK. Quando hai incontrato per la prima volta
musica ed Exomizer per la compressione. questo strumento di sviluppo e perché ti è piaciuto così
tanto da esplorare tutte le possibilità disponibili per
La nuova sezione “Assemble It” non riguarda solo la creare giochi?
creazione e lo sviluppo di un nuovo gioco per C64. C'è un
po' di programmazione introduttiva, creazione di demo, RTND: Ho incontrato per la prima volta il SEUCK nel 1990,
masterizzazione di dischi, nastri e cartucce e infine una perché era incluso nel pacchetto "Light Fantastic" del
sezione con i miei giochi precedentemente rilasciati mio Commodore 64C. Mi piaceva molto perché all'epoca
completi di codice sorgente. non dovevo fare alcuna programmazione. Creare un gioco
Sub Hunter - Una vagonata d'azione in questo superbo sparatutto disseminato di nemici sotto il mare
utilizzando il kit era piuttosto semplice. SEUCK ha fatto diskmag prima di diventare qualcosa di grande su Internet.
parte del tempo la passo a programmare. TND. Ancora una volta, lo ringraziamo per aver dedicato
il suo tempo a rispondere alle nostre domande. Speriamo
DLM: Hai lavorato almeno su due diversi diskmag, che i lettori si siano divertiti a leggerla e possano trarre
"GameOverview" e "Scene World", quest'ultimo ispirazione dalle numerose attività di Richard e dalla
probabilmente il più famoso diskmag per C64 insieme passione che mette in tutti i suoi lavori.
a Vandalism News.
Eri un lettore di diskmag prima di entrare nello staff di
Riferimenti
un diskmag e diventare redattore?
TND
- [Link]
RTND: Non mi sono occupato attivamente di GameOverview,
ma ho contribuito alle uscite con della musica. Scene SWO
- [Link]
World è stato l'unico diskmag per il quale ho scritto
principalmente materiale. Sono stato anche un lettore di RCB (pagina CSDB di Richard)
- [Link]
alcuni diskmag della scena prima di entrare come redattore
di Scene World. Mi piacevano soprattutto i diskmag che Richard's GitHub page
- [Link]
contenevano software bonus da caricare ed eseguire o
da cui imparare il codice. Scene World era un piccolo
elettrica, sono basate unicamente sul principio ferramenta e della cucina, oggettistica inerente alla
meccanico di ricevere monete da 100 yen per poi metropolitana di Tokyo ed altre metropolitane e
emettere una pallina tramite la rotazione manuale di ditte, con le varie fermate scritte in mini targhette di
una manovella rotonda. Il nome Gachapon è proprio plastica, oppure miniature di oggetti classici presenti
dato dal rumore di questa manovella che viene nella vita quotidiana, etc... non c'è limite alla fantasia
emesso mentre la giriamo con la nostra mano, dopo della collezione di tali miniature! Spesso anche
aver inserito il corretto numero di monete. Un suono fantasie estreme e "fantasie adulte", ve ne parlerò
plasticoso simile appunto a "gachagachagacha". nei prossimi articoli! Una serie alla quale noi
Dopo aver girato la manovella viene sbloccato il "boomer" non riusciamo proprio a sottrarci quando
serbatoio di sfere contenute e cade una palletta fuori vediamo i Gachapon in Giappone è quella dei
dalla macchinetta, nell'apposito recipiente, con il Kinnikuman e Wrestler vari, questo perchè in passato
classico tonfo "pon". Ecco svelato il termine in Occidente erano approdati i pupazzetti di plastica
Gachapon. I giapponesi spesso usano questa logica dei "m.u.s.c.l.e.". In Italia per esempio abbiamo
onomatopeica per arricchire molti sostantivi e verbi, vissuto la saga dei famosi "Exogini", una linea
per esempio "dokidoki" dimostra la tensione emotiva lanciata nel 1987 dalla GIG. L'idea originaria di
del batticuore appunto tramite la ripetizione del questi pupazzetti in realtà nasce in Giappone con
suono del battito stesso. delle plastiche morbide, simili alla gomma da
I principali marchi registrati di questi Gachapon sono cancellare, dell'eroe Kinnikuman, nel 1979.
Takara Tomy e soprattutto Bandai. Sono entrambi Gommine subito reputate oggetto da collezione in
marchi talmente famosi che ogni presentazione è terra nipponica. In Italia gli Exogini erano sbarcati
superflua, oltretutto Takara Tomy ha recentemente con una storia sbrigativa e poco definita, pupazzetti
spedito sulla luna dei mini rover (SORAQ) sferici che alieni giunti sulla Terra in qualità di lottatori, fine!
sono riusciti a svolgere svariate missioni con Erano di plastica rigida, sviluppati in quattro serie, in
successo. varie colorazioni e trasparenze.
Peccato che il lander principale sia atterrato in I quaranta personaggi che costituiscono la prima
posizione obliqua. Ad ogni modo i giapponesi serie erano chiamati Exogini in Italia, invece si
imparano presto dai propri errori e sicuramente la chiamavano Muscleman in Francia e Musculman in
prossima missione sarà più proficua. Spagna. In Italia non erano presenti dentro i
Ritorniamo ai nostri centri commerciali giapponesi distributori di pallette, erano venduti in diversi
con aree dedicate a vasti corridoi pieni zeppi di formati unicamente dentro negozi fisici, per esempio
queste macchinette. Possiamo immaginare queste in edicola. Erano distribuiti singolarmente in bustine,
vie affollate da bambini rumorosi! No, nulla di più al prezzo di 500 lire italiane. In seguito furono
sbagliato! Per ogni bambino silenzioso che sceglie venduti anche in barattoli da dieci pezzi (4500 lire) e
con cura dove spendere le proprie monete, ci sono piramidi da venti o quaranta pezzi (rispettivamente
almeno due madri che chiacchierano scegliendo la 8000 e 12000 lire). Si suddividono, oltre che per
propria macchinetta, magari commentando qualche personaggio, anche per colore: i classici rosa, verde,
aneddoto buffo inerente all'oggetto che uscirà dal arancione trasparenti e color carne opaco, più due
Gachapon desiderato. Ovviamente parliamo di una colori speciali trasparenti contenenti brillantini. In
palletta desiderata e non scontata, infatti in ogni seguito, visto l'enorme successo, furono ristampati
macchinetta esiste una serie ben precisa di varianti in nuovi colori: blu metallizzato, grigio metallizzato,
dell'oggetto che viene distribuito. Esempio semplice: bianco, nero e viola e altre colorazioni. Un successo
essendo musicista sono stato inizialmente catturato strepitoso! Ad oggi vengono collezionati e addirittura
da un Gachapon che distribuiva miniature di riprodotti con nuove varianti da numerose persone in
strumenti musicali, il set di questi strumenti era diversi paesi dell'Europa. Ben quattro longeve serie
composto da pianoforte, tromba, clarinetto, di Exogini! Nulla in confronto alla longevità di questi
sassofono, etc... pupazzetti in Giappone. Presenti saldamente ancora
Addirittura c'è una serie di pianoforti della Kawai per oggi, in numerosi formati, colorazioni e finiture.
completare tutta la serie del solo strumento del Addirittura non solo gomma. Siccome il discorso
pianoforte. Figuriamoci quanti modelli potrebbero Kinnikuman Vs Exogini è realmente titanico, vi ho
esistere per ciascun strumento musicale dentro allegato una foto della bellissima miniatura del
quella macchinetta! Questo pianoforte è realmente pianoforte e di un bellissimo pezzo della "Bandai" di
fedele, addirittura il coperchio superiore è apribile e metallo. Così posso accendervi la curiosità per
c'è una graziosa asta sottilissima per bloccarlo in questi Gachapon e posso rimandarvi al prossimo
apertura. Strabiliante. articolo che si intitolerà "Gachagacha... pon!".
Altre miniature erano dedicate alle varie mascotte Alla prossima lettura, in questo viaggio nel passato
dei loro vari canali televisivi, di determinati articoli di ormai ritornato attuale, con ottime prospettive per il
bevande e cibo, personaggi famosi, animali rari futuro. Praticamente lo specchio della loro filosofia.
(Balaeniceps rex!) e d'affezione, utensili della A presto!
Anno: 2024
Editore.: Syx, Red Angel
Genere: Action Arcade
PANG+
Piattaforma: Amstrad GX4000
Sito web: https://
[Link]/cepeceros/
descargas/pang-plus-correccion-
de-errores-y-mejoras-graficas-por-
syx-y-redangel/
Questa versione “Plus” si può accostare di Carlo Nithaiah Del Mar Pirazzini
senza dubbio alle versioni a 16 bit e,
in termini di ottimizzazione, superarle.
GIUDIZIO FINALE
» Giocabilità 90%
Pang è un classico del suo
genere e questa versione è
praticamente perfetta.
» Longevità 90%
Valgono le dinamiche del gioco
arcade. Pang è un gioco che va
perfezionato partita dopo
partita.
SHADOW
Anno: 2022
Editore/Sviluppatore: Wave
GANGS
Game Studios, JKM Corp
Genere: Beat em up
Piattaforma: Sega DREAMCAST
GIUDIZIO FINALE
» Giocabilità 75%
Controlli precisi ma indice di
difficoltà mostruoso già dal
primo livello. Omaggia Shinobi
alla perfezione.
» Longevità 70%
Adatto agli appassionati del
genere.
di Giampaolo Moraschi
Anno: 2024
GREAT GIANA
Editore/Sviluppatore: TCFS,
Unreal, Csabo
Genere: Platform
GIUDIZIO FINALE
» Giocabilità 90%
C’è tutto il colorato mondo di
Giana Sisters e si muove
davvero con stile anche su Plus
4.
» Longevità 95%
33 livelli di gioco e un
grandissimo gameplay.
Anno: 1995/2024
KING OF Editore/Sviluppatore:
Genere: Action/Platform
GIUDIZIO FINALE
» Giocabilità 90%
Ottimo sistema di controllo e un
bel level design. Il gioco si
lascia esplorare molto bene.
» Longevità 75%
I livelli sono troppo pochi. Ne
avrei voluti giocare ancora e
ancora…
mutato Abel diventa uno strano costrutto memorabili realizzati da Hiroshi Lizuka
che ricorda Devilman. e Tomohiro Endo.
Interessante questo plus in gioco che Rendono l’inferno un luogo ancora più
permette di affrontare alcuni livelli inquietante.
davvero impossibili in forma umana. Il titolo negli anni è diventato un pezzo
Vale la pena soffermarsi che questo è di culto e finalmente è possibile giocarlo
un gioco dal tono molto oscuro. Non in versione fisica dopo aver apprezzato
c’è gioia, né emozione, c’è tanto gore la traduzione del 2005 in una
e la trama è molto malinconica. interessante patch.
Come già accennato il comparto tecnico Un titolo che però merita di essere
è decisamente di grande livello ma il riscoperto e magari aggiunto in formato
gioco soffre di una bassa longevità. Il fisico nella propria ludoteca.
sette gironi infernali sono pochi e in
circa mezz’ora di pratica si porta a casa di Roberto Del Mar Pirazzini
la pellaccia.
Una menzione speciale va alla colonna
sonora che contiene alcuni brani
GOEMON
Editore/Sviluppatore: Konami /
Accadiez
Genere: Platform/Adventure
THE GRAND
Piattaforma: Playstation 1
Patch uk: https://
[Link]/
CYCLE OF OEDO translations/7256/
GIUDIZIO FINALE
» Giocabilità 90%
Level design bello e un
grandissimo lavoro in termini di
game play in puro stile Capcom
che, grazie alla patch, possiamo
approcciare ancora meglio.
» Longevità 80%
E’ uno dei titoli che si terminano
più velocemente ma è un gran
bel giocare.
Suguroku (il tiolo per Nintendo 64). L’ostacolo della lingua nipponica non
Se dovessi trovare una definizione per è mai stato bloccante nella versione
questa versione PS1 dire che si tratta originale, ma leggere il testo in inglese
di un “best of” dei migliori elementi rende più scorrevole la trama e facilita
della saga condito dal proverbiale le risate.
gameplay e dal bel level design in puro Un titolo da riscoprire per la vostra
stile Konami. PS1 e da provare anche in questa sua
La traduzione effettuata da Accadiez versione nella lingua d’Albione.
rende più godibile il gioco e si applica
al titolo (tramite patch della rom, a di Roberto Del Mar Pirazzini
patto di possedere un originale )
attraverso il classico xdelda, applicazione
leggerissima scaricabile gratuitamente
dalla rete.
Anno: 2024
Editore/Sviluppatore: PPixel
ALICE SISTERS
Heart/Orion Soft
Genere: Platform/Puzzle
Piattaforma: Atari Falcon
Sito web: https://
[Link]/alice-sisters
GIUDIZIO FINALE
» Giocabilità 85%
L’uso del joystick spiazza
inizialmente (il salto si fa
premendo in alto e non come
su megadrive col secondo
tasto) ma il gioco è ben
sviluppato e divertente.
» Longevità 95%
Tanti livelli, 4 modalità di gioco
e diverse ore da passarci
sopra.
di Giampaolo Moraschi
Anno: 2024
Editore/Sviluppatore: Eric Carr
TETRIS
Genere: Puzzle
Piattaforma: Atari 8bit (800
48k, XE/XL)
Sito web: [Link]
tetris-atari-8-bit-by-eric-carr
GIUDIZIO FINALE
» Giocabilità 90%
Possono 10 righe essere
perfette? Si. Qui c’è tutta la
magia del TETRIS ed un
grande omaggio alla versione
NES.
» Longevità 99%
Eterno.
Anno: 2023
Editore/Sviluppatore: PiXEL
XIAOMEI AND THE Genere: Beat em up
Piattaforma: Sega Megadrive
GIUDIZIO FINALE
» Giocabilità 30%
Il comparto audio/visivo è
scarso, ma il vero punto
dolente è un gameplay terribile
e una pochezza di idee
assurda.
» Longevità 10%
Mi sono divertito quando lo
schermo era ancora spento e
la console... pure.
Anno: 2024
Editore/Sviluppatore: Icon 64
– Psyktronik
HARHARGON
Genere: Action/Platform
Piattaforma: Commodore 64
Sito web: https://
[Link]/newsite/
[Link]/c64/147-
harharagon
GIUDIZIO FINALE
» Giocabilità 80%
Un titolo ben congeniato nella
sua struttura. Semplice nei
comandi e con un buon sistema
di fuoco del protagonista.
» Longevità 80%
Offre un buon grado di sfida con
le sue 230 stanze. Alcune sono
ripetute ma non ce ne
accorgiamo nemmeno.
anni 80. Martellante e ben sviluppata e riproduzione dei nemici. Nulla di che
che utilizza in modo completo il SID. in termini di giocabilità e di divertimento.
C’è molto da apprezzare in Harharagon.
Il gioco è semplice da apprendere e
fornisce un grado di sfida crescente. È ben realizzato nel suo insieme anche
La schermata in game mostra l’azione se non offre nulla di nuovo nel panorama
in gioco con in basso il menù degli di questo genere su C64.
oggetti e lateralmente la mappa della
prigione che, esplorata, ci mostrerà il Però è divertente e di sicuro vi piacerà
percorso fatto, le uscite e le zone
contenenti oggetti e quant’altro. di Carlo Nithaiah Del Mar Pirazzini
Anno: 2024
Sviluppatore: TheNestruo
TRUCHO
Genere: Action game
Piattaforma: MSX
Sito web: https://
[Link]/trucho -
[Link]
GIUDIZIO FINALE
» Giocabilità 90%
Semplici ma completi comandi
di gioco ed un gameplay
davvero interessante e che tiene
incollati alla sfida.
» Longevità 80%
Se amate questo tipo di giochi è
perfetto. Se cercate qualcosa di
più “dinamico” forse è il titolo
meno indicato. Resta comunque
un gioco davvero ben fatto e con
cromatiche e la possibilità di utilizzare Il titolo è disponibile a pagamento in
una curva della difficoltà
alcune tecniche in gioco come il due versioni: in versione fisica, corredata eccellente.
richiamare l’attenzione dei pesci verso da un bel manuale, da una confezione
l’esca. davvero bella e un gadget (oltre alla
Un gioco sviluppato con criterio tecnico cartuccia); e in versione flash rom a
e dotato anche di una simpatica soli 5,26 con i file necessari per giocare.
musichetta e dei buoni effetti sonori.
Certo è un gioco mirato agli appassionati di Carlo Nithaiah Del Mar Pirazzini
di pesca o a chi cerca qualcosa senza
troppe pretese, ma è sicuramente da
provare.
Anno: 2024
Editore/Sviluppatore: Psytronik
GOOD KNIGHT
Software - Icon64
Genere: Platform
Piattaforma: Commodore 64
Sito web: https://
[Link]/good-kniight
GIUDIZIO FINALE
» Giocabilità 75%
Nella sua disarmante
semplicità è un titolo ben
strutturato e decisamente
letale nel suo metodo di
apprendimento dei livelli.
» Longevità 75%
Si muore spesso, molto
spesso, ma la voglia di vedere
tutti i livelli è tanta e non ci si
stacca dal pad tanto
facilmente.
Anno: 2024
SAVAGE
Editore/Sviluppatore:
Monster’s Legs
PRINCESS 2
Genere: Platform
Piattaforma: ZX Spectrum
Sito web: [Link]
[Link]/savage-princess-2
Chthulu si è risvegliato! Ed è
incacchiato nero! Perché lo hanno Per proseguire nell’avventura è
svegliato dal sonno eterno e perché necessario recuperare cinque gettoni:
è un Grande Antico che mira alla i primi 3 sono nel primo livello e 1
conquista del mondo. gettone nei livelli successivi. Solo
recuperati queste monetone
Ava, la principessa selvaggia, parte permetteranno a Ava di raggiungere
così per l’avventura con lo scopo di il titanico Chthulu.
ricacciare il mostro tentacolare negli
abissi della sua città R’lyeh…
ovviamente dopo aver imprecato come
uno scaricatore di porto…
GIUDIZIO FINALE
» Giocabilità 85%
Il titolo è ben sviluppato sotto
tutti i punti di vista e si lascia
gustare. L’umorismo folle è il
punto di forza.
» Longevità 80%
Non è lunghissimo ma è
lodevolissimo.
di Giampaolo Moraschi
Anno: 2024
Editore/Sviluppatore: Paxanga
GODZILLA BALLS
Software
Genere: Puzzle/Action
Piattaforma: MSX
Sito web: https://
[Link]/godzilla-balls
GIUDIZIO FINALE
» Giocabilità 90%
Semplice e stimolante nel suo
apprendimento e modo di
gioco. Ci piace molto la
collaborazione in game.
» Longevità 90%
Un titolo che si lascia giocare
senza troppi patemi e con il
grado giusto di difficoltà.
di Giampaolo Moraschi
Anno: 2024
Editore/Sviluppatore: Lunoka
Genere: Puzzle game
MAI NURSE
Piattaforma: Game Boy, Pc
Engine Turbo Grafx 16, Sega
Game Gear, Sega Master System
Sito: [Link]
630067/game-boy-games-
console-retro-homebrew-gbc?
game_id=2603919
Anno: 2024
BOMB JACK
Editore/Sviluppatore: MikGames
Genere: Platform
Piattaforma: Sega Master
THE REMAKE
System
Sito web: https://
[Link]/Homebrew/
BombJackRemake-SMS
Anno: 2024
Editore/Sviluppatore:
VoxVideogame
ARKON BLAZE
Genere: Shoot em up
Piattforma: Commodore 64
Sito web: https://
[Link]/arkon-
blaze-c64 - https://
[Link]/
GIUDIZIO FINALE
» Giocabilità 70%
Avrei osato di più ma quello
che c’è va bene.
» Longevità 75%
Non tanti mostri sullo schermo
ma la difficoltà è ben
strutturata.
Anno: 1983
RetroMagazine World
Anno 8 - Numero 47 - APRILE 2024
Direttore Responsabile
Francesco Fiorentini
Vice Direttore
Marco Pistorio
Coordinatore Redazione/Editing
David La Monaca
Responsabili Area Web / Social Media
Giorgio Balestrieri / Carlo Nithaiah Del Mar Pirazzini
Limited resources, such as restricted memory and processing power, significantly influenced the programming environment for the Commodore 64. Developers had to implement efficient code to maximize the machine's capabilities. They often used Assembly language for its direct control over hardware and minimal resource footprint. Developers like RTND also adapted by using available tools and learning resources, such as fanzines and early Internet access, to optimize programs. Emphasis on careful memory management and leveraging the SID chip for audio were common adaptations to work within these constraints, ensuring programs ran efficiently on limited hardware .
Translating code from BASIC to Assembly on the C64 improves performance due to Assembly’s ability to execute more efficiently by directly controlling the hardware. BASIC, being interpreted, had slower execution as it required translation into machine code at runtime. Assembly is close to machine code, thus it runs more directly on the CPU without the overhead of interpretation. For instance, executing 255 simulations took approximately 5 minutes and 30 seconds in BASIC, but this time was reduced to 34 seconds when compiled in Assembly, illustrating the significant performance improvement .
Assembly was chosen for optimizing C64 programs because it allows direct manipulation of the machine’s hardware, leading to faster and more efficient code execution compared to higher-level languages like BASIC. Assembly provides control over CPU registers and the ability to write time-critical code for performance optimization. The outcome was a substantial reduction in execution time; for example, the 255 simulations could be completed in just 34 seconds when using compiled Assembly code, as opposed to the significantly longer time with BASIC due to the added layers of abstraction in higher-level languages .
Technological challenges delayed the release of the C64 from its initial expected debut in the spring to August 1982. These challenges included resolving graphic artifacts from the video chip, addressing speed issues with the new disk drive, and adapting the operating system for new hardware. Such delays in releasing the C64 meant a postponed market entry during a critical period of technological advancement, potentially impacting early sales and allowing competitors to strengthen their market positions. Despite the delays, the C64's competitive price and features eventually contributed to its success .
The Commodore MAX differentiated itself from other game consoles of its time by being developed using the same chipset as the C64, allowing for game cartridge interchangeability. This design offered a unique feature where the C64 could 'become' a MAX when a cartridge was inserted. Unlike many consoles that required a separate keyboard accessory, the MAX included a built-in membrane keyboard. This allowed it to function both as a gaming console and a small computer, similar to products from other companies like the ColecoVision and Atari 2600. However, unlike those, the MAX's keyboard was integrated into its design .
After the CES presentation, engineers faced several challenges in finalizing the C64. They needed to convert the prototype into a producible computer. Some issues stemmed from the video chip, which displayed graphic artifacts under certain conditions. There were also challenges with the new disk drive due to read and write speed issues. Additionally, the operating system had to be adapted to the new hardware before the C64 could be commercially released. These technical difficulties delayed its launch from spring to August 1982 .
The primary goal of translating BASIC code into Assembly for the C64 simulations was to significantly increase execution speed. As BASIC on the C64 was not fast, executing 255 simulations would take around five and a half minutes. By using Assembly, which allowed more direct control over the hardware, these simulations ran in a much shorter time. The program translated the FOR-NEXT loop from BASIC into Assembly, placing code starting at memory location $C000, using memory locations $033C - $03FB to hold variables and timing each step precisely. This reduced the execution time to 34 seconds when compiled with Blitz Compiler, significantly faster than the uncompiled BASIC version .
By the late 1980s and early 1990s, the availability of new games for the VIC-20 had become quite limited, making it challenging for users to find new software. In contrast, educational computers like the BBC Micro, which was used in schools for educational games, maintained availability and popularity in educational contexts. The BBC Micro was often used for educational titles like POD and Symmetry, which were part of school curriculums. This difference illustrates how the VIC-20 was overshadowed in educational environments by computers specifically designed with educational purposes in mind, impacting its relevance and use .
International collaboration was crucial in the development and finalization of Commodore products like the MAX console. Initial development took place in the USA, leveraging the technical expertise available there. However, the finalization was completed in Japan, spearheaded by Yash Terakura at the local Commodore subsidiary. This collaboration allowed Commodore to benefit from diverse insights and innovations, ensuring the MAX was tailored for the Japanese market, which was essential for competing with native Japanese consoles. Such collaborations exemplified the importance of multinational teamwork in achieving strategic market goals .
To enable the C64 to emulate the MAX console, modifications included creating a compatibility mode where the memory map of the C64 matched that of the MAX upon cartridge insertion. This modification was necessary to make the game cartridges interchangeable between the two systems, effectively allowing the C64 to function as a MAX when a specific cartridge was used. This dual functionality added value to the C64, leveraging the MAX's design for broader market appeal and flexibility in product offerings .