I've got a version that looks for label records and names and dates the parts appropriately.

Probably not of any interest to UNIX-ers as the tape handling of that system was abysmally primitive, compared to other mainframe systems.

--Chuck



On 08/09/2015 08:08 AM, Al Kossow wrote:
On 8/8/15 9:16 PM, Chuck Guzis wrote:
On 08/08/2015 08:14 PM, Jay Jaeger wrote:
If anyone is interested, I have code for a Linux SCSI tape to
AWSTAPE program, and a program that translates aws format to a raw
byte stream. Not sure if I have one that translates to the SimH .tap
format, though. GNU C.

I've got a Linux utility to translate SIMH .tap to raw binary, if
that's interesting to anyone.  I would have thought that such
utilities existed already.

--Chuck



this bursts a tape into raw sequentially numbered files


#include <stdio.h>
FILE *fp;
main()
{
unsigned int len, len2;
unsigned int i;
unsigned int filenum = 0;

char fname[20];

     sprintf(fname,"%05d",filenum++);
     fp = fopen(fname,"w");
     do{

         len = getchar();
         if(feof(stdin)) exit(1);
         len = len | (getchar()<<8);
         len = len | (getchar()<<16);
         len = len | (getchar()<<24);
         if(len == -1){
          fprintf(stderr,"65535 byte record in file %d\n",filenum);
          getchar();getchar();getchar();getchar();
          continue;
         }
         if(len == 0){
           fprintf(stderr,"Tape Mark\n");
          fclose(fp);
          sprintf(fname,"%05d",filenum++);
          fp = fopen(fname,"w");
           continue;
         }

         for(i = len; i; i--)
           fputc(getchar(), fp);

         len2    =    getchar();
         len2    = len2  | (getchar()<<8);
         len2    = len2  | (getchar()<<16);
         len2    = len2  | (getchar()<<24);

         if(len != len2){
           fprintf(stderr, "front and back lengths differ!\n");
           exit(1);
         }
     } while(!feof(stdin));
}






--
--Chuck
-------------------------------------------------------------

"The first thing we do, let's kill all the spammers."

Reply via email to