Cesco
Cesco

Il mio blog personale

Francesco
Author

Share


Tags


Problemi nell'importare file in formato ASCII dalla cassetta MSX

FrancescoFrancesco

Ho risolto i problemi di ieri, ma in compenso mi sono accorto che l'importazione dei file .cas fallisce quando si trova a dover importare un file ASCII più lungo di 256 caratteri.

Normalmente quando un computer MSX deve salvare un file su cassetta in formato ASCII, registra blocchi di 256 bytes per volta intervallati da un segnale di sincronismo (il BIIIIP) che serve successivamente al computer per riallinearsi alla velocità di riproduzione del nastro.
Quando finisce di registrare il file completo, per tutti i bytes rimanenti nel blocco da 256 bytes inserisce un carattere di EOF ( 0x1a ).

Il mio programma invece acquisisce i primi 256 bytes di un programma ASCII, quindi trova il sincronismo e crede che il file sia finito lì, senza curarsi di controllare se il blocco che ha appena letto finiva oppure no con un carattere EOF ( 0x1a ). Pertanto il mio programma è convinto che tutti i files ASCII sull'MSX siano lunghi al massimo 256 bytes, il che ovviamente non è vero.

Bisogna fare in modo che il programma, quando termina di acquisire un blocco ASCII si preoccupi di vedere se il blocco finisce con un carattere EOF ( 0x1a ); se non ce l'ha, significa che il file continua nel blocco successivo e quindi il programma dovrà continuare a leggere ancora per aggiungere i dati al file.

Francesco
Author

Francesco

Comments