Commodore DOS

sistema operativo su disco della Commodore

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.

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

Versioni del CBM DOS

modifica

Caratteristiche tecniche

modifica

Directory e tipi di file

modifica

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

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

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
  • 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