Roy Schestowitz wrote:
> Why Microsoft's .NET is about to fail
>
> ,----[ Quote ]
> | Blogger "MoreAmbitious" has eleven - in my opinion - valid points why
> | Microsoft's .NET strategy is about to fail. VB6 people aren't switching,
> | few relevant and innovative open-source projects, etc. Think twice
> | before using it, because MS isn't either (in Vista)!
> `----
>
> http://digg.com/programming/Why_Microsoft_s_.NET_is_about_to_fail
Microsoft.net is very SLOW.
It is too slow to be useful.
When I made my bitmap
dib viewer program for displaying *.bmp files
I wrote it in C for fast LINUX XWindows
instead of slow Microsoft.net
// program is below this line
// this is the first line of this program
// second line
// gcc -Wall xwview03.c -L/usr/X11R6/lib -lX11 -o xwview03.out
// ./xwview03.out at XWindows linux bash command prompt
#include<X11/Xutil.h>
#include<stdio.h>
// optional #include<X11/Xlib.h>
// xlxs 00 01 02 03 04
// xlxs 01 one next
// #include<X11/keysym.h>
// --------------------------------
// optional #include<X11/Xresource.h>
// optional #include<X11/Xatom.h>
// optional #include<X11/Xos.h>
// unknown #include<stdlib.h>
#include <stddef.h>
#include <sys/types.h>
#include <dirent.h>
// Copyright C 2006 by Eric Matteson
// permission is granted to copy
// this SOURCE CODE xwview03.c
// and to publish it on the Internet.
// This material may be used at
// least for non profit use.
// This program is not valid without source code.
// Computer users can enforce the open source requirement
// by refusing to use any program that does not have
// source code distributed with it.
// The reccommended proceedure is to distribute this
// program in source code form only and seperately
// compile it on each
// computer that it is to run on.
// ---------------------
// nzlibkey = 0 for doskey 1 for XLookupString
const int nzlibkey = 0;
// xlxs 02 one next
// const int xlxsdim = 15;
// -----------------------
const int xxsv = 50;
const int xsv = 62;
const int thdimtran = 13;
const int shrinkth[] = { 10,84,216,376,564,662 };
const int bigthre[] = { 2,5,10,20,40,75,150,250,
350,450,550,650 };
const int thbigtran[] = {0,1,4,2,5,3,9,
12,10,14,13,11,15 };
const int rgbeight[] = { 60,96,80,102,180,192,160,208 };
const int thsixsev[] = { 0,1,3,7,9,11,15 };
const int sevbig[] = { 0,0,0,0,0,0,0,1,0,0,1,0,0,0,1,1,
0,1,0,0,0,1,0,1,0,1,1,0,0,1,1,1,
1,0,0,0,1,0,0,1,1,0,1,0,1,0,1,1,
1,1,0,0,1,1,0,1,1,1,1,0,1,1,1,1 };
const int wporand[] = { 128,64,32,16,8,4,2,1,
1,2,4,8,16,32,64,128,
127,191,223,239,247,251,253,254,
254,253,251,247,239,223,191,127 };
// size of bab[] needs to be same as value of bigbuffsize
const int bigbuffsize = 262144;
char bab[262144];
// ---------------------------------------
int jxwkeyhold[512];
int iiac[80];
char* caap[4];
char cdraw0[65536];
char cdraw1[65536];
char cdraw2[65536];
char cdraw3[65536];
char bar[23040];
char caf[4096];
char can[200];
// ---------------------------------------------
// char xlxsbuff[16384];
char prebug[180];
char prebud[180];
char diagaap[16384];
int itarget,prevmode,jkeyctr,djkey,rjkey;
int cbmask,scrdepth;
int scnum,cwid,cght,sud,ckey,xolop,xilop,xchoose;
int lmoux,lmouy,fourdirpen,seadirallow,seadirlimit;
int xlkount;
char sdirch;
// ---------------------
DIR *xfourdp;
struct dirent *xfourep;
// ---------------------
Display* lpdis;
Window wix;
XEvent report;
GC agc,wgc,bgc,xgc,ygc,zgc;
XSizeHints* rsizehints;
XWMHints* rwmhints;
XClassHint* rclasshints;
Pixmap tempmap0;
Pixmap tempmap1;
Pixmap tempmap2;
Pixmap tempmap3;
Pixmap rempmap;
// xlxs 03 five next
// KeySym xlxsks;
// XComposeStatus xlxscomp;
// ------------------------ begin declarations
// int XLookupString(XKeyEvent* ,char* ,int,KeySym* ,
// XComposeStatus* );
// ---------------------------------------------
int divmodi(int inumer,int idenom,int nzirem);
int onexwchr(int xwcpos,char xwclist[]);
void chrfroms(int chfstart,int chfsize,char xvclist[],
const char* xvslist);
int onexwdig(int xwdpos,char xwdlist[]);
int ixreada(int iarpos,int iarwid,int iarbase,
int nziarnext,char iarlist[]);
int revercram(int rcstart,int rcmany,char revdat[]);
void linuwrn(int lwrnpos,int lwrnwid,int lwrnbase,
char lwrt[],int lwrf);
void uncram(int ucstart,int ucmany,char ucdat[],
int ucfrom);
int ombrlen(int ombrloffset,int ombmaxlen,
char ombuksize[]);
int nzlinedone(int lkbc[],char reekline[]);
int redcst(int llrs,int llrw,int llrbase,
const char* llccs);
// void bitpoke(char btt[],int hds,int twi,int bx,
// int by,int pznorm,int bvbw);
void bitwrt(char bde[],int ski,int wwi,int wx,int wy,
int zltr,int wwvb);
void printstr(char psb[],int psw,int pst,char psf[],
int pstrw,char pstr[]);
int lscale(int lscabc[]);
int lredoffs(int lrosbc[]);
int lctsize(int lctsbc[]);
int lpixperb(int lpixprbc[]);
int lbytespr(int lbprbc[],int nzlbprem);
int lbreadf(int lbreadbc[],char lbrecord[],int lbreadw,
FILE* lbreadh);
int nzreadmbhdr(int nzrhbc[],char nzrhrecord[],
char rhctble[],FILE* nzrhh);
int xwtscroll(int xscbc[],char xscsingle[],
char xscgroup[]);
void zackreadbw(int rpbc[],char rprec[],
char rpct[],char rpbig[],FILE* rph);
void getpine(int gpbc[],char gprec[],char gpct[],
char gpbig[],FILE* gph);
int nonbambi(char** iibplane,int nbbc[],char nbbig[]);
int putpine(char** iirplane,int irplane[],
int vpthresh[],char vpbig[]);
int onebumpw(char** ijplane,int onbbc[],
char ombrecord[],char ombgbig[]);
int twobumpw(char** tjple,int tmbc[],char tmbr[],
char tbig[],char tbf[]);
int twobuz(char** zpl,int zbc[],char zrc[],char zb[],
char zf[],char zn[]);
int fourbump(char** aap,int ac[],char ar[],char ab[],
char af[],char an[]);
char twofromten(int rawenine);
void fonthfill(char fhf[]);
// ----------------------------------------------------
void ilinemake(int* iixt,char* xxdd);
void iktmany(int* imxt);
int nzextcmp(char* uncfn,char* ecright);
int iidoskey(int kkll,int kshiftb,int ixkeyhold[],
const char* klinuxcm);
// --------------------------------------------------
int gcbw(int gcdepth,int gca);
void getgc(Window wigc,GC* wrgc,int gsdepth,int zbnzw);
// *wrgc will have to be freed later
Window makexw(XSizeHints* sizehints,XWMHints* wmhints,
XClassHint* classhints);
// ----------------------------------------------------
int main(int argd,char** argsa)
{
int zandtogm;
char* argufn;
char* adn = NULL;
argufn = NULL;
lmoux=131071;
lmouy=131071;
fourdirpen=0;
sud=0;
while(sud < 200)
{
can[sud]='\40';
sud=sud+1;
}
// reclear
sud=(int)argufn;
linuwrn(2,8,16,can,sud);
can[53]='\15';
can[54]='\12';
// 155 terminal diagnostic 156
// fwrite(can,1,80,stdout);
caap[0] = &cdraw0[0];
caap[1] = &cdraw1[0];
caap[2] = &cdraw2[0];
caap[3] = &cdraw3[0];
sud=(int)(caap[0]);
linuwrn(2,8,16,can,sud);
sud=(int)(caap[1]);
linuwrn(12,8,16,can,sud);
sud=(int)(caap[2]);
linuwrn(22,8,16,can,sud);
sud=(int)(caap[3]);
linuwrn(32,8,16,can,sud);
can[53]='\15';
can[54]='\12';
// 171 terminal diagnostic 172 exit 173
// fwrite(can,1,80,stdout);
sud=0;
while(sud < 200)
{
can[sud]='\40';
sud=sud+1;
}
// reclear
sud=41;
while(sud < 46)
{
iiac[sud]=0;
sud=sud+1;
}
if(argd == 2)
{
argufn = *(argsa + 1);
xilop=0;
sud=ombrlen(0,0,argufn);
if((sud > 4)&&(sud < 40))
{
while(xilop < sud)
{
can[160+xilop] = *(argufn + xilop);
can[120+xilop] = *(argufn + xilop);
can[80+xilop] = *(argufn + xilop);
can[40+xilop] = *(argufn + xilop);
can[xilop] = *(argufn + xilop);
xilop=xilop+1;
}
iiac[45]=1;
iiac[44]=1;
}
}
lpdis = XOpenDisplay(adn);
scnum=DefaultScreen(lpdis);
scrdepth=DefaultDepth(lpdis,scnum);
iiac[7]=608;
iiac[29]=378;
iiac[30]=11829;
iiac[25]=0;
iiac[28]=5;
iiac[34]=160;
iiac[32]=scrdepth;
sud=0;
iktmany(jxwkeyhold);
xilop=fourbump(caap,iiac,bar,bab,caf,can);
wix = makexw(rsizehints,rwmhints,rclasshints);
// ----------------------------------------
XSetWMProperties(lpdis,wix,0,0,argsa,argd,rsizehints,
rwmhints,rclasshints);
// ----------------------------------------------------
getgc(wix,&bgc,scrdepth,0);
getgc(wix,&wgc,scrdepth,1);
getgc(wix,&xgc,scrdepth,17);
getgc(wix,&ygc,scrdepth,18);
getgc(wix,&zgc,scrdepth,19);
getgc(wix,&agc,scrdepth,20);
XMapWindow(lpdis,wix);
xolop=0;
while(xolop == 0)
{
XNextEvent(lpdis,&report);
// depth = 2
if((report.type == KeyRelease)&&(nzlibkey == 0))
{
if((int)report.xkey.keycode==xxsv)sud=0;
if((int)report.xkey.keycode==xsv)sud=0;
}
if(report.type == KeyPress)
{
zandtogm=1;
if((int)report.xkey.keycode==xxsv)zandtogm=0;
if((int)report.xkey.keycode==xsv)zandtogm=0;
if(nzlibkey > 0)zandtogm=1;
if(zandtogm == 0)sud=1;
if(zandtogm == 1)
{
// xilop == 0 for normal
xilop=0;
ckey=1048576;
rjkey=1048576;
xlkount=0-1;
if(nzlibkey == 0)
{
ckey=report.xkey.keycode;
// depth = 4
rjkey=iidoskey(ckey,sud,jxwkeyhold,"x");
}
// xlxs 04 next
// if(nzlibkey > 0)
// {
// if(xlxsdim <= 16384)
// {
// xlkount = XLookupString((XKeyEvent*)(&report),
// xlxsbuff,xlxsdim,&xlxsks,&xlxscomp);
// if((xlkount >= 1)&&(xlkount <= 4))
// {
// rjkey=onexwchr((xlkount-1),xlxsbuff);
// if(xlkount > 1)rjkey=rjkey+512;
// }
// if(xlkount < 1)rjkey=0;
// *** ERROR *** library error arrow keys return zero
// length string. reccommended remedy
// is to replace XLookupString with high quality
// int iidoskey(int kkll,int kshiftb,int ixkeyhold[],
// const char* klinuxcm);
// kkll is raw key
// kshiftb is 0 for no shift
// ixkeyhold is translation table
// klinuxcm is translation mode
// ckey = (int)xlxsks;
// }
// }
// -----
// end of nzlibkey > 0
iiac[26]=rjkey;
iiac[27]=ckey;
if(xilop == 0)xilop=fourbump(caap,iiac,bar,bab,caf,can);
// high speed print to screen top monochrome high speed 2
rempmap = XCreatePixmap(lpdis,wix,(iiac[7]),(iiac[29]),
scrdepth);
tempmap3 = XCreatePixmapFromBitmapData(lpdis,wix,cdraw3,
(iiac[7]),(iiac[29]),gcbw(scrdepth,15),
gcbw(scrdepth,0),scrdepth);
// fix top
if((iiac[6]) > 1)
{
XCopyArea(lpdis,tempmap3,rempmap,agc,0,0,(iiac[7]),
(iiac[29]),0,0);
}
if((iiac[6]) <= 1)
{
XCopyArea(lpdis,tempmap3,rempmap,bgc,0,0,(iiac[7]),
(iiac[29]),0,0);
}
// fix bottom
if((iiac[6]) > 1)
{
tempmap2 = XCreatePixmapFromBitmapData(lpdis,wix,cdraw2,
(iiac[7]),(iiac[29]),gcbw(scrdepth,15),
gcbw(scrdepth,12),scrdepth);
XCopyArea(lpdis,tempmap2,rempmap,xgc,0,0,(iiac[7]),
(iiac[29]),0,0);
tempmap1 = XCreatePixmapFromBitmapData(lpdis,wix,cdraw1,
(iiac[7]),(iiac[29]),gcbw(scrdepth,15),
gcbw(scrdepth,12),scrdepth);
XCopyArea(lpdis,tempmap1,rempmap,ygc,0,0,(iiac[7]),
(iiac[29]),0,0);
tempmap0 = XCreatePixmapFromBitmapData(lpdis,wix,cdraw0,
(iiac[7]),(iiac[29]),gcbw(scrdepth,15),
gcbw(scrdepth,12),scrdepth);
XCopyArea(lpdis,tempmap0,rempmap,zgc,0,0,(iiac[7]),
(iiac[29]),0,0);
}
XCopyArea(lpdis,rempmap,wix,wgc,0,0,(iiac[7]),
(iiac[29]),0,0);
if((iiac[6]) > 1)
{
XFreePixmap(lpdis,tempmap0);
XFreePixmap(lpdis,tempmap1);
XFreePixmap(lpdis,tempmap2);
}
XFreePixmap(lpdis,tempmap3);
XFreePixmap(lpdis,rempmap);
// print page to screen bottom high speed
if((iiac[30]) == 11832)xolop = 1;
}
}
// end of keypress
// depth = 2
if(report.type == Expose)
{
if(report.xexpose.count == 0)
{
xilop=0;
// high speed print to screen top monochrome high speed 2
rempmap = XCreatePixmap(lpdis,wix,(iiac[7]),(iiac[29]),
scrdepth);
tempmap3 = XCreatePixmapFromBitmapData(lpdis,wix,cdraw3,
(iiac[7]),(iiac[29]),gcbw(scrdepth,15),
gcbw(scrdepth,0),scrdepth);
// fix top
if((iiac[6]) > 1)
{
XCopyArea(lpdis,tempmap3,rempmap,agc,0,0,(iiac[7]),
(iiac[29]),0,0);
}
if((iiac[6]) <= 1)
{
XCopyArea(lpdis,tempmap3,rempmap,bgc,0,0,(iiac[7]),
(iiac[29]),0,0);
}
// fix bottom
if((iiac[6]) > 1)
{
tempmap2 = XCreatePixmapFromBitmapData(lpdis,wix,cdraw2,
(iiac[7]),(iiac[29]),gcbw(scrdepth,15),
gcbw(scrdepth,12),scrdepth);
XCopyArea(lpdis,tempmap2,rempmap,xgc,0,0,(iiac[7]),
(iiac[29]),0,0);
tempmap1 = XCreatePixmapFromBitmapData(lpdis,wix,cdraw1,
(iiac[7]),(iiac[29]),gcbw(scrdepth,15),
gcbw(scrdepth,12),scrdepth);
XCopyArea(lpdis,tempmap1,rempmap,ygc,0,0,(iiac[7]),
(iiac[29]),0,0);
tempmap0 = XCreatePixmapFromBitmapData(lpdis,wix,cdraw0,
(iiac[7]),(iiac[29]),gcbw(scrdepth,15),
gcbw(scrdepth,12),scrdepth);
XCopyArea(lpdis,tempmap0,rempmap,zgc,0,0,(iiac[7]),
(iiac[29]),0,0);
}
XCopyArea(lpdis,rempmap,wix,wgc,0,0,(iiac[7]),
(iiac[29]),0,0);
if((iiac[6]) > 1)
{
XFreePixmap(lpdis,tempmap0);
XFreePixmap(lpdis,tempmap1);
XFreePixmap(lpdis,tempmap2);
}
XFreePixmap(lpdis,tempmap3);
XFreePixmap(lpdis,rempmap);
// print page to screen bottom high speed
}
}
if(report.type == ButtonPress)
{
xilop=0;
if((iiac[28]) == 5)
{
lmoux=report.xbutton.x;
lmouy=report.xbutton.y;
iiac[26]=0;
iiac[27]=381924;
xilop=0;
if(xilop == 0)xilop=fourbump(caap,iiac,bar,bab,caf,can);
// high speed print to screen top monochrome high speed 2
rempmap = XCreatePixmap(lpdis,wix,(iiac[7]),(iiac[29]),
scrdepth);
tempmap3 = XCreatePixmapFromBitmapData(lpdis,wix,cdraw3,
(iiac[7]),(iiac[29]),gcbw(scrdepth,15),
gcbw(scrdepth,0),scrdepth);
// fix top
if((iiac[6]) > 1)
{
XCopyArea(lpdis,tempmap3,rempmap,agc,0,0,(iiac[7]),
(iiac[29]),0,0);
}
if((iiac[6]) <= 1)
{
XCopyArea(lpdis,tempmap3,rempmap,bgc,0,0,(iiac[7]),
(iiac[29]),0,0);
}
// fix bottom
if((iiac[6]) > 1)
{
tempmap2 = XCreatePixmapFromBitmapData(lpdis,wix,cdraw2,
(iiac[7]),(iiac[29]),gcbw(scrdepth,15),
gcbw(scrdepth,12),scrdepth);
XCopyArea(lpdis,tempmap2,rempmap,xgc,0,0,(iiac[7]),
(iiac[29]),0,0);
tempmap1 = XCreatePixmapFromBitmapData(lpdis,wix,cdraw1,
(iiac[7]),(iiac[29]),gcbw(scrdepth,15),
gcbw(scrdepth,12),scrdepth);
XCopyArea(lpdis,tempmap1,rempmap,ygc,0,0,(iiac[7]),
(iiac[29]),0,0);
tempmap0 = XCreatePixmapFromBitmapData(lpdis,wix,cdraw0,
(iiac[7]),(iiac[29]),gcbw(scrdepth,15),
gcbw(scrdepth,12),scrdepth);
XCopyArea(lpdis,tempmap0,rempmap,zgc,0,0,(iiac[7]),
(iiac[29]),0,0);
}
XCopyArea(lpdis,rempmap,wix,wgc,0,0,(iiac[7]),
(iiac[29]),0,0);
if((iiac[6]) > 1)
{
XFreePixmap(lpdis,tempmap0);
XFreePixmap(lpdis,tempmap1);
XFreePixmap(lpdis,tempmap2);
}
XFreePixmap(lpdis,tempmap3);
XFreePixmap(lpdis,rempmap);
// print page to screen bottom high speed
lmoux=131072;
lmouy=131072;
}
// depth = 3
}
if(report.type == ConfigureNotify)
{
iiac[7] = report.xconfigure.width;
// 0353 set xilop below to eight or number of bits quanwid
xilop=8;
// wrong iiac[29] = (xilop * (iiac[7])) + (xilop - 1);
// wrong iiac[7]=divmodi((iiac[29]),xilop,0);
iiac[29]=divmodi(((iiac[7])+(xilop-1)),xilop,0);
iiac[7]=xilop*iiac[29];
// restore 29 height
iiac[29] = report.xconfigure.height;
xilop=1;
// xilop == 0 to update display after configure notify
xilop=0;
// no key available here ckey=report.xkey.keycode;
// nothing here rjkey=iidoskey(ckey,sud,jxwkeyhold,"x");
// iiac[26]=rjkey;
// iiac[27]=ckey;
iiac[26]=0;
// scince no real key set apparent translated key to 0
iiac[27]=262143;
// scince no raw key set number too large to display
// configure notify does not really provide a valid key
if(xilop == 0)xilop=fourbump(caap,iiac,bar,bab,caf,can);
// high speed print to screen top monochrome high speed 2
// high speed print to screen top monochrome high speed 2
rempmap = XCreatePixmap(lpdis,wix,(iiac[7]),(iiac[29]),
scrdepth);
tempmap3 = XCreatePixmapFromBitmapData(lpdis,wix,cdraw3,
(iiac[7]),(iiac[29]),gcbw(scrdepth,15),
gcbw(scrdepth,0),scrdepth);
// fix top
if((iiac[6]) > 1)
{
XCopyArea(lpdis,tempmap3,rempmap,agc,0,0,(iiac[7]),
(iiac[29]),0,0);
}
if((iiac[6]) <= 1)
{
XCopyArea(lpdis,tempmap3,rempmap,bgc,0,0,(iiac[7]),
(iiac[29]),0,0);
}
// fix bottom
if((iiac[6]) > 1)
{
tempmap2 = XCreatePixmapFromBitmapData(lpdis,wix,cdraw2,
(iiac[7]),(iiac[29]),gcbw(scrdepth,15),
gcbw(scrdepth,12),scrdepth);
XCopyArea(lpdis,tempmap2,rempmap,xgc,0,0,(iiac[7]),
(iiac[29]),0,0);
tempmap1 = XCreatePixmapFromBitmapData(lpdis,wix,cdraw1,
(iiac[7]),(iiac[29]),gcbw(scrdepth,15),
gcbw(scrdepth,12),scrdepth);
XCopyArea(lpdis,tempmap1,rempmap,ygc,0,0,(iiac[7]),
(iiac[29]),0,0);
tempmap0 = XCreatePixmapFromBitmapData(lpdis,wix,cdraw0,
(iiac[7]),(iiac[29]),gcbw(scrdepth,15),
gcbw(scrdepth,12),scrdepth);
XCopyArea(lpdis,tempmap0,rempmap,zgc,0,0,(iiac[7]),
(iiac[29]),0,0);
}
XCopyArea(lpdis,rempmap,wix,wgc,0,0,(iiac[7]),
(iiac[29]),0,0);
if((iiac[6]) > 1)
{
XFreePixmap(lpdis,tempmap0);
XFreePixmap(lpdis,tempmap1);
XFreePixmap(lpdis,tempmap2);
}
XFreePixmap(lpdis,tempmap3);
XFreePixmap(lpdis,rempmap);
// print page to screen bottom high speed
// print page to screen bottom high speed
}
}
// end while
// XFreeGC(lpdis,agc);
// XFreeGC(bgc);
// XFreeGC(wgc);
// XFreeGC(xgc);
// XFreeGC(ygc);
// XFreeGC(zgc);
return 0;
}
// end of main
// --------------------------------------------- 90
// -------------------------------485 load gcbw here
// ----------------------------------------------486
int gcbw(int gcdepth,int gca)
{
int gcbr;
// gca is 0 12 14 15
// colors black darkgrey grey white
// gca is 4 2 1 R B G
// large plane masks 16 allplanes
gcbr=0;
if(gcdepth == 2)
{
if(gca == 0)gcbr=0;
if(gca == 1)gcbr=1;
if(gca == 2)gcbr=1;
if(gca == 4)gcbr=1;
if(gca == 12)gcbr=0;
if(gca == 14)gcbr=1;
if(gca == 15)gcbr=1;
if(gca == 16)gcbr=1;
}
if(gcdepth == 4)
{
if(gca == 0)gcbr=0;
if(gca == 1)gcbr=1;
if(gca == 2)gcbr=2;
if(gca == 4)gcbr=4;
if(gca == 12)gcbr=0;
if(gca == 14)gcbr=7;
if(gca == 15)gcbr=15;
if(gca == 16)gcbr=16;
}
if(gcdepth == 8)
{
if(gca == 0)gcbr=0;
if(gca == 1)gcbr=2;
if(gca == 2)gcbr=20;
if(gca == 4)gcbr=160;
if(gca == 12)gcbr=0;
if(gca == 14)gcbr=73;
if(gca == 15)gcbr=255;
if(gca == 16)gcbr=255;
}
if(gcdepth == 24)
{
if((gca >= 1)&&(gca <= 4))
{
gcbr=65793*redcst(1,8,2,"00111100");
}
if(gca == 1)gcbr=gcbr+redcst(1,8,2,"01000010");
if(gca == 2)gcbr=gcbr+(256 * redcst(1,8,2,"01000010"));
if(gca == 4)gcbr=gcbr+(65536*redcst(1,8,2,"01000010"));
if(gca == 0)gcbr=0;
// if(gca == 12)gcbr=4144959;
// if(gca == 12)gcbr=3947580;
if(gca == 12)gcbr=0;
// if(gca == 14)gcbr=8355711;
// 14 to 65793 * (127 or 126)
if(gca == 14)gcbr=65793 * redcst(1,8,2,"10000001");
if(gca == 15)gcbr=16777215;
if(gca == 16)gcbr=16777215;
}
if(gcdepth == 32)
{
gcbr=0;
if((gca >= 1)&&(gca <= 4))
{
gcbr=2097152+1024;
gcbr=gcbr*redcst(1,11,2,"00111111100");
gcbr=gcbr+redcst(1,10,2,"0011111100");
}
if(gca == 1)gcbr=gcbr+redcst(1,10,2,"0100000010");
if(gca == 2)gcbr=gcbr+(1024 * redcst(1,11,2,
"01000000010"));
if(gca == 4)gcbr=gcbr+(2097152 * redcst(1,11,2,
"01000000010"));
if(gca == 0)gcbr=0;
if(gca == 12)gcbr=0;
if(gca == 14)
{
gcbr=2097152+1024;
gcbr=gcbr*redcst(1,11,2,"10000000001");
gcbr=gcbr+redcst(1,10,2,"1000000001");
}
if(gca == 15)gcbr=0-1;
if(gca == 16)gcbr=0-1;
}
return gcbr;
}
void getgc(Window wigc,GC* wrgc,int gsdepth,int azbnzw)
{
unsigned long vgcmask=0;
XGCValues vgcvalues;
int zbnzw;
unsigned int gclw=1;
int linestyle=LineSolid;
int capstyle=CapRound;
int joinstyle=JoinRound;
int fillstyle=FillSolid;
zbnzw=65;
if(azbnzw == 1)zbnzw=1;
if(azbnzw == 0)zbnzw=0;
if(azbnzw == 17)zbnzw=17;
if(azbnzw == 18)zbnzw=18;
if(azbnzw == 19)zbnzw=19;
if(azbnzw == 20)zbnzw=20;
*wrgc=XCreateGC(lpdis,wigc,vgcmask,&vgcvalues);
XSetLineAttributes(lpdis,*wrgc,gclw,linestyle,capstyle,
joinstyle);
// XSetBackground(lpdis,*wrgc,WhitePixel(lpdis,scnum));
XSetFillStyle(lpdis,*wrgc,fillstyle);
if(zbnzw == 0)XSetForeground(lpdis,*wrgc,
gcbw(gsdepth,0));
if(zbnzw == 0)XSetBackground(lpdis,*wrgc,
gcbw(gsdepth,15));
if(zbnzw == 1)XSetForeground(lpdis,*wrgc,
gcbw(gsdepth,15));
if(zbnzw == 1)XSetBackground(lpdis,*wrgc,
gcbw(gsdepth,0));
if(zbnzw == 17)XSetBackground(lpdis,*wrgc,
gcbw(gsdepth,0));
if(zbnzw == 17)XSetForeground(lpdis,*wrgc,
gcbw(gsdepth,4+12));
if(zbnzw == 18)XSetBackground(lpdis,*wrgc,
gcbw(gsdepth,0));
if(zbnzw == 18)XSetForeground(lpdis,*wrgc,
gcbw(gsdepth,2+14));
if(zbnzw == 19)XSetBackground(lpdis,*wrgc,
gcbw(gsdepth,0));
if(zbnzw == 19)XSetForeground(lpdis,*wrgc,
gcbw(gsdepth,1+15));
if(zbnzw == 20)XSetBackground(lpdis,*wrgc,
gcbw(gsdepth,0));
if(zbnzw == 20)XSetForeground(lpdis,*wrgc,
gcbw(gsdepth,14+2));
if(zbnzw == 0)XSetPlaneMask(lpdis,*wrgc,gcbw(gsdepth,16));
if(zbnzw == 1)XSetPlaneMask(lpdis,*wrgc,gcbw(gsdepth,16));
if(zbnzw == 17)XSetPlaneMask(lpdis,*wrgc,gcbw(gsdepth,4));
if(zbnzw == 18)XSetPlaneMask(lpdis,*wrgc,gcbw(gsdepth,2));
if(zbnzw == 19)XSetPlaneMask(lpdis,*wrgc,gcbw(gsdepth,1));
if(zbnzw == 20)XSetPlaneMask(lpdis,*wrgc,gcbw(gsdepth,14));
}
// end of getgc(Window,GC*,int);
Window makexw(XSizeHints* sizehints,XWMHints* wmhints,
XClassHint* classhints)
{
int sbmask;
Window trix;
trix=XCreateSimpleWindow(lpdis,RootWindow(lpdis,scnum),
0,0,608,378,4,
BlackPixel(lpdis,scnum),WhitePixel(lpdis,scnum));
sud=0;
sizehints = XAllocSizeHints();
wmhints = XAllocWMHints();
classhints = XAllocClassHint();
(*(wmhints)).initial_state=NormalState;
(*(wmhints)).input = True;
(*(wmhints)).icon_pixmap = 0;
(*(wmhints)).flags = StateHint | InputHint ;
(*(classhints)).res_name = 0;
(*(classhints)).res_class = "Basicwin";
(*(sizehints)).flags = PPosition | PSize | PMinSize ;
(*(sizehints)).min_width = 592;
(*(sizehints)).min_height = 334;
sbmask = 0;
sbmask = sbmask | KeyPressMask;
sbmask = sbmask | KeyReleaseMask;
sbmask = sbmask | ExposureMask;
sbmask = sbmask | StructureNotifyMask;
sbmask = sbmask | ButtonPressMask;
XSelectInput(lpdis,trix,sbmask);
return trix;
}
// ------------- bottom of windowmake
void ilinemake(int* iixt,char* xxdd)
{
int xsspos,xssmany,xssbase,xssctr,xsssub,xsstw;
int xssterm,xtssub;
// xsspos 999 xssbase-1 F xssmany 99 xsstw 9
// 9 f 5
xsspos=redcst(1,3,10,xxdd);
xssbase=redcst(4,1,16,xxdd);
xssmany=redcst(5,2,10,xxdd);
xssctr=0;
if((xssbase == 9)||(xssbase == 15))
{
xsstw = redcst(7,1,16,xxdd);
while(xssctr < xssmany)
{
xsssub = (xssctr * xsstw) + 8;
xtssub = xssctr + xsspos;
xssterm = redcst(xsssub,xsstw,(xssbase + 1),xxdd);
*(iixt + xtssub) = xssterm;
xssctr=xssctr+1;
}
}
if(xssbase == 5)
{
while(xssctr < xssmany)
{
xsssub = xssctr + 6;
xtssub = xssctr + xsspos;
xssterm = (int)(*(xxdd + xsssub));
*(iixt + xtssub)=xssterm;
xssctr = xssctr+1;
}
}
}
void iktmany(int* imxt)
{
int iktmanyctr;
iktmanyctr=0;
while(iktmanyctr < 512)
{
*(imxt + iktmanyctr)=131065;
iktmanyctr=iktmanyctr+1;
}
// -------------------------------------------
ilinemake(imxt,"079F0423738392D");
ilinemake(imxt,"083F0423435362B");
ilinemake(imxt,"087F052313233302E");
ilinemake(imxt,"097F04324724824924B");
ilinemake(imxt,"102F06324D24F250251252253");
// -------------------------------------------
ilinemake(imxt,"063F0122A");
ilinemake(imxt,"112F0122F");
ilinemake(imxt,"050F01210");
ilinemake(imxt,"062901216");
ilinemake(imxt,"022F01208");
ilinemake(imxt,"009F0121B");
ilinemake(imxt,"023F01209");
// --
ilinemake(imxt,"0105101234567890");
ilinemake(imxt,"024510qwertyuiop");
ilinemake(imxt,"038509asdfghjkl");
ilinemake(imxt,"052507zxcvbnm");
// --
ilinemake(imxt,"0369013013");
ilinemake(imxt,"108F0120D");
ilinemake(imxt,"0659013032");
ilinemake(imxt,"020F0222D3D");
ilinemake(imxt,"051F0125C");
ilinemake(imxt,"034F0225B5D");
ilinemake(imxt,"047F0223B27");
ilinemake(imxt,"059F0322C2E2F");
ilinemake(imxt,"049F01260");
// ----------------------------------------------------
ilinemake(imxt,"305F0127E");
ilinemake(imxt,"2669103033064035036037094038042040041");
ilinemake(imxt,"280510QWERTYUIOP");
ilinemake(imxt,"294509ASDFGHJKL");
ilinemake(imxt,"308507ZXCVBNM");
// -------------
ilinemake(imxt,"276F0225F2B");
ilinemake(imxt,"307F0127C");
ilinemake(imxt,"290F0227B7D");
ilinemake(imxt,"303F0223A22");
ilinemake(imxt,"315F0323C3E3F");
// --
}
// LINUX KEYBOARD TRANSLATOR TOP
// lreadc redcst
// need xxkeyhold next
int iidoskey(int kkll,int kshiftb,int ixkeyhold[],
const char* klinuxcm)
{
int klinuxmm,zandtogi;
int lidoskrs,lidoslr;
int wasdkeyused;
// x=120 v=118
char clinuxcm;
clinuxcm = *klinuxcm;
klinuxmm = (int)clinuxcm;
lidoskrs=131072;
wasdkeyused=0;
if(klinuxmm == 120)
{
lidoslr = kkll;
if((lidoslr >= 0)&&(lidoslr < 256))
{
if(kshiftb == 1)lidoslr=kkll+256;
lidoskrs = ixkeyhold[lidoslr];
wasdkeyused=1;
}
}
if(klinuxmm == 118)
{
// klinuxcm == "v" for int vga_getkey() within <vga.h>
zandtogi=1;
if(kkll < redcst(1,2,16,"00"))zandtogi=0;
if(kkll > redcst(1,2,16,"7E"))zandtogi=0;
if(zandtogi == 1)
{
lidoskrs=kkll;
}
if(kkll == redcst(1,2,16,"7F"))lidoskrs=8;
// -----------------------------------------------------
if(kkll == redcst(1,8,16,"1B5B317E"))lidoskrs=512+71;
if(kkll == redcst(1,8,16,"001B5B41"))lidoskrs=512+72;
if(kkll == redcst(1,8,16,"1B5B357E"))lidoskrs=512+73;
if(kkll == redcst(1,8,16,"001B5B44"))lidoskrs=512+75;
if(kkll == redcst(1,8,16,"001B5B43"))lidoskrs=512+77;
if(kkll == redcst(1,8,16,"1B5B347E"))lidoskrs=512+79;
if(kkll == redcst(1,8,16,"001B5B42"))lidoskrs=512+80;
if(kkll == redcst(1,8,16,"1B5B367E"))lidoskrs=512+81;
if(kkll == redcst(1,8,16,"1B5B327E"))lidoskrs=512+82;
if(kkll == redcst(1,8,16,"1B5B337E"))lidoskrs=512+83;
// -----------------------------------------------------
wasdkeyused=1;
}
if(wasdkeyused == 0)lidoskrs=klinuxmm;
return lidoskrs;
}
// end of int iidoskey(int,int,int[],const char*)
// ------------------------------------------------------
// system dependent above this line ----------------------
// --------------------------------- proposed declarations
// int divmodi(int inumer,int idenom,int nzirem);
// int onexwchr(int xwcpos,char xwclist[]);
// void chrfroms(int chfstart,int chfsize,char xvclist[],
// const char* xvslist);
// int onexwdig(int xwdpos,char xwdlist[]);
// int ixreada(int iarpos,int iarwid,int iarbase,
// int nziarnext,char iarlist[]);
// int revercram(int rcstart,int rcmany,char revdat[]);
// void linuwrn(int lwrnpos,int lwrnwid,int lwrnbase,
// char lwrt[],int lwrf);
// void uncram(int ucstart,int ucmany,char ucdat[],
// int ucfrom);
// int ombrlen(int ombrloffset,int ombmaxlen,
// char ombuksize[]);
// int nzlinedone(int lkbc[],char reekline[]);
// int redcst(int llrs,int llrw,int llrbase,
// const char* llccs);
// ----------------------------------------------------
// -- void bitpoke(char btt[],int hds,int twi,int bx,
// -- int by,int pznorm,int bvbw);
// void bitwrt(char bde[],int ski,int wwi,int wx,int wy,
// int zltr,int wwvb);
// void printstr(char psb[],int psw,int pst,char psf[],
// int pstrw,char pstr[]);
// int lscale(int lscabc[]);
// int lredoffs(int lrosbc[]);
// int lctsize(int lctsbc[]);
// int lpixperb(int lpixprbc[]);
// int lbytespr(int lbprbc[],int nzlbprem);
// int lbreadf(int lbreadbc[],char lbrecord[],
// int lbreadw,FILE* lbreadh);
// int nzreadmbhdr(int nzrhbc[],char nzrhrecord[],
// char rhctble[],FILE* nzrhh);
// int xwtscroll(int xscbc[],char xscsingle[],
// char xscgroup[]);
// void zackreadbw(int rpbc[],char rprec[],char rpct[],
// char rpbig[],FILE* rph);
// void getpine(int gpbc[],char gprec[],char gpct[],
// char gpbig[],FILE* gph);
// int nonbambi(char** iibplane,int nbbc[],char nbbig[]);
// int putpine(char** iirplane,int irplane[],
// int vpthresh[],char vpbig[]);
// int onebumpw(char** ijplane,int onbbc[],
// char ombrecord[],char ombgbig[]);
// int twobumpw(char** tjple,int tmbc[],char tmbr[],
// char tbig[],char tbf[]);
// int twobuz(char** zpl,int zbc[],char zrc[],
// char zb[],char zf[],char zn[]);
// int fourbump(char** aap,int ac[],
// char ar[],char ab[],char af[],
// char an[]);
// void fonthfill(char fhf[]);
// int nzextcmp(char* uncfn,char* ecright);
// -------------------
// 32 bit integer subroutines for Linux
int divmodi(int inumer,int idenom,int nzirem)
{
int idmres,ifrac,irem,iprod;
irem=0-2;
ifrac=inumer / idenom;
while(irem < 0)
{
iprod=ifrac * idenom;
irem = inumer - iprod;
if(irem < 0)ifrac=ifrac-1;
}
idmres=ifrac;
if(nzirem > 0)idmres=irem;
return idmres;
}
int onexwchr(int xwcpos,char xwclist[])
{
int onexwres;
char onexwtcr;
onexwtcr = xwclist[xwcpos];
onexwres = (int)onexwtcr;
if(onexwres < 0)onexwres = onexwres + 256;
return onexwres;
}
void chrfroms(int chfstart,int chfsize,char xvclist[],
const char* xvslist)
{
int chfctr,chfallow;
char chftcr;
chfctr=0;
chfallow=1;
while(chfallow > 0)
{
chftcr = *(xvslist + chfctr);
if(chftcr == '!')chfallow = 0;
if(chftcr == '$')chfallow = 0;
if(chfctr >= chfsize)chfallow = 0;
if(chfallow > 0)
{
xvclist[chfstart + chfctr]=chftcr;
chfctr=chfctr+1;
}
}
// depth = 1
chftcr = '\40';
chfallow = 0;
if(chfctr < chfsize)
{
chfallow = 1;
while(chfallow > 0)
{
if(chfctr >= chfsize)chfallow=0;
if(chfallow > 0)
{
xvclist[chfstart + chfctr]=chftcr;
// depth = 4
chfctr=chfctr+1;
}
}
}
}
// end of chrfroms;
int onexwdig(int xwdpos,char xwdlist[])
{
int xwdires,xwdicmp;
xwdires=127;
xwdicmp = onexwchr(xwdpos,xwdlist);
if((xwdicmp>=97)&&(xwdicmp<=102))xwdires=xwdicmp-87;
if((xwdicmp>=65)&&(xwdicmp<=70))xwdires=xwdicmp-55;
if((xwdicmp>=48)&&(xwdicmp<=57))xwdires=xwdicmp-48;
return xwdires;
}
int ixreada(int iarpos,int iarwid,int iarbase,
int nziarnext,char iarlist[])
{
int iarctr,iarallow,iarsub,ixreadr,ixreadt;
iarctr=0;
iarallow = 1;
ixreadr=0;
while(iarallow > 0)
{
iarsub = iarpos + iarctr - 1;
ixreadt = onexwdig(iarsub,iarlist);
if(ixreadt < iarbase)iarallow=0;
if(iarallow > 0)
{
iarctr = iarctr + 1;
if(iarctr >= iarwid)iarallow = 0;
}
}
// depth = 1
iarallow = 0;
if(iarctr < iarwid)
{
iarallow = 1;
while(iarallow > 0)
{
iarsub=iarpos+iarctr-1;
ixreadt = onexwdig(iarsub,iarlist);
if(ixreadt >= iarbase)iarallow=0;
if(iarallow > 0)
{
ixreadr=ixreadr*iarbase;
ixreadr=ixreadr+ixreadt;
iarctr=iarctr+1;
if(iarctr >= iarwid)iarallow=0;
}
}
}
// depth = 1
if(nziarnext > 0)ixreadr=iarpos+iarctr;
return ixreadr;
}
int revercram(int rcstart,int rcmany,char revdat[])
{
int revnegind,crammedres,cramctr,cramsub;
int cramterm;
cramsub=rcstart+rcmany-1;
revnegind=0;
cramterm=onexwchr(cramsub,revdat);
crammedres=0;
if((cramterm > 127)&&(rcmany > 3))revnegind=1;
cramctr=rcmany;
while(cramctr > 0)
{
cramsub = rcstart + cramctr -1;
cramterm=onexwchr(cramsub,revdat);
if(revnegind==1)cramterm=255-onexwchr(cramsub,revdat);
crammedres=crammedres*256;
crammedres=crammedres+cramterm;
cramctr=cramctr - 1;
}
if(revnegind == 1)crammedres=(0-1)-crammedres;
return crammedres;
}
void linuwrn(int lwrnpos,int lwrnwid,int lwrnbase,
char lwrt[],int lwrf)
{
int lwrnsub;
int lwrneg,lwrnterm,lwrnctr,lwrntop;
lwrneg=0;
lwrntop=lwrf;
if(lwrf < 0)lwrneg=1;
if(lwrneg == 1)lwrntop=0-(lwrf+1);
lwrnctr=lwrnwid-1;
while(lwrnctr >= 0)
{
lwrnsub=lwrnctr+lwrnpos-1;
lwrnterm=divmodi(lwrntop,lwrnbase,1);
lwrntop=divmodi(lwrntop,lwrnbase,0);
if(lwrneg == 1)lwrnterm=(lwrnbase-1)-lwrnterm;
lwrnterm=lwrnterm+48;
if(lwrnterm > 57)lwrnterm=lwrnterm+39;
lwrt[lwrnsub]=(char)lwrnterm;
lwrnctr=lwrnctr+1;
// *** ERROR *** incrementing instead of needed
// decrementing above
// *** ERROR *** above mistke was hidden
// and hard to find
// attempting fix below
lwrnctr=lwrnctr-2;
}
}
void uncram(int ucstart,int ucmany,char ucdat[],
int ucfrom)
{
int ctruc,uctop,ucneg,ucsub,uccdig;
ucneg=0;
uctop=ucfrom;
if(ucfrom < 0)
{
uctop = 0 - (ucfrom + 1);
ucneg = 1;
}
ctruc = 0;
while(ctruc < ucmany)
{
uccdig=divmodi(uctop,256,1);
uctop=divmodi(uctop,256,0);
ucsub=ctruc+ucstart;
if(ucneg == 1)uccdig=255-uccdig;
if(uccdig > 127)uccdig = uccdig - 256;
ucdat[ucsub]=(char)uccdig;
ctruc=ctruc + 1;
}
}
int ombrlen(int ombrloffset,int ombmaxlen,
char ombuksize[])
{
int ombclen,omblelow,omblent,nextlelow;
ombclen=ombmaxlen;
omblelow=1;
if(ombmaxlen > 0)
{
while(omblelow > 0)
{
omblent=onexwchr((ombrloffset+ombclen-1),ombuksize);
nextlelow=0;
if(omblent == 0)nextlelow=1;
if(omblent == 32)nextlelow=1;
if(nextlelow == 0)omblelow=0;
if(omblelow > 0)
{
ombclen=ombclen-1;
if(ombclen < 1)omblelow=0;
}
}
}
if(ombmaxlen == 0)
{
ombclen=0;
while(omblelow > 0)
{
omblent=onexwchr((ombrloffset + ombclen),ombuksize);
nextlelow=1;
if(omblent == 0)nextlelow=0;
if(omblent == 32)nextlelow=0;
if(omblent == 33)nextlelow=0;
if(nextlelow == 0)omblelow=0;
if(nextlelow > 0)ombclen=ombclen+1;
if(ombclen > 71)omblelow=0;
}
}
return ombclen;
}
// end of ombrlen
int nzlinedone(int lkbc[],char reekline[])
{
int nzlineres,nzlinectr,nzldcmp,nzlinebase;
nzlinebase=lkbc[34];
nzlinectr=lkbc[25];
nzlineres=0;
if(nzlinectr == 0)
{
while(nzlineres < 40)
{
reekline[nzlineres+nzlinebase]='\040';
nzlineres=nzlineres+1;
}
}
nzlineres=0;
nzldcmp=lkbc[26];
if((nzldcmp == 8)&&(nzlinectr>0))nzlinectr=nzlinectr-1;
if((nzldcmp > 31)&&(nzldcmp < 126))
{
reekline[nzlinectr+nzlinebase]=(char)nzldcmp;
nzlinectr=nzlinectr+1;
}
if((nzldcmp == 10)||(nzldcmp == 13))nzlineres=1;
lkbc[25]=nzlinectr;
if(nzlinectr > 38)nzlineres=1;
return nzlineres;
}
// end of nzlinedone
int redcst(int llrs,int llrw,int llrbase,
const char* llccs)
{
int yellowcst;
char redcharb[80];
chrfroms(0,(llrw+llrs-1),redcharb,llccs);
yellowcst = ixreada(llrs,llrw,llrbase,0,redcharb);
return yellowcst;
}
// end of redcst
// end of Linux integer char subroutines
// bitmap using subroutines
// .................................................
// Applications programs that are written for Linux
// use the following
// simplified bitmap header for device independent bitmaps
// location length
// 000 00 02 cstMBcmp value 19778 M=77 B=66 2
// 002 02 16 skipped
// 018 12 04 biwidth in pixels 4
// 022 16 04 biheight in pixels 4
// 026 1A 02 skip was biplanes set to 0001
// 028 1C 02 bibitcount = { 1,4,8,24 } 2
// 030 1E 04 Zero if no compression. 4
// 034 22 12 skipper
// 046 2E 04 biclrused number of colors if > 0 4
// && [1C]==8 x
// 050 32 04 skippable
// 054 36 ((2^[1C])*4)(or 0 for [1C]==24) colortable
// with bgr0 entries
// if([1C]==1)len=8
// if([1C]==4)len=64
// 062 3E start of monochrome bitmap
// 118 76 start of VGA 4 bit color bitmap
// lines of pixels are left to right but upside down
// an extra skippable is added to end of each line to
// make each file line a multiple of four bytes
// ...................................................
// bitmap context integer array for
// some applications programs written for Linux
// requested output characteristics
// 00 destwid
// 01 desthgt
// 02 destx
// 03 desty
// 04 scale set to 0 then let bitmap compute it later
// 05 readmode 0=file 1=memory
// 06 colormode 1=decreaseincreasewithsyncedlimits
// 07 planewidth
// . . . . . . . . . . . . . . . . . .
// input characteristics from incoming bitmap
// 08 biwidth18
// 09 biheight22
// 10 bibitcount28
// 11 ifzerook30
// 12 biclrused46
// 13 isit19778
// ..
// 14 colortablesize
// 15 vfilepointer
// 16 bytesperrecord
// 17 skippedbytes
// 18 prinwid
// 19 prinleft
// 20 prinudy
// 21 prinhgt
// 22
// 23 prinprvpix
// 24 nzfilenamefinished
// 25 keyctr
// 26 keychar
// 27 rawkey
// 28 pagetofive
// 29 planehgt
// 30 dagrajumpnow
// 31 freddyisnext
// 32 screenDEPTH
// 33
// 34 curscrkeyoff
// 35 curscreenwrt
// 36
// 37
// 38
// 39 nzallfour
// 40
// 41 nzfn01
// 42 nzfn02
// 43 nzfn03
// 44 nzfn04
// 45 nzfn05
// 46
// 47
// 48
// 49
// 50
// 51 scrollctr
// 52 scrolllimit
// 53 scrollallow
// 54 scrolldir
// 55
// 56 picturesreadcounterlastdigit
// 57 previousscreen
// 58 th0
// 59 th1
// 60 th2
// 61 th3
// 62 th4
// 63 th5
// 64 th6
// 65 th7
// 66 th8
// 67 th9
// 68 th10
// 69 th11
// 70 th12
// 71 th13
// 72 th14
// 73 th15
// 74
// 75
// 76
// 77
// 78
// 79
// ------------------------------------------------------
// ----------------------------------------------------
// void bitpoke(char btt[],int hds,int twi,int bx,int by,
// int pznorm,int bvbw)
// {
// btt is destination monochrome bitmap
// or plane
// twi must be a
// multiple of 8
// hds is header size of 62
// when writing to bitmap
// bx and by are
// logical pixel coordinates
// twi is target width
// in pixels
// nonzero for backwards bits in target byte pznorm
// zero for dark pixel bvbw
// const int bporand[] = { 128,64,32,16,8,4,2,1,
// 1,2,4,8,16,32,64,128,
// 127,191,223,239,247,251,253,254,
// 254,253,251,247,239,223,191,127 };
// int iporand,dyrem,dyfrac,dyprod,tsub,tvalue;
// dyprod = (twi * by) + bx + (hds * 8);
// dyfrac = divmodi(dyprod,8,0);
// dyrem = divmodi(dyprod,8,1);
// tvalue = onexwchr(dyfrac,btt);
// if((bvbw == 0)&&(pznorm == 0))tsub=dyrem+16;
// if((bvbw == 0)&&(pznorm != 0))tsub=dyrem+24;
// if((bvbw != 0)&&(pznorm == 0))tsub=dyrem;
// if((bvbw != 0)&&(pznorm != 0))tsub=dyrem+8;
// iporand=bporand[tsub];
// if(bvbw == 0)tvalue = tvalue & iporand;
// if(bvbw != 0)tvalue = tvalue | iporand;
// if(tvalue > 127)tvalue = tvalue - 256;
// btt[dyfrac]=(char)tvalue;
// }
void bitwrt(char bde[],int ski,int wwi,int wx,int wy,
int zltr,int wwvb)
{
int wyprod,wyfrac,wyrem,wvalue;
// needs const int wporand[] = {128,64 ...
// bitwrt is supposed to be faster than bitpoke.
wyprod=(wwi * wy)+(ski << 3)+wx;
wyrem = wyprod & 7;
wyfrac = wyprod >> 3;
wvalue = onexwchr(wyfrac,bde);
if(wwvb == 0)
{
if(zltr == 0)wvalue=wvalue & wporand[wyrem + 16];
if(zltr != 0)wvalue=wvalue & wporand[wyrem + 24];
}
if(wwvb != 0)
{
if(zltr == 0)wvalue=wvalue | wporand[wyrem];
if(zltr != 0)wvalue=wvalue | wporand[wyrem + 8];
}
if(wvalue > 127)wvalue = wvalue - 256;
bde[wyfrac]=(char)wvalue;
}
// bottom of bitwrt
void printstr(char psb[],int psw,int pst,char psf[],
int pstrw,char pstr[])
{
int pswrrem,pswpx,pswcx,pswy,psevenctr,psfsub;
int pstrelem,pswright,pswline;
int pswpix,ponxsft,ponwid,ponysft,pondhgt,ponbhgt;
int ponahgt,ponaleft,ponbig;
int rponcurse,tinypst;
int psj,psuy;
const int pondspec[] = { 0,0,0,0,0,0,0,0,
1,7,2,13,14,16,7,0 };
if((pst >= 1000)&&(pst <= 1999))
{
rponcurse = divmodi(pst,1000,1)-1;
tinypst = divmodi(pst,1000,0)*8;
ponxsft = pondspec[tinypst];
ponwid = pondspec[tinypst + 1];
ponysft = pondspec[tinypst + 2];
pondhgt = pondspec[tinypst + 3];
ponbhgt = pondspec[tinypst + 4];
ponahgt = pondspec[tinypst + 5];
ponaleft = pondspec[tinypst + 6];
// depth = 2
ponbig = 1;
pswy = ponxsft + ponaleft;
pswcx=0;
while(pswcx < pswy)
{
ponbig=ponbig+ponbig;
pswcx=pswcx+1;
}
pswright=pstrw*ponwid;
// *** ERROR *** forgot to widen bitmap to next higher
// multiple of 32 pixels
// *** ERROR *** above error was hidden.
// making new variable psj with wider width below
psj = divmodi((psw+31),32,0)*32;
// -------------------------------
pswrrem=psj-pswright;
if(pswrrem > 0)
{
uncram(0,2,psb,19778);
uncram(18,4,psb,psw);
uncram(22,4,psb,ponbhgt);
uncram(28,2,psb,1);
uncram(30,4,psb,0);
uncram(46,4,psb,0);
uncram(54,4,psb,0);
uncram(58,4,psb,16777215);
// depth = 3
pswcx=0;
while(pswcx < pstrw)
{
pstrelem=onexwchr(pswcx,pstr);
pswy=0;
while(pswy < ponbhgt)
{
psevenctr=0;
psfsub = pswy + (ponahgt * pstrelem) + ponysft;
psuy=(ponbhgt - 1) - pswy;
pswline = (int)psf[psfsub];
while(psevenctr < ponwid)
{
pswpix=1;
pswline=pswline+pswline;
if(pswline >= ponbig)
{
pswline = pswline - ponbig;
pswpix=0;
}
pswpx=(pswcx * ponwid) + psevenctr;
// depth = 6
bitwrt(psb,62,psj,pswpx,psuy,0,pswpix);
psevenctr=psevenctr+1;
}
pswy=pswy+1;
}
if((ponxsft > 0)&&(pswcx == rponcurse))
{
pswy=0;
pswpix=1;
pswpx = pswcx * ponwid;
while(pswy < ponbhgt)
{
bitwrt(psb,62,psj,pswpx,((ponbhgt-1)-pswy),0,pswpix);
pswpix=1-pswpix;
pswy=pswy+1;
}
}
pswcx=pswcx+1;
}
// depth = 3
pswy=0;
while(pswy < ponbhgt)
{
pswpx=0;
pswpix=1;
psuy=(ponbhgt - 1)-pswy;
while(pswpx < pswrrem)
{
pswcx = pswpx + pswright;
bitwrt(psb,62,psj,pswcx,psuy,0,pswpix);
if(pswpx > 16)pswpix=0;
pswpx=pswpx+1;
}
pswy=pswy+1;
}
// depth = 3
}
}
}
// end of printstr
int lscale(int lscabc[])
{
int lscares,lscallow,lscawchk,lscahchk;
int zandtogl;
lscares=1;
lscallow=1;
while(lscallow > 0)
{
lscawchk = lscabc[0] * lscares;
lscahchk = lscabc[1] * lscares;
zandtogl = 1;
if(lscawchk < lscabc[8])zandtogl=0;
if(lscahchk < lscabc[9])zandtogl=0;
if(zandtogl == 1)lscallow=0;
if(lscallow > 0)
{
lscares=lscares+1;
if(lscares > 16383)lscallow=0;
}
}
return lscares;
// lscale returns factor by which to shrink picture
}
int lredoffs(int lrosbc[])
{
int lredoffr;
lredoffr=0;
if(lrosbc[5] > 0)lredoffr=lrosbc[15];
return lredoffr;
// lredoffs returns 0 for file read or
// virtualfilepointer value for memory read
}
int lctsize(int lctsbc[])
{
int lctsres,lctsterm,lctstrrm;
lctsres=0;
lctsterm=lctsbc[10];
lctstrrm=lctsbc[12];
if(lctsterm == 1)lctsres=2;
if(lctsterm == 4)lctsres=16;
if((lctsterm == 8)&&(lctstrrm == 0))lctsres=256;
if((lctsterm == 8)&&(lctstrrm > 0))lctsres=lctstrrm;
return lctsres;
// lctsize returns colortable size in
// four byte doublewords
}
int lpixperb(int lpixprbc[])
{
int lpixperes,lpixpercmp;
lpixpercmp = lpixprbc[10];
lpixperes=0;
if(lpixpercmp == 1)lpixperes=8;
if(lpixpercmp == 4)lpixperes=2;
if(lpixpercmp == 8)lpixperes=1;
return lpixperes;
// lpixperb returns pixels per byte if > 0 xor 3 bytes
// per pixel if return zero
}
int lbytespr(int lbprbc[],int nzlbprem)
{
int lbypres,lbyperb,lbyrnumer;
lbyperb=lpixperb(lbprbc);
if(lbyperb > 0)
{
lbyrnumer=lbprbc[8]+lbyperb-1;
lbypres=divmodi(lbyrnumer,lbyperb,0);
}
if(lbyperb == 0)lbypres = 3 * lbprbc[8];
if(nzlbprem > 0)
{
lbyrnumer=lbypres-(divmodi(lbypres,4,0)*4);
lbypres=0;
if(lbyrnumer > 0)lbypres=4-lbyrnumer;
}
return lbypres;
// returns lbypres bytes per record to make
// (one input line of pixels) if nzlbprem==0
// returns lbypres is number of skippable bytes
// after each line if arg 2 > 0
}
int lbreadf(int lbreadbc[],char lbrecord[],int lbreadw,
FILE* lbreadh)
{
int actreadwid,lbreadres;
if(lbreadw == 0)actreadwid=lbreadbc[16]+lbreadbc[17];
if(lbreadw > 0)actreadwid=lbreadw;
lbreadres=lbreadbc[15];
if(lbreadbc[5] == 0)
{
// read from a file
fread(lbrecord,actreadwid,1,lbreadh);
}
lbreadres=lbreadres+actreadwid;
// lbreadres is next value to put in [15]
// after call to lredoffs
return lbreadres;
}
int nzreadmbhdr(int nzrhbc[],char nzrhrecord[],
char rhctble[],FILE* nzrhh)
{
int nzrnext,nzrhres,nzrholop,nzrhilop,nzrhctsub;
int nzrhrase,nzrhcolsub;
int nzrhnext;
nzrnext=0;
nzrhbc[15]=nzrnext;
nzrhres=nzrnext;
nzrnext=lbreadf(nzrhbc,nzrhrecord,2,nzrhh);
nzrhbc[13]=revercram(lredoffs(nzrhbc),2,nzrhrecord);
nzrhbc[15] = nzrnext;
if(nzrhbc[13] == 19778)
{
nzrhres=1;
// depth = 2
nzrnext=lbreadf(nzrhbc,nzrhrecord,16,nzrhh);
nzrhbc[15] = nzrnext;
nzrnext=lbreadf(nzrhbc,nzrhrecord,4,nzrhh);
nzrhbc[8] = revercram(lredoffs(nzrhbc),4,nzrhrecord);
nzrhbc[15] = nzrnext;
nzrnext = lbreadf(nzrhbc,nzrhrecord,4,nzrhh);
nzrhbc[9] = revercram(lredoffs(nzrhbc),4,nzrhrecord);
nzrhbc[15] = nzrnext;
nzrnext=lbreadf(nzrhbc,nzrhrecord,2,nzrhh);
nzrhbc[15] = nzrnext;
// ------------------------------------------------
nzrnext=lbreadf(nzrhbc,nzrhrecord,2,nzrhh);
nzrhbc[10] = revercram(lredoffs(nzrhbc),2,nzrhrecord);
nzrhbc[15] = nzrnext;
nzrnext=lbreadf(nzrhbc,nzrhrecord,4,nzrhh);
nzrhbc[11] = revercram(lredoffs(nzrhbc),4,nzrhrecord);
nzrhbc[15] = nzrnext;
if(nzrhbc[11] != 0)nzrhres=0;
nzrnext=lbreadf(nzrhbc,nzrhrecord,12,nzrhh);
nzrhbc[15]=nzrnext;
nzrnext=lbreadf(nzrhbc,nzrhrecord,4,nzrhh);
nzrhbc[12] = revercram(lredoffs(nzrhbc),4,nzrhrecord);
nzrhbc[15] = nzrnext;
nzrnext=lbreadf(nzrhbc,nzrhrecord,4,nzrhh);
nzrhbc[15] = nzrnext;
if(nzrhbc[4] == 0)nzrhbc[4]=lscale(nzrhbc);
nzrhbc[14]=lctsize(nzrhbc);
nzrhbc[16]=lbytespr(nzrhbc,0);
nzrhbc[17]=lbytespr(nzrhbc,1);
// depth = 2
nzrhbc[18]=divmodi(nzrhbc[8],nzrhbc[4],0);
nzrhbc[21]=divmodi(nzrhbc[9],nzrhbc[4],0);
nzrhbc[20]=nzrhbc[21]-1;
nzrhbc[19]=nzrhbc[0]-nzrhbc[18];
nzrholop=0;
while(nzrholop < nzrhbc[14])
{
nzrhnext=lbreadf(nzrhbc,nzrhrecord,4,nzrhh);
nzrhrase=lredoffs(nzrhbc);
// depth = 3
nzrhbc[15] = nzrhnext;
nzrhilop=0;
while(nzrhilop < 4)
{
nzrhctsub=(nzrholop * 4) + nzrhilop;
nzrhcolsub = nzrhrase + nzrhilop;
rhctble[nzrhctsub] = nzrhrecord[nzrhcolsub];
// depth = 4
nzrhilop=nzrhilop+1;
}
nzrholop=nzrholop+1;
// depth = 3
}
// depth = 2
if((nzrhbc[8]*nzrhbc[4]*3)>=bigbuffsize)nzrhres=0;
}
// depth = 1
return nzrhres;
}
// end of nzreadmbhdr
int xwtscroll(int xscbc[],char xscsingle[],
char xscgroup[])
{
int xscres,xscilo,xscbase;
// 51 scrollctr 52 scrolllimit
// 53 scrollallow
// 54 scrolldir 0=save 1=get
xscbase=((xscbc[51]) + 1)*40;
xscres=0;
xscilo=0;
if(((xscbc[54]) == 0)&&((xscbc[51]) < (xscbc[52])))
{
while(xscilo < 40)
{
xscgroup[xscbase + xscilo] = xscsingle[xscilo];
xscilo=xscilo+1;
}
if((xscbc[53]) > 0)xscres=1;
if((xscbc[53]) > 0)xscbc[51]=xscbc[51]+1;
}
if(((xscbc[54]) == 1)&&((xscbc[51]) < (xscbc[52])))
{
while(xscilo < 40)
{
xscsingle[xscilo]=xscgroup[xscbase + xscilo];
xscilo=xscilo+1;
}
if((xscbc[53]) > 0)xscres=1;
if((xscbc[53]) > 0)xscbc[51]=xscbc[51]+1;
}
return xscres;
}
void zackreadbw(int rpbc[],char rprec[],char rpct[],
char rpbig[],FILE* rph)
{
int rpiterm,rbiwidth,rpscalelim,rpscalectr,rpdesrase;
int rbimain,rbirem,rbictr,rboctr,rpinext,rpirase;
char bamb0,bamb1,bamb2,bamw4,bamw5,bamw6;
rbiwidth=rpbc[8];
rpscalelim=rpbc[4];
rpdesrase=0;
bamb0=rpct[0];
bamb1=rpct[1];
bamb2=rpct[2];
bamw4=rpct[4];
bamw5=rpct[5];
bamw6=rpct[6];
rbimain=divmodi(rbiwidth,8,0);
rbirem=divmodi(rbiwidth,8,1);
rpscalectr=0;
while(rpscalectr < rpscalelim)
{
rpinext=lbreadf(rpbc,rprec,0,rph);
rpirase=lredoffs(rpbc);
rpbc[15]=rpinext;
rboctr=0;
while(rboctr < rbimain)
{
rpiterm=onexwchr((rpirase+rboctr),rprec);
// depth = 3
rbictr=0;
while(rbictr < 8)
{
rpiterm=rpiterm+rpiterm;
if(rpiterm <= 255)
{
rpbig[rpdesrase]=bamb0;
rpbig[rpdesrase+1]=bamb1;
rpbig[rpdesrase+2]=bamb2;
}
if(rpiterm > 255)
{
rpbig[rpdesrase]=bamw4;
rpbig[rpdesrase+1]=bamw5;
rpbig[rpdesrase+2]=bamw6;
rpiterm=rpiterm-256;
}
rpdesrase=rpdesrase+3;
rbictr=rbictr+1;
}
// depth = 3
rboctr=rboctr+1;
}
// depth = 2
rpiterm=onexwchr((rpirase+rbimain),rprec);
rbictr=0;
while(rbictr < rbirem)
{
// depth = 3
rpiterm=rpiterm+rpiterm;
if(rpiterm <= 255)
{
rpbig[rpdesrase]=bamb0;
rpbig[rpdesrase+1]=bamb1;
rpbig[rpdesrase+2]=bamb2;
}
if(rpiterm > 255)
{
rpbig[rpdesrase]=bamw4;
rpbig[rpdesrase+1]=bamw5;
rpbig[rpdesrase+2]=bamw6;
rpiterm=rpiterm-256;
}
rpdesrase=rpdesrase+3;
rbictr=rbictr+1;
}
// depth = 2
rpscalectr=rpscalectr+1;
}
}
// bottom of zackreadbw
void getpine(int gpbc[],char gprec[],char gpct[],
char gpbig[],FILE* gph)
{
int gbibitcount,hpixb,gpixctr,gbytectr;
int gbiwidth,ghmbytes,gpirase,gpinext;
int gpdesrase,gpeallow,gpscalelim,gpscalectr;
int gpctrase,gpilopctr,gpiterm,gpidenom,gpilopsub;
int gpints[8];
gbibitcount=gpbc[10];
hpixb=lpixperb(gpbc);
gbiwidth=gpbc[8];
ghmbytes=gpbc[16];
gpscalelim=gpbc[4];
gpdesrase=0;
gpscalectr=0;
// depth = 1
while(gpscalectr < gpscalelim)
{
gpinext=lbreadf(gpbc,gprec,0,gph);
// depth = 2
gpirase=lredoffs(gpbc);
gpbc[15]=gpinext;
gpixctr=0;
gbytectr=0;
gpeallow=1;
while(gpeallow > 0)
{
gpiterm=onexwchr((gpirase+gbytectr),gprec);
// depth = 3
if(gbibitcount < 9)
{
gpilopctr=hpixb;
if(gbibitcount == 1)gpidenom=2;
if(gbibitcount == 4)gpidenom=16;
if(gbibitcount == 8)gpidenom=256;
while(gpilopctr > 0)
{
gpilopsub=gpilopctr-1;
gpints[gpilopsub]=divmodi(gpiterm,gpidenom,1);
gpiterm=divmodi(gpiterm,gpidenom,0);
// depth = 5
gpilopctr=gpilopsub;
}
gpilopctr=0;
// depth = 4
while(gpilopctr < hpixb)
{
if(gpeallow > 0)
{
gpctrase=gpints[gpilopctr]*4;
gpbig[gpdesrase]=gpct[gpctrase];
// depth = 6
gpbig[gpdesrase+1]=gpct[gpctrase+1];
gpbig[gpdesrase+2]=gpct[gpctrase+2];
gpdesrase=gpdesrase+3;
gpixctr=gpixctr+1;
if(gpixctr >= gbiwidth)gpeallow=0;
}
// *** ERROR *** initial paperwork forgot to increment
// gpilopctr like next
gpilopctr=gpilopctr+1;
}
gbytectr=gbytectr+1;
}
// depth = 3
if((gbibitcount == 24)&&(gpeallow > 0))
{
gpbig[gpdesrase]=gprec[gpirase+gbytectr];
gpbig[gpdesrase+1]=gprec[gpirase+gbytectr+1];
// depth = 4
gpbig[gpdesrase+2]=gprec[gpirase+gbytectr+2];
gpdesrase=gpdesrase+3;
gpixctr=gpixctr+1;
if(gpixctr >= gbiwidth)gpeallow=0;
gbytectr=gbytectr+3;
}
if(gbytectr >= ghmbytes)gpeallow=0;
}
// depth = 2
gpscalectr=gpscalectr+1;
}
}
// end of getpine
int nonbambi(char** iibplane,int nbbc[],char nbbig[])
{
// need new char* nbplane
int putbambi,bamby,bambx,bambwid,bambplat,bambictr;
int bambilimit;
char* nbplane0;
char* nbplane1;
char* nbplane2;
char* nbplane3;
char bambk,bamwh;
nbplane0 = *(iibplane + 0);
nbplane1 = *(iibplane + 1);
nbplane2 = *(iibplane + 2);
nbplane3 = *(iibplane + 3);
// 1538 indirects at 1534 thru 1537
putbambi=0-1;
bamwh=(char)putbambi;
bambk='\0';
if(((nbbc[20]) >= 0)&&((nbbc[20]) < (nbbc[21])))
{
putbambi=nbbc[20]-1;
bambilimit=(nbbc[18])*3;
bamby=nbbc[20]+nbbc[3];
bambx=nbbc[2]-1;
bambwid=nbbc[7];
bambictr=0;
while(bambictr < bambilimit)
{
bambx=bambx+1;
if((nbbig[bambictr + 1]) == bambk)
{
bitwrt(nbplane3,0,bambwid,bambx,bamby,1,0);
if((nbbc[6]) > 1)
{
bitwrt(nbplane2,0,bambwid,bambx,bamby,1,0);
bitwrt(nbplane1,0,bambwid,bambx,bamby,1,0);
bitwrt(nbplane0,0,bambwid,bambx,bamby,1,0);
}
}
if((nbbig[bambictr + 1]) == bamwh)
{
bitwrt(nbplane3,0,bambwid,bambx,bamby,1,1);
if((nbbc[6]) > 1)
{
bitwrt(nbplane2,0,bambwid,bambx,bamby,1,1);
bitwrt(nbplane1,0,bambwid,bambx,bamby,1,1);
bitwrt(nbplane0,0,bambwid,bambx,bamby,1,1);
}
}
bambictr=bambictr+3;
}
bambplat=bambx+1;
bambilimit=nbbc[18]-bambplat;
bambictr=0;
while(bambictr < bambilimit)
{
bambx=bambplat+bambictr;
bitwrt(nbplane3,0,bambwid,bambx,bamby,1,1);
if((nbbc[6]) > 1)
{
bitwrt(nbplane2,0,bambwid,bambx,bamby,1,1);
bitwrt(nbplane1,0,bambwid,bambx,bamby,1,1);
bitwrt(nbplane0,0,bambwid,bambx,bamby,1,1);
}
bambictr=bambictr+1;
}
}
return putbambi;
}
// bottom of nonbambi
int putpine(char** iirplane,int irplane[],
int vpthresh[],char vpbig[])
{
int putriny,putxvctr,putxoctr,putxictr,putxoisub;
int putbigcmp,putsmallpix;
int putbigcmr,putbigcmg,putbigcmb;
int putpilowcap,putpibigcap,putjshifx,putjshify;
char* jrplane0;
char* jrplane1;
char* jrplane2;
char* jrplane3;
jrplane0 = *(iirplane + 0);
jrplane1 = *(iirplane + 1);
jrplane2 = *(iirplane + 2);
jrplane3 = *(iirplane + 3);
// depth = 1 1608 indirects 1604 thru 1607
putpilowcap = irplane[4] * irplane[4] * 3;
putpibigcap = irplane[4] * irplane[4] * 254 * 3;
putxvctr=0;
putriny=irplane[20]+1;
if(irplane[13]==19778)putriny=irplane[20]-1;
if((irplane[20] >= 0)&&(irplane[20] < irplane[21]))
{
irplane[23]=0;
while(putxvctr < irplane[18])
{
putxoctr=0;
// putbigcmr needs to be zeroed HERE 1909
putbigcmr = 0;
putbigcmg = 0;
putbigcmb = 0;
while(putxoctr < irplane[4])
{
putxictr = 0;
while(putxictr < irplane[4])
{
// putxoisub=(putxoctr*irplane[8]*3)+(putxictr * 3);
// *** ERROR *** above calulation of
// putxoisub is incorrect
putxoisub=((irplane[8])*putxoctr)+putxictr;
putxoisub=putxoisub+(putxvctr*(irplane[4]));
putxoisub=putxoisub*3;
// depth = 5
// ***ERROR*** hidden mistake of zeroing at wrong place
// putbigcmp=0; here only works when irplane[4]==1
// *** ERROR *** initial paperwork tried to add char
// directly to int next.
putbigcmb=putbigcmb+onexwchr(putxoisub,vpbig);
putbigcmg=putbigcmg+onexwchr((putxoisub + 1),vpbig);
putbigcmr=putbigcmr+onexwchr((putxoisub + 2),vpbig);
putxictr=putxictr+1;
}
putxoctr=putxoctr+1;
}
// depth = 3
putbigcmp = putbigcmr + putbigcmg + putbigcmb;
if((irplane[6] >= 0)&&(irplane[6] <= 1))
{
putsmallpix=0;
if(putbigcmp > irplane[23])putsmallpix=1;
if(putsmallpix == 1)irplane[23]=putbigcmp+1;
if(putsmallpix == 0)irplane[23]=putbigcmp-1;
if(irplane[6] == 1)
{
if(putbigcmp < putpilowcap)putsmallpix=0;
// depth = 5
if(putbigcmp > putpibigcap)putsmallpix=1;
}
putjshifx=putxvctr+irplane[2];
putjshify=irplane[20]+irplane[3];
bitwrt(jrplane3,0,(irplane[7]),putjshifx,putjshify,
1,putsmallpix);
}
// cut here depth = 3 ------------ 1871 twotop
if((irplane[6]) == 2)
{
putsmallpix=0;
putxoctr=0;
putxictr=1;
while(putxictr > 0)
{
if(putbigcmp < (irplane[58+putxoctr]))putxictr=0;
if(putxictr > 0)putxoctr=putxoctr+1;
if(putxoctr > 5)putxictr=0;
}
putxictr=thsixsev[putxoctr];
putxoctr=putxictr+putxictr;
putxictr=putxoctr+putxoctr;
putjshifx=putxvctr+irplane[2];
putjshify=irplane[20]+irplane[3];
bitwrt(jrplane3,0,(irplane[7]),putjshifx,putjshify,
1,(sevbig[putxictr+0]));
bitwrt(jrplane2,0,(irplane[7]),putjshifx,putjshify,
1,(sevbig[putxictr+1]));
bitwrt(jrplane1,0,(irplane[7]),putjshifx,putjshify,
1,(sevbig[putxictr+2]));
bitwrt(jrplane0,0,(irplane[7]),putjshifx,putjshify,
1,(sevbig[putxictr+3]));
}
// two bottom 1897
if((irplane[6]) == 3)
{
putjshifx=putxvctr+irplane[2];
putjshify=irplane[20]+irplane[3];
putxictr=divmodi(putjshifx,2,1);
putsmallpix=divmodi(putjshify,2,1);
putxoctr=putsmallpix+putsmallpix+putxictr;
putsmallpix=0;
if(putbigcmr > (irplane[(62 + putxoctr)]))
{
putsmallpix = putsmallpix | 48;
}
if(putbigcmg > (irplane[(62 + putxoctr)]))
{
putsmallpix = putsmallpix | 40;
}
if(putbigcmb > (irplane[(62 + putxoctr)]))
{
putsmallpix = putsmallpix | 36;
}
if(putsmallpix == 0)
{
if(putbigcmr > (irplane[(58 + putxoctr)]))
{
putsmallpix = putsmallpix | 16;
}
if(putbigcmg > (irplane[(58 + putxoctr)]))
{
putsmallpix = putsmallpix | 8;
}
if(putbigcmb > (irplane[(58 + putxoctr)]))
{
putsmallpix = putsmallpix | 4;
}
}
putxictr=putsmallpix;
bitwrt(jrplane3,0,(irplane[7]),putjshifx,putjshify,
1,(sevbig[putxictr+0]));
bitwrt(jrplane2,0,(irplane[7]),putjshifx,putjshify,
1,(sevbig[putxictr+1]));
bitwrt(jrplane1,0,(irplane[7]),putjshifx,putjshify,
1,(sevbig[putxictr+2]));
bitwrt(jrplane0,0,(irplane[7]),putjshifx,putjshify,
1,(sevbig[putxictr+3]));
}
// threebottom 2026
// cut here depth = 3 ------------
if((irplane[6]) == 4)
{
putsmallpix=0;
putxoctr=0;
putxictr=1;
while(putxictr > 0)
{
if(putbigcmp < (irplane[58+putxoctr]))putxictr=0;
if(putxictr > 0)putxoctr=putxoctr+1;
if(putxoctr > (thdimtran-2))putxictr=0;
}
putxictr=thbigtran[putxoctr];
putxoctr=putxictr+putxictr;
putxictr=putxoctr+putxoctr;
putjshifx=putxvctr+irplane[2];
putjshify=irplane[20]+irplane[3];
bitwrt(jrplane3,0,(irplane[7]),putjshifx,putjshify,
1,(sevbig[putxictr+0]));
bitwrt(jrplane2,0,(irplane[7]),putjshifx,putjshify,
1,(sevbig[putxictr+1]));
bitwrt(jrplane1,0,(irplane[7]),putjshifx,putjshify,
1,(sevbig[putxictr+2]));
bitwrt(jrplane0,0,(irplane[7]),putjshifx,putjshify,
1,(sevbig[putxictr+3]));
}
// four bottom 2062
// end of colored adapter
putxvctr=putxvctr+1;
}
// depth = 2
putxvctr=0;
while(putxvctr < irplane[19])
{
putsmallpix=1;
putxictr=putxvctr+irplane[18];
putjshifx=putxictr+irplane[2];
putjshify=irplane[20]+irplane[3];
bitwrt(jrplane3,0,(irplane[7]),putjshifx,putjshify,
1,putsmallpix);
if((irplane[6]) > 1)
{
bitwrt(jrplane2,0,(irplane[7]),putjshifx,putjshify,
1,putsmallpix);
bitwrt(jrplane1,0,(irplane[7]),putjshifx,putjshify,
1,putsmallpix);
bitwrt(jrplane0,0,(irplane[7]),putjshifx,putjshify,
1,putsmallpix);
}
putxvctr=putxvctr+1;
}
// depth = 2
}
return putriny;
}
// end of putpine
int onebumpw(char** ijplane,int onbbc[],
char ombrecord[],char ombgbig[])
{
FILE* ombfh;
int ombctr,fnlen,fdlen,omballow,oneedclose,ombresu;
char ombcolort[1024];
int ombthresh[16];
char ombfns[90];
// SEEK_SET SEEK_CUR SEEK_END
ombfns[0]='\0';
oneedclose=0;
ombresu=0;
omballow=1;
if(onbbc[5] == 0)
{
fnlen = ombrlen(0,40,ombrecord);
ombctr=0;
while(ombctr < fnlen)
{
ombfns[ombctr]=ombrecord[ombctr];
ombctr=ombctr+1;
}
ombfns[fnlen]='\0';
ombfh = NULL;
if(fnlen > 0)ombfh = fopen(ombfns,"rb");
if(ombfh == NULL)omballow = 0;
// depth = 2
if(omballow > 0)
{
fseek(ombfh,0,SEEK_END);
fdlen=ftell(ombfh);
fseek(ombfh,0,SEEK_SET);
oneedclose=1;
}
// depth = 2
}
// depth = 1;
onbbc[8]=0;
onbbc[9]=0;
onbbc[10]=24;
onbbc[13]=0;
onbbc[15]=0;
if(omballow > 0)
{
omballow=nzreadmbhdr(onbbc,ombrecord,ombcolort,ombfh);
if((onbbc[6]) == 2)
{
ombctr=0;
while(ombctr < 6)
{
onbbc[(58+ombctr)]=shrinkth[ombctr] * onbbc[4] * onbbc[4];
ombctr=ombctr+1;
}
}
if((onbbc[6]) == 3)
{
ombctr=0;
while(ombctr < 8)
{
onbbc[(58+ombctr)]=rgbeight[ombctr] * onbbc[4] * onbbc[4];
ombctr=ombctr+1;
}
}
// colormode == 4
if((onbbc[6]) == 4)
{
ombctr=0;
while(ombctr < (thdimtran - 1))
{
onbbc[(58+ombctr)]=bigthre[ombctr] * onbbc[4] * onbbc[4];
ombctr=ombctr+1;
}
}
// --
}
if((omballow>0)&&((onbbc[21])>0)&&(oneedclose==1))
{
onbbc[56]=onbbc[56]+1;
}
if((onbbc[56]) > 9)onbbc[56]=0;
if((omballow > 0)&&(onbbc[13] == 19778))
{
if(((onbbc[10]) > 1)||((onbbc[4]) > 1))
{
while(omballow > 0)
{
getpine(onbbc,ombrecord,ombcolort,ombgbig,ombfh);
onbbc[20]=putpine(ijplane,onbbc,ombthresh,ombgbig);
if(onbbc[20] < 0)omballow=0;
ombresu=1;
}
}
if(((onbbc[10]) == 1)&&((onbbc[4]) == 1))
{
// if bibitcount==1 and scale==1 fast version
while(omballow > 0)
{
zackreadbw(onbbc,ombrecord,ombcolort,ombgbig,ombfh);
onbbc[20]=nonbambi(ijplane,onbbc,ombgbig);
if(onbbc[20] < 0)omballow=0;
ombresu=1;
}
}
// ------------
}
if(oneedclose > 0)
{
fclose(ombfh);
}
// depth = 1
// ---------
return ombresu;
}
// end of onebumpw
int twobumpw(char** tjple,int tmbc[],char tmbr[],
char tbjg[],char tbf[])
{
int tmhrrem,tmbdiscard,tmbswitch,tmbresult,tmbtuebot;
char tnutexxt[88];
// (640 * 16 / 8) + 62
char tmogroup[2700];
char tmolinne[2684];
tmbswitch=tmbc[5];
tmbdiscard=0;
while(tmbdiscard < 40)
{
tnutexxt[tmbdiscard]='\40';
tmbdiscard=tmbdiscard+1;
}
if(tmbswitch > 0)
{
tmbresult=onebumpw(tjple,tmbc,tmbr,tbjg);
}
if(tmbswitch == 0)
{
// -------------
tmbdiscard=0;
while(tmbdiscard < 40)
{
tnutexxt[tmbdiscard]=tmbr[tmbdiscard];
tmbdiscard=tmbdiscard+1;
}
// -------------
tmbc[21]=0;
tmbc[4]=0;
tmbresult=0;
if((tmbc[24]) > 0)
{
tmbresult=onebumpw(tjple,tmbc,tmbr,tbjg);
}
tmbtuebot=tmbc[21];
tmhrrem=tmbc[1]-tmbtuebot;
// depth = 2
if((tmbc[0]) < 280)tmhrrem=0;
// ------------------------------------
tmbc[52]=divmodi(tmhrrem,14,0);
// greatest possible tmbc[52] is number of lines of
// text to be written
if((tmbc[52]) > 16)tmbc[52]=16;
if((tmbc[30]) == 11830)tmbc[52]=1;
tmbc[53]=1;
if((tmbc[30]) == 11830)tmbc[53]=1;
tmbc[51]=0;
tmbc[54]=0;
tmbdiscard=xwtscroll(tmbc,tnutexxt,tmogroup);
// printstr(tmolinne,(tmbc[0]),1000,tbf,40,tnutexxt);
// tmbdiscard=onebumpw(tjple,tmbc,tmolinne,tbjg);
// -------------------------------------
// ------------------------------------
chrfroms(0,40,tnutexxt,"w ---- h ---- s ----- b -- u dos B!");
linuwrn(3,4,10,tnutexxt,(tmbc[8]));
linuwrn(11,4,10,tnutexxt,(tmbc[9]));
linuwrn(19,1,10,tnutexxt,(tmbc[56]));
linuwrn(20,1,10,tnutexxt,(tmbc[35]));
linuwrn(21,1,10,tnutexxt,(tmbc[28]));
linuwrn(22,2,10,tnutexxt,(tmbc[4]));
linuwrn(28,2,10,tnutexxt,(tmbc[10]));
if(((tmbc[12]) > 0)&&((tmbc[10]) == 8))
{
linuwrn(34,3,10,tnutexxt,(tmbc[12]));
}
linuwrn(39,1,16,tnutexxt,((tmbc[6])+10));
tmbdiscard=xwtscroll(tmbc,tnutexxt,tmogroup);
// --------------------------------------------------------------
chrfroms(0,40,tnutexxt,"w ---- h ---- t --- k --- -------- r!");
linuwrn(3,4,10,tnutexxt,(tmbc[7]));
linuwrn(11,4,10,tnutexxt,(tmbc[29]));
linuwrn(19,3,10,tnutexxt,(tmbc[32]));
if(((tmbc[26]) >= 0)&&((tmbc[26]) < 1000))
{
linuwrn(26,3,10,tnutexxt,(tmbc[26]));
if(nzlibkey == 0)
{
if(((tmbc[26]) >= 32)&&((tmbc[26]) < 127))
{
tnutexxt[23] = (char)(tmbc[26]);
}
if(((tmbc[26]) >= 544)&&((tmbc[26]) < 639))
{
tnutexxt[22] = (char)(tmbc[26]-512);
}
}
// bottom of 0 to 1000 is next
}
linuwrn(30,8,16,tnutexxt,(tmbc[27]));
tmbdiscard=xwtscroll(tmbc,tnutexxt,tmogroup);
chrfroms(0,40,tnutexxt,"-- Zacks Death Star is helping LINUX. !");
linuwrn(1,2,10,tnutexxt,(tmbc[52]));
if((lmoux < 10000)&&(lmouy < 10000))
{
if((lmoux >= 0)&&(lmouy >= 0))
{
if((tmbc[4]) == 1)
{
chrfroms(0,40,tnutexxt,"-- ---- ---- ------------------------ !");
linuwrn(4,4,10,tnutexxt,lmoux);
linuwrn(9,4,10,tnutexxt,lmouy);
}
}
}
tmbdiscard=xwtscroll(tmbc,tnutexxt,tmogroup);
chrfroms(0,40,tnutexxt,"Vote for an All Volunteer jury system. !");
tmbdiscard=xwtscroll(tmbc,tnutexxt,tmogroup);
chrfroms(0,40,tnutexxt,"This program is not valid without its !");
tmbdiscard=xwtscroll(tmbc,tnutexxt,tmogroup);
chrfroms(0,40,tnutexxt,"source code file xwview03.c !");
tmbdiscard=xwtscroll(tmbc,tnutexxt,tmogroup);
chrfroms(0,40,tnutexxt,"THE ABILITY TO DESTROY A PLANET IS !");
tmbdiscard=xwtscroll(tmbc,tnutexxt,tmogroup);
chrfroms(0,40,tnutexxt,"INSIGNIFICANT NEXT TO THE POWER OF !");
tmbdiscard=xwtscroll(tmbc,tnutexxt,tmogroup);
chrfroms(0,40,tnutexxt,"OPEN SOURCE. !");
tmbdiscard=xwtscroll(tmbc,tnutexxt,tmogroup);
chrfroms(0,40,tnutexxt," o open 1 to 4 small screen q quit!");
tmbdiscard=xwtscroll(tmbc,tnutexxt,tmogroup);
chrfroms(0,40,tnutexxt,"5 large screen c colormode r redraw!");
tmbdiscard=xwtscroll(tmbc,tnutexxt,tmogroup);
if(fourdirpen == 0)
{
chrfroms(0,40,tnutexxt," ; get current directory filenames !");
}
if(fourdirpen == 1)
{
chrfroms(0,40,tnutexxt," . close dir , next dirfilename !");
}
tmbdiscard=xwtscroll(tmbc,tnutexxt,tmogroup);
chrfroms(0,40,tnutexxt,"Vote against the U.S. military draft by!");
tmbdiscard=xwtscroll(tmbc,tnutexxt,tmogroup);
chrfroms(0,40,tnutexxt,"Voting for an All Volunteer jury system!");
tmbdiscard=xwtscroll(tmbc,tnutexxt,tmogroup);
chrfroms(0,40,tnutexxt,"xwview03.c 05/07/06 by Eric Matteson !");
tmbdiscard=xwtscroll(tmbc,tnutexxt,tmogroup);
// -------------------------------------------------------------
tmbc[54]=1;
tmbc[51]=0;
tmbc[5]=1;
tmbc[4]=1;
tmbc[3]=tmbc[3]+tmbc[21];
tmbc[21]=14;
tmhrrem=1;
while(tmhrrem > 0)
{
tmhrrem=xwtscroll(tmbc,tnutexxt,tmogroup);
if(tmhrrem > 0)
{
printstr(tmolinne,(tmbc[0]),1000,tbf,40,tnutexxt);
tmbdiscard=onebumpw(tjple,tmbc,tmolinne,tbjg);
tmbc[3]=tmbc[3]+tmbc[21];
}
}
// -------------------------------------
}
// depth = 1
return tmbresult;
}
// end of twobumpw
int twobuz(char** zpl,int zbc[],char zrc[],char zb[],
char zf[],char zn[])
{
// zpl[] is target plane
// zbc[] is bitmap context
// zrc[] is record
// zb[] is big line of 24 bit pixels
// zf[] is font storage
// zn[] is filename
int tbzsel,tbzctr,tbzfnbase,tbzfnlen,tbztzes;
tbztzes=0;
tbzsel = zbc[35];
if((tbzsel >= 1)&&(tbzsel <= 5))
{
if(tbzsel == 5)
{
zbc[0]=divmodi(((zbc[7])-31),32,0)*32;
zbc[1]=zbc[29]-28;
zbc[2]=0;
zbc[3]=0;
zbc[34]=160;
}
if(tbzsel == 1)
{
zbc[0] = divmodi(((zbc[7])-31),32,0)*16;
zbc[1] = divmodi(((zbc[29])-28),2,0);
zbc[2] = 0;
zbc[3] = 0;
zbc[34] = 0;
}
if(tbzsel == 2)
{
zbc[0] = divmodi(((zbc[7])-31),32,0)*16;
zbc[1] = divmodi(((zbc[29])-28),2,0);
zbc[2] = zbc[0];
zbc[3] = 0;
zbc[34] = 40;
}
if(tbzsel == 3)
{
zbc[0] = divmodi(((zbc[7])-31),32,0)*16;
zbc[1] = divmodi(((zbc[29])-28),2,0);
zbc[2] = 0;
zbc[3] = zbc[1];
zbc[34] = 80;
}
if(tbzsel == 4)
{
zbc[0] = divmodi(((zbc[7])-31),32,0)*16;
zbc[1] = divmodi(((zbc[29])-28),2,0);
zbc[2] = zbc[0];
zbc[3] = zbc[1];
zbc[34] = 120;
}
zbc[5] = 1-1;
tbzfnbase = zbc[34];
tbzfnlen = ombrlen(tbzfnbase,40,zn);
zbc[24]=0;
if(tbzfnlen < 1)
{
tbzctr=0;
while(tbzctr < 40)
{
zrc[tbzctr] = '\40';
tbzctr=tbzctr+1;
}
}
if(tbzfnlen >= 1)
{
zbc[4]=0;
zbc[5]=0;
tbzctr=0;
while(tbzctr < 40)
{
zrc[tbzctr] = zn[tbzctr + tbzfnbase];
tbzctr = tbzctr + 1;
}
zbc[24] = zbc[tbzsel + 40];
}
tbztzes = twobumpw(zpl,zbc,zrc,zb,zf);
}
return tbztzes;
}
// end of twobuz
int fourbump(char** aap,int ac[],char ar[],char ab[],
char af[],char an[])
{
int fourbres,fourbctr,fourbase,fourkend,fourrd;
int fourbcmp,fourjj,zandtogf;
// ac[7] is planewidth ac[29] is planehgt
// ac[30] is Dagrajumpnow ac[31] is Freddyisnext
// 11829 initialize
// 11830 keys to filename
// 11831 choose screen
// 11832 is quit
fourbres=0;
while(fourbres < 4)
{
fourbcmp=divmodi(((ac[7])*(ac[29])),8,0)+1;
fourbctr=0;
while(fourbctr < fourbcmp)
{
// *** ERROR *** attempting to set indirect indirect
// pointers beyond dimension of array
// aap[fourbctr]='\0';
*(aap[fourbres]+fourbctr)='\0';
fourbctr=fourbctr+1;
}
fourbres=fourbres+1;
}
// --------------------------------------------------
fourbres=0;
fourrd=1;
fourbase=160;
if((ac[28]) == 4)fourbase=120;
if((ac[28]) == 3)fourbase=80;
if((ac[28]) == 2)fourbase=40;
// depth = 1
if((ac[28]) == 1)fourbase=0;
if((ac[30]) == 11829)
{
// fourbctr=41;
// while(fourbctr < 46)
// {
// ac[fourbctr]=0;
// depth = 3
// fourbctr=fourbctr+1;
// }
fonthfill(af);
ac[34]=160;
ac[28]=5;
ac[57]=ac[28];
ac[6]=1;
// depth = 2
ac[31]=11831;
ac[56]=0;
ac[26]=53;
ac[30]=11831;
ac[27]=131000;
fourbctr=ac[28];
}
if((ac[30]) == 11830)
{
// need ac[25] == 0
fourbctr=ac[28];
ac[34]=fourbase;
ac[35]=fourbctr;
fourkend=nzlinedone(ac,an);
fourbres=twobuz(aap,ac,ar,ab,af,an);
ac[31]=11830;
// depth = 2
if(fourkend > 0)ac[31]=11831;
if(fourkend > 0)ac[fourbctr + 40]=1;
if(fourkend > 0)ac[30]=ac[31];
}
if((ac[30]) == 11831)
{
ac[31]=11831;
fourbcmp=ac[26];
zandtogf=0;
if(fourbcmp == 82)zandtogf=1;
if(fourbcmp == 114)zandtogf=1;
if((ac[57])==(ac[28]))zandtogf=0;
if(zandtogf==1)
{
// 82 R 114 R redraw most recent
fourjj=ac[28];
if((ombrlen(fourbase,40,an)<1)&&((ac[fourjj+40])==0))
{
fourjj=0;
while(fourjj < 40)
{
zandtogf=an[(((ac[57])-1)*40)+fourjj];
an[(((ac[28])-1)*40)+fourjj] = zandtogf;
fourjj=fourjj+1;
}
fourjj=ac[28];
if(ombrlen(fourbase,40,an) > 4)ac[fourjj + 40]=1;
}
}
ac[57]=ac[28];
if((fourbcmp == 78)||(fourbcmp == 110))
{
// N 78 110 n new
fourjj=ac[28];
ac[fourjj + 40]=0;
fourjj=0;
while(fourjj < 40)
{
an[fourbase + fourjj]='\40';
fourjj=fourjj+1;
}
}
if((fourbcmp == 79)||(fourbcmp == 111))
{
// O 79 111 o open
fourbctr=ac[28];
fourrd=0;
ac[25]=0;
chrfroms(fourbase,40,an,"Enter Filename !");
// depth = 3
ac[fourbctr + 40]=0;
ac[31]=11830;
}
if((fourbcmp == 59)&&(fourdirpen == 0))
{
// 59 ;
xfourdp=opendir("./");
if(xfourdp != NULL)fourdirpen=1;
}
if((fourbcmp == 46)&&(fourdirpen == 1))
{
// 46 .
(void) closedir(xfourdp);
fourdirpen=0;
}
if((fourbcmp == 44)&&(fourdirpen == 1))
{
// 44 ,
seadirallow=0;
while(seadirallow < 40)
{
// depth = 4
can[((ac[28]-1)*40)+seadirallow]='\40';
seadirallow=seadirallow+1;
}
seadirallow=ac[28];
ac[seadirallow + 40]=0;
seadirallow=1;
while(seadirallow > 0)
{
xfourep=readdir(xfourdp);
if(xfourep == NULL)
{
fourdirpen=0;
(void) closedir(xfourdp);
// depth = 5
seadirallow=0;
}
if(seadirallow > 0)
{
if(nzextcmp((char*)(*xfourep).d_name,"2.BMP.bmp")!=0)
{
seadirallow=0;
}
}
}
// depth = 3
if(fourdirpen == 1)
{
seadirlimit=ombrlen(0,0,(*xfourep).d_name);
seadirallow=0;
if(seadirlimit < 40)
{
ac[40+(ac[28])]=1;
while(seadirallow < seadirlimit)
{
sdirch = *((*xfourep).d_name + seadirallow);
can[((ac[28]-1)*40)+seadirallow] = sdirch;
// depth = 6
seadirallow=seadirallow+1;
}
}
}
}
// depth = 2
if((fourbcmp == 81)||(fourbcmp == 113))
{
// 81 Q 113 q quit
if(fourdirpen == 1)
{
(void) closedir(xfourdp);
}
fourrd=0;
ac[31]=11832;
}
if((fourbcmp == 67)||(fourbcmp == 99))
{
// 67 C 99 c color mode
ac[6]=ac[6]+1;
if((ac[6]) > 4)ac[6]=0;
}
if((fourbcmp >= 49)&&(fourbcmp <= 53))
{
fourbctr=ac[26] - 48;
ac[28]=fourbctr;
}
// N 78 110 n new
if((fourbcmp == 78)||(fourbcmp == 111))
{
fourbctr=ac[26]-48;
ac[40+fourbctr]=0;
}
if(((ac[28]) >= 1)&&((ac[28]) <= 4))
{
fourbctr = 1;
while(fourbctr <= 4)
{
if((fourbctr == (ac[28]))||(fourrd > 0))
{
// depth = 5
ac[35]=fourbctr;
if(fourbctr == 1)ac[34]=0;
if(fourbctr == 2)ac[34]=40;
if(fourbctr == 3)ac[34]=80;
if(fourbctr == 4)ac[34]=120;
fourbres=twobuz(aap,ac,ar,ab,af,an);
}
fourbctr=fourbctr+1;
}
}
// depth = 2
if((ac[28]) == 5)
{
ac[35]=5;
ac[34]=160;
fourbres=twobuz(aap,ac,ar,ab,af,an);
}
}
// depth = 1
ac[30]=ac[31];
return fourbres;
}
// end of fourbump;
int nzextcmp(char* uncfn,char* ecright)
{
int nzrxtcmp,nzeoctr,nzeictr,nzeolim;
int nzebase,uurxtcmp,nzeterm;
nzrxtcmp=0;
nzebase=ombrlen(0,0,uncfn)-4;
nzeolim=ixreada(1,1,16,0,ecright);
if(nzebase >= 1)
{
nzeoctr=0;
while(nzeoctr < nzeolim)
{
// depth=3
nzeictr=0;
uurxtcmp=0;
while(nzeictr < 4)
{
nzeterm=onexwdig(((nzeoctr*4)+1+nzeictr),ecright);
if(onexwdig((nzebase+nzeictr),uncfn) != nzeterm)
{
uurxtcmp=1;
// depth = 5
}
nzeictr=nzeictr+1;
}
if(uurxtcmp == 0)nzrxtcmp=1;
nzeoctr=nzeoctr+1;
}
}
return nzrxtcmp;
}
char twofromten(int rawenine)
{
int eightofi[8];
int rtftctr,rfftres,rawentop,rfftrem;
char tfftres;
rtftctr=8;
rawentop=rawenine;
while(rtftctr > 0)
{
rfftrem=divmodi(rawentop,10,1);
rawentop=divmodi(rawentop,10,0);
eightofi[rtftctr-1]=rfftrem;
rtftctr=rtftctr-1;
}
rtftctr=0;
rfftres=0;
while(rtftctr < 8)
{
rfftres=rfftres*2;
rfftres=rfftres+eightofi[rtftctr];
rtftctr=rtftctr+1;
}
if(rfftres > 127)rfftres=rfftres-256;
tfftres = (char)rfftres;
return tfftres;
}
// add font below this line ----------2012
// 4096 = 64 * 64 to 256 * 16
// 64 = 16 * 4
// outer loop 0 to 63 (*64)
// medium loop (medium * 4) + 0 to 3
// medium is 0 to 15
// medium result (0 to 3)*16 + (medium*1)
// inner loop 0 to 3
// -----------------------------------------------
// 20000000-,200000000,20000000-,200000000,
// 201000100,201111100,201111100,201111100,
// 201000100,201111100,201111100,201111100,
// 201000100,201100000,201100000,200001100,
// 201000100,201100000,201100000,200001100,
// 201000100,201100000,201100000,200001100,
// 201000100,201100000,201111100,200001100,
// 20xxxxx0-,20xxxxx0-,-0xxxxx0-,20xxxxx0-,
// 201111100,201111100,201111100,200001100,
// 201111100,201111100,201100100,200001100,
// 200001100,200001100,201100100,200001100,
// 200001100,200001100,201100100,200001100,
// 200001100,201111100,201111100,200001100,
// 200001100,201111100,201111100,200001100,
// 200000000,200000000,200000000,200000000,
// 200000000,200000000,200000000,200000000,
// ,2 , ,2 ,
// Open Source Font Copyright C 2005 by Eric Matteson
// Permission is granted to use this font in
// open source applications programs written for Linux.
// begin open source font ,2 , ,2,
// ); ,2 , ,2,
// -x76543210-x76543210-x76543210-x76543210-
const int ifhfg[]={ 200000000,200000000,
200000000,200000000,
200000000,200000000,200000000,200000000,
// -x76543210-x76543210-x76543210-x76543210.
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200011000,200100100,200100100,
200000000,200011000,200100100,200100100,
200000000,200011000,200110100,201111100,
200000000,200011000,200110100,201111100,
200000000,200011000,200000000,200100100,
200000000,200011000,200000000,200100100,
200000000,200011000,200000000,200100100,
200000000,200011000,200000000,200100100,
200000000,200000000,200000000,201111100,
200000000,200000000,200000000,201111100,
200000000,200011000,200000000,200100100,
200000000,200011000,200000000,200100100,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200111100,201110100,200011100,200011000,
200111100,201110100,200011100,200011000,
201001000,201010100,200010100,200001000,
201001000,201010100,200010100,200001000,
201001000,201111100,200111100,200000000,
201001000,201111100,200111100,200000000,
201111100,200101000,201100100,200000000,
201111100,200101000,201100100,200000000,
200001000,201001100,201100100,200000000,
200001100,201001100,201100100,200000000,
201111100,200000000,201111100,200000000,
201111100,200000000,201111100,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200001100,200110000,200010000,200011000,
200001100,200110000,200010000,200011000,
200011000,200011000,201010100,200011000,
200011000,200011000,201010100,200011000,
200110000,200001100,200111000,201111100,
200110000,200001100,200111000,201111100,
200110000,200001100,200111000,201111100,
200110000,200001100,200111000,201111100,
200011000,200011000,201010100,200011000,
200011000,200011000,201010100,200011000,
200001100,200110000,200010000,200011000,
200001100,200110000,200010000,200011000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200001100,
200000000,200000000,200000000,200001100,
200000000,200000000,200000000,200001100,
200000000,200000000,200000000,200001100,
200000000,200111100,200000000,200011000,
200000000,200111100,200000000,200011000,
200000000,200111100,200000000,200011000,
200000000,200111100,200000000,200011000,
200001100,200000000,200000000,200110000,
200001100,200000000,200000000,200110000,
200000100,200000000,200001100,201100000,
200000100,200000000,200001100,201100000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
201111100,200001100,201111100,201111100,
201111100,200001100,201111100,201111100,
201000100,200001100,200001100,200001100,
201000100,200001100,200001100,200001100,
201000100,200001100,200001100,201111100,
201000100,200001100,200001100,201111100,
201000100,200001100,201111100,201111100,
201000100,200001100,201111100,201111100,
201000100,200001100,201100000,200001100,
201000100,200001100,201100000,200001100,
201111100,200001100,201111100,201111100,
201111100,200001100,201111100,201111100,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
201000100,201111100,201111100,201111100,
201000100,201111100,201111100,201111100,
201000100,201100000,201100000,200001100,
201000100,201100000,201100000,200001100,
201000100,201100000,201100000,200001100,
201000100,201100000,201111100,200001100,
201111100,201111100,201111100,200001100,
201111100,201111100,201100100,200001100,
200001100,200001100,201100100,200001100,
200001100,200001100,201100100,200001100,
200001100,201111100,201111100,200001100,
200001100,201111100,201111100,200001100,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
201111100,201111100,200000000,200000000,
201111100,201111100,200000000,200000000,
201000100,201001100,200000100,200001100,
201000100,201000100,200000100,200001100,
201000100,201000100,200000000,200000000,
201111100,201001100,200000000,200000000,
201111100,201111100,200000000,200000000,
201000100,201111100,200000000,200000000,
201000100,200001100,200000100,200000100,
201000100,200001100,200000100,200000100,
201111100,201111100,200000000,200011000,
201111100,201111100,200000000,200011000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000100,200000000,201100000,200010000,
200000100,200000000,201100000,200111000,
200011000,201111100,200011000,201100100,
200011000,201111100,200011000,201100100,
201100000,200000000,200001100,201000100,
201100000,200000000,200001100,201001000,
200011000,200000000,200011000,200010000,
200011000,200000000,200011000,200010000,
200000100,201111100,201100000,200000000,
200000100,201111100,201100000,200000000,
200000000,200000000,200000000,200010000,
200000000,200000000,200000000,200010000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
201111100,201111110,201110000,201111100,
201111100,201111100,201110000,201111100,
201000100,201000100,201001100,201100000,
201000100,201000100,201001100,201100000,
201010100,201000100,201001100,201100000,
201010100,201000100,201001100,201100000,
201010100,201111100,201110000,201100000,
201011100,201111100,201110000,201100000,
201000100,201000100,201001100,201100000,
201110100,201000100,201001100,201100000,
200000000,201000100,201110000,201111100,
200000000,201000100,201110000,201111100,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
201100000,201111100,201111100,201110000,
201100000,201111100,201111100,201110000,
201011000,201100000,201100000,201001100,
201011000,201100000,201100000,201001100,
201001100,201100000,201100000,201000000,
201001100,201100000,201100000,201000000,
201001100,201111100,201111100,201111100,
201001100,201111100,201111100,201111100,
201011000,201100000,201100000,201001100,
201011000,201100000,201100000,201001100,
201100000,201111100,201100000,201110000,
201100000,201111100,201100000,201110000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
201000100,200111100,200111100,201001100,
201000100,200111100,200111100,201001100,
201000100,200011000,200011000,201010000,
201000100,200011000,200011000,201010000,
201111100,200011000,200011000,201100000,
201111100,200011000,200011000,201100000,
201111100,200011000,200011000,201010000,
201111100,200011000,200011000,201010000,
201000100,200011000,201001100,201001100,
201000100,200011000,201001100,201001100,
201000100,200111100,201111100,200000000,
201000100,200111100,201111100,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
201000000,201111110,201000100,200011100,
201000000,201111110,201000100,200011100,
201000000,201010100,201100100,200100100,
201000000,201010100,201100100,200100100,
201000000,201010100,201100100,201000100,
201000000,201010100,201010100,201000100,
201000000,201010100,201010100,201000100,
201000000,201010100,201010100,201000100,
201000000,201000100,201001100,201001000,
201000000,201000100,201001100,201001000,
201111100,201000100,201000100,201111000,
201111100,201000100,201000100,201111000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
201111100,200011100,201111100,201111000,
201111100,200011100,201111100,201111000,
201000100,200100100,201000100,201100000,
201000100,200100100,201000100,201100000,
201000100,201000100,201111100,200110000,
201000100,201000100,201111100,200011000,
201111100,201000100,201100000,200001100,
201111100,201001000,201010000,200001100,
201100000,201011000,201010000,200000100,
201100000,201011000,201001000,200000100,
201100000,201110100,201001000,200011000,
201100000,201110100,201001000,201110000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
201111100,201000100,201000100,201010100,
201111100,201000100,201000100,201010100,
200011000,201000100,201000100,201010100,
200011000,201000100,201000100,201011100,
200011000,201000100,200101000,201001100,
200011000,201000100,200101000,201101000,
200011000,201000100,200101000,200110000,
200011000,201000100,200101000,200110000,
200011000,201000100,200010000,200100000,
200011000,201000100,200010000,200100000,
200011000,201111100,200000000,200000000,
200011000,201111100,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
201000100,201000100,201111100,201110000,
201000100,201000100,201111100,201110000,
200101000,200100100,200001000,201000000,
200101000,200100100,200001000,201000000,
200010000,200011000,200010000,201000000,
200010000,200011000,200010000,201000000,
200101000,200011000,201000000,201000000,
200101000,200011000,201000000,201000000,
201000100,200011000,201111000,201000000,
201000100,200011000,201111000,201000000,
200000000,200000000,200000000,201110000,
200000000,200000000,200000000,201110000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
201000000,200011100,200011000,200000000,
201000000,200011100,200011000,200000000,
200100000,200000100,200100100,200000000,
200100000,200000100,200100100,200000000,
200010000,200000100,201000100,200000000,
200010000,200000100,201000000,200000000,
200001000,200000100,200000000,200000000,
200001000,200000100,200000000,200000000,
200000100,200000100,200000000,200000000,
200000100,200000100,200000000,200000000,
200000100,200011100,200000000,201111100,
200000000,200011100,200000000,201111100,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
201000000,200000000,200000000,200000000,
201000000,200000000,200000000,200000000,
201100000,201111100,201000000,200000000,
201100000,201111100,201000000,200000000,
200000000,200000100,201000000,201111100,
200000000,200000100,201000000,201111100,
200000000,201111100,201111100,201100000,
200000000,201111100,201111100,201100000,
200000000,201000100,201000100,201100000,
200000000,201000100,201000100,201100000,
200000000,201111100,201111100,201111100,
200000000,201111100,201111100,201111100,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000100,201111100,201111000,201111100,
200000100,201111100,201111000,201111100,
200000100,201000100,201000000,201001000,
200000100,201000100,201000000,201001000,
201111100,201111100,201111100,201110000,
201111100,201111100,201111100,201110000,
201000100,201000000,201000000,200010000,
201000100,201000000,201000000,200010000,
201111100,201111100,201000000,200110000,
201111100,201111100,201000000,200110000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
201000000,200001000,200001000,200100100,
201000000,200001000,200001000,200100100,
201000000,200000000,200000000,200101000,
201000000,200000000,200000000,200101000,
201111100,200001000,200001000,200110000,
201111100,200001000,200001000,200110000,
201000100,200001000,200001000,200101000,
201000100,200001000,200001000,200101000,
201000100,200001000,200111000,200100100,
201000100,200001000,200111000,200100100,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,201100000,201000100,200000000,
200000000,201100000,201000100,200000000,
200010000,201010000,201100100,200111100,
200010000,201010000,201100100,200111100,
200010000,201011100,201010100,200100100,
200010000,201011100,201010100,200100100,
200010000,201010100,201001100,200100100,
200010000,201010100,201001100,200100100,
200011110,201000100,201000100,200111100,
200011110,201000100,201000100,200111100,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200111100,201111000,200000000,201110000,
200111100,201111000,200000000,201110000,
200100100,201001000,200111100,201000000,
200100100,201001000,200111100,201000000,
200011100,201110000,200100000,201111100,
200011100,201110000,200100000,201111100,
200100000,200010000,200100000,200000100,
200100000,200010000,200100000,200000100,
200100000,200011100,200100000,200011100,
200100000,200011100,200100000,200011100,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200100100,
200000000,200000000,200000000,200100100,
200010000,200100100,201000100,200010100,
200010000,200100100,201000100,200010100,
201111100,200100100,200101000,201011100,
201111100,200100100,200101000,201011100,
200010000,200100100,200010000,201010000,
200010000,200100100,200010000,201010000,
200010000,200111100,200000000,200100000,
200010000,200111100,200000000,200100000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
201000100,201000100,200111100,200011100,
201000100,201000100,200111100,200011100,
200101000,200101000,200001000,200100000,
200101000,200101000,200001000,200100000,
200010000,200010000,200001000,201100000,
200010000,200010000,200001000,201100000,
200101000,200010000,200010000,200100000,
200101000,200010000,200010000,200100000,
201000100,200010000,200111100,200011100,
201000100,200010000,200111100,200011100,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200010000,201110000,201110000,200010000,
200010000,201110000,201110000,200010000,
200010000,200001000,201010100,200101000,
200010000,200001000,201010100,200101000,
200000000,200001100,200011100,201000100,
200000000,200001100,200011100,201000100,
200010000,200001000,200000000,201000100,
200010000,200001000,200000000,201000100,
200010000,201110000,200000000,201111100,
200010000,201110000,200000000,201111100,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000};
// -x76543210-x76543210-x76543210-x76543210..
// end of font
void fonthfill(char fhf[])
{
int fholop,fhmedlop,fhilop,fhhsub,fhdsub,fhdterm;
// 4096 = 64 * 64 to 256 * 16
// 64 = 16 * 4
// outer loop 0 to 63 (*64)
// medium loop (medium * 4)+0 to 3 medium is 0 to 15
// medium result (0 to 3)*16 + (medium*1)
// inner loop 0 to 3
// --------------------------------
fholop=0;
while(fholop < 64)
{
fhmedlop=0;
while(fhmedlop < 16)
{
fhilop=0;
while(fhilop < 4)
{
fhhsub = (fholop * 64)+(fhmedlop * 4)+fhilop;
fhdsub = (fholop * 64)+(fhilop * 16)+fhmedlop;
fhdterm = ifhfg[fhhsub];
fhf[fhdsub]=twofromten(fhdterm);
fhilop=fhilop+1;
}
fhmedlop=fhmedlop+1;
}
fholop=fholop+1;
}
}
// end of void fonthfill(char fhf[]);
// This is last line of this program
// program is above this line
|
|