// This edelev20.c text editor program
// is Written in C by Eric Matteson.
// Copyright C 2009 by Eric Matteson
// Permission is granted to copy this
// source code file edelev20.c and
// to publish it on the Internet and
// to use it at least for non-profit use.
// edelev20.c is designed to run on Linux Xwindows
// gcc -L/usr/X11R6/lib -lX11 edelev20.c -o edelev20.out
// ./edelev20.out
#include<X11/Xutil.h>
#include<stdio.h>
#include<time.h>
const long isansihere = 0;
int nzdownwind;
int wchour;
int evenreq;
int wcminute;
// needs to recieve variables that were relocated from
// subroutines here
// from regkey2176
char rkeychr,rkeytype;
// from open2520
long alsel520,lval2520,yp2520,ikey;
char kelp2,keval2;
char* albase20;
// from writez2754
long openselwd,ldalb,nine2754t,ten2754t,wrl2754;
char wfn2755[226];
char *wnine2754;
// from ron52640
long opendell,ldal,lfdal;
long rcmdctr,commandgui,ij3409,chctr40;
long chreqlen,wordctra,ncrix;
char* chlevbase;
char* chsixbase;
char* xxasub;
char* lp3412;
char* xxabase;
char keytype5,keychar5,keycmd5;
char chchr40,ch3385,cncri;
char fn2641[226];
char wfn2756[226];
// end of relocated variables list
// needs regular global variables
int dagra,archkey,archtype,rahkctr,freddy,jychr;
// dagra jump now with key
// freddy is where next key goes
int vidrev = 1;
int pahdr[] = { 0102,0115,0376,0127,0,0,
0,0,0,0,076,0,0,0,050,0,0,0,
0100,02,0,0,070,01,0,0,01,0,
01,0,0,0,0,0,0300,0127,0,0,
0304,016,0,0,0304,016,0,0,0,0,
0,0,0,0,0,0,
0,0,0,0,0377,0377,0377,0 };
int prtretrace=224;
int prtdouter=31;
int prtinnerd=64;
char weda2469[] = {'\015','\012'};
// edelev20.c a single pointer
// to all fixed text strings.
char litharg[] = "000568.."
// 62 35 63 30 64 68 65 23 66 39
// 67 48 68 60 69 69 70
"000000..000008..000016..000024.."
"000031..000038..000041..000043..000045.."
"000049..000053..000056..000061..000067..000072.."
"000078..000086..000088..000093.."
"000098..000102..000109..000114..000119..000126.."
"000129..000132..000136..000141.."
// 000207 is 30th
"000207..000267..000327..000387..000447.."
"000507..000567..000627..000687..000747.."
"000807..000867..000927..000987..001047.."
"001107..001167..001227..001287..001347.."
"001407..001467.."
// 001608 is 53rd
"001527..001608..001648..001688.."
"001708..001748..001788..001818.."
"001878..001928..001982..002017.."
"002047..002115..002138.."
"002177..002215..002275..002344.."
// 002177 is 67nth
// begin actual text at
// (last numbers line number + 1) * 8
// estimated starting offset is 568
"unknown command!insertb i"
"nsert delete wc m k tof b"
"ot up down input quit pri"
"nt!replace v open save n"
"ew change find list inputc uc l"
"c gui guiy!"
"Vote for an all volunteer jury sys"
"tem for every jury trial !"
"a.sAve.as...u.Uppercase..................z.Zchangedoccheck.!"
"b.Bot............888888888888888888888888888888888888888888!"
"c.list.Commands..88888888......8888888.88.....8888.88888888!"
"d.set.bkgnD......88888888..88..88...88.88.....8888.88888888!"
"e.Exit...........88888888......88.8.88.8888.888888.8888..88!"
"f.set.upleFt.....88888888..88..88.8..8.8888.888888.88888888!"
"g.set.lowriGht...88888888..88..88.88...8888.888888.88888888!"
"h.rigHtmost......888888888888888888888888888888888888888888!"
"i.fInd...........888888888888888888888888888888888888888888!"
"l.Load...=.hex...88...88888......88......88......88.....888!"
"m.upleft.Move....88.8...888.888..88..88..88..88888888.88888!"
"n.New............88.888.888......88......88.....88888.88888!"
"o.Open...........88.8...888.8..8888..88..88..88888888.88888!"
"p.upleft.coPy....88...88888.88...88..88..88..88888888.88888!"
"q.Quit...........888888888888888888888888888888888888888888!"
"r.Return....x.Xmarginset....y.Ylinenumber..................!"
"t.Tof.......8..............................................!"
"v...........8..EVEN.IF.THERE.IS.A.WAR.NOW.VOTE.TO.ABOLISH..!"
"w...........8..THE.US.MILITARY.DRAFT.AND.ITS.REGISTRATION..!"
"............8...by.voting.for.an.all.volunteer.jury.system.!"
"................in.every.court.in.your.state.and.U.S.......!"
".edelev20.c..text.editor.for.Linux....of.November.21.2009..!"
"HOME GETS MENU ANTI-DRAFT EDELEV20.C "
" xxx yyyyyyy vv lllllll HOME GETS MENU!"
"Enter filename to be saved by save as!"
"Enter filename to be saved by exit! y!"
"Save file first Y.!"
// save as 53 exit 54
// 55 exit save question
// 56 bkgnd 57 open
// 58 load 59 find
"enter one character for background!"
"Enter filename to be opened for reading!"
"Enter filename to be loaded!"
"Enter leftmost porti"
"on of line to find except blanks!"
"Enter line number between 1 an"
"d last line!"
"Vote against the U.S. mil"
"itary draft even in wartime.!"
"Enter line to be inserted before!"
"Enter line to be inserted!"
"input mode. Press enter twice i"
"n a row (zero length line) when done!"
"is to be replaced with!"
"is zero length line correct ? (y or n)!"
"change leftmost portion except blanks!"
// 67 change
"press just enter to continue o"
"r h enter to halt list!"
"inputc mode. Press enter twice in a row (zer"
"o length line) when done!";
// edelev20.c
// Eric Matteson.
// 41A0 41F8
char grucursor[32];
const char rrucursor[] = { '\0','\174',
'\01','\170','\03','\160','\07','\140','\17',
'\100','\37','\0','\76','\0','\174','\0',
// -----
'\0','\070','\00','\060','\01','\140','\03',
'\100','\07','\00','\16','\0',
'\34','\0','\70','\0' };
// ---
char mavrl[16];
char zavrl[]={0,-8,7,-64,0,62,1,-16,15,-128,0,124,
3,-32,0,31};
// ----
const int tnyfopoz[]={0,92,0,3,0,98,1,6,1,95,1,1,
1,96,2,4,2,99,3,7,3,94,3,2,3,97,4,5,4,92,4,0};
const int tnyftcur[]={0,-128,0,4,1,32,1,1,2,8,
3,64,3,2,4,16};
char* adn=NULL;
const int tzone=8;
const int xsv=62;
const int xxsv=50;
int netime,zandtogm,sbmask,xwolop;
int nzfileg,fpclip;
// int edhanb,edhanw;
unsigned long swiftskip[1];
long x,y,xp,yp,tinyoar;
long prindiff,prinjill,moux,mouy;
long insel,curcommand,howmanycmd;
long alsel,ytaelon,nzerror,a80w;
long afilelen;
long ypheight,cmdheight;
long chnext,chdoc,ch,insertype;
long inspg,marginselect,alocalh;
long findbase,findlen;
long prindiffprv,uprighty,lowlefty;
long tnymouxprv,tnymouyprv;
long mouallowlocal,mouallowglobal;
long winmousea;
long yre,jysrc,tzby,jyheight;
long yyectr,jydiff;
long lowleftc,jydest;
long uprightx,lowleftx,bkgnd;
long helpfindtest,jxwidth;
long xe,jxdiff,readfnskipzur;
long lowleftb,uppercase,comeofdelay;
long afilelenprv,moubutprv,mouctr;
long jynext,yjn,jyctr,tzrx,xxjctr;
long prevfound;
long rep0;
long evdk;
long eofi;
long fp04;
long fl06;
long hv0c;
long pose;
char one2;
char* elevrd;
char* ptrcmdline;
// 193
// the next two numbers should be equivelant
// or use define
#define zoar 27323936
char aptivus[zoar];
// ------
#define hiskwid 16
char hiskrba[hiskwid];
// ------
char pat[240248];
char ft[65536];
char fonthold[32768];
char ceescreen[6824];
int jxwkeyhold[512];
int edraw26[309];
char edflipbay[256];
int ab,nzshift,fp14,wbe2469;
long tin611;
typedef struct
{
int neutx;
int neuty;
}powercur;
typedef struct
{
long wedx05;
long wecx06;
long ansictrnz19;
char acsl40[15];
}cwst401;
int sf,scrdepth,scnum,prtime,timefive,queronter;
int iswid72,xwxwid,xwyhgt,rjkey,ncurdey;
int ckey,vgasave;
// long* ttr939;
char* sqlef965;
char* sqrgt965;
int* lpxgss;
powercur hottyx;
powercur mouuyx;
powercur mprvyx;
cwst401 wsg401;
FILE* genhanr;
FILE* genhanw;
Display* lpdis;
Window ewixtwo;
XSizeHints* esizehints;
XWMHints* ewmhints;
XClassHint* eclasshints;
GC edgc;
XEvent edreport;
XEvent chrisevent;
Pixmap edmap;
char crz0160[16383];
// in crz0160 (a80w)*(subscript-1) points to
// 1 mainline 2 secondline
// 3 delline 4 insertline
// 5 prnline 6 findline
// 7 tempfilename 8 permfilename
// 9 homegetsmenuline
// 10 not used in c++
// 11 command line input line.
// 12-55 is 44 lines of upside down data.
// need reedstruct rs in main.
// initialization needed for
// fileposlh04 repeat00 handlevalue0c
// maxreclen1c
// list subroutines 56 * 224 -> 12544
char smallxor(char sxrl,char sxrr);
void reedline();
void readone();
void arbcopy(char*,char*);
void kfcopy(char*,char*);
// list subroutines
char* alselset(char*,long);
// void conkey(char*,char*);
void aptwrite(char*,long);
void aptread(char*,long);
void numberprn(char*,long,long,long,long);
void zahexline(char* zbbelevt,int zathiswid,
int zaelevw);
void zahexgroup(char* zaz55ptr,int gclinesel,
int gcelevwid);
void rprline(long,long,char*,long,long);
void cvgcline(char*,long,long,long);
void chrvgapage(char*,long);
void clearline(char*);
void aptdelete();
void aptinsert(char*);
void lalocal12(char*);
void laput12(char*);
long clenval(char*);
// command line section
long cmdlen(char*);
void cmdhmcur();
void kfclev(char*);
void aptlocloc(char*,char*,long);
void commandprn();
// void commandkey();
void deletemany(long);
void fn1113();
// command line section
void ikx1864(char*,long,long);
void iek2000(char*,long);
void gek2040(char*,long);
void dkx2050(char*,long);
void regkey2176();
void cls2330();
void clralocal2346();
void kfcdark(long,char*);
void kfcl(long,char*);
void kfc2398();
long posdigit(char,char*);
long numberget(char*,long,long,long);
char* litrlc(char*,long);
void read2426(char*,long);
void llpriz(char*,long);
void lpriz();
void write2470();
void print3250(char*,int,FILE*);
void open2520(char*,long);
void new2608();
char sixcase(char);
void writez2754(char*);
long find2822(char*,long,long);
void john2880(char*,long,long,long);
void john2938(char*);
void ron52640(char*,char);
// end list subroutines edelev02.cpp
void cwr401(cwst401* s401);
long ansrdigit(char*,char*);
long ansrinta(char*,long,long,long);
int sockeyline(int,int,int*,char*);
void chrfroms(int chfstart,int chfsize,
char xvclist[],const char* xvslist);
// int gagetch(int nzwait);
int onexwchr(int xwcpos,char xwclist[]);
int onexwdig(int xwdpos,char xwdlist[]);
int ixreada(int iarpos,int iarwid,int iarbase,
int nziarnext,char iarlist[]);
int redcst(int llrs,int llrw,int llrbase,
const char* llccs);
void ilinemake(int* iixt,char* xxdd);
void iktmany(int* imxt);
int iidoskey(int kkll,int kshiftb,int ixkeyhold[],
const char* klinuxcm);
void fi(char* ftargt,int cfash,int cpar,
int iildata);
void fospread(int fsub458,char fdat456);
void fjload();
int divmodi(int jnumer,int jdenom,int nzjrem);
long divlodl(long lnumer,long ldenom,
int nzsrem);
void fslone(int* fsld,long fslterm);
char fonone(long fnlterm);
void el(int aab,int au,long t1,long t2,
long t3,long t4);
void tfload();
void draw1712(int x1712,int y1712,
int cmmx1712,char c1712);
void draw80(int y80,int xc80,int xm80);
void draw2080(int cpx2080,int cpy2080,
int mwx2080,int mwy2080);
void draw2083(powercur* yottx,
powercur* wmttx);
void powscroll(char* sow2080);
int timepart(int srawtime,int subtzh,char* toadwhi);
void powdraw(powercur* rottyx,
char* cow2080,char net80);
void powcline(char* owcrec,int iwclen);
int backuc(int zub,int zid,char* zcr);
char acrevbits(char* acrbtab,char* acrbse,
int acrbsi,int acrbzn);
void powposition(powercur* pcuu,
int ppcx,int ppcy);
void drawr456(int txx,int tyy,char chc,
int txcm,int nzbotl);
void getgc(Window wigc,GC* wrgc,int zbnzw);
Window makexw(XSizeHints* sizehints,
XWMHints* wmhints,XClassHint* classhints);
char smallxor(char sxrl,char sxrr)
{
int ixrl,ixrr,ixra,ixro,ixrn,ixoo;
char cxot;
ixrl=(int)sxrl;
ixrr=(int)sxrr;
if(ixrl < 0)ixrl=ixrl+256;
if(ixrr < 0)ixrr=ixrr+256;
ixra = ixrl & ixrr;
ixro = ixrl | ixrr;
ixrn = 255 - ixra;
ixoo = ixrn & ixro;
if(ixoo > 127)ixoo=ixoo-256;
cxot=(char)ixoo;
return cxot;
}
int sockeyline(int dagval,int ankey,
int* anthroctr,char* anthline)
{
int sagwood,socx,tankey;
char* alkwood;
tankey = ankey & 255;
sagwood=dagval;
alkwood=alselset(anthline,11);
if(((sagwood&1)==0)&&(sagwood>=26518)&&(sagwood<=28959))
{
if(*anthroctr == 0)
{
clearline(alkwood);
}
if((*anthroctr<a80w)&&(tankey>31)&&(tankey<127))
{
*(alkwood + (*anthroctr))=(char)tankey;
(*anthroctr)=(*anthroctr)+1;
}
if(((*anthroctr)>0)&&(ankey==8))
{
if((*anthroctr) < a80w)
{
*(alkwood + (*anthroctr))=(char)32;
}
(*anthroctr)=(*anthroctr)-1;
*(alkwood + (*anthroctr))=(char)32;
}
if((*anthroctr)>=a80w)sagwood=dagval+1;
if(ankey==13)sagwood=dagval+1;
if(ankey==10)sagwood=dagval+1;
if(ankey==27)sagwood=dagval+1;
// insert print line here if
// not present near line 00351
socx=x;
x=(*anthroctr)+1;
cvgcline(anthline,11,(ypheight+1),1);
x=socx;
}
return sagwood;
}
long ansrdigit(char* ansa,char* ansl32)
{
long ansctr,ansvotal;
ansctr=0;
ansvotal=1024;
while(ansctr < 32)
{
if(*ansa == *(ansl32+ansctr))ansvotal=ansctr;
ansctr=ansctr+1;
}
if((ansvotal>15)&&(ansvotal<33))
{
ansvotal = ansvotal - 16;
}
return ansvotal;
}
long ansrinta(char* ansb,long anstar,
long answid,long ansbase)
{
long anbctr,anboff,anbchk,anbint;
anbctr=0;
anbint=0;
anbchk=1024;
while((anbctr<answid)&&(anbchk==1024))
{
anboff=anbctr+anstar-1;
anbctr=anbctr+1;
anbchk=ansrdigit((ansb+anboff),
"0123456789ABCDEF0123456789abcdef!!!!");
}
anbctr=anbctr-1;
anbchk = 0;
while((anbctr<answid)&&(anbchk<16))
{
anboff=anbctr+anstar-1;
anbctr=anbctr+1;
anbchk=ansrdigit((ansb+anboff),
"0123456789ABCDEF0123456789abcdef!!!!");
if(anbchk < 16)
{
anbint=anbint*ansbase;
anbint=anbint+anbchk;
}
}
return anbint;
}
void cwr401(cwst401* s401)
{
int x401,y401,len401,c401;
char* cptr401;
if((*s401).ansictrnz19==0)
{
cptr401 = (char*)((*s401).wedx05);
len401 = (*s401).wecx06;
if(*cptr401 != '\33')
{
powcline(cptr401,len401);
}
}
if(((*s401).ansictrnz19>0)&&((*s401).ansictrnz19<16))
{
cptr401=(char*)((*s401).wedx05);
(*s401).acsl40[(*s401).ansictrnz19]=(*cptr401);
(*s401).ansictrnz19=(*s401).ansictrnz19+1;
c401=((int)(*cptr401))&255;
if(c401 == (int)'H')
{
(*s401).ansictrnz19=0;
y401=ansrinta((*s401).acsl40,2,3,10);
x401=ansrinta((*s401).acsl40,5,4,10);
powposition(&hottyx,x401,y401);
}
if(c401 == (int)'m')
{
(*s401).ansictrnz19=0;
y401=ansrinta((*s401).acsl40,2,3,10);
x401=ansrinta((*s401).acsl40,5,4,10);
}
}
if((*s401).ansictrnz19 == 0)
{
cptr401=(char*)((*s401).wedx05);
if(*cptr401 == '\33')
{
(*s401).ansictrnz19 = 1;
}
}
}
// bottom of cwr401
void reedline()
{
long ctrd04;
long ctra06;
long ctrzz;
char bund;
char rund;
ctrd04=0;
ctra06=0;
ctrzz=0;
reedloop: if(ctra06 < a80w)goto chkrep;
goto afterloop;
chkrep: if(rep0 != 0)goto crepeat;
readone();
crepeat: bund=one2;
rep0 = 0;
cmpxc: rund = bund;
if(bund == '\314') goto cmpxa;
if(bund >= '\040') goto yreedu;
rund = '\040';
if(bund == '\015') goto cmpxd;
if(bund == '\000') goto cmpxd;
if(bund == '\012') goto cmpxa;
if(bund == '\032') goto cmpxa;
// 015.001101.0d 032.011010.1a
// 012.001010.0a 314.11001100.cc
// 040.100000.20 176.1111110.7e
*(elevrd + ctra06) = rund;
ctra06 = ctra06 + 1;
if(hv0c < 5) goto chkrev;
xreedj: goto reedloop;
chkrev: if(bund != '\10') goto xreedj;
ctra06=ctra06-1;
if (ctra06 == 0) goto xreedj;
ctra06=ctra06-1;
goto xreedj;
yreedu: *(elevrd + ctra06) = rund;
ctra06=ctra06+1;
goto reedloop;
cmpxd: goto afterlined;
cmpxa: goto afterlinea;
afterlined: goto afterlinea;
aftquit: goto blanright;
afterlinea: if(bund == '\012') goto aftquit;
if(bund == '\032') goto aftquit;
if(bund == '\314') goto aftquit;
dfirst: if(hv0c >= 5) goto dseek;
if((evdk % 2) == 0) goto dseek;
goto aftquit;
dseek: if(bund == '\015') goto dloopp;
if(bund == '\000') goto dloopp;
rep0 = 4;
goto aftquit;
dloopp: if(eofi == 0) goto dloop;
goto aftquit;
dloop: readone();
bund=one2;
xtafterlinea: ctrd04=ctrd04+1;
if(ctrd04 < 4) goto atafterlinea;
if(bund == '\000') goto reefixdz;
if(bund == '\015') goto reefixdz;
goto atafterlinea;
reefixdz: goto aftquit;
atafterlinea: goto afterlinea;
blanright: ctrzz = ctra06;
blanlop: if(ctra06 >= a80w) goto rpopline;
*(elevrd + ctra06)='\040';
ctra06=ctra06+1;
goto blanlop;
rpopline: rund=rep0;
goto reedret;
afterloop: if(eofi == 0) goto alproca;
goto aftquit;
alproca: if(hv0c >=5) goto alprocb;
goto aftquit;
alprocb: readone();
bund=one2;
if(eofi == 0) goto rtafterlinea;
ctrzz=8;
rtafterlinea: goto afterlinea;
reedret: ctrzz=0;
}
void readone()
{
long rdha,rdhb,diskreclen;
char honeb;
rdha=1;
rdhb=1;
if(hv0c<5)goto noteof27;
roteof2: if(fp04 < fl06)goto rnoteof;
eofi=1;
honeb = '\40';
goto yrnoteol;
yreof: eofi=1;
yrnoteof: honeb=hiskrba[pose];
pose=pose+1;
yrnoteol: one2=honeb;
goto ybrlnc;
rnoteof: diskreclen=hiskwid;
if((fl06-fp04) > hiskwid)goto bigleftnoteof;
diskreclen=fl06-fp04;
bigleftnoteof: if(pose < hiskwid)goto xbnc;
pose=0;
noteof2: rdha=diskreclen;
if(nzfileg == 1)
{
fread(hiskrba,diskreclen,1,genhanr);
}
xbnc: fp04=fp04+1;
ylnc: if(fp04 < fl06)goto yrnoteof;
yxrlnc: goto yreof;
noteof27: honeb=(char)10;
if(nzfileg != 1)goto yrnoteol;
goto yrnoteol;
ybrlnc: rdhb=1;
}
void arbcopy(char *ardest, char *arsrc)
{
long bctr,blen;
char *irdest,*irsrc;
bctr=a80w - 1;
bclop: if (bctr < 0) goto bcbot;
irsrc=arsrc+bctr;
if ( *irsrc != '\040') goto bcbot;
bctr=bctr-1;
goto bclop;
bcbot: blen = bctr + 1;
bctr=0;
bcgop: if ( bctr < blen ) goto bcgopp;
goto bcbog;
bcgopp: irsrc=arsrc+bctr;
irdest=ardest+bctr;
*irdest = *irsrc;
bctr=bctr+1;
goto bcgop;
bcbog: irdest=ardest+bctr;
*irdest = '\0';
}
void kfcopy(char *kfdest, char *cokfsrc)
{
long legctr,leglen;
char *ifdest,*iokfsrc;
char chixpie;
leglen=78;
legctr=0;
sandwich: iokfsrc=cokfsrc+legctr;
chixpie = *iokfsrc;
if(chixpie == '!')goto piecrust;
if(chixpie == '\0')goto piecrust;
ifdest=kfdest+legctr;
*ifdest = chixpie;
legctr=legctr+1;
if (legctr < leglen) goto sandwich;
piecrust: ifdest=kfdest+legctr;
// not used to write to blank
// lines *ifdest
}
char* alselset(char* alray,long alsubscript)
{
// uses crz0160 or &crz0160[0] in
// argument list for *alray
long aldisp;
char* ptral;
aldisp=((alsubscript-1)*a80w)+0;
ptral=alray+aldisp;
return ptral;
}
void aptwrite(char* wrtlineabs,long wrsub)
// use aptwrite(alselset(crz0160,locallinenumber),
// ytaelon)
{
long wrdisp,wlopct;
if ((wrsub < tinyoar) && (1 <= wrsub))
{
wrdisp = a80w*(wrsub-1);
wlopct=0;
while (wlopct < a80w)
{
aptivus[wrdisp+wlopct]=(*(wrtlineabs+wlopct));
wlopct=wlopct+1;
}
wlopct=0;
if(uppercase == 97)
{
while(wlopct < a80w)
{
aptivus[wrdisp+wlopct]=sixcase(*(wrtlineabs+wlopct));
wlopct=wlopct+1;
}
}
}
if((wrsub>=tinyoar)||(1>wrsub))nzerror=1;
}
void aptread(char* rddlineabs,long rddsub)
{
long rrdisp,rrlopct;
rrdisp=a80w*(rddsub-1);
rrlopct=0;
if(rddsub<1)goto aptrrblank;
if(rddsub>afilelen)goto aptrrblank;
if(rddsub>=tinyoar)goto aptrrblank;
if(uppercase == 97)goto breadok;
areadok: while(rrlopct < a80w)
{
*(rddlineabs+rrlopct)=aptivus[rrdisp+rrlopct];
rrlopct=rrlopct+1;
}
goto aptreadbot;
breadok: while(rrlopct < a80w)
{
*(rddlineabs+rrlopct)=sixcase(aptivus[rrdisp+rrlopct]);
rrlopct=rrlopct+1;
}
goto aptreadbot;
aptrrblank: if(rrlopct>=a80w)goto aptreadbot;
*(rddlineabs+rrlopct) = '\40' ;
rrlopct=rrlopct+1;
goto aptrrblank;
aptreadbot: rrlopct=0;
}
void numberprn(char* stnuwa,long startsu,
long width,long basew,long nuhl)
{
// use alselset(&crz0160[0],
// linenumber)
// for stnuwa when to a numbered line.
long ctr,numer,nufrac,nurem,nuprod;
numer=nuhl;
ctr=width-1;
nuwlop: if(ctr<0)goto nuwbot;
nufrac=numer/basew;
goto nuwtwo;
nuwshrink: nufrac=nufrac-1;
nuwtwo: nuprod=basew*nufrac;
nurem=numer-nuprod;
if(nurem<0)goto nuwshrink;
numer = nufrac;
if(nurem > 9)
{
nurem = nurem + 7;
}
*(stnuwa+((startsu-1)+ctr))=nurem+'\60';
ctr=ctr-1;
goto nuwlop;
nuwbot: ctr=0;
}
void zahexline(char* zbbelevt,int zathiswid,
int zaelevw)
{
int zatwctr,zatwbase,zatgterm;
long zatlterm;
zatwctr=0;
while(zatwctr < zaelevw)
{
*(zbbelevt + zatwctr) = '\40';
zatwctr=zatwctr+1;
}
zatwctr=0;
zatwbase=5;
*(zbbelevt + zatwbase) = 'D';
*(zbbelevt + (zatwbase + 1)) = 'B';
zatwbase=zatwbase+4;
*(zbbelevt + 61) = '\073';
while(zatwctr < zathiswid)
{
*(zbbelevt + (zatwbase + 3)) = 'H';
*(zbbelevt + (zatwbase + 4)) = ',';
readone();
zatlterm = (long)one2;
zatgterm = (int)zatlterm;
if(zatgterm<0)zatgterm=zatgterm+256;
zatlterm = (long)zatgterm;
numberprn(zbbelevt,(long)(zatwbase+1),(long)3,
(long)16,zatlterm);
zatwbase=zatwbase+6;
*(zbbelevt + (63 + zatwctr)) = '.';
if((zatgterm > 31)&&(zatgterm < 127))
{
*(zbbelevt+(63+zatwctr))=(char)zatgterm;
}
zatwctr=zatwctr+1;
}
fp14=fp14+zathiswid;
}
void zahexgroup(char* zaz55ptr,
int gclinesel,int gcelevwid)
{
int zahgwid,zahgallow;
char* zaz56ptr;
zaz56ptr=alselset(zaz55ptr,gclinesel);
eofi=0;
fp04=0;
rep0=0;
one2=0;
hv0c=6;
fp14=0;
zahgallow = 1;
if(gcelevwid < 73)zahgallow=0;
while(zahgallow > 0)
{
zahgwid = fl06 - fp14;
if(zahgwid > 8)zahgwid = 8;
zahexline(zaz56ptr,zahgwid,gcelevwid);
if(zahgwid > 0)
{
aptinsert(zaz56ptr);
}
if((fl06-fp14)<=0)zahgallow=0;
}
x=1;
}
// esc [ 88;888H is cursor position
// esc [ 88;88;8m is color setting
void rprline(long z80w,long lily,
char* ptrtocharline,long curpos,long rpc)
{
// lily is tiny y position on screen
long rprsub;
long rprctr;
long rprlencmp;
char* ptrelem;
char rpray[58];
char rprelem;
rprctr=0;
ptrelem = &rprelem;
// rprlencmp=clenval(ptrtocharline)+5;
rprlencmp = a80w - 4;
rpray[0] = '\33';
rpray[1] = '[';
numberprn(rpray,3,2,10,lily);
rpray[4] = ';';
numberprn(rpray,6,3,10,1);
rpray[8] = 'H';
rpray[9]=rpray[0];
rpray[10]=rpray[1];
numberprn(rpray,12,2,10,33);
rpray[13]=rpray[4];
numberprn(rpray,15,2,10,44);
rpray[16]=rpray[4];
numberprn(rpray,18,1,10,0);
rpray[18] = 'm';
rpray[19] = '!';
rprone: rprelem=rpray[rprctr];
rprctr=rprctr+1;
if(rprelem == '!')goto rprtwo;
wsg401.wedx05=(long)ptrelem;
wsg401.wecx06=1;
cwr401(&wsg401);
goto rprone;
rprtwo: rprsub=0;
rprthree: rprelem = *(ptrtocharline+rprsub);
rprsub=rprsub+1;
if(lily < (ypheight+1))goto rprfour;
rprfour: wsg401.wecx06=1;
wsg401.wedx05=(long)ptrelem;
wsg401.wecx06=1;
cwr401(&wsg401);
if(rprsub<z80w)goto rprthree;
rprfive: rprctr = 21;
rpray[21]=rpray[0];
rpray[22]=rpray[1];
numberprn(rpray,24,2,10,lily);
rpray[25]=rpray[4];
numberprn(rpray,27,3,10,curpos);
rpray[29]=rpray[8];
rpray[30]=rpray[0];
rpray[31]=rpray[1];
numberprn(rpray,33,2,10,33);
rpray[34]=rpray[4];
numberprn(rpray,36,2,10,rpc);
rpray[37]=rpray[4];
numberprn(rpray,39,1,10,0);
rpray[39] = 'm';
rpray[40] = '!';
if(curpos < 1)goto rprnine;
rprsix: rprelem=rpray[rprctr];
rprctr=rprctr+1;
if(rprelem == '!')goto rprseven;
wsg401.wedx05=(long)ptrelem;
wsg401.wecx06=1;
cwr401(&wsg401);
goto rprsix;
rprseven: rprelem=(*(ptrtocharline+(curpos-1)));
wsg401.wedx05=(long)ptrelem;
wsg401.wecx06=1;
cwr401(&wsg401);
rpray[41]=rpray[0];
rpray[42]=rpray[1];
numberprn(rpray,44,2,10,lily);
rpray[45]=rpray[4];
numberprn(rpray,47,3,10,curpos);
rpray[49]=rpray[8];
rpray[50]=rpray[19];
rprctr=41;
rpreight: rprelem=rpray[rprctr];
rprctr=rprctr+1;
if(rprelem == '!')goto rprnine;
wsg401.wedx05=(long)ptrelem;
wsg401.wecx06=1;
cwr401(&wsg401);
goto rpreight;
rprnine: rprctr=0;
}
void cvgcline(char* cvgcptr,long sslsel,
long spos,long howmany)
{
// sslsel is 5 for aptivus array read
// with aptread
// sslsel <> 5 for local read of crz0160
// spos is screen vertical position
// when sslsel = 5 additional checking is
// done on howmany = {0,1,2,>2}
// howmany={0 align prindiff only,
// 1 print y& only,2 print even if <>y&
// howmany > 2 nocursors
// temp ypplh=prindiff32+spos
long moucursorpos;
long mcp;
long shift;
long z80widthx;
long yzz;
long xzz;
long ypplh;
long concolor;
moucursorpos=0;
mcp=0;
shift=spos;
concolor=0;
if(sslsel != 5)goto cvgnonfiv;
cvgcsd: if(prindiff < 0)prindiff=0;
cvgcse: prinjill=y-prindiff;
if(ypheight<prinjill)prindiff=y-ypheight;
zwr1784: if(prinjill<1)prindiff=y-1;
zwr1786: ypplh=prindiff+spos;
if(howmany == 0)goto cvgcquit;
cvgcyone: if(y != ypplh)goto cvgcnotya;
if(howmany > 2)goto cvgcnotya;
mcp=x;
concolor=46;
if(insertype != 0)concolor=45;
goto cvgcnotyb;
cvgcnotya: if(howmany<2)goto cvgcquit;
cvgcnotyb: ytaelon=ypplh;
aptread(alselset(cvgcptr,sslsel),ytaelon);
if(howmany > 2)goto cvgcskipmo;
if(mouallowglobal == 0)goto cvgcskipmo;
mouy=mouy+(prindiff-prindiffprv);
prindiffprv=prindiff;
if(ypplh != mouy)goto cvgcskipmo;
if(mouallowlocal == 0)goto cvgcskipmo;
if(moux<1)goto cvgcskipmo;
// moucursorpos=moux+5a00h
// mouse disabled in this version.
cvgcskipmo: goto cvgcprcom;
cvgnonfiv: if(howmany > 2)goto cvgcprcom;
if(sslsel == 11)goto cvgcaltcur;
if(sslsel > 8)goto cvgcprcom;
if(sslsel < 6)goto cvgcprcom;
cvgcaltcur: mcp=x;
concolor=44;
cvgcprcom: rprline(a80w,
shift,alselset(cvgcptr,sslsel),mcp,concolor);
cvgcquit: concolor = 0;
}
// ghowmany = {0,1,2,>2}
// =0 align prindiff only
// =1 print line at Y only
// =2 print all lines
// >2 no cursor
void chrvgapage(char* guberptr,long ghowmany)
{
long sposctr;
long cstfiv;
sposctr=0;
cstfiv=5;
chrvgatop: sposctr=sposctr+1;
if(ypheight < sposctr)goto chrvgabot;
cvgcline(guberptr,cstfiv,sposctr,ghowmany);
goto chrvgatop;
chrvgabot: cstfiv=0;
}
void clearline(char* clearptr)
{
long clearcutrush;
clearcutrush=0;
while(clearcutrush < a80w)
{
*(clearptr+clearcutrush)= '\40';
clearcutrush=clearcutrush+1;
}
}
void aptdelete()
{
long yelctrl,yelctrh;
char aptdeleteline[224];
yelctrl=y;
de1570: yelctrh=yelctrl+1;
if(yelctrh>afilelen)goto de1586;
aptread(aptdeleteline,yelctrh);
aptwrite(aptdeleteline,yelctrl);
yelctrl=yelctrh;
goto de1570;
de1586: if(afilelen >= y)afilelen=afilelen-1;
}
// use alselset(crz0160,insel) for inserad
void aptinsert(char* inserad)
{
long yil,yih;
char aptinline[224];
yil=afilelen;
in1598: yih=yil+1;
if(yil < y)goto in1614;
aptread(aptinline,yil);
aptwrite(aptinline,yih);
yil=yil-1;
goto in1598;
in1614: afilelen=afilelen+1;
aptwrite(inserad,y);
y=y+1;
}
void lalocal12(char* crzload)
{
// crzload is &crz0160[0] . uses y
long ycmp;
ycmp=y+1;
if(y<0)goto la1662;
if(ycmp>afilelen)goto la1662;
aptread(alselset(crzload,2),ycmp);
goto la1664;
la1662: clearline(alselset(crzload,2));
la1664: if(y>afilelen)goto la1674;
if(y<1)goto la1674;
aptread(alselset(crzload,1),y);
goto la1676;
la1674: clearline(alselset(crzload,1));
la1676: ycmp=0;
}
void laput12(char* crzput)
{
// crzput is &crz0160[0] . uses y
long putae;
if(y<1)goto put1814;
if(chnext==0)goto put1808;
putae=y+1;
aptwrite(alselset(crzput,2),putae);
if(putae>afilelen)afilelen=putae;
put1808: aptwrite(alselset(crzput,1),y);
if(y>afilelen)afilelen=y;
put1814: ch=0;
chnext=0;
}
long clenval(char* lenabsad)
{
// use alselset(&crz0160[0],linenumber)
// for argument of clenval
long llval;
char lcmp;
llval=a80w;
le1849: lcmp = *(lenabsad+llval-1);
if(lcmp == '\40')goto le1860t;
if(lcmp == '\00')goto le1860t;
goto le1860;
le1860t: llval=llval-1;
if(llval>0)goto le1849;
le1860: lcmp = '\40';
return llval;
}
long cmdlen(char* cmdsaml)
{
long cmdctr;
char cmdparyy;
cmdctr=0;
cmdldop: cmdparyy = *(cmdsaml + cmdctr);
if(cmdparyy == '\40')goto cmdlshort;
if(cmdparyy == '\41')goto cmdlshort;
cmdctr=cmdctr+1;
if(cmdctr < 254)goto cmdldop;
cmdlshort: cmdparyy = '!';
return cmdctr;
}
void cmdhmcur()
{
long lenleven,lbigleven,lenstep;
long threectr,tinyhctr,hdmoffset;
char* elevbase;
char* stepbase;
char chmle,chmri;
curcommand=0;
tinyhctr=1300;
howmanycmd=1;
elevbase=alselset(crz0160,11);
lbigleven=clenval(elevbase);
lenleven=cmdlen(elevbase);
if(lenleven < 1)goto nocurcommand;
if((lbigleven-lenleven)<2)goto nohowmanycmd;
hdmoffset=lenleven+2;
howmanycmd=numberget(elevbase,
hdmoffset,((lbigleven-hdmoffset)+1),10);
nohowmanycmd: threectr=3;
olopcur: if(threectr > 28)goto nocurcommand;
stepbase=litrlc(litharg,threectr);
lenstep=cmdlen(stepbase);
threectr=threectr+1;
if(lenstep != lenleven)goto olopcur;
tinyhctr=0;
ilopcur: chmle = *(elevbase + tinyhctr);
chmri = *(stepbase + tinyhctr);
if(chmle != chmri)goto olopcur;
tinyhctr=tinyhctr+1;
if(tinyhctr<lenleven)goto ilopcur;
curcommand=threectr-1;
nocurcommand: threectr=0;
}
// bottom of cmdhmcur
void kfclev(char* levsrc)
{
char* levsrcy;
levsrcy=levsrc;
clearline(alselset(crz0160,11));
kfcopy(alselset(crz0160,11),levsrcy);
}
void aptlocloc(char* destal,
char* srcal, long aptrl)
{
long aptoctt;
aptoctt=0;
tigloc: *(destal+aptoctt) = *(srcal+aptoctt);
aptoctt=aptoctt+1;
if(aptoctt < aptrl)goto tigloc;
}
void commandprn()
{
long cmxshifctr,upcmdljj;
// shift up from array(11) starting at top
// then print in reverse order
cmxshifctr=ypheight+12;
cmxxyb: if(cmxshifctr < 11)goto cmxshifulr;
aptlocloc(alselset(crz0160,(cmxshifctr+1)),
alselset(crz0160,cmxshifctr),a80w);
cmxshifctr=cmxshifctr-1;
goto cmxxyb;
// if ypheight == 4 15 1
// 14 2
// 13 3
// 12 4
// 11 5
cmxshifulr: cmxshifctr = ypheight + 11;
upcmdljj=1;
clearline(alselset(crz0160,11));
cmdshifxlr: if(cmxshifctr < 11)goto cmdprndot;
cvgcline(crz0160,cmxshifctr,upcmdljj,4);
cmxshifctr=cmxshifctr-1;
upcmdljj=upcmdljj+1;
goto cmdshifxlr;
cmdprndot: upcmdljj=0;
}
void deletemany(long howmany)
{
long delwid,limdel,yelctrl,delmanytemp;
char dmany[452];
delwid=howmany;
yelctrl=y;
limdel=(afilelen+1)-y;
if(limdel < 0)goto nondeletec;
goto delrsize;
nondeletec: goto quitdelpop;
delrsize: if((delwid-limdel)<0)goto skipwidlim;
delwid=limdel;
skipwidlim: delmanytemp=yelctrl+delwid;
if((afilelen-delmanytemp)<0)goto shrinkafnd;
aptread(dmany,delmanytemp);
aptwrite(dmany,yelctrl);
yelctrl=yelctrl+1;
goto skipwidlim;
shrinkafnd: afilelen=afilelen-delwid;
quitdelpop: delmanytemp=0;
}
void fn1113()
{
long biglen13,istlen13,ctr13;
long ctr11,size13;
char* fn13ad;
char* fn11ad;
fn13ad=alselset(crz0160,13);
fn11ad=alselset(crz0160,11);
biglen13=clenval(fn13ad);
istlen13=cmdlen(fn13ad);
size13=(biglen13-istlen13)-1;
if(size13 < 1)goto skipfnt13;
ctr11=0;
ctr13=istlen13+1;
loopfn13: *(fn11ad+ctr11) = *(fn13ad+ctr13);
ctr11=ctr11+1;
ctr13=ctr13+1;
if(ctr11 < size13)goto loopfn13;
skipfnt13: ctr13=0;
}
// ikx1864 is critical
void ikx1864(char* rayloc1,
long keychr1,long alselone)
{
// rayloc1 is &crz0160[0] . uses argument
// alselone. changes alsel.
char* albase1;
char* iisubc;
long lval1,filtkeychr,cc1;
alsel=alselone;
if(alsel==1)
{
clearline(alselset(rayloc1,2));
chdoc=1;
}
ikx1873: inspg=0;
albase1=alselset(rayloc1,alsel);
iisubc=albase1+x-1;
ch=1;
// ***ERROR*** chnext=1 is not used in
// edrandy. use chnext=0.
chnext=0;
lval1=clenval(alselset(rayloc1,alsel));
if(insertype!=0)goto z1886;
z1880: filtkeychr=keychr1;
if(keychr1 > 127)filtkeychr=keychr1-128;
if(filtkeychr < 32)filtkeychr=32;
zay1880: *iisubc=filtkeychr;
x=x+1;
if(alsel>5)goto z1885;
laput12(rayloc1);
z1885: goto z1990;
z1886: if(alsel>5)goto z1896;
if(((a80w-1)-lval1)<0) goto z1928;
// use jns z1892 then jmp(s) z1928
z1892: if(((a80w-1)-x)<0)goto z1960;
// use jns z1896 then jmp(s) z1960
z1896: cc1=lval1;
z1900: if(x>cc1)goto z1924;
iisubc=albase1+cc1-1;
*(iisubc+1) = *iisubc;
cc1 = cc1 - 1;
goto z1900;
z1924: goto z1880;
z1928: iek2000(rayloc1,255);
inspg=1;
z1960: if(a80w>x)goto z1896;
filtkeychr=keychr1;
if(keychr1>127)filtkeychr=keychr1-128;
if(filtkeychr<32)filtkeychr=32;
z1963: *iisubc=filtkeychr;
z1978: gek2040(rayloc1,2);
insel=1;
clearline(alselset(rayloc1,1));
aptinsert(alselset(rayloc1,insel));
y=y-1;
inspg=1;
z1990: lval1=0;
}
// ikx1864 was checked on 03/14/2003
// with edrandy.926
void iek2000(char* rayloc2,
long nzkey)
{
// rayloc2 is &crz0160[0]
long erd,erxsub,erchk,ercmp;
char *albase2;
erd=a80w;
erxsub=x-1;
clearline(alselset(rayloc2,2));
alsel=1;
albase2=alselset(rayloc2,alsel);
erchk=0;
z2006: ercmp = *(albase2+erxsub);
if(ercmp!=32)erchk=1;
z2012: *(albase2+erd)=ercmp;
*(albase2+erxsub)='\40';
erd=erd+1;
erxsub=erxsub+1;
if(erxsub < a80w)goto z2006;
// jns z2020bt jmp(s) z2006
z2020bt: if(nzkey==0)goto z2022;
z2020: if(erchk==0)goto z2036;
z2022: y=y+1;
insel=2;
aptinsert(alselset(rayloc2,insel));
if(clenval(alselset(rayloc2,insel))==0)goto z2027;
marginselect=1;
z2027: clearline(alselset(rayloc2,2));
y=y-2;
alsel=1;
albase2=alselset(rayloc2,alsel);
z2036: erd=0;
}
void gek2040(char* rayloc3,long zurtwo)
{
long rr2040;
if(zurtwo!=0)goto gek2042;
iek2000(rayloc3,0);
gek2042: chnext=0;
laput12(rayloc3);
x=1;
y=y+1;
rr2040=y;
skipgekup: goto gek2048;
gek2048: rr2040=0;
}
void dkx2050(char* ray4,long deltype44)
{
// ray4 is &crz0160[0]
long tnydeltype,deltype,lval4;
long ix4,deldisp,cc4,dd4;
char* albase4;
char* iisub4;
char* isi4;
// deltype44 does not change alsel except
// deltype = ???0
// deltype44 lst hex digit matches
// replacement line numbers last digit.
// 2050 delete key at x (make alsel = 1)
// 2054 undefined alsel
// 2055 undefined inspg
// 2156 backwards delete (make alsel = 1)
// 2158 undefined alsel
// edrandy equivelences ix with
// ix4. replace ix with ix4 [bp+08h]
deltype=deltype44;
tnydeltype=deltype;
dkxr2050: if(tnydeltype<16)goto dkxy2050;
tnydeltype=tnydeltype-16;
goto dkxr2050;
dkxy2050: if(tnydeltype<0)goto dkxq;
if(tnydeltype==0)goto zy2050;
dkxnz: if(tnydeltype==4)goto z2054;
dkxnf: if(tnydeltype==5)goto z2055;
dkxnfv: if(tnydeltype==6)goto z2156;
dkxns: if(tnydeltype==8)goto z2158;
dkxq: goto zxz2142;
zy2050: alsel=1;
z2054: inspg=0;
z2055: ch=1;
albase4=alselset(ray4,alsel);
chnext=0;
iisub4=albase4+x-1;
if(alsel>5)goto z2070;
if(insertype!=0)goto z2070;
*iisub4='\40';
z2067: if(alsel>5)goto zxz2142;
// js z2068 jz z2068 jmp(>) zxz2142
z2068: laput12(ray4);
goto zxz2142;
z2070: lval4=clenval(alselset(ray4,alsel));
if(alsel>5)goto z2076;
z2074: if(deltype>63)goto z2076;
// was test word [bp+022h],040h jnz z2076
if(lval4 < x)goto z2096;
// jns z2076 jmp(s) z2096
z2076: ix4=x;
z2080: isi4=albase4+ix4-1;
if(ix4 >= lval4)goto z2090;
z2084: *isi4 = *(isi4+1);
ix4=ix4+1;
goto z2080;
z2090: *isi4 = '\40';
goto z2067;
z2096: deldisp=1+a80w-x;
alsel=1;
albase4=alselset(ray4,alsel);
ix4=x;
z2100: cc4=ix4-1;
dd4=cc4+deldisp;
if(cc4<a80w)goto z2106;
goto z2112;
z2106: isi4=albase4+dd4;
*(albase4+cc4) = *isi4;
ix4=ix4+1;
goto z2100;
z2112: ix4=deldisp;
z2114: isi4=albase4+cc4;
*isi4 = '\40';
cc4=cc4+1;
ix4=ix4-1;
if(ix4 != 0)goto z2114;
z2120: ix4=0;
z2122: cc4=a80w+ix4;
isi4=albase4+cc4;
if( *isi4 == '\40' )goto z2130;
inspg=1;
chnext=1;
goto z2067;
z2130: ix4=ix4+1;
if(ix4<a80w)goto z2122;
y=y+1;
z2136: aptdelete();
inspg=1;
y=y-1;
goto z2067;
zxz2142: goto zxzz2142;
z2156: alsel=1;
chdoc=1;
if(y > 1)goto z2158;
if(x < 2)goto zxz2142;
z2158: x=x-1;
inspg=0;
albase4=alselset(ray4,alsel);
if(x<1)goto z2162;
z2161: goto z2054;
z2162: inspg=1;
if(y > 1)goto z2167;
x=1;
y=1;
goto z2055;
z2167: y=y-1;
lalocal12(ray4);
lval4=clenval(alselset(ray4,alsel));
x=lval4+1;
deltype=tnydeltype;
if(x<a80w)goto z2174;
x=a80w;
z2174: goto z2055;
zxzz2142: ix4=0;
}
void regkey2176()
{
// -- rkeychar rkeytype already moved
char* rptrkc;
char* rptrtype;
long rlkey;
rptrkc = &rkeychr;
rptrtype = &rkeytype;
// ?? freddy=dagra;
if((dagra & 3) == 1)goto arz2176;
if((dagra & 3) == 3)goto zfix1773;
arz2176: freddy=dagra+2;
// 1 start 3 reenter with a key
z2176: if(y>afilelen)y=afilelen+1;
if(y<1)y=1;
z2180: if(x>a80w)x=a80w;
if(x<1)x=1;
z2188: lalocal12(crz0160);
chrvgapage(crz0160,2);
z2190: if(y>afilelen)y=afilelen+1;
if(y<1)y=1;
if(x>a80w)x=a80w;
if(x<1)x=1;
lalocal12(crz0160);
cvgcline(crz0160,5,(y-prindiff),0);
numberprn(alselset(crz0160,9),42,3,10,x);
numberprn(alselset(crz0160,9),46,7,10,y);
numberprn(alselset(crz0160,9),54,2,10,(y-prindiff));
if(afilelen >= 1)
{
numberprn(alselset(crz0160,9),58,7,10,afilelen);
}
if(afilelen == 0)
{
numberprn(alselset(crz0160,9),58,7,10,tinyoar);
}
// numberprn(alselset(crz0160,9),58,7,10,jychr);
cvgcline(crz0160,9,(ypheight+1),4);
cvgcline(crz0160,5,(y-prindiff),2);
// zfix2191u: conkey(rptrtype,rptrkc);
// cancel call conkey 1764 within
// 1738 void regkey2176()
// not needed
zfix2191d: goto ubotkey2176;
// call to conkey 1767.1771
// within 1738 regkey2176
zfix1773: *rptrtype=archtype;
*rptrkc=archkey;
if(rkeytype == '0')goto zfix2191d;
lalocal12(crz0160);
if(rkeychr != '\10')goto t2192;
goto z2294;
t2192: if(rkeychr == '\12')goto y2194;
if(rkeychr != '\33')goto t2193;
goto z2228;
t2193: if(rkeychr != '\15')goto z2200;
y2194: gek2040(crz0160,0);
chdoc=1;
zfix2197: x=marginselect;
// set x to marginselect above.
z2198: goto z2176;
// remz2198: goto ubotkey2176;
z2200: if(rkeytype != '1')goto z2216;
z2201: if(rkeychr<'\40')rkeychr='\40';
if(rkeychr>'\177')rkeychr='\40';
rlkey=rkeychr;
z2203: ikx1864(crz0160,rlkey,1);
if(y>afilelen)goto z2210;
goto z2212;
z2210: afilelen=afilelen+1;
// z2212: if(inspg == 0)goto z2190;
z2212: if(inspg == 0)goto zu1828;
z2214: goto z2176;
z2216: if(rkeychr == 'P')goto z2231;
if(rkeychr == 'H')goto z2234;
if(rkeychr == 'I')goto z2238;
if(rkeychr == 'Q')goto z2242;
if(rkeychr == 'M')goto z2246;
// P 50 H 48 I 49 Q 51 M 4D
// K 4B O 4F R 52 S 53 G 47
if(rkeychr == 'K')goto z2252;
if(rkeychr == 'O')goto z2263;
if(rkeychr == 'R')goto z2274;
if(rkeychr == 'S')goto z2290;
if(rkeychr == 'G')goto z2228;
z2227: goto z2176;
// home gets menu
z2228: goto z2298;
// down arrow P z2231 up arrow H z2234
z2231: y=y+1;
goto z2176;
// goto ubotkey2176;
z2234: y=y-1;
goto z2176;
// goto ubotkey2176;
// page up I z2238 page down Q z2242
z2238: y=(4+y)-ypheight;
goto z2176;
// goto ubotkey2176;
z2242: y=(y+ypheight)-4;
goto z2176;
// goto ubotkey2176;
// z2246 right arrow M
z2246: x=x+1;
if(x>a80w)goto z2249;
// goto z2190;
// 1828
zu1828: if(y>afilelen)y=afilelen+1;
if(y<1)y=1;
if(x>a80w)x=a80w;
if(x<1)x=1;
lalocal12(crz0160);
cvgcline(crz0160,5,(y-prindiff),0);
numberprn(alselset(crz0160,9),42,3,10,x);
numberprn(alselset(crz0160,9),46,7,10,y);
numberprn(alselset(crz0160,9),54,2,10,(y-prindiff));
if(afilelen >= 1)
{
numberprn(alselset(crz0160,9),58,7,10,afilelen);
}
if(afilelen == 0)
{
numberprn(alselset(crz0160,9),58,7,10,tinyoar);
}
// numberprn(alselset(crz0160,9),58,7,10,jychr);
cvgcline(crz0160,9,(ypheight+1),4);
cvgcline(crz0160,5,(y-prindiff),2);
goto ubotkey2176;
z2249: x=1;
goto z2231;
// z2252 left arrow K
z2252: x=x-1;
// if(x>0)goto z2190;
if(x>0)goto zu1828;
if(y<2)goto z2256;
y=y-1;
z2256: lalocal12(crz0160);
x=clenval(alselset(crz0160,1))+1;
if(x >= a80w)x=a80w;
z2261: goto z2176;
// z2261: goto ubotkey2176;
// 2263 end key O
z2263: if(x==1)goto z2267;
x=1;
// goto z2190;
goto zu1828;
z2267: if(y>afilelen)goto z2270;
y=afilelen+1;
goto z2176;
// goto ubotkey2176;
z2270: y=1;
goto z2176;
// goto ubotkey2176;
// z2274 insert key R 2290 delete key S
z2274: insertype = 1 - insertype;
if(insertype == 0)winmousea=0;
// goto z2190;
goto zu1828;
z2290: dkx2050(crz0160,0);
chdoc=1;
goto z2212;
z2294: dkx2050(crz0160,(6+64));
chdoc=1;
goto z2212;
z2298: rlkey=0;
freddy=dagra-1;
// freddy = 1 start 3 got a key
// 2 done with regkey2176
ubotkey2176: rlkey=0;
}
void cls2330()
{
long ctr2330,height2330;
height2330=ypheight+0;
clearline(alselset(crz0160,2));
clearline(alselset(crz0160,1));
ctr2330=0;
z2336: if(ctr2330 > height2330)goto z2343;
ctr2330 = ctr2330 + 1;
cvgcline(crz0160,2,ctr2330,4);
goto z2336;
z2343: ctr2330 = 1;
}
void clralocal2346()
{
long ctr2346;
ctr2346=0;
z2348: ctr2346 = ctr2346 + 1;
if(ctr2346 > 55)goto z2353;
clearline(alselset(crz0160,ctr2346));
goto z2348;
z2353: ctr2346=0;
cls2330();
}
void kfcdark(long darposition, char* darsrc)
{
char* darpass;
darpass=alselset(crz0160,darposition);
clearline(darpass);
kfcopy(darpass,darsrc);
}
void kfcl(long enepos,char* darlene)
{
kfcdark(3,darlene);
cvgcline(crz0160,3,enepos,4);
clearline(alselset(crz0160,3));
}
void kfc2398()
{
// kfc2398 is print page of options
cls2330();
// t.tmp
kfcl(1,litrlc(litharg,30));
kfcl(2,litrlc(litharg,31));
kfcl(3,litrlc(litharg,32));
kfcl(4,litrlc(litharg,33));
kfcl(5,litrlc(litharg,34));
kfcl(6,litrlc(litharg,35));
kfcl(7,litrlc(litharg,36));
kfcl(8,litrlc(litharg,37));
kfcl(9,litrlc(litharg,38));
kfcl(10,litrlc(litharg,39));
kfcl(11,litrlc(litharg,40));
kfcl(12,litrlc(litharg,41));
kfcl(13,litrlc(litharg,42));
kfcl(14,litrlc(litharg,43));
kfcl(15,litrlc(litharg,44));
kfcl(16,litrlc(litharg,45));
kfcl(17,litrlc(litharg,46));
kfcl(18,litrlc(litharg,47));
kfcl(19,litrlc(litharg,48));
kfcl(20,litrlc(litharg,49));
kfcl(21,litrlc(litharg,50));
kfcl(22,litrlc(litharg,51));
// is more needed here ??
}
long posdigit(char dcmpchr,char* digitslist)
{
long tposdigit,rtposdigit;
char rcmpchr;
tposdigit=0;
rtposdigit=1023;
digfindloop: rcmpchr = *(digitslist+tposdigit);
if(rcmpchr == '!')goto nondigit;
if(rcmpchr == dcmpchr)goto matchchk;
tposdigit=tposdigit+1;
goto digfindloop;
matchchk: rtposdigit=tposdigit;
if(tposdigit>15)rtposdigit=tposdigit-16;
nondigit: tposdigit=rtposdigit;
return tposdigit;
}
long numberget(char* absi,long startx,
long widthx,long basex)
{
// use alselset(crz0160,linenumber) instead
// of simple pointer when
// reading number from a line in crz0160.
long nget,ngctr,ngdigit;
char ddcmp;
nget=0;
ngctr=0;
ngdaa: ddcmp = *(absi+(ngctr+startx-1));
ngctr=ngctr+1;
ngdigit=posdigit(ddcmp,
"0123456789ABCDEF0123456789abcdef!!!!");
if(ngdigit<16)goto ngdac;
if(ngctr < widthx)goto ngdaa;
goto ngetbot;
ngdac: ngctr=ngctr-1;
ngdbb: ddcmp = *(absi+(ngctr+startx-1));
ngctr=ngctr+1;
ngdigit=posdigit(ddcmp,
"0123456789ABCDEF0123456789abcdef!!!!");
if(ngdigit>15)goto ngetbot;
nget=nget*basex;
nget=nget+ngdigit;
if(ngctr<widthx)goto ngdbb;
ngetbot: ngctr=0;
return nget;
}
char* litrlc(char* beginlis, long litwhich)
{
long rlcpos, rlcvase, rlczos;
char* litbase;
litbase=beginlis;
rlcvase=numberget(litbase,1,8,10);
rlcpos=litwhich;
rlczos=rlcpos+rlcpos;
rlcpos=rlczos+rlczos;
rlczos=rlcpos+rlcpos+1;
rlcpos=numberget(litbase,rlczos,8,10);
rlczos=rlcpos+rlcvase+0;
litbase=beginlis+rlczos;
return litbase;
}
void read2426(char* xy2426,long readsel126)
{
// after checking repeat determine end of file.
long delay2426,insel2426;
char* rtranchr;
eofi=0;
pose=hiskwid;
fp04=0;
rep0=0;
one2 = '*';
hv0c=6;
evdk=0;
insel2426=11;
rtranchr=alselset(xy2426,insel2426);
delay2426=0;
rd2428loop: if(rep0 != 0)goto rd2430;
if(delay2426 != 0)goto rd2458;
rd2430: reedline();
if(eofi == 0)goto rd2432;
delay2426 = 1;
rd2432: aptinsert(rtranchr);
goto rd2428loop;
rd2458: x=1;
}
void llpriz(char* wrtloc,long wrtmany)
{
long wwrtctr;
char wwchr;
char* awwchr;
awwchr = &wwchr;
wwrtctr=0;
while(wwrtctr < wrtmany)
{
*awwchr = *(wrtloc + wwrtctr);
fwrite(awwchr,1,1,genhanw);
wwrtctr=wwrtctr+1;
}
}
void lpriz()
{
long wrx,lenvalb,wra2469;
char wrtar[228];
char *prsrc;
prsrc=alselset(crz0160,3);
wrx=0;
lenvalb=clenval(prsrc);
while(wrx < lenvalb)
{
wrtar[wrx] = *(prsrc + wrx);
wrx=wrx+1;
}
wra2469=wbe2469;
while(wra2469 < 2)
{
*(wrtar + wrx) = *(weda2469 + wra2469);
wrx = wrx + 1;
lenvalb = lenvalb + 1;
wra2469 = wra2469 + 1;
}
llpriz(wrtar,lenvalb);
}
void write2470()
{
y=0;
loop2472: y=y+1;
if(y > afilelen)goto z2514;
aptread(alselset(crz0160,3),y);
lpriz();
goto loop2472;
z2514: x=1;
}
void open2520(char* xy2520,long opensel8)
{
// variables already relocated
// ?? freddy=dagra;
if((dagra & 3) == 1)goto aopend2082;
if((dagra & 3) == 3)goto z2533;
aopend2082: alsel520=opensel8+6;
// 1 start 3 reenter with a key
freddy=dagra+2;
insertype=1;
ikey = '*';
if(opensel8 > 1)goto z2526;
clearline(alselset(xy2520,alsel520));
z2526: lval2520=clenval(alselset(xy2520,alsel520));
x=lval2520+1;
yp2520=10;
goto az2531;
z2530: yp2520=10;
az2531: cvgcline(xy2520,alsel520,yp2520,2);
z2532d: goto opend2145;
z2533: keval2=archkey;
kelp2=archtype;
prevfound=ikey;
ikey=(keval2 & 255);
alsel520=opensel8+6;
albase20=alselset(xy2520,alsel520);
if(keval2 == '\15')goto z2584;
if(keval2 == '\12')goto z2584;
if(keval2 == '\10')goto z2546;
if(kelp2 != '1')goto z2564;
if(opensel8 < 1)goto z2543;
if(keval2 > '\177')goto z2542;
if(keval2 < '\00')goto z2542;
if(keval2 < '\40')goto z2542;
z2541: goto z2543;
z2542: keval2 = '\40';
z2543: if(x>a80w)goto z2545;
ikx1864(xy2520,ikey,alsel520);
z2545: goto z2548;
z2546: if(x<2)goto z2548;
z2547: alsel=alsel520;
dkx2050(xy2520,8);
z2548: cvgcline(xy2520,alsel520,yp2520,2);
goto z2530;
z2560: alsel=alsel520;
dkx2050(xy2520,4);
goto z2548;
z2564: if(keval2 == 'S')goto z2560;
if(keval2 == 'M')goto z2574;
if(keval2 == 'K')goto z2580;
if(keval2 == 'R')goto z2577;
if(keval2 == 'O')goto rr2571;
goto z2548;
rr2571: x=1;
goto z2548;
z2574: x=x+1;
if(x>a80w)x=a80w;
goto z2548;
z2577: insertype=1-insertype;
if(insertype==0)winmousea=0;
goto z2548;
z2580: x=x-1;
if(x<1)x=1;
goto z2548;
z2584: alsel520=opensel8+6;
lval2520=clenval(alselset(xy2520,alsel520));
findlen=lval2520;
if(opensel8<1)goto z2600;
// 1104
z2600: x=1;
freddy=dagra-1;
opend2145: if(x < 1)x=1;
// freddy = 1 start 3 get next key
// 2 done with open2520
}
void new2608()
{
ypheight=24;
a80w=80+144;
cmdheight=9;
// unused variable rs[0].maxreclen1c=a80w;
// unused variable rs[1].maxreclen1c=a80w;
nzshift=0;
wsg401.ansictrnz19 = 0;
evenreq=0;
edraw26[3]=0;
wchour=0;
wcminute=0;
chdoc=0;
edflipbay[chdoc]='\0';
while(chdoc < 255)
{
ch=chdoc+1;
edflipbay[ch]=acrevbits("Fast","Zack",0,ch);
chdoc=ch;
}
chnext=0;
while(chnext < 32)
{
grucursor[chnext]=acrevbits(edflipbay,
(char*)rrucursor,chnext,0);
chnext=chnext+1;
}
ch=0;
while(ch < 16)
{
mavrl[ch]=acrevbits(edflipbay,
(char*)zavrl,ch,0);
ch=ch+1;
}
// ------
fjload();
tfload();
iktmany(jxwkeyhold);
x=1;
y=1;
// xp,yp;
prindiff=0;
prinjill=0;
// moux,mouy insel alsel,ytaelon,
nzerror=0;
tinyoar=(zoar / a80w)-3;
afilelen=0;
chnext=0;
chdoc=0;
ch=0;
insertype=1;
inspg=0;
marginselect=1;
alocalh=0;
// findbase,findlen;
prindiffprv=0;
uprighty=0;
lowlefty=1;
tnymouxprv=0;
tnymouyprv=0;
mouallowlocal=0;
mouallowglobal=0;
winmousea=0;
yre=1;
xe=1;
// jysrc,tzby,jyheight yyectr,jydiff
// lowleftc,jydest
uprightx=0;
lowleftx=1;
bkgnd='\40';
// helpfindtest,jxwidth xe,jxdiff,
// readfnskipzur lowleftb,
uppercase=0;
// comeofdelay afilelenprv,moubutprv,mouctr;
evdk=0;
eofi=0;
pose=hiskwid;
rep0=0;
elevrd = alselset(crz0160,11);
hv0c=0;
clralocal2346();
clearline(alselset(crz0160,9));
// kfcopy(alselset(crz0160,9),litrlc(litharg,52));
aptlocloc(alselset(crz0160,9),litrlc(litharg,52),80);
mprvyx.neuty=0;
mprvyx.neutx=0;
mouuyx.neuty=0;
mouuyx.neutx=0;
// edelev20.c end of new2608
}
char sixcase(char ulchr)
{
char ucval6;
// 020h.40 061h.141 07ah.172 07eh.176
ucval6=ulchr;
if((ulchr<'\40')||(ulchr>'\176'))ucval6='\40';
if((ulchr>'\140')&&(ulchr<'\173'))ucval6=ulchr-'\40';
return ucval6;
}
void writez2754(char* wstart0160)
{
// variables have already been relocated
if((dagra & 3) == 1)goto zd2754;
if((dagra & 3) == 3)goto z2762;
zd2754: openselwd=2;
if(afilelen < 1)goto z2772;
yp=4;
yp=12;
z2762: open2520(wstart0160,openselwd);
if((freddy & 3) == 2)goto a2765;
goto arcb2754;
a2765: ldalb=clenval(alselset(wstart0160,
(openselwd+6)));
if(ldalb<1)goto z2772;
arbcopy(wfn2755,(alselset(wstart0160,
(openselwd+6))));
if(openselwd < 2)goto ww2767;
// top of fn to nine
wnine2754=alselset(wstart0160,9);
nine2754t=0;
w2766: *(wnine2754+nine2754t)='\40';
nine2754t=nine2754t+1;
if(nine2754t < 16)goto w2766;
wrl2754=clenval(alselset(wstart0160,(openselwd+6)));
if(wrl2754 > 15)goto ww2767;
kfcopy(wnine2754,wfn2755);
// bottom of fn to nine
ww2767: genhanw=fopen(wfn2755,"wb");
if(genhanw == NULL)goto z2772;
z2768: write2470();
fclose(genhanw);
z2772: yp=12;
arcb2754: ten2754t=0;
}
long find2822(char* ptr160f, long fln,
long fw2823)
{
// compare line fln with local line 6;
// returns zero if equal;
long findres,bfindctr,loclen;
long sixlen,finddisp,cfindctr;
char* findsixbase;
char* findsixptr;
char findcmp;
char findloca[448];
findres=1;
finddisp=0;
zg2822: aptread(findloca,fln);
loclen=clenval(findloca);
cfindctr=6;
findsixbase=alselset(ptr160f,cfindctr);
sixlen=clenval(findsixbase);
if(sixlen<1)goto z2838;
z2835: if(afilelen<y)goto z2838;
if(loclen<sixlen)goto z2838;
finddisp=0;
z2837: goto z2840;
z2838: findres=1;
goto z2856;
z2840: bfindctr=0;
z2841: cfindctr=bfindctr+finddisp;
if(cfindctr<a80w)goto z2842;
goto z2838;
z2842: findsixptr=findsixbase+bfindctr;
findcmp = *findsixptr;
if(findcmp == '\40')goto z2853;
if(findcmp!=findloca[cfindctr])goto z2855;
z2853: bfindctr=bfindctr+1;
z2854: if(bfindctr<sixlen)goto z2841;
findres=0;
goto z2856;
z2855: findres=1;
finddisp=finddisp+1;
if(finddisp < fw2823)goto z2837;
z2856: cfindctr=0;
return findres;
}
void john2880(char* xy2880, long aysrc,
long aydest, long aywidth)
{
// john2880 is animation with just one line
char* rindbase;
char* one2880;
char* hqsuba;
char* hxright;
long hxctr;
za2880: alsel=6;
rindbase=alselset(xy2880,alsel);
clearline(rindbase);
alsel=1;
one2880=alselset(xy2880,alsel);
z2889: aptread(one2880,aysrc);
z2890: hxctr=0;
z2892: hqsuba=rindbase+hxctr;
z2894: hxright=one2880+(hxctr+lowleftx-1);
*hqsuba = *hxright;
hxctr=hxctr+1;
z2902: if(hxctr < aywidth)goto z2892;
z2910: aptread(one2880,aydest);
// z2914 skip incrementing filelength,
// reassign filelength enlarging to caller
z2916: hxctr=0;
z2918: hqsuba=rindbase+hxctr;
hxright=one2880+(hxctr+lowleftb-1);
*hxright = *hqsuba;
hxctr=hxctr+1;
if(hxctr<aywidth)goto z2918;
// source line offset by lowleftx XXXXXX
// XXXXXX sixline offset by zero
// dest line offest by lowleftb XXXXXX
z2932: aptwrite(one2880,aydest);
}
// z2936 john2938 copy animation rectangle
void john2938(char* xy2938)
{
long nextcalen;
zc2938: jxwidth=(0+uprightx-lowleftx);
nextcalen=afilelen;
z2939: lowleftc=y;
jyheight=(0+uprighty-lowlefty);
jynext=lowleftc+jyheight;
z2942: jydiff=lowleftc-lowlefty;
// 2943 rem jydiff < 0 start small decrease
// 2944 rem jydiff >=0 start big increase
z2949: lowleftb=x;
z2950: jxdiff=lowleftb-lowleftx;
z2951: if(jxwidth<0)goto z2984;
z2952: if(jyheight<0)goto z2984;
z2953: jxwidth=jxwidth+1;
jyheight=jyheight+1;
if(jydiff<0)goto z2972;
z2956: jysrc=uprighty;
yjn=0-1;
jydest=jynext;
goto z2976;
z2972: jysrc=lowlefty;
yjn=1;
jydest=lowleftc;
z2976: jyctr=0;
z2977: jyctr=jyctr+1;
z2978: john2880(xy2938,jysrc,jydest,jxwidth);
if(nextcalen < jydest)nextcalen=jydest;
z2979: jysrc=jysrc+yjn;
z2980: jydest=jydest+yjn;
z2982: if(jyctr < jyheight)goto z2977;
z2984: afilelen=nextcalen;
}
void print3248()
{
char line3248[228];
char* three3248;
FILE* han3249;
int allow3248,ctr3248,len3248;
int ilop3248,ilop3249;
allow3248=2;
three3248=alselset(crz0160,3);
ctr3248=1;
// open printer
han3249=fopen("/dev/lpr0","wb");
while(allow3248 > 1)
{
if(ctr3248 > afilelen)allow3248 = 0;
if(allow3248 > 1)
{
aptread(three3248,ctr3248);
len3248=clenval(three3248);
ilop3248=0;
while(ilop3248 < len3248)
{
cncri = *(three3248 + ilop3248);
*(line3248 + ilop3248) = cncri;
ilop3248=ilop3248+1;
}
ilop3249=wbe2469;
while(ilop3249 < 2)
{
cncri = *(weda2469 + ilop3249);
*(line3248 + len3248)=cncri;
len3248=len3248+1;
ilop3249=ilop3249+1;
}
if((howmanycmd>0)&&(howmanycmd<9))
{
ilop3249=1;
while(ilop3249 < howmanycmd)
{
print3250(line3248,len3248-1,han3249);
ilop3249=ilop3249+1;
}
print3250(line3248,len3248,han3249);
}
ctr3248=ctr3248+1;
}
}
fclose(han3249);
}
// end of print3248
void print3250(char* cpt3250,int len3250,
FILE* han3250)
{
int ctr3250,rectr3250,olop3250,prod3250;
int ilop3250;
char one3250[1];
ctr3250=0;
while(ctr3250 < len3250)
{
*(one3250 + 0) = *(cpt3250 + ctr3250);
fwrite(one3250,1,1,han3250);
// copyable delay
olop3250=0;
while(olop3250 < prtdouter)
{
ilop3250=0;
while(ilop3250 < prtinnerd)
{
prod3250=prtretrace*prtdouter;
ilop3250=ilop3250+1;
}
olop3250=olop3250+1;
}
// end of delay loops
ctr3250=ctr3250+1;
}
rectr3250=0;
while(rectr3250 < prtretrace)
{
// copyable delay
olop3250=0;
while(olop3250 < prtdouter)
{
ilop3250=0;
while(ilop3250 < prtinnerd)
{
prod3250=prtretrace*prtdouter;
ilop3250=ilop3250+1;
}
olop3250=olop3250+1;
}
// end of delay loops
rectr3250=rectr3250+1;
}
}
// end of print3250
void delefthh(char* absathh,
long lenlhh,long hhone)
{
long lenlhj,dehhc,derhc;
lenlhj=lenlhh-hhone;
if(lenlhj < 0)lenlhj=0;
if(lenlhj > lenlhh)lenlhj=lenlhh;
dehhc=0;
derhc=dehhc+hhone;
while(dehhc < lenlhj)
{
derhc=dehhc+hhone;
*(absathh + dehhc) = *(absathh + derhc);
dehhc=dehhc+1;
}
if(hhone > 0)
{
while(derhc >= lenlhj)
{
if((derhc >= 0)&&(derhc < lenlhh))
{
*(absathh + derhc) = '\40';
}
derhc=derhc-1;
}
}
}
long lefmowid(char* abslmw,long lenlmw)
{
long lemores,lmooa,lmfirsta,lmwdc;
long lemoctr;
lmfirsta=1;
lmooa=1;
lemores=0;
lemoctr=0;
while(lmfirsta != 0)
{
lmwdc=(long)(*(abslmw + lemoctr));
if(lmwdc != 32)lmfirsta=0;
if(lmfirsta > 0)
{
lemoctr=lemoctr+1;
if(lemoctr >= lenlmw)lmfirsta=0;
}
}
if(lemoctr >= lenlmw)lmooa=0;
delefthh(abslmw,lenlmw,lemoctr);
while(lmooa > 0)
{
lmwdc=(long)(*(abslmw + lemores));
if(lmwdc == 32)lmooa=0;
if(lmooa > 0)
{
lemores=lemores+1;
if(lemores >= lenlmw)lmooa=0;
}
}
return lemores;
}
// end of lefmowid
long wordslin(char* wclinlp,long wclinwid)
{
long wrdslctr,wrdslcmp;
wrdslctr=0;
wrdslcmp=40;
while(wrdslcmp > 0)
{
wrdslcmp=lefmowid(wclinlp,wclinwid);
delefthh(wclinlp,wclinwid,wrdslcmp);
if(wrdslcmp > 0)
{
wrdslctr=wrdslctr+1;
if(wrdslctr >= wclinwid)wrdslcmp=0;
}
}
return wrdslctr;
}
// end of wordslin
void ron52640(char* z5ptr,char rosel)
{
if(dagra == 1505)goto zzl52640;
// variables have already been relocated
if((dagra>=26518)&&(dagra<=28959))goto roncmd38;
ron23389: if(dagra == 12643)goto r12643;
if(dagra == 12651)goto r12651;
if(dagra == 12735)goto r12735;
if(dagra == 12743)goto r12743;
if(dagra == 12779)goto r12779;
if(dagra == 12793)goto r12793;
if(dagra == 12799)goto r12799;
if(dagra == 12863)goto r12863;
if(dagra == 13075)goto r13075;
zzl52640: xe=1;
yre=1;
x=1;
y=1;
goto z52648;
// rem z52642 loop regular key regkey2176
// cls2330 clear screen
// z52642 R
z52642: cls2330();
x=xe;
y=yre;
z52645: freddy=12641;
dagra=freddy;
r12643: regkey2176();
if((freddy & 3) == 2)goto r52647;
goto ronbot40;
// 2349 regkey2176 within 2324 ron52640
r52647: xe=x;
yre=y;
z52648: kfc2398();
z52650d: freddy=12651;
goto ronbot40;
r12651: keytype5=archtype;
keychar5=archkey;
// conkey(&keytype5,&keychar5);
// call conkey 2356 within 2324 ron52640
// if(keytype5 == '0')goto z52650d;
if(keytype5 == '1')goto z52661;
// check for non-menu special keys
goto z52648;
z52661: if(keychar5 == '\15') goto z52642;
if(keychar5 == '\12')goto z52642;
if(keychar5 == '\33') goto z52800;
// insert char sixcase(char ulchr) before this
keycmd5=sixcase(keychar5);
z52662: if(keycmd5 == 'R')goto z52642;
if(keycmd5 != 'N')goto z52678;
z52674: new2608();
// z52674 N NEW
goto z52642;
z52678: if(keycmd5 == 'W')goto z52674;
// ***ERROR*** z52678 assigns same width
// to new wide as new .
z52679: if(keycmd5 == 'O')goto z52733;
z52680: if(keycmd5 == 'P')goto z52988;
z52681: if(keycmd5 == 'X')goto zxtog;
if(keycmd5 == 'J')goto wmoutog;
z52682: if(keycmd5 == 'L')goto z52736;
if(keycmd5 == '=')goto z52736;
// if(keycmd5 == '-')goto clipbopen;
// if(keycmd5 == '%')goto deswrclip;
z52683: if(keycmd5 == 'Z')goto zchgchk;
z52684: if(keycmd5 == 'A')goto z52776;
z52685: if(keycmd5 == 'U')goto zupcase;
z52686: if(keycmd5 == 'E')goto z52782;
z52687: if(keycmd5 == 'Q')goto z52800;
z52688: if(keycmd5 == 'F')goto z52804;
z52689: if(keycmd5 == 'G')goto z52814;
z52690: if(keycmd5 == 'C')goto zcmdlineg;
z52691: if(keycmd5 == 'M')goto z53000;
z52692: if(keycmd5 == 'T')goto z52708;
z52693: if(keycmd5 == 'B')goto z52714;
// z52694: if(keycmd5=='V')goto zzl52640.CHANGE
z52695: if(keycmd5 == 'D')goto z52720;
z52696: if(keycmd5 == 'I')goto z52860;
z52697: if(keycmd5 == 'Y')goto z53072;
// gap in numbers 52698 to 52704
z52705: if(keycmd5 == 'H')goto z53054;
z52706: goto z52642;
// z52708 TOF z52714 BOT
// z52708 T
z52708: yre=1;
xe=1;
goto z52642;
// z52714 B
z52714: yre=afilelen+1;
xe=1;
goto z52642;
// z52720 D bkgnD
z52720: bkgnd=32;
// ***ERROR*** unable to resolve llpriz(?)
// or 2462();
// substituting kfcl(int,char*);
cls2330();
yp=4;
kfcl(yp,litrlc(litharg,56));
yp=10;
// rr52730u: conkey(&keytype5,&keychar5);
// cancel conkey 2413 within ron52640
// if(keytype5 != '0')goto rr52730u;
rr52730d: freddy=12735;
goto ronbot40;
r12735: keytype5=archtype;
keychar5=archkey;
// conkey(&keytype5,&keychar5);
// call conkey 2416 within ron52640
// if(keytype5 == '0')goto rr52730d;
keycmd5=sixcase(keychar5);
bkgnd=keycmd5;
goto z52642;
// z52733 O z52733 open
z52733: y=afilelen+1;
cls2330();
yp=4;
kfcl(yp,litrlc(litharg,57));
opendell=2;
goto z52738;
// z52736 L load
z52736: opendell=1;
cls2330();
yp=4;
kfcl(yp,litrlc(litharg,58));
z52738: yp=10;
z52742: freddy=12741;
dagra=freddy;
r12743: open2520(z5ptr,opendell);
if((freddy & 3) == 2)goto r12742;
goto ronbot40;
r12742: commandgui=1;
// begin common read at z52743
z52743: ldal=clenval(alselset(z5ptr,(opendell+6)));
if(ldal<1)goto z52749;
arbcopy(fn2641,(alselset(z5ptr,(opendell+6))));
if(opendell<2)goto z52744;
// top of fn to nine
xxabase=alselset(z5ptr,9);
fl06=0;
uu2754: *(xxabase+fl06)='\40';
fl06=fl06+1;
if(fl06 < 16)goto uu2754;
tin611=clenval(alselset(z5ptr,(opendell+6)));
if(tin611 > 15)goto z52744;
kfcopy(xxabase,fn2641);
// bottom of fn to nine
// common file read
r52744: if(nzfileg == 1)goto z52744;
z52744: nzfileg=1;
genhanr=fopen(fn2641,"rb");
if(genhanr==NULL)goto z52749;
fseek(genhanr,0,SEEK_END);
fl06=ftell(genhanr);
fseek(genhanr,0,SEEK_SET);
if(afilelen == 0)goto z52746a;
chdoc=1;
z52746a: if(nzfileg == 1)goto z52746b;
z52746b: if(keycmd5=='L')goto z52746x;
if(keycmd5=='O')goto z52746x;
if(keycmd5 == '-')goto z52746x;
// z52746x plain text
z52746c: if(commandgui == 2)goto z52746x;
if((keycmd5=='=')&&(opendell==1))goto z52746r;
goto z52748;
z52746r: if(commandgui==1)goto z52747x;
goto z52748;
z52746x: read2426(z5ptr,opendell);
goto z52748;
z52747x: zahexgroup(z5ptr,11,a80w);
// rem 1743
z52748: if(nzfileg != 1)goto z52749;
fclose(genhanr);
z52749: fl06 = 0;
hv0c = 0;
if(nzfileg != 0)goto av52749;
av52749: nzfileg=0-20;
if(commandgui == 1)goto vv52749;
goto commandloop;
vv52749: yre=y;
// decide here how to exit read z52750 is gui
z52750: goto z52642;
deswrclip: commandgui=1;
goto z52642;
// z52776 A
// z52774 rem z52776 save as 2776
z52776: cls2330();
yp=4;
kfcl(yp,litrlc(litharg,53));
yp=10;
freddy=12777;
dagra=freddy;
r12779: writez2754(z5ptr);
if((freddy & 3) == 2)goto z52778;
goto ronbot40;
z52778: chdoc=0;
// 2674 fix freddy
z52779: goto z52642;
// z52780: rem z52782 exit
// z52782 E
z52782: if(chdoc == 0)goto z52800;
z52784: yp=8;
cls2330();
yp=6;
kfcl(yp,litrlc(litharg,55));
yp=12;
// z52792u: conkey(&keytype5,&keychar5);
// cancel conkey 2508
// if(keytype5 != '0')goto z52792u;
z52792d: freddy=12793;
goto ronbot40;
r12793: keytype5=archtype;
keychar5=archkey;
// conkey(&keytype5,&keychar5);
// call conkey 2511 within ron52640
// if(keytype5 == '0')goto z52792d;
// key not yet pressed if keytype5==0
keycmd5=sixcase(keychar5);
z52794: if(keycmd5 == 'N')goto z52800;
if(keycmd5 == 'Y')goto z52797;
z52796: goto zzl52640;
z52797: cls2330();
yp=4;
kfcl(yp,litrlc(litharg,54));
yp=10;
freddy=12797;
dagra=freddy;
r12799: writez2754(z5ptr);
if((freddy & 3) == 2)goto r12798;
goto ronbot40;
r12798: chdoc=0;
// z52798: rem z52800 quit
// z52800 Q
z52800: cls2330();
freddy=14040;
goto z53098;
// z52802: REM z52804 lowleftx lowlefty
// z52804 F set upleFt
z52804: lowleftx=xe;
lowlefty=yre;
z52808: goto z52642;
// z52810: rem z52814 uprightx uprighty
// z52814 G set upright
z52814: uprightx=xe;
uprighty=yre;
z52818: goto z52642;
// z52858: rem z52860 FIND
// z52860 I
z52860: yp=4;
cls2330();
yp=4;
kfcl(yp,litrlc(litharg,59));
yp=6;
opendell=0;
freddy=12861;
dagra=freddy;
r12863: open2520(z5ptr,opendell);
if((freddy & 3) == 2)goto r12862;
goto ronbot40;
r12862: lfdal=1;
if(prevfound != '\040')goto z52868;
lfdal=a80w;
z52868: if(find2822(z5ptr,y,lfdal)==0)goto z52878;
y=y+1;
yre=y;
if(y < (afilelen+1))goto z52868;
z52876: goto z52648;
// z52877: rem found z52878;
z52878: goto z52642;
// z52986 REM z52988 copy block lower left
// requesting z52988 P coPy block lower
// left in if tree above
z52988: john2938(z5ptr);
z52990: lowleftx=lowleftb;
lowlefty=lowleftc;
uprighty=uprighty+jydiff;
uprightx=uprightx+jxdiff;
chdoc=1;
z52997: goto z52642;
// z52998: rem z53000 move block lower left
// z53000 M
z53000: john2938(z5ptr);
chdoc=1;
if(jxwidth<1)goto z52642;
z53003: if(jyheight<1)goto z52642;
z53004: if(lowleftx != lowleftb)goto z53008;
z53005: if(lowlefty == lowleftc)goto z52642;
z53008: tzrx=uprightx+jxdiff;
tzby=uprighty+jydiff;
yyectr=lowlefty;
z53020: xxjctr=lowleftx;
alsel=1;
z53026: xxabase=alselset(z5ptr,alsel);
aptread(xxabase,yyectr);
z53028: xxasub=xxabase+(xxjctr-1);
if(xxjctr<lowleftb)goto z53040;
if(xxjctr>tzrx)goto z53040;
if(yyectr<lowleftc)goto z53040;
if(yyectr>tzby)goto z53040;
goto z53042;
z53040: *xxasub = bkgnd;
z53042: xxjctr=xxjctr+1;
z53043: aptwrite(xxabase,yyectr);
z53046: if(xxjctr<(uprightx+1))goto z53028;
yyectr=yyectr+1;
if(yyectr<(uprighty+1))goto z53020;
z53050: goto z52990;
// z53053 rem z53054 undefined or incomplete
// z53054 H rightmost
z53054: alsel=1;
xxabase=alselset(z5ptr,alsel);
aptread(xxabase,yre);
ldal=clenval(xxabase);
xe=ldal+1;
if(x == xe)goto x53067;
if(xe<=a80w)goto z53068;
x53067: xe=a80w;
z53068: clearline(xxabase);
x=xe;
goto z52642;
// z53072 attempting to add y Ylinenumber
// at Y z53072 on March 26, 2003
z53072: cls2330();
yp=4;
kfcl(yp,litrlc(litharg,60));
yp=6;
opendell=0;
freddy=13073;
dagra=freddy;
r13075: open2520(z5ptr,opendell);
if((freddy & 3) == 2)goto r13074;
goto ronbot40;
r13074: y=0;
y=numberget(alselset(z5ptr,(opendell+6)),1,8,10);
if(afilelen < y)y=afilelen+1;
if(y < 1)y=1;
yre=y;
goto z52642;
zupcase: uppercase = (97 - uppercase);
goto z52642;
zxtog: marginselect = (8 - marginselect);
goto z52642;
wmoutog: winmousea=1-winmousea;
if(insertype==0)winmousea=0;
goto z52642;
zchgchk: if(chdoc == 0)goto znochg;
goto z52648;
znochg: goto z52642;
// zcmdlineg is c list commands
zcmdlineg: rcmdctr=ypheight+12;
xe=x;
yre=y;
zcmdlindg: if(rcmdctr<11)goto zcmdlincg;
clearline(alselset(crz0160,rcmdctr));
rcmdctr=rcmdctr-1;
goto zcmdlindg;
zcmdlincg: goto commandloop;
cmderror: kfclev(litrlc(litharg,1));
commandprn();
commandloop: if(y<1)y=1;
if(afilelen<y)y=afilelen+1;
commandprn();
numberprn(alselset(crz0160,11),18,7,10,y);
commandprn();
kfclev(litrlc(litharg,3));
commandprn();
kfclev(litrlc(litharg,16));
commandprn();
kfclev(litrlc(litharg,29));
commandprn();
kfclev(litrlc(litharg,61));
commandprn();
freddy=26518;
goto ronbot40;
ron26519: cmdhmcur();
commandprn();
numberprn(alselset(crz0160,11),4,2,10,curcommand);
numberprn(alselset(crz0160,11),8,7,10,howmanycmd);
numberprn(alselset(crz0160,11),18,7,10,y);
commandprn();
// begin curcommand if section
tokrah3: if(curcommand != 3)goto tokrah4;
// 3 is insertb
kfclev(litrlc(litharg,62));
insertbc: commandprn();
freddy=26648;
goto ronbot40;
ron26649: aptinsert(alselset(crz0160,11));
commandprn();
y=y-1;
chdoc=1;
goto commandloop;
tokrah4: if(curcommand != 4)goto tokrah5;
// 4 is insert
kfclev(litrlc(litharg,63));
if(afilelen < y)goto insertbc;
y=y+1;
goto insertbc;
tokrah5: if(curcommand != 5)goto tokrah6;
// 5 is delete
deletemany(howmanycmd);
chdoc=1;
goto commandloop;
tokrah6: if(curcommand != 6)goto tokrah7;
// 6 is af or wc
wordctra=0;
rcmdctr=0;
wcctop07: rcmdctr=rcmdctr+1;
if(rcmdctr > afilelen)goto wcdbot07;
aptread(alselset(crz0160,3),rcmdctr);
wordctra=wordctra+wordslin(alselset(crz0160,3),a80w);
goto wcctop07;
wcdbot07: if(wordctra < 1)goto cmderror;
numberprn(alselset(crz0160,11),18,9,10,wordctra);
commandprn();
if(howmanycmd < 239)goto wcdchk75;
if(howmanycmd > 363)goto wcdchk75;
wcminute=howmanycmd-300;
wcdchk75: if(howmanycmd < 75)goto commandloop;
if(howmanycmd > 125)goto commandloop;
wchour=howmanycmd-100;
goto commandloop;
tokrah7: if(curcommand != 7)goto tokrah8;
// 7 is m mright
rcmdctr=0;
if(y>afilelen)y=y-cmdheight;
rahm7: aptread(alselset(crz0160,11),(y+rcmdctr));
commandprn();
rcmdctr=rcmdctr+1;
if(rcmdctr < cmdheight)goto rahm7;
y=y+rcmdctr;
goto commandloop;
tokrah8: if(curcommand != 8)goto tokrah9;
// 8 is k kleft
rcmdctr=0;
rahm8: aptread(alselset(crz0160,11),(y+rcmdctr));
commandprn();
rcmdctr=rcmdctr+1;
if(rcmdctr<cmdheight)goto rahm8;
y=y-rcmdctr;
goto commandloop;
tokrah9: if(curcommand != 9)goto tokrah10;
// 9 is tof
y=1;
tofbotprn: if(y<1)y=1;
if(y>afilelen)y=afilelen+1;
aptread(alselset(crz0160,11),y);
commandprn();
goto commandloop;
tokrah10: if(curcommand != 10)goto tokrah11;
// 10 is bot
y=afilelen;
goto tofbotprn;
tokrah11: if(curcommand != 11)goto tokrah12;
// 11 is up
y=y-howmanycmd;
goto tofbotprn;
tokrah12: if(curcommand != 12)goto tokrah13;
// 12 is down
y=y+howmanycmd;
goto tofbotprn;
tokrah13: if(curcommand != 13)goto tokrah14;
// 13 is input
kfclev(litrlc(litharg,64));
commandprn();
y=afilelen+1;
// skip y=afilelen+1 in inputc
inputloop: freddy=27298;
goto ronbot40;
ron27299: rcmdctr=clenval(alselset(crz0160,11));
if(rcmdctr == 0)goto inputloov;
aptinsert(alselset(crz0160,11));
commandprn();
chdoc=1;
goto inputloop;
inputloov: goto commandloop;
// bottom of duplicate section
tokrah14: if(curcommand != 14)goto tokrah15;
// 14 is quit
if(howmanycmd != 0)y=howmanycmd;
aptread(alselset(crz0160,11),y);
cvgcline(crz0160,11,(ypheight+1),5);
// rem 14 quit
freddy=14040;
goto z53098;
tokrah15: if(curcommand != 15)goto tokrah16;
// 15 is print (not supported in non-dos systems)
if(chdoc != 0)goto cmderror;
print3248();
goto commandloop;
tokrah16: if(curcommand != 16)goto tokrah17;
// 16 is replace
aptread(alselset(crz0160,11),y);
commandprn();
kfclev(litrlc(litharg,65));
commandprn();
freddy=27558;
goto ronbot40;
// commandprn();
ron27559: rcmdctr=clenval(alselset(crz0160,11));
if(rcmdctr != 0)goto fastreplace;
kfclev(litrlc(litharg,66));
commandprn();
freddy=27628;
goto ronbot40;
// commandprn();
ron27629: ch3385=sixcase(*alselset(crz0160,11));
if(ch3385 != 'Y')goto skipreplace;
clearline(alselset(crz0160,11));
fastreplace: aptwrite(alselset(crz0160,11),y);
chdoc=1;
skipreplace: commandprn();
goto commandloop;
tokrah17: if(curcommand != 17)goto tokrah18;
// 17 is v
rcmdctr=0;
rahmv: aptread(alselset(crz0160,11),(y+rcmdctr));
commandprn();
rcmdctr=rcmdctr+1;
if(rcmdctr < cmdheight)goto rahmv;
goto commandloop;
tokrah18: if(curcommand != 18)goto tokrah19;
// 18 is open
commandgui=2;
fn1113();
tin611=clenval(alselset(crz0160,11));
if(tin611 != 0)goto cmdreadrdy;
kfclev(litrlc(litharg,57));
commandprn();
freddy=27868;
goto ronbot40;
ron27869: ij3409=clenval(alselset(crz0160,11));
if(ij3409 != 0)goto cmdreadrdy;
goto cmderror;
cmdreadrdy: lp3412=alselset(crz0160,11);
aptlocloc(alselset(crz0160,8),lp3412,a80w);
commandprn();
opendell=2;
goto z52743;
// z52743 is common read
tokrah19: if(curcommand != 19)goto tokrah20;
// 19 is save
commandgui=2;
wbe2469=1;
fn1113();
tin611=clenval(alselset(crz0160,11));
if(tin611 != 0)goto cmdwriterdy;
tin611=clenval(alselset(crz0160,8));
if(tin611 == 0)goto cmdwrlev;
aptlocloc(alselset(crz0160,11),alselset(crz0160,8),a80w);
goto cmdwriterdy;
cmdwrlev: kfclev(litrlc(litharg,54));
commandprn();
freddy=28058;
goto ronbot40;
ron28059: ij3409=clenval(alselset(crz0160,11));
if(ij3409!=0)goto cmdwriterdy;
goto cmderror;
cmdwriterdy: arbcopy(wfn2756,alselset(crz0160,11));
genhanw=fopen(wfn2756,"wb");
if(genhanw==NULL)goto cmderror;
write2470();
fclose(genhanw);
freddy=14040;
goto z53098;
tokrah20: if(curcommand != 20)goto tokrah21;
// 20 is new
new2608();
goto commandloop;
tokrah21: if(curcommand != 21)goto tokrah22;
// 21 is change
aptread(alselset(crz0160,6),y);
kfclev(litrlc(litharg,67));
commandprn();
aptlocloc(alselset(crz0160,11),alselset(crz0160,6),a80w);
commandprn();
freddy=28358;
goto ronbot40;
ron28359: chreqlen=clenval(alselset(crz0160,11));
chlevbase=alselset(crz0160,11);
chsixbase=alselset(crz0160,6);
chctr40=0;
changerah: if(chctr40>=chreqlen)goto skipchanget;
chchr40 = *(chlevbase+chctr40);
if(chchr40 == '\40')goto skipchanger;
*(chsixbase+chctr40)=chchr40;
skipchanger: chctr40=chctr40+1;
goto changerah;
skipchanget: commandprn();
aptwrite(alselset(crz0160,6),y);
chdoc=1;
aptlocloc(alselset(crz0160,11),alselset(crz0160,6),a80w);
clearline(alselset(crz0160,6));
commandprn();
goto commandloop;
tokrah22: if(curcommand != 22)goto tokrah23;
// 22 is find
fn1113();
tin611=clenval(alselset(crz0160,11));
if(tin611 != 0)goto cmdfindmid;
kfclev(litrlc(litharg,59));
commandprn();
freddy=28608;
goto ronbot40;
cmdfindmid: lp3412=alselset(crz0160,11);
aptlocloc(alselset(crz0160,6),lp3412,a80w);
commandprn();
cmdfindchk: tin611=find2822(crz0160,y,1);
if(tin611 == 0)goto cmdfound;
y=y+1;
if(afilelen < y)goto cmdnotfound;
goto cmdfindchk;
cmdfound: aptread(alselset(crz0160,11),y);
commandprn();
goto commandloop;
cmdnotfound: goto cmderror;
tokrah23: if(curcommand != 23)goto tokrah24;
// 23 is list
if(afilelen < 1)goto cmdnotfound;
chctr40=1;
listouter: rcmdctr=0;
listinner: if(chctr40 > afilelen)goto cmdlisbyot;
aptread(alselset(crz0160,11),chctr40);
chctr40=chctr40+1;
commandprn();
rcmdctr=rcmdctr+1;
if(rcmdctr < cmdheight)goto listinner;
kfclev(litrlc(litharg,68));
commandprn();
freddy=28858;
goto ronbot40;
ron28859: ch3385=sixcase(*(alselset(crz0160,11)));
if(ch3385 == 'H')goto cmdlisbyot;
goto listouter;
cmdlisbyot: goto commandloop;
// 23 is list
tokrah24: if(curcommand != 24)goto tokrah25;
// 24 is inputc
kfclev(litrlc(litharg,69));
commandprn();
inputcloop: freddy=28958;
goto ronbot40;
ron28959: rcmdctr=clenval(alselset(crz0160,11));
if(rcmdctr == 0)goto inputcboov;
if(y>afilelen)goto inputczool;
y=y+1;
inputczool: aptinsert(alselset(crz0160,11));
chdoc=1;
commandprn();
y=y-1;
goto inputcloop;
inputcboov: goto commandloop;
// bottom of duplicate section
tokrah25: if(curcommand != 25)goto tokrah26;
// 25 is uc
uppercase=97;
goto commandloop;
tokrah26: if(curcommand != 26)goto tokrah27;
// 26 is lc
uppercase=0;
goto commandloop;
tokrah27: if(curcommand != 27)goto tokrah28;
// rem 27 gui
x=xe;
y=yre;
// rem 28 guiy
goto z52642;
tokrah28: if(curcommand != 28)goto tokrah29;
xe=x;
yre=y;
goto z52642;
tokrah29: goto cmderror;
// z53098 extended quit or q
z53098: ldal=1;
goto ronbot40;
roncmd38: ldal=2;
if(dagra == 26519)goto ron26519;
if(dagra == 26649)goto ron26649;
if(dagra == 27299)goto ron27299;
if(dagra == 27559)goto ron27559;
if(dagra == 27629)goto ron27629;
if(dagra == 27869)goto ron27869;
if(dagra == 28059)goto ron28059;
if(dagra == 28359)goto ron28359;
if(dagra == 28609)goto cmdfindmid;
if(dagra == 28859)goto ron28859;
if(dagra == 28959)goto ron28959;
goto ron23389;
ronbot40: ij3409=1;
if((freddy & 1) != 0)ij3409=0;
if(freddy < 26518)ij3409=0;
if(freddy > 28959)ij3409=0;
if(ij3409 == 1)
{
rahkctr=0;
ncrix=x;
clearline(alselset(crz0160,11));
x=1;
cvgcline(crz0160,11,(ypheight+1),1);
x=ncrix;
}
ij3409=0;
}
// end of ron52640
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 gagetch(int nzwait)
// {
// int gares,gaterm;
// gares=0;
// gaterm=0;
// if(nzwait == 0)goto zeekeep;
// zeukeep: gaterm=(vga_getkey() & 255);
// if(gaterm == 0)goto zeekeep;
// if(gaterm != 0)goto zeukeep;
// zeekeep: gaterm=(vga_getkey() & 255);
// if(nzwait == 0)gares=gaterm;
// if(nzwait == 0)goto zeekbot;
// if(gaterm == 0)goto zeekeep;
// zeenext: gares = gares * 256;
// gares = gares + gaterm;
// gaterm=(vga_getkey() & 255);
// if(gaterm == 0)goto zeekbot;
// goto zeenext;
// zeekbot: gaterm=gares;
// return gaterm;
// }
int onexwchr(int xwcpos,char xwclist[])
{
int onexwres;
char onexwtcr;
onexwtcr = xwclist[xwcpos];
onexwres = (int)onexwtcr;
if(onexwres < 0)onexwres = onexwres + 256;
return onexwres;
}
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 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
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;
}
}
}
// restore iktmany(imxt) next 3449
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,"110F023247248");
ilinemake(imxt,"112F013249");
ilinemake(imxt,"113F06324B24D24F250251252");
ilinemake(imxt,"119F013253");
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");
// ++++++
// broken ilinemake(imxt,"368F0122F");
}
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*)
void fi(char* ftargt,int cfash,
int cpar,int iildata)
{
char ficran[50];
int ftarsub;
int cfasbase,cpalinee,iicresult,iicy;
long iirem,fictr;
long lildata,lilbase,lilwidth;
long lilstart,lilresult;
cfasbase=cfash * 256;
cpalinee=16*(cpar-300);
iicy=10;
lilbase=(long)iicy;
iicy=9;
lilwidth=(long)iicy;
iicy=1;
lilstart=(long)iicy;
iicy=200000000;
lilresult=(long)iicy;
iicy=2;
lildata=(long)iildata;
lildata=lildata-lilresult;
numberprn(ficran,lilstart,lilwidth,
lilbase,lildata);
lilbase=(long)iicy;
iicy=0;
lilresult=numberget(ficran,
lilstart,lilwidth,lilbase);
iirem=0;
if(vidrev==0)iirem=((int)lilresult)>>1;
if(vidrev>0)iirem=127-(((int)lilresult)>>1);
fictr=0;
while(fictr < 16)
{
iicy=iicy+iicy;
iirem=iirem+iirem;
if(iirem > 255)
{
iirem=iirem-256;
iicy=iicy+1;
}
iicresult=iirem;
// if(iirem > 127)iicresult=iirem-256;
ftarsub=cfasbase+cpalinee+fictr+1;
// *(ftargt+ftarsub)=(char)iicresult;
*(ftargt+ftarsub)=edflipbay[iicresult];
iicresult=iicy;
// if(iirem > 127)iicresult=iicy-256;
ftarsub=cfasbase+cpalinee+fictr;
// *(ftargt+ftarsub)=(char)iicresult;
*(ftargt+ftarsub)=edflipbay[iicresult];
fictr=fictr+2;
}
}
// end of fi
void fospread(int fsub458,char fdat456)
{
// spread tiny font 4*5 within 5*6 box to 5*8
// array
int fsub456,fosred456,fosrem456;
int fosl456,fosr456,fosbase456,fosrace456;
int fis456,fospoz456,fosdes456,ftar455,ftal455;
char ftar456,ftal456;
fsub456 = fsub458 >> 3;
fosred456 = fsub458 & 7;
fosbase456 = fsub456 * 16;
fosrem456 = 0;
while(fosrem456 < 8)
{
fis456 = (int)fdat456;
if(fis456 < 0)fis456 = fis456 + 256;
fis456 = fis456 >> 3;
fis456 = fis456 & 31;
fospoz456 = fosrem456 * 4;
fosdes456=(fosrem456*2)+(fosred456*16)+(fsub456*128);
ftar455 = fis456 >> (100 - tnyfopoz[fospoz456+1]);
ftal455 = fis456 << tnyfopoz[fospoz456+3];
ftal455 = ftal455 & 255;
// ftar456 = (char)(255-ftar455);
// ftal456 = (char)(255-ftal455);
ftar456=(char)ftar455;
ftal456=(char)ftal455;
fonthold[fosdes456]=smallxor(fonthold[fosdes456],
ftar456);
fonthold[fosdes456+1]=smallxor(fonthold[fosdes456+1],
ftal456);
fosrem456=fosrem456+1;
}
}
// end of fospread
void fjload()
{
// Lukeder font for substantial
// applications programs.
// (1+5+2) * (1+9+6)
// Lukeder 5*9 character within 7*11 box
// within 8*16 array font
// use 7*12 box if underline cursor
// Copyright C 2006 by Eric Matteson. Permission
// is granted to use this font at least in Linux
// applications programs and c language programs.
// void fi(char* ftargt,int cfasch,
// int cpar,int iildata);
// ft[65536] sf 315 211110000
sf=0;
while(sf < 65536)
{
ft[sf]='\0';
sf=sf+1;
}
// ------------------------R 32 blank
sf=1032-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200000000);
fi(ft,sf,302,200000000);
fi(ft,sf,303,200000000);
fi(ft,sf,304,200000000);
fi(ft,sf,305,200000000);
fi(ft,sf,306,200000000);
fi(ft,sf,307,200000000);
fi(ft,sf,308,200000000);
fi(ft,sf,309,200000000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// int int
// ------------------------R 33 !
sf=1033-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200001000);
fi(ft,sf,302,200001000);
fi(ft,sf,303,200001000);
fi(ft,sf,304,200001000);
fi(ft,sf,305,200001000);
fi(ft,sf,306,200001000);
fi(ft,sf,307,200001000);
fi(ft,sf,308,200000000);
fi(ft,sf,309,200001000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// ..
// ---- ------------ right
// 34 double quotes
sf=1034-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200100100);
fi(ft,sf,302,200100100);
fi(ft,sf,303,200000000);
fi(ft,sf,304,200000000);
fi(ft,sf,305,200000000);
fi(ft,sf,306,200000000);
fi(ft,sf,307,200000000);
fi(ft,sf,308,200000000);
fi(ft,sf,309,200000000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// int int
// -------------- 35 pound sign
sf=1035-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200101000);
fi(ft,sf,302,200101000);
fi(ft,sf,303,201111100);
fi(ft,sf,304,200101000);
fi(ft,sf,305,200101000);
fi(ft,sf,306,201111100);
fi(ft,sf,307,200101000);
fi(ft,sf,308,200101000);
fi(ft,sf,309,200101000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// ..
// ---- ------------ right
// 36 dollar sign
sf=1036-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200010000);
fi(ft,sf,302,200110000);
fi(ft,sf,303,201010000);
fi(ft,sf,304,200110000);
fi(ft,sf,305,200011000);
fi(ft,sf,306,200010100);
fi(ft,sf,307,200010100);
fi(ft,sf,308,200011000);
fi(ft,sf,309,200010000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// ..
// ---- ------------ right
// 37 percent
sf=1037-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,201110100);
fi(ft,sf,302,201010100);
fi(ft,sf,303,201110100);
fi(ft,sf,304,200001000);
fi(ft,sf,305,200010000);
fi(ft,sf,306,200111100);
fi(ft,sf,307,201010100);
fi(ft,sf,308,201011100);
fi(ft,sf,309,200000000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// ..
// ---- ------------ right
// 38 and
sf=1038-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200111000);
fi(ft,sf,302,200101000);
fi(ft,sf,303,200010000);
fi(ft,sf,304,200110000);
fi(ft,sf,305,201101000);
fi(ft,sf,306,201000100);
fi(ft,sf,307,201000100);
fi(ft,sf,308,201001000);
fi(ft,sf,309,200110000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// ..
// ---- ------------ right
// 39 single quote
sf=1039-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200010000);
fi(ft,sf,302,200000000);
fi(ft,sf,303,200000000);
fi(ft,sf,304,200000000);
fi(ft,sf,305,200000000);
fi(ft,sf,306,200000000);
fi(ft,sf,307,200000000);
fi(ft,sf,308,200000000);
fi(ft,sf,309,200000000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// int int
// ------- 40 left parenthises
sf=1040-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200000100);
fi(ft,sf,302,200001000);
fi(ft,sf,303,200010000);
fi(ft,sf,304,200100000);
fi(ft,sf,305,200100000);
fi(ft,sf,306,200100000);
fi(ft,sf,307,200010000);
fi(ft,sf,308,200001000);
fi(ft,sf,309,200000100);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// ------- 41 right parenthises
sf=1041-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,201000000);
fi(ft,sf,302,200100000);
fi(ft,sf,303,200010000);
fi(ft,sf,304,200001000);
fi(ft,sf,305,200001000);
fi(ft,sf,306,200001000);
fi(ft,sf,307,200010000);
fi(ft,sf,308,200100000);
fi(ft,sf,309,201000000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// ------- 42 asterisk
sf=1042-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,201010100);
fi(ft,sf,302,201010100);
fi(ft,sf,303,200111000);
fi(ft,sf,304,200010000);
fi(ft,sf,305,200111000);
fi(ft,sf,306,201010100);
fi(ft,sf,307,201010100);
fi(ft,sf,308,201000100);
fi(ft,sf,309,200000000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// -------- 43 plus
sf=1043-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200000000);
fi(ft,sf,302,200010000);
fi(ft,sf,303,200010000);
fi(ft,sf,304,200010000);
fi(ft,sf,305,201111100);
fi(ft,sf,306,200010000);
fi(ft,sf,307,200010000);
fi(ft,sf,308,200010000);
fi(ft,sf,309,200000000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// ------ 44 comma
sf=1044-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200000000);
fi(ft,sf,302,200000000);
fi(ft,sf,303,200000000);
fi(ft,sf,304,200000000);
fi(ft,sf,305,200000000);
fi(ft,sf,306,200000000);
fi(ft,sf,307,200000000);
fi(ft,sf,308,200011000);
fi(ft,sf,309,200001000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// ------ 45 minus
sf=1045-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200000000);
fi(ft,sf,302,200000000);
fi(ft,sf,303,200000000);
fi(ft,sf,304,200000000);
fi(ft,sf,305,200111100);
fi(ft,sf,306,200000000);
fi(ft,sf,307,200000000);
fi(ft,sf,308,200000000);
fi(ft,sf,309,200000000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// ------------------------R
// ---- 46 period decimal point
sf=1046-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200000000);
fi(ft,sf,302,200000000);
fi(ft,sf,303,200000000);
fi(ft,sf,304,200000000);
fi(ft,sf,305,200000000);
fi(ft,sf,306,200000000);
fi(ft,sf,307,200000000);
fi(ft,sf,308,200001000);
fi(ft,sf,309,200000000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// ------------------------R
// ---- 47 divide
sf=1047-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200000000);
fi(ft,sf,302,200000000);
fi(ft,sf,303,200000100);
fi(ft,sf,304,200001000);
fi(ft,sf,305,200010000);
fi(ft,sf,306,200100000);
fi(ft,sf,307,201000000);
fi(ft,sf,308,200000000);
fi(ft,sf,309,200000000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// -------- 48 0
sf=1048-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,201111100);
fi(ft,sf,302,201111100);
fi(ft,sf,303,201000100);
fi(ft,sf,304,201000100);
fi(ft,sf,305,201000100);
fi(ft,sf,306,201000100);
fi(ft,sf,307,201000100);
fi(ft,sf,308,201111100);
fi(ft,sf,309,201111100);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// -------- 49 1
sf=1049-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200001100);
fi(ft,sf,302,200010100);
fi(ft,sf,303,200000100);
fi(ft,sf,304,200000100);
fi(ft,sf,305,200000100);
fi(ft,sf,306,200000100);
fi(ft,sf,307,200000100);
fi(ft,sf,308,200000100);
fi(ft,sf,309,200000100);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// -------- 50 2
sf=1050-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,201111100);
fi(ft,sf,302,201111100);
fi(ft,sf,303,200000100);
fi(ft,sf,304,200000100);
fi(ft,sf,305,201111100);
fi(ft,sf,306,201000000);
fi(ft,sf,307,201000000);
fi(ft,sf,308,201111100);
fi(ft,sf,309,201111100);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// -------- 51 3
sf=1051-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,201111100);
fi(ft,sf,302,201111100);
fi(ft,sf,303,200000100);
fi(ft,sf,304,200000100);
fi(ft,sf,305,201111100);
fi(ft,sf,306,200000100);
fi(ft,sf,307,200000100);
fi(ft,sf,308,201111100);
fi(ft,sf,309,201111100);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// -------- 52 4
sf=1052-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,201000100);
fi(ft,sf,302,201000100);
fi(ft,sf,303,201000100);
fi(ft,sf,304,201111100);
fi(ft,sf,305,201111100);
fi(ft,sf,306,200000100);
fi(ft,sf,307,200000100);
fi(ft,sf,308,200000100);
fi(ft,sf,309,200000100);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// -------- 53 5
sf=1053-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,201111100);
fi(ft,sf,302,201111100);
fi(ft,sf,303,201000000);
fi(ft,sf,304,201000000);
fi(ft,sf,305,201111100);
fi(ft,sf,306,200000100);
fi(ft,sf,307,200000100);
fi(ft,sf,308,201111100);
fi(ft,sf,309,201111100);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// -------- 54 6
sf=1054-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,201111100);
fi(ft,sf,302,201111100);
fi(ft,sf,303,201000000);
fi(ft,sf,304,201000000);
fi(ft,sf,305,201111100);
fi(ft,sf,306,201000100);
fi(ft,sf,307,201000100);
fi(ft,sf,308,201111100);
fi(ft,sf,309,201111100);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// -------- 55 7
sf=1055-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,201111100);
fi(ft,sf,302,201111100);
fi(ft,sf,303,200000100);
fi(ft,sf,304,200000100);
fi(ft,sf,305,200000100);
fi(ft,sf,306,200000100);
fi(ft,sf,307,200000100);
fi(ft,sf,308,200000100);
fi(ft,sf,309,200000100);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// -------- 56 8
sf=1056-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,201111100);
fi(ft,sf,302,201111100);
fi(ft,sf,303,201000100);
fi(ft,sf,304,201000100);
fi(ft,sf,305,201111100);
fi(ft,sf,306,201000100);
fi(ft,sf,307,201000100);
fi(ft,sf,308,201111100);
fi(ft,sf,309,201111100);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// -------- 57 9
sf=1057-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,201111100);
fi(ft,sf,302,201111100);
fi(ft,sf,303,201000100);
fi(ft,sf,304,201000100);
fi(ft,sf,305,201111100);
fi(ft,sf,306,200000100);
fi(ft,sf,307,200000100);
fi(ft,sf,308,201111100);
fi(ft,sf,309,201111100);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// -------- 58 colon
sf=1058-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200000000);
fi(ft,sf,302,200000000);
fi(ft,sf,303,200010000);
fi(ft,sf,304,200000000);
fi(ft,sf,305,200000000);
fi(ft,sf,306,200010000);
fi(ft,sf,307,200000000);
fi(ft,sf,308,200000000);
fi(ft,sf,309,200000000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// int int
// -------- 59 semicolon
sf=1059-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200000000);
fi(ft,sf,302,200000000);
fi(ft,sf,303,200010000);
fi(ft,sf,304,200000000);
fi(ft,sf,305,200000000);
fi(ft,sf,306,200010000);
fi(ft,sf,307,200110000);
fi(ft,sf,308,200000000);
fi(ft,sf,309,200000000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// int int
// --------------- 60 less
sf=1060-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200000100);
fi(ft,sf,302,200001000);
fi(ft,sf,303,200010000);
fi(ft,sf,304,200100000);
fi(ft,sf,305,201000000);
fi(ft,sf,306,200100000);
fi(ft,sf,307,200010000);
fi(ft,sf,308,200001000);
fi(ft,sf,309,200000100);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// int int
// ---------------- 61 equal
sf=1061-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200000000);
fi(ft,sf,302,200000000);
fi(ft,sf,303,201111100);
fi(ft,sf,304,200000000);
fi(ft,sf,305,200000000);
fi(ft,sf,306,200000000);
fi(ft,sf,307,201111100);
fi(ft,sf,308,200000000);
fi(ft,sf,309,200000000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// int int
// -------------- 62 greater
sf=1062-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,201000000);
fi(ft,sf,302,200100000);
fi(ft,sf,303,200010000);
fi(ft,sf,304,200001000);
fi(ft,sf,305,200000100);
fi(ft,sf,306,200001000);
fi(ft,sf,307,200010000);
fi(ft,sf,308,200100000);
fi(ft,sf,309,201000000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// int int
// ---- 63 question
sf=1063-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,201111100);
fi(ft,sf,302,200000100);
fi(ft,sf,303,200000100);
fi(ft,sf,304,200011100);
fi(ft,sf,305,200010000);
fi(ft,sf,306,200010000);
fi(ft,sf,307,200000000);
fi(ft,sf,308,200010000);
fi(ft,sf,309,200000000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// int int
// ---- 64 at
sf=1064-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200111100);
fi(ft,sf,302,201000100);
fi(ft,sf,303,200001000);
fi(ft,sf,304,200111000);
fi(ft,sf,305,201001000);
fi(ft,sf,306,200101000);
fi(ft,sf,307,200111000);
fi(ft,sf,308,200010000);
fi(ft,sf,309,200000000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// int int
// ---- 65 A
sf=1065-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,201111100);
fi(ft,sf,302,201111100);
fi(ft,sf,303,201000100);
fi(ft,sf,304,201000100);
fi(ft,sf,305,201111100);
fi(ft,sf,306,201000100);
fi(ft,sf,307,201000100);
fi(ft,sf,308,201000100);
fi(ft,sf,309,201000100);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// -------- 66 B
sf=1066-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,201110000);
fi(ft,sf,302,201001000);
fi(ft,sf,303,201000100);
fi(ft,sf,304,201001000);
fi(ft,sf,305,201110000);
fi(ft,sf,306,201001000);
fi(ft,sf,307,201000100);
fi(ft,sf,308,201001000);
fi(ft,sf,309,201110000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// -------- 67 C
sf=1067-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,201111100);
fi(ft,sf,302,201111100);
fi(ft,sf,303,201000000);
fi(ft,sf,304,201000000);
fi(ft,sf,305,201000000);
fi(ft,sf,306,201000000);
fi(ft,sf,307,201000000);
fi(ft,sf,308,201111100);
fi(ft,sf,309,201111100);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// ------- 68 D
sf=1068-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200000000);
fi(ft,sf,302,201000000);
fi(ft,sf,303,201100000);
fi(ft,sf,304,201010000);
fi(ft,sf,305,201001000);
fi(ft,sf,306,201000100);
fi(ft,sf,307,201001000);
fi(ft,sf,308,201010000);
fi(ft,sf,309,201100000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// ------- 69 E
sf=1069-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,201111100);
fi(ft,sf,302,201111100);
fi(ft,sf,303,201000000);
fi(ft,sf,304,201000000);
fi(ft,sf,305,201111100);
fi(ft,sf,306,201000000);
fi(ft,sf,307,201000000);
fi(ft,sf,308,201111100);
fi(ft,sf,309,201111100);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// -------- 70 F
sf=1070-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,201111100);
fi(ft,sf,302,201111100);
fi(ft,sf,303,201000000);
fi(ft,sf,304,201000000);
fi(ft,sf,305,201111100);
fi(ft,sf,306,201000000);
fi(ft,sf,307,201000000);
fi(ft,sf,308,201000000);
fi(ft,sf,309,201000000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// -------- 71 G
sf=1071-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,201111100);
fi(ft,sf,302,201111100);
fi(ft,sf,303,201000000);
fi(ft,sf,304,201000000);
fi(ft,sf,305,201100000);
fi(ft,sf,306,201001100);
fi(ft,sf,307,201001100);
fi(ft,sf,308,201110000);
fi(ft,sf,309,201100000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// -------- 72 H
sf=1072-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,201000100);
fi(ft,sf,302,201000100);
fi(ft,sf,303,201000100);
fi(ft,sf,304,201000100);
fi(ft,sf,305,201111100);
fi(ft,sf,306,201000100);
fi(ft,sf,307,201000100);
fi(ft,sf,308,201000100);
fi(ft,sf,309,201000100);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// -------- 73 I
sf=1073-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200111000);
fi(ft,sf,302,200010000);
fi(ft,sf,303,200010000);
fi(ft,sf,304,200010000);
fi(ft,sf,305,200010000);
fi(ft,sf,306,200010000);
fi(ft,sf,307,200010000);
fi(ft,sf,308,200010000);
fi(ft,sf,309,200111000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// -------- 74 J
sf=1074-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,201111000);
fi(ft,sf,302,200001000);
fi(ft,sf,303,200001000);
fi(ft,sf,304,200001000);
fi(ft,sf,305,200001000);
fi(ft,sf,306,200001000);
fi(ft,sf,307,201001000);
fi(ft,sf,308,201001000);
fi(ft,sf,309,201111000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// -------- 75 K
sf=1075-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,201000100);
fi(ft,sf,302,201001000);
fi(ft,sf,303,201010000);
fi(ft,sf,304,201100000);
fi(ft,sf,305,201000000);
fi(ft,sf,306,201100000);
fi(ft,sf,307,201010000);
fi(ft,sf,308,201001000);
fi(ft,sf,309,201000100);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// -------- 76 L
sf=1076-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,201000000);
fi(ft,sf,302,201000000);
fi(ft,sf,303,201000000);
fi(ft,sf,304,201000000);
fi(ft,sf,305,201000000);
fi(ft,sf,306,201000000);
fi(ft,sf,307,201000000);
fi(ft,sf,308,201111100);
fi(ft,sf,309,201111100);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// -------- 77 M
sf=1077-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200101000);
fi(ft,sf,302,201111100);
fi(ft,sf,303,201010100);
fi(ft,sf,304,201010100);
fi(ft,sf,305,201010100);
fi(ft,sf,306,201000100);
fi(ft,sf,307,201000100);
fi(ft,sf,308,201000100);
fi(ft,sf,309,201000100);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// -------- 78 N
sf=1078-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200000000);
fi(ft,sf,302,201000100);
fi(ft,sf,303,201100100);
fi(ft,sf,304,201010100);
fi(ft,sf,305,201010100);
fi(ft,sf,306,201010100);
fi(ft,sf,307,201001100);
fi(ft,sf,308,201000100);
fi(ft,sf,309,200000000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// -------- 79 O
sf=1079-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200010000);
fi(ft,sf,302,200101000);
fi(ft,sf,303,201000100);
fi(ft,sf,304,201000100);
fi(ft,sf,305,201000100);
fi(ft,sf,306,201000100);
fi(ft,sf,307,200101000);
fi(ft,sf,308,200101000);
fi(ft,sf,309,200010000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// -------- 80 P
sf=1080-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,201111100);
fi(ft,sf,302,201111100);
fi(ft,sf,303,201000100);
fi(ft,sf,304,201000100);
fi(ft,sf,305,201111100);
fi(ft,sf,306,201000000);
fi(ft,sf,307,201000000);
fi(ft,sf,308,201000000);
fi(ft,sf,309,201000000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// -------- 81 Q
sf=1081-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,201111100);
fi(ft,sf,302,201111100);
fi(ft,sf,303,201000100);
fi(ft,sf,304,201000100);
fi(ft,sf,305,201000100);
fi(ft,sf,306,200010000);
fi(ft,sf,307,200001000);
fi(ft,sf,308,200000100);
fi(ft,sf,309,200000000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// -------- 82 R
sf=1082-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,201111100);
fi(ft,sf,302,201111100);
fi(ft,sf,303,201000100);
fi(ft,sf,304,201000100);
fi(ft,sf,305,201111100);
fi(ft,sf,306,201100000);
fi(ft,sf,307,201010000);
fi(ft,sf,308,201001000);
fi(ft,sf,309,201000100);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// -------- 83 S
sf=1083-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200011100);
fi(ft,sf,302,200100000);
fi(ft,sf,303,201000000);
fi(ft,sf,304,201000000);
fi(ft,sf,305,200111000);
fi(ft,sf,306,200000100);
fi(ft,sf,307,200000100);
fi(ft,sf,308,200001000);
fi(ft,sf,309,201110000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// -------- 84 T
sf=1084-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,201111100);
fi(ft,sf,302,201111100);
fi(ft,sf,303,200010000);
fi(ft,sf,304,200010000);
fi(ft,sf,305,200010000);
fi(ft,sf,306,200010000);
fi(ft,sf,307,200010000);
fi(ft,sf,308,200010000);
fi(ft,sf,309,200010000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// -------- 85 U
sf=1085-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,201000100);
fi(ft,sf,302,201000100);
fi(ft,sf,303,201000100);
fi(ft,sf,304,201000100);
fi(ft,sf,305,201000100);
fi(ft,sf,306,201000100);
fi(ft,sf,307,201000100);
fi(ft,sf,308,201111100);
fi(ft,sf,309,201111100);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// -------- 86 V
sf=1086-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,201000100);
fi(ft,sf,302,201000100);
fi(ft,sf,303,201000100);
fi(ft,sf,304,201000100);
fi(ft,sf,305,201000100);
fi(ft,sf,306,201000100);
fi(ft,sf,307,200101000);
fi(ft,sf,308,200101000);
fi(ft,sf,309,200010000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// -------- 87 W
sf=1087-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200000000);
fi(ft,sf,302,201000100);
fi(ft,sf,303,201000100);
fi(ft,sf,304,201010100);
fi(ft,sf,305,201010100);
fi(ft,sf,306,201010100);
fi(ft,sf,307,201010100);
fi(ft,sf,308,201111100);
fi(ft,sf,309,200101000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// -------- 88 X
sf=1088-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,201000100);
fi(ft,sf,302,201000100);
fi(ft,sf,303,200101000);
fi(ft,sf,304,200101000);
fi(ft,sf,305,200010000);
fi(ft,sf,306,200101000);
fi(ft,sf,307,200101000);
fi(ft,sf,308,201000100);
fi(ft,sf,309,201000100);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// -------- 89 Y
sf=1089-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,201000100);
fi(ft,sf,302,201000100);
fi(ft,sf,303,200101000);
fi(ft,sf,304,200101000);
fi(ft,sf,305,200010000);
fi(ft,sf,306,200010000);
fi(ft,sf,307,200010000);
fi(ft,sf,308,200010000);
fi(ft,sf,309,200010000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// -------- 90 Z
sf=1090-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,201111100);
fi(ft,sf,302,200000100);
fi(ft,sf,303,200001000);
fi(ft,sf,304,200001000);
fi(ft,sf,305,200010000);
fi(ft,sf,306,200100000);
fi(ft,sf,307,200100000);
fi(ft,sf,308,201000000);
fi(ft,sf,309,201111100);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// -------- 91 left bracket
sf=1091-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,201111000);
fi(ft,sf,302,201000000);
fi(ft,sf,303,201000000);
fi(ft,sf,304,201000000);
fi(ft,sf,305,201000000);
fi(ft,sf,306,201000000);
fi(ft,sf,307,201000000);
fi(ft,sf,308,201000000);
fi(ft,sf,309,201111000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// -------- 92 backslash
sf=1092-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,201000000);
fi(ft,sf,302,201000000);
fi(ft,sf,303,200100000);
fi(ft,sf,304,200100000);
fi(ft,sf,305,200010000);
fi(ft,sf,306,200001000);
fi(ft,sf,307,200001000);
fi(ft,sf,308,200000100);
fi(ft,sf,309,200000100);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// -------- 93 right bracket
sf=1093-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200011100);
fi(ft,sf,302,200000100);
fi(ft,sf,303,200000100);
fi(ft,sf,304,200000100);
fi(ft,sf,305,200000100);
fi(ft,sf,306,200000100);
fi(ft,sf,307,200000100);
fi(ft,sf,308,200000100);
fi(ft,sf,309,200011100);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// -------- 94 circumflex
sf=1094-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200010000);
fi(ft,sf,302,200101000);
fi(ft,sf,303,201000100);
fi(ft,sf,304,200000000);
fi(ft,sf,305,200000000);
fi(ft,sf,306,200000000);
fi(ft,sf,307,200000000);
fi(ft,sf,308,200000000);
fi(ft,sf,309,200000000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// ------------------------R
// ---- 95 underline
sf=1095-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200000000);
fi(ft,sf,302,200000000);
fi(ft,sf,303,200000000);
fi(ft,sf,304,200000000);
fi(ft,sf,305,200000000);
fi(ft,sf,306,200000000);
fi(ft,sf,307,200000000);
fi(ft,sf,308,200000000);
fi(ft,sf,309,201111100);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// ------------------------R
// ---- 96
sf=1096-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,201000000);
fi(ft,sf,302,200100000);
fi(ft,sf,303,200000000);
fi(ft,sf,304,200000000);
fi(ft,sf,305,200000000);
fi(ft,sf,306,200000000);
fi(ft,sf,307,200000000);
fi(ft,sf,308,200000000);
fi(ft,sf,309,200000000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// ------------------------R
// ---- 97 a
sf=1097-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,201111100);
fi(ft,sf,302,201111100);
fi(ft,sf,303,200000100);
fi(ft,sf,304,200000100);
fi(ft,sf,305,201111100);
fi(ft,sf,306,201000100);
fi(ft,sf,307,201000100);
fi(ft,sf,308,201111100);
fi(ft,sf,309,201111100);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// -------- 98 b
sf=1098-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,201000000);
fi(ft,sf,302,201000000);
fi(ft,sf,303,201000000);
fi(ft,sf,304,201000000);
fi(ft,sf,305,201111100);
fi(ft,sf,306,201000100);
fi(ft,sf,307,201001100);
fi(ft,sf,308,201110000);
fi(ft,sf,309,201100000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// -------- 99 c
sf=1099-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200000000);
fi(ft,sf,302,200000000);
fi(ft,sf,303,200000000);
fi(ft,sf,304,200000000);
fi(ft,sf,305,201111100);
fi(ft,sf,306,201000000);
fi(ft,sf,307,201000000);
fi(ft,sf,308,201000000);
fi(ft,sf,309,201111100);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// -------- 100 d
sf=1100-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200000000);
fi(ft,sf,302,200000100);
fi(ft,sf,303,200000100);
fi(ft,sf,304,200000100);
fi(ft,sf,305,201111100);
fi(ft,sf,306,201000100);
fi(ft,sf,307,201000100);
fi(ft,sf,308,200111100);
fi(ft,sf,309,200001100);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// -------- 101 e
sf=1101-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,201111100);
fi(ft,sf,302,201111100);
fi(ft,sf,303,201000100);
fi(ft,sf,304,201000100);
fi(ft,sf,305,201111100);
fi(ft,sf,306,201000000);
fi(ft,sf,307,201000000);
fi(ft,sf,308,201111100);
fi(ft,sf,309,201111100);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// -------- 102 f
sf=1102-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200000000);
fi(ft,sf,302,200000000);
fi(ft,sf,303,200000000);
fi(ft,sf,304,201111000);
fi(ft,sf,305,201000000);
fi(ft,sf,306,201000000);
fi(ft,sf,307,201110000);
fi(ft,sf,308,201000000);
fi(ft,sf,309,201000000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// -------- 103 g
sf=1103-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,201100000);
fi(ft,sf,302,201111100);
fi(ft,sf,303,201000000);
fi(ft,sf,304,201000000);
fi(ft,sf,305,201111100);
fi(ft,sf,306,201000100);
fi(ft,sf,307,201001100);
fi(ft,sf,308,201110000);
fi(ft,sf,309,201100000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// -------- 104 h
sf=1104-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200000000);
fi(ft,sf,302,200000000);
fi(ft,sf,303,201000000);
fi(ft,sf,304,201000000);
fi(ft,sf,305,201000000);
fi(ft,sf,306,201111100);
fi(ft,sf,307,201000100);
fi(ft,sf,308,201000100);
fi(ft,sf,309,201000100);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// -------- 105 i
sf=1105-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200000000);
fi(ft,sf,302,200000000);
fi(ft,sf,303,200010000);
fi(ft,sf,304,200000000);
fi(ft,sf,305,200010000);
fi(ft,sf,306,200010000);
fi(ft,sf,307,200010000);
fi(ft,sf,308,200010000);
fi(ft,sf,309,200010000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// -------- 106 j
sf=1106-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200000000);
fi(ft,sf,302,200000000);
fi(ft,sf,303,200010000);
fi(ft,sf,304,200000000);
fi(ft,sf,305,200010000);
fi(ft,sf,306,200010000);
fi(ft,sf,307,200010000);
fi(ft,sf,308,201010000);
fi(ft,sf,309,201110000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// right
// -------- 107 k
sf=1107-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200000000);
fi(ft,sf,302,200000000);
fi(ft,sf,303,201001000);
fi(ft,sf,304,201010000);
fi(ft,sf,305,201100000);
fi(ft,sf,306,201100000);
fi(ft,sf,307,201010000);
fi(ft,sf,308,201001000);
fi(ft,sf,309,200000000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// ------------------------R
// -------- 108 l
sf=1108-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200000000);
fi(ft,sf,302,200000000);
fi(ft,sf,303,200000000);
fi(ft,sf,304,200000000);
fi(ft,sf,305,200100000);
fi(ft,sf,306,200100000);
fi(ft,sf,307,200100000);
fi(ft,sf,308,200100000);
fi(ft,sf,309,200111100);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// int int
// --------- 109 m
sf=1109-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200000000);
fi(ft,sf,302,200000000);
fi(ft,sf,303,200000000);
fi(ft,sf,304,200000000);
fi(ft,sf,305,201111100);
fi(ft,sf,306,201010100);
fi(ft,sf,307,201010100);
fi(ft,sf,308,201010100);
fi(ft,sf,309,201000100);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// int int
// ---------- 110 n
sf=1110-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200000000);
fi(ft,sf,302,200000000);
fi(ft,sf,303,200000000);
fi(ft,sf,304,200000000);
fi(ft,sf,305,200111100);
fi(ft,sf,306,200100100);
fi(ft,sf,307,200100100);
fi(ft,sf,308,200100100);
fi(ft,sf,309,200100100);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// ------------------------R
// 111 0
sf=1111-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200000000);
fi(ft,sf,302,200000000);
fi(ft,sf,303,200000000);
fi(ft,sf,304,200000000);
fi(ft,sf,305,200111100);
fi(ft,sf,306,200100100);
fi(ft,sf,307,200100100);
fi(ft,sf,308,200100100);
fi(ft,sf,309,200111100);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// ------------------------
// 112 p
sf=1112-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200000000);
fi(ft,sf,302,200000000);
fi(ft,sf,303,200000000);
fi(ft,sf,304,200000000);
fi(ft,sf,305,200111100);
fi(ft,sf,306,200100100);
fi(ft,sf,307,200111100);
fi(ft,sf,308,200100000);
fi(ft,sf,309,200100000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// ------------------------
// 113 q
sf=1113-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200000000);
fi(ft,sf,302,200000000);
fi(ft,sf,303,200000000);
fi(ft,sf,304,200000000);
fi(ft,sf,305,200111100);
fi(ft,sf,306,200100100);
fi(ft,sf,307,200111100);
fi(ft,sf,308,200010000);
fi(ft,sf,309,200011000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// ------------------------
// 114 r
sf=1114-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200000000);
fi(ft,sf,302,200000000);
fi(ft,sf,303,200000000);
fi(ft,sf,304,200000000);
fi(ft,sf,305,200111100);
fi(ft,sf,306,200100000);
fi(ft,sf,307,200100000);
fi(ft,sf,308,200100000);
fi(ft,sf,309,200100000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// ------------------------
// 115 s
sf=1115-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200000000);
fi(ft,sf,302,200000000);
fi(ft,sf,303,200000000);
fi(ft,sf,304,200000000);
fi(ft,sf,305,200111100);
fi(ft,sf,306,200100000);
fi(ft,sf,307,200111100);
fi(ft,sf,308,200000100);
fi(ft,sf,309,200111100);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// ------------------------
// 116 t
sf=1116-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200000000);
fi(ft,sf,302,200000000);
fi(ft,sf,303,200000000);
fi(ft,sf,304,200010000);
fi(ft,sf,305,201111100);
fi(ft,sf,306,200010000);
fi(ft,sf,307,200010000);
fi(ft,sf,308,200010000);
fi(ft,sf,309,200010000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// ------------------------
// 117 u
sf=1117-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200000000);
fi(ft,sf,302,200000000);
fi(ft,sf,303,200000000);
fi(ft,sf,304,200000000);
fi(ft,sf,305,200100100);
fi(ft,sf,306,200100100);
fi(ft,sf,307,200100100);
fi(ft,sf,308,200100100);
fi(ft,sf,309,200111100);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// ------------------------
// 118 v
sf=1118-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200000000);
fi(ft,sf,302,200000000);
fi(ft,sf,303,200000000);
fi(ft,sf,304,200000000);
fi(ft,sf,305,200000000);
fi(ft,sf,306,201000100);
fi(ft,sf,307,201000100);
fi(ft,sf,308,200101000);
fi(ft,sf,309,200010000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// ------------------------
// 119 w
sf=1119-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200000000);
fi(ft,sf,302,200000000);
fi(ft,sf,303,200000000);
fi(ft,sf,304,200000000);
fi(ft,sf,305,201000100);
fi(ft,sf,306,201010100);
fi(ft,sf,307,201010100);
fi(ft,sf,308,201010100);
fi(ft,sf,309,201111100);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// ------------------------
// 120 x
sf=1120-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200000000);
fi(ft,sf,302,200000000);
fi(ft,sf,303,200000000);
fi(ft,sf,304,200000000);
fi(ft,sf,305,200100100);
fi(ft,sf,306,200100100);
fi(ft,sf,307,200011000);
fi(ft,sf,308,200011000);
fi(ft,sf,309,200100100);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// ------------------------
// 121 y
sf=1121-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200000000);
fi(ft,sf,302,200000000);
fi(ft,sf,303,200000000);
fi(ft,sf,304,200000000);
fi(ft,sf,305,200100100);
fi(ft,sf,306,200100100);
fi(ft,sf,307,200011000);
fi(ft,sf,308,200001000);
fi(ft,sf,309,200010000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// ------------------------
// 122 z
sf=1122-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200000000);
fi(ft,sf,302,200000000);
fi(ft,sf,303,200000000);
fi(ft,sf,304,200000000);
fi(ft,sf,305,200111100);
fi(ft,sf,306,200001000);
fi(ft,sf,307,200010000);
fi(ft,sf,308,200100000);
fi(ft,sf,309,200111100);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// ------------------------
// 123 left curly brace
sf=1123-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200001000);
fi(ft,sf,302,200010000);
fi(ft,sf,303,200010000);
fi(ft,sf,304,200100000);
fi(ft,sf,305,201000000);
fi(ft,sf,306,200100000);
fi(ft,sf,307,200010000);
fi(ft,sf,308,200010000);
fi(ft,sf,309,200001000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// ------------------------
// 124 or
sf=1124-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200010000);
fi(ft,sf,302,200010000);
fi(ft,sf,303,200010000);
fi(ft,sf,304,200010000);
fi(ft,sf,305,200000000);
fi(ft,sf,306,200010000);
fi(ft,sf,307,200010000);
fi(ft,sf,308,200010000);
fi(ft,sf,309,200010000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// --
// --
// 125 right curly brace
sf=1125-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,201000000);
fi(ft,sf,302,200100000);
fi(ft,sf,303,200010000);
fi(ft,sf,304,200010000);
fi(ft,sf,305,200001000);
fi(ft,sf,306,200010000);
fi(ft,sf,307,200010000);
fi(ft,sf,308,200100000);
fi(ft,sf,309,201000000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// .
// .
// 126 tilde
sf=1126-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200100100);
fi(ft,sf,302,201011000);
fi(ft,sf,303,200000000);
fi(ft,sf,304,200000000);
fi(ft,sf,305,200000000);
fi(ft,sf,306,200000000);
fi(ft,sf,307,200000000);
fi(ft,sf,308,200000000);
fi(ft,sf,309,200000000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// [c i
// int int
// ----- 127 unknown
sf=1127-1000;
fi(ft,sf,300,200000000);
fi(ft,sf,301,200000000);
fi(ft,sf,302,200000000);
fi(ft,sf,303,200000000);
fi(ft,sf,304,200000000);
fi(ft,sf,305,200000000);
fi(ft,sf,306,200000000);
fi(ft,sf,307,200000000);
fi(ft,sf,308,200000000);
fi(ft,sf,309,200000000);
fi(ft,sf,310,200000000);
fi(ft,sf,311,200000000);
fi(ft,sf,312,200000000);
fi(ft,sf,313,200000000);
fi(ft,sf,314,200000000);
fi(ft,sf,315,200000000);
// -- end of lukder font
}
// end of fjload
int divmodi(int jnumer,int jdenom,int nzjrem)
{
int resmodi,jprod,jrem,jfrac;
jfrac=jnumer/jdenom;
jprod=jdenom*jfrac;
jrem=jnumer-jprod;
if(jrem < 0)
{
jfrac=jfrac-1;
jprod=jdenom*jfrac;
jrem=jnumer-jprod;
}
resmodi=jfrac;
if(nzjrem != 0)resmodi=jrem;
return resmodi;
}
// int above long below
long divlodl(long lnumer,long ldenom,
int nzsrem)
{
long lresmodi,ljprod,ljrem,ljfrac;
ljfrac=lnumer/ldenom;
ljprod=ldenom*ljfrac;
ljrem=lnumer-ljprod;
if(ljrem < 0)
{
ljfrac=ljfrac-1;
ljprod=ldenom*ljfrac;
ljrem=lnumer-ljprod;
}
lresmodi=ljfrac;
if(nzsrem != 0)lresmodi=ljrem;
return lresmodi;
}
void fslone(int* fsld,long fslterm)
{
long fslbase,fslnumer,fslfrac,fslrem;
int islctr,ixlrem;
islctr=10;
fslbase=(long)islctr;
fslnumer=fslterm;
islctr=5;
while(islctr >= 0)
{
fslfrac=divlodl(fslnumer,fslbase,0);
fslrem=divlodl(fslnumer,fslbase,1);
fslnumer=fslfrac;
ixlrem=(int)fslrem;
*(fsld+islctr)=ixlrem;
islctr=islctr-1;
}
*(fsld+6)=0;
*(fsld+7)=0;
}
char fonone(long fnlterm)
{
int mfectr,mferes;
int fonb[8];
char afononeres;
fslone(fonb,fnlterm);
mferes=0;
mfectr=0;
while(mfectr < 8)
{
mferes=mferes+mferes;
mferes=mferes+fonb[mfectr];
mfectr=mfectr+1;
}
afononeres=(char)mferes;
return afononeres;
}
void el(int aab,int au,long t1,long t2,
long t3,long t4)
{
int elibase,elobase,elopar,elivase,elistep;
char elichc;
// elistep=0;
elibase=aab-1000;
if((au>=10)&&(au<=17))
{
elistep=0;
elivase=au-10;
}
if((au>=20)&&(au<=27))
{
elistep=32;
elivase=au-20;
}
elibase=elibase+elivase;
elibase=elibase*8;
elobase=(divmodi(elibase,64,0))*64;
elopar=divmodi(elibase,64,63);
elobase=elobase+divmodi(elopar,8,0);
elobase=elobase+elistep;
elichc=fonone(t1);
// elichc='V';
fospread(elobase,elichc);
elichc=fonone(t2);
fospread(elobase+8,elichc);
elichc=fonone(t3);
fospread(elobase+16,elichc);
elichc=fonone(t4);
fospread(elobase+24,elichc);
}
void tfload()
{
// **** 5 * 6 box only ****
// open source font below by Eric Matteson
// 4 * 5 character in minimum
// 5 * 6 box 5 * 7 reccomended
// saved in a 6 * 8 pattern
// for 8 * 8 pattern depth = unknown
// db 2g000000,2g000000,2g000000,2g000000,
// break 2g000000,2g000000,2g000000,2g000000
// db 2g0xxxx0
// db 2g0xxxx0
// db 2g0xxxx0
// db 2g0xxxx0
// db 2g0xxxx0
// db 2g000000
// db 2g000000
char abtny;
ab=0;
while(ab < 32768)
{
// 5469
fonthold[ab]=(char)(0-1);
// fonthold[ab]='\0';
ab=ab+1;
}
ab=1000;
el(ab,10,2000000,2000000,2000000,2000000);
el(ab,11,2000000,2000000,2000000,2000000);
el(ab,12,2000000,2000000,2000000,2000000);
el(ab,13,2000000,2000000,2000000,2000000);
el(ab,14,2000000,2000000,2000000,2000000);
el(ab,15,2000000,2000000,2000000,2000000);
el(ab,16,2000000,2000000,2000000,2000000);
el(ab,17,2000000,2000000,2000000,2000000);
el(ab,20,2000000,2000000,2000000,2000000);
el(ab,21,2000000,2000000,2000000,2000000);
el(ab,22,2000000,2000000,2000000,2000000);
el(ab,23,2000000,2000000,2000000,2000000);
el(ab,24,2000000,2000000,2000000,2000000);
el(ab,25,2000000,2000000,2000000,2000000);
el(ab,26,2000000,2000000,2000000,2000000);
el(ab,27,2000000,2000000,2000000,2000000);
ab=1008;
el(ab,10,2000000,2000000,2000000,2000000);
el(ab,11,2000000,2000000,2000000,2000000);
el(ab,12,2000000,2000000,2000000,2000000);
el(ab,13,2000000,2000000,2000000,2000000);
el(ab,14,2000000,2000000,2000000,2000000);
el(ab,15,2000000,2000000,2000000,2000000);
el(ab,16,2000000,2000000,2000000,2000000);
el(ab,17,2000000,2000000,2000000,2000000);
el(ab,20,2000000,2000000,2000000,2000000);
el(ab,21,2000000,2000000,2000000,2000000);
el(ab,22,2000000,2000000,2000000,2000000);
el(ab,23,2000000,2000000,2000000,2000000);
el(ab,24,2000000,2000000,2000000,2000000);
el(ab,25,2000000,2000000,2000000,2000000);
el(ab,26,2000000,2000000,2000000,2000000);
el(ab,27,2000000,2000000,2000000,2000000);
ab=1016;
el(ab,10,2000000,2000000,2000000,2000000);
el(ab,11,2000000,2000000,2000000,2000000);
el(ab,12,2000000,2000000,2000000,2000000);
el(ab,13,2000000,2000000,2000000,2000000);
el(ab,14,2000000,2000000,2000000,2000000);
el(ab,15,2000000,2000000,2000000,2000000);
el(ab,16,2000000,2000000,2000000,2000000);
el(ab,17,2000000,2000000,2000000,2000000);
el(ab,20,2000000,2000000,2000000,2000000);
el(ab,21,2000000,2000000,2000000,2000000);
el(ab,22,2000000,2000000,2000000,2000000);
el(ab,23,2000000,2000000,2000000,2000000);
el(ab,24,2000000,2000000,2000000,2000000);
el(ab,25,2000000,2000000,2000000,2000000);
el(ab,26,2000000,2000000,2000000,2000000);
el(ab,27,2000000,2000000,2000000,2000000);
ab=1024;
el(ab,10,2000000,2000000,2000000,2000000);
el(ab,11,2000000,2000000,2000000,2000000);
el(ab,12,2000000,2000000,2000000,2000000);
el(ab,13,2000000,2000000,2000000,2000000);
el(ab,14,2000000,2000000,2000000,2000000);
el(ab,15,2000000,2000000,2000000,2000000);
el(ab,16,2000000,2000000,2000000,2000000);
el(ab,17,2000000,2000000,2000000,2000000);
el(ab,20,2000000,2000000,2000000,2000000);
el(ab,21,2000000,2000000,2000000,2000000);
el(ab,22,2000000,2000000,2000000,2000000);
el(ab,23,2000000,2000000,2000000,2000000);
el(ab,24,2000000,2000000,2000000,2000000);
el(ab,25,2000000,2000000,2000000,2000000);
el(ab,26,2000000,2000000,2000000,2000000);
el(ab,27,2000000,2000000,2000000,2000000);
ab=1032;
el(ab,10,2000000,2000000,2000000,2000000);
el(ab,11,2000000,2001000,2010010,2001010);
el(ab,12,2000000,2001000,2011010,2011110);
el(ab,13,2000000,2001100,2000000,2001010);
el(ab,14,2000000,2000000,2000000,2011110);
el(ab,15,2000000,2001100,2000000,2010100);
el(ab,16,2000000,2000000,2000000,2000000);
el(ab,17,2000000,2000000,2000000,2000000);
el(ab,20,2000000,2000000,2000000,2000000);
el(ab,21,2011110,2011100,2000110,2001100);
el(ab,22,2010100,2010100,2011010,2000100);
el(ab,23,2011110,2001100,2010110,2000000);
el(ab,24,2001010,2001010,2010010,2000000);
el(ab,25,2011110,2001110,2011110,2000000);
el(ab,26,2000000,2000000,2000000,2000000);
el(ab,27,2000000,2000000,2000000,2000000);
ab=1040;
el(ab,10,2000000,2000000,2000000,2000000);
el(ab,11,2000110,2011000,2010110,2001100);
el(ab,12,2001000,2000100,2001100,2001100);
el(ab,13,2001000,2000100,2011110,2011110);
el(ab,14,2001000,2000100,2001100,2001100);
el(ab,15,2000110,2011000,2011010,2001100);
el(ab,16,2000000,2000000,2000000,2000000);
el(ab,17,2000000,2000000,2000000,2000000);
el(ab,20,2000000,2000000,2000000,2000000);
el(ab,21,2000000,2000000,2000000,2000010);
el(ab,22,2000000,2000000,2000000,2000100);
el(ab,23,2000000,2011100,2000000,2001000);
el(ab,24,2001100,2000000,2001100,2001000);
el(ab,25,2000100,2000000,2001100,2010000);
el(ab,26,2000000,2000000,2000000,2000000);
el(ab,27,2000000,2000000,2000000,2000000);
ab=1048;
el(ab,10,2000000,2000000,2000000,2000000);
el(ab,11,2011110,2000100,2011110,2011110);
el(ab,12,2010010,2001100,2000010,2000010);
el(ab,13,2010010,2000100,2011110,2011110);
el(ab,14,2010010,2000100,2010000,2000010);
el(ab,15,2011110,2000100,2011110,2011110);
el(ab,16,2000000,2000000,2000000,2000000);
el(ab,17,2000000,2000000,2000000,2000000);
el(ab,20,2000000,2000000,2000000,2000000);
el(ab,21,2010010,2011110,2011110,2011110);
el(ab,22,2010010,2010000,2010000,2000010);
el(ab,23,2011110,2011110,2011110,2000010);
el(ab,24,2000010,2000010,2010010,2000010);
el(ab,25,2000010,2011110,2011110,2000010);
el(ab,26,2000000,2000000,2000000,2000000);
el(ab,27,2000000,2000000,2000000,2000000);
ab=1056;
el(ab,10,2000000,2000000,2000000,2000000);
el(ab,11,2011110,2011110,2000000,2000000);
el(ab,12,2010010,2010010,2001100,2001100);
el(ab,13,2011110,2011110,2000000,2000000);
el(ab,14,2010010,2000010,2001100,2001100);
el(ab,15,2011110,2011110,2000000,2000100);
el(ab,16,2000000,2000000,2000000,2000000);
el(ab,17,2000000,2000000,2000000,2000000);
el(ab,20,2000000,2000000,2000000,2000000);
el(ab,21,2000110,2000000,2011000,2001100);
el(ab,22,2001100,2011110,2001100,2010010);
el(ab,23,2011000,2000000,2000110,2000100);
el(ab,24,2001100,2011110,2001100,2000000);
el(ab,25,2000110,2000000,2011000,2000100);
el(ab,26,2000000,2000000,2000000,2000000);
el(ab,27,2000000,2000000,2000000,2000000);
ab=1064;
el(ab,10,2000000,2000000,2000000,2000000);
el(ab,11,2001100,2011110,2011100,2011110);
el(ab,12,2010010,2010010,2010010,2010000);
el(ab,13,2000110,2011110,2011100,2010000);
el(ab,14,2001010,2010010,2010010,2010000);
el(ab,15,2001110,2010010,2011100,2011110);
el(ab,16,2000000,2000000,2000000,2000000);
el(ab,17,2000000,2000000,2000000,2000000);
el(ab,20,2000000,2000000,2000000,2000000);
el(ab,21,2011000,2011110,2011110,2001110);
el(ab,22,2010100,2010000,2010000,2010000);
el(ab,23,2010010,2011110,2011110,2011100);
el(ab,24,2010100,2010000,2010000,2010010);
el(ab,25,2011000,2011110,2010000,2001110);
el(ab,26,2000000,2000000,2000000,2000000);
el(ab,27,2000000,2000000,2000000,2000000);
ab=1072;
el(ab,10,2000000,2000000,2000000,2000000);
el(ab,11,2010010,2001110,2000010,2010010);
el(ab,12,2010010,2000100,2000010,2010100);
el(ab,13,2011110,2000100,2000010,2011000);
el(ab,14,2010010,2000100,2000010,2010100);
el(ab,15,2010010,2001110,2011110,2010010);
el(ab,16,2000000,2000000,2000000,2000000);
el(ab,17,2000000,2000000,2000000,2000000);
el(ab,20,2000000,2000000,2000000,2000000);
el(ab,21,2010000,2011000,2010010,2001100);
el(ab,22,2010000,2011000,2011010,2010010);
el(ab,23,2010000,2010110,2011010,2010010);
el(ab,24,2010000,2010110,2010110,2000010);
el(ab,25,2011110,2010010,2010010,2001100);
el(ab,26,2000000,2000000,2000000,2000000);
el(ab,27,2000000,2000000,2000000,2000000);
ab=1080;
el(ab,10,2000000,2000000,2000000,2000000);
el(ab,11,2011110,2001100,2011100,2001100);
el(ab,12,2010010,2010010,2010010,2010000);
el(ab,13,2011110,2010100,2011110,2011110);
el(ab,14,2010000,2001000,2010100,2000010);
el(ab,15,2010000,2000110,2010110,2001100);
el(ab,16,2000000,2000000,2000000,2000000);
el(ab,17,2000000,2000000,2000000,2000000);
el(ab,20,2000000,2000000,2000000,2000000);
el(ab,21,2011110,2010010,2010010,2010010);
el(ab,22,2001000,2010010,2010010,2011010);
el(ab,23,2001000,2010010,2010100,2011010);
el(ab,24,2001000,2010010,2010100,2000110);
el(ab,25,2001000,2011110,2001000,2000110);
el(ab,26,2000000,2000000,2000000,2000000);
el(ab,27,2000000,2000000,2000000,2000000);
ab=1088;
el(ab,10,2000000,2000000,2000000,2000000);
el(ab,11,2010010,2010010,2001110,2001100);
el(ab,12,2001010,2010010,2000010,2001000);
el(ab,13,2001100,2001100,2001100,2001000);
el(ab,14,2010100,2001100,2010000,2001000);
el(ab,15,2010010,2001100,2011100,2001100);
el(ab,16,2000000,2000000,2000000,2000000);
el(ab,17,2000000,2000000,2000000,2000000);
el(ab,20,2000000,2000000,2000000,2000000);
el(ab,21,2010000,2001100,2000100,2000000);
el(ab,22,2010000,2000100,2001010,2000000);
el(ab,23,2001000,2000100,2000000,2000000);
el(ab,24,2000100,2000100,2000000,2000000);
el(ab,25,2000010,2001100,2000000,2011110);
el(ab,26,2000000,2000000,2000000,2000000);
el(ab,27,2000000,2000000,2000000,2000000);
ab=1096;
el(ab,10,2000000,2000000,2000000,2000000);
el(ab,11,2010000,2011110,2010000,2000000);
el(ab,12,2001000,2000010,2010000,2001110);
el(ab,13,2000000,2011110,2011100,2001000);
el(ab,14,2000000,2010010,2010010,2001000);
el(ab,15,2000000,2011110,2011100,2001110);
el(ab,16,2000000,2000000,2000000,2000000);
el(ab,17,2000000,2000000,2000000,2000000);
el(ab,20,2000000,2000000,2000000,2000000);
el(ab,21,2000010,2011110,2001110,2001110);
el(ab,22,2000010,2010010,2001000,2010010);
el(ab,23,2011110,2011110,2001100,2001110);
el(ab,24,2010010,2010000,2001000,2000010);
el(ab,25,2011110,2011110,2001000,2011100);
el(ab,26,2000000,2000000,2000000,2000000);
el(ab,27,2000000,2000000,2000000,2000000);
ab=1104;
el(ab,10,2000000,2000000,2000000,2000000);
el(ab,11,2010000,2001000,2000000,2001010);
el(ab,12,2010000,2000000,2000000,2001100);
el(ab,13,2011110,2001000,2000100,2001000);
el(ab,14,2010010,2001000,2000100,2001100);
el(ab,15,2010010,2001000,2011100,2001010);
el(ab,16,2000000,2000000,2000000,2000000);
el(ab,17,2000000,2000000,2000000,2000000);
el(ab,20,2000000,2000000,2000000,2000000);
el(ab,21,2000000,2001110,2000000,2000000);
el(ab,22,2010000,2001010,2010010,2001100);
el(ab,23,2010000,2010010,2011010,2010010);
el(ab,24,2010000,2010010,2010110,2010010);
el(ab,25,2011100,2000000,2010010,2001100);
el(ab,26,2000000,2000000,2000000,2000000);
el(ab,27,2000000,2000000,2000000,2000000);
ab=1112;
el(ab,10,2000000,2000000,2000000,2000000);
el(ab,11,2000000,2011100,2000000,2001100);
el(ab,12,2001110,2010100,2001110,2001000);
el(ab,13,2001010,2011100,2001000,2001110);
el(ab,14,2001110,2001000,2001000,2000010);
el(ab,15,2001000,2000110,2001000,2001100);
el(ab,16,2000000,2000000,2000000,2000000);
el(ab,17,2000000,2000000,2000000,2000000);
el(ab,20,2000000,2000000,2000000,2000000);
el(ab,21,2000000,2000000,2000000,2000000);
el(ab,22,2001110,2010010,2010010,2010100);
el(ab,23,2000100,2010010,2010100,2010100);
el(ab,24,2000100,2011110,2001000,2011100);
el(ab,25,2000100,2000000,2000000,2001100);
el(ab,26,2000000,2000000,2000000,2000000);
el(ab,27,2000000,2000000,2000000,2000000);
ab=1120;
el(ab,10,2000000,2000000,2000000,2000000);
el(ab,11,2000000,2000000,2000000,2000110);
el(ab,12,2010010,2001010,2001110,2000100);
el(ab,13,2001100,2001010,2000100,2001100);
el(ab,14,2001100,2000100,2001000,2000100);
el(ab,15,2010010,2000100,2011100,2000110);
el(ab,16,2000000,2000000,2000000,2000000);
el(ab,17,2000000,2000000,2000000,2000000);
el(ab,20,2000000,2000000,2000000,2000000);
el(ab,21,2001000,2011000,2001010,2000000);
el(ab,22,2001000,2001000,2010100,2000000);
el(ab,23,2000000,2001100,2000000,2000000);
el(ab,24,2001000,2001000,2000000,2000000);
el(ab,25,2001000,2011000,2000000,2000000);
el(ab,26,2000000,2000000,2000000,2000000);
el(ab,27,2000000,2000000,2000000,2000000);
ab=0;
while(ab < 32768)
{
abtny=acrevbits(edflipbay,fonthold,ab,0);
fonthold[ab]=abtny;
ab=ab+1;
}
ab=1128;
// bottom of 127
}
// bottom of void tfload()
void draw1712(int x1712,int y1712,
int cmmx1712,char c1712)
{
int base1712,sub1712,ctr1712,get1712,ic1712;
int xgb1712,xrb1712;
int rht705,cpxb705,cpxr705,lef705,ilop705;
int cmmx705;
xgb1712=((x1712-1) >> 3)*7;
xrb1712=(x1712 -1) & 7;
ic1712=(int)c1712;
if(ic1712 < 0)ic1712=ic1712+256;
get1712=(ic1712*256)+(2*xrb1712);
// base1712=((26 - 1) - (y1712 - 1))*12*72;
// base1712=base1712+62+xgb1712+xrb1712;
// sub1712=1+base1712+(11*72);
base1712=(y1712-1)*12*iswid72;
base1712=base1712+xgb1712+xrb1712;
sub1712=1+base1712;
ctr1712=0;
while(ctr1712 < 12)
{
pat[(sub1712-1)]=pat[(sub1712-1)]|ft[get1712];
pat[sub1712]=pat[sub1712] | ft[(get1712 + 1)];
// sub1712=sub1712-72;
sub1712=sub1712+iswid72;
get1712=get1712+16;
ctr1712=ctr1712+1;
}
// ------- need cursors 5802
cmmx705=cmmx1712;
if(cmmx1712 < 0)cmmx705=0-cmmx1712;
if((cmmx705 > 0)&&(cmmx705 == x1712))
{
ilop705=0;
rht705=0;
if(cmmx1712 < 0)rht705=16;
cpxb705=(x1712 - 1) >> 3;
cpxb705=(cpxb705 * 7)+1;
cpxr705=(x1712 - 1) & 7;
// cpxb705=cpxb705+(((26-1)-(y1712-1))*12*72);
cpxb705=cpxb705+((y1712-1)*12*iswid72);
// lef705=62+cpxb705+cpxr705-1;
lef705=cpxb705+cpxr705-1;
lef705=lef705+(11*iswid72);
rht705=rht705+cpxr705+cpxr705;
while(ilop705 < 2)
{
pat[lef705]=smallxor(pat[lef705],grucursor[rht705]);
// is rht705 value of 30 valid 30=16+7+7
lef705=lef705+1;
rht705=rht705+1;
ilop705=ilop705+1;
}
}
}
// end of draw1712
void drawr456(int txx,int tyy,char chc,
int txcm,int nzbotl)
{
int base456,ctr456,tsxx,re58,be58,sub58;
int start58,top58,where58,where59,where60;
int txcx;
char cur58,rht727,lef727;
base456=tyy-1;
base456=base456*12;
if(nzbotl == 0)base456=base456+0;
if(nzbotl != 0)base456=base456+6;
base456=base456*iswid72;
base456=base456+1;
tsxx=txx-nzbotl;
base456=base456+(((tsxx-1)>>3)*5);
re58=(tsxx-1)&7;
sub58=re58+re58;
be58=sub58+sub58;
// sub58=14-sub58;
// be58=28-be58;
top58=1;
start58=(int)chc;
if(start58 < 0)start58=start58+256;
start58=start58*(16*8);
start58=start58+(top58*16);
start58=start58+sub58;
where58=base456+tnyfopoz[be58];
where59=base456+tnyfopoz[be58+2];
ctr456=0;
while(ctr456 < 6)
{
rht727=fonthold[start58]&mavrl[sub58];
lef727=fonthold[start58+1]&mavrl[sub58+1];
pat[where58]=pat[where58]|rht727;
pat[where59]=pat[where59]|lef727;
where58=where58+iswid72;
where59=where59+iswid72;
start58=start58+16;
ctr456=ctr456+1;
}
txcx=txcm;
if(txcm < 0)txcx=0-txcm;
if(txcx == txx)
{
where60=tnyftcur[sub58+1];
if(where60 < 0)where60=where60+256;
cur58=edflipbay[where60];
where60=tnyftcur[sub58];
// cur58=(char)tnyftcur[sub58+1];
where60=where60+base456;
pat[where60]=smallxor(pat[where60],cur58);
where60=where60+iswid72;
pat[where60]=smallxor(pat[where60],cur58);
where60=where60+iswid72;
if(txcm > 0)
{
// pat[where60]=smallxor(pat[where60],cur58);
where60=where60+iswid72;
pat[where60]=smallxor(pat[where60],cur58);
}
}
}
// end of drawr456
void draw80(int y80,int xc80,int xm80)
{
int x80,ctr80,sub80,dlen80;
int base710,olop710;
// int limwid3;
int tlen80,onelen80;
char chu80;
// limwid3=76;
sub80=(y80-1)*a80w;
dlen80=clenval(ceescreen+sub80);
// is ceescreen size == 26*224 ??
if(xc80 > dlen80)dlen80=xc80;
if(dlen80 < 80)dlen80=dlen80+1;
if(dlen80 > a80w)dlen80=a80w;
if(dlen80 <= 80)
{
// base710=(26-1)-(y80-1);
base710=y80-1;
base710=base710*12;
// base710=base710+11;
// base710=base710*72;
base710=base710*iswid72;
// base710=base710+62;
olop710=0;
while(olop710 < 12)
{
x80=0;
if(olop710 == 11)x80=0-1;
ctr80=0;
while(ctr80 < iswid72)
{
pat[base710 + ctr80]=(char)x80;
ctr80=ctr80+1;
// if(ctr80 > limwid3)ctr80=999;
}
// base710 = base710 - 72;
base710=base710+iswid72;
olop710 = olop710 + 1;
}
ctr80=0;
while(ctr80 < dlen80)
{
x80=ctr80+1;
chu80=ceescreen[sub80];
draw1712(x80,y80,0,chu80);
if((xm80==x80)&&(winmousea==1))
{
draw1712(x80,y80,(0-x80),chu80);
}
if((xc80==x80)&&(insertype==1))
{
draw1712(x80,y80,x80,chu80);
}
if((xc80==x80)&&(insertype==0))
{
draw1712(x80,y80,(0-x80),chu80);
}
sub80=sub80+1;
ctr80=x80;
}
draw1712(x80+1,y80,0,' ');
}
if(dlen80 > 80)
{
// base710=(26-1)-(y80-1);
base710=y80-1;
base710=base710*12;
// base710=base710+11;
// base710=base710*72;
base710=base710*iswid72;
// base710=base710+62;
olop710=0;
while(olop710 < 12)
{
x80=0;
if(olop710 == 11)x80=0-1;
if(olop710 == 5)x80=0-1;
ctr80=0;
while(ctr80 < iswid72)
{
pat[base710 + ctr80]=(char)x80;
ctr80=ctr80+1;
// if(ctr80 > limwid3)ctr80=999;
}
// base710 = base710 - 72;
base710=base710+iswid72;
olop710 = olop710 + 1;
}
tlen80=0;
onelen80=dlen80;
if(onelen80 > 112)onelen80=112;
ctr80=0;
while(ctr80 < onelen80)
{
x80=ctr80+1;
chu80=ceescreen[sub80];
drawr456(x80,y80,chu80,0,tlen80);
if((xm80==x80)&&(winmousea==1))
{
drawr456(x80,y80,chu80,0-x80,tlen80);
}
if((xc80==x80)&&(insertype==1))
{
drawr456(x80,y80,chu80,x80,tlen80);
}
if((xc80==x80)&&(insertype==0))
{
drawr456(x80,y80,chu80,0-x80,tlen80);
}
sub80=sub80+1;
ctr80=x80;
}
drawr456(x80+1,y80,' ',0,tlen80);
ctr80=onelen80;
onelen80=dlen80;
tlen80=112;
while(ctr80 < onelen80)
{
x80=ctr80+1;
chu80=ceescreen[sub80];
drawr456(x80,y80,chu80,0,tlen80);
if((xm80==x80)&&(winmousea==1))
{
drawr456(x80,y80,chu80,0-x80,tlen80);
}
if((xc80==x80)&&(insertype==1))
{
drawr456(x80,y80,chu80,x80,tlen80);
}
if((xc80==x80)&&(insertype==0))
{
drawr456(x80,y80,chu80,0-x80,tlen80);
}
sub80=sub80+1;
ctr80=x80;
}
drawr456(x80+1,y80,' ',0,tlen80);
// ------------------------ dlen80 > 80
}
}
// end of draw80
void draw2080(int cpx2080,int cpy2080,
int mwx2080,int mwy2080)
{
int cpxb2080,cpxr2080,ol2080,os2080;
int lef2080,rht2080,rht2081;
int mvx2080,mvy2080;
int cur705,mou705;
mvx2080=mwx2080;
mvy2080=mwy2080;
iswid72=(xwxwid+7)>>3;
ol2080=0;
// depth = 1
ol2080=0;
while(ol2080 < 26)
{
os2080=ol2080+1;
cur705=0;
mou705=0;
if(os2080 == cpy2080)cur705=cpx2080;
if(os2080 == mwy2080)mou705=mwx2080;
if(dagra < 12640)mou705=0;
if(dagra > 12643)mou705=0;
draw80(os2080,cur705,mou705);
ol2080=os2080;
}
}
// end of draw2080
void draw2083(powercur* yottx,
powercur* wmttx)
{
int x2083,y2083,x2084,y2084;
int ksu2083,ktt2083;
x2083 = (*(yottx)).neutx;
y2083 = (*(yottx)).neuty;
x2084 = (*(wmttx)).neutx;
y2084 = (*(wmttx)).neuty;
ktt2083=1;
ksu2083=0;
clearline(alselset(ceescreen,26));
while(ksu2083 < 7)
{
if(edraw26[ksu2083] >= 0)
{
numberprn(alselset(ceescreen,26),ktt2083,10,
10,(long)(edraw26[ksu2083]));
}
ktt2083=ktt2083+11;
ksu2083=ksu2083+1;
}
edraw26[3]=edraw26[3]+1;
draw2080(x2083,y2083,x2084,y2084);
}
// end of draw2083
void powscroll(char* sow2080)
{
int sowo,sowi,sowsub;
sowo=0;
while(sowo < 24)
{
sowi=0;
while(sowi < a80w)
{
sowsub=(sowo * a80w) + sowi;
*(sow2080+sowsub) = *(sow2080 +(sowsub+a80w));
sowi=sowi+1;
}
sowo=sowo+1;
}
sowi=0;
while(sowi < a80w)
{
*(sow2080+((24*a80w)+sowi))='\040';
sowi=sowi+1;
}
}
// end of powscroll
int timepart(int srawtime,int subtzh,char* toadwhi)
{
int atimev[8];
int tdenomos[]={8,8,8,8,7,24,60,60};
int urawtime,utallow,utbase,utfrac,utrem;
int addmhour;
int utolop,utprod,utrgg;
char toatwhi;
toatwhi = *(toadwhi+0);
addmhour=wchour;
addmhour=addmhour*tdenomos[7];
addmhour=addmhour*tdenomos[6];
addmhour=addmhour+(tdenomos[7]*wcminute);
urawtime=srawtime+addmhour;
if(srawtime < 0)urawtime=0-(srawtime+1);
utolop=7;
while(utolop >= 5)
{
utallow=1;
utbase=tdenomos[utolop];
utfrac=urawtime/utbase;
while(utallow > 0)
{
utprod=utfrac*utbase;
utrem=urawtime-utprod;
if(utrem >= 0)utallow=0;
if(utallow > 0)utfrac=utfrac-1;
}
if(srawtime < 0)utrem=(utbase-1)-utrem;
atimev[utolop]=utrem;
urawtime=utfrac;
utolop=utolop-1;
}
utrgg=0;
if((toatwhi == 'h')&&(atimev[5] >= subtzh))
{
utrgg=atimev[5]-subtzh;
}
if((toatwhi == 'h')&&(atimev[5] < subtzh))
{
utrgg=atimev[5]+24-subtzh;
}
if(toatwhi == 'm')utrgg=atimev[6];
if(toatwhi == 's')utrgg=atimev[7];
return utrgg;
}
void powdraw(powercur* rottyx,
char* cow2080,char net80)
{
int powx,powy,powsub,scrollallow;
scrollallow=1;
powx = (*(rottyx)).neutx;
powy = (*(rottyx)).neuty;
if((powx >= 1)&&(powx <= a80w))
{
if((powy >= 1)&&(powy <= 25))
{
powsub=((powy - 1)*a80w)+(powx-1);
*(cow2080 + powsub)=net80;
if(net80 == '\15')
{
powsub=((powy - 1)*a80w)+(powx-1);
*(cow2080 + powsub) = '\040';
}
if(net80 == '\12')
{
while(powx <= a80w)
{
powsub=((powy - 1)*a80w)+(powx-1);
*(cow2080 + powsub) = '\040';
// depth = 5
powx=powx+1;
}
powx=a80w-1;
}
powx=powx+1;
(*(rottyx)).neutx = powx;
// depth = 3
if(powx > a80w)
{
(*(rottyx)).neutx = 1;
if((powy >= 25)&&(scrollallow > 0))
{
// 6046 powscroll(cow2080);
}
if(powy < 25)
{
// depth = 5
(*(rottyx)).neuty=powy+1;
}
}
}
}
}
// end of powdraw
void powcline(char* owcrec,int iwclen)
{
int piwctr;
char yet80;
piwctr=0;
while(piwctr < iwclen)
{
yet80 = *(owcrec + piwctr);
powdraw(&hottyx,ceescreen,yet80);
piwctr=piwctr+1;
}
}
// end of powcline
int backuc(int zub,int zid,char* zcr)
{
int backr,backterm,backlop,backdis;
backlop=zid-1;
backr=0;
while(backlop >= 0)
{
backdis=backlop+zub;
backterm=(char)(*(zcr+backdis));
if(backterm < 0)backterm=backterm+256;
backr=backr*256;
backr=backr+backterm;
backlop=backlop-1;
}
return backr;
}
char acrevbits(char* acrbtab,char* acrbse,
int acrbsi,int acrbzn)
{
char acrevres;
// *acrbtab is reversing array
// *(acrbse + acrbsi) is source character
// acrbzn=0 for normal use.
// acrbzn is 1 to 255 to return reverse of acrbzn.
// returns reversed result.
int acrevsub,acrevctr,acrevsr,acrevterm;
if(acrbzn == 0)
{
acrevsub=(int)(*(acrbse+acrbsi));
if(acrevsub < 0)acrevsub=acrevsub+256;
acrevres = *(acrbtab + acrevsub);
}
if(acrbzn > 0)
{
acrevctr=0;
acrevsub=0;
acrevsr=acrbzn;
while(acrevctr < 8)
{
acrevsub=acrevsub+acrevsub;
acrevterm = acrevsr & 1;
acrevsr = acrevsr >> 1;
acrevsub=acrevsub+acrevterm;
acrevctr=acrevctr+1;
}
if(acrevsub > 127)acrevsub=acrevsub-256;
acrevres=(char)acrevsub;
}
return acrevres;
}
// end of acrevbits;
void powposition(powercur* pcuu,
int ppcx,int ppcy)
{
(*(pcuu)).neutx = ppcx;
(*(pcuu)).neuty = ppcy;
}
void getgc(Window wigc,GC* wrgc,int zbnzw)
{
unsigned long vgcmask=0;
XGCValues vgcvalues;
unsigned int gclw=1;
int linestyle=LineSolid;
int capstyle=CapRound;
int joinstyle=JoinRound;
int fillstyle=FillSolid;
*wrgc=XCreateGC(lpdis,wigc,vgcmask,&vgcvalues);
XSetLineAttributes(lpdis,*wrgc,gclw,linestyle,
capstyle,joinstyle);
if(zbnzw == 0)
{
XSetBackground(lpdis,*wrgc,
WhitePixel(lpdis,scnum));
}
if(zbnzw == 1)
{
XSetBackground(lpdis,*wrgc,
BlackPixel(lpdis,scnum));
}
XSetFillStyle(lpdis,*wrgc,fillstyle);
if(zbnzw == 0)XSetForeground(lpdis,*wrgc,
BlackPixel(lpdis,scnum));
if(zbnzw == 1)XSetForeground(lpdis,*wrgc,
WhitePixel(lpdis,scnum));
}
// 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,xwxwid,xwyhgt,4,
BlackPixel(lpdis,scnum),
WhitePixel(lpdis,scnum));
nzshift=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 = 575;
(*(sizehints)).min_height = 311;
sbmask = 0;
sbmask = sbmask | KeyPressMask;
sbmask = sbmask | KeyReleaseMask;
sbmask = sbmask | ExposureMask;
sbmask = sbmask | StructureNotifyMask;
sbmask = sbmask | ButtonPressMask;
sbmask = sbmask | PointerMotionMask;
XSelectInput(lpdis,trix,sbmask);
return trix;
}
// ------ bottom of windowmake
// linux Xwindows main program
// for edelev16.c or edelev20.c
int main(int argd,char** argsa)
{
ncurdey=0-11;
queronter=4096;
timefive=0;
prtime=0;
while(prtime < 100)
{
edraw26[prtime]=11;
prtime=prtime+1;
}
edraw26[5]=0;
edraw26[7]=1;
prtime=0;
wbe2469=0;
lpdis=XOpenDisplay(adn);
scnum=DefaultScreen(lpdis);
scrdepth=DefaultDepth(lpdis,scnum);
lpxgss=&(edraw26[0]);
jyctr=0;
jyctr=0;
while(jyctr < 6824)
{
ceescreen[jyctr]='\052';
jyctr=jyctr+1;
}
jyctr=0;
freddy=1505;
dagra=freddy;
xwxwid=608;
xwyhgt=312;
iswid72=(xwxwid + 7) >> 3;
hottyx.neutx=0;
hottyx.neuty=0;
archtype=0;
rahkctr=0;
archkey=0;
new2608();
ron52640(crz0160,'Q');
// command tail section is next after
// first partial draw
jyctr=0;
if(argd == 2)
{
rjkey = (int)'o';
archtype=48;
archkey=rjkey & 255;
if((rjkey>=512)&&(rjkey<=767))archkey=archkey+1024;
if((archkey<=255)&&(archkey>=0))archtype=49;
if(archkey > 1023)archtype=50;
dagra=sockeyline(freddy,archkey,&rahkctr,crz0160);
if((dagra & 1) != 0)
{
ron52640(crz0160,'Q');
}
// depth = 3.0
while(jyctr < 40)
{
rjkey = (int)(*(*(argsa + 1)+jyctr));
if(rjkey < 32)
{
rjkey = 13;
jyctr=129;
}
archtype=48;
archkey=rjkey & 255;
if((rjkey>=512)&&(rjkey<=767))archkey=archkey+1024;
if((archkey<=255)&&(archkey>=0))archtype=49;
if(archkey > 1023)archtype=50;
dagra=sockeyline(freddy,archkey,&rahkctr,crz0160);
if((dagra & 1) != 0)
{
ron52640(crz0160,'Q');
}
// depth = 3.0
jyctr=jyctr+1;
}
}
jyctr=0;
// end of command tail section just
// before first zgapage
draw2083(&hottyx,&mouuyx);
ewixtwo=makexw(esizehints,ewmhints,eclasshints);
XSetWMProperties(lpdis,ewixtwo,0,0,argsa,argd,
esizehints,ewmhints,eclasshints);
getgc(ewixtwo,&edgc,1);
XMapWindow(lpdis,ewixtwo);
xwolop=1;
while(xwolop == 1)
{
if(XCheckMaskEvent(lpdis,sbmask,&edreport) != 0)
{
// not usable XNextEvent(lpdis,&edreport);
// depth = 2
if(edreport.type == KeyRelease)
{
// edraw26[7]=edraw26[5];
edraw26[5]=0;
if(edreport.xkey.send_event == 0)
{
if((int)edreport.xkey.keycode==xxsv)nzshift=0;
if((int)edreport.xkey.keycode==xsv)nzshift=0;
}
}
if(edreport.type == KeyPress)
{
if(edraw26[5] > 20)edraw26[7]=edraw26[5];
edraw26[5]=0;
zandtogm=1;
if((int)edreport.xkey.keycode==xxsv)zandtogm=0;
// depth = 3
if((int)edreport.xkey.keycode==xsv)zandtogm=0;
if(zandtogm == 0)nzshift=1;
if(zandtogm==1)
{
// depth = 4
if(edreport.xkey.send_event == 0)
{
ckey=(int)edreport.xkey.keycode;
// ncurdey=ckey;
rjkey=iidoskey(ckey,nzshift,jxwkeyhold,"x");
ncurdey=ckey+(65536*rjkey);
archtype=48;
archkey=rjkey & 255;
if((rjkey>=512)&&(rjkey<=767))archkey=archkey+1024;
if((archkey>0)&&(archkey<32767))archtype=49;
if((archkey & 1024) > 0)archtype=50;
if(((freddy & 1) == 0)&&(archtype == 50))
{
dagra=sockeyline(freddy,32,&rahkctr,crz0160);
}
dagra=sockeyline(freddy,archkey,&rahkctr,crz0160);
if((rjkey >= 0)&&(rjkey <= 767))
{
if((dagra & 1) != 0)
{
ron52640(crz0160,'Q');
}
}
}
// ..
// chrisevent.type=Expose;
// chrisevent.xexpose.type=Expose;
// chrisevent.xexpose.send_event=0;
// chrisevent.xexpose.display=lpdis;
// chrisevent.xexpose.window=ewixtwo;
// chrisevent.xexpose.x=0;
// chrisevent.xexpose.y=0;
// chrisevent.xexpose.width=xwxwid;
// chrisevent.xexpose.height=xwyhgt;
if(freddy == 14040)xwolop=0;
if(nzerror == 1)xwolop=0;
if((xwxwid >= 592)&&(xwyhgt >= 310))
{
// XSendEvent(lpdis,ewixtwo,1,ExposureMask,&chrisevent);
evenreq=1;
}
// -
}
// depth = 3
}
// depth = 2
// bottom of key press 9006
if(edreport.type==ConfigureNotify)
{
if(edreport.xconfigure.send_event == 0)
{
if((xwxwid >= 592)&&(xwyhgt >= 310))
{
xwxwid=edreport.xconfigure.width;
xwyhgt=edreport.xconfigure.height;
evenreq=1;
}
}
}
if(edreport.type==Expose)
{
if(edreport.xexpose.count==0)
{
xwxwid=edreport.xexpose.width;
xwyhgt=edreport.xexpose.height;
draw2083(&hottyx,&mouuyx);
// --
edmap=XCreatePixmapFromBitmapData(lpdis,
ewixtwo,pat,xwxwid,
xwyhgt,WhitePixel(lpdis,scnum),
BlackPixel(lpdis,scnum),scrdepth);
XCopyArea(lpdis,edmap,ewixtwo,edgc,0,0,
xwxwid,xwyhgt,0,0);
XFreePixmap(lpdis,edmap);
// ----
edraw26[5]=edraw26[5]+5;
}
// ----
evenreq=0;
}
if(edreport.type == MotionNotify)
{
if(edraw26[5] > 20)edraw26[7]=edraw26[5];
edraw26[5]=0;
}
if(edreport.type == ButtonPress)
{
// edraw26[7]=edraw26[5];
edraw26[5]=0;
// -
}
// after types of events
}
// after event is checked for prescence
// end queued >=1 block
queronter=queronter-1;
if(queronter < 1)
{
if((xwxwid >= 592)&&(xwyhgt >= 310))
{
netime=time(NULL);
if(netime != prtime)
{
if(timefive < 5)
{
edraw26[0]=ckey;
edraw26[1]=rjkey;
edraw26[2]=archkey;
}
prtime=netime;
edraw26[4]=9900;
edraw26[4]=edraw26[4]+timepart(netime,tzone,"h");
edraw26[4]=edraw26[4]*100;
edraw26[4]=edraw26[4]+timepart(netime,tzone,"m");
edraw26[4]=edraw26[4]*100;
edraw26[4]=edraw26[4]+timepart(netime,tzone,"s");
timefive=timefive+1;
if(timefive >= 5)
{
timefive=0;
evenreq=1;
// if(timefive >= 19)
// {
// edraw26[6]=XGetScreenSaver(lpdis,(lpxgss+0),
// (lpxgss+1),(lpxgss+2),(lpxgss+3));
// }
edraw26[6]=edraw26[7];
// --------------
// chrisevent.type=Expose;
// chrisevent.xexpose.type=Expose;
// chrisevent.xexpose.send_event=0;
// chrisevent.xexpose.display=lpdis;
// chrisevent.xexpose.window=ewixtwo;
// chrisevent.xexpose.x=0;
// chrisevent.xexpose.y=0;
// chrisevent.xexpose.width=xwxwid;
// chrisevent.xexpose.height=xwyhgt;
// XSendEvent(lpdis,ewixtwo,1,ExposureMask,&chrisevent);
}
}
}
queronter=4096;
}
if(evenreq == 1)
{
chrisevent.type=Expose;
chrisevent.xexpose.type=Expose;
chrisevent.xexpose.send_event=0;
chrisevent.xexpose.display=lpdis;
chrisevent.xexpose.window=ewixtwo;
chrisevent.xexpose.x=0;
chrisevent.xexpose.y=0;
chrisevent.xexpose.width=xwxwid;
chrisevent.xexpose.height=xwyhgt;
evenreq=0;
XSendEvent(lpdis,ewixtwo,1,ExposureMask,&chrisevent);
}
// end event while is next
}
XFreeGC(lpdis,edgc);
return 0;
}
// end of edelev20.c
// this is the last line of this program
/* after end of program