Commodore DOS

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
Commodore DOS
sistema operativo
SviluppatoreCommodore International Ltd
FamigliaDOS
Release corrente10.0
Tipo di kernelkernel monolitico
Piattaforme supportatecomputer Commodore ad 8 bit
Stadio di svilupponon più sviluppato

Commodore DOS, detto CBM DOS, era un sistema operativo per il disco utilizzato dai computer a 8 bit della Commodore. Diversamente dagli altri sistemi DOS, il CBM DOS era integrato nella ROM dei drive floppy e dei rari modelli di disco rigido venduti dalla Commodore.

Versioni del CBM DOS[modifica | modifica wikitesto]

Caratteristiche tecniche[modifica | modifica wikitesto]

Directory e tipi di file[modifica | modifica wikitesto]

I dischi floppy possono contenere fino a 144 file. I nomi dei file possono essere lunghi fino a 16 caratteri. Non esistono sotto-directory e i nomi di file devono essere univoci; scrivendo direttamente alla tabella dei blocchi, è possibile avere più file con lo stesso nome. Un trucco molto comune utilizzato, ad esempio, da The Final Cartridge III, era quello di aggiungere nomi di file come "----------------" del tipo DEL< alla directory e poi riordinare tra quelle linee i file per formare dei gruppi. Molti sviluppatori di giochi, gruppi di membri di warez e hacker di demoscene utilizzavano trucchi simili.

C'era un altro trucco curioso: i nomi dei file potevano contenere caratteri composti da Shift+spazio, che veniva usato per creare codice come SAVE "PROGRAM(shift+space),8,1:",8,1, che apparirà nella directory come 32 "PROGRAM",8,1: PRG. Quando l'utente muove il cursore all'inizio della linea e scrive LOAD, sovrascrivendo la colonna della dimensione e premeva il tasto enter, il Commodore BASIC interpreta quella riga come LOAD "PROGRAM",8,1.

Nel BASIC, la directory può essere visualizzata con LOAD "$",8, seguita dal comando LIST.

I seguenti tipi di file sono supportati:

SEQ

File sequenziali, file che possono essere letti byte per byte o in accesso casuale. Molti dei file sono di questo tipo. Nel BASIC, essi possono essere aperti con il comando OPEN.

PRG

Simile al tipo SEQ, essi hanno il program location header nei primi 2 byte. Tutti i programmi in BASIC e in linguaggio macchina sono salvati come PRG, e possono essere salvati in memoria con il comando LOAD o la chiamata LOAD del KERNAL.

REL

File relativi sono file con record di dimensione fissa.

USR

File personalizzati dall'utente (User-specified files). Essi sono simili al tipo SEQ. Viene utilizzato da alcune applicazioni, la più nota delle quali è il GEOS, che salva i file in formato "VLIR", memorizzati come file USR.

DEL

Tipo di file non documentato, per uso interno. Strutturalmente, è simile al SEQ. I comandi DOS non possono creare file con questo tipo.

I file che contengono un asterisco * (ad esempio, *SEQ) sono file che non sono stati chiusi correttamente. I file con un segno del < (ad esempio PRG<) sono protetti e non possono essere cancellati.

Accesso ai file[modifica | modifica wikitesto]

Nel Commodore BASIC per leggere o scrivere un file si utilizza il comando OPEN, che richiede 4 parametri: il numero del descrittore del file, il numero del device, il numero dell'accesso secondario e il nome del file. Per leggere un file normale si utilizza il comando OPEN 2,8,2,"0:EXAMPLE FILE,SEQ,READ". Il numero 8 si riferisce al primo drive floppy. Su sistemi a due drive, il 9 si riferisce al secondo drive. Dopo il nome del file c'è il tipo del file e la modalità d'accesso (READ, WRITE o APPEND). Questi campi possono essere abbreviati alla loro prima lettera (ad esempio OPEN 2,8,2,"0:EXAMPLE FILE,S,R")

I file possono essere caricati e salvati con i comandi LOAD e SAVE. Il comando SAVE "FILE",8,1 salva il programma BASIC con l'estensione PRG e il comando SAVE "0:FILE,SEQ,WRITE",8,1 salva il programma BASIC con l'estensione SEQ.

Command channel[modifica | modifica wikitesto]

Per accedere al DOS si utilizza il command channel. Questo canale è come un normale file, ma si utilizza il 15 come numero dell'accesso secondario.

È possibile conoscere lo stato del drive scrivendo i comandi OPEN 15,8,15: INPUT#15,E,E$,T,S: CLOSE 15: PRINT E,E$,T,S. E è il codice d'errore, E$ è il messaggio d'errore, T e S rappresentano la traccia e il settore dove è stato trovato l'errore. Il codice 0,"OK",0,0 indica che non vi è stato alcun errore. All'accensione, il drive restituisce la versione del DOS e il modello del drive: 73,"CBM DOS V2.6 1541",0,0.

I comandi per la gestione del disco si scrivono attraverso il command channel: OPEN 15,8,15,"N0:WIKIPEDIA DOCS,WP":CLOSE 15, questo comando effettuerà una formattazione del disco e lo nominerà come "WIKIPEDIA DOCS" con l'ID "WP".

Alcuni comandi caratteristici sono:

NEW0:DISKNAME,ID o N0:DISKNAME,ID

Formatta il disco. Il nome del disco può avere un massimo di 16 caratteri e il codice ID 2 caratteri. Il codice ID dovrrebbe essere unico per ogni disco.

SCRATCH0:FILE NAME o S0:FILE NAME

Elimina il file. I caratteri d'espansione ? e * sono supportati.

RENAME0:NEW NAME=OLD NAME o R0:NEW NAME=OLD NAME

Rinomina il file.

COPY0:NEW NAME=EXISTING NAME o C0:NEW NAME=EXISTING NAME

Copia il file.

VALIDATE0 o V0

Marca come liberi tutti i blocchi non marcati o non utilizzati da nessun file ed elimina tutti i file non chiusi correttamente.

INITIALIZE0 o I0

Reinizializza il drive e memorizza la tabella d'allocazione dei file (BAM).

Ci sono anche comandi per l'accesso casuale ai file: (BLOCK-READ, BLOCK-WRITE), gestione dei blocchi (BLOCK-ALLOCATE, BLOCK-FREE), gestione della memoria del 1541 ed esecuzione di codice attraverso il processore del 1541 (MEMORY-WRITE, MEMORY-READ, MEMORY-EXECUTE, BLOCK-EXECUTE, BUFFER-POINTER) e funzioni definite dall'utente (USER).

Bibliografia[modifica | modifica wikitesto]

  • Richard Immers, Gerald G. Neufeld, Inside Commodore DOS. The Complete Guide to the 1541 Disk Operating System. DATAMOST, Inc & Reston Publishing Company, Inc. (Prentice-Hall), 1984, ISBN 0-8359-3091-2.
  • Lothar Englisch, Norbert Szczepanowski, The Anatomy of the 1541 Disk Drive. Grand Rapids, MI: Abacus Software (tradotto dalla versione originale tedesca del 1983, Düsseldorf: Data Becker GmbH), 1984, ISBN 0-916439-01-1.
  • Reijo Lundahl, 1541-Levyasema. Amersoft, 1986, ISBN 951-35-3707-2.
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica