home *** CD-ROM | disk | FTP | other *** search
/ Fujiology Archive / fujiology_archive_v1_0.iso / !MAGS / ICTARI / ICTARI40.ZIP / ICTARI40.TXT < prev    next >
Text File  |  1996-11-14  |  42KB  |  777 lines

  1.  
  2.      ICTARI USER GROUP             ISSUE 40                 November 1996
  3.  
  4.          ___   ______     ___       _________   _________   ___
  5.          \__\  \   __\    \  \__    \______  \  \   _____\  \__\
  6.            ___  \  \       \  __\     _____\  \  \  \         ___
  7.            \  \  \  \       \  \      \  ____  \  \  \        \  \
  8.             \  \  \  \_____  \  \____  \  \__\  \  \  \        \  \
  9.              \  \  \       \  \      \  \        \  \  \        \  \
  10.               \__\  \_______\  \______\  \________\  \__\        \__\
  11.  
  12.                      *   m   a   g   a   z   i   n   e   *
  13.  
  14.      =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  15.                        I C T A R I   U S E R   G R O U P
  16.       63 Woolsbridge Road, Ringwood, Hants, BH24 2LX   Tel. 01425-474415
  17.      =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  18.  
  19.                               INDEX FOR ISSUE 40
  20.                               ==================
  21.  
  22.      ASSEMBLY        ST Assembly Language Workshop. Chapter 5.
  23.  
  24.      C               Memory debug utility.
  25.  
  26.      GFA             Text manipulation/search routines.
  27.                      GFA VDI functions.
  28.  
  29.      STOS            Line clipping techniques.
  30.                      Lottery program.
  31.  
  32.      FORTRAN         FORTRAN on the Atari.
  33.  
  34.      MISC            Falcon register information.
  35.                      Current membership list.
  36.  
  37.      In next months issue of ICTARI (this may change) :-
  38.  
  39.      ASSEMBLY
  40.  
  41.      C               Bezier curve routine.
  42.  
  43.      GFA             Functions for using ARGV arguments in command lines.
  44.                      File recognition routine.
  45.                      Using the Iconified window Server in GFA.
  46.  
  47.      STOS            Slideshow program and tutorial.
  48.  
  49.      FORTRAN         BC-FORTRAN 77 development system.
  50.                      FORTRAN-C compiler.
  51.                      Compiler-Driver for BC-FORTRAN 77.
  52.  
  53.      MISC            A quick guide to creating an HTML document.
  54.  
  55.      ----------------------------------------------------------------------
  56.                                    EDITORIAL
  57.                                    =========
  58.      THE FUTURE OF ICTARI
  59.      --------------------
  60.      A few months ago I mentioned  that  I  was  planning to purchase a PC,
  61.      well I have now built my own  system  around a 133MHz Pentium with the
  62.      all the usual bits  and  pieces,  8  speed  CD-ROM,  32Mb RAM, 17 inch
  63.      monitor, 1.6Gb HD, etc, etc. The problem,  as I said before, is that I
  64.      do not have sufficient room to run both  the  PC and the Atari so I am
  65.      going to have to dispose  of  the  Atari hardware, software, books and
  66.      magazines eventually. This means, of course,  that I will be unable to
  67.      continue with the editing  of  Ictari  after  this  year. Although the
  68.      membership has fallen over the last  few  months from about 60 members
  69.      down to about 30 at present,  I  believe the members that still remain
  70.      are quite happy to continue programming  on the Atari and some members
  71.      are still providing useful contributions to the magazine. I would hope
  72.      that Ictari will continue  into  next  year  but  this  will depend on
  73.      someone being prepared to take over my role as editor after Christmas.
  74.      I have the next issue already prepared  which I will send out as usual
  75.      in December but if no one has  volunteered  to take over by then, this
  76.      could be the last issue.
  77.  
  78.      If you have found these magazines useful over the past three years and
  79.      you would like  to  continue  receiving  them,  then  please seriously
  80.      consider whether you could do the  job  of editor. It is not difficult
  81.      although ideally you do need  a  hard  disk  as  well  as a colour and
  82.      monochrome monitor. Naturally I will be  happy  to assist in any way I
  83.      can and I can probably provide the necessary software and hardware, if
  84.      required. You do not need to spend  a  LOT of time on editing the mag,
  85.      most of the time is spent  just  deciding  what material to include on
  86.      the next disk, preparing this text  file  and then making 30 copies of
  87.      the master disk for despatch which  takes  about an hour. If anyone in
  88.      the UK is interested (and I  sincerely  hope  there is) please ring me
  89.      any time so that we can discuss it further.
  90.  
  91.      Naturally I am sorry that I have had  to step down as editor as I have
  92.      enjoyed putting the  Ictari  magazines  together  over  the last three
  93.      years but personal circumstances have meant  that  I need to have a PC
  94.      to fulfil other commitments which I cannot do on the Atari. However, I
  95.      do hope that this will not be the end of Ictari, but that is really up
  96.      to you. I look forward to hearing from someone SOON.
  97.      ----------------------------------------------------------------------
  98.                                  CORRESPONDENCE
  99.                                  ==============
  100.      To: Everyone
  101.      From: Jason J Railton
  102.      Re: Stuff...
  103.  
  104.      I hope you liked  the  two-player  TANKS  game,  from  ICTARI #39.  It
  105.      wasn't a demo.  That was the game.
  106.  
  107.      I'll try to get my BUZZSAW game  finished soon too.  It's difficult to
  108.      set the difficulty levels just right,  and some of the special effects
  109.      I'd planned for bonuses are proving a little complicated.  I just need
  110.      to spend some time on it.  I  haven't  done  a thing on my 3D maze for
  111.      ages though.
  112.  
  113.      I'm not really bothered that ST  Format  has finished, as there wasn't
  114.      much in it worth reading over its  last year.  It is a shame, however,
  115.      that the PD, repair and hardware companies have lost their advertising
  116.      space.  Good luck to the new magazine, anyway.
  117.  
  118.      I won't be getting rid of my ST for a long time, I can assure you.
  119.  
  120.      Anyway, I've sent in a tutorial on  clipping lines to the screen edge.
  121.      You can use the techniques  in  any  language  that has a line drawing
  122.      command, and if you look on  ICTARI  #31 you'll find some machine code
  123.      line drawing routines written by Peter Hibbs to use them with.
  124.  
  125.      Run either CLIPPING.PRG or  CLIPPING.BAS  (STOS)  with CLIPPING.TXT in
  126.      the current directory, to read the tutorial.  Step through it with the
  127.      SPACE key.  You can also  send  CLIPPING.TXT  to the printer, but then
  128.      you won't get the diagrams or demos.
  129.  
  130.      I've already covered rotating lines, and I'll go on to describe 3D and
  131.      perspective for future articles.   Finally,  I'll talk about functions
  132.      such as SIN and COS in machine  code.   (For those who can't wait, you
  133.      use a table of values of INT(16384*sin(r)) in your sums.)
  134.  
  135.      */ The CLIPPING.PRG program is very  good as it describes the clipping
  136.      techniques used together  with  animated  graphics  of  the functions.
  137.      Unfortunately it bombs out in  Monochrome  but is excellent in colour.
  138.      It would be very useful if this  idea  could be used in other tutorial
  139.      type articles.  ICTARI /*
  140.      ----------------------------------------------------------------------
  141.      To: ICTARI
  142.      From: John Hayward
  143.  
  144.      I am trying to  write  a  program  that  can  produce touch tone beeps
  145.      through the ST's monitor speaker (like a telephone) using STOS. I have
  146.      tried doing this using sound samples  but  they were not of sufficient
  147.      quality to dial correctly,  What  I  need  is  some  method of playing
  148.      sounds using the Yamaha sound  chip  with  exact frequencies in Hertz.
  149.      The values required are as follows :-
  150.  
  151.              Frequency       ---------digits---------
  152.  
  153.                697Hz         1       2       3       (A)
  154.  
  155.                770Hz         4       5       6       (B)
  156.  
  157.                852Hz         7       8       9       (C)
  158.  
  159.                941Hz         *       0       #       (D)
  160.  
  161.                            1209Hz  1336Hz  1477Hz  1633Hz
  162.  
  163.      For example, if button 8 is  pressed,  the  852Hz and 1336Hz tones are
  164.      sent out to the exchange to signify digit 8.
  165.  
  166.      This shareware program is unusual,  I  am  using  it to create a crude
  167.      form of  E-mailing  system  which  does  not  require  a  Modem  or  a
  168.      subscription to an on-line service. If you have access to a television
  169.      with Teletext you can advertise things on a notice board on channel 3,
  170.      page 388/389 and there is  a  place  where  you  can sell computers on
  171.      channel 4, page 435. To  place  ads  you  use  an unorthodox method of
  172.      writing your message, you convert  each  individual  letter into a two
  173.      digit code (A=11, Z=36, etc) and  you  then  call a premium line phone
  174.      number and type in every single code which  takes  about 5 minutes and
  175.      I estimate would  cost  about  £2-£2.50  per  advert.  My program will
  176.      convert the text message into a series of tones and play them down the
  177.      line at relatively high speeds which  results in cheaper bills with no
  178.      errors. As well as selling hardware on  the ads you can also advertise
  179.      PD libraries, BBSes or whatever so  you  might find the program useful
  180.      to advertise ICTARI.
  181.  
  182.      */ I think it may be more  difficult  to implement than you imagine. I
  183.      don't program in STOS so I  can't  tell  you  how  to do it using that
  184.      language but I have written a  small  machine code program to test out
  185.      the basic idea and it does not seem to work.
  186.  
  187.      I suspect there  could  be  several  reasons  that  it  fails  to work
  188.      properly, the main one  being  the  frequencies  that the Programmable
  189.      Sound Generator (PSG) can generate. As you probably know the tones are
  190.      derived from a source oscillator of  125KHz which is then divided down
  191.      by the PSG counters to produce a  range  of tones. The problem is that
  192.      it is not possible to produce  ANY  tone, only an approximation of the
  193.      tone. For example, to calculate the  division  factor for a given tone
  194.      you would use the following formula :-
  195.  
  196.              divide_factor = 125000/f
  197.  
  198.      where f is the desired frequency. So  a frequency of 1633Hz would give
  199.      a value of 76 which is  the  value  that  would be loaded into the PSG
  200.      registers for channel A (or B or C). To calculate the actual frequency
  201.      produced you would use the following formula :-
  202.  
  203.              f = 125000/divide_factor
  204.  
  205.      If you use the divide_factor value  mentioned above to find the actual
  206.      frequency it calculates as 1644.73Hz  which  is  quite a bit different
  207.      from the 1633Hz required. The other frequencies work out as follows :-
  208.  
  209.              Required        Divide          Actual
  210.              Frequency       Factor          Frequency
  211.  
  212.              697             179             698.32
  213.              770             162             771.60
  214.              852             146             856.16
  215.              941             132             946.96
  216.  
  217.              1209            103             1213.59
  218.              1336            93              1344.08
  219.              1477            84              1488.09
  220.              1633            76              1644.73
  221.  
  222.      It may be possible  to  fiddle  about  with  the  divide_factor to get
  223.      slightly nearer to the required frequency but I doubt whether it would
  224.      still be reliable enough for general use.
  225.  
  226.      When I  worked  for  British  Telecom  I  designed  some  equipment to
  227.      generate tone calls and I seem to  remember that the tone detectors in
  228.      the exchange equipment have a tight  tolerance on the tone frequencies
  229.      to avoid cross channel interference. Also the tones must be reasonably
  230.      good sine  waves  with  very  little  distortion  to  ensure  reliable
  231.      detection.  This  may  be  another   problem  with  your  scheme,  any
  232.      distortion introduced into  the  sounds  will  make  it less reliable.
  233.      Another factor is phase difference  between  the  two tones which also
  234.      has to be within certain limits.
  235.  
  236.      It may be possible for other  computer  platforms  (such as the PC) to
  237.      generate accurate tones but  I  don't  think  the  Atari is capable of
  238.      doing this unless you  can  use  the  D-A  converter  in the STE using
  239.      sampled sounds. You said that this  did  not  work but how exactly did
  240.      you do it. Presumably you sampled the tone output from a telephone and
  241.      played them back using the D-A converter chip in the STE.
  242.  
  243.      Probably the best way to achieve your  aim using the Atari would be to
  244.      use the tone  generator  chip  which  is  used  in  telephones  and is
  245.      available for a few  pounds.  The  chip  could  be controlled from the
  246.      Atari parallel port to generate the required tone pairs but this will,
  247.      of course, require some hardware building  on  your part. If you would
  248.      like further details of the chip let me know.  ICTARI /*
  249.      ----------------------------------------------------------------------
  250.      To: ICTARI
  251.      From: Mark Foot
  252.  
  253.      Can anyone suggest a method of  having  a library of SmartIcons as per
  254.      Windows, whereby  a  user  can  select  those  he/she  wishes  to have
  255.      available within a program. I am writing a 'programming language' in C
  256.      for a robotics project  and  I  would  like  user selectable tools via
  257.      icons.
  258.  
  259.      Has anyone managed to fit a second  serial  port to a 520ST? If so any
  260.      hints and tips on hardware and software aspects would be appreciated.
  261.      ----------------------------------------------------------------------
  262.      To: ICTARI
  263.      From: Charles Ayres
  264.  
  265.      In your last issue  of  ICTARI  there  was  a  request for information
  266.      regarding PAGE 6 magazine for the Atari 8  bit. I am happy to tell you
  267.      it is still going strong thanks to Les Ellingham and Sandy (his wife).
  268.      It is now called Page 6 New Atari  User as Les took over the old ATARI
  269.      USER magazine when  it  went  out  of  production.  Unfortunately this
  270.      magazine is  now  printed  in  A5  format  and  is  only  available on
  271.      subscription from :-
  272.  
  273.              PAGE 6
  274.              PO BOX 54
  275.              STAFFORD
  276.              ST16 1DR
  277.  
  278.      Annual subscription rates are as follows :-
  279.  
  280.              UK MAGAZINE ONLY (6 ISSUES)      £15.00
  281.              UK MAGAZINE WITH DISK (6 ISSUES) £25.00
  282.      ----------------------------------------------------------------------
  283.      To: Peter Hibbs
  284.      From: David Preston
  285.  
  286.      Thanks for your additional comments re  WordGrid.  I have to admit I'm
  287.      no wiser (more puzzled if anything)  about the problem with Mortimer's
  288.      print  spooler.  I  use  Hisoft's   spooler  (HSPOOLER.PRG)  from  the
  289.      "Introduction to Programming Utilities"  pack,  and there doesn't seem
  290.      to be a problem with  that  one.  I  don't  have Mortimer though, so I
  291.      can't try that out. Is  Mortimer  usually  co-operative? (I suppose it
  292.      must be or you'd use something else!)
  293.  
  294.      To: *.*
  295.  
  296.      What about everyone else  -  any  other  problems  with WordGrid, with
  297.      print spoolers or w.h.y.? Or any similar problems with your own Hisoft
  298.      Basic progs?
  299.  
  300.      To: STOS programmers
  301.  
  302.      What a swiz! (Is  swiz  a  real  word?)  Anyway,  I was fiddling about
  303.      converting a GFA listing of a fractal (Mandelbrot set) generating prog
  304.      from an ancient coverdisk,  into  STOS.  It  worked  ok but slowly (no
  305.      surprises there, then!) so I set  about  optimising it a bit. I'd used
  306.      nice structures (repeat...until etc.) originally, but found that nasty
  307.      goto's and stuff were significantly quicker. It's all very well trying
  308.      to write decent looking code,  but  if the language doesn't co-operate
  309.      you're spragged. (Now that _is_ a real word.)
  310.  
  311.      One thing that did emerge  however  is  that  it's much quicker if you
  312.      have to use floats in  your  maths  to  use  _all_ floats. Or at least
  313.      don't have a mixture of  ints  and  floats in individual calculations.
  314.      Even for...next loops should count  in  floats  if the counter is used
  315.      with floats in a  calculation  within  the  loop.  I  think the manual
  316.      suggests that mixing number types  in calculations is inefficient, but
  317.      sometimes you need to discover the truth of these things for yourself!
  318.  
  319.      To: Kevin Cooper
  320.      Re - Subject DLL's
  321.  
  322.      I'm not sure what you mean by "the standard graphic format will be the
  323.      standard device independent format"  -  surely  something like the PNG
  324.      format as described in Ictari recently  would  be an ideal choice? RTF
  325.      would seem right for WP, but  spreadsheets  are a more complex matter,
  326.      as different applications  have  different  features/functions etc. It
  327.      depends if you want to  just  transfer  data  (where  a DIF file might
  328.      suffice) or have a common (standard) data file format to save formulae
  329.      etc. And bear in mind  that  some  software producers (eg. Lotus) have
  330.      been  known  to  be  less  than   chuffed  about  people  using  their
  331.      standards...
  332.  
  333.      To: UK members
  334.  
  335.      With this new Channel 5 in the offing, and the need to retune VCR's to
  336.      avoid a clash with the new channel,  does anyone know if/how this will
  337.      affect those of us using our ST's on a telly?
  338.  
  339.      */ I find Mortimer very useful actually  although  it needs to be on a
  340.      hard disk to be practicable.  It  provides  a reasonably good and very
  341.      fast text editor as well  as  a  number  of  other handy facilities. I
  342.      would be happy to send you my copy  with  manual if you want to try it
  343.      out with your program, let me  know  if you want it. Alternatively you
  344.      could just mention the problem in  the document file with your program
  345.      and let the end user disable the spooler.  PDH /*
  346.      ----------------------------------------------------------------------
  347.      To: Kevin Cooper and everybody else
  348.      From: Mårten Lindström
  349.  
  350.      VRML
  351.      ----
  352.      If you do implement a VRML browser, I  think you will be really in the
  353.      forefront of things. I had personally never even heard of VRML until I
  354.      read your message. However, with  the  help  of  Alta Vista, I quickly
  355.      found the specification for VRML 1.0 (in HTML format) on the net - and
  356.      I have now sent it to  Ictari.  It  sounds  like  a very nice idea but
  357.      probably a lot of work to implement.
  358.  
  359.      To others who also didn't know what VRML is, and still don't:
  360.  
  361.      VRML (Virtual Reality Modelling Language) is a language for describing
  362.      a "world" of 3D objects (and light  sources etc.) of which some may be
  363.      possible for the user to  manipulate  (presently  only  in the form of
  364.      clickable links - to other VRML worlds or  to HTML texts - but this is
  365.      intended to be developed in the future).
  366.  
  367.      VRML has got absolutely  nothing  to  do  with  HTML (HyperText Markup
  368.      Language) or SGML (Standard  Generalized  Markup  Language  - of which
  369.      HTML is an application), except that  its name was originally inspired
  370.      from them. VRML doesn't compete  with  them.  HTML  and SGML deal with
  371.      TEXT documents, VRML with 3D worlds.
  372.  
  373.      To: Ictari Editor, Article Writers and Readers
  374.      From: Mårten Lindström
  375.      __________________
  376.       HTML FOR ICTARI?
  377.      ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  378.      It seems to me that things are definitely moving towards more and more
  379.      HTML. And I am not just speaking  of the Internet where new specifica-
  380.      tions etc. seem to be often  provided  ONLY in HTML format. Even else-
  381.      where, such as on  software  distribution  disks  - where README files
  382.      etc. used to be only in plain  text ("ascii"), you will now often find
  383.      alternative HTML versions.
  384.  
  385.      HTML (with a good browser)  not  only  allows documents to LOOK better
  386.      but can sometimes even  add  to  the  information contents. Where, for
  387.      instance, programming syntax  is  described  in  printed books, ITALIC
  388.      style is often used to  denote  a  VARIABLE;  this  can be very easily
  389.      translated into HTML markup but will be lost in plain text.
  390.  
  391.      Being able to use  different  HEADING  LEVELS  (displayed in different
  392.      font sizes) can also be very helpful to make a presentation clearer.
  393.  
  394.      And, of course, HTML allows PICTURES to  augment the text. Back in the
  395.      distant past (Ictari 10) our  Dear  Editor  did  raise the question of
  396.      whether Ictari should  change  from  plain  text  to  something richer
  397.      allowing pictures (apparently without much  positive response though I
  398.      am not to blame 'cause  I  hadn't  yet  joined),  but, of course, HTML
  399.      wasn't an option back then (before the Atari HTML-Browser).
  400.  
  401.      In addition to all this, HTML has some further advantages:
  402.  
  403.        ∙     It is non-proprietary. Bound to neither a software company nor
  404.              a specific platform. (And, again, its support is only rising.)
  405.  
  406.        ∙     Good HTML browsers come as _FREEWARE_ (both on Atari and PC).
  407.  
  408.        ∙     It is viewable as plain text too (no control characters used).
  409.              Admittedly not quite as neat-looking as a dedicated plain text
  410.              file could be. But since  both  newlines and extra spaces will
  411.              be ignored by the HTML  browser,  they  can  be freely used to
  412.              adorn the layout  of  the  text  when  viewed as uninterpreted
  413.              "ascii".
  414.  
  415.        ∙     It is  very  SIMPLE  TO  WRITE  HTML  documents  with  no more
  416.              software than a plain text editor. REALLY, it IS!!!
  417.  
  418.              I have written a brief "quick and dirty" guide to converting a
  419.              plain "ascii" text to HTML, and could perhaps write a more in-
  420.              depth article on  HTML  too,  if  there  is  interest  for it.
  421.              Perhaps making that article in HTML format :-)
  422.  
  423.              I have also sent in  the  specification documents for HTML 2.0
  424.              and 3.2, the latter actually  being  a  bit more accessible, I
  425.              would   say,   though    lacking    some    explanations   and
  426.              recommendations of the HTML 2.0  docs. (See some further notes
  427.              below.)
  428.  
  429.        ∙     HTML is per definition  highly  adaptable  to  any display (or
  430.              even to speaking machines)  or  user  preferences. If you have
  431.              ever used CAB or HTML-Browser you can  see how it, on the fly,
  432.              reformats the text to  fit  whatever  window width you choose,
  433.              and this is how any browser  should work. (Thus, you SHOULD be
  434.              able to browse even on an ST low-resolution screen - 320x200.)
  435.              You sometimes hear that  you  need  an  800x600  display to go
  436.              browsing the Web. This is CRAPTALK!!! It may be true that some
  437.              lousy authors  use  unnecessary  large  pictures,  as  well as
  438.              various effects created with unsound  or even outright illegal
  439.              HTML constructs, to cover up poor text contents. But good HTML
  440.              should be written to be  enjoyable  even on very small screens
  441.              (there ARE Macintosh Classic  users  out  there who browse the
  442.              Web with apparently not more  than 460 monochrome pixels width
  443.              available).  And  it  should  (as  far  as  possible)  provide
  444.              alternative meaningful  text  for  those  who  -  for whatever
  445.              reason - cannot see the graphics.
  446.  
  447.      In fairness, the last of these advantages may also be seen as a disad-
  448.      vantage: HTML is NOT a page  description  language. It is used to mark
  449.      up the PURPOSE and MEANING of various parts of the text, and leave the
  450.      display for the browsing software  and  human  to decide on. Thus HTML
  451.      lacks a legal and sound method for  such a simple thing as indenting a
  452.      text section (though self-brewed  solutions  abound, one more horrible
  453.      than the other). And so  you  may  perhaps prefer something like Post-
  454.      Script, Acrobat or maybe even  RTF  for  a printed document with well-
  455.      defined layout, page breaks & numbering etc.
  456.  
  457.  
  458.                                 ''~``
  459.                                ( o o )
  460.                      ,-----ooO---(_)---Ooo-----.
  461.                     /                           \
  462.                    /   SO, WHAT DOES EVERYBODY   \
  463.                   (       THINK ABOUT USING       )
  464.                    \    MORE HTML IN ICTARI ?    /
  465.                     \                           /
  466.                      `-------------------------'
  467.  
  468.                       Some follow-up questions:
  469.                       ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  470.       ∙      Does everybody have a copy of CAB or HTML-Browser?
  471.              (It IS freeware you know.)
  472.  
  473.       ∙      Are you HAPPY with CAB /HTML-Browser?
  474.              I find CAB to compare amazingly well with the PC's MS Internet
  475.              Explorer (which  I  must  admit  is  what  I  use  for  online
  476.              browsing) and Netscape, though there are a few weak spots:
  477.              - For one thing, CAB seems strangely unable to make proper use
  478.              of the ordinary ST  low  resolution  (320x200  in 16 colours).
  479.              Outline font sizes don't  match  the  system  bitmap font size
  480.              well (though to some extent explainable by how GDOS/NVDI deals
  481.              with it) and, very oddly, CAB doesn't  seem to make use of the
  482.              COLOUR!!! A REALLY GOOD  browser  should  work equally well in
  483.              any resolution, taking advantage of what colours there are.
  484.              - CAB also doesn't  seem  to  keep  more  than one document in
  485.              memory at a time. Caching pages in RAM could save considerable
  486.              time when jumping back and  forth  -  e.g.  between a table of
  487.              contents and the "contents" (sub-documents).
  488.  
  489.              I  am  (possibly)  considering  writing  an  alternative  HTML
  490.              browser with the following specifications:
  491.              +       Small(er than CAB) - possibly  so  small that it could
  492.                      even fit on each and every Ictari disk (?).
  493.              +       Fast(er than CAB (?) )
  494.              +       Taking full advantage of ST  low resolution as well as
  495.                      any other resolution.
  496.              -       Simple. Bare minimum  of  functionality (definitely no
  497.                      support for online Web browsing) and perhaps initially
  498.                      not supporting some more  advanced  HTML features such
  499.                      as the tables of HTML 3.
  500.              Would there at all be any need for such a program?
  501.  
  502.      To: All
  503.      From: Mårten Lindström
  504.  
  505.      HTML versions (again)
  506.      -------------
  507.      Since last month I have found out some more on this topic and it seems
  508.      that the real reason that HTML 3.0. was abandoned was that
  509.  
  510.       a)     - Producers of HTML browsers were too lazy to implement it and
  511.              instead thought  it  more  fun  to  implement  their  own non-
  512.              standard extensions.
  513.  
  514.       b)     - Illiterate  people,  knowing  nothing  about  the  HTML  3.0
  515.              specification  but  styling  themselves   "web  designers"  or
  516.              something similar, took on  the  habit  of calling their sites
  517.              "HTML 3.0 enhanced" when in reality  they had just jammed some
  518.              non-standard extension  into  their  HTML,  supported  only by
  519.              their personal favourite browser.
  520.  
  521.      From another (and kindlier)  perspective,  one  could perhaps just say
  522.      that the HTML 3.0 specification was too big and ambitious.
  523.  
  524.      HTML 3.2 is thus much smaller  than  3.0  and is furthermore largely a
  525.      result  of  "reverse  engineering"   of  existing  extensions  (though
  526.      adapting these for coherence  among  browsers  and compliance with the
  527.      SGML foundation of HTML where this was  violated). Most of HTML 3.2 is
  528.      therefore already now supported by the newest browsers - including the
  529.      Atari CAB - AND there is  also  validation software (for PCs at least)
  530.      and services available to certify HTML 3.2 compliance of documents.
  531.  
  532.      Non-ascii characters in HTML
  533.      ----------------------------
  534.      Last month I said that the British  pound sterling symbol (£) could be
  535.      represented as  £  in  HTML.  It  seems  however that this isn't
  536.      strictly in the HTML specification (neither  2.0 nor 3.2) though it is
  537.      RECOMMENDED in the HTML 2.0  document.  In  practice  it seems that at
  538.      least the browsers I have tried DO understand  £
  539.  
  540.      Generally, a character can in HTML  (and  SGML) be expressed in one of
  541.      THREE ways:
  542.  
  543.        ∙     directly as a character (byte)   e.g.   £
  544.        ∙     as a "numeric reference"         e.g.   £
  545.        ∙ as an "entity reference"         e.g.   £
  546.  
  547.      Since the CHARACTER  "£"  IS  in  the  HTML  character  set  - at code
  548.      position 163 - the first two  methods  should always work. I.e. £
  549.      will unambiguously be interpreted as a pound symbol by ANY truly HTML-
  550.      compliant browser on any  platform,  and  so  will  the character with
  551.      number 163 (that appears as "ú"  in  the Atari character set, so Atari
  552.      browsers need to translate it before display).
  553.      The third  method  however  formally  requires  that  the  "entity" be
  554.      defined in the so-called DTD for  HTML (DTD = Document Type Definition
  555.      - an SGML term for what  essentially constitutes the definition of the
  556.      HTML language, or at  least  a  significant  part  of it). And "pound"
  557.      isn't (yet?).
  558.  
  559.      The  same  thing  applies   for   most  other  "extended"  (non-ascii)
  560.      characters (including overline " ")  EXCEPT  the modified LETTERS, all
  561.      of which have entities defined  for  them ("Mårten" is in strict
  562.      conformance with HTML :-)).
  563.  
  564.      Of course the most  compact  and  perhaps  simplest  method  is to use
  565.      direct characters - remembering to use  the "ANSI" (aka ISO 8859-1 aka
  566.      Latin-1) character set.
  567.      The major reason not to do that  is if one fears that 8-bit characters
  568.      might be  corrupted  during  electronic  transmission.  This  isn't  a
  569.      problem if documents are distributed by disk of course, but it is also
  570.      not a problem if the document  is  placed  on a typical WWW site using
  571.      the HTTP protocol,  since  this  protocol  preserves 8-bit characters.
  572.      Other protocols can cause  problems  though,  and conversions by local
  573.      networks between different character sets  might possibly also corrupt
  574.      8-bit characters.
  575.  
  576.      To: Kevin Cooper
  577.      From Mårten Lindström
  578.  
  579.      ATARI STANDARDS FOR DATA FORMATS
  580.      ================================
  581.      The only data types for which  there  is  any standard - AS DEFINED BY
  582.      BUILT-IN TOS SUPPORT - are, I'm afraid, pictures.
  583.  
  584.      Apart from bitmap images, supported  via  VDI  call vr_trnfm (and then
  585.      the other raster  functions)  as  well  as  -  on  printers and memory
  586.      devices only - v_bit_image, TOS  can,  of course, handle VECTOR images
  587.      supplied as GEM metafiles (.GEM) files - i.e. a series of recorded VDI
  588.      commands, to be replayed on screen or printer.
  589.  
  590.      There actually isn't any one function that simply can take a .GEM file
  591.      as input and play it. (Maybe such a function would be a useful project
  592.      for a DLL?) Instead  each  VDI  command  of  the  .GEM  file has to be
  593.      interpreted and played individually.
  594.  
  595.      For text, the only  real  standard  is  plain  "ascii"  text - without
  596.      formatting controls. There is no built-in  TOS support neither for any
  597.      richer text format nor for a spreadsheet or database format.
  598.  
  599.      When  exchanging  data  via  the  clipboard  or  -  with  MultiTOS  or
  600.      compatible - the  drag-and-drop  protocol,  the  exporting application
  601.      generally has to offer the same data  in  a variety of formats for the
  602.      importer to choose from. In the case of text, a plain text file should
  603.      definitely be one of the  offered  formats,  but  for richer text .1WP
  604.      (1st Word Plus), RTF  (Rich  Text  Format)  and  nowadays perhaps most
  605.      important  .HTM(L)  would   be   among   the   most  widely  supported
  606.      alternatives.
  607.  
  608.      When creating "DLL" import functions, on the other hand, each function
  609.      could of course be defined to  convert only to one, especially useful,
  610.      format. (Again, possibly HTML for text (?)).
  611.  
  612.      One useful project would, I think,  be  routines that try to translate
  613.      between .GEM metafiles and PostScript. I  have personally not seen the
  614.      specifications for PostScript and I am  too  mean to buy a book. Maybe
  615.      someone would write an article on PostScript?
  616.  
  617.      To: Pete Bailey
  618.      From: Mårten Lindström
  619.  
  620.      I don't know the answer to your main question, as to what method would
  621.      be best to change the  Atari  drop-down  menus into pull-down menus. I
  622.      have got something called ST Control  (which  I haven't used much) and
  623.      which came with a utility that  I  think  did  just that - and working
  624.      fine on my ST as I recall it. So I guess it SHOULD be possible somehow
  625.      (maybe I shall have a look at that program again).
  626.  
  627.      Your desperation is an echo of  mine  when  I was trying to coerce TOS
  628.      into changing the system font  (the  result  of  which was my PC_LINES
  629.      program, published in  an  earlier  Ictari).  This  change  too  has a
  630.      tendency to be inexplicably reset.  I  guess this is almost inevitable
  631.      with any such type  of  "unforeseen" system configuration, unsupported
  632.      by solid high-level functions and requiring semi-clean means.
  633.  
  634.      As to some of your secondary questions:
  635.  
  636.       Q:     Is XBRA worth losing sleep over?
  637.  
  638.       A:     XBRA probably won't provide any help  in  this. As long as all
  639.              programs adhere to it,  it  makes  it  possible  to simply and
  640.              cleanly uninstall vectors as  well  as  to  detect  all of the
  641.              previously installed programs. But when  TOS (at least all the
  642.              older versions) install  vectors  it  will  probably disregard
  643.              XBRA completely.
  644.  
  645.       Q:     Does Katherine Peel mean  that  interrupts  should be disabled
  646.              during installation only or for  the  full duration of the new
  647.              vector?
  648.  
  649.       A:     Definitely  during  the  installation   only.   If  you  leave
  650.              interrupts disabled almost nothing  will  work - including the
  651.              keyboard and certainly the GEM mouse.
  652.  
  653.      To: Peter Hibbs
  654.  
  655.      STYLE OF ASSEMBLY LISTINGS
  656.      ==========================
  657.  
  658.      Oh dear, and I have always thought that my way of writing was the most
  659.      readable that could possibly ever be  :-).  It goes to show that taste
  660.      is a very personal thing. Or as we like to put it here in Sweden:
  661.  
  662.                                 Smaken
  663.                              är som baken
  664.                                - delad.
  665.  
  666.              ( In English:        Taste
  667.                           is like the behind
  668.                               - divided.      )
  669.  
  670.          (Sorry about this piece of poetry, but I couldn't resist it.)
  671.  
  672.      I am quite certain that my  habit  of  writing register names in upper
  673.      case did not originate in my own  twisted  mind, but I am less sure of
  674.      from where I got it. The disassembled  BIOS listing in the Abacus book
  675.      "ST Internals" is written in the same style though.
  676.  
  677.      Back when, trembling and insecure, I  wrote my first lines of assembly
  678.      code I found some comfort  in  this  way  of marking register names as
  679.      something quite different from mere  memory  labels etc. This was back
  680.      when I was still confused that "a7" could also be written as "sp".
  681.  
  682.      Since then the habit has stuck, and I even often (as a kind of therapy
  683.      while collecting my thoughts) convert imported  pieces of code to this
  684.      style, more familiar to me. I suppose  you are right of course that it
  685.      must slow down my typing,  but  I  have  never reflected much on that.
  686.      Maybe it only  slows  down  the  speed  of  my  typing  to  that of my
  687.      thoughts. I feel a need to put  some  thought in just about every line
  688.      of assembly code to ensure it's OK.
  689.  
  690.      It had honestly never occurred to me that anyone could find this style
  691.      DETRIMENTAL to readability. Though -  when  thinking  about it - it is
  692.      only natural of course for everyone  to  prefer  what one is most used
  693.      to. So  from  now  on  I  will  start  making  sure  that  my assembly
  694.      contributions conform with the predominant style of all lowercase.
  695.  
  696.      */ Mårten, I didn't mean to  imply  any  criticism  at all, as you say
  697.      ones style of writing code is usually  a matter of taste, I was merely
  698.      interested in your reason for using  caps.  I also use capital letters
  699.      for some parts of my code, i.e. assembler directives (MACRO, ENDM, IF,
  700.      ENDIF, etc) and object names (FORM_LIST,  etc) mainly so that they are
  701.      easy to find when scanning through a listing.
  702.  
  703.      You mentioned the PostScript language,  I  have  bought a book on this
  704.      language with the same  idea  in  mind  but  I  soon  found that it is
  705.      unbelievably complicated and I didn't understand much of it at all. It
  706.      is basically a language built into the file, for example, a PostScript
  707.      font is not like  a  Calamus  font  which  just  defines  a set of co-
  708.      ordinates and simple commands, a  PostScript  font  seems to be a mini
  709.      source code that tells the PS interpreter how to process the font data
  710.      to draw the character image. Any  code  you  would need to write would
  711.      have to be an interpreter  (like  a  BASIC  interpreter) with about as
  712.      many commands and functions, no mean feat. If you would REALLY like to
  713.      see the book I would be prepared  to  lend  it to you provided you are
  714.      willing to pay the postage charges to  and from Sweden and it is quite
  715.      a heavy book, over 700 pages.   PDH /*
  716.      ----------------------------------------------------------------------
  717.      To: All
  718.      From: Peter Hibbs
  719.  
  720.      In Ictari issue 9 I published a  set of TOS Macros (TOSMACRO.S) and it
  721.      has just come to my  notice  that  there  is  an error in the f_datime
  722.      MACRO that reads the date/time stamp  on  a disk file. The code should
  723.      be amended so that it reads as follows :-
  724.  
  725.      f_datime        MACRO                   1\mode,2\fhandle,3\buffer
  726.                      move    \1,-(sp)
  727.                      move    \2,-(sp)
  728.                      move.l  \3,-(sp)
  729.                      gemdos  #87,#10
  730.                      ENDM
  731.  
  732.      I should point out that this was  not entirely my fault, the source of
  733.      my information was the  Atari  Internals  book which incorrectly shows
  734.      the second and third arguments reversed  in the example code, hence my
  735.      error. I then checked the Compute! book volume 3, The Atari TOS, which
  736.      shows the arguments correctly but then  states  that the first word of
  737.      the buffer holds the date and the  second  word holds the time when it
  738.      is, in fact,  the  other  way  round.  Next  I  looked  at the Concise
  739.      Programmers Guide by K Peel (Aug 86) which also shows the wrong buffer
  740.      allocation and in addition  has  the  flag  settings reversed as well,
  741.      i.e. it shows 0 for set and  1  for  read which is the opposite of the
  742.      correct  values.  The  Atari  Compendium,  however,  shows  everything
  743.      correctly  although  it  does  not  give  any  help  to  machine  code
  744.      programmers. I think the moral  of  this  sorry  tale is DON'T BELIEVE
  745.      ANYTHING YOU READ IN A BOOK UNTIL YOU HAVE CHECKED IT YOURSELF.
  746.      ----------------------------------------------------------------------
  747.      To: ICTARI
  748.      From: Theo Ros
  749.  
  750.      Is there anyone who can explain how picture dithering is performed.
  751.  
  752.      */ I think this question has  been  asked  before and nobody knew then
  753.      but if anyone does, write in soon. ICTARI /*
  754.      ----------------------------------------------------------------------
  755.      To: Everyone
  756.      From: Owen Rogers
  757.  
  758.      I'm afraid I've finally decided to hang up my mouse and move to the PC.
  759.      I like my programs to be used, not  sit around in a PD Library so I've
  760.      bought MS Visual Basic for my PC. This is just a thank you to everyone
  761.      at Ictari  for  helping  me  finally  release  my  first  GEM  program
  762.      MUSICBASE and really everyone I've talked   to  and who have helped me
  763.      (Including LAPD, Floppyshop and those great  people  who sent me those
  764.      STOS manuals).  I don't think   I've   met such  friendly  and helpful
  765.      people than in  the  Atari   community.  Thanks again to everyone I've
  766.      known and met and especially to LAPD who were the only people who took
  767.      a 13 year  old  boy  (me!)  from  the  Welsh  valleys  seriously about
  768.      programming!  If there  is  anyone  out  there   who   has  one  of my
  769.      programs that  needs  registering, don't bother!
  770.  
  771.      So now in the words of Sooty I'll say..
  772.  
  773.      BYE, BYE EVERYBODY
  774.      BYE, BYE
  775.  
  776.      ------------------------------ End of file ---------------------------
  777.