// #define GTC_ONCALC //undo this line if with GCC4TI #define MIN_AMS 200 #include #ifdef GTC_ONCALC long al(long a) {return a;} long mu(long a,long b) {return a*b;} long di(long a,long b) {return a/b;} #else #define al(a) (a) #define mu(a,b) (a)*(b) #define di(a,b) (a)/(b) #endif #define WITH_GRAPHH WINDOW wind; unsigned char is_interh; unsigned char *lcdad; unsigned char gmode; INT_HANDLER OldInt5 = NULL; HANDLE seqseh;unsigned int data_dim,nbelem,ii;unsigned char *seqs_n;long seqe_n;ESI sp1,sp2,sp3; unsigned int ii2; long answ; long var12,var15,var16,var17,var18,var20,var21,var24,var25,var27,var28,var29,var33,var34,var35,var40,var43,var45,var50,var51,var53,var55,var56,var58,var59,var60,var61,var65,var66,var67,var68,var69,var71,var72,var73; char *psb1,*psb2,*psb3,*psb4,*psb37,*psb38,*psb41,*psb42,*psb46,*psb54; int *psw5; long *psl6; char psb8[]={8,16,32}; char psb9[]={224,160,224}; char psb44[]={0,0,0,0,0,0,0,0,0}; char psb47[]={0,0,0,0,0,0,0,0,0,0}; char psb48[]={0,0,0,0,0,0,0,0,0,0}; char psb49[]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; long fc1(long),fc2(),fc3(),fc4(),fc5(long,long),fc6(long,long),fc7(),fc8(long,long,long),fc9(long,long,long),fc10(),fc11(),fc12(),fc13(),fc14(),fc15(),fc16(),fc17(),fc18(); long fiy0(void),fiy1(void),fiy2(void); #include #include #include #include #include #ifdef WITH_GRAPHH #ifdef GTC_ONCALC #include #else #include #endif #endif #include #include long fiy0(void) { if(psb3) { free(psb3); } } long fiy1(void) { if(var33) { free(var33); } } long fiy2(void) { if(psb2) { free(psb2); } } long fc1(long var11) { FontSetSys(0); var12=(long)((gmode=1)); f_drawstr_(105,45,(char*)(var11),gmode); (gmode=var12); } long fc2() { (gmode=1); f_fillrect_(110,45,159,99,gmode,lcdad); (gmode=0); FontSetSys(0); f_drawstr_(110,60,(char*)("F1 - Menu"),gmode); f_drawstr_(110,67,(char*)("F2 - Filled Rect"),gmode); f_drawstr_(110,74,(char*)("F3 - Line"),gmode); f_drawstr_(110,88,(char*)("F5 - Redraw"),gmode); f_drawstr_(110,95,(char*)("ESC- Exit"),gmode); (gmode=2); } long fc3() { (gmode=0); f_clrscr_(lcdad); for(var15=0;var15!=((3)*((var16)+(1))+3);var15+=3) { f_sprt8_(var15,0,3,(unsigned char*)(psb9),gmode,lcdad); f_sprt8_(var15,al(((var17)+(1))*(3)),3,(unsigned char*)(psb9),gmode,lcdad); } for(var18=3;var18!=(mu(3,var17)+3);var18+=3) { f_sprt8_(0,var18,3,(unsigned char*)(psb9),gmode,lcdad); f_sprt8_(al(((var16)+(1))*(3)),var18,3,(unsigned char*)(psb9),gmode,lcdad); } fc2(); } long fc4() { f_sprt8_(al(mu(var20,3)),al(mu(var21,3)),3,(unsigned char*)(psb9),gmode,lcdad); } long fc5(long var15,long var18) { f_fillrect_(al(mu(var15,3)),al(mu(var18,3)),al((mu(var15,3))+(2)),al((mu(var18,3))+(2)),gmode,lcdad); } long fc6(long var20,long var21) { f_dpix_(al((var20)+(120)),al((var21)+(10)),gmode,lcdad); fc5(var20,var21); } long fc7() { f_savescr_(1,lcdad); FontSetSys(1); f_clrscr_(lcdad); printf("%s","0-New"); printf("\n"); printf("%s","1-Save as"); printf("\n"); printf("%s","2-Open"); printf("\n"); printf("%s","3-Get code"); printf("\n"); var25=(long)(f_keywait_()); f_loadscr_(1,lcdad); return (var25)-(48); } long fc8(long var27,long var28,long var29) { f_clrscr_(lcdad); fc3(); if(((long)(var28))==((long)(8))) { f_sprt8_(al((120)+(1)),al((10)+(1)),var29,(unsigned char*)(var27),gmode,lcdad); } if(((long)(var28))==((long)(16))) { f_sprt16_(al((120)+(1)),al((10)+(1)),var29,(unsigned int*)(var27),gmode,lcdad); } if(((long)(var28))==((long)(32))) { f_sprt32_(al((120)+(1)),al((10)+(1)),var29,(unsigned long*)(var27),gmode,lcdad); } for(var15=1;var15!=(var28+1);var15+=1) { for(var18=1;var18!=(var29+1);var18+=1) { if((f_gpix_(al((120)+(var15)),al((10)+(var18)),lcdad))!=(0)) { fc5(var15,var18); } } } } long fc9(long var31,long var32,long var33) { memset(var33,0,(var32)+(4)); strcat((char*)(var33),(char*)("0b")); var34=(long)((1)<<((var32)-(1))); for(var35=0;var35!=((var32)-(1)+1);var35+=1) { if(((var34)>>(var35))&(var31)) { strcat((char*)(var33),(char*)("1")); } else { strcat((char*)(var33),(char*)("0")); } } return var33; } long fc10() { f_savescr_(1,lcdad); var20=(long)(1); var21=(long)(1); psb37=(char*)(open_0()); if(tios("ok")) { psb38=(char*)(f_fopen_((char*)(psb37))); if(!psb38) {return 0;} if((((((int*)(psb38))[2])!=(8)) && ((((int*)(psb38))[2])!=(16))) && ((((int*)(psb38))[2])!=(32))) { execbas(basicfh0); free(psb38); f_loadscr_(1,lcdad); return 0; } var28=(long)(((int*)(psb38))[2]); var16=(long)(var28); var29=(long)(((int*)(psb38))[1]); var17=(long)(var29); var27=(long)((psb38)+(6)); f_loadscr_(1,lcdad); fc8(var27,var28,var29); free(psb38); } } long fc11() { f_savescr_(1,lcdad); if((psb37)!=(0)) { psb1=(char*)(psb37); } else { psb1="sprt"; } if(((long)(isarchi("fname")))==((long)(1))) {unarchiv("fname");} if(((long)(isarchi("sel")))==((long)(1))) {unarchiv("sel");} if(((long)(isarchi("mkarchi")))==((long)(1))) {unarchiv("mkarchi");} var40=(long)((strlen(psb1))-(1)); psb41="main"; psb42=(char*)(psb1); for(var43=0;var43!=(var40+1);var43+=1) { if(((long)(psb1[var43]))==((long)(92))) { psb41=(char*)(psb44); memcpy(psb41,psb1,var43); psb42=(char*)(((psb1)+(var43))+(1)); break; } } toos_indir("fname",psb42); var45=(long)(f_reps_(&psb46)); if(!psb46) {return 0;} for(var43=1;var43!=(var45+1);var43+=1) { if(((long)(strcmp(psb41,((unsigned char*)psb46+mu((var43)-(1),10)))))==((long)(0))) { toos("sel",var43); break; } } if(isarchi("repsl")==1) unarchiv("repsl"); data_dim=4;nbelem=0; for(var43=1;var43!=(var45+1);var43+=1) { seqs_n=((unsigned char*)psb46+mu((var43)-(1),10));data_dim+=(strlen(seqs_n)+3);push_zstr(seqs_n); nbelem++;} seqseh=CreateFile_with_specified_size ("repsl",data_dim+10);if(seqseh==0){printf("Memory error in seqs()");ngetchx();exit(2);} if(seqseh){AppendCharToFile(seqseh,END_TAG); for(ii=0;ii=(254)) { if(((long)(isarchi("sprtout")))==((long)(1))) {unarchiv("sprtout");} toos_indir("sprtout",psb2); text_("Code stored in sprtout file"); } else { toos_indir("strtemp",psb2); execbas(basicfh4); } fiy0(); fiy1(); fiy2(); f_loadscr_(1,lcdad); } long fc13() { var56=(long)(f_keywait_()); if((((long)(var56))==((long)(344))) && ((var20)<(var16))) { fc4(); (++((var20))); fc4(); } if((((long)(var56))==((long)(338))) && ((var20)>(1))) { fc4(); (--((var20))); fc4(); } if((((long)(var56))==((long)(340))) && ((var21)<(var17))) { fc4(); (++((var21))); fc4(); } if((((long)(var56))==((long)(337))) && ((var21)>(1))) { fc4(); (--((var21))); fc4(); } return var56; } long fc14() { if((((long)(var58))==((long)(var59))) || (((long)(var60))==((long)(var61)))) {return 0;} if(((var59)<(var58)) && ((var61)<(var60))) { f_fillrect_(al((mu(var58,3))-(1)),al((mu(var60,3))-(1)),al(mu(var59,3)),al(mu(var61,3)),gmode,lcdad); f_fillrect_(al(((120)+(var58))-(1)),al(((10)+(var60))-(1)),al((120)+(var59)),al((10)+(var61)),gmode,lcdad); return 0; } if(((var59)<(var58)) && ((var61)>(var60))) { f_fillrect_(al((mu(var58,3))-(1)),al(mu(var60,3)),al(mu(var59,3)),al((mu(var61,3))-(1)),gmode,lcdad); f_fillrect_(al(((120)+(var58))-(1)),al((10)+(var60)),al((120)+(var59)),al(((10)+(var61))-(1)),gmode,lcdad); return 0; } if(((var59)>(var58)) && ((var61)<(var60))) { f_fillrect_(al(mu(var58,3)),al((mu(var60,3))-(1)),al((mu(var59,3))-(1)),al(mu(var61,3)),gmode,lcdad); f_fillrect_(al((120)+(var58)),al(((10)+(var60))-(1)),al(((120)+(var59))-(1)),al((10)+(var61)),gmode,lcdad); return 0; } if(((var59)>(var58)) && ((var61)>(var60))) { f_fillrect_(al(mu(var58,3)),al(mu(var60,3)),al((mu(var59,3))-(1)),al((mu(var61,3))-(1)),gmode,lcdad); f_fillrect_(al((120)+(var58)),al((10)+(var60)),al(((120)+(var59))-(1)),al(((10)+(var61))-(1)),gmode,lcdad); return 0; } } long fc15() { (gmode=1); f_fillrect_(110,50,159,99,gmode,lcdad); (gmode=0); FontSetSys(0); f_drawstr_(110,60,(char*)("F1 - OR"),gmode); f_drawstr_(110,67,(char*)("F2 - ERASE"),gmode); f_drawstr_(110,74,(char*)("F3 - XOR"),gmode); f_drawstr_(110,95,(char*)("ESC-Cancel"),gmode); (gmode=2); } long fc16() { fc4(); f_savescr_(0,lcdad); fc15(); f_savescr_(1,lcdad); fc4(); var56=(long)(0); fc1("Goto 1st corner"); while((var56)!=(13)) { var56=(long)(fc13()); if(((long)(var56))==((long)(264))) {return 0;} if(((long)(var56))==((long)(268))) {(gmode=0);} if(((long)(var56))==((long)(269))) {(gmode=1);} if(((long)(var56))==((long)(270))) {(gmode=2);} } var58=(long)(var20); var60=(long)(var21); var59=(long)((var58)+(1)); var61=(long)((var60)+(1)); var56=(long)(0); fc4(); (gmode=2); fc14(); fc1("Goto 2nd corner"); while(1) { var56=(long)(f_keywait_()); if((((long)(var56))==((long)(344))) && ((var59)<((var16)+(1)))) { f_loadscr_(1,lcdad); var59=(long)((var59)+(1)); fc14(); } if((((long)(var56))==((long)(338))) && ((var59)>(1))) { f_loadscr_(1,lcdad); var59=(long)((var59)-(1)); fc14(); } if((((long)(var56))==((long)(340))) && ((var61)<((var17)+(1)))) { f_loadscr_(1,lcdad); var61=(long)((var61)+(1)); fc14(); } if((((long)(var56))==((long)(337))) && ((var61)>(1))) { f_loadscr_(1,lcdad); var61=(long)((var61)-(1)); fc14(); } if(((long)(var56))==((long)(264))) { f_loadscr_(0,lcdad); (gmode=2); fc4(); return 0; } if(((long)(var56))==((long)(13))) { (gmode=2); fc4(); fc2(); return 0; } if(((((long)(var56))==((long)(268))) || (((long)(var56))==((long)(269)))) || (((long)(var56))==((long)(270)))) { if(((long)(var56))==((long)(268))) {(gmode=0);} if(((long)(var56))==((long)(269))) {(gmode=1);} if(((long)(var56))==((long)(270))) {(gmode=2);} f_loadscr_(1,lcdad); fc14(); } } } long fc17() { var65=(long)((gmode=0)); (gmode=var65); if((((long)(var58))==((long)(var59))) && (((long)(var60))==((long)(var61)))) {return 0;} f_dline_(al((120)+(var58)),al((10)+(var60)),al((120)+(var59)),al((10)+(var61)),gmode,lcdad); if(((long)(var58))==((long)(var59))) { if((var61)>(var60)) {var66=(long)(1);} if((var61)<(var60)) {var66=(long)(-1);} for(var18=var60;var18!=(var61+var66);var18+=var66) { (gmode=1); fc5(var58,var18); if(f_gpix_(al((120)+(var58)),al((10)+(var18)),lcdad)) { (gmode=0); fc5(var58,var18); } } (gmode=var65); return 0; } if((var59)>(var58)) {var66=(long)(1);} if((var59)<(var58)) {var66=(long)(-1);} var67=(long)(((((var61)-(var60))*(1000))*(1))/((var59)-(var58))); for(var15=var58;var15!=(var59+var66);var15+=var66) { var68=(long)((((mu(var67,(var15)-(var58)))+(mu(var60,1000)))*(1))/(1000)); var69=(long)(((((var67)>(0)) ? (var67)+(0):-var67)/(1000))+(1)); for(var18=(var68)-(var69);var18!=((var68)+(var69)+1);var18+=1) { if(((var18)>(0)) && ((var18)<((var17)+(1)))) { (gmode=1); fc5(var15,var18); if(f_gpix_(al((120)+(var15)),al((10)+(var18)),lcdad)) { (gmode=0); fc5(var15,var18); } } } } (gmode=var65); } long fc18() { fc4(); f_savescr_(0,lcdad); fc15(); f_savescr_(1,lcdad); fc4(); var56=(long)(0); fc1("Goto 1st corner"); while((var56)!=(13)) { var56=(long)(fc13()); if(((long)(var56))==((long)(264))) {return 0;} if(((long)(var56))==((long)(268))) {(gmode=0);} if(((long)(var56))==((long)(269))) {(gmode=1);} if(((long)(var56))==((long)(270))) {(gmode=2);} } var58=(long)(var20); var60=(long)(var21); var59=(long)(var58); var61=(long)(var60); var56=(long)(0); fc4(); (gmode=2); fc14(); fc1("Goto 2nd corner"); while(1) { var56=(long)(f_keywait_()); if((((long)(var56))==((long)(344))) && ((var59)<(var16))) { f_loadscr_(1,lcdad); var59=(long)((var59)+(1)); fc17(); } if((((long)(var56))==((long)(338))) && ((var59)>(1))) { f_loadscr_(1,lcdad); var59=(long)((var59)-(1)); fc17(); } if((((long)(var56))==((long)(340))) && ((var61)<(var17))) { f_loadscr_(1,lcdad); var61=(long)((var61)+(1)); fc17(); } if((((long)(var56))==((long)(337))) && ((var61)>(1))) { f_loadscr_(1,lcdad); var61=(long)((var61)-(1)); fc17(); } if(((long)(var56))==((long)(264))) { f_loadscr_(0,lcdad); (gmode=2); fc4(); return 0; } if(((long)(var56))==((long)(13))) { (gmode=2); fc4(); fc2(); return 0; } if(((((long)(var56))==((long)(268))) || (((long)(var56))==((long)(269)))) || (((long)(var56))==((long)(270)))) { if(((long)(var56))==((long)(268))) {(gmode=0);} if(((long)(var56))==((long)(269))) {(gmode=1);} if(((long)(var56))==((long)(270))) {(gmode=2);} f_loadscr_(1,lcdad); fc17(); } } } void _main(void) { kbhit(); is_interh=0; init_save_load_scr(); #ifdef GTC_ONCALC #ifdef WITH_GRAPHH loadasm(); #endif #endif lcdad=0x4C00; gmode=0; goto label_7; label_7:; var16=(long)(psb8[0]); var17=(long)(var16); fc3(); (gmode=2); var20=(long)(1); var21=(long)(1); fc4(); OSInitKeyInitDelay(30); OSInitBetweenKeyDelay(10); while(1) { var25=(long)(fc13()); if(((long)(var25))==((long)(268))) { var71=(long)(fc7()); if(((long)(var71))==((long)(0))) { if(((long)(var25))==((long)(48))) { var20=(long)(1); var21=(long)(1); execbas(basicfh5); var72=(long)(osvar2_2("sel")); if(((long)(var72))==((long)(4))) { execbas(basicfh6); var72=(long)(osvar2_2("sel")); if(((long)(var72))==((long)(1))) {var16=(long)(8);} if(((long)(var72))==((long)(2))) {var16=(long)(16);} if(((long)(var72))==((long)(3))) {var16=(long)(32);} var17=(long)(atol(osvar2_2("nblxxx"))); if(((var17)>(32)) || ((var17)<(0))) {var17=(long)(var16);} fc3(); fc4(); continue; } var16=(long)(psb8[(var72)-(1)]); var17=(long)(var16); f_clrscr_(lcdad); fc3(); fc4(); } } if(((long)(var71))==((long)(1))) { fc4(); fc11(); fc4(); } if(((long)(var71))==((long)(2))) { fc4(); fc10(); fc4(); } if(((long)(var71))==((long)(3))) { fc4(); fc12(); fc4(); } } if(((long)(var25))==((long)(269))) { fc16(); } if(((long)(var25))==((long)(270))) { fc18(); } if(((long)(var25))==((long)(272))) { var73=(long)(malloc(mu(di(var16,8),var17))); if(((long)(var73))==((long)(0))) {continue;} if(((long)(var16))==((long)(8))) {f_gsprt8_(121,11,var17,(unsigned char*)(var73),lcdad);} if(((long)(var16))==((long)(16))) {f_gsprt16_(121,11,var17,(unsigned int*)(var73),lcdad);} if(((long)(var16))==((long)(32))) {f_gsprt32_(121,11,var17,(unsigned long*)(var73),lcdad);} f_clrscr_(lcdad); fc8(var73,var16,var17); fc4(); free(var73); } if(((long)(var25))==((long)(13))) { fc4(); fc6(var20,var21); fc4(); } if(((long)(var25))==((long)(264))) { execbas(basicfh7); if(tios("ok")) {goto label_74;} } } f_keywait_(); label_74:; execbas(basicfh8); f_finish_(0); }