Menu

Home Storia Commodore Commodore PET Commodore VIC-20 Commodore MAX Machine Commodore 64 Commodore 16 Commodore 128 Commodore 65 Amiga 500 Amiga 600 Amiga 1200 Riparazioni C64 Datassette Manutenzione Taratura Azimuth Datassette Riparazioni Amiga 500 Formattare Floppy Disk 720 Kb Alimentatore ATX per Amiga 500 Sostituire Floppy Drive Amiga con Floppy Drive PC Creare Cassette per CBM64-128, Vic20 e CBM16 Trasferire File PC-Amiga (Amiga Explorer) Trasferire file PC-Amiga (ADF Sender Terminal) Visualizzare Immagini e Foto PC-C64 Visualizzare Immagini e Foto PC-Amiga Costruire Cavo Seriale Null-Modem Cavo Video Scart C64, C128, Vic20 Adattatore Joystick C64/C16 Restauro estetico Emulatori Adattatori SD2IEC BASIC Collezionare Commodore Retrogaming Altri Computer Vintage

Manuale del Commodore 64

COMANDI BASIC

CONT Comando per far ripartire l'esecuzione di un programma che è stato interrotto con il tasto STOP

LIST Consente di listare le righe di un programma nella memoria.

LOAD Comando per caricare nella memoria un programma da nastro (datassette) o da disco (floppy drive).

NEW Cancella l'intero programma nella memoria.

RUN Avvia l'esecuzione di un programma nella memoria.

CLOSE Completa e chiude qualsiasi file usato dall'istruzione OPEN.

CLR Cancella qualsiasi variabile nella memoria lasciando intatto il programma.

CMD Invia l'output dello schermo ad un altro dispositivo (stampante, datassette o floppy drive).

DATA Istruzione eseguita da un elenco di voci da usare dalle istruzioni READ.

DEF FN Consente di definire con un nome breve, un calcolo complesso come ad esempio una FUNZIONE.

END Con questo comando il programma si interrompe come se fossero esaurite le righe.

FOR..TO..STEP Funziona con l'istruzione NEXT, per ripetere una sezione di programma.

GET Consente di trasferire dati da tastiera, un carattere alla volta.

GOTO La riga successiva da eseguire sarà quella con il numero di riga che segue questo comando.

GOSUB Simile a GOTO ma il programma ricorda quale riga è stata eseguita per ultima.

IF..THEN Consente al computer di analizzare una situazione e di intraprendere due azioni possibili in realzione al risultato.

INPUT Consente al programma di acquisire dati dall'utente, assegnando questi ad una variabile.

NEXT Sempre usanto con l'istruzione FOR. Quando il programma raggiunge un'istruzione NEXT, controlla l'istruzione FOR.

ON Attiva i comandi GOTO e GOSUB.

OPEN Consente al computer di accedere ai vari dispositivi (datassette, floppy drive, stampante o schermo).

POKE E' sempre seguito da due numeri o formule. La prima locazione è di memoria, il secondo numero è un valore decimale che va da 0 a 255.

PRINT Può essere seguita da stringhe di testo con virgolette, nomi variabili, funzioni o segni di punteggiatura.

$ Definisce una "variabile". Simbolo $ e nome della variabile con una lettera (esempio $A).

READ Usato per assegnare informazioni da istruzioni DATA alle variabili, per far si che le informazioni possano essere usate.

RESTORE All'interno di un programma, il puntatore al quale un elemento in un'istruzione DATA verrà letto (READ), viene successivamente ripristinato al primo elemento nella lista. Pertanto consente di rileggere le informazioni.

RETURN Quando il programma incontra questo comando, va all'istruzione successiva al comando GOSUB.

STOP Interrompe l'esecuzione del programma.

SYS E' seguito da un numero decimale o da un valore numerico da 0 a 65535.

SYS 64738 Questo comando provoca il RESET della macchina. Utile ad esempio nel CBM 64 dove manca il tasto del reset.

WAIT Viene usato per interrompere il programma fino a che i contenuti di una locazione di memoria non cambiano in modo specifico.

PLAY Nel BASIC 1.0 di Microsoft o superiore, serve per impartire una nota musicale da eseguire. Va seguito dal nome del tasto corrispondente alla nota che si vuole far eseguire come ad esempio "D" o una sequenza di note: "DAFG"

bottom corner

basic

Il linguaggio BASIC (Pagina 1/2)

il Commodore BASIC è il linguaggio di programmazione della Commodore Business Machine, sviluppato dalla Microsoft usato da tutti i computer a 8 bit, dal primo Commodore PET (1977) fino al Commodore 128 (1985). Ne furono sviluppate altre anche altre versioni (non da Commodore) come ilSimons BASIC (più evoluto con 110 comandi aggiuntivi), la cartuccia Super Expander (con 32 comandi aggiuntivi) e l' Ultrabasic di Abacus sviluppato nel 1983 (con 50 comandi aggiuntivi).

