home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.whtech.com
/
ftp.whtech.com.tar
/
ftp.whtech.com
/
articles
/
archives
/
reviews.exe
/
09MIC94.TXT
< prev
next >
Wrap
Text File
|
2006-10-19
|
14KB
|
229 lines
ORIGINALLY PUBLISHED IN MICROPENDIUM
P.O. Box 1343 Round Rock TX 78680
Phone 512-255-1512
Internet jkoloen@io.com
MICROREVIEWS FOR SEPTEMBER 1994
by Charles Good
The TI community continues to be enhanced by the efforts of Bruce
Harrison. Everything of his I am describing this month has been
released by Bruce into the public domain. You can get these software
packages from me for $1 per disk, which pays for the disk postage and
mailer.
--------------------
XB COMPILER by Bruce Harrison
Most previous attempts at basic language compilers for the 99/4A
have required extensive rewrites of existing software. Some were
limited to only certain subsets TI basic of extended basic, and all
were very difficult to use. Not so with the Harrison compiler. It is
not necessary to rewrite your favorite XB software prior to compiling,
and the actual process of producing the compiled code is not
difficult.
Bruce has taken certain XB operations and written assembly code
which does the operation faster than XB's GPL interpreter. Whenever a
compiled XB program gets to one of these operations it uses Harrison's
code for extra speed. If the particular XB operation is not one of
those that have been speeded up by assembly code, the compiled XB
program branches to GPL and the XB operation occurs at normal speed.
This means that everything in a normal XB program works when the
program is compiled. Some parts of the compiled program work at
normal speed and some work at greatly accelerated speed. File
handling (OPEN #, PRINT #, etc) works at normal speed. XB programs
that already have imbeded assembly routines can't be compiled, but you
can sometimes CALL LOAD assembly object code to low memory and then
CALL LINK to this code from a compiled XB program.
The following are speeded up by the Harrison compiler: CALL CHAR,
CALL COLOR, PRINT (to the screen), ON ERROR, FOR/NEXT (including
nested loops), CALL GCHAR, CALL HCHAR, CALL VCHAR, CALL KEY, ON GOTO,
and ON GOSUB. If Bruce continues to work on his compiler this list
may increase.
The process of compiling is multi step but not difficult. Bruce
is well known for writing user friendly instructions and provides
lots of on disk examples of each step in the compiling process. First
you get your XB program working just the way you want it. This XB
program is saved in merge format. The merge format program is then
run through the multi step compiling process. Once compiled the XB
program will OLD and RUN normally. If you BREAK the program (with
FCTN/4) you will get the correct BREAKPOINT AT LINE XXX message. You
can then type CON to continue the compiled program just like regular
basic. You cannot however list or edit a compiled program. You have
to go back to the uncompiled XB original code to do any editing and
then run the edited code through the Harrison compiler again.
The main limitation to the compiler is program size inflation.
The compiled program occupies much more memory and disk space than the
uncompiled original. For each of the speeded up operations listed
above the compilation process adds some hidden assembly code to the
program which increases memory requirements. If a speeded up
operation is not found in the original XB code then the assembly code
for that operation is not added. All of the speeded up operations
listed above add 21 sectors to program disk size compared to the
original uncompiled XB code. Large XB programs may not be compilable
because they run out of memory. This is one reason why Bruce
hesitates to add more speeded up operations.
The Harrison compiler is the best general use XB compiler
available to the TI community. The compiler with on disk
documentation and sample files comes on a DSSD disk. Its source code
is on a second DSSD disk.
-----------------------
DRAWING PROGRAM by Bruce Harrison
As the name suggests, this lets you make multi color drawings on
screen and save them to disk. You can use the keyboard or joysticks
to move the cursor around. You can either start from a blank screen
or load in a previously created drawing. You can also load in TI
Artist "_P" and "_C" picture files. For text you can load in a TIA
font or you can load any CHARA1 type of file (something TIA can't
do). You an also load in TIA instances and place them where you want
on the drawing screen. Pictures created with Drawing Program can be
printed on almost any printer, including Star SG10 and 10X models.
They can also be saved to disk, but graphics are NOT saved in TI
Artist compatible format.
Harrison's Drawing Program isn't nearly as fancy as TI Artist.
However in most cases if you need to create screen art work or
manipulate graphics that already exist in TIA format the Drawing
Program will do very nicely. Unlike TIA, which is commercial, Drawing
Program is free. With source code it comes on one DSSD disk. One
word of caution. Drawing Program doesn't work on my AVPC system. I
don't know if it works with other types of 80 column systems.
------------------------
VIDEO TITLER by Bruce Harrison
Bruce was unimpressed with the text only title screens I create
for the Lima MUG Conference video tapes so he decided to help me make
some really fancy video tape title screens. Video Titler is the
result. You are supposed to take the computer screen graphics
manipulated with this software and record them onto a video tape. The
results are very impressive. As many of you know the video output of
a 99/4A can, using a monitor cable, be fed directly into the "video
in" jack of a VCR where it can be recorded onto video tape and
displayed on the screen of a TV hooked up to the VCR.
Video Titler lets you store two full screens of graphics in
memory and then rapidly switch back and forth between these pictures,
displaying them one at a time on screen and on the video tape you are
recording. First you load the pictures into memory. They can be
either Drawing Program or TI Artist pictures. Then you press "record"
on the VCR and start switching between pictures. If the pictures in
memory are only slightly different, rapid switching produces an
animaton effect. In addition to instantly switching between the two
screen pictures you can wipe the current image in various ways to
display the second picture. Wipes can be left to right, right to
left, top to bottom, bottom to top, or center to left/right. If you
want to display more than two pictures, press "pause" on the VCR.
Then load more pictures, replacing those already in memory. Then
release the "pause".
I can send you Video Titler, some neat video pictures made by
Bruce, and the Drawing Program (without source code, no room for it)
all on one DSSD disk.
-------------------------
FONT CONVERTER by Bruce Harrison
A few years ago Jim Peterson created almost 200 screen fonts for
use in extended basic software. Bruce Harrison has made an assembly
program to convert all of these Peterson screen fonts into CHARA1
program files. The conversion process is somewhat lengthy, since each
Peterson screen font has to be individually converted. The result is
a whole bunch of mostly 5 sector CHARA1 fonts that can be used with
Drawing Program. A unique feature of Drawing Program is its ability
to import CHARA1 fonts. You can also use these converted CHARA1
screen fonts with word processing software, although many of them
don't look very good used this way.
Font Converter comes on a one SSSD flippy disk. The flip side of
the disk contains some of Jim Peterson's original screen fonts for you
to convert. The entire collection of Peterson's screen fonts for you
to convert is available from me on three additional SSSD flippy
disks.
--------------------
TURNFONT by Bruce Harrison
Here is something to do with all the strange CHARA1 fonts you
make with Font Converter. Turn them on their sides, 90 degrees, or
turn them again to make the characters upside down. Turnfont will
input any CHARA1 font and output to a disk file the same CHARA1 font
rotated 90 degrees either right or left. You can take a previously
rotated font file, run it through Turnfont again, and get an upside
down CHARA1 font. The resulting rotated fonts can be used with
Drawing Program, Funnelweb's central menus, or with word processing
software. The results are really strange and humorous! The software
and some sample turned fonts comes on one SSSD disk.
----------------------
CALL LINKable XB ENHANCEMENTS by Bruce Harrison
Each of the following Harrison public domain assembly utilities
comes on a SSSD disk and can be merged into and CALL LINKed from your
favorite XB programs. These can be added to your XB programs in any
of three ways. 1- Just CALL LOAD Bruce's utilities into memory and
them CALL LINK to them. You do this while you are experimenting with
the utilities. 2- Use ALSAVE to imbed a utility into your program.
3- Imbed the utility in your program with "Hi Mem Loader" which,
unlike ALSAVE, leaves all of low memory available.
strings. Once these utilities are imbeded into your XB program (you
can imbed several utilities into the same XB program) they are
transparent. You OLD and or RUN the program as you normally would
from XB and the assembly code is automatically loaded ready for your
program's CALL LINK. Each utility comes with source code, demo XB
programs, the necessary software to imbed the utility into your XB
program, and Bruce Harrison's user friendly step by step
documentation.
CALL FILES XB
This allows you to do CALL FILES from within a running XB
program. Previously CALL FILES could only be executed from command
mode. Our computers normally default to CALL FILES(3) which lets us
have 3 files open simultaneously. With this utility imbeded in your
XB program you no longer have to do a CALL FILES(x) from command mode
before running a program that needs more than three simultaneously
open files or a program that needs the extra stack memory opened up by
CALL FILES(1). Just OLD and RUN your XB program and the needed CALL
FILES(x) is done automatically by the program,
TIME OUT
This puts a time limit for INPUT, ACCEPT AT, and CALL KEY. If
data is not entered within the time allowed, the computer assumes
just <enter> has been pressed and XB program execution continues on
the basis of this null string input. The time limit is easily
modified by changing a parameter of the CALL LINK statement in the XB
program. An obvious use for this sort of time limit is in memory
games where a player has only so much time to input an answer.
BACKGROUND MUSIC
This plays background music while waiting for user input at
INPUT, ACCEPT AT, and CALL KEY. You can even have the music play
while editing the program from command mode. Actually you can start
and stop the music anytime you want. CALL LINK("CHIME") turns it on
and CALL LINK("ENDSND") turns it off. Music is provided by a "sound
list" as described in the EA manual. Such lists resemble, but arn't
quite the same as, a series of CALL SOUND statements. Bruce provides
three sound files in both source and object code for those like myself
who have no talent creating music and don't understand sound lists.
Sounds include a nice 3 part chime and 16 bars of a Vivaldi sonata.
An additional utility in the Background Music software package
allows you to use music to time out at ACCEPT AT. The music plays for
a defined length of time. If there is no user input during this time
the computer simulates pressing <enter> to yield a null string and the
XB program continues from that point. Bruce includes a really cute
demo of this feature in the form of a small Jeopardy television game
simulation. The Jeopardy theme (the third sound file provided by
Bruce) plays while the program displays an answer and waits for the
user to input the proper question. When the music is finished, time
is up, the opportunity for user input ends, and the user loses.
Bruce really appreciates your comments and suggestions. Feedback
from TI users is why he enjoys providing us with all this great public
domain software. Write him at 5705 40th Place, Hyattsville MD 20781.
His phone number is 301-277-3467. I can be reached at P.O. Box 647,
Venedocia OH 45894. My phone is 419-667-3131 and you can use
cgood@lima.ohio-state.edu to send me internet email.