home *** CD-ROM | disk | FTP | other *** search
/ ftp.whtech.com / ftp.whtech.com.tar / ftp.whtech.com / articles / reviews / 09MIC94.TXT < prev    next >
Text File  |  2006-10-19  |  14KB  |  229 lines

  1.      ORIGINALLY PUBLISHED IN MICROPENDIUM
  2.      P.O. Box 1343  Round Rock TX 78680
  3.      Phone 512-255-1512
  4.      Internet jkoloen@io.com
  5.  
  6.      MICROREVIEWS FOR SEPTEMBER 1994 
  7.           by Charles Good 
  8.            
  9.           The TI community continues to be enhanced by the efforts of Bruce
  10.      Harrison.   Everything of his I am describing this month has been
  11.      released by Bruce into the public domain.  You can get these software
  12.      packages from me for $1 per disk, which pays for the disk postage and
  13.      mailer. 
  14.           -------------------- 
  15.           XB COMPILER by Bruce Harrison 
  16.            
  17.           Most previous attempts at basic language compilers for the 99/4A
  18.      have required extensive rewrites of existing software.  Some were
  19.      limited to only certain subsets TI basic of extended basic, and all
  20.      were very difficult to use.  Not so with the Harrison compiler.  It is
  21.      not necessary to rewrite your favorite XB software prior to compiling,
  22.      and the actual process of producing the compiled code is not
  23.      difficult. 
  24.            
  25.           Bruce has taken certain XB operations and written assembly code
  26.      which does the operation faster than XB's GPL interpreter.  Whenever a
  27.      compiled XB program gets to one of these operations it uses Harrison's
  28.      code for extra speed.  If the particular XB operation is not one of
  29.      those that have been speeded up by assembly code, the compiled XB
  30.      program branches to GPL and the XB operation occurs at normal speed.
  31.      This means that everything in a normal XB program works when the
  32.      program is compiled.  Some parts of the compiled program work at
  33.      normal speed and some work at greatly accelerated speed.  File
  34.      handling (OPEN #, PRINT #, etc) works at normal speed.  XB programs
  35.      that already have imbeded assembly routines can't be compiled, but you
  36.      can sometimes CALL LOAD assembly object code to low memory and then
  37.      CALL LINK to this code from a compiled XB program. 
  38.            
  39.           The following are speeded up by the Harrison compiler: CALL CHAR,
  40.      CALL COLOR, PRINT (to the screen), ON ERROR, FOR/NEXT (including
  41.      nested loops), CALL GCHAR, CALL HCHAR, CALL VCHAR, CALL KEY, ON GOTO,
  42.      and ON GOSUB.  If Bruce continues to work on his compiler this list
  43.      may increase. 
  44.            
  45.           The process of compiling is multi step but not difficult.  Bruce
  46.      is well known for writing user friendly instructions and provides
  47.      lots of on disk examples of each step in the compiling process.  First
  48.      you get your XB program working just the way you want it.  This XB
  49.      program is saved in merge format.  The merge format program is then
  50.      run through the multi step compiling process.  Once compiled the XB
  51.      program will OLD and RUN normally.  If you BREAK the program (with
  52.      FCTN/4) you will get the correct BREAKPOINT AT LINE XXX message.  You
  53.      can then type CON to continue the compiled program just like regular
  54.      basic.  You cannot however list or edit a compiled program.  You have
  55.      to go back to the uncompiled XB original code to do any editing and
  56.      then run the edited code through the Harrison compiler again. 
  57.            
  58.           The main limitation to the compiler is program size inflation.
  59.      The compiled program occupies much more memory and disk space than the
  60.      uncompiled original.  For each of the speeded up operations listed
  61.      above the compilation process adds some hidden assembly code to the
  62.      program which increases memory requirements.  If a speeded up
  63.      operation is not found in the original XB code then the assembly code
  64.      for that operation is not added.  All of the speeded up operations
  65.      listed above add 21 sectors to program disk size compared to the
  66.      original uncompiled XB code.  Large XB programs may not be compilable
  67.      because they run out of memory.  This is one reason why Bruce
  68.      hesitates to add more speeded up operations. 
  69.            
  70.           The Harrison compiler is the best general use XB compiler
  71.      available to the TI community.  The compiler with on disk
  72.      documentation and sample files comes on a DSSD disk.  Its source code
  73.      is on a second DSSD disk.   
  74.           ----------------------- 
  75.           DRAWING PROGRAM by Bruce Harrison 
  76.  
  77.           As the name suggests, this lets you make multi color drawings on
  78.      screen and save them to disk.  You can use the keyboard or joysticks
  79.      to move the cursor around.  You can either start from a blank screen
  80.      or load in a previously created drawing.  You can also load in TI
  81.      Artist "_P" and "_C" picture files.  For text you can load in a TIA
  82.      font or you can load any CHARA1 type of file (something TIA can't
  83.      do).  You an also load in TIA instances and place them where you want
  84.      on the drawing screen.  Pictures created with Drawing Program can be
  85.      printed on almost any printer, including Star SG10 and 10X models.
  86.      They can also be saved to disk, but graphics are NOT saved in TI
  87.      Artist compatible format. 
  88.            
  89.           Harrison's Drawing Program isn't nearly as fancy as TI Artist.
  90.      However in most cases if you need to create screen art work or
  91.      manipulate graphics that already exist in TIA format the Drawing
  92.      Program will do very nicely.  Unlike TIA, which is commercial, Drawing
  93.      Program is free.  With source code it comes on one DSSD disk.  One
  94.      word of caution.  Drawing Program doesn't work on my AVPC system.  I
  95.      don't know if it works with other types of 80 column systems. 
  96.           ------------------------ 
  97.           VIDEO TITLER by Bruce Harrison 
  98.            
  99.           Bruce was unimpressed with the text only title screens I create
  100.      for the Lima MUG Conference video tapes so he decided to help me make
  101.      some really fancy video tape title screens.  Video Titler is the
  102.      result.  You are supposed to take the computer screen graphics
  103.      manipulated with this software and record them onto a video tape.  The
  104.      results are very impressive.  As many of you know the video output of
  105.      a 99/4A can, using a monitor cable, be fed directly into the "video
  106.      in" jack of a VCR where it can be recorded onto video tape and
  107.      displayed on the screen of a TV hooked up to the VCR. 
  108.            
  109.           Video Titler lets you store two full screens of graphics in
  110.      memory and then rapidly switch back and forth between these pictures,
  111.      displaying them one at a time on screen and on the video tape you are
  112.      recording.  First you load the pictures into memory.  They can be
  113.      either Drawing Program or TI Artist pictures.  Then you press "record"
  114.      on the VCR and start switching between pictures.  If the pictures in
  115.      memory are only slightly different, rapid switching produces an
  116.      animaton effect.  In addition to instantly switching between the two
  117.      screen pictures you can wipe the current image in various ways to
  118.      display the second picture.  Wipes can be left to right, right to
  119.      left, top to bottom, bottom to top, or center to left/right.  If you
  120.      want to display more than two pictures, press "pause" on the VCR.
  121.      Then load more pictures, replacing those already in memory.  Then
  122.      release the "pause". 
  123.            
  124.           I can send you Video Titler, some neat video pictures made by
  125.      Bruce, and the Drawing Program (without source code, no room for it)
  126.      all on one DSSD disk. 
  127.           ------------------------- 
  128.           FONT CONVERTER by Bruce Harrison 
  129.            
  130.           A few years ago Jim Peterson created almost 200 screen fonts for
  131.      use in extended basic software.  Bruce Harrison has made an assembly
  132.      program to convert all of these Peterson screen fonts into CHARA1
  133.      program files.  The conversion process is somewhat lengthy, since each
  134.      Peterson screen font has to be individually converted.  The result is
  135.      a whole bunch of mostly 5 sector CHARA1 fonts that can be used with
  136.      Drawing Program.  A unique feature of Drawing Program is its ability
  137.      to import CHARA1 fonts.  You can also use these converted CHARA1
  138.      screen fonts with word processing software, although many of them
  139.      don't look very good used this way. 
  140.            
  141.           Font Converter comes on a one SSSD flippy disk.  The flip side of
  142.      the disk contains some of Jim Peterson's original screen fonts for you
  143.      to convert.  The entire collection of Peterson's screen fonts for you
  144.      to convert is available from me on three additional SSSD flippy
  145.      disks. 
  146.            -------------------- 
  147.           TURNFONT by Bruce Harrison 
  148.            
  149.           Here is something to do with all the strange CHARA1 fonts you
  150.      make with Font Converter.  Turn them on their sides, 90 degrees, or
  151.      turn them again to make the characters upside down.  Turnfont will
  152.      input any CHARA1 font and output to a disk file the same CHARA1 font
  153.      rotated 90 degrees either right or left.  You can take a previously
  154.      rotated font file, run it through Turnfont again, and get an upside
  155.      down CHARA1 font.  The resulting rotated fonts can be used with
  156.      Drawing Program, Funnelweb's central menus, or with word processing
  157.      software.  The results are really strange and humorous! The software
  158.      and some sample turned fonts comes on one SSSD disk. 
  159.           ---------------------- 
  160.           CALL LINKable XB ENHANCEMENTS by Bruce Harrison 
  161.                       
  162.           Each of the following Harrison public domain assembly utilities
  163.      comes on a SSSD disk and can be merged into and CALL LINKed from your
  164.      favorite XB programs.  These can be added to your XB programs in any
  165.      of three ways.  1- Just CALL LOAD Bruce's utilities into memory and
  166.      them CALL LINK to them.  You do this while you are experimenting with
  167.      the utilities.  2- Use ALSAVE to imbed a utility into your program.
  168.      3- Imbed the utility in your program with "Hi Mem Loader" which,
  169.      unlike ALSAVE, leaves all of low memory available.
  170.      strings.  Once these utilities are imbeded into your XB program (you
  171.      can imbed several utilities into the same XB program) they are
  172.      transparent.  You OLD and or RUN the program as you normally would
  173.      from XB and the assembly code is automatically loaded ready for your
  174.      program's CALL LINK.  Each utility comes with source code, demo XB
  175.      programs, the necessary software to imbed the utility into your XB
  176.      program, and Bruce Harrison's user friendly step by step
  177.      documentation. 
  178.            
  179.           CALL FILES XB 
  180.           This allows you to do CALL FILES from within a running XB
  181.      program.   Previously CALL FILES could only be executed from command
  182.      mode.  Our computers normally default to CALL FILES(3) which lets us
  183.      have 3 files open simultaneously.  With this utility imbeded in your
  184.      XB program you no longer have to do a CALL FILES(x) from command mode
  185.      before running a program that needs more than three simultaneously
  186.      open files or a program that needs the extra stack memory opened up by
  187.      CALL FILES(1).  Just OLD and RUN your XB program and the needed CALL
  188.      FILES(x) is done automatically by the program, 
  189.            
  190.           TIME OUT 
  191.           This puts a time limit for INPUT, ACCEPT AT, and CALL KEY.  If
  192.      data is not entered within the time allowed, the computer assumes
  193.      just <enter> has been pressed and XB program execution continues on
  194.      the basis of this null string input.  The time limit is easily
  195.      modified by changing a parameter of the CALL LINK statement in the XB
  196.      program.  An obvious use for this sort of time limit is in memory
  197.      games where a player has only so much time to input an answer. 
  198.            
  199.           BACKGROUND MUSIC 
  200.           This plays background music while waiting for user input at
  201.      INPUT, ACCEPT AT, and CALL KEY.  You can even have the music play
  202.      while editing the program from command mode.  Actually you can start
  203.      and stop the music anytime you want.  CALL LINK("CHIME") turns it on
  204.      and CALL LINK("ENDSND") turns it off.  Music is provided by a "sound
  205.      list" as described in the EA manual.  Such lists resemble, but arn't
  206.      quite the same as, a series of CALL SOUND statements.  Bruce provides
  207.      three sound files in both source and object code for those like myself
  208.      who have no talent creating music and don't understand sound lists.
  209.      Sounds include a nice 3 part chime and 16 bars of a Vivaldi sonata. 
  210.            
  211.           An additional utility in the Background Music software package
  212.      allows you to use music to time out at ACCEPT AT.  The music plays for
  213.      a defined length of time.  If there is no user input during this time
  214.      the computer simulates pressing <enter> to yield a null string and the
  215.      XB program continues from that point.  Bruce includes a really cute
  216.      demo of this feature in the form of a small Jeopardy television game
  217.      simulation.  The Jeopardy theme (the third sound file provided by
  218.      Bruce) plays while the program displays an answer and waits for the
  219.      user to input the proper question.  When the music is finished, time
  220.      is up, the opportunity for user input ends, and the user loses. 
  221.            
  222.           Bruce really appreciates your comments and suggestions.  Feedback
  223.      from TI users is why he enjoys providing us with all this great public
  224.      domain software.  Write him at 5705 40th Place, Hyattsville MD 20781.
  225.      His phone number is 301-277-3467.  I can be reached at P.O. Box 647,
  226.      Venedocia OH 45894.  My phone is 419-667-3131 and you can use
  227.      cgood@lima.ohio-state.edu  to send me internet email. 
  228.  
  229.