Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
bisogna avere preventivamente aperto NEW (N): diverso dal NEW del BA- te del settore, che non verranno letti.
almeno due canali: uno per trasmette- SIC, comunica al drive di effettuare la Se volessimo effettuare la lettura com-
re i comandi e ricevere i messaggi sul- formattazione del floppy. Insieme ad pleta del blocco, dovremmo utilizzare
lo STATUS del drive, ed un altro per esso vanno specificati il nome del di- il comando U I, mantenendo la mede-
inviare o ricevere i dati. Fanno ecce- sco ed il suo identificatore. sima sintassi:
zione i soli comandi Memory: se in-
tendiamo operare unicamente con es- 40 PRINT # 1, "NO: nome disco, identifica- 40 PRINT # 1, "U1 :"6;0;18;0
si, sarà necessario aprire il solo canale tore» 50 GET#6.A$, B$
di comando (:I*:1 o :I*:15).
Se il floppy era già stato formattato La riga 50 effettua la lettura dei pri-
10 OPEN 1,8,15 e non intendiamo modificare l'ID, è mi due byte disponibili nel buffer, im-
20 OPEN 6,8. 6, "# 2" sufficiente specificare il solo nome del mettendoli nelle variabili A$ e B$.
disco: la routine di formattazione si li- Tramite ulteriori GET:I*: potremo leg-
In questo modo abbiamo aperto il miterà unicamente a cancellare la di- gere i successivi byte.
canale di comando (:I*:1) ed il canale rectory e ad azzerare la BAM, regi- Ad ogni richiesta di un nuovo byte
per la gestione dati (:I*:6), al quale ab- strando quindi il nuovo nome del flop- viene aggiornato il valore del BUF-
biamo associato il buffer :I*:2, in esso py. FER POINTER: esso contiene la posi-
transiteranno i dati di arrivo o in par- zione nel buffer del successivo byte di-
tenza. SCRATCH (S): cancella il file specifi- spqnibile.
È opportuno controllare sempre lo cato. E possibile assegnare a questo pun-
STATUS del disco dopo una OPEN (o tatore un valore predeterminato in
dopo aver effettuato una qualsiasi 40 PRINT # 1. "SO: nome file» modo da poter accedere senza difficol-
operazione su disco). Una ulteriore ri- tà ad un qualsiasi byte del buffer in
ga di programma sarà: RENAME (R): cambia il nome di un ogni momento senza dover per questo
file. scorrere tutti quelli che lo precedono.
30 INPUT#1,ER,ME$.TR,SE: IF ER > 19 Per leggere il centottantesimo byte
40 PRINT # 1. "RO: nuovo nome = vecchio
THEN PRINT "Errore:» ER,ME$,TR.SE presente nel buffer associato al canale
nome»
6 digiteremo:
Dove ER è il numero dell'errore, COpy (C): duplica un file sul medesi-
ME$ ne è la descrizione; TR ed SE mo floppy (se non si dispone di due 60 PRINT#1. "B-P"6;180
danno indicazione rispettivamente drive), ma con un nome diverso. 70 GET#6. A$
della traccia e del settore in cui questo
è stato riscontrato. 40 PRINT#1, "CO: nome file copia=nome
Naturalmente la posizione all'inter-
file origine» no del buffer sarà espressa mediante
Comandi disco un numero compreso tra O e 255.
È possibile, tramite di esso, effettuare Se invece volessimo scrivere un by-
Questi comandi verranno inviati, anche il merge di più file: te, la procedura sarà la medesima, con
normalmente in forma abbreviata, in- la differenza che al G ET:I*:6, A$ sosti-
sieme al numero del drive verso cui so- 40 PRINT # 1, "CO: nome file merge = O:file tuiremo un PRINT:I*:6, A$. È impor-
no indirizzati (O o 1), tramite un 1.0: file 2 ....0: file N» tante mettere il punto e virgola dopo
PRINT:I*:, seguiti, quando richiesto, A$, poiché altrimenti verrebbe inviato
da una serie di parametri: Lo zero che precede ogni nome file in- anche un CHR$(l3) che modifichereb-
dica da quale drive esso deve essere be, magari indesideratamente, il byte
PRINT # ch, "cmd: "+» parametri» letto. successivo a quello interessato.