home *** CD-ROM | disk | FTP | other *** search
/ World of A1200 / World_Of_A1200.iso / programs / develop / gadtoolsbox / readmefirst < prev    next >
Text File  |  1995-02-27  |  2KB  |  42 lines

  1.   ----------------------------------------------------------------------
  2.   gadtoolsbox.library version 39.
  3.   ----------------------------------------------------------------------
  4.  
  5.   MAJ  MAJ  MAJ MAJ MAJ  MAJ MAJ MAJ MAJ MAJ MAJ MAJ MAJ MAJ MAJ MAJ MAJ
  6.  
  7.   I have to make  very  big  appology to  all  GTB 2.0  users  that  are
  8.   running on a 68000 based machine.   After hearing some very disturbing
  9.   messages about GTB crashing I (finaly) found out that loading a GUI on
  10.   68000 based machines in some cases  caused a  GURU #80000003  (address
  11.   error). This was the reason:
  12.  
  13.   GadToolsBox writes strings the following way in the file:
  14.  
  15.         len     (16bits)
  16.         chars   (len of characters)
  17.  
  18.   Now the code reads a complete chunk into memory from which the strings
  19.   where read as follows:
  20.  
  21.         UBYTE   *data;      <-- pointer to chunk data
  22.         UWORD    len;
  23.  
  24.         len = *(( UWORD * )data );
  25.         data += 2;
  26.  
  27.   Since the strings are  located  after  eachother  this could  cause an
  28.   address error (reading a WORD from an un-aligned address).   Now I use
  29.   the following code which  eliminates  the problem:
  30.  
  31.         UBYTE   *data;
  32.         UWORD    len;
  33.  
  34.         len  = (( *data++ ) << 8 );
  35.         len |= *data++;
  36.  
  37.   Now I can tell you all sorts of excuses  for not  testing  on a  68000
  38.   based machine but I wont. I screwed up *BIG* and I am sorry for that.
  39.  
  40.   P.S. The version bump to 39 is because the V38 version of the  library
  41.        is hereby declared obsolete. (Rev. 1)
  42.