LEZIONE 22 – I DATI GESTITI DAL MSX (1° Parte)

da | Feb 11, 2024 | MSX BASIC | 0 commenti

Un saluto a tutti i lettori. In questa puntata parlerò della gestione dei nostri dati e i metodi che possono essere usati con il nostro MSX. I dati che possiamo gestire si dividono in tante categorie; programmi, binari, testi, archivi, immagini e altri ancora. Per fare questo, dobbiamo utilizzare un dispositivo che ci permetta di farlo, come un registratore a cassette, un Drive o altri dispositivi che sono stati creati, andando avanti, per questa situazione (HD, SD, USB e ecc.) . Non sto a prolungarmi sugli altri dispositivi, visto che in questo corso sto parlando solo della prima versione del Basic, usato solo con i nastri e dischetti (solo per qualche fortunato 🙂 ). Perciò la lezione sarà dedicata maggiormente a questi ultimi due. I files programmi sono quelli che creiamo con il Basic, ma possono essere creati da altri tipi di linguaggi. Quando digitiamo il nostro listato, sappiamo che se spegneremo il nostro computer questo andrà perso, Per fare ciò che questo non avvenga, possiamo salvarlo su un supporto magnetico. Se possediamo un registratore a cassette, possiamo salvarlo usando il comando CSAVE”NOME FILE”, questo comando è esclusivo solo per cassette, il nome può essere lungo al massimo 6 caratteri. Oppure può essere salvato con il comando SAVE, a patto che ci sia inserita la parola CAS prima del nome. Senza di questa non verrà mai registrato sul dispositivo: SAVE “CAS: Nome File”, anche qui il nome non deve superare i 6 caratteri. Per richiamare i files salvati con CSAVE, useremo CLOAD . Usato da solo, caricherà il primo programma che incontra. Se invece vogliamo caricare quel determinato programma metteremo il nome del file, se nel suo percorso di caricamento incontrerà un altro file, vedremo la scritta SKIP con il nome programma e non verrà caricato. Per richiamare un programma salvato con SAVE useremo LOAD”CAS:”[,R]. Uguale a CLOAD, se non mettere nessun nome caricherà il primo che incontra altrimenti quello specificato. La lettera R che è opzionale, serve per fare avviare il programma automaticamente. Il tempo di caricamento delle cassette è molto lungo, come sapete, ma se vogliamo salvare in modo più veloce c’è la possibilità di aumentare la velocità di caricamento in baud. Vi ricordate che avevo accennato qualcosa nel comando SCREEN, infatti è il quarto argomento. per default è 1, carica 1200 baud ma se lo portiamo a 2, il caricamento sarà a 2400 baud: SCREEN 0,,,2. Per il disco useremo SAVE e LOAD per salvare e caricare i nostri programmi. Il nome potrà essere lungo 8 caratteri e possiamo inserire un’estensione (max 3 caratteri). Anche se non è obbligatoria, è molto sensato aggiungerla, così è più facile capire di che determinato file si tratta, per il semplice fatto che in un disco possiamo avete molti files. Metteremo BAS se è un programma in Basic, TXT se è di testo e cosi via. Per il salvataggio la sintassi corretta è: SAVE “[DRIVE:]Nome File[.Est]”[,A]. DRIVE è usato solo se vogliamo salvarlo su un drive differente da quello che stiamo lavorando. L’estensione non è obbligatoria, ma come ho detto sopra, è buona prassi farlo, La lettera A che c’è alla fine, ci fa salvare i listati in formato ASCII. Per salvare i programmi in Binario o Assembler usiamo il comando BSAVE. I cosiddetti programmi sono creati per lavorare in determinati indirizzi della memoria dell’MSX, perciò nel salvataggio si dovranno inserire anche quelli: BSAVE”[unità:]Nome file[.est]”, Indirizzo Iniziale, Indirizzo Finale, Indirizzo per l’Esecuzione del programma. la stessa cosa vale per salvare porzioni di VRAM (Memoria video), solo che l’ultima opzione sarà la lettera S. Unità potrebbe essere un DRIVE o il registratore, in questo ultimo caso useremo la CAS: BSAVE “CAS: Nome File”, I.I.,I.F., I.E. L’estensione solo per i salvataggi su disco. Per caricare un file Assembler o un’immagine, usiamo il comando BLOAD. La sintassi corretta è: BLOAD”[unità:]Nome file[.est]”[,R/S”, Offset. E tutto uguale a quello detto sopra per BSAVE. La differenza sta nella parte finale, dove R fa avviare, subito dopo il caricamento del programma Assembler, mentre la S, l’immagine in VRAM. Offset é lo spostamento dell’indirizzo di caricamento in un’altra parte della RAM ma solo per i programmi Assembler.

Adesso parlerò di come gestire i files personali: Agende, Conti familiari, Appunti e altre cose di cui volete tenere la contabilità. Per gestire questi dati e creare i nostri archivi, abbiamo due modi per farlo, lavorare creando files sequenziali oppure ad accesso diretto, detti anche random. Ma prima qualche comando che ci aiuterà a gestire i nostri files, per capire come cambiare nome, copiarli o cancellarli. Cominciamo con il comando COPY che ci servirà a copiare i files da un supporto all’altro. Un appunto prima di continuare, tutto quello che dirò sarà valido solo per i dischi o altri supporti ma sono esclusi i nastri o cassette magnetiche, che hanno molti limiti per l’immagazzinaggio dei dati, metterò un appunto quando questo sarà possibile. Sintassi: COPY “[nome del supporto:] File da copiare” TO “[nome del supporto:] file copiato”. Nome supporto: sono, i nomi delle unità dove prelevarlo e copiarlo, non è obbligatorio metterli se la copia viene fatta sullo stesso supporto oppure sul primo parametro, se siamo già lì. File da copiare è il file che vogliamo duplicare, mentre come è facile intuire, il secondo è la copia esatta del primo. Se vogliamo lasciare lo stesso nome possiamo anche omettere il nome sul secondo parametro. Faccio qualche piccolo esempio: COPY “DATI.TXT” TO “B:” . In questo caso abbiamo copiato un file con lo stesso nome dal drive A a quello B. COPY”DATI.TXT” TO “DATI1.TXT”. in quest’altro abbiamo copiato il file, cambiando nome, sulla stessa unità. COPY”B:DATI.TXT” TO “A:”. Siamo sul DRIVE A e abbiamo copiato il file dal DRIVE B al A, usando lo stesso nome. Il comando COPY può essere usato da qualsiasi supporto per copiare qualsiasi file. Il comando KILL cancella i files da supporto. La sintassi è: KILL”[nome supporto] Nome file”. Nome supporto è come ho detto sopra. L’operazione può essere fatta anche se ci troviamo in un’altra unità. Nome file è quello che vogliamo eliminare. Il comando NAME cambia il nome ad un file. Sintassi: NAME “FILE1” AS “FILE2″. Ad esempio vogliamo cambiare l’estensione al file DATI.TXT: NAME”DATI.TXT” AS “DATI.DAT”. Non ho specificato il nome supporto perché è superfluo usarlo, anche se l’MSX l’accetta, è inutile visto che è un comando che si deve eseguire sempre dentro la stessa unità. Ed infine il comando FILES che visualizza tutti i files che si trovano nel disco. Sintassi: FILES[“[nome supporto:]nome file”]. Usandolo da solo vedremo tutti i files del disco corrente. FILES”B:”, vedremo i files del DRIVE B, anche se ci troviamo del DRIVE A. Mettendo il nome del file, verrà visualizzato solo quello. In tutti i comandi che ho spiegato, escludendo il NAME, possiamo usare i caratteri jolly, L’ asterisco (*) vale per un’intera parola, mentre il punto interrogativo(?) vale per un carattere. ESEMPIO: FILES”*.BAS”, ci farà vedere solo i files con estensione BAS, oppure se usiamo il comando COPY, copierà tutti i files BAS, la stessa cosa vale per KILL. KILL”DATI?. TXT”. cancelleremo tutti i file con la parola DATI e il carattere che viene dopo; DATI1,DATI2, DATI3, DATIA, eccetera.

Visto che sono andato troppo per le lunghe, continuerò nella prossima puntata.

Grazie a tutti.

0 commenti

Invia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

LEZIONE 26 – INTERVAL ON, RND ED ALTRI

LEZIONE 26 – INTERVAL ON, RND ED ALTRI

Buongiorno a tutti, In questa puntata parlerò di un interrupt importante, specialmente per i giochi, quando vogliamo far apparire un nemico all'improvviso o un oggetto utile, ma anche per creare un cronometro o un orologio e tante altre cose. Il COMANDO sfrutta il...

LEZIONE 26 – INTERVAL ON, RND ED ALTRI

LEZIONE 21 – MSX e la musica

L'MSX ha un ottimo chip sonoro che può 'suonare' tre voci contemporaneamente. Iniziamo con il commando classico che sentiamo spesso in vari programmi o quando avviene un errore. Il suo nome è BEEP, cioè scrivendo il nome di questo comando riproduciamo questo suono. E'...

it_ITIT_IT