Cesco
Cesco

Il mio blog personale

Francesco
Author

Share


Tags


Il formato .cas degli emulatori MSX

FrancescoFrancesco

Un immagine di una cassetta è un file .CAS con al suo interno il contenuto di una cassetta audio per l'MSX


Ogni file memorizzato all'interno di un'immagine di una cassetta comincia con i seguenti bytes:



0x1F   0xA6   0xDE   0xBA   0xCC   0x13   0x7D   0x74



questi bytes dicono all'emulatore di MSX di bypassare le seguenti chiamate al bios:

0xE1 - TAPION
0xE4 - TAPIN
0xEA - TAPOON
0xED - TAPOUT



Richiamando la funzione TAPION il bios leggerà dalla cassetta finchè avrà trovato un header e finchè tutto l'header sarà stato letto. La funzione TAPOUT invierà in output un header.

 Questa intestazione formata da otto caratteri deve sempre cominciare da una posizione in un file che possa essere divisibile per 8. Ad esempio:

0x0000, 0x0008, 0x0010, ...  

A seguire dell'intestazione di otto caratteri, c'è un carattere ripetuto per dieci volte che identifica il tipo di file che seguirà:



0xD0 - Se il file che segue è di tipo binario (BLOAD)  
0xD3 - Se il file che segue è di tipo Basic (CLOAD)  
0xEA - Se il file che segue è di tipo ASCII (LOAD)  

A seguire di questi dieci caratteri c'è il nome del file, composto da sei caratteri. Al termine dei sei caratteri c'è un carattere 0x1F

Nel caso di file binari, a seguire del nome del file sono presenti le informazioni sul file (DATABLOCK) che identificano l'inizio in memoria da cui cominciare a caricare il file, la fine in memoria in cui caricare il file, e l'indirizzo di memoria da cui far eseguire il programma (in caso di BLOAD "CAS:",R). Il tutto è composto da un blocco del tipo 0xFE, indirizzo iniziale, indirizzo finale, indirizzo di partenza dell'esecuzione.

Oltre a questi tre tipi (Binari, ASCII e Basic) esistono i custom blocks con dati specifici che vanno caricati con specifiche chiamate al BIOS (per esempio i TURBO LOADER)

Francesco
Author

Francesco

Comments