{"id":6626,"date":"2024-02-11T11:34:40","date_gmt":"2024-02-11T10:34:40","guid":{"rendered":"https:\/\/msxitalia.org\/?p=6626"},"modified":"2024-02-11T11:36:50","modified_gmt":"2024-02-11T10:36:50","slug":"lezione-22-i-dati-gestiti-dal-msx-1-parte","status":"publish","type":"post","link":"https:\/\/msxitalia.org\/en\/lezione-22-i-dati-gestiti-dal-msx-1-parte\/","title":{"rendered":"LESSON 22 \u2013 THE DATA MANAGED BY THE MSX (1st Part)"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un saluto a tutti i lettori. In questa puntata parler\u00f2 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 \ud83d\ude42 ). Perci\u00f2 la lezione sar\u00e0 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\u00e0 perso, Per fare ci\u00f2 che questo non avvenga, possiamo salvarlo su un supporto magnetico. Se possediamo un registratore a cassette, possiamo salvarlo usando il comando CSAVE&#8221;NOME FILE&#8221;, questo comando \u00e8 esclusivo solo per cassette, il nome pu\u00f2 essere lungo al massimo 6 caratteri. Oppure pu\u00f2 essere salvato con il comando SAVE, a patto che ci sia inserita la parola CAS prima del nome. Senza di questa non verr\u00e0 mai registrato sul dispositivo: SAVE &#8220;CAS: Nome File&#8221;, anche qui il nome non deve superare i 6 caratteri. Per richiamare i files salvati con CSAVE, useremo CLOAD . Usato da solo, caricher\u00e0 il primo programma che incontra. Se invece vogliamo caricare quel determinato programma metteremo il nome del file, se nel suo percorso di caricamento incontrer\u00e0 un altro file, vedremo la scritta SKIP con il nome programma e non verr\u00e0 caricato. Per richiamare un programma salvato con SAVE useremo LOAD&#8221;CAS:&#8221;[,R]. Uguale a CLOAD, se non mettere nessun nome caricher\u00e0 il primo che incontra altrimenti quello specificato. La lettera R che \u00e8 opzionale, serve per fare avviare il programma automaticamente. Il tempo di caricamento delle cassette \u00e8 molto lungo, come sapete, ma se vogliamo salvare in modo pi\u00f9 veloce c&#8217;\u00e8 la possibilit\u00e0 di aumentare la velocit\u00e0 di caricamento in baud. Vi ricordate che avevo accennato qualcosa nel comando SCREEN, infatti \u00e8 il quarto argomento. per default \u00e8 1, carica 1200 baud ma se lo portiamo a 2, il caricamento sar\u00e0 a 2400 baud: SCREEN 0,,,2. Per il disco useremo SAVE e LOAD per salvare e caricare i nostri programmi. Il nome potr\u00e0 essere lungo 8 caratteri e possiamo inserire un&#8217;estensione (max 3 caratteri). Anche se non \u00e8 obbligatoria, \u00e8 molto sensato aggiungerla, cos\u00ec \u00e8 pi\u00f9 facile capire di che determinato file si tratta, per il semplice fatto che in un disco possiamo avete molti files.\u2002Metteremo BAS se \u00e8 un programma in Basic, TXT\u2002se \u00e8 di testo e cosi via. Per il salvataggio la sintassi corretta \u00e8: SAVE &#8220;[DRIVE:]Nome File[.Est]&#8221;[,A]. DRIVE \u00e8 usato solo se vogliamo salvarlo su un drive differente da quello che stiamo lavorando. L&#8217;estensione non \u00e8 obbligatoria, ma come ho detto sopra, \u00e8 buona prassi farlo, La lettera A che c&#8217;\u00e8 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&#8217;MSX, perci\u00f2 nel salvataggio si dovranno inserire anche quelli: BSAVE&#8221;[unit\u00e0:]Nome file[.est]&#8221;, Indirizzo Iniziale, Indirizzo Finale, Indirizzo per l&#8217;Esecuzione del programma. la stessa cosa vale per salvare porzioni di VRAM (Memoria video), solo che l&#8217;ultima opzione sar\u00e0 la lettera S. Unit\u00e0 potrebbe essere un DRIVE o il registratore, in questo ultimo caso useremo la CAS: BSAVE &#8220;CAS: Nome File&#8221;, I.I.,I.F., I.E. L&#8217;estensione solo per i salvataggi su disco. Per caricare un file Assembler o un&#8217;immagine, usiamo il comando BLOAD. La sintassi corretta \u00e8: BLOAD&#8221;[unit\u00e0:]Nome file[.est]&#8221;[,R\/S&#8221;, 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&#8217;immagine in VRAM. Offset \u00e9 lo spostamento dell&#8217;indirizzo di caricamento in un&#8217;altra parte della RAM ma solo per i programmi Assembler.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Adesso parler\u00f2 di come gestire i files personali: Agende, Conti familiari, Appunti e altre cose di cui volete tenere la contabilit\u00e0. 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\u00e0 a gestire i nostri files, per capire come cambiare nome, copiarli o cancellarli. Cominciamo con il comando COPY che ci servir\u00e0 a copiare i files da un supporto all&#8217;altro. Un appunto prima di continuare, tutto quello che dir\u00f2 sar\u00e0 valido solo per i dischi o altri supporti ma sono esclusi i nastri o cassette magnetiche, che hanno molti limiti per l&#8217;immagazzinaggio dei dati, metter\u00f2 un appunto quando questo sar\u00e0 possibile.\u2002Sintassi: COPY &#8220;[nome del supporto:] File da copiare&#8221; TO &#8220;[nome del supporto:] file copiato&#8221;. Nome supporto: sono, i nomi delle unit\u00e0 dove prelevarlo e copiarlo, non \u00e8 obbligatorio metterli se la copia viene fatta sullo stesso supporto oppure sul primo parametro, se siamo gi\u00e0 l\u00ec.\u2002File da copiare \u00e8 il file che vogliamo duplicare, mentre come \u00e8\u2002facile intuire, il secondo \u00e8 la copia esatta del primo. Se vogliamo lasciare lo stesso nome possiamo anche omettere il nome sul secondo parametro. Faccio qualche piccolo esempio:\u2002COPY &#8220;DATI.TXT&#8221; TO &#8220;B:&#8221; . In questo caso abbiamo copiato un file con lo stesso nome dal drive A a quello B. COPY&#8221;DATI.TXT&#8221; TO &#8220;DATI1.TXT&#8221;. in quest&#8217;altro abbiamo copiato il file, cambiando nome, sulla stessa unit\u00e0.\u2002COPY&#8221;B:DATI.TXT&#8221; TO &#8220;A:&#8221;.\u2002Siamo sul DRIVE A e abbiamo copiato il file dal DRIVE B al A, usando lo stesso nome. Il comando COPY pu\u00f2 essere usato da qualsiasi supporto per copiare qualsiasi file. Il comando KILL cancella i files da supporto. La sintassi \u00e8: KILL&#8221;[nome\u2002supporto] Nome file&#8221;. Nome supporto \u00e8 come ho detto sopra. L&#8217;operazione pu\u00f2 essere fatta anche se ci troviamo in un&#8217;altra unit\u00e0.\u2002Nome file \u00e8 quello che vogliamo eliminare. Il comando NAME cambia il nome ad un file. Sintassi: NAME &#8220;FILE1&#8221; AS &#8220;FILE2&#8243;.\u2002Ad esempio vogliamo cambiare l&#8217;estensione al file DATI.TXT: NAME&#8221;DATI.TXT&#8221; AS &#8220;DATI.DAT&#8221;.\u2002Non ho specificato il nome supporto perch\u00e9 \u00e8 superfluo usarlo, anche se l&#8217;MSX l&#8217;accetta, \u00e8 inutile visto che \u00e8 un comando che si deve eseguire sempre dentro la stessa unit\u00e0. Ed infine il comando FILES che visualizza tutti i files che si trovano nel disco. Sintassi: FILES[&#8220;[nome supporto:]nome file&#8221;]. Usandolo da solo vedremo tutti i files del disco corrente.\u2002FILES&#8221;B:&#8221;, vedremo i files del DRIVE B, anche se ci troviamo del DRIVE A. Mettendo il nome del file, verr\u00e0 visualizzato solo quello. In tutti i comandi che ho spiegato, escludendo il NAME, possiamo usare i caratteri jolly, L&#8217; asterisco (*<em>) vale per un&#8217;intera parola, mentre il punto interrogativo(?) vale per un carattere.\u2002ESEMPIO: FILES&#8221;<\/em>*.BAS&#8221;, ci far\u00e0 vedere solo i files con estensione BAS, oppure se usiamo il comando COPY, copier\u00e0 tutti i files BAS, la stessa cosa vale per KILL.\u2002KILL&#8221;DATI?. TXT&#8221;.\u2002cancelleremo tutti i file con la parola DATI e il carattere che viene dopo; DATI1,DATI2, DATI3, DATIA, eccetera.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Visto che sono andato troppo per le lunghe, continuer\u00f2 nella prossima puntata.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Grazie a tutti. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Un saluto a tutti i lettori. In questa puntata parler\u00f2 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 [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":6311,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"off","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[14],"tags":[],"dipi_cpt_category":[],"class_list":["post-6626","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-msx-basic"],"_links":{"self":[{"href":"https:\/\/msxitalia.org\/en\/wp-json\/wp\/v2\/posts\/6626","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/msxitalia.org\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/msxitalia.org\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/msxitalia.org\/en\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/msxitalia.org\/en\/wp-json\/wp\/v2\/comments?post=6626"}],"version-history":[{"count":9,"href":"https:\/\/msxitalia.org\/en\/wp-json\/wp\/v2\/posts\/6626\/revisions"}],"predecessor-version":[{"id":6638,"href":"https:\/\/msxitalia.org\/en\/wp-json\/wp\/v2\/posts\/6626\/revisions\/6638"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/msxitalia.org\/en\/wp-json\/wp\/v2\/media\/6311"}],"wp:attachment":[{"href":"https:\/\/msxitalia.org\/en\/wp-json\/wp\/v2\/media?parent=6626"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/msxitalia.org\/en\/wp-json\/wp\/v2\/categories?post=6626"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/msxitalia.org\/en\/wp-json\/wp\/v2\/tags?post=6626"},{"taxonomy":"dipi_cpt_category","embeddable":true,"href":"https:\/\/msxitalia.org\/en\/wp-json\/wp\/v2\/dipi_cpt_category?post=6626"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}