#ifndef __BASCMD #define __BASCMD #include #ifndef __HAVE_ESQ #define __HAVE_ESQ typedef unsigned char ESQ; #endif #ifndef __HAVE_CESI #define __HAVE_CESI typedef const ESQ*CESI; #endif #ifndef __HAVE_ESI #define __HAVE_ESI typedef ESQ*ESI; #endif #define EStackIndex ESI #define Quantum ESQ #ifndef __HAVE_SYM_STR #define __HAVE_SYM_STR typedef CESI SYM_STR; #endif #if MIN_AMS>=101 #define cmd_text ({/*__need_in_use_bit*/1;_rom_call(void,(CESI),394);}) #endif #endif //INT_HANDLER OldInt5 = NULL; INT_HANDLER save_int_1,save_int_5; //save_int_1=0; HANDLE handle; char *ptr; void *kbq; CALLBACK void Handler(EVENT *ev) { if (ev->Type == CM_STRING) ptr = ev->extra.pasteText; else if (ev->Type == CM_HSTRING) handle = ev->extra.hPasteText; ER_throw (1); } long f_keywait_(void) //6 { if(save_int_1) { SetIntVec (AUTO_INT_1, save_int_1); save_int_1=NULL; } return ngetchx(); } long text_(unsigned char *str) { unsigned char len,CESI_list[50]; CESI_list[0]=0; strcpy(CESI_list+1,str); len=strlen(str); CESI_list[len+2]=STR_TAG; if(save_int_1) { SetIntVec (AUTO_INT_1, save_int_1); save_int_1=NULL; } TRY cmd_text (CESI_list+len+2); ONERR return 0; ENDTRY return 1; } long gkey(void) { unsigned short key; kbq = kbd_queue (); if (!OSdequeue (&key, kbq)) { return key; } return 0; } void f_keyclear_(void) { if(save_int_1==NULL) { save_int_1 = GetIntVec (AUTO_INT_1);SetIntVec (AUTO_INT_1, DUMMY_HANDLER); } } void f_keydisp_(void) { if(save_int_1) { SetIntVec (AUTO_INT_1, save_int_1); save_int_1=NULL; } } char *f_catalog_(void) { EVENT ev; static char varlink_return[20]; char *rr; ptr = NULL; handle = H_NULL; EV_captureEvents (Handler); CAT_dialog (); TRY EV_eventLoop (); ONERR EV_captureEvents (NULL); ENDTRY if (handle != H_NULL) ptr = HLock (handle); if (ptr != NULL) { strcpy(varlink_return,ptr); rr=varlink_return; } else rr=0; if (handle != H_NULL) HeapFree(handle); return rr; } int f_settimer_(int timer_no,unsigned long init_val) //78 { OSFreeTimer (timer_no); return OSRegisterTimer (timer_no, init_val); } void f_pause_(char *str) { printf("\n%s",str); ngetchx(); }