home *** CD-ROM | disk | FTP | other *** search
- /******************************************************************************
- * *
- * misc.c *
- * *
- ******************************************************************************/
-
- #include <stdlib.h>
- #include <stdio.h>
- #include <math.h>
- #include <swis.h>
- #include <os.h>
- #include <bbc.h>
- #include "GrpLib.h"
- #include "extern.h"
-
- /*****************************************************************************/
- void SetTxtCurPos(int x, int y)
- {
- os_error *err;
- err=bbc_tab(x,y);
- }
-
- int GetClock(void)
- {
- os_regset regs;
- char blk[16];
- int i=0;
- int t=0;
-
- regs.r[0]=0x01; /* read system clock */
- regs.r[1]=(int)blk;
- os_swi(OS_Word,®s);
-
- t+=(int)(blk[i++])<<0;
- t+=(int)(blk[i++])<<8;
- t+=(int)(blk[i++])<<16;
- t+=(int)(blk[i++])<<24;
-
- return(t);
- }
-
- void ReadMouse(int *x, int *y, int *b)
- {
- os_regset regs;
-
- os_swi(OS_Mouse,®s);
- *x=regs.r[0];
- *y=regs.r[1];
- *b=regs.r[2];
- }
-
- int Inkey()
- {
- os_regset regs;
-
- regs.r[0] = 129; /* kb read */
- regs.r[1] = 0; /* wait time low byte */
- regs.r[2] = 0; /* wait time high byte */
- os_swi(OS_Byte,®s);
- return( (regs.r[2]==0) ? regs.r[1] : 0);
- }
-
- void SetMousePos(int x, int y)
- {
- os_regset regs;
- char blk[16];
- int i=0;
-
- blk[i++]=(char) 3; /* set mouse position */
- blk[i++]=(char) (x & 0xFF); blk[i++]=(char) ((x>>8) & 0xFF);
- blk[i++]=(char) (y & 0xFF); blk[i++]=(char) ((y>>8) & 0xFF);
-
- regs.r[0]=0x15; /* define pointer and mouse parameters */
- regs.r[1]=(int)blk;
- os_swi(OS_Word,®s);
- }
-
- void SaveTraject(char *name,signed char traject[][4],int nb)
- {
- FILE *f;
- int i;
-
- f = fopen(name,"w");
- for (i=0 ; i<nb ; i++) {
- fputc(traject[i][0],f);
- fputc(traject[i][1],f);
- fputc(traject[i][2],f);
- fputc(traject[i][3],f);
- }
- fclose(f);
- }
-
- void LoadTraject(char *name,signed char traject[][4],int nb)
- {
- FILE *f;
- int i;
-
- f = fopen(name,"r");
- for (i=0 ; i<nb ; i++) {
- traject[i][0] = (signed char)fgetc(f);
- traject[i][1] = (signed char)fgetc(f);
- traject[i][2] = (signed char)fgetc(f);
- traject[i][3] = (signed char)fgetc(f);
- }
- fclose(f);
- }
-
-
-
-