[Coco] tape format
    Roger Taylor 
    operator at coco3.com
       
    Wed Nov 19 20:06:44 EST 2008
    
    
  
Darren,
Take a look at this and then CLOADM the .wav file at this URL:
www.coco3.com/test.wav
For some reason the first segment has a byte missing, a * character 
on the last line.  The character is definately in the string.
The second segment loads the whole line.  The same code is used to 
create the blocks.
procedure MakeTestBinary;
begin MakeTestBinary;
         SineOuts($55, 128);     // block leader
         // create FILENAME block data
         NewBlock();
         SaveStr("FILENAME");
         SaveData($02);  // $00=BASIC  $01=data  $02=binary/ML
         SaveData($00);  // $00=binary  $ff=ASCII
         SaveData($ff);  // $00=continuous  $ff=gaps
         SaveData($00);  // ML EXEC
         SaveData($00);
         SaveData($00);  // ML LOAD
         SaveData($00);
         // block type  $00=filename  $01=data  $ff=EOF
         StreamBlock(&buffer, $00);      // memory, block type, data 
size, checksum
         InsertSilence(9000); // 12000 hz/9000 = 3/4 second
         SineOuts($55, 128);     // block leader
         NewBlock();
         SaveData($00);
         SaveData($00);
         SaveData(224);
         SaveData(4);
         SaveData(0);
         SaveStr("********************************");
         SaveStr("                                ");
         SaveStr("                                ");
         SaveStr("                                ");
         SaveStr("     IT WORKS!! .. BY GOLLY     ");
         SaveStr("                                ");
         SaveStr("********************************");
         StreamBlock(&buffer, $01);
         InsertSilence(9000); // 12000 hz/9000 = 3/4 second
         SineOuts($55, 128);     // block leader
         NewBlock();
         SaveData($00);
         SaveData($00);
         SaveData(224);
         SaveData(4);
         SaveData(0);
         SaveStr("********************************");
         SaveStr("                                ");
         SaveStr("     BY GOLLY... IT WORKS!!     ");
         SaveStr("                                ");
         SaveStr("                                ");
         SaveStr("                                ");
         SaveStr("********************************");
         StreamBlock(&buffer, $01);
         // post amble
         InsertSilence(9000);
         SineOuts($55, 128);     // block leader
         NewBlock();
         SaveData($ff);
         SaveData($00);
         SaveData($00);
         SaveData($00);
         SaveData($00);
         StreamBlock(&buffer, $01);
         // End of File
         InsertSilence(9000);
         SineOuts($55, 128);     // block leader
         NewBlock();
         StreamBlock(&buffer, $ff);
end MakeTestBinary;
-- 
Roger Taylor
http://www.wordofthedayonline.com
    
    
More information about the Coco
mailing list