home *** CD-ROM | disk | FTP | other *** search
/ Fish 'n' More 2 / fishmore-publicdomainlibraryvol.ii1991xetec.iso / disks / disk430.lzh / Pointer / zz_pointer.c < prev    next >
C/C++ Source or Header  |  1991-01-11  |  2KB  |  88 lines

  1. /**************************************
  2. *  ZZ_POINTER.C  08/05/90
  3. *  Written by Timm Martin
  4. *  This source code is public domain.
  5. ***************************************/
  6.  
  7. #include <exec/memory.h>
  8. #include <exec/types.h>
  9. #include <functions.h>
  10. #include "zz_pointer.h"
  11.  
  12. /**********************
  13. *  POINTER IMAGE DATA
  14. ***********************/
  15.  
  16. #define POINTER_DATA 54
  17. #define POINTER_SIZE (long)(POINTER_DATA*2)
  18.  
  19. USHORT zz_pointer_data[POINTER_DATA] =
  20. {
  21.   0x0000, 0x0000,
  22.  
  23.   0x0000, 0x0FE0,
  24.   0x0F60, 0x1090,
  25.   0x1FF0, 0x6008,
  26.   0x3FF0, 0x4008,
  27.   0x7FF8, 0x8F04,
  28.   0x7FFC, 0x8202,
  29.   0x7FFC, 0x8402,
  30.   0x3FFE, 0x4F01,
  31.   0x7FFE, 0x8001,
  32.   0x7FFE, 0x80F1,
  33.   0x3FFC, 0x4022,
  34.   0x7FFE, 0x8041,
  35.   0x7FFE, 0x80F1,
  36.   0x3FFE, 0x4001,
  37.   0x1FFC, 0x2002,
  38.   0x07F8, 0x1804,
  39.   0x00F0, 0x0708,
  40.   0x0780, 0x0870,
  41.   0x0FE0, 0x1010,
  42.   0x07C0, 0x0820,
  43.   0x0000, 0x0FE0,
  44.   0x01C0, 0x0220,
  45.   0x03E0, 0x0410,
  46.   0x00E0, 0x0310,
  47.   0x0000, 0x00E0,
  48.  
  49.   0x0000, 0x0000
  50. };
  51.  
  52. USHORT *zz_pointer = NULL;  /* GLOBAL */
  53.  
  54. /********************
  55. *  ZZ POINTER CLOSE
  56. *********************/
  57.  
  58. /*
  59. This procedure frees the CHIP RAM memory used by the ZZ pointer.
  60. */
  61.  
  62. void zz_pointer_close( void )
  63. {
  64.   if (zz_pointer)
  65.   {
  66.     FreeMem( zz_pointer, POINTER_SIZE );
  67.     zz_pointer = NULL;
  68.   }
  69. }
  70.  
  71. /*******************
  72. *  ZZ POINTER OPEN
  73. ********************/
  74.  
  75. /*
  76. This function attempts to copy the ZZ pointer image data into CHIP RAM.  It
  77. returns TRUE or FALSE whether memory was allocated.
  78. */
  79.  
  80. BOOL zz_pointer_open( void )
  81. {
  82.   /* if could allocate CHIP RAM to hold pointer data */
  83.   if (zz_pointer = (USHORT *)AllocMem( POINTER_SIZE, MEMF_CHIP ))
  84.     CopyMemQuick( zz_pointer_data, zz_pointer, POINTER_SIZE );
  85.  
  86.   return (zz_pointer != NULL );
  87. }
  88.