/*****************************************************************************/ /* File KNIMB.C - RML Nimbus Kermit - Machine-dependent data & routines Chris Kennington 5th July 1985. */ #include "stdio.h" #include "b:kext.h" /* Data which is either machine-dependent or contains text which would not be appropriate for the 480Z version. */ char head1[] = " RM NIMBUS Kermit File Transfer Program,"; char prompt[] = "\rKmNimbus"; char eprompt[] = "\rKmF4> "; char backto[] = " OK - back to MSDOS; "; static char keyc[] = { /* assigned arrow values for CONN */ ESC,"[0;72;\"\013\"p", /* uparrow = UP */ ESC,"[0;80;10p", /* downarrow = DOWN (LF)*/ ESC,"[0;77;24p", /* rightarrow = FWD */ ESC,"[0;75;\"\010\"p", /* leftarrow = BKSP */ ESC,"[0;116;24p", /* c/rightarrow = FWD */ ESC,"[0;115;\"\010\"p", /* c/leftarrow = BKSP */ ESC,"[0;83;\"\177\"p", /* DEL = 0x7f */ ESC,"[6;1;25;80~B", /* scroll lines 6-25 */ ESC,"[25;1f", /* cursor bottom left */ ESC,"[0;0;0;;1~A", /* & remove it */ 0xff}; static char keys[] = { /* assigned arrow-pad values */ /* all assigned letters with top bit set - (nulls deleted) */ ESC,"[156;96p", /* pound = backquote */ ESC,"[0;72;\"\325\"p", /* uparrow = U */ ESC,"[0;80;\"\304\"p", /* downarrow = D */ ESC,"[0;77;\"\322\"p", /* rightarrow = R */ ESC,"[0;75;\"\314\"p", /* leftarrow = L */ ESC,"[0;73;\"\302\"p", /* PG UP = B */ ESC,"[0;79;\"\316\"p", /* END = N */ ESC,"[0;81;\"\316\"p", /* PG DN = N */ ESC,"[0;83;\"\177\"p", /* DEL = 0x7f */ ESC,"[0;59;\"\302\"p", /* F1 = B */ ESC,"[0;60;09p", /* F2 = TAB */ ESC,"[0;61;\"\316\"p", /* F3 = N */ ESC,"[0;62;\"\233\"p", /* F4 = ESC */ ESC,"[0;63;96p", /* F5 = ` (back-quote) */ ESC,"[0;64;\"\233S\"p", /* F6 = ESC S */ ESC,"[0;65;\"\233R\"p", /* F7 = ESC R */ ESC,"[0;66;\"\233Q\"p", /* F8 = ESC Q */ ESC,"[0;67;\"\233K\"p", /* F9 = ESC K */ ESC,"[0;68;\"\233B\"p", /* F10 = Break */ ESC,"[6;1;25;80~B", /* scroll lines 6-25 */ ESC,"[25;1f", /* cursor bottom left */ ESC,"[0;0;0;;1~A", /* & remove it */ 0xff}; static char keyr[] = { ESC,'c', /* R.I.S. */ ESC,"[0;59;p", /* F1 */ ESC,"[0;60;p", /* F2 */ ESC,"[0;61;p", /* F3 */ ESC,"[0;62;p", /* F4 */ ESC,"[0;63;p", /* F5 */ ESC,"[0;64;p", /* F6 */ ESC,"[0;65;p", /* F7 */ ESC,"[0;66;p", /* F8 */ ESC,"[0;67;p", /* F9 */ ESC,"[0;68;p", /* F10 */ "Returned to MSDOS. ", 0xff}; cpmgo() { exit(); } fpanel() { txtout("Front-Panel not yet implemented\r"); return; } /* end of fpanel() */ unsigned getram(n) /* allocate store */ int n; /* # of bytes */ { char *addr; if ( (addr = malloc(n)) != 0 ) return(addr); txtout("\rUnable to allocate buffers.\r"); cpmgo(); } /* end of getram() */ char kbdin() /* char or not from keyboard */ { char c; c = bdos(0x06,0xff,0); return(c); } /* end of kbdin() */ keyconn() /* set up keypad for CONN mode */ { CHAR c; int i; i = 0; while ( (c = keyc[i++]) != 0xff ) { if (c != 0) putchar(c); } } /* end of keyconn() */ keyinit() /* initialize keyboard & screen */ { CHAR c; int i; static char done = 0; i = 0; /* keyboard initialization */ while ( (c = keys[i++]) != 0xff ) { if (c != 0) putchar(c); } if (done == 0) { /* screen init once only */ init_screen(); ++done; for (i=0; i<(256*25); i+=256) vtline(i,blanx); } return; } /* end if keyinit() */ keyrest() /* restore keyboard & screen */ { CHAR c; int i; i = 0; /* keyboard restoration */ while ( (c = keyr[i++]) != 0xff ) { if (c != 0) putchar(c); } return; } /* end of keyrest() */ netcool() { return; } /************ End of File, KNIMB.C ***********************************/