home *** CD-ROM | disk | FTP | other *** search
/ Fujiology Archive / fujiology_archive_v1_0.iso / !MAGS / ICTARI / ICTARI13.ZIP / ICTARI.TXT < prev    next >
Text File  |  1994-08-15  |  20KB  |  406 lines

  1.  
  2.  
  3.     ICTARI USER GROUP             ISSUE 13                     August 1994
  4.  
  5.          ___   ______     ___       _________   _________   ___
  6.          \__\  \   __\    \  \__    \______  \  \   _____\  \__\
  7.            ___  \  \       \  __\     _____\  \  \  \         ___
  8.            \  \  \  \       \  \      \  ____  \  \  \        \  \
  9.             \  \  \  \_____  \  \____  \  \__\  \  \  \        \  \
  10.              \  \  \       \  \      \  \        \  \  \        \  \
  11.               \__\  \_______\  \______\  \________\  \__\        \__\
  12.  
  13.                      *   m   a   g   a   z   i   n   e   *
  14.  
  15.      =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  16.                        I C T A R I   U S E R   G R O U P
  17.        63 Woolsbridge Road, Ringwood, Hants, BH24 2LX   Tel. 0425-474415
  18.      =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  19.  
  20.                               INDEX FOR ISSUE 13
  21.                               ==================
  22.  
  23.     ASSEMBLY        Setting up system timers.
  24.                     Vertical Blanking List (VBL) notes.
  25.                     Colour cycling on raster lines.
  26.                     Nick Bates. Sprite tutorial Part 2.
  27.                     Keyboard equates file.
  28.                     Compare routine.
  29.                     Disk formatting code.
  30.  
  31.     C               C Graphics extensions.
  32.                     Various C functions for use with GEM dialogs.
  33.                     GEM Tutorial by J White. Part 3.
  34.  
  35.     GFA             Anagram generating code and recursion techniques.
  36.                     Sound sample play routines.
  37.  
  38.     STOS            STOS extra extensions.
  39.  
  40.     MISC            Atari Questions and Answers file No 2.
  41.                     Discussion on drawing tangents on curves.
  42.                     Current membership list.
  43.  
  44.     In next months issue of ICTARI (this may change) :-
  45.  
  46.     ASSEMBLY        STFM Overscan techniques.
  47.                     Nick Bates, Sprite tutorial Part 3.
  48.                     Code to calculate position of bouncing sprite.
  49.                     Signed Integer fraction maths routines.
  50.                     'Case' selection routine.
  51.  
  52.     C               'Tiny' picture file reader.
  53.                     Othello game code.
  54.  
  55.     GFA             GFA Manual Part 2.
  56.                     Dialog box designer program.
  57.  
  58.     STOS            STOS accessory.
  59.                     Rebound game.
  60.                     Plazma display code.
  61.  
  62.     MISC            Atari Questions and Answers file No 3.
  63.                     STE hardware information.
  64.  
  65.  
  66.     For future issues :-
  67.  
  68.     Polyline drawing routines in machine code.
  69.     Bezier curve drawing routines.
  70.     Picture decompression routines for IMG, Degas, Tiny, PCX, PAC, etc.
  71.     Picture compression routine for IMG pictures.
  72.     HP DeskJet/LaserJet compression routines (Mode 2 TIFF).
  73.     Playing sound samples on non STE machines.
  74.     Picture switching techniques.
  75.     Printer driver code for printing mono/colour images.
  76.  
  77.     ----------------------------------------------------------------------
  78.                                   EDITORIAL
  79.                                   =========
  80.     MEMBERSHIP
  81.     ¯¯¯¯¯¯¯¯¯¯
  82.     We have had a few more members join this month, welcome to them.
  83.  
  84.     AUTO FOLDER
  85.     ¯¯¯¯¯¯¯¯¯¯¯
  86.     Last month we included the DESKTOP.INF  file  in the root directory so
  87.     that members without hard  disks  can  boot  up  in medium resolution.
  88.     Unfortunately this does not work for some  STE owners because of a bug
  89.     in some versions of the TOS so the AUTO folder runs a 'fix' program to
  90.     overcome this problem.
  91.  
  92.     GFA MANUAL
  93.     ¯¯¯¯¯¯¯¯¯¯
  94.     Unfortunately, due to lack of room on the disk, we cannot include part
  95.     2 of the GFA manual or the  index  file but hopefully we can get these
  96.     on next months disk.
  97.  
  98.     MICRO-MART ADVERTS
  99.     ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  100.     A good number of members  have  joined  the  group  as a result of our
  101.     adverts in the Computer Micro  Mart  magazine  so we are continuing to
  102.     advertise in this magazine every  few  weeks.  If any member buys this
  103.     magazine and does not need  to  advertise anything, perhaps they would
  104.     send the advertisment page into us  so  that  we can use it for future
  105.     ICTARI adverts.
  106.  
  107.     SAMPLED SOUNDS
  108.     ¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  109.     In the October issue we would like to publish a number of articles and
  110.     source code on sampling  sound  and  replaying  sampled sounds. If any
  111.     members have information or source  code  for playing sampled sound on
  112.     STFM, STE or Falcons perhaps  they  could  send it in. We particularly
  113.     need technical data on the various sound  formats that are used on the
  114.     Atari machines, i.e. .AVR,  .SPL,  .SND,  .SAM,  STOS  MAESTRO and any
  115.     others that may be used (note that  we already have the PD file 'Audio
  116.     File Formats' by Guido van Rossum,  V2.10 although a later version may
  117.     be of interest).
  118.     ----------------------------------------------------------------------
  119.                                 CORRESPONDENCE
  120.                                 ==============
  121.     To *.*
  122.     From J. Levon
  123.  
  124.     When I set a dialogue to  colour  8  in  WERCS (the Falcon grey, as in
  125.     WinRec), in 2-colour mode it  changes  to  black  (as it should). This
  126.     makes the dial unreadable. In WinRec  and similar Falcon programs, the
  127.     dial is white in 2-colour mode. How  do  I accomplish this ? Do I have
  128.     to dig into the resource file and  change the colour to 0 (White) when
  129.     my program detects a 2-colour mode ?
  130.  
  131.     Also, I can't get FLDLIB  (from  ICTARI  11)  to work in an accessory.
  132.     Why not ?
  133.  
  134.     Lastly, when using FLDLIB in  conjunction  with Let-Em-Fly (with Dials
  135.     to Mouse ON) the title bar of fld_do  can corrupt the menu bar (when a
  136.     program is not using the menu bar). Is there any way to avoid this ?
  137.     ----------------------------------------------------------------------
  138.     To Nick Bates
  139.     From Dick Teuber
  140.  
  141.     I can sympathise with you  about  learning  C  on an inferior compiler
  142.     (although you don't say which one) but jumping up to Lattice C may not
  143.     be the best solution.  Lattice  C  is  very  comprehensive but is also
  144.     quite hard to set up and use for any beginners to C programming.
  145.  
  146.     I would suggest that you  try  and  get  hold of HiSofts C Interpreter
  147.     (for about £40) which is  very  easy  to  understand and use. It works
  148.     like a BASIC interpreter, you  just  write  the  code  and then run it
  149.     without having to compile and  link  it  first. This makes the program
  150.     writing time much shorter  especially  as  the  editor  does  a lot of
  151.     syntax checking before you even  try  and  run  it.  Also any run time
  152.     errors are flagged up and therefore  it  is  much less likely to crash
  153.     when the  code  is  executed.  It  uses  the  standard  UNIX  and ANSI
  154.     libraries with over 460 library  functions  as  well as good debugging
  155.     facilities, trace mode,  variable  dump,  memory  dump, pointer tests,
  156.     exception trapping and stack displays, etc  which  you do not get with
  157.     Lattice C. There are also a  large  number of built in window commands
  158.     which are much easier to use than the standard GEM window functions.
  159.  
  160.     The manual is also very  useful  with  a C language tutorial, function
  161.     reference and GEM toolbox. The  main  disadvantages  are that the code
  162.     will run slower compared with  a  compiled version (although GEM calls
  163.     will not be noticeably slower), users will need the interpreter to run
  164.     the program and it only works  in high and medium resolution. However,
  165.     the source code is compatible  with  Lattice  C  so that when you have
  166.     written and thoroughly  tested  a  program  it  can  be compiled using
  167.     Lattice C to generate  a  stand-alone  .PRG  program.  As  I have both
  168.     programs I would be happy to do the compiling for you (or anyone else)
  169.     when you are happy with your source code.
  170.     ----------------------------------------------------------------------
  171.     To:    Martin Cubitt & Paul Laddie Aka BYTEMAN
  172.     From:  Martyn Armitage
  173.  
  174.     Unfortunately it is not possible to format 11 sectors per track  using
  175.     the  XBIOS  10 system call.  It's a problem that  I  encountered  when
  176.     attempting to write a disk formatter some years ago.  The routine will
  177.     attempt  to  do the format but fails miserably.  The  reason  for  the
  178.     failure is related to the amount of track data that has to be  written
  179.     and the time available to do it in.  A track, when formatted, consists
  180.     of  not  only the sectors,  each consisting of  512  bytes,  but  also
  181.     address marks,  track number, side number, sector number, sector size,
  182.     CRC checksums, filler bytes, synchronisation bytes, and data marks - I
  183.     don't think I've left anything out -, all of which take space and time
  184.     to write.
  185.  
  186.     A  disk that is formatted to 9 sectors per track will have 6969  bytes
  187.     of data written to each track.  Of these,  4608 (9*512) are  available
  188.     for  the  storage of user data.  A disk formatted to 10  sectors  will
  189.     consist of 7281 bytes,  and a track formatted at 11 sectors/track will
  190.     result  in 7893 bytes being written.  It can be seen that each  sector
  191.     consists of 612 bytes, of which 512 are user available.
  192.  
  193.     The  problem with formatting 11 sectors is that 7893 bytes have to  be
  194.     written  in  the same time as would normally be used for  a  9  sector
  195.     format,  ie. one disk revolution. The XBIOS call writes the 11 sectors
  196.     but  can't do it in one disk revolution and so the start of the  track
  197.     gets overwritten by the end of the track.
  198.  
  199.     The solution is to reduce,  to the absolute minimum,  the size of  the
  200.     gaps  between  each sector,  and the bytes that fill the  end  of  the
  201.     track.  This  can't be done using the XBIOS routine and so one has  to
  202.     resort  to writing routines to create the formatted track data and  to
  203.     control the WD1772 chip.
  204.  
  205.     With the help of 'ST Disk Drives:  Inside and Out', the 'BIOS' listing
  206.     in 'Atari St Internals' and disassembling the ROM routines  myself,  I
  207.     wrote  an  extended  formatter.  The  program  didn't  get  completely
  208.     finished.  I  think that the routines for busying the FAT  entries  of
  209.     damaged/unformatted sectors didn't get written,  and maybe some  small
  210.     inconsequential pieces.  I do,  however, personally use the program as
  211.     it is.
  212.  
  213.     In  order to save a lot of work on your part I've decided  to  release
  214.     the  whole  of  the  source code - written using  DevPac2  -  for  the
  215.     program.  This includes the GEM/VDI interface and routines as well  as
  216.     the  resource file,  complete with headers,  which was  created  using
  217.     'WERCS'.
  218.  
  219.     There  is  a fair amount of source code that may be of use  to  others
  220.     reading  this,  particularly those interested in GEM/VDI  programming.
  221.     The  source  includes  routines for  dealing  with  window  re-drawing
  222.     (RDR_EVNT.S),  obtaining  the status,  flags and string  addresses  of
  223.     objects within a resource tree (OBJCSTAT.S).
  224.  
  225.     The  code is old,  not the most elegant,  and could do with a  bit  of
  226.     sprucing  up  here and there.  In fact,  I no longer use most  of  the
  227.     routines  supplied,  having  modified  them  beyond  recognition,  and
  228.     developed  new ones over the years.  For example the CLIP  routine  in
  229.     RDR_EVNT.S was my first attempt at the code, and it shows. The routine
  230.     I currently use is about a quarter of the size and much much faster.
  231.  
  232.     */ See ASSEMBLY\XFORMAT\ directory for code and program.  ICTARI /*
  233.  
  234.     To:       *.*
  235.     From:     Martyn Armitage
  236.  
  237.     Can anybody help me with an algorithm?  I'm wanting to write a program
  238.     to produce fixtures for a league.  The problem: The number of teams is
  239.     variable  between 4 and 24,  but always an even number as one  of  the
  240.     teams can be 'No Game'.  Each team has a fixture every week,  even  if
  241.     they  are playing 'No game'.  Each team plays every other team  twice,
  242.     once at home and once away. There should be the maximum amount of time
  243.     between reverse fixtures (A vs B and B vs A);  the second half of  the
  244.     season  can be a complete reverse of the first half ( 1st game of  1st
  245.     half  =  1st  game  of 2nd half etc).  No team  plays  more  than  two
  246.     consecutive games at home or away, and consideration needs to be given
  247.     to  teams  that share the same ground/pitch (they both can't  play  at
  248.     home at the same time).  The number of divisions is variable between 1
  249.     and 4 but again consideration needs to be given to teams in  different
  250.     divisions that share the same pitch/ground.
  251.  
  252.     The  teams are to be referenced  by  number  rather than name in order
  253.     to comply with the League Update program that I have written.
  254.  
  255.     I've spent many hours trying to come up with an answer but just  can't
  256.     get my head around it. I'm sure there must be a formula somewhere that
  257.     describes the problem.  Any  help  gratefully  received. The algorithm
  258.     will be  fine but if you just  happen  to have the source (I can  cope
  259.     with  Assembler, Basic -any variant-, and C).
  260.     ----------------------------------------------------------------------
  261.     To ICTARI.
  262.     From Leslie W. Dewhurst.
  263.  
  264.     Errata sheets for Atari Compendium: ICTARI 11.
  265.  
  266.     I was interested  to  see   that   Mark   Baker  has obtained official
  267.     Errata for the first  edition.  How  does   one  get  this? I sent the
  268.     registration card from the  back  of   the  book  off  to America (not
  269.     very hopefully!) but have  had  no   reply.   I  bought  the book from
  270.     Hisoft at an exhibition.
  271.  
  272.     Speedo GDOS function "vgt_get_table()".
  273.  
  274.     The Atari Compendium says  that  the   first  of  the  seven tables to
  275.     which this  function  points,   contains   a   "Master  Mapping". Does
  276.     anyone know what this  latter  contains,  what  it  means,  and how it
  277.     is used?
  278.  
  279.     Speedo GDOS function "v_ftext16()".
  280.  
  281.     The Atari Compendium  shows  that   there  is  a  parameter "wstrlen",
  282.     whereas Hisoft's book  "Modern  Atari  System  Software"  on  page 144
  283.     omits it or  anything  like   it   from  the  binding for "v_wc_ftext"
  284.     (which is apparently another name for the same function).
  285.  
  286.     Is this deliberate or  is  it   a   mistake?  If  deliberate, how does
  287.     one specify the length  of   the   string?   What   is   the form of a
  288.     "16-bit wide  string"  anyway?   An   array  of  word-length elements?
  289.     If so, the last  element  of  the  array  must  presumably contain two
  290.     null bytes, not one.  But  surely   this   could   be  taken to be the
  291.     Bitstream  IDX  value   of   a   space   character,   and   could  not
  292.     therefore be used as  a  string   delimiter?  I  am  interested in all
  293.     the languages for which Hisoft give bindings.
  294.     ----------------------------------------------------------------------
  295.     To STOS programmers
  296.     From George Hodgson
  297.  
  298.     I'm trying to write a pools predicting program and need all the help I
  299.     can get with the  design  of  a  suitable  database  for recording the
  300.     matches played, goals for and  against,  etc,  etc, these to be across
  301.     the page and not like the usual  down  the page type of address thing,
  302.     any help, suggestions, code, etc will be gratefully received.
  303.     ----------------------------------------------------------------------
  304.     To *.*
  305.     From Diamond Software
  306.  
  307.     Does anyone have  the  Protracker  or  Noisetracker  replay  routine ?
  308.     need urgently!
  309.  
  310.     Cheers...
  311.  
  312.     To Mic
  313.     From Diamond Software
  314.  
  315.     We will send our  'new'  sprite  routines  into  Ictari  soon. I'm not
  316.     sure what sprite routine Peter has of our ours, but I'm sure that it's
  317.     very old  and  slow.  We'll  also  document  the  source  and  do some
  318.     explanations on how the routines  work.  We  will  also tell you other
  319.     methods.
  320.  
  321.     To *.*
  322.     From Steven <Diamond Software>
  323.  
  324.     Does anyone have  any  type  of  compression  methods  for  picture or
  325.     PRGs? I coded one about two  years  ago,  but  it took too long (about
  326.     15 mins for a 50K file !!!!)
  327.  
  328.     Also, anyone know how to load GIF, BMP and SPU/SPC ?  Docs will do!
  329.  
  330.     To EVERYONE!
  331.     From Diamond Software (again)
  332.  
  333.     We hope you like the source  codes  that  we have given away (see next
  334.     month). Later we'll give you  a  lot  more  source  code and also some
  335.     documentation to go with them.
  336.  
  337.     I have just been looking through old  Ictari  disks and I saw a notice
  338.     asking for some more STOS, C  &  GFA  source  code. Well, we have been
  339.     busy coding something in STOS  for  some  time  now and the project is
  340.     nearly ready for release, so  we'll  send  that  in as well some other
  341.     source code. We also have some full screen GFA overscan source that we
  342.     can't get to work 'coz we only  have  the  GFA 2 compiler and it needs
  343.     compiling with GFA 3 Compiler. Does anyone  want it though ????
  344.  
  345.     As for C, well, we have only  been  coding  in it for a few months and
  346.     our programs are  pretty  crap  compared  to  others.  Maybe  in a few
  347.     months.
  348.  
  349.     Quick hi to the Professor for  his  great  GFA sources !! Love to  see
  350.     some more...
  351.  
  352.     */ We second that last comment.  ICTARI /*
  353.     ----------------------------------------------------------------------
  354.     To ICTARI
  355.     From Geoff Smith
  356.  
  357.     I am particularly interested in  the forthcoming article about playing
  358.     sound samples on non STEs, I need to  be able to do this from within C
  359.     and everything I have found about it so far is in assembler.
  360.  
  361.     */ We suspect that C would be too slow for the interrupt driven sample
  362.     playing code and that you will have  to link in a machine code routine
  363.     to do this but if  any  C  coders  know  different, please send us the
  364.     information. ICTARI /*
  365.     ----------------------------------------------------------------------
  366.     To *.*
  367.     From John Hayward
  368.  
  369.     I need some information  on  rare  Atari  computers/consoles. So far I
  370.     have got information and pictures on the following :-
  371.  
  372.     8 bit machines.
  373.     400, 800, 600XL, 800XL, 1200XL, 65XE,  65XEM, 65XEGS, 130XE, 320XE and
  374.     Portfolio.
  375.  
  376.     16 bit machines.
  377.     520ST, 520STM, 520STF,  520STFM,  520STE,  1040STF, 1040STFM, 1040STE,
  378.     4160STE, MEGA ST, MEGA STE, STACK,  ST  BOOK, STYLUS, ST PAD, OPTOFILE
  379.     CDAR 504 and 505.
  380.  
  381.     32 bit machines.
  382.     Falcon 0303, TT030 and Medusa.
  383.  
  384.     Consoles.
  385.     Pony, 2600VCS Mark 1, Mark 2, 7800VCS, Lynx 1, Lynx 2 and Jaguar.
  386.  
  387.     The machines I still need information on are :-
  388.  
  389.     1400XL, 1400XLD, 1450XL, 1450XLD,  1600XL,  130  &  260ST (128K & 256K
  390.     versions), 65XEP, Laptop XE, 5200VCS  and  entire  PC range. These are
  391.     extremely rare or unreleased. The program I use is called Atari Museum
  392.     and covers the machines listed. It  shows  when the machines came out,
  393.     memory capacity, picture, etc. The program is only available on the ST
  394.     at the moment with the XE version  in  October. What I would also like
  395.     is someone with an 8  bit  system  and  an  ST  who can exchange files
  396.     between machines as I have three 720Kb  disks full of Neochome files I
  397.     want converted into GR7 or 8 pictures on the XE. My set up consists of
  398.     a 1040STFM, SC1224  monitor,  SF354  drive,  IBM  printer,  65XE, 1050
  399.     drive, 1020 plotter and XC12 tape deck.
  400.  
  401.     */ Since this is a bit specialised for ICTARI, if anyone can help John
  402.     perhaps they would  contact  him  direct  at  42  Shelford Rd, Milton,
  403.     Portsmouth, Hants, PO4 8NT.  ICTARI /*
  404.  
  405.     ------------------------------ END OF FILE ---------------------------
  406.