Jack Tramiel acquistò la licenza illimitata di utilizzo del Microsoft BASIC pagando a Bill Gates la somma di 25.000 dollari. Il linguaggio era adattato per il processore MOS 6502 e nel tempo ne furono sviluppate diverse versioni con varie correzioni di errori e aggiornamenti per il riconoscimento delle periferiche.

Come si può notare nella schermata di boot dei vari computer Commodore, viene riportata la versione di BASIC in utilizzo sulla macchina stessa. Nel Commodore 64 e nel VIC-20 ad esempio si trova la versione 2.0 (V2), nel Commodore 16, plus/4 e Commodore 116 è installata la versione 3.5 (V3.5), nel Commodore 128 la versione 7.0 e ne fu sviluppata una versione 10 per il Commodore 65.

ESEMPI DI PROGRAMMAZIONE IN LINGUAGGIO BASIC
(altri esempi li trovate nella PAGINA 2/2)

CALCOLI MATEMATICI

Per far eseguire un calcolo matematico al computer si usa l'istruzione "PRINT" come nell'esempio: PRINT 10 + 5 seguito dal tasto RETURN alla pressione del quale il computer darà come risultato: 15.

Si può far eseguire al computer qualsiasi calcolo matematico usando "+" per le somme, "-" per le sottrazioni, "*" per le moltiplicazioni e "/" per le divisioni. Il tasto con la freccia rivolta verso l'alto da come istruzione: elevamento a potenza. Questi simboli sono detti OPERATORI. Naturalmente si possono far eseguire calcoli molto più complessi e come abbreviazione la parola "PRINT" può essere sostituita dal simbolo "?". Si possono ad esempio utilizzare le parentesi come nell'esempio: ? (10 + 5) * (20 + 5). Alla pressione del tasto RETURN il computer darà come risultato 375.

ISTRUZIONI COMBINATE

I COMANDI "PRINT" E "GOTO"

Una serie di istruzioni combinate generano un PROGRAMMA. L'esempio più breve e pratico è quello di istruire la macchina a ricevere un'informazione, memorizzarla ed eseguirla. In BASIC si usa la parola "PRINT" per "stampare" l'informazione nella memoria e la parola "GOTO" per dire al computer di portarsi su una determinata riga di comando del programma per eseguirla nuovamente. Digitando ad esempio la seguente riga: 10 PRINT "PASSIONECOMMODORE", il computer ci darà come risultato la parola stessa da noi immessa (fra virgolette perché è la costante). Ma se oltre a questo comando digitiamo una seconda riga: 20 GOTO 10 diremo al computer di tornare alla riga 10 (GOTO = vai a) e ripeterla come risultato all'infinito. Digitando il comando RUN avremo pertanto una serie infinita dello stesso risultato, ossia il ripetersi della parola PASSIONECOMMODORE su una colonna in verticale. Se dopo le virgolette sulla prima riga di comando aggiungiamo il simbolo ";" la parola verrà ripetuta all'infinito ma per orizzontale. Possiamo inoltre dire al computer che il programma è finito, aggiungendo un'ultima riga di comando con l'istruzione "END". Qui sotto i due esempi:

10 PRINT "PASSIONECOMMODORE"
20 GOTO 10
30 END
RUN

10 PRINT "PASSIONECOMMODORE";
20 GOTO 10
30 END
RUN

Per fermare l'esecuzione del programma in qualsiasi momento basta premere il tasto "RUN STOP", mentre per visualizzare nuovamente tutto il programma basta digitare "LIST".

Perché cominciare ogni riga di comando con un numero? Dare un numero ad ogni riga di comando serve a dare una progressione all'esecuzione delle stesse. Possiamo ad esempio dare come nome alla prima riga il numero 10, alla seconda il numero 20, alla terza il numero 30 e così via. Perché utilizzare i numeri 10,20,30 e non 1,2 e 3? Non siamo obbligati ad utilizzare questi numeri decimali. Questi si usano per il semplice motivo che se ci accorgiamo di aver dimenticato di scrivere una riga di comando o ne vogliamo comunque aggiungere un'altra fra due già scritte, possiamo farlo dando come nome un numero che sta fra la prima e la seconda, come ad esempio il numero 15 fra il 10 e il 20.

I COMANDI "FOR" E "NEXT"

Se invece di far ripetere all'infinito una parola, vogliamo che venga ripetuta per un numero precisato di volte (ad esempio 3), possaimo usare i comandi FOR e NEXT come nell'esempio:

10 FOR CT = 1 TO 3
20 PRINT "PASSIONECOMMODORE"
30 NEXT CT
40 END

Digitando RUN il risultato sarà il seguente:

PASSIONECOMMODORE
PASSIONECOMMODORE
PASSIONECOMMODORE

I COMANDI "IF" E "THAN"

