Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utcs!wagner From: wagner@utcs.UUCP Newsgroups: comp.sys.amiga Subject: Re: HAM Ray Traced Juggler (THE FIX) Message-ID: <1986Dec28.124744.5871@utcs.uucp> Date: Sun, 28-Dec-86 12:47:44 EST Article-I.D.: utcs.1986Dec28.124744.5871 Posted: Sun Dec 28 12:47:44 1986 Date-Received: Sun, 28-Dec-86 13:35:17 EST References: <16708@ucbvax.BERKELEY.EDU> <133@mentat.UUCP> Reply-To: wagner@utcs.UUCP (Michael Wagner) Distribution: na Organization: University of Toronto Computing Services, general purpose UNIX Lines: 108 Checksum: 15223 Well, Mike Cherry's fix (posted to USENET recently) works, and I now have a working Juggler! My christmas present to the net is the following little segment of program, which helps you solve the labour relations problem that the juggler program was getting into. For people who downloaded the thing at 1200 baud, and don't want to go through that again, I have written (poorly) a small C program to fix the problem on the Amiga, so that you don't have to fix the original, re-uudecode it, and re-transmit it. You'll have to rename the file movie.data to movie.bad.data. My program takes the file movie.bad.data, corrects it, and outputs it as RAM:movie.good.data. You should then copy this file to your juggler disk as movie.data. You better have something like 300K free before you run my program, or else change it to work to disk. If you have only one disk, you're in for a long wait. If you have two disks, put the output on a different disk from the input. Incidentally, some people seem to have gotten files of the wrong sizes. Perhaps there are two problems floating around, one of which is a USENET transmission problem. You're file sizes should look like this: juggler 13784 rwed Friday 14:16:14 movie.data 295610 rwed Today 11:48:38 fixer.c 1523 rwed Today 12:01:16 movie.bad.data 295610 rwed Friday 14:07:43 fixer 16124 rwed Today 12:02:02 juggler.info 562 rwed Friday 14:16:11 13 files - 1 directory - 1308 blocks used Hope this helps. Merry Christmas (belatedly), Happy Chanukah, and Happy New Year to all. Michael (wagner@utcs or ...manyplaces!utzoo!utcs!wagner) Tiny little kludge program follows. Snip at the cut line. 'You all know the drill by now' (sorry, Andy, couldn't resist) - - - - - - - - C U T H E R E - - - - - - - - - /* this program tries to fix the problem with the recent juggler posting */ /* it tries to fix the binary rather than forcing you to uudecode and */ /* retransmit again. Movie.data is a big file */ #include "stdio.h" main() { FILE *in,*out; int inchar; int current = 0; long counter; static long corrections[] ={ 162779, 0237, 0227, 162780, 0374, 0372, 162781, 00, 0377, 162782, 0117, 0377, 162783, 0374, 030, 162784, 0141, 0120, 162785, 0100, 01, 162786, 04, 040, 162787, 0200, 040, 162788, 0201, 0120, 162789, 0100, 01, 162790, 05, 0140, 162791, 0201, 0160, 162792, 0301, 0160, 162793, 0300, 01, 162794, 05, 0140, 162795, 0201, 0160, 162796, 0301, 0160, 162797, 0300, 00, 162798, 01, 0140, 162799, 0201, 0100, 162800, 00, 060, 162801, 0300, 01, 162802, 05, 0140, 162803, 0201, 0160, 162804, 0301, 0160, 162805, 0303, 0377, 162809, 0374, 030, 162810, 0140, 050}; in = fopen("movie.bad.data","r"); if (in == (FILE *)0) {printf("can't open input"); exit(1);} out= fopen("ram:movie.good.data","w"); if (out== (FILE *)0) {printf("can't open output"); exit(2);} for (counter = 1; EOF != (inchar = getc(in)) ; counter++) { if (counter == corrections[current]) { if (inchar == corrections[current+1]) { inchar = corrections[current+2]; current += 3; } else printf("byte doesn't match - position %d expecting %d got %d", counter, corrections[current],corrections[current+1]); } if (EOF == putc(inchar, out)) { printf("output problems"); break; } } fclose(in); fclose(out); }