From: keie Date: Mon, 3 Sep 1984 13:49:40 +0000 (+0000) Subject: Initial revision X-Git-Tag: release-5-5~6110 X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=4c265a7cc6d762855193126cd563025680c94557;p=ack.git Initial revision --- diff --git a/mach/pmds/cv/pdp_cv.c b/mach/pmds/cv/pdp_cv.c new file mode 100644 index 000000000..b11f6574f --- /dev/null +++ b/mach/pmds/cv/pdp_cv.c @@ -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 + +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; +}