I comandi IF (se) e THEN (allora) danno al programma una LOGICA. La stessa Logica che poi è la base della programmazione. Per fare un esempio di utilizzo di questa logica possiamo far ripetere al computer la parola PASSIONECOMMODORE per un numero preciso di volte (come nell'esempio usato con i comandi FOR e NEXT), ad esempio 5 volte:

10 CT = 0
20 PRINT "PASSIONECOMMODORE"
30 CT = CT + 1
40 IF CT < 5 THEN 20
50 END

Digitando RUN otteniamo come risultato la parola PASSIONECOMMODORE ripetuta per 5 volte. La riga di comando 40 richiama come risultato l'informazione della riga 20. Naturalmente possiamo utilizzare i vari simboli <,>,=,<>,>= e <= per dare i rispettivi significati: minore di, maggiore di, uguale a, diverso da, maggiore di o uguale a e minore di o uguale a. Già con questi simboli è facile immaginare quante informazioni possiamo immettere nei programmi.

I COLORI DELLO SFONDO E DEL BORDO

Considerando che il valore 53280 si riferisce a quello del bordo e dei caratteri dello schermo e 53281 a quello dello sfondo, possiamo cambiarli assegnando a ciascuno di essi un colore a nostra scelta. I 16 colori disponibili hanno come assegnazione un numero che va appunto da 0 a 15, come nella seguente tabella:

0 NERO
1 BIANCO
2 ROSSO
3 CELESTE
4 PORPORA
5 VERDE
6 BLU
7 GIALLO

8 ARANCIO
9 MARRONE
10 ROSSO CHIARO
11 GRIGIO 1
12 GRIGIO 2
13 VERDE CHIARO
14 AZZURRO
15 GRIGIO 3

Digitando l'istruzione POKE seguita dal codice dello schermo o dello sfondo, possiamo poi dopo la virgola assegnare il colore che preferiamo come nell'esempio:

POKE 53280,1 (assegniamo al bordo il colore bianco)
POKE 53281,7 (assegniamo allo sfondo il colore giallo)
Possiamo dunque assegnare tutte le combinazioni di colori che preferiamo come negli esempi quì sotto:

Possiamo ad esempio dare allo screen un aspetto simile al CP/M del Commodore 128 o di quello che sarebbe diventato il DOS nei PC, assegnando sia al bordo che allo sfondo il colore nero digitando:

POKE 53280,0
POKE 53281,0

Possiamo inoltre passare dalla modalità automatica dei caratteri in maiuscolo a quella in minuscolo, premendo contemporaneamente i tasti C=+SHIFT ottenendo questo aspetto:

VISUALIZZARE IL CONTENUTO DI FILE DA UNITA' FLOPPY DISK

Per visualizzare il contenuto dei file o delle cartelle di un floppy disk digitare:

LOAD "$",8 (seguito dal tasto RETURN)
LIST (per vedere l'elenco dei file)

CARICARE UN PROGRAMMA (O GIOCO) DA UNITA' FLOPPY DISK

Per caricare un programma da floppy disk digitare:

LOAD "nome programma" ,8 (seguito dal tasto RETURN)
RUN (per avviarne l'esecuzione)

Per avviare direttamente l'esecuzione di un programma o gioco (verrà avviato il file di esecuzione) digitare:

LOAD "*",8,1 (seguito dal tasto RETURN)

SALVARE UN PROGRAMMA SU FLOPPY DISK

Per salvare un programma su floppy disk, digitare:

SAVE "nome programma" ,8

CARICARE UN PROGRAMMA (O GIOCO) DA NASTRO MAGNETICO CON IL DATASSETTE

Per avviare il caricamento di un programma o gioco da nastro magnetico, digitare:

LOAD (seguito dal tasto RETURN)
Apparirà il messaggio: PRESS PLAY ON TAPE, quindi premere PLAY nel datassette

SALVARE UN PROGRAMMA SU NASTRO MAGNETICO CON IL DATASSETTE

Per salvare un programma su nastro magnetico, digitare:

SAVE "nome programma" (seguito dal tasto RETURN)
Apparirà il messaggio: PRESS PLAY AND RECORD ON TAPE, quindi premere PLAY/RECORD nel datassette

RESETTARE IL COMPUTER

Nel Commodore 64 e nel Commodore VIC-20 è assente il tasto del RESET. Pertanto per resettare la macchina dobbiamo necessariamente spegnere l'interruttore per poi riaccenderlo. Se siamo nella schermata principale e vogliamo resettare possiamo pertanto utilizzare il comando: SYS 64738, evitando così di utilizzare sempre l'interruttore.

Questi semplici esempi servono per capire le nozioni base del BASIC, e li trovate nei vari manuali. Una volta compresi i meccanismi del BASIC, possiamo elaborare programmi più complessi e personalizzati. Altri esempi pratici di programmazione in BASIC li trovare nella PAGINA 2/2.

HomePage | passionecommodore.it | Privacy Policy