Questa è la trascrizione del video. Leggi l'articolo originale con tutti i dettagli →
Buongiorno! Bentornati sul canale ValorosoIT e benvenuto a chi è la prima volta sul canale. Ci occupiamo di computer ed elettronica vintage. Mi trovo al Varese RetroComputing 2024 con Davide Calvi di RetroEdicola, conosciuto anche come Dr. Fix. È la prima volta sul canale ValorosoIT. Quindi, Davide, di che cosa ci vuoi parlare? Mi sembra una cosa molto interessante.
Sì, buongiorno a tutti! Ciao! Presentiamo il Cosmac ELF.
Cosmac Elf... che cos’è stato?
È stato una single board computer realizzato dall’ingegnere Weisbecker. Siamo nell’anno 1976.
Ah, quindi andiamo un po’ indietro nel tempo oggi.
Sì, siamo nel 1971. Partiamo da questo anno, dove l’ingegnere Weisbecker ideò il microprocessore COSMAC 1802. Ci vollero alcuni anni, si arrivò fino al 1974 per realizzarlo e subito dopo fu utilizzato soprattutto per l’industria. Dopodiché, siccome lui aveva una propensione per l’hobby e la didattica, prese la versione industriale, la semplificò e divenne Cosmac ELF. La serie si chiamava Cosmac, e aggiunse la parola ELF per distinguerla da tutte le altre.
Quindi noi stiamo parlando di questa scheda qui, giusto?
Sì, esatto. È un single board computer (SBC) dove abbiamo appunto il microprocessore 1802, due banchi di RAM da 256 byte con parole da 4 bit. Infatti, sommando 4+4, otteniamo parole di 8 bit. Un’uscita video che venne ideata l’anno seguente, nel 1977, e si chiamava 1861.
Ok.
Purtroppo non esiste più questo integrato, è difficile da reperire, ma fortunatamente lo si può replicare con questa schedina formata da PLD e della Micrologica.
Quindi abbiamo microprocessore, RAM, scheda video fondamentalmente, e tutti gli altri sono? Sono delle micrologiche di contorno.
Ok.
Servono per comandare i display, per poter scrivere e leggere i byte scritti nella RAM. Questa è la parte di clock e poteva andare quasi fino a 5 MHz; in questo caso sta andando a 1.5 MHz, più o meno.
Ok. E questo è l’alimentatore?
Sì, questa è la parte di alimentazione. La parte video, l’uscita vera e propria, è formata da questo transistor finale che porta poi al monitor che abbiamo qui di fianco.
Ok. Quindi questa immagine che noi vediamo è generata proprio dal Cosmac ELF?
Esatto. Questa parte qui sopra è molto carina da vedere. È il programma che permette di visualizzare la grafica.
Ah, cioè questo è il programma?
Sì, perché viene rappresentato tutto il banco di RAM da 256 byte a schermo. Quindi vediamo sia il codice che la grafica.
Ho capito. Cioè, in pratica, la scheda video - se possiamo chiamarla così - quindi il chip video, ha accesso a tutta la RAM, dal byte 0 al 255, e li fa vedere a monitor. Quindi questo potrebbe anche essere un programma, in realtà. Quello che noi vediamo adesso, che è un logo, potrebbe essere un programma in teoria?
Esatto, potrebbe anche essere un programma.
Abbiamo altri esempi che possiamo vedere?
Sì. Questa è una modifica tua?
Sì, questa è una modifica aggiuntiva, perché purtroppo caricare manualmente 190 byte, con tutte le levette, c’è il rischio di sbagliare anche un singolo bit e dover rifare tutto il programma.
Allora, la particolarità è stata quella di abbinare un utente virtuale, in questo caso un Arduino, dove possiamo selezionare uno dei programmi preinstallati e caricarlo.
Ah, ok.
Quindi lui in pratica adesso sta schiacciando le levette, come se le stesse premendo manualmente, per caricare i programmi?
Esatto.
E qui abbiamo ottenuto uno dei giochi, quello che cattura il topolino. Il topolino sarebbe questo pixel che si muove, e la trappola è formata da questi quattro puntini.
Ok. Quindi questa RAM qua è il programma. Questo che si muove sarà qualche contatore?
Sì, è il contatore che sta muovendo il nostro pixel.
Ok, ok. Questo pulsantone, che abbiamo abbinato, è quello che ci permette di comandare la trappola.
Adesso io vedo... se riesco posso spostarlo un attimo?
Certo, l’obiettivo è farlo finire in mezzo.
Vediamo se ci riesco... l’ho fatto o non l’ho fatto?
Sì, hai fatto, hai sentito il suono acuto.
Ok, sono riuscito! E se lo faccio uscire fuori per sbaglio?
Vediamo cosa succede...
Ah, ti mette di là dove c’è l’errore. Ha fatto il punto.
Sì, ha fatto punto l’avversario, il topolino. Eh sì, ha fatto il punto il topolino, forte!
Ne abbiamo anche un altro di esempio, che è il target. In questo caso dobbiamo colpire l’obiettivo. Questa, diciamo, è la nostra pistola e questo è il nostro obiettivo da colpire.
Mi sembra più complicato. Aspetta che provo... anche perché ci sarà del tempo tra quando sparo. Non so, l’ho beccato? Non si capisce.
No, perché abbiamo il conteggio sul Cosmac: il numero di tentativi e il numero di volte colpito.
Questo è più difficile! Lo sapevo che era difficile. Non ce la farò mai... vediamo. No, devo andare un po’ prima... forse... no. Oh! Quattro tentativi, zero riuscite.
Beh, si sa che non sono un gamer, quindi questo purtroppo è ciò che accade.
Qui invece è lo schema. Questo è lo schema originale, appunto quello del ‘77, completo. Qua abbiamo il nostro microprocessore - la CPU - i due banchi di RAM, i due display che abbiamo visto, quelli rossi, della micrologica. Questa qui sotto è delle porte, i famosi 8 bit, i nostri 8 interruttori.
Sì. E questi qua sono dei buffer che permettono di interrompere la lettura degli interruttori. Perché, in esecuzione, ovviamente il processore è uno solo. Quindi o sta a leggere la RAM, o va a leggere gli interruttori. In funzione della necessità, andrà ad abilitare la lettura.
Quindi, quando il programma viene eseguito, questi vengono esclusi, in modo tale che può andare a leggere il programma dalla RAM.
Ok. Di qua abbiamo gli altri interruttori, che sono un po’ qui nascosti nello schema, della micrologica. Quelli che vediamo qua. Sì. Comando di carica. Questo è il comando di carica. Il comando di bloccare la scrittura nella RAM. Il comando di esecuzione e il pulsante di inserzione. Quindi tu selezioni qua il byte, fai Inserisci. Possiamo anche fare una prova. Sì.
E Run. Se io adesso lo schiaccio, si spegne? Aspetta, proviamo.
Si è spento? In effetti... ma se lo rischiaccio? Riparte.
Oh, ok!
È giusto, perché se smette di funzionare il programma, poi non viene generato nulla, nemmeno a video. Si ferma semplicemente.
Vogliamo provare a inserire un byte? Mi fai vedere come si fa?
Sì, certo!
Allora, escludiamo l’Arduino. A questo punto fermiamo l’esecuzione. Quindi, in pratica, adesso la memoria è vuota?
Sì, è vuota, tutta a zero.
Ah. Va su Load per caricare.
Sì, su Load. In questo momento inseriamo FF.
Ah, ok. Lo vediamo qua, giusto?
Proviamo a scalare un bit alla volta.
Quindi siamo partiti da FF, poi di volta in volta abbiamo tolto un bit, partendo da quello più pesante a quello più leggero, e abbiamo quindi inserito tutti gli 8 byte.
Esatto. Quindi andiamo a proteggere la RAM, quindi Memory protect, azzeriamo il contatore e, a questo punto, se andiamo a rileggere, rivediamo.
Ah, li vediamo tutti in sequenza.
Ma li possiamo vedere anche sul monitor?
No, perché in questo caso non c’è ancora il programma che li manda al monitor.
Giusto, servirebbe un programma che dalla RAM manda al monitor.
Esatto, andrebbe però aggiunto dopo.
Certo, perché diventerebbe quasi come grafica.
Ovviamente in questo momento faremmo il Run, però non sappiamo nemmeno cosa fa come programma... sono comandi vuoti, senza senso.
Aggiungiamo un’ultima particolarità: della famiglia Weisbecker. Quando ha terminato di sviluppare questo kit per hobbisti, il Cosmac ELF, subito dopo partì il progetto dello Studio 2, partendo sempre dalla stessa architettura del Cosmac Elf.
Era proprio una console di videogiochi.
Però chi poteva scrivere questi videogiochi?
Non c’era ancora una professione, non esisteva. Weisbecker provò con sua figlia, che era una ragazzina di 16 anni, a farle scrivere qualche codice per questa console, e la cosa funzionò! Tant’è vero che a RCA piacquero questi progetti e venne anche pagata 290 dollari, diventando la prima game designer al mondo.
Wow, curiosità interessante!
Sì!
Grazie mille.
Di nuovo, grazie a voi.
Grazie. Per chi è interessato a retrocomputer ed elettronica vintage, iscrivetevi al canale, attivate la campanella delle notifiche e noi ci vediamo al prossimo video.
Ciao ciao!