
     ICTARI USER GROUP              ISSUE 18                   January 1995

         ___   ______     ___       _________   _________   ___
         \__\  \   __\    \  \__    \______  \  \   _____\  \__\
           ___  \  \       \  __\     _____\  \  \  \         ___
           \  \  \  \       \  \      \  ____  \  \  \        \  \
            \  \  \  \_____  \  \____  \  \__\  \  \  \        \  \
             \  \  \       \  \      \  \        \  \  \        \  \
              \__\  \_______\  \______\  \________\  \__\        \__\

                     *   m   a   g   a   z   i   n   e   *

     =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
                       I C T A R I   U S E R   G R O U P
       63 Woolsbridge Road, Ringwood, Hants, BH24 2LX   Tel. 0425-474415
     =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

                              INDEX FOR ISSUE 18
                              ==================


     ASSEMBLY        Roman to Arabic number conversion routine.
                     Arabic to Roman number conversion routine.
                     AES/VDI function reference sheets.
                     Text dictionary encoding techniques and code.

     C               GEM Tutorial by J White. Part 8.
                     Calendar program code.

     GFA             Overscan and Fullscreen coding techniques.

     BASIC           CAD 3D to DXF converter program.

     STOS            Screen demo code routines.

     PASCAL          Various small programs.

     MISC            More GIF/TIFF coding information.
                     Binary-ASCII conversion program for Assembler use.
                     Hallucinogen demo program.
                     Current membership list.

     In next months issue of ICTARI (this may change) :-

     ASSEMBLY        Various Falcon specific assembler routines.
                     Joystick reading routines.
                     'Thermometer' progress display code.

     C               GEM Tutorial by J White. Part 9.
                     Text packing using Huffman coding.

     GFA             AutoZest (GFA Interface Creation Utility)
                     GFA Programming Tricks and Tips.

     STOS            Mad Bomber game code.
                     Routines to draw Alert boxes and work out time/date.

     PASCAL          More small programs.

     MISC            Desk Top .INF file information.
                     More information on GIF image format.

     For future issues :-

     Polyline drawing routines in machine code.
     Bezier curve drawing routines.
     Picture compression routine for IMG pictures.
     HP DeskJet/LaserJet compression routines (Mode 2 TIFF).
     Picture switching techniques.
     Printer driver code for printing mono/colour images.
     Using Calamus fonts.
     Sorting algorithms.
     Using the BitBlit routines.
     Code for using the File Selector.
     Using multiple rasters in machine code.
     Overscan techniques.
     STOS sprites.
     ----------------------------------------------------------------------
                                   EDITORIAL
                                   =========
     MEMBERSHIP
     ----------
     Another two members for  this  month  including  one from New Zealand,
     welcome to them.

     CONTRIBUTIONS
     -------------
     We are still very short of articles for future issues of the magazine.
     We recently checked through our records and out of the 60 members that
     we currently have, only 26  have  contributed  articles that they have
     written themselves.  As the magazine relies almost entirely on members
     contributions, it is important  that  all  members  should try and and
     provide some material for the  disks  even  if  it  is only one or two
     items a year.  Or, as we have  mentioned before, if you cannot write a
     comprehensive article on some aspect  of programming perhaps you could
     send in a  question  about  a  programming  problem  which  may prompt
     another member to send in  an  answer  which  could  be of interest to
     other members.
     ----------------------------------------------------------------------
                                CORRESPONDENCE
                                ==============
     To: ICTARI
     From: Richard Gage

     I am writing to inform you  that,  regretfully, I have now reached the
     stage where I can no longer justify  the  use of an Atari computer due
     to pressure from work  for  PC  compatiblity  in  the documents that I
     produce. I therefore wish to cancel my membership of ICTARI but I wish
     you well in the future. I have enclosed a list of things which I shall
     be selling so that if any ICTARI members are interested in buying them
     from me they can give me  a  ring  on  0843 851706. The prices include
     postage and packing for UK members.

     Hardware
     --------
     4MB Falcon/270MB MiniS hard drive/Desktopper/MC68882/PowerUp2   800
     Loudspeakers (Juster DC-691 from Gasteiner)                     10
     Systems solution 14" SVGA monitor                               200

     Software
     --------
     AtariWorks (V1.207)/Speedo GDOS (V4.1 and 5.0c)                 75
     Calligrapher Gold (V Pr3.03/44)                                 25
     ChemKit (V1.5)                                                  10
     DevPac (V3.10)                                                  35
     Geneva (V1.02 release 3)                                        25
     HiSoft Basic (v2.1)                                             50
     Home Accounts 2 (V1.13)                                         15
     Ladbroke Turbo kit                                              4
     Molgraph 2 (V2.0)                                               10
     Neodesk 4 (V4 release 2)                                        25

     Addams Family                                                   6
     Archipelagos                                                    6
     Blood Money                                                     6
     Defender II                                                     6
     Frontier Elite 2                                                6
     Ishar 2                                                         6
     Knights of the Sky                                              6
     Nine Lives                                                      6
     Populus 2                                                       6
     Shadoworlds                                                     6
     Special Forces                                                  6
     Star Raiders                                                    6
     Tempest                                                         6
     The Secret of Monkey Island                                     6

     Books
     -----
     Atari ST Explored                                               6
     Compute Machine Code Guide                                      6
     Programming the MC68000                                         6
     ST Applications Issues 1-43                                     30
     The Atari Compendium                                            20
     ZZ Soft Introduction to Machine Code                            6
     ----------------------------------------------------------------------
     To: *.*
     From: Dick Teuber

     Does anyone know how to use the  Analogue Joystick ports that are only
     available on  the  STE  and  if  there  are  any  commercial  analogue
     joysticks available that can be used with these ports.
     ----------------------------------------------------------------------
     To: TT users
     From: James Collett (Professor)

     I`m looking for someone who either owns/has access to a TT,  or  knows
     someone who owns/has access to a TT,  +and+ owns/has access to another
     ATARI machine [e.g. STE, MEGA-ST(E), FALCON].

     I`ve recently written a demo called HALLUCINOGEN.   I`ve tested it  on
     the STE,  MEGA-ST and FALCON, but I`ve not been able to test it on the
     TT as I don`t have access to a TT.

     I`d  be  grateful if someone could  run it  on both a TT  and  another
     blittered machine (i.e.  not STFM),  and let me know if the demo  runs
     the  same or different on both machines  (e.g.  speed / smoothness  of
     graphics).   HALLUCINOGEN  can  be found on this month`s  ICTARI  disk
     (issue #18).

     Thanks alot,
     James (Professor/bcc)                 [Internet: jrc1@axprl1.rl.ac.uk]

     */ The only ICTARI member that admits  to having a TT is Jukka Tiensuu
     from Finland and he has  asked  for  his  name  and  address not to be
     published, perhaps he will be prepared to help.  ICTARI /*
     ----------------------------------------------------------------------
     To: *.*
     From: Peter Hibbs

     On most HiSoft editors (DevPac3 for  example) some of the menu options
     are disabled (shown in light text)  when  an accessory is opened. Does
     anyone know exactly how this is  done  because,  as far as I know, the
     AES does not  generate  a  message  event  (from  evnt_multi)  when an
     accessory is opened so how does the  editor program know that the menu
     options should be disabled.


     Another problem I would  like  some  help  on  is 'graphics outlining'
     code. Imagine that you have  a  solid  (black) image on the monochrome
     screen, say a large letter  A  for  example.  I  want to run a routine
     which will produce the same image in  outline format. I have written a
     machine code routine  which  does  this  by  first  creating a cleared
     destination buffer in memory which is the  same size as the screen and
     then examining every pixel and :-

     if the source pixel is white, then ignore and continue to next.

     if the source pixel is black and  there is a white pixel above, below,
     to the left OR to  the  right,  then set the corresponding destination
     pixel to black.

     if the source pixel is black and  the  pixel above, below, to the left
     AND to the right are also black, then ignore and continue.

     While this works OK it is very  very  slow, even in machine code. Does
     anyone have any ideas on how to  do this quickly. Note that although I
     mentioned the image as being on  screen  above, in practice the source
     data will also be in a RAM  buffer  so  it  is not possible to use any
     screen specific functions or the blitter.

          ************************************************************

     As we have not had much correspondence this month (come on guys, let's
     have a bit of feedback here  !)  the remaining letters in this section
     are repeats of requests for help which have been published in previous
     issues and which have not been  answered. If you have been subscribing
     to ICTARI for a long time you will already have seen them, if you have
     joined within the last 6 months or  so you probably haven't. In either
     event, if you can provide a solution  to any of the problems mentioned
     below, please send them in as soon as possible.
     ----------------------------------------------------------------------
     To: *.*
     From: Kevin Preece

     A request, I have  written  routines  to  perform  4-way hardware tile
     based scrolling on my STE, but now I  would like to extend it to do 8-
     way scrolling.  Does anyone have any routines to do this on an STE, or
     can anyone explain it in  English?   Book or Internet references would
     be fine. Thanks in advance.
     ----------------------------------------------------------------------
     To: *.*
     From: Simon Rigby

     I want to know anything at  all  about  SPEEDOGDOS Fonts; how the font
     files are made up and what  the  new  commands actually do. I have the
     official Atari developers book, but it's written by a Techno Boffin in
     shorthand!  I  also  have  the   Hisoft   book,  but  that's  just  an
     programmer's translation from Techno Boffin into standard Font Jargon!
     I also want a SPEEDOGDOS driver for either a Canon BJC-600 or an Epson
     LQ2550, but I suppose I will just have  to wish. How about info on how
     to make *.SYS drivers (old and new)?
     ----------------------------------------------------------------------
     To: *.*
     From: Peter Hibbs

     Does anyone have any  information  on  writing  CPX accessory programs
     (for XCONTROL) in machine code. There   were  a  number published on a
     recent cover disk which were quite useful but  some were in German and
     I think it  would   be   useful   to   write   some  additional  ones.
     The  'Atari Compendium' book does have  a  shell CPX  program  but  it
     is all in C, a machine code version  of  this would be handy, if it is
     possible.
     ----------------------------------------------------------------------
     To: *.*
     From: Steve Gale

     I am writing a simple  text  editor   in   machine code (Hi Rez) which
     uses the normal mouse arrow cursor  AND   the VT52 flashing block text
     cursor. The problem is that whenever the  mouse  cursor  is moved over
     the text cursor the  text  cursor  block  gets  corrupted  until it is
     moved. Is there any way of avoiding  this  or  will I have to write my
     own cursor flashing routine and if so how.
     ----------------------------------------------------------------------
     To: *.*
     From: Dick Teuber

     I would like to write  a  program  which   uses  a Resource File but I
     don't  want it as  a   separate   file   on   the  disk.  Does  anyone
     know how to incorporate the .RSC file within a program in C or machine
     code.
     --------------------------- End of file ------------------------------
