Initial revision
authorkeie <none@none>
Mon, 3 Sep 1984 13:49:40 +0000 (13:49 +0000)
committerkeie <none@none>
Mon, 3 Sep 1984 13:49:40 +0000 (13:49 +0000)
mach/pmds/cv/pdp_cv.c [new file with mode: 0644]

diff --git a/mach/pmds/cv/pdp_cv.c b/mach/pmds/cv/pdp_cv.c
new file mode 100644 (file)
index 0000000..b11f657
--- /dev/null
@@ -0,0 +1,41 @@
+/* The format of the a.out files produced by the assemblers
+   is machine dependent.
+   This program acts as a gateway between two machines and it's effect
+   is independent of the machine it executes on.
+   The a.out file is assumed to be made on a pdp-11
+   while the target machine is a Philip Microcomputer Development system
+
+*/
+
+#include <stdio.h>
+
+main(argc,argv) char **argv ; {
+       char i_addr[4];
+       short count;
+       char i_count[2];
+
+       if (argc != 3) {
+               fprintf(stderr,"Usage: %s pdp-a.out VU-pmds-a.out\n",argv[0]);
+               exit(-1);
+       }
+       if (freopen(argv[1],"r",stdin)==NULL) {
+               perror(argv[1]);
+               exit(-1);
+       }
+       if (freopen(argv[2],"w",stdout)==NULL) {
+               perror(argv[2]);
+               exit(-1);
+       }
+       while (fread(&i_addr,sizeof i_addr,1,stdin)==1) {
+               putchar(i_addr[1]) ; putchar(i_addr[0]) ;
+               putchar(i_addr[3]) ; putchar(i_addr[2]) ;
+               if (fread(&i_count,sizeof i_count,1,stdin)!=1)
+                       exit(fprintf(stderr,"foo\n"));
+               putchar(i_count[1]) ; putchar(i_count[0]) ;
+               count= ((i_count[1]&0377)<<8) | (i_count[0]&0377) ;
+               while (count--) {
+                       putchar(getchar());
+               }
+       }
+       return 0;
+}