home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 2 / DATAFILE_PDCD2.iso / utilities / codemaker / CodeMaker / Exemples / !Exemple0 / c / MyUtils < prev   
Text File  |  1992-12-19  |  2KB  |  100 lines

  1. /* 
  2.         CodeMaker !Exemple0 : MyUtils
  3.         Frank Lyonnet 1992 
  4.  
  5.         You can contact me on internet : lyonnet@ufrima.imag.fr .
  6.                                          lyonnet@imag.fr .
  7.                         on french RTEL : bal ARCHETYPE .
  8.                                by mail : Frank Lyonnet
  9.                                          420 , Chemin de la Cassine
  10.                                          73000 Chambéry
  11.                                          France 
  12. */
  13.  
  14. #include "kernel.h"
  15. #include "swis.h"
  16. #include <time.h>
  17.                
  18. int get_screen_adr(void)
  19.         {
  20.         _kernel_oserror Erreur;
  21.         _kernel_swi_regs InRegs,OutRegs;
  22.         int VduRequest[2];
  23.         int AdresseEcran;         
  24.         
  25.         VduRequest[0]=149;
  26.         VduRequest[1]=-1;
  27.         InRegs.r[0]=(int)&VduRequest;
  28.         InRegs.r[1]=(int)&AdresseEcran;
  29.         Erreur=*_kernel_swi(OS_ReadVduVariables,&InRegs,&OutRegs);
  30.         return(AdresseEcran);
  31.         }
  32.                                              
  33. int mouse_buttons(void)
  34.         {
  35.         _kernel_oserror Erreur;
  36.         _kernel_swi_regs InRegs,OutRegs;
  37.  
  38.         Erreur=*_kernel_swi(OS_Mouse,&InRegs,&OutRegs);
  39.         return(OutRegs.r[2]);
  40.         }
  41.  
  42. void set_screen(int Offset)
  43.         {
  44.         struct {
  45.                 int      
  46.                         updated:1,
  47.                         displayed:1,
  48.                         unused:6,
  49.                         offset1:24;
  50.                 int
  51.                         offset2:8,
  52.                         notused:24;
  53.                 } BlockOS;          
  54.  
  55.         BlockOS.displayed=1;
  56.         BlockOS.updated=0;
  57.         BlockOS.offset1=Offset&0xffffff00;
  58.         BlockOS.offset2=Offset&0x000000ff;
  59.         _kernel_osword(22,(int *)&BlockOS);
  60.         }      
  61.      
  62. void cache_on(void)
  63.         {
  64.         _kernel_oscli("cache on");
  65.         }
  66.  
  67. void cache_off(void)
  68.         {
  69.         _kernel_oscli("cache off");
  70.         }
  71.  
  72. #ifndef BOOL
  73. #define BOOL int
  74. #endif
  75.  
  76. BOOL is_arm3(void)
  77.         {
  78.         return(_kernel_oscli("cache on")==1);  /* no err */
  79.         }
  80.  
  81. BOOL is_ram8(void)
  82.         {
  83.         return((*(unsigned long int *)0x110 & 0xffff)==8000);
  84.         }
  85.  
  86. BOOL is_ram12(void)
  87.         {
  88.         return((*(unsigned long int *)0x110 & 0xffff)==11994);
  89.         }
  90.  
  91. BOOL is_memc1a(void)
  92.         {
  93.         return((*(char *)0x112 & 1)==1);
  94.         }
  95.  
  96.  
  97.  
  98.                 
  99.                
  100.