0660103030566
9[....................................................]







         -----------------------------------------------------------------
         |                                                               |
         |   AAA  TTTTT  AAA  RRRR   III        ****         SSS  TTTTT  |
         |  A   A   T   A   A R   R   I         ****        S   S   T    |
         |  A   A   T   A   A R   R   I         ****        S       T    |
         |  AAAAA   T   AAAAA RRRR    I        ******        SSS    T    |
         |  A   A   T   A   A R   R   I       ** ** **          S   T    |
         |  A   A   T   A   A R   R   I      **  **  **     S   S   T    |
         |  A   A   T   A   A R   R  III   **    **    **    SSS    T    |
         |                                                               |
         |  DDDD  EEEEE V   V EEEEE L      OOO  PPPP  EEEEE RRRR   SSS   |
         |  D   D E     V   V E     L     O   O P   P E     R   R S   S  |
         |  D   D E     V   V E     L     O   O P   P E     R   R S      |
         |  D   D EEEE  V   V EEEE  L     O   O PPPP  EEEE  RRRR   SSS   |
         |  D   D E     V   V E     L     O   O P     E     R   R     S  |
         |  D   D E      V V  E     L     O   O P     E     R   R S   S  |
         |  DDDD  EEEEE   V   EEEEE LLLLL  OOO  P     EEEEE R   R  SSS   |
         |                                                               |
         -----------------------------------------------------------------
         Question and Answer Bulletin                           June  1986
         Copyright (C) 1986 by Atari Corp.           "all rights reserved"
         1196 Borregas Ave.,          Sunnyvale, Ca.                 94086
         -----------------------------------------------------------------

         Here  are  the latest questions from the Atari developers mailbag
         as  answered  by  John Feagans, Director of Software Technology.
         Leave  questions on Compuserve for PIN 70007,1072 or GO PCS57 for
         Atari developer SIG information.


         1.  Discussion

         We  would  like  to clear up a bit of the confusion on the use of
         the  Alcyon  version  4.14  C  compiler.   The programs which are
         actually  new  in  the  system  are cp, c0, and c1, the as68, and
         ar68.  The Motorola FFP (libf) and the double precision math pack
         (libm)  are  upgraded  and  a new addition respectively.  All the
         other  tools  and programs on the disks are the standard issue in
         the  regular  developer's  kit.   GEMLIB was modified slightly by
         Alcyon  to  include procedures needed by the new math libraries.
         In the future, everyone will be updated with a new linker.

         The  files  on the disks have been organized in a two disk system
         for  C-  development.  There is some redundancy on the linker and
         compiler  disks  with  regard  to  batch.ttp,  wait, and rm.  The
         header  files  for  the  AES  and  VDI are not included since you
         already  have  them  on  the standard kit.  You may configure the
         .bat files any way you wish, but be especially vigilant to cf.bat
         and  linkf.bat  which are intended to work as a pair.  cf.bat has
         the  -f  option  which  is  telling the new c-compiler to use the
         Motorola  fast  floating point.  If you mix cf.bat with link.bat,
         the first symptom you will see is "printf.o multiply defined."  I
         have  done  this  accidently with my keyboard that has a sticking
         "k"  key.   If  you  want to be safe, just make a batch file that
         compiles  and  links  your  file in one operation.  Remember also


         _________________________________________________________________
         ATARI ST DEVELOPERS              -1-                    June 1986



         Question and Answer Bulletin
         _________________________________________________________________


         that  you must add stdio.h and ctype.h as before if you use those
         functions.
         -----------------------------------------------------------------


         2.  BIOS

         Q: How can you initiate a screen dump from the keyboard?

         A:  Hold down the <Alternate> key  and press <Help>.  Be sure you
         have  done  the  correct  printer installation if you are using a
         non-Atari  printer capable of doing raster dumps.  Repeat the key
         sequence  to  halt  the print at any time.  The best part of this
         feature  is  that you can activate it from any program even if it
         does not use GEM.

         Q: How do you turn off the cursor in a TOS application?

         A:  Send  the  VT-52  escape to turn off the cursor.  Look in the
         Hitchhiker's  Guide to the BIOS for a complete description of all
         the escape codes.

         -----------------------------------------------------------------


         3.  DOS

         Q:  How do I install partitions I have created with the hard disk
         format program?

         A:   Select one of the drive icons on the desktop. Move the mouse
         to  the  Options menu and select Install drive.  Change the drive
         identifier  to  your  choice and select OK.  Be sure to do a Save
         desktop  so  that  the  installed drive will appear each time you
         boot.

         Q:  How can I recover some files I accidently trashed?

         A:  There is hope -- but not much.  If you have not created a new
         file  since  your accident, you may be able to use a disk utility
         to  view  sectors  and  piece  it  back together.  However, those
         sectors  may  be scattered all over your disk.  The best medicine
         is prevention.  Leave the confirm deletes option connected.
         -----------------------------------------------------------------


         4.  VDI

         Q:  Looking  into the VDIBIND library, I saw that there were many
         functions  which couldn't be found in VDIBIND.H.  e.g. vro_cpyfm,
         vs_clip.   What  is the rason for not including these in VDIBIND.
         Can we include them or don't they work well?

         A:  VDIBIND.H  is  not  necessary because all functions return an
         integer  value--if  ever.  All these functions are in the VDIBIND


         _________________________________________________________________
         ATARI ST DEVELOPERS              -2-                    June 1986



         Question and Answer Bulletin
         _________________________________________________________________


         object library.

         Q:  I  was  using vg_text to output a string.  When I switched to
         line-a  to output the characters of the string one character at a
         time it was slower -- why?

         A:  When you pass a string to the VDI you are performing only one
         Trap or software interrupt.  If you use line-a, you do a software
         interrupt--and all of the overhead--on each character you output.
         In  the  end, the same code outputs the pixels to the video RAM.
         In some cases, like this, VDI can exceed line-a.

         Q: What is the standard address of screen memory?

         A:  Unlike  older  systems,  the ST can have video display memory
         located  anywhere  as  long  as  it is on 1k boundaries.  Various
         device  drivers may be loaded in at boot time so it is impossible
         to  say  that  video  memory has a fixed address.  The only thing
         that  can  be  said  for  sure  about  the location is that it is
         usually the high end of RAM.

         -----------------------------------------------------------------


         5.  AES

         Q:  Is it possible to track the mouse through the process of menu
         item  selection?  I need to change the appearance of items on the
         fly.

         A:  No,  this is not an option of the AES.  The usual scenario is
         to   stay  in  the  evnt_multi  until  a  menu_event  message  is
         returned.

         Q:  How many parameters does the objc_edit command have?

         A: The correct number is five.  The AES manual incorrectly states
         six.

         -----------------------------------------------------------------


         6.  Desktop

         Q:   I  would like to know if information from the desktop.inf is
         available  to  normal  applications.   I  have  noticed  that the
         control  panel and VT 52 emulator accessories have access to this
         information.

         A:   It  is the responsibility of every application in the system
         to  save  and  restore  changes  to  system variables.  We do not
         recommend   an  application  going  in  to  directly  change  the
         desktop.inf.   There  is  a constant danger of user modifications
         causing  damage to the system that cannot be supported.  The best
         way  to change colors is through the vdi.  Modifying the hardware


         _________________________________________________________________
         ATARI ST DEVELOPERS              -3-                    June 1986



         Question and Answer Bulletin
         _________________________________________________________________


         registers directly is also discouraged since you are locking your
         application  to one version of ST hardware.  There are also xbios
         entries for changing and inquiring printer and rs-232 data.
         -----------------------------------------------------------------


         7.  BASIC

         Q: How can I access the RS-232 from BASIC?

         A:  Where X is a character:  For output use OUT 1,X and for input
         use X = INP(1).

         -----------------------------------------------------------------


         8. Development Tools

         Q:   The  function  itoa is not in the C-runtime libraries.  What
         can I use for this function?

         A:   If  you have a special case where you need a small number of
         digits in a hurry, you can write a quick C function to convert an
         integer to ASCII characters.  Another way is if you have included
         stdio, you can use sprintf to output an integer to a string.

         Q:  We are having serious troubles with C.  The functions getchar
         and  stream  reading  does  not  work properly.  In fact a German
         version has modified "stdio.h" definitions, (sic) though it works
         better has still problems.

         A:   There  is  another version of stdio.h floating around Europe
         which  uses  a #define of getchar to be a BIOS Bconin(CON).  This
         does not help the scanf function however.  There is also a danger
         in  using  this version because when you mix Gem DOS calls (which
         the  C  run-time  uses),  and direct BIOS calls to get characters
         from  the  keyboard.   A  symptom  of  this has been noted as "10
         characters  disappearing"  as the DOS bufferes them up whenever a
         printf  is called.  The safest replacements for getchar and scanf
         are using Cconin and Cconrs+sscanf respectively.

         -----------------------------------------------------------------


         9. New On Compuserve

         In  data  library 7 (for registered Atari Developers only) in the
         Atari  Developers  SIG on Compuserve, the following files are new
         this month:

         gemlib             Works with both Alcyon versions.
         test.c             Example using stdio to lst: and con:.
         qa4.doc            May Q/A newsletter.




         _________________________________________________________________
         ATARI ST DEVELOPERS              -4-                    June 1986




Press <CR> to continue !tϬXI1913 h _PjMW+p1
j   iULsSRsHFxVOVۚVS'89Tv!Yr

                Bugs in the ST Resource Construction Set

The RCS originally shipped with the Atari Developers' Kit did not receive
adequate testing, and as a result contains a number of bugs, two of which
are show stoppers.  Due to numerous questions on the SIG, and Tom Hudson's
suggestion, I am documenting them here.  (The statements here are my
own, and have nothing to with Atari or DRI.  Use them at your own risk.)

Bug #1)  The RCS does not work properly with color systems.  The character
size used is incorrect, resulting in objects which are twice as high as
intended.  The only solution is to use the RCS with a monochrome system only.

Bug #2)  When using icons or bit images, the RCS may produce a resource file
which causes an address error on the 68000.  This occurs because the RCS
is not forcing the images to an even byte boundary.  Since the images are
written immediately after strings, any resource with an odd number of bytes
in the string will suffer from this problem (if it contains images as well).
To work around: make a copy of the resource BEFORE adding ANY images.
Then add the images and attempt to save the resource from the RCS.  If you
get an error, restore from your backup, add one byte to any string, and try
again.  Whenever editing ANY string, do the same thing.  ALWAYS keep a
backup copy!  By the time the RCS bombs, your resource is history!

"Feature" #3)  The icon format expected by the RCS is rather obscure,
shall we say.  This happened because the RCS expects to find icons written
by the GEM IconEditor, which was never ported to the ST.  If you want to
"roll your own", an example of the correc
