http://www.ousob.com --- Legacy Redefined #include <dos.h> #include <extend50.h> void xget_cursor(int *start, int *end); void xset_cursor(int start, int end); int xgetvpage(void); CLIPPER b_cursor() { int row, col, start, end; int ret_val = 0; while(1) { if( PCOUNT == 0 ) { xget_cursor(&start,&end); if( (start >= 0 && start <= 8) && (end >= 0 && end <= 8) ) { ret_val = 1; break; } else { ret_val =0; break; } } else { if( _parl(1) == 0 ) { xset_cursor(-16,-16); ret_val = 0; break; } else { xset_cursor(6,7); ret_val = 1; break; } } } _retl(ret_val); } int xgetvpage(void) { union REGS ireg; ireg.h.ah = 0x0f; int86(0x10, &ireg, &ireg); return (ireg.h.bh); } void xget_cursor(int *start, int *end) { union REGS ireg; ireg.h.ah = 0x03; ireg.h.bh = xgetvpage(); int86(0x10, &ireg, &ireg); *start = (int) ireg.h.ch; *end = (int) ireg.h.cl; } void xset_cursor(int start, int end) { union REGS ireg; ireg.h.ah = 0x01; ireg.h.ch = (char) start; ireg.h.cl = (char) end; int86(0x10, &ireg, &ireg); }