di  -  venerdì 29 febbraio 2008

ZX SpectrumNon si tratta di un link appena sfornato, né tanto meno dell’ultima novità tecnologica, ma di una disputa che ha animato una generazione – ormai vicina agli “anta” – di appassionati d’informatica. E poi è venerdì: un po’ di tempo da dedicare al ricordo, o – per i più giovani – alla scoperta del giurassico informatico, lo si può trovare.

Il racconto da cui questo post trae spunto, è frutto della penna di Alfonso Martone, informatico napoletano di quelli tosti: quelli che hanno avuto il privilegio di osservare l’evoluzione informatica fin dall’alba dell’home computer.

Correva l’anno 1985, e agli angoli del ring sedevano due “colossi” dell’informatica:

ZX Spectrum: 550 grammi di tecnologia avanzata, CPU Z80 a 3.5Mhz, 48Kbyte di RAM, grafica da 256×192 punti a 8 colori, sonoro affidato a un beeper con 10 ottave di estensione.

Commodore 64: la potenza di una CPU 6510 a 0.985Mhz, 64Kbyte di RAM, audio a 3 voci per 9 ottave, risoluzione video 320×200.

Malgrado l’apparente differenza fra i numeri in campo, la sfida produsse risultati interessanti e per certi versi piuttosto inattesi, data l’enorme sproporzione fra le vendite di C64 – un blockbuster dell’informatica – e quelle dello ZX.

Vi lascio all’esilarante racconto del nostro Martone, popolato da personaggi mitologici dello scenario informatico napoletano degli anni ’80 e ricco di quell’agonismo tecnologico che oggi ha assunto la molto più noiosa e prevedibile veste del fanboyism. A lui vorrei in questa sede chiedere pubblicamente di dedicarsi di più alla scrittura di simili gesta: chiamatemi pure matusa, ma per me sono quelli i tempi degli eroi, tempi che non smetto di rimpiangere nell’epoca del Web, dei terabyte e dei gigahertz.

Buona lettura e buon weekend.

54 Commenti »

I commenti inseriti dai lettori di AppuntiDigitali non sono oggetto di moderazione preventiva, ma solo di eventuale filtro antispam. Qualora si ravvisi un contenuto non consono (offensivo o diffamatorio) si prega di contattare l'amministrazione di Appunti Digitali all'indirizzo info@appuntidigitali.it, specificando quale sia il commento in oggetto.

  • # 1
    Skyzoo73
     scrive: 

    …sigh!…mi sono commosso…sigh!….

  • # 2
    MCMXC
     scrive: 

    Che il BASIC del C64 fosse limitatissimo lo sapevo anche io a suo tempo…infatti il mio primo PC fu un Toshiba MSX avuto con l’enciclopedia…ed aveva un BASIC FAVOLOSO, che grazie a splendide istruzioni come il LOCATE(X,Y) permetteva di tracciare con precisione sullo schermo punti, linee, cerchi, ellissi sia piene che vuote e di animarle con cicli in cui si aggiornavano le coordinate! Peccato solo che all’epoca fossi interessato esclusivamente ai videogiochi e quindi lo snobbai^_______^;;;;;;;;

  • # 3
    Skyzoo73
     scrive: 

    e allora… io avevo (e conservo tuttora) un C=16 che pur non avendo le capacità videoludiche del fratello maggiore C=64, disponeva di un basic + avanzato (V3,5 se non erro)
    con cui era facilissimo programmare la grafica con linee,cerchi quadrati etc. Unico neo la scarsa disponibilità di memoria Ram.:(

    Comunque per chi si è cimentato con questo tipo di computer il racconto sopra meriterebbe l’oscar!!! Un pezzo di storia recente che molti similmente hanno vissuto!!

    Complimenti:)

  • # 4
    battagliacom
     scrive: 

    Il finale è degno di tutte le storie…rincontrarsi dopo tanto tempo e litigare subito per un computer…che tempi che dovevano essere!

  • # 5
    Alessio Di Domizio (Autore del post)
     scrive: 

    Questa storia rappresenta l’ennesima dimostrazione del fatto che nel mondo dell’informatica, non basta che un prodotto sia migliore dei competitor per prevalere. Vorrei comunque ricordare che la tastiera dello ZX era davvero più simile a quella di una calcolatrice che non a quella di un computer.
    E comunque il C64 rappresenta l’incarnazione perfetta dei valori della Commodore di Jack Tramiel: una macchina economica, spartana anche a costo di essere lacunosa e tecnologicamente rozza, posizionata aggressivamente sul mercato per vendere al massimo e fare a polpette la concorrenza (perlomeno sullo scaffale).

  • # 6
    Fausto
     scrive: 

    Che ricordi.. mi ricordo alle scuole medie feci un corso di programmazione basic con lo Z80!!! Che computer! Poi passai allo Spectrum48 perchè era decisamente meglio del 64. Un basic evoluto e di grande facilità. Poi i tasti veloci che scrivevano l’intero comando basic evitavano tante perdite di tempo di programmazione! Bei tempi … ero un ragazzino e come mi divertivo a giocare!

  • # 7
    mario-...
     scrive: 

    ragazzi io sono cresciuto con lo spectrum..e l’msx toshiba
    li ho avuti quando ero ancora in fasce…..
    sono nato nel 1983

  • # 8
    romeop
     scrive: 

    nel 1984 comprai lo spectrum e imparai il basic comprando una rivista a uscite settimanali e programmando lo spectrum…… non ricordo più le riviste che ho comprato e correvo avidamente a battere i listati….. ero in perenne competizione con un amico che aveva un C64 ma era furbo come una campana e ci giocava solamente mentre un altro aveva l’intellivision….
    che anni, mi ricordo che mia mamma capii che facevo sul serio quando gli ho chiesto le percentuali di utilizzo della macellazione dei maiali nel salumificio dove lavorava come impiegata… beh, ho fatto un programma in basic che chiedendo il peso del maiale indicava i chili di carne, di grasso, di scarti eccetera… un bel giorno l’ho fatto funzionare in sua presenza ed è rimasta sbalordita, pensava al costosissimo computer in azienda che per fare la stessa cosa chissà quanto era costato :)

  • # 9
    romeop
     scrive: 

    dimenticavo…. mi ha fatto immensamente piacere la citazione al mio Verona negli anni in cui dominava il campionato :D

  • # 10
    Enzo
     scrive: 

    1983 o 1984: acquistai una scheda analogico-digitale (8 bit, 400.000 lire!!!), che mi permise di collegare una macchina medicale allo ZX, eliminando la stampante poligrafica. Programmai tutto da solo, con grande soddisfazione. Funzionò tutto a dovere per 3 anni, senza un errore! Poi finì in un armadio per obsolescenza.
    Arricchii lo Zx con i microdrives (ve li ricordate?), piccoli e poveri sostituti degli HD.
    Bei tempi, soprattutto perché avevo 25 anni di meno.

  • # 11
    Galletti
     scrive: 

    Spettacolare don professore, davvero spettacolare, mi ha fatto ricordare la mostruosa libidine che provavo quando da bambino rimanevo da solo in casa, collegavo il C64 al televisore e riuscivo a rimanerci davanti più della misera ora concessa di solito dai miei…
    E a 7 anni mi chiedevo perchè mai solo 38 dei 64K disponibili fossero liberi…

  • # 12
    Galletti
     scrive: 

    Ricordo ( e forse ho ancora da qualche parte ) le cassettine che vendevano in edicola, piene di software famosi scopiazzati e con il nome modificato (per esempio Arkanoid inserito con il nome di “Muretti”) con un lato dedicato al c64 e uno dedicato allo spectrum…

  • # 13
    Atari ST: l’altro pretendente al trono - Appunti Digitali
     scrive: 

    […] di queste sono addirittura epiche, come quella fra Commodore 64 e ZX Spectrum, o quella che sto per raccontarvi […]

  • # 14
    CPC 464, il terzo incomodo - Appunti Digitali
     scrive: 

    […] tempi in cui Commodore 64 e Spectrum si contendevano il gruzzoletto accumulato per Natale, la comunione o il compleanno di milioni di […]

  • # 15
    Cristiano
     scrive: 

    Parafrasando una nota canzone “I migliori anni della nostra vita”!

  • # 16
    In principio era il BASIC… - Appunti Digitali
     scrive: 

    […] Vic 20 e il Sinclair ZX81 fecero da apripista, seguiti poco dopo dai “fratelloni” Commodore 64 e ZX Spectrum, che avevano una dotazione hardware superiore e vendettero milioni di […]

  • # 17
    Stefano
     scrive: 

    Sfida senza tempo…io possedevo un c64 (e lo possiedo tuttora) Il BASIC commodore in effetti era molto limitativo, però trovavi tanto tanto software a quattro soldi! Avrei voluto anche lo ZX però le finanze non permettevano di sperperare in micro…Ogi sono un tecnico informatico e vivo in mezzo ai pc, ma quando vedo un vecchio micro mi emoziono ancora…..

  • # 18
    E’ più veloce un 6502 a 1Mhz o uno Z80 a 3,5Mhz? - Appunti Digitali
     scrive: 

    […] nella prima metà degli anni ‘80, quando a dominare il mercato degli home computer erano il Commodore 64 e il Sinclair ZX Spectrum, che montavano il primo e il secondo […]

  • # 19
    Zak McKracken: come costruire una leggenda con $100.000 - Appunti Digitali
     scrive: 

    […] non gli impediscono di essere un capolavoro. Dal punto di vista grafico il gioco, uscito per Commodore 64 e quindi migrato a piattaforme più performanti come Amiga , Atari ST e infine FM Towns, non è […]

  • # 20
    Zzap!, la memoria storica del retrogamer - Appunti Digitali
     scrive: 

    […] dei sistemi basati su Motorola 68000 lo relegasse alla seconda fila. Erano anche gli anni delle epiche battaglie fra sessantaquattristi e spectrumisti, delle cassette in edicola di dubbia legalità, dei primi lettori floppy 1541 e dei genitori che, […]

  • # 21
    Spectrum: il ritorno al passato e la fine - Appunti Digitali
     scrive: 

    […] computer, nonché emblema della sua ascesa e del suo declino. Dopo esserci occupati dell’epica sfida fra ZX vs Commodore 64 , la racconteremo oggi attraverso l’epopea di alcuni dei suoi ultimi […]

  • # 22
    SID 6581: musica maestro, col… Commodore 64! - Appunti Digitali
     scrive: 

    […] Su una cosa, però, stranamente si trovava unanime accordo: le eccezionali capacità sonore del Commodore 64… […]

  • # 23
    pikappa
     scrive: 

    con lo ZX Spectrum ci girava pure un simulatore di volo

  • # 24
    Commodore 65, l’anello mancante - Appunti Digitali
     scrive: 

    […] quest’ultima categoria appartiene il Commodore 65, un prodotto ideato non per rimpiazzare il Commodore 64 (che nei primissimi anni ‘90, a 8 anni dal lancio, godeva ancora di un’ottima […]

  • # 25
    Ghandy
     scrive: 

    Sarò polemico ma…

    Premetto che possedevo e possiedo sia il 64 che lo spectrum…

    A me sinceramente quella pagina linkata mi sa di ignoranza per molte cose oltre ad essere palesemente di parte.

    Spectrum aveva di suo la maggior potenza del processore (quasi 4 volte superiore a quella del commodore, innegabile questo) ed un basic più avanzato, peccato che il 64 con una semplice espansione del processore (che ne aumentava la frq mettendolo dunque sulla stessa base hw del concorrente) permetteva di utilizzare tutti (e dico tutti) i programmi spectrum tramite un semplicissimo emulatore del 48k (senza l’espansione giravano comunque molti software senza particolari problemi).

    Che dire, è proprio vero che è una sfida senza tempo!

  • # 26
    Cesare Di Mauro
     scrive: 

    Il clock di per sé non significa nulla: http://www.appuntidigitali.it/2774/e-piu-veloce-un-6502-a-1mhz-o-uno-z80-a-35mhz/

  • # 27
    Stefano Palmonari
     scrive: 

    #25

    Non sei affatto polemico. Quell’articolo è semplicemente fazioso, con esempi confezionati “ad arte” per far sembrare il c64 una specie di carabattola in confronto allo spectrum. Naturalmente, non è così.

    Cito, per tutti, un link dove viene smontata la divertente dissertazione architettata da Alfonso Martone:

    http://utenti.lycos.it/gab72/

    Buona lettura.

  • # 28
    Gianluca
     scrive: 

    Mi è piaciuto troppo questo sito di Alfonso!! :-) Al di là dei paragoni tecnici, infatti, condivido pienamente quasi tutto quello che è stato pubblicato sul suo sito. Il Commodore 64, alla fine, era veramente SOLO una macchina per videogiochi! Può avere tutta la potenza di calcolo di questo mondo, il processore può anche essere paragonabile, a livello di velocità, allo Z80, ma tutto questo non conta nulla se poi la macchina, in se per sè, ti mette nella totale incapacità di programmarci qualcosa di serio! Io stesso ho avuto sempre e solo il C64, ma non sono mai stato un fan sfegatato. Semplicemente avevo solo quel computer, e ad essere sinceri, anch’io mi trovavo in difficoltà a programmarci, non solo quelle persone elencate nel racconto di Alfonso! Come si fa a dire ad un povero bimbo di 8-10 anni: guarda, fai poke 53265,27+32 per entrare in modalità grafica?!? Secondo voi se lo ricorda a memoria?? E chissenefrega se c’è il Simon’s BASIC: io compro il C64 così com’è, e così com’è voglio che mi dia già delle funzionalità per entrare in modalità grafica, senza scimunirmi con le locazioni di memoria e/o senza acquistare nuovi BASIC!
    Solo quando sono passato all’Amiga ho cominciato a programmare qualcosa di veramente serio, ma con il C64 non sono mai riuscito ad andare al di là dei programmini BASIC ultra-limitati.
    Invece il sito che “smonta” la tesi di Alfonso non mi è piaciuto per niente: è inutilmente polemico perchè non ha capito il vero succo del discorso di Alfonso.

  • # 29
    Stefano Palmonari
     scrive: 

    #28

    Ma per piacere, forse TU non sei mai riuscito ad andare oltre programmi basic ultralimitati.

    Dire che il C64 è una macchina SOLO per videogiochi è una sciocchezza. Forse volevi dire che il C64GS era solo per i videogiochi.

  • # 30
    Gianluca
     scrive: 

    #29

    Non è una sciocchezza, è la verità. A tutti gli effetti, il C64 è come una console da bar: il tipo di hardware è lo stesso (tutto dedicato), la CPU ottimizzata solo per compiti specifici, la mappa di memoria comprensibile solo da chi ha raggiunto MINIMO i 16 anni di età (non venirmi a dire che a 8-10 anni già sapevi fare il bank switching o gestire l’interrupt raster che mi metto a ridere), e così via. A questo punto, basta che fai una prova: prendi una console di quelle utilizzate per eseguire un qualsiasi vecchio gioco (come ghost and goblins, bubble bobble e così via… parlo di giochi da bar, ovviamente!), al posto della ROM del gioco mettici un kernel e un BASIC dell’età della pietra, e vediamo se riesci a programmarci meglio o peggio del C64… è la stessa medesima cosa!

  • # 31
    Stefano Palmonari
     scrive: 

    [quote]prendi una console di quelle utilizzate per eseguire un qualsiasi vecchio gioco (come ghost and goblins, bubble bobble e così via… parlo di giochi da bar, ovviamente!), al posto della ROM del gioco mettici un kernel e un BASIC dell’età della pietra, e vediamo se riesci a programmarci meglio o peggio del C64… è la stessa medesima cosa![/quote]

    Prova a spiegarti un pò meglio… così come l’hai scritta non si capisce niente. Dici di prendere una console “di quelle utilizzate per eseguire un qualsiasi vecchio videogioco” (Quale…? Wii? Xbox360? Gamecube? Snes…?) e al posto della ROM di metterci un kernel e un basic… LOL… SOSTITUIRE UNA ROM (che forse ti confondi con un concetto più moderno…) CON UN KERNEL E UN BASIC. Cosa intendi con “rom”…? File .d64 o qualcos altro?

    : )

    Poi…? Con il kernel e il basic ci riprogrammo il gioco da zero? E’ questo che volevi dire…?

  • # 32
    Gianluca
     scrive: 

    [quote]Poi…? Con il kernel e il basic ci riprogrammo il gioco da zero? E’ questo che volevi dire…?[/quote]

    No, volevo dire semplicemente che se pigli una qualsiasi console DA BAR, più in particolare quelle che si trovavano 20 anni fa, ti accorgerai che, al suo interno, si trovano componenti dedicati esclusivamente per i videogiochi, e che sono in tutto e per tutto simili a quelli del C64! Quindi, se tu prendessi una di queste macchine, e cancellassi il contenuto della loro ROM, mettendoci dentro il codice eseguibile di un kernel e di un BASIC molto antiquato, ti ritroverai con una macchina simile al C64, difficilissima da programmare, perchè l’hardware che c’è al suo interno non è molto semplice, è dedicato esclusivamente alla programmazione di videogiochi e non in generale, e quindi va studiato molto a fondo prima di comprenderne tutti i meccanismi. E di certo, un bambino o un ragazzo che impara l’informatica per la prima volta, non si accingerà ad utilizzare tale tipo di macchina, perchè per lui sarebbe troppo complicata… al limite, si ridurrà a fare le cose base, ma oltre quello nient’altro…

  • # 33
    Cesare Di Mauro
     scrive: 

    Le motivazioni che porti sono del tutto aleatorie e assolutamente non condivisibili.

    Hai avuto occasione di lavorare con la CPU del Commodore 64 e/o dello Spectrum? Quanto a semplicità e facilità di apprendimento il 6510 del primo è di gran lunga “migliore” dello Z80 del secondo.

    Hai mai avuto occasione di realizzare qualche applicazione grafica? Stesso concetto. Riprodurre suoni? Idem.

    E non parliamo di realizzare giochi, ovviamente: non c’era proprio paragone. Ma tu mi dirai a questo punto che giochi per lo Spectrum non ne sono stati fatti: era talmente “serio” e “professionale” come macchina che ci trovavi soltanto applicazioni e basta.

    D’altra parte realizzare giochi per lo spectrum sarebbe stato di gran lunga più difficile, quindi meglio evitare di cimentarsi: il confronto sarebbe stato impietoso.

    Detto ciò, anche le applicazioni “serie” per Commodore 64 non sono mancate. Anzi, ce n’erano a valanghe e si realizzavano abbastanza velocemente. Vuoi anche per una dotazione di periferiche abbastanza “standard” e facilmente accessibile, ma soprattutto per il proliferare di librerie et similia. Tutta roba che nasce per semplificiare la vita ai programmatori e agli utenti.

    Per chiudere, avrai sentito nominare il GeOS: s.o. dotato di interfaccia completamente grafica che ancora oggi continua a essere sviluppato. E scusa se è poco.

    Qualcosa di simile per lo Spectrum lo puoi citare, cortemente?

    E per chiudere, io su Commodore 64 e Spectrum c’ho lavorato e ne conosco hardware e limiti: per cui mi posso permettere di fare valutazioni di questo tipo, e sono disponibilissimo a fare dei confronti di carattere puramente tecnico. E tu?

  • # 34
    Gianluca
     scrive: 

    #33

    Certo che c’ho lavorato, sia col 6510 che con lo Z80 (riguardo ai computer, ho utilizzato solo il C64), quindi anch’io conosco hardware e limiti di entrambe le CPU, e mi dispiace dirtelo, ma il 6510 non è per niente più semplice dello Z80: devi costantemente lavorare con le locazioni di memoria, anche con l’algoritmo più semplice, e scusami se te lo dico, ma questo è addirittura incompatibile con i concetti che utilizziamo nel linguaggio macchina dei processori moderni! Lo Z80 infatti è molto più simile ad un Intel che non un 6510: molti più registri a disposizione, possibilità di gestire gli interrupt in maniera 100 volte più flessibile (lo Z80 può gestire fino a 128 interruzioni mascherabili differenti, nel 6510 solo una, e per capire chi t’ha mandato il segnale di interruzione, devi giocare alla regola dello schiaffo del soldato…), I/O isolato, che quindi ti consente di non mischiare celle di memoria e porte di I/O…

    Io non sto dicendo che lo Spectrum è una meraviglia in confronto al C64: è ovvio che, per i giochi, il C64 è migliore dello Spectrum, a causa del fatto che il C64 possiede un processore grafico e un processore sonoro migliore di quelli dello Spectrum. Tuttavia, ciò non fa del C64 una macchina professionale e soprattutto adatta all’apprendimento: è troppo complessa per uno che, alle prime armi, vuole capire come funziona un computer e come programmarlo per riprodurre a casa propria, se non il 100%, almeno un 50% di quello che viene visto nelle applicazioni e/o giochi commerciali. Secondo me vi fate un pò troppo condizionare dal fatto che OGGI sapete sicuramente programmare bene entrambe le macchine, quando invece bisogna saper ammettere se negli anni in cui avete comprato il C64 sapevate veramente programmare una macchina del genere… da questo punto di vista, lo Spectrum era molto più semplice da programmare, perchè ti metteva davanti un hardware molto generale e programmabile a piacimento, e questo, per un ragazzo alle prime armi che impara a programmare un computer, è importantissimo!!

  • # 35
    Cesare Di Mauro
     scrive: 

    @Gianluca:

    Certo che c’ho lavorato, sia col 6510 che con lo Z80 (riguardo ai computer, ho utilizzato solo il C64), quindi anch’io conosco hardware e limiti di entrambe le CPU,

    Ottimo, così parliamo la stessa lingua.

    e mi dispiace dirtelo, ma il 6510 non è per niente più semplice dello Z80: devi costantemente lavorare con le locazioni di memoria, anche con l’algoritmo più semplice,

    Mi sembra normale: il 6502 è un microprocessore fortemente “memory-based”. Basti vedere il tempo d’accesso a una locazione di memoria: 1 solo ciclo di clock, contro gli almeno 3 (a volte 4) dello Z80.

    E’ proprio per questo che ha diverse modalità d’indirizzamento legata alla famosa “pagina zero”: in questo modo è come se avesse a disposizione 256 registri da utilizzare per memorizzare e lavorare coi dati a cui accede più spesso.

    e scusami se te lo dico, ma questo è addirittura incompatibile con i concetti che utilizziamo nel linguaggio macchina dei processori moderni!

    Qui non ho afferrato. Cosa intendi per “incompatibile”?

    Lo Z80 infatti è molto più simile ad un Intel che non un 6510: molti più registri a disposizione,

    Mi sembra anche normale: era perfettamente compatibile con l’8085 di Intel. :D

    E ne condivideva anche i difetti, come il lento accesso alla memoria, appunto.

    6502 e Z80 sono processori completamente diversi da questo punto di vista. Possiamo dire che i loro progettisti avevano una visione diametralmente opposta, che però va anche contestualizzata. Infatti all’epoca le memorie erano molto più veloci delle CPU, per cui aveva senso cercare di sfruttarle il più possibile e molti processori lo facevano, appunto.

    Oggi le CPU sono molto più veloci delle memorie, e si cerca quindi di usarle il meno possibile. Ma stiamo parlando di parecchi anni dopo la creazione del 6502, e un confronto con questo perde di significato, a mio avviso.

    possibilità di gestire gli interrupt in maniera 100 volte più flessibile (lo Z80 può gestire fino a 128 interruzioni mascherabili differenti, nel 6510 solo una, e per capire chi t’ha mandato il segnale di interruzione, devi giocare alla regola dello schiaffo del soldato…),

    Verissimo ed era un indubbio vantaggio, ma anche qui: all’epoca era indispensabile gestirne così tanti? Se arrivavi a usare quello di vertical blanking era già tanto… ;)

    I/O isolato, che quindi ti consente di non mischiare celle di memoria e porte di I/O…

    Vecchio modello ormai praticamente abbandonato da parecchi anni, perché è molto più comodo l’I/O memory mapped.

    Io non sto dicendo che lo Spectrum è una meraviglia in confronto al C64: è ovvio che, per i giochi, il C64 è migliore dello Spectrum, a causa del fatto che il C64 possiede un processore grafico e un processore sonoro migliore di quelli dello Spectrum. Tuttavia, ciò non fa del C64 una macchina professionale

    Non vedo come questo lo renda “meno professionale”.

    Poi i giochi, come sai, non mancavano nemmeno per lo Spectrum che, anzi, era il concorrente numero 1 del C64 in questo settore.

    e soprattutto adatta all’apprendimento: è troppo complessa per uno che, alle prime armi, vuole capire come funziona un computer e come programmarlo per riprodurre a casa propria, se non il 100%, almeno un 50% di quello che viene visto nelle applicazioni e/o giochi commerciali.

    Personalmente tutta questa complessità non la vedo. Al contrario, il 6502 è molto più semplice da programmare: ha poche istruzioni abbastanza ortogonali (con diverse comode modalità d’indirizzamento), e soltanto 3 registri. S’impara sicuramente molto prima a programmarlo rispetto a uno Z80, che possiede un’ISA di tutt’altro “spessore”.

    Secondo me vi fate un pò troppo condizionare dal fatto che OGGI sapete sicuramente programmare bene entrambe le macchine, quando invece bisogna saper ammettere se negli anni in cui avete comprato il C64 sapevate veramente programmare una macchina del genere…

    A giudicare dell’elevato numero di programmatori per questa macchina, direi che la risposta sia scontata. :D

    da questo punto di vista, lo Spectrum era molto più semplice da programmare, perchè ti metteva davanti un hardware molto generale e programmabile a piacimento, e questo, per un ragazzo alle prime armi che impara a programmare un computer, è importantissimo!!

    Che dire: la pensiamo molto diversamente. Il 6502 è un processore che è stato impiegato nei campi più disparati, e non a causa di forzature, ma perché è molto comodoe e versatile.

    A mio avviso questo è sufficiente per consigliarlo anche a chi vuol cominciare da zero a programmare in assembly (anche se personalmente preferisco i 68000 di Motorola).

    Per iniziare a programmare da zero (quindi completamente a digiuno), invece, consiglio ben altro (sicuramente NON partire con assembly o C), ma qui andremmo pesantemente off-topic. :D

  • # 36
    Gianluca
     scrive: 

    @Cesare:

    Come ho detto fin dall’inizio, vado al di là dei paragoni tecnici, e mi riferisco al vero succo del discorso, ovvero alla facilità di apprendimento di una determinata macchina, in questo caso il C64… però, se proprio vogliamo dare qualche parere tecnico…

    >>E’ proprio per questo che ha diverse modalità d’indirizzamento legata alla famosa “pagina zero”: in questo modo è come se avesse a disposizione 256 registri da utilizzare per memorizzare e lavorare coi dati a cui accede più spesso.<>Personalmente tutta questa complessità non la vedo. Al contrario, il 6502 è molto più semplice da programmare: ha poche istruzioni abbastanza ortogonali (con diverse comode modalità d’indirizzamento), e soltanto 3 registri. S’impara sicuramente molto prima a programmarlo rispetto a uno Z80, che possiede un’ISA di tutt’altro “spessore”.<>Verissimo ed era un indubbio vantaggio, ma anche qui: all’epoca era indispensabile gestirne così tanti? Se arrivavi a usare quello di vertical blanking era già tanto… ;)<>Vecchio modello ormai praticamente abbandonato da parecchi anni, perché è molto più comodo l’I/O memory mapped.<>A giudicare dell’elevato numero di programmatori per questa macchina, direi che la risposta sia scontata. :D<>Per iniziare a programmare da zero (quindi completamente a digiuno), invece, consiglio ben altro (sicuramente NON partire con assembly o C), ma qui andremmo pesantemente off-topic. :D<<

    E perchè saresti off-topic? Se leggi tutto il sito di Alfonso, ti accorgi che oltre al paragone tecnico, c'è anche una marea di considerazioni di carattere generale, legate soprattutto all'effettiva programmabilità delle due macchine… Per iniziare a programmare da zero, occorre il BASIC… cosa che doveva offrire il C64 in maniera efficace, visto che veniva definito "professionale"… e invece offriva un BASIC ridicolo, con un'elevata inadeguatezza nella programmazione grafica… mi ricordo ancora il giorno in cui provai il mio primo programmino in BASIC per aprire la modalità bitmapped e disegnare qualche primitiva grafica… al primo errore, vidi solo quadratini colorati in modalità bitmapped, senza capire lì per lì che c'era scritto: "syntax error"… Ho dovuto riprendere il manuale del c64 per ricordarmi il comando da digitare per ritornare in modalità testuale, altrimenti avrei spento sicuramente il computer…

  • # 37
    Gianluca
     scrive: 

    @Cesare:

    Come ho detto fin dall’inizio, vado al di là dei paragoni tecnici, e mi riferisco al vero succo del discorso, ovvero alla facilità di apprendimento di una determinata macchina, in questo caso il C64… però, se proprio vogliamo dare qualche parere tecnico…

    “E’ proprio per questo che ha diverse modalità d’indirizzamento legata alla famosa “pagina zero”: in questo modo è come se avesse a disposizione 256 registri da utilizzare per memorizzare e lavorare coi dati a cui accede più spesso.”

    Vuoi forse dire che, se dovessi codificare in linguaggio assembly un determinato algoritmo, utilizzerai le locazioni 0x10, 0x11, 0x12 (esempio) per simulare dei registri interni? Non è forse più semplice utilizzare direttamente i nomi dei registri, anzichè delle locazioni di memoria? Se voglio specificare un indirizzo di memoria come base, sarà più facile per me utilizzare un registro chiamato IX, IY o la locazione 0x10, 0x11, etc? Quindi, in assembly 6510, ricorrerai sicuramente all’uso di costanti per identificare quelle locazioni, altrimenti vattelo a pesca cosa significa la locazione 0x10, 0x11, etc, nel tuo listato…

    “Personalmente tutta questa complessità non la vedo. Al contrario, il 6502 è molto più semplice da programmare: ha poche istruzioni abbastanza ortogonali (con diverse comode modalità d’indirizzamento), e soltanto 3 registri. S’impara sicuramente molto prima a programmarlo rispetto a uno Z80, che possiede un’ISA di tutt’altro “spessore”.”

    Io qui parlavo del C64, ovvero di tutta la macchina, non solo della CPU. E comunque, io ho imparato prima lo Z80 e poi il 6510, e mi dispiace dirlo, ho trovato molto più versatile lo Z80, nonostante tu dica che la sua architettura del set di istruzioni è di un certo “spessore”… sono riuscito ad implementare parecchi algoritmi in Z80 e a revisionarli abbastanza facilmente semplicemente rileggendo il listato assembly… invece, quelli scritti in 6510 sono stati un mal di testa continuo, a causa di un set di istruzioni un pò troppo “elementare” (tradotto: un listato assembly in Z80 di 20 righe, l’ho dovuto tradurre in 60 righe di listato assembly 6510 a causa della mancanza di registri interni)… magari il 6510, messo su un altro tipo di hardware, ad esempio messo su un sistema dove la mappa di memoria è più semplice, più lineare, dove i dispositivi sono un pò più “generici” e capibili, potrebbe essere utilizzato più efficacemente e quindi sarebbe più facile da imparare… ma su un hardware come quello del C64, beh, continuo a dirlo, è troppo complicato per un programmatore alle prime armi…

    “Verissimo ed era un indubbio vantaggio, ma anche qui: all’epoca era indispensabile gestirne così tanti? Se arrivavi a usare quello di vertical blanking era già tanto… ;)”

    Invece veniva usato massicciamente sul C64 l’interrupt raster (forse intendevi questo), sia nelle demo grafiche che nei giochi, e veniva usato proprio per implementare effetti grafici come la separazione di aree differenti dello schermo, associando a ciascuna di esse una modalità grafica differente o un valore diverso per i registri del VIC-II (vedi ad esempio ghost and goblins, dove la parte superiore dello schermo scrolla, mentre quella inferiore no), altrimenti sarebbe stato impossibile produrre una marea di effetti grafici… tutte cose che, guarda caso, si usano prevalentemente nei giochi e nelle demo, e che un ragazzo alle prime armi apprende molto difficilmente… non sto dicendo che è assolutamente sbagliato gestire l’hardware in questo modo, ma semplicemente che è molto difficile… l’ideale sarebbe stato offrire queste stesse prestazioni con una maggiore facilità (dal momento che al giorno d’oggi si realizzano veramente con grande facilità anche con il più scarso dei linguaggi di programmazione, anche andando a discapito della velocità), proprio come faceva il BASIC dello Spectrum o di computer simili…

    “Vecchio modello ormai praticamente abbandonato da parecchi anni, perché è molto più comodo l’I/O memory mapped.”

    Ad essere più precisi, oggidì si utilizzano entrambi i modelli: l’I/O memory mapped si utilizza soprattutto quando vuoi condividere grosse aree di memoria (come buffer, memorie video, etc) tra CPU e dispositivi, mentre l’I/O isolato viene utilizzato sempre per dialogare effettivamente con il dispositivo…

    “A giudicare dell’elevato numero di programmatori per questa macchina, direi che la risposta sia scontata. :D”

    Ti sei scordato di specificare: elevato numero di programmatori DEI GIORNI NOSTRI… voglio vedere quante persone, all’epoca DELL’USCITA DEL C64, sapevano programmare efficacemente su questa macchina…

    “Per iniziare a programmare da zero (quindi completamente a digiuno), invece, consiglio ben altro (sicuramente NON partire con assembly o C), ma qui andremmo pesantemente off-topic. :D”

    E perchè saresti off-topic? Se leggi tutto il sito di Alfonso, ti accorgi che oltre al paragone tecnico, c’è anche una marea di considerazioni di carattere generale, legate soprattutto all’effettiva programmabilità delle due macchine… Per iniziare a programmare da zero, occorre il BASIC… cosa che doveva offrire il C64 in maniera efficace, visto che veniva definito “professionale”… e invece offriva un BASIC ridicolo, con un’elevata inadeguatezza nella programmazione grafica… mi ricordo ancora il giorno in cui provai il mio primo programmino in BASIC per aprire la modalità bitmapped e disegnare qualche primitiva grafica… al primo errore, vidi solo quadratini colorati in modalità bitmapped, senza capire lì per lì che c’era scritto: “syntax error”… Ho dovuto riprendere il manuale del c64 per ricordarmi il comando da digitare per ritornare in modalità testuale, altrimenti avrei spento sicuramente il computer…

  • # 38
    Cesare Di Mauro
     scrive: 

    @Gianluca:

    Vuoi forse dire che, se dovessi codificare in linguaggio assembly un determinato algoritmo, utilizzerai le locazioni 0×10, 0×11, 0×12 (esempio) per simulare dei registri interni?

    Sì, è così che si faceva.

    Non è forse più semplice utilizzare direttamente i nomi dei registri, anzichè delle locazioni di memoria? Se voglio specificare un indirizzo di memoria come base, sarà più facile per me utilizzare un registro chiamato IX, IY o la locazione 0×10, 0×11, etc? Quindi, in assembly 6510, ricorrerai sicuramente all’uso di costanti per identificare quelle locazioni, altrimenti vattelo a pesca cosa significa la locazione 0×10, 0×11, etc, nel tuo listato…

    Premesso che all’inizio ho programmato in linguaggio macchina e non in assembly, per cui di nomi simbolici nemmeno si parlava (a prescindere dal processore utilizzato: c’era soltanto una sfilza di anonimi valori esadecimali), mi sembra scontato che usando un assemblatore si utilizzino delle etichette per le locazioni di memoria.

    Quindi non c’è più un problema di simboli e, anzi, è pure vantaggioso poter chiamare una locazione con un nome che ne rispecchia effettivamente l’uso, anziché con un anonimo nome di registro.

    Io qui parlavo del C64, ovvero di tutta la macchina, non solo della CPU. E comunque, io ho imparato prima lo Z80 e poi il 6510, e mi dispiace dirlo, ho trovato molto più versatile lo Z80, nonostante tu dica che la sua architettura del set di istruzioni è di un certo “spessore”…

    Non devi mica dispacerti: a volte è una questione di gusti, di feeling. :)

    Parlavo di “spessore” perché, a prescindere dai gusti, l’ISA dello Z80 è intrisecamente più complessa di quella del 6502: molte più istruzioni e registri (anche quelli “shadow”, tra l’altro), vettorizzazione e modalità degli interrupt, ecc.

    Assimilare l’ISA di un 6502 richiede decisamente meno tempo di studio.

    sono riuscito ad implementare parecchi algoritmi in Z80 e a revisionarli abbastanza facilmente semplicemente rileggendo il listato assembly… invece, quelli scritti in 6510 sono stati un mal di testa continuo, a causa di un set di istruzioni un pò troppo “elementare” (tradotto: un listato assembly in Z80 di 20 righe, l’ho dovuto tradurre in 60 righe di listato assembly 6510 a causa della mancanza di registri interni)…

    Ho capito. Forse t’avrebbe potuto aiutare l’uso di macro per simulare istruzioni più complesse, come in genere si faceva all’epoca usando gli assemblatori.

    Detto ciò, è chiaro che un’ISA più ricca, come quello dello Z80, permetteva generalmente di scrivere meno codice per implementare uno stesso algoritmo.

    magari il 6510, messo su un altro tipo di hardware, ad esempio messo su un sistema dove la mappa di memoria è più semplice, più lineare, dove i dispositivi sono un pò più “generici” e capibili, potrebbe essere utilizzato più efficacemente e quindi sarebbe più facile da imparare… ma su un hardware come quello del C64, beh, continuo a dirlo, è troppo complicato per un programmatore alle prime armi…

    Dipende sempre da quello che si deve fare, e dal significato che vogliamo attribuire a “programmatore alle prime armi”.

    Se imparo l’assembly perché voglio smanettare con l’hardware, a mio avviso il C64 offriva un’architettura decisamente più semplice.

    Idem per estendere il BASIC in dotazione, che offriva un semplice meccanismo del controllo della tokenizzazione delle stringhe passate all’interprete, che era facilmente bypassabile e gestibile a proprio uso e consumo.

    Non credo che un’applicazione “professionale” avesse di che preoccuparsi del layout della memoria e dei dispositivi, a parte per la riproduzione di grafica. Qui il vantaggio iniziale dello Spectrum è indubbio, avendo già delle primitive in dotazione, ma quando serviva “qualcosa di più” si ricorreva ugualmente all’estensione del BASIC (ricorrendo all’assembly).

    Invece veniva usato massicciamente sul C64 l’interrupt raster (forse intendevi questo)

    Sì, mi riferivo a quello.

    , sia nelle demo grafiche che nei giochi, e veniva usato proprio per implementare effetti grafici come la separazione di aree differenti dello schermo, associando a ciascuna di esse una modalità grafica differente o un valore diverso per i registri del VIC-II (vedi ad esempio ghost and goblins, dove la parte superiore dello schermo scrolla, mentre quella inferiore no), altrimenti sarebbe stato impossibile produrre una marea di effetti grafici… tutte cose che, guarda caso, si usano prevalentemente nei giochi e nelle demo, e che un ragazzo alle prime armi apprende molto difficilmente… non sto dicendo che è assolutamente sbagliato gestire l’hardware in questo modo, ma semplicemente che è molto difficile… l’ideale sarebbe stato offrire queste stesse prestazioni con una maggiore facilità (dal momento che al giorno d’oggi si realizzano veramente con grande facilità anche con il più scarso dei linguaggi di programmazione, anche andando a discapito della velocità), proprio come faceva il BASIC dello Spectrum o di computer simili…

    Permettimi: col BASIC dello spectrum potevi scordarti tutti quegli effetti che hai citato.

    Alla fine il problema è sempre lo stesso: bisogna vedere cosa si doveva fare. Per smanettare con hardware & co. a mio avviso il C64 aveva un hardware che semplificava molto la vita ai programmatori.

    Ad essere più precisi, oggidì si utilizzano entrambi i modelli: l’I/O memory mapped si utilizza soprattutto quando vuoi condividere grosse aree di memoria (come buffer, memorie video, etc) tra CPU e dispositivi, mentre l’I/O isolato viene utilizzato sempre per dialogare effettivamente con il dispositivo…

    No, si usa anche per mappare i registri dei dispositivi in memoria; questo è il modello che domina ormai, e che permette anche prestazioni più elevate (si possono usare tutte le istruzioni allo scopo, e configurare MMU e cache in maniera opportuna).

    Tra l’altro quello dell’I/O separato dallo spazio d’indirizzamento è un modello presente in pochi processori, e nei più vecchi per la precisione. Se ancora oggi è usato è a causa dell’architettura legacy degli x86, e per il fatto che tanti dispositivi di I/O usano questo modello per ragioni prettamente storiche (timer, DMA, tastiera, floppy, hd, ecc. ecc.)

    Basta confrontare l’evoluzione delle VGA o delle schede audio per comprenderlo meglio: sono rimasti soltanto i registri “legacy / storici” per questioni di retrocompatibilità, mentre tutti i nuovi registri risultano mappati nella memoria.

    Parlo del PC, ovviamente. Altre piattaforme dotate di CPU più moderne non hanno di questi problemi, appunto perché l’I/O è mappato sempre in memoria.

    Ti sei scordato di specificare: elevato numero di programmatori DEI GIORNI NOSTRI… voglio vedere quante persone, all’epoca DELL’USCITA DEL C64, sapevano programmare efficacemente su questa macchina…

    Potremmo fare la stessa domanda coi programmatori dello Spectrum, e otteremmo la stessa risposta: non si sa. Non esistono statistiche, tanto meno precise, allo scopo.

    Lato mio posso dirti che ai miei tempi ho trovato molte più persone che smanettevano col C64 che con lo Spectrum. Ma è e rimane una mia personalissima esperienza.

    E perchè saresti off-topic? Se leggi tutto il sito di Alfonso, ti accorgi che oltre al paragone tecnico, c’è anche una marea di considerazioni di carattere generale, legate soprattutto all’effettiva programmabilità delle due macchine… Per iniziare a programmare da zero, occorre il BASIC… cosa che doveva offrire il C64 in maniera efficace, visto che veniva definito “professionale”… e invece offriva un BASIC ridicolo, con un’elevata inadeguatezza nella programmazione grafica… mi ricordo ancora il giorno in cui provai il mio primo programmino in BASIC per aprire la modalità bitmapped e disegnare qualche primitiva grafica… al primo errore, vidi solo quadratini colorati in modalità bitmapped, senza capire lì per lì che c’era scritto: “syntax error”… Ho dovuto riprendere il manuale del c64 per ricordarmi il comando da digitare per ritornare in modalità testuale, altrimenti avrei spento sicuramente il computer…

    Uno che inizia a programmare ha ben altri pensieri che andare a disegnare grafica.

    Poi una volta acquisita la mentalità non vedo particolari difficoltà a “passare oltre”.

    Certamente lo Spectrum partiva avvantaggiato, non v’è dubbio, ma è anche vero che chi voleva realizzare qualcosa di realmente professionale su entrambi i sistemi si trovava a dover utilizzare estensioni di terze parti, o a farsele da sé.

    Tra l’altro per applicazioni “serie” mi sembra che la gestione delle periferiche sulle macchine di casa Commodore fosse migliore rispetto ai Sinclair: non soltanto c’erano già delle interfacce a disposizione (non dovevi comprare altri moduli aggiuntivi), ma le stesse periferiche erano più affidabili (pensiamo al microdrive dello Spectrum, ad esempio, e confrontiamolo col 1541/5.25″ prima e il 1571/3.5″ poi del C64).

    E questo è estremamente importante per chi doveva realizzare database, fogli di calcolo, videoscrittura, grafica, ecc..

    Sul piatto della bilancia penso si debba mettere tutto per trarre poi le conclusioni.

  • # 39
    Gianluca
     scrive: 

    @Cesare:

    “Assimilare l’ISA di un 6502 richiede decisamente meno tempo di studio.”

    Certo, perchè l’ISA di un 6502 è TROPPO più semplice di uno Z80. La sua architettura è troppo rozza, infatti ho detto: lo Z80 è molto più flessibile di un 6502. Quest’ultimo è semplicemente un processore molto semplicistico che, per motivi economici, è stato prodotto in quel modo, offrendo le funzionalità minime di una CPU.

    “Se imparo l’assembly perché voglio smanettare con l’hardware, a mio avviso il C64 offriva un’architettura decisamente più semplice.”

    Beh, non credo proprio, eh? L’architettura del C64 secondo te è semplice? Forse lo è per chi di informatica già ne capisce, ma per uno alle prime armi, è sicuramente più semplice quello di uno Spectrum, privo di coprocessori videolutici, che un C64. Con un hardware più semplice come quello dello Spectrum, infatti, il programmatore alle prime armi si ritroverebbe ad utilizzare soprattutto gli algoritmi software, ad ingegnarsi a trovare una soluzione più efficace, anzichè riempire semplicemente i registri di un coprocessore.

    “Idem per estendere il BASIC in dotazione, che offriva un semplice meccanismo del controllo della tokenizzazione delle stringhe passate all’interprete, che era facilmente bypassabile e gestibile a proprio uso e consumo.”

    Il fatto che il C64 abbia feature aggiuntive nessuno lo mette in dubbio… bisogna invece chiedersi perchè queste funzionalità, all’inizio, erano non disponibili o non facilmente capibili. Facilmente bypassabile? Vediamo. Sicuramente non è un’operazione da poche righe di codice: chissà quali e quante locazioni di memoria bisognava modificare e perchè per avere questa funzionalità. Anch’io leggevo qualche rivista, all’epoca, che pubblicava listati e programmi sul C64, ma molti di essi non venivano spiegati adeguatamente… e quelli del C64 (e di computer simili, come il VIC 20) necessitavano di molta più spiegazione rispetto agli altri computer, a causa di tutte quelle poke e peek.

    “Permettimi: col BASIC dello spectrum potevi scordarti tutti quegli effetti che hai citato. Alla fine il problema è sempre lo stesso: bisogna vedere cosa si doveva fare. Per smanettare con hardware & co. a mio avviso il C64 aveva un hardware che semplificava molto la vita ai programmatori.”

    Qua mi sono spiegato male in effetti. Infatti non volevo dire che lo Spectrum faceva tutti quegli effetti. Provo a spiegarmi meglio. Il C64 ha un hardware migliore per quanto riguarda grafica e sonoro, ma per essere utilizzato al 100% devi PER FORZA utilizzare l’assembly e concetti avanzati di programmazione in linguaggio macchina, come l’interrupt raster. Con il solo BASIC non potevi fare neanche la metà di quello che vedevi nelle applicazioni e nei giochi che comparivano sul C64. Questo perchè il C64 ha un hardware troppo specifico, che richiede NECESSARIAMENTE delle funzionalità di basso livello molto veloci per fare almeno la metà di quello che abbiamo sempre visto nei giochi. Viceversa, un hardware più semplice come quello dello Spectrum poteva essere programmato ANCHE in BASIC, certamente a discapito della velocità, però almeno lo potevi fare. Non al 100%, ma ad un 90% si.

    “Lato mio posso dirti che ai miei tempi ho trovato molte più persone che smanettevano col C64 che con lo Spectrum. Ma è e rimane una mia personalissima esperienza.”

    Questo può essere vero. Da parte mia, invece, all’epoca non ho trovato nessuno che sapeva programmare qualcosa in più dei semplici listati copiati dal manuale.

    “Certamente lo Spectrum partiva avvantaggiato, non v’è dubbio, ma è anche vero che chi voleva realizzare qualcosa di realmente professionale su entrambi i sistemi si trovava a dover utilizzare estensioni di terze parti, o a farsele da sé.”

    E’ proprio questo il punto: per imparare a programmare, hai bisogno di qualcosa che ti faccia partire avvantaggiato, che ti semplifichi il più possibile la programmazione, altrimenti finisci o col perderti o con il rimanere sempre allo stesso punto. Una volta imparato come si deve un BASIC decente, allora uno può benissimo addentrarsi ai concetti più avanzati: sprite, mappe video, interrupt, etc. Se voglio fare qualche disegno al computer, preferisco prima imparare una draw, una plot, etc, anzichè già scimunirmi con gli and/or bit a bit con i byte che rappresentano la memoria video (perchè alla fine così mi sono dovuto ridurre a programmare, sul C64, la grafica, ovviamente sempre col BASIC).

    “Sul piatto della bilancia penso si debba mettere tutto per trarre poi le conclusioni.”

    Certamente… per quanto mi riguarda, il C64, nella media, non mi ha offerto molti spunti per programmare. Lo Spectrum non l’ho mai utilizzato all’epoca, l’ho imparato ad utilizzare un pò di anni fa, preso dalla nostalgia di vedere un qualche vecchio computer emulato :) E devo dire che come computer non era affatto inferiore al C64 in termini di programmazione, anzi… a livello videolutico, beh, sicuramente lo Spectrum ci perde, e anche molto…

  • # 40
    Stefano Palmonari
     scrive: 

    @Gianluca

    che ridere leggere ancora, a distanza di 20 (venti) anni, di queste diatribe C64 vs Spectrum…

    Personalmente, avendoci speso un po’ di tempo (sia lato Z80 che 6510), e essendomi davvero stufato di analizzare i dettagli tecnici di entrambe le macchine, finisco il mio discorso dicendo che: il Commodore 64 e’ infinitamente superiore allo zx spectrum. Leggasi: INFINITAMENTE.

    ps: a 14 anni sapevo gestire con una certa destrezza la divisione a raster, le chiamate IRQ, eccetera… questo grazie a un libro di Mark Greenshields molto ben fatto. La parte piu’ difficile fu TROVARLO, quel libro (all’epoca le info era davvero scarse). Da un certo punto in poi anche Commodore Computer Club pubblicava articoli piuttosto avanzati e completi al riguardo.

    Non e’ vero che certe cose erano fuori dalla portata di un ragazzino di 16 anni. Bastava mettercisi di impegno.

  • # 41
    Gianluca
     scrive: 

    “finisco il mio discorso dicendo che: il Commodore 64 e’ infinitamente superiore allo zx spectrum. Leggasi: INFINITAMENTE.”

    Questo fa ancora più ridere della diatriba, lo sai? Dire che è INFINITAMENTE superiore, significa dire che il C64, al confronto, è come un PC dotato di Pentium 4, 2 GB RAM e scheda acceleratrice super-potenziata, quando invece, se ancora non l’hai capito, il C64 ha in più, rispetto allo Spectrum, solo una manciata di chip dedicati AI VIDEOGIOCHI…

    “ps: a 14 anni sapevo gestire con una certa destrezza la divisione a raster, le chiamate IRQ, eccetera… questo grazie a un libro di Mark Greenshields molto ben fatto. La parte piu’ difficile fu TROVARLO, quel libro (all’epoca le info era davvero scarse). Da un certo punto in poi anche Commodore Computer Club pubblicava articoli piuttosto avanzati e completi al riguardo.”

    Appunto, hai avuto bisogno di un libro. Difficile da trovare?!? Figurati quindi in quanti lo conoscevano. Ma per piacere…

    “Non e’ vero che certe cose erano fuori dalla portata di un ragazzino di 16 anni. Bastava mettercisi di impegno.”

    Che bella scoperta… peccato che, senza quel libro, non avresti mai capito cos’era un interrupt raster… quindi puoi metterti d’impegno quanto vuoi, ma se non hai un buon libro su cui studiare o comunque risorse affidabili su cui poggiarti, è inutile… il problema del C64 era questo: era così intricato e complesso che solo con chissà quali risorse potevi imparare a programmarci qualcosa…

  • # 42
    Cesare Di Mauro
     scrive: 

    @Gianluca:

    Certo, perchè l’ISA di un 6502 è TROPPO più semplice di uno Z80. La sua architettura è troppo rozza, infatti ho detto: lo Z80 è molto più flessibile di un 6502. Quest’ultimo è semplicemente un processore molto semplicistico che, per motivi economici, è stato prodotto in quel modo, offrendo le funzionalità minime di una CPU.

    Anche qui non concordo. Puoi dirmi che è diverso dallo Z80 e da altri processori, ma la diversità non implica nulla di particolare, men che meno la flessibilità.

    Ad esempio trovo estremamente flessibili le modalità d’indirizzamento del 6502. Lo Z80 cosa offre? Molto poco. Idem per l’uso della page zero, che mette a disposizione una vagonata di “registri” utilizzabili velocemente, e la modalità BCD per le somme e le sottrazioni.

    Potremmo parlarne fino alla fine dei tempi, ma confrontare due architetture completamente diverse sulle scelte fatte dai progettisti è, a mio avviso, inutile. Il 6502 è memory-based, lo Z80 register-base: approcci agli antipodi perché le filosofie e gli obiettivi era anch’essi diametralmente opposti.

    Beh, non credo proprio, eh? L’architettura del C64 secondo te è semplice? Forse lo è per chi di informatica già ne capisce, ma per uno alle prime armi, è sicuramente più semplice quello di uno Spectrum, privo di coprocessori videolutici, che un C64.

    Uno alle prime armi non aveva bisogno di smanettare con tutto il ben di dio che metteva a disposizione il C64.

    Con un hardware più semplice come quello dello Spectrum, infatti, il programmatore alle prime armi si ritroverebbe ad utilizzare soprattutto gli algoritmi software, ad ingegnarsi a trovare una soluzione più efficace, anzichè riempire semplicemente i registri di un coprocessore.

    Si sarebbe presto scontrato coi limiti della sua architettura, che non erano superabili cercando altre soluzioni algoritmiche.

    Non prendiamoci in giro: apprendere i rudimenti della programmazione non richiede molto tempo, e dopo ciò si cerca di spremere l’hardware in base alla proprie esigenze, e questa è la parte più consistente.

    Detto in altri termini, ho impiegato ben poco tempo a imparare a programmare (in linguaggio macchina, all’inizio), ma molto, molto, molto più tempo a smanettare.

    Quindi se per te iniziare a programmare era più facile con lo Spectrum, dopo saresti rimasto al palo a causa dell’hardware estremamente limitato che avevi a disposizione, e pur con tutta la buona volontà che potevi avere i risultati non potevano andare oltre le colonne d’Ercole.

    Col C64, invece, sì. E di gran lunga. Non soltanto c’era un hardware superiore, ma la sua ricchezza dava molte più possibilità ai creativi di spremersi le meningi per tirare fuori cose originali.

    Il fatto che il C64 abbia feature aggiuntive nessuno lo mette in dubbio… bisogna invece chiedersi perchè queste funzionalità, all’inizio, erano non disponibili o non facilmente capibili. Facilmente bypassabile? Vediamo. Sicuramente non è un’operazione da poche righe di codice: chissà quali e quante locazioni di memoria bisognava modificare e perchè per avere questa funzionalità. Anch’io leggevo qualche rivista, all’epoca, che pubblicava listati e programmi sul C64, ma molti di essi non venivano spiegati adeguatamente… e quelli del C64 (e di computer simili, come il VIC 20) necessitavano di molta più spiegazione rispetto agli altri computer, a causa di tutte quelle poke e peek.

    Se parliamo di estendere il BASIC, il vettore da alterare era uno, se non ricordo male. Inoltre la mappa di memoria era già elencata alla fine del manuale in dotazione al C64.

    Certamente erano argomenti avanzati, ma di documentazione all’epoca ce n’era e si trovava oltre che in diversi libri (il più famoso dei quali era “La bible du Commodore 64″; in francese, ma abbordabilissimo e un’autentica miniera) e riviste dell’epoca (oltre al Commodore Computer Club citato, c’erano Commodore, Commodore Professional, Commodore Gazette, MC MicroComputer, e altre ancora).

    Ovviamente di estensioni del BASIC ne trovavi a carrettate, con tanto di spiegazioni. Conservo ancora in garage quasi tutte quelle riviste proprio per l’enorme quantità di informazioni che contengono.

    PEEK, POKE si usavano poco: generalmente si preferiva scrivere un pezzo di codice macchina, caricarlo in memoria, e richiamarlo con la classica SYS. Come, tra l’altro, si faceva anche con lo Spectrum.

    Qua mi sono spiegato male in effetti. Infatti non volevo dire che lo Spectrum faceva tutti quegli effetti. Provo a spiegarmi meglio. Il C64 ha un hardware migliore per quanto riguarda grafica e sonoro, ma per essere utilizzato al 100% devi PER FORZA utilizzare l’assembly e concetti avanzati di programmazione in linguaggio macchina, come l’interrupt raster. Con il solo BASIC non potevi fare neanche la metà di quello che vedevi nelle applicazioni e nei giochi che comparivano sul C64.

    Concordo. Anzi, per me è scontato fare così se voglio spremere come un limone l’hardware.

    Cosa che ho fatto con tutti miei computer, comunque, anche se erano dotati di BASIC e/o linguaggi più evoluti anche rispetto allo Spectrum.

    Questo perchè il C64 ha un hardware troppo specifico, che richiede NECESSARIAMENTE delle funzionalità di basso livello molto veloci per fare almeno la metà di quello che abbiamo sempre visto nei giochi. Viceversa, un hardware più semplice come quello dello Spectrum poteva essere programmato ANCHE in BASIC, certamente a discapito della velocità, però almeno lo potevi fare. Non al 100%, ma ad un 90% si.

    Qui non concordo. Più che tracciare qualche grafico con lo Spectrum non facevi, a causa delle stesse limitazioni: era troppo lento. Passando al linguaggio macchina e/o assembly era tutta un’altra musica: non c’era proprio paragone.

    Questo può essere vero. Da parte mia, invece, all’epoca non ho trovato nessuno che sapeva programmare qualcosa in più dei semplici listati copiati dal manuale.

    Che dire: io ho diversi amici, conosciuti anche in posti diversi, che, come me, si sono divertiti a rivoltare come un calzino l’hardware del C64. :D

    E’ proprio questo il punto: per imparare a programmare, hai bisogno di qualcosa che ti faccia partire avvantaggiato, che ti semplifichi il più possibile la programmazione, altrimenti finisci o col perderti o con il rimanere sempre allo stesso punto. Una volta imparato come si deve un BASIC decente, allora uno può benissimo addentrarsi ai concetti più avanzati: sprite, mappe video, interrupt, etc. Se voglio fare qualche disegno al computer, preferisco prima imparare una draw, una plot, etc, anzichè già scimunirmi con gli and/or bit a bit con i byte che rappresentano la memoria video (perchè alla fine così mi sono dovuto ridurre a programmare, sul C64, la grafica, ovviamente sempre col BASIC).

    D’accordo. Ma è una fase che dura poco. Una volta appresi i rudimenti, sei portato a smanettare e a fare altro. Per cui passi a utilizzare quasi esclusivamente il linguaggio macchina o l’assembly.

    Certamente… per quanto mi riguarda, il C64, nella media, non mi ha offerto molti spunti per programmare. Lo Spectrum non l’ho mai utilizzato all’epoca, l’ho imparato ad utilizzare un pò di anni fa, preso dalla nostalgia di vedere un qualche vecchio computer emulato :) E devo dire che come computer non era affatto inferiore al C64 in termini di programmazione, anzi… a livello videolutico, beh, sicuramente lo Spectrum ci perde, e anche molto…

    Penso si sarà capito che io, invece, ho trovato molto più stimolante il C64 (comunque ho avuto un Plus 4 prima, per un solo mese, e poi un C128). :D

    Questo fa ancora più ridere della diatriba, lo sai? Dire che è INFINITAMENTE superiore, significa dire che il C64, al confronto, è come un PC dotato di Pentium 4, 2 GB RAM e scheda acceleratrice super-potenziata, quando invece, se ancora non l’hai capito, il C64 ha in più, rispetto allo Spectrum, solo una manciata di chip dedicati AI VIDEOGIOCHI…

    Hai detto niente. :D

    Dai, il Vic-2, il SID, ma anche gli stessi CIA erano di gran lunga più versatili degli equivalenti dello Spectrum, che tra l’altro doveva ricorrere a un’interfaccia supplementare per collegare altri dispositivi.

    Anche l’espandibilità ha giocato tutto a favore del C64, e in primis la compatibilità con l’interfaccia Atari, che ha permesso di utilizzare gli stessi joystick, paddle, trackball & mouse (quando sono usciti), pistole, e persino le light pen. E le tavolette grafiche utilizzate dai disegnatori, ce le dimentichiamo?

    Appunto, hai avuto bisogno di un libro. Difficile da trovare?!? Figurati quindi in quanti lo conoscevano. Ma per piacere…

    Che bella scoperta… peccato che, senza quel libro, non avresti mai capito cos’era un interrupt raster… quindi puoi metterti d’impegno quanto vuoi, ma se non hai un buon libro su cui studiare o comunque risorse affidabili su cui poggiarti, è inutile…

    C’erano anche le riviste: TANTE e ZEPPE di informazioni. Come credi che abbia imparato io? Qualche libro l’ho comprato soltanto dopo MOLTO tempo che avevo già imparato a programmare. Senza dimenticare il manuale del C64 che, come dicevo, alla fine aveva un’appendice con tutta la mappa di memoria e le locazioni dell’intero computer: una manna dal cielo a costo zero.

    il problema del C64 era questo: era così intricato e complesso che solo con chissà quali risorse potevi imparare a programmarci qualcosa…

    Per me era semplice e ricco, e l’ho imparato a spremere anche molto velocemente. Sprite? Banali da gestire. Grafica? Una manciata di istruzioni e avevo uno schermo bitmapped a disposizione, con risoluzione e numero di colori più elevato. Musica? No comment: il SID ancora oggi lo rimpiangono, e parlo di musicisti professionisti. Ecc. ecc.

    P.S. Se vuoi quotare usa il tag blockquote, come faresti con l’XML. ;)

  • # 43
    Stefano Palmonari
     scrive: 

    Non si capisce se sei più fazioso tu o Alfonso Martone. Forse SEI Alfonso Martone, chi lo sa. Peraltro definire “polemico” Gab72 significa o essere in malafede o non aver letto ciò che ha scritto che, semmai, può essere definito RIGOROSO.

    Ti ripeto: su tutte queste questioni personalmente ho “già dato”, anche professionalmente. Per me il c64 e’ superiore sotto ogni punto di vista. Stammi bene : )

  • # 44
    Stefano Palmonari
     scrive: 

    Toh, ho avuto bisogno di un libro… Ma dai non mi dire :-D eh beh, le routines per gestire 128 sprites o per scrivere un player sotto irq me le sono sognate… Come Manfred Trenz e Dan Phillips avranno sognato il multiplexer di Turrican e Armalyte…

  • # 45
    Gianluca
     scrive: 

    Guardate, rispondo solo alle ultime cavolate che avete detto, prima di chiudere definitivamente il discorso:

    “Non si capisce se sei più fazioso tu o Alfonso Martone. Forse SEI Alfonso Martone, chi lo sa. Peraltro definire “polemico” Gab72 significa o essere in malafede o non aver letto ciò che ha scritto che, semmai, può essere definito RIGOROSO.”

    Non sono Alfonso, tuttavia ne condivido molti pensieri e pareri. Gab72 e’ inutilmente polemico, perchè il vero problema non è un confronto tecnico, bensì un approccio alla programmazione e all’utilizzo offerto dai due computer totalmente differente… questo è oggettivo, quindi non c’è nessuna faziosità nei miei discorsi… e mi stupisco di come invece siete riusciti a divagare in un confronto tecnico, visto che all’inizio ho parlato di tutto tranne che di questo…

    “Senza dimenticare il manuale del C64 che, come dicevo, alla fine aveva un’appendice con tutta la mappa di memoria e le locazioni dell’intero computer: una manna dal cielo a costo zero.”

    Ahahahahahah, ah si, la famosa mappa di memoria, spiegata solo nelle prime 1024 locazioni, e peraltro in maniera abbastanza discutibile… ma per piacere, non so che cavolo ce l’hanno messa a fare, visto che quella mappa la capisce solo chi ha costruito il C64 stesso… l’unica parte capibile del manuale è la parte del BASIC e qualche spiegazione sui registri del VIC-II e del SID…

    “Se parliamo di estendere il BASIC, il vettore da alterare era uno, se non ricordo male.”

    Certo, perchè siamo tutti capaci di estendere un BASIC, vero? Che ce vò a rifà un BASIC da zero? A livello di utenza finale, questo aspetto a quanti può interessare? Certamente a pochi, solo agli smanettoni appassionati, non agli utenti definiti “normali” :)

  • # 46
    Stefano Palmonari
     scrive: 

    ma tutto questo non conta nulla se poi la macchina, in se per sè, ti mette nella totale incapacità di programmarci qualcosa di serio!

    pop

    mi stupisco di come invece siete riusciti a divagare in un confronto tecnico, visto che all’inizio ho parlato di tutto tranne che di questo…

    Scusa, all’inizio hai parlato di programmazione “seria”. Se questo non comporta un confronto tecnico, di cosa si tratta? Cosa intendi per programmare “qualcosa di serio”…? Perche’ NON mi risulta che lo zx spectrum venisse utilizzato da commercialisti o da broker assicurativi. Probabilmente nemmeno il C64. Ma a questo punto, posso confermarti che in ogni caso, sul C64 sono state prodotte TONNELLATE di “qualcosa di serio”.

    Per concludere, almeno per quanto mi riguarda, se mi scontravo con limitazioni software, mi adoperavo per OLTREPASSARLE. Non stavo li’ a piangermi addosso se qualcosa non era offerto nativamente. Ed e’ per questo che ho imparato l’asm, per conto mio. Se qualcuno in tutto cio’ vede un problema, ebbene per me e’ un SUO limite, non mio, e nemmeno del C64.

  • # 47
    Cesare Di Mauro
     scrive: 

    @Gianluca:

    Guardate, rispondo solo alle ultime cavolate che avete detto, prima di chiudere definitivamente il discorso:

    Di quali “cavolate” parli? Mi sembra che nessuno abbia detto “bestialità”, ma nel caso non hai che da segnalarlo.

    Comunque con questi termini stai offendendo i tuoi interlocutori: non mi sembra che qualcuno t’abbia mancato di rispetto qui.

    Non sono Alfonso, tuttavia ne condivido molti pensieri e pareri. Gab72 e’ inutilmente polemico, perchè il vero problema non è un confronto tecnico, bensì un approccio alla programmazione e all’utilizzo offerto dai due computer totalmente differente… questo è oggettivo, quindi non c’è nessuna faziosità nei miei discorsi… e mi stupisco di come invece siete riusciti a divagare in un confronto tecnico, visto che all’inizio ho parlato di tutto tranne che di questo…

    Il punto su cui batti, iniziare a programmare, lascia il tempo che trova, come ho avuto modo di affrontare più volte l’argomento.

    Un programmatore spende poco del suo tempo in questa fase, e molto di più nello smanettare e produrre codice.

    Inoltre vogliamo parlare della tastiera giocattolo in dotazione agli Spectrum? La tastiera è lo strumento primario per un programmatore, e dev’essere di discreta fattura. Quelle Sinclair hanno lasciato quasi sempre a desiderare.

    Ahahahahahah,

    Risata fuori luogo e inopportuna, per quanto detto all’inizio. La stai buttando in caciara per “chiuderla”, visto che a quanto pare non ti va di continuare, e questo non ti fa onore né ti darà ragione.

    ah si, la famosa mappa di memoria, spiegata solo nelle prime 1024 locazioni, e peraltro in maniera abbastanza discutibile… ma per piacere, non so che cavolo ce l’hanno messa a fare, visto che quella mappa la capisce solo chi ha costruito il C64 stesso… l’unica parte capibile del manuale è la parte del BASIC e qualche spiegazione sui registri del VIC-II e del SID…

    Intanto queste informazioni c’erano, ed erano assenti nel manuale dello Spectrum. Fra il nulla e qualcosa, meglio qualcosa dalle mie parti.

    A parte questo e come ti è stato già detto più volte, la documentazione certamente non mancava per chi aveva voglia di smanettare.

    Certo, perchè siamo tutti capaci di estendere un BASIC, vero? Che ce vò a rifà un BASIC da zero? A livello di utenza finale, questo aspetto a quanti può interessare? Certamente a pochi, solo agli smanettoni appassionati, non agli utenti definiti “normali” :)

    Intanto c’era questa possibilità, anche se riservata a chi andava in giro con la carriola.

    Gli utenti “normali”, poi, dov’è che si dovevano fermare? Disegnando quattro linee sullo schermo? E finiva lì la loro “programmazione”?

    Se è così, non v’è dubbio che lo Spectrum era la macchina per loro, visto che offriva già in partenza un BASIC con quei 4 comandi base per disegnare.

    Per chi aveva voglia di andare avanti, ovviamente c’era ben altro, e di ben più appagante.

    E non parlo solo di videogiochi, ovviamente, visto che di applicazioni professionali ne esistevano a vagonate per il C64, grazie anche alle periferiche a disposizione, appunto, mentre per lo Spectrum non si poteva dire la stessa cosa.

    Mettiamola così: per iniziare a programmare in BASIC lo Spectrum era più portato. Per tutto il resto c’era il C64.

  • # 48
    Gianluca
     scrive: 

    “Comunque con questi termini stai offendendo i tuoi interlocutori: non mi sembra che qualcuno t’abbia mancato di rispetto qui.”

    Questo è vero, quindi mi scuso per i termini.

    “Fra il nulla e qualcosa, meglio qualcosa dalle mie parti.”

    Il che è diverso dal dire: una vera manna dal cielo.

    “La stai buttando in caciara per “chiuderla”, visto che a quanto pare non ti va di continuare, e questo non ti fa onore né ti darà ragione.”

    Vorrei chiuderla non per i motivi che pensi tu, ma semplicemente perchè si sta scendendo troppo su dei dettagli tecnici che, non solo sono sulla bocca di tutti (basta che fai una ricerca su Internet sui dettagli tecnici di ZX e C64), ma non servono a quello che io volevo intendere fin dall’inizio…

    “Mettiamola così: per iniziare a programmare in BASIC lo Spectrum era più portato. Per tutto il resto c’era il C64.”

    Qua concordo in pieno. Proprio qui volevo arrivare: non ho mai detto che il C64 fa schifo, ma semplicemente che richiedeva molto più tempo per essere appreso, al punto tale che solo chi sapeva già programmare ad un livello più alto poteva farci da subito qualcosa…

  • # 49
    Arturo
     scrive: 

    Ciao a tutti, innanzitutto grazie per questi contributi! Da profano, possessore del C64, moltissime cose le ignoravo e mi fa fatto quindi molto piacere recuperare tutte queste informazioni e pareri su entrambi i computers.
    Penso che a questo punto, il pensiero di un allora adolescente che giocava soltanto con il C64 e con lo Spectrum 48 ci possa anche stare! :)
    Le cose che avete scritto voi le ho sempre “intuite”. Sapevo che lo spectrum era un computer piu` “serio”, lo deducevo semplicemente dal fatto che i giochi erano obiettivamente “pietosi” rispetto al C64. Mi ricordo le riviste che pubblicavano i giochi per entrambe le macchine e lo stesso gioco era decisamente piu` bello, a livello di grafica, sul C64. Un mio amico, adesso ingegnere, possedeva lo spectrum e disegnava con una certa facilita`. Io ci ho provato mezza volta col C64, e letteralmente desolato dai risultati… ho caricato un giochino e mi sono ugualmente divertito! :)
    Insomma, per farla breve, lo sapevamo tutti che il c64 veniva comprato il 99 per cento delle volte per giocare, mentre lo spectrum lo si comprava per risparmiare qualcosa e giocarci lo stesso, ma se ci volevi fare altro, senza essere spinto dalla curiosita` eccessiva e dall’imparare qualche nozione in piu`, potevi riuscirci piu` agevolmente! I maniaci dell’informatica, gia` negli anni 80, di certo non si fermavano di fronte al fatto di avere un C64 od uno spectrum, anzi, raccoglievano la sfida su entrambe le macchine!
    In conclusione, sono felice di aver posseduto un c64, non ho mai avuto voglia di uno spectrum, ma in ogni caso credo che sono due splendidi prodotti per ragioni diverse. Secondo me la partita finisce alla pari! :)

  • # 50
    floriano
     scrive: 

    più di 25 anni fa c’era la sfida:

    ZX Spectrum vs Commodore 64

    che poi in realtà è la sfida

    Zilog ZX80 (+ecc) vs MOS 6510

    i processori intel si possono considerare simili agli z80 e gli arm hanno un set’sitruzione simile ai 6510

    quindi la nuova sfida sarà:

    Intel X86 vs ARM

    chi vincerà?

  • # 51
    Luke
     scrive: 

    La discussione è davvero interessante ed appassionante! Nonostante io sia un “Commodoriano” devo dire che le due macchine, entrambe buone, sono figlie del loro tempo, ognuna coi propri pregi e difetti. Ma tra le due quella che ha resistito di più nel tempo è senza ombra di dubbio il tanto bistrattato CBM-64, e questo vorrà pur dire qualcosa! Il software per questa macchina veniva commercializzato fino al 1992, ricordo che ero al primo anno di ingegneria ed era l’epoca dei primi 486, mentre da qualche anno aveva fatto la sua comparsa l’Amiga. Invece già nell’85 la Sinclair era fallita, e tutti i tentativi successivi di rilanciare lo Spectrum da parte della Amstrad (che rilevò la Sinclair) fallirono miseramente (ricordo anche che la famosa tastiera in gomma tanto elogiata dagli Spectrumisti, era stata già abbandonata perfino nelle versioni Spectrum successive, e quella che usiamo sui PC di oggi è ancora quella del 64).
    Ricordiamo anche che nell’86 i C64 montavano il GEOS, sistema operativo a interfaccia grafica che comprendeva il word processor, fogli di calcolo e strumenti per disegnare (con funzionalità “drag and drop” and “WYSIWYG” e gestione delle periferiche con i driver). Sinceramente non sono al corrente di una cosa analoga per quanto riguarda lo Spectrum.
    Vogliamo parlare della velocità del processore? Questo parametro non è sufficiente per dire che un processore sia migliore di un altro (lo spiegano alla prima lezione di Fondamenti di Informatica I …). Inoltre stiamo parlando di un confronto tra 1 MHZ e 3 MHZ…a queste velocità per le applicazioni dell’epoca non si poteva notare di certo una sensibile differenza…. Quello che sorprende è che nonostante la minore velocità il 6510 riusciva a tenere testa al più potente Z80, grazie anche all’architettura che gli consentiva di “delegare” il lavoro ad altri chip, mentre il povero Z80 da solo doveva accollarsi un lavoro immane, rallentando di fatto le sue “potenziali” prestazioni. Riguardo a grafica sonoro e giocabilità, basta confrontare qualsiasi videogioco nelle sue versioni per 64 e Spectrum per accorgersi che il confronto è impari, su questo terreno lo Spectrum non può certo competere (qualche esempio? Rainbow Island, Raid Over Moscow e Emilyn Huges International Soccer per dirne qualcuno) nè per grafica nè per sonoro.
    Per quanto riguarda il Basic, bisogna dire che nessun programmatore o software house avrebbe mai speso tempo a realizzare Software Professionale in basic (lontano comunque dal concetto di programmazione moderna) che non faceva altro che esasperare la lentezza delle architetture dell’epoca. Il basic poteva servire solo a scopo didattico per apprendere i primi rudimenti, ma allora non faceva nessuna differenza disporre della versione primitiva del c64 o di quella più evoluta dello spectrum, e c’è anche da dire che nel caso del 64 era possibile acquistare versioni più evolute del basic o altri linguaggi didattici quali Logo (che consentiva di disegnare qualunque cosa in maniera molto semplice) Fortran, Cobol, Pilot e addirittura il C (C power)! Ad ogni modo per produrre qualcosa di più serio bisognava usare l’assembly e se guardiamo i risultati ciò che è stato realizzato spremendo l’hardware e il lento processore del 64 è qualcosa di eccezionale in rapporto alle sue risorse. Ricordiamo ad esempio Koala Painter, Music Shop, il CAD, i programmi per la sintesi vocale (SAM) e musicale (Prophet64, con gestione di musica MIDI) che davano risultati irraggiungibili dal buzzer piezoelettrico dello Spectrum, col quale comunque si è riusciti a ottenere dei buoni risultati spremendolo al massimo (con notevole aggravio del carico sul processore) ma non paragonabili al sonoro del 64. Ci sono poi i vari software comprendenti fogli di calcolo, gestionali, database, desktop publishing, la possibilità di scambiare file con altri computer e di connettersi alla rete telefonica, il controllo remoto di accessori elettrici…la lista potrebbe diventare infinita. C’è da sorprendersi in un’epoca in cui siamo arrivati a gigabyte di ram e gigaherz di processore cosa si riuscisse a fare con 0.98 MHZ e 64kbyte….con l’apparente maggior potenza di calcolo del rivale Spectrum i risultati ottenuti sono stati di gran lunga inferiori…e questa è storia!

  • # 52
    Alfio
     scrive: 

    quando mettete a confronto uno spectrumista con un sessantaquattrista, il primo tirera’ fuori immediatamente i 3.5mhz del processore dello spectrum e chiedera’ immediatamente “se il c64 ha 64k di memoria perche’ per il basic ce ne sono liberi solo 39k?” queste sono le uniche cose a cui puo’ appigliarsi, per distogliere le attenzioni dal potente chip video del c64 e dall’ancora piu’ potente SID. ma quello che propabilmente non sapete (e forse non lo sa neanche lo spectrumista, o forse lo sa e sta zitto!) e’ che: l’architettura dello Z80 lo rende piu’ lento del 6502. l’istruzione piu’ veloce dello Z80 paragonata all’istruzione piu’ veloce del 6502 impiega il doppio dei cicli di clock ad essere eseguita. l’istruzione piu’ lenta invece impiega il TRIPLO dei cicli di clock ad essere eseguita su Z80. l’accesso alla ram con il 6502 impiega 1 ciclo di clock, mentre impiega IL TRIPLO su Z80 se l’accesso avviene in un area al di fuori di quella gestita dalla ULA altrimenti l’accesso e’ ancora piu’ lento (questa area di memoria detta “contesa” ha la priorita’ della ULA che deve accedervi continuamente per disegnare lo schermo, in alcuni casi l’accesso a questa area di memoria “CONTESA” e’ 5 volte piu’ lento dell’accesso alla ram del 6502. ecco perche’ nonostante lo Z80 sia cloccato a 3.5mhz alla fine, in alcuni casi e’ piu’ lento di un 6502 a 0.98mhz! non vi fate ingannare dal ROSSO dello spectrum, il c64 ha 16 colori, una grafica multicolor (parola sconosciuta al mondo spectrum) e 8 bei sprite completamente indipendenti dallo schermo, gli sprite software dello spectrum non hanno niente a che vedere con gli sprite del c64. e l’audio? meglio non infierire oltre..

  • # 53
    Mario
     scrive: 

    Penso che sia evidente come anche all’epoca entrambe le macchine fossero per forza di cose limitate, visto che dovevano rientrare in un certo budget. Dunque non si può pretendere un’offerta perfettamente equilibrata di risorse né dall’una né dall’altra. Nelle due macchine inoltre, allo scopo di realizzare dei compromessi costi/prestazioni, vennero adottate scelte diametralmente opposte ed è per questo che a distanza di anni la disputa fra i sostenitori dell’una e dell’altra è ancora molto accesa. Ci sono a confronto due processori completamente differenti, cuori di architetture tra loro ancora più differenti.
    Le lacune hardware dello Spectrum (la mancanza di veri e propri chip dedicati per grafica e suono) non hanno impedito lo sviluppo di videogiochi divertenti, giocabili e ben fatti per esso, come la presenza di un BASIC residente anche per l’epoca obsoleto e scarno di comandi non ha comunque impedito al Commodore 64 di iniziare brillantemente alla programmazione tantissime persone. La scelta di non includere comandi BASIC per la grafica nel Commodore 64 è ovviamente discutibilissima perché “nasconde” al principiante le notevoli (per l’epoca) caratteristiche “multimediali” della macchina, ma in fondo non era nemmeno necessario per ovviare a questo acquistare la cartuccia del Simon’s BASIC, si poteva risolvere più economicamente digitando e salvando un breve programma proveniente da una rivista.
    La scomodità forse non da poco di dover gestire certe caratteristiche (ad esempio sprites e suono) utilizzando delle POKE a determinate locazioni di memoria era compensata dalla possibilità di poter sperimentare con un’architettura complessa, cosa facilitata dalla caratteristica dei chip custom del C64 di essere mappati in memoria. Ho sempre trovato questo affascinante e mi muovevo bene in questo contesto. Inoltre, un simile approccio costituiva un’eccellente preparazione per poter poi passare al linguaggio macchina sapendo già dare abbastanza del tu all’architettura della macchina.
    Ribadisco comunque che fu un vero peccato non dotare il C64 di un BASIC nativo migliore. Trovo invece adeguata la scelta di riservare ai programmi BASIC e variabili “solo” 38911 bytes, lasciando un’area isolata di 4K indipendente dai puntatori del BASIC e quindi comodissima per contenere piccole utilities in linguaggio macchina. Poi arrivò il Plus 4 che offrì 60K per il BASIC, ma tale caratteristica fu bollata come “inutile” dalla critica…
    Seppure con le loro contraddizioni e le incompatibilità tra i vari modelli, ho sempre trovato le macchine Commodore molto interessanti. Ed il Commodore 64 era ed è tuttora una macchina particolarmente versatile e che non finisce mai di stupire, basti considerare che è ancora presente una scena attiva che produce software sempre più sorprendente.
    Lo ZX 81 Spectrum ha comunque il suo fascino e le dimensioni estremamente ridotte in rapporto alle prestazioni lo rendono indubbiamente un gioiellino (oltre ovviamente al BASIC nativo con più comandi di quello del C64 e al microprocessore oggettivamente più sofisticato e simile a quelli odierni). Va ricordato che anche la Commodore realizzò un computer estremamente compatto, il C116 (piccolo ma pieno di porte, anche se con una tastiera davvero scomodissima). Venne commercializzato tardivamente come versione economica del C16 e solo in Europa (in origine avrebbe dovuto essere questo l’unico computer basato sul chip TED, da rilasciare al prezzo di 49 dollari per competere con i Timex/Sinclair). Poi il disastro gestionale che venne fatto con la serie 264 è noto ma è un’altra storia.

  • # 54
    Mario
     scrive: 

    E’ sicuramente interessante il seguente link: http://www.c64italia.altervista.org/spectrum.html
    In questo sito viene effettuato un confronto molto dettagliato tra le due macchine (e a mio parere si tratta di un confronto obiettivo e rigoroso nonostante si tratti di un sito dedicato al Commodore 64).

Scrivi un commento!

Aggiungi il commento, oppure trackback dal tuo sito.

I commenti inseriti dai lettori di AppuntiDigitali non sono oggetto di moderazione preventiva, ma solo di eventuale filtro antispam. Qualora si ravvisi un contenuto non consono (offensivo o diffamatorio) si prega di contattare l'amministrazione di Appunti Digitali all'indirizzo info@appuntidigitali.it, specificando quale sia il commento in oggetto.