jco@lightning.cis.ufl.edu (Dumpmaster John) (08/06/90)
#!/bin/sh # This is a shell archive (shar 3.32) # made 08/06/1990 15:45 UTC by jco@lightning # Source directory /net/bikini/0/jco/48sx/xbm2grob # # existing files WILL be overwritten # This format requires very little intelligence at unshar time. # "echo" and "sed" will be needed. # # This shar contains: # length mode name # ------ ---------- ------------------------------------------ # 425 -rw------- Makefile # 1060 -rw------- README # 3287 -rw------- mantaray.icon # 2171 -rw------- xbm2grob.c # 52 -rw------- loadimage # # ============= Makefile ============== echo "x - extracting Makefile (Text)" sed 's/^X//' << 'SHAR_EOF' > Makefile && X# File: Makefile X# Author: John C. Orthoefer (Internet: jco@ufl.edu) X# Date: 6 Aug 1990 X# X Xxbm2grob: xbm2grob.o X cc xbm2grob.o -o xbm2grob X Xclean: X rm -f core a.out xbm2grob xbm2grob.o X Xdepend: X mkdep xbm2grob.c X X# DO NOT DELETE THIS LINE -- mkdep uses it. X# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY. X Xxbm2grob.o: xbm2grob.c /usr/include/stdio.h /usr/include/strings.h X X# IF YOU PUT ANYTHING HERE IT WILL GO AWAY SHAR_EOF # ============= README ============== echo "x - extracting README (Text)" sed 's/^X//' << 'SHAR_EOF' > README && X xbm2grob X -------- X XPurpose: This program converts xbitmaps to the HP 48sx Graphics Object X(GROB) format. Suitable for downloading to a HP 48sx. Also include is a Xsimple loadimage which will let you view the image (and scroll around on Xwith the cursor keys if the image is bigger than the screen.) X XTo make: the make file has no flags so just type make. X XTo run: The usage is: X X xbm2grob [-v] filename1 [filename2 ...] X X flags: X -v Verbose X X One filename is required. However, more than one can be placed on Xthe command one at one time. The output filename is the input filename with X.GROB appended. X Xloadimage: X okay this is a realy simple program for looking at bitmaps and Xscrolling them around. I wrote it in 10 mins today. I'm playing with the Xgraphics on this machine so look for it to get better. X XFor now you put the grob on level 1 and hit the loadimage key. You can use Xthe arrow keys to scroll around. X XAny questions, comments, or other junk mail to jco@ufl.edu. X XDisclaimer: I'm not responsible for any damage this may cause. SHAR_EOF # ============= mantaray.icon ============== echo "x - extracting mantaray.icon (Text)" sed 's/^X//' << 'SHAR_EOF' > mantaray.icon && X#define mantaray_width 64 X#define mantaray_height 64 Xstatic char mantaray_bits[] = { X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, X 0x00, 0xe0, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0xf0, 0x00, 0x00, X 0x00, 0x00, 0xe0, 0x00, 0x00, 0xf0, 0x01, 0x00, 0x00, 0x00, 0xf0, 0x00, X 0x00, 0xf0, 0x01, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0xf0, 0x03, 0x00, X 0x00, 0x00, 0xfc, 0x00, 0x00, 0xf0, 0x03, 0x00, 0x00, 0x00, 0xfe, 0x00, X 0x00, 0xf8, 0x07, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xf8, 0x07, 0x00, X 0x00, 0x80, 0x7f, 0x00, 0x00, 0xf8, 0x07, 0x00, 0x00, 0xc0, 0x7f, 0x00, X 0x00, 0xf8, 0x0f, 0x00, 0x00, 0xc0, 0x7f, 0x00, 0x00, 0xf8, 0x0f, 0x00, X 0x00, 0xe0, 0x7f, 0x00, 0x00, 0xf8, 0x1f, 0x00, 0x00, 0xf0, 0x3f, 0x00, X 0x00, 0xf8, 0x3f, 0x00, 0x00, 0xf8, 0x3f, 0x00, 0x00, 0xf0, 0x7f, 0x00, X 0x00, 0xfc, 0x3f, 0x00, 0x00, 0xf0, 0xff, 0x00, 0x00, 0xfe, 0x1f, 0x00, X 0x00, 0xf0, 0xff, 0x03, 0x00, 0xff, 0x0f, 0x00, 0x00, 0xf0, 0xff, 0x07, X 0x80, 0xff, 0x0f, 0x00, 0x00, 0xf0, 0xff, 0x3f, 0xe0, 0xff, 0x07, 0x00, X 0x00, 0xf0, 0xff, 0x7f, 0xf8, 0xff, 0x07, 0x00, 0x00, 0xe0, 0xff, 0xff, X 0xff, 0xff, 0x03, 0x00, 0x00, 0xe0, 0xff, 0xff, 0xfe, 0xff, 0x01, 0x00, X 0x00, 0xe0, 0xef, 0xbf, 0xff, 0xff, 0x01, 0x00, 0x00, 0xe0, 0xfb, 0xff, X 0xff, 0xff, 0x01, 0x00, 0x00, 0xe0, 0xfe, 0xef, 0xff, 0xff, 0x01, 0x00, X 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0xe0, 0xff, 0xfb, X 0xff, 0xff, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xfe, 0xff, 0xff, 0x00, 0x00, X 0x00, 0x60, 0xfe, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0xe0, 0xf8, 0xff, X 0xff, 0xff, 0x01, 0x00, 0x40, 0xc0, 0xf0, 0xff, 0xff, 0xff, 0x1f, 0x00, X 0x08, 0x00, 0xfe, 0xf0, 0xff, 0xff, 0xff, 0x07, 0x50, 0x00, 0x3e, 0x00, X 0x00, 0xf0, 0xff, 0xff, 0x60, 0x05, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, X 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5e, 0x05, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0xee, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0xd0, 0x3b, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x7c, 0x0f, 0x00, 0x00, X 0x10, 0x2a, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0x06, 0x3c, 0x00, 0x00, X 0xf5, 0x07, 0x00, 0xe0, 0x01, 0xf6, 0x00, 0x00, 0x56, 0x58, 0x09, 0xfe, X 0x00, 0xb8, 0x55, 0x00, 0x5b, 0x68, 0xa4, 0xdc, 0x00, 0xd8, 0xfb, 0x5f, X 0xb4, 0x54, 0x20, 0xea, 0x2a, 0xf0, 0x7f, 0xb5, 0x48, 0x9f, 0x04, 0x02, X 0xaa, 0xf2, 0xfe, 0xef, 0x42, 0x20, 0x26, 0x00, 0x30, 0x3c, 0x5a, 0xee, X 0x41, 0xf1, 0x15, 0xe0, 0x00, 0x4c, 0xfd, 0x93, 0x88, 0x01, 0xae, 0x10, X 0x05, 0x35, 0xfb, 0x1b, 0x01, 0x08, 0x1b, 0x05, 0x11, 0x04, 0xe0, 0x2f, X 0xf0, 0xc7, 0xdb, 0x1a, 0x45, 0xc6, 0x81, 0x3c, 0xfc, 0xd7, 0x7f, 0x63, X 0x86, 0x91, 0x48, 0xa4, 0xfd, 0xff, 0x4f, 0x08, 0x10, 0xb0, 0x00, 0x00, X 0x7e, 0x08, 0x07, 0x80, 0x80, 0x30, 0x01, 0x20}; SHAR_EOF # ============= xbm2grob.c ============== echo "x - extracting xbm2grob.c (Text)" sed 's/^X//' << 'SHAR_EOF' > xbm2grob.c && X/* File: xbm2grob.c X** Author: John C. Orthoefer (Internet: jco@ufl.edu) X** Date: 3 Aug 1990 X** Program: Converts Xbitmaps to GROB (Graphics Object) format for X** the HP 48sx X** History: X** 6 Aug 1990 - Cleaned up code and released X** 3 Aug 1990 - Code version 1.0 X*/ X#include <stdio.h> X#include <strings.h> X X#define MaxNameSize 256 X#define PARAMS "v" X X/* This is a table of backward nibbles */ Xint table[] = { 0x0, 0x8, 0x4, 0xc, X 0x2, 0xa, 0x6, 0xe, X 0x1, 0x9, 0x5, 0xd, X 0x3, 0xb, 0x7, 0xf }; X Xint verbose = 0; X Xmain(argc, argv) Xint argc; Xchar *argv[]; X{ X FILE *xbitmap; X FILE *outfile; X int i; X extern int optind; X char filename[MaxNameSize]; X char c; X X while ((c = getopt(argc, argv, PARAMS)) != EOF) { X switch(c) { X default: X case '?': X fprintf(stderr, "Usage: %s [-v] file [file ...]\n", argv[0]); X exit(1); X break; X case 'v': verbose = 1; X break; X } X } X X for (i = optind; i < argc; i++) { X if ((xbitmap = fopen(argv[i], "r")) == NULL) { X perror(argv[0]); X exit(1); X } else { X strcpy(filename, argv[i]); X strcat(filename, ".grob"); X if ((outfile = fopen(filename, "w")) == NULL) { X perror(argv[0]); X exit(1); X } else { X if (verbose) X printf("XBM: %s\nGROB: %s\n", argv[i], filename); X convert( xbitmap, outfile); X close(xbitmap); X close(outfile); X } X } X } X} X Xconvert( xbitmap, outfile) XFILE *xbitmap; XFILE *outfile; X{ X int width, height; X int i; X int data; X X/* scan for #define filename_width */ X while (1 != fscanf(xbitmap, "_width %d\n", &width)) { X fgetc(xbitmap); X } X X/* scan for #define filename_height */ X while (1 != fscanf(xbitmap, "_height %d\n", &height)) { X fgetc(xbitmap); X } X X/* verbose option */ X if (verbose) X printf("X-bitmap: Height = %d, Width = %d\n", height, width); X X fprintf(outfile, "GROB %d %d ", width, height); X X while('{' != fgetc(xbitmap)) { X } X X i = 0; X while (fgetc(xbitmap) != '}') { X if (1 == fscanf(xbitmap, " 0x%x", &data)) { X i++; X fprintf(outfile, "%1X%1X", data & 0xf, (data & 0xf0) >> 4); X#ifdef DEBUG X printf("%x(%1X%1X) ", data, data & 0xf, (data & 0xf0) >> 4); X#endif X } X } X X if (verbose) X printf("converted: %d\n", i); X fclose(xbitmap); X fclose(outfile); X} SHAR_EOF # ============= loadimage ============== echo "x - extracting loadimage (Text)" sed 's/^X//' << 'SHAR_EOF' > loadimage && X%%HP: T(1)A(D)F(.); X+ PICT STO { } XPVIEW 7 FREEZE X; SHAR_EOF exit 0 -- "What would Rock and Roll be without feedback?" -- D. Gilmour In Real Life: UUCP: {gatech|mailrus}!uflorida!beach.cis.ufl.edu!jco John C. Orthoefer Internet: jco@beach.cis.ufl.edu University of Florida Floyd Mailing List: eclipse-request@beach.cis.ufl.edu