home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.whtech.com
/
ftp.whtech.com.tar
/
ftp.whtech.com
/
articles
/
limanews
/
XHI2.TXT
< prev
next >
Wrap
Text File
|
2006-10-19
|
16KB
|
314 lines
ORIGINALLY PUBLISHED IN LIMA NEWSLETTER SEPTEMBER 1989
^^^^^^^^^^^^^^^^^^^^^ XHi v3.2
^^^^^^^Xbasic Hi Resolution Graphics Support
^^^^^^^^^a software review by Charles Good
^^^^^^^^^^^^^^^Lima Ohio User Group
The 9938 video chip controls all video displays produced by
the Geneve and by 99/4A systems that use a DIJIT systems AVPC
card or the Mechatronics 80 column peripheral. In addition to
the familiar 99/4A display modes, the 9938 chip has two
additional graphic modes each of which allows the computer to
display any of 512 colors. One of these graphic modes, G7, is
512 pixels wide and allows the simultaneous use of 16 colors.
The other, G6, is only 256 pixels wide, but allows the
simultaneous display of up to 256 colors. In both cases the
color of each pixel can be individually set. Geneve users can
utilize these high resolution graphics modes with the recently
released "final" Myarc Advanced Basic and with MYART, but these
programs will not run on 99/4A systems. Now, with XHi, these
high resolution graphis modes are also available from regular TI
Extended Basic. XHi was originally designed for use on a Geneve,
but it works fine on other kinds of 9938 systems. It is the only
software that allows those using a 99/4A with an AVPC or
Mechatronics 80 column peripheral to utilize the full graphic
potential of the 9938 video chip.
XHi is yet another "adds features to regular extended basic"
software package resembling those that have been reviewed
recently by Barry Traver in COMPUTER SHOPPER. It is a tagged
object code file that loads from Xbasic (either from command mode
or from within an Xbasic program) with CALL LOAD and takes quite
a while to load. XHi only works on systems that use the 9938
video chip. Once loaded XHi resides in low memory expansion, you
are returned to Xbasic, and the special graphic features of the
9938 chip are available to the user via CALL LINK statements.
All the normal features of Xbasic are retained. All Xbasic
commands continue to work normally. To access either of the 9938
chip's high resolution graphic modes you need to incorporate
XHi's CALL LINK statements into an Xbasic program and then run
the program. You can't try out the CALL LINK's individually from
command mode, and this makes experimenting with XHi somewhat
difficult. Some (but not all) of XHi's CALL LINK's are described
below:
-CALL LINK's will display and optionally clear either the G6
or G7 screen.
-CALL LINK("NORMAL") switches display back to the normal
Xbasc screen, also known as graphics 2 mode (G2).
-CALL LINK("DCOL",color number) sets the color of newly
activated screen pixels until the color number is changed.
-CALL LINK("BACK", color number) sets the background color
much as CALL SCREEN does to the G2 screen.
-CALL LINK("PLOT",VCOOR,HCOOR) plots a pixel at the stated
coordinates.
-CALL LINK("CIRCLE",etc) makes a circle from a specified
point with a specified radius.
-CALL LINK("LINE",etc) draws a line between two specified
sets of coordinates.
-CALL LINK("VIPORT",etc) creates a rectangular "viewport" on
the screen. The effect of this is to create something like a
pull down menu window. The viewport can be as large as the
entire screen. Output to the screen only alters the area in the
viewport.
-CALL LINK("XPAND" or "REDUCX", etc) will enlarge or shrink
the viewport horizontally.
-CALL LINK("COPY", etc) can make multiple copies of the
viewport on other parts of the screen. If the viewport has a
picture or graphic design, this can produce very interesting
effects.
-CALL LINK("PRINT",TEXT$, etc) prints a text string starting
at specified coordinates.
-CALL LINK("CWIDTH") specifies the width of the columns,
hence the size of the letters placed on the screen with CALL
LINK("PRINT", etc). Minimum letter size will yield 80 column
text.
-CALL LINK("COLMIX,COLOR,RED,GREEN,BLUE) redefines the RGB
components of one of Xbasic's 16 standard colors.
-Complete control of high resolution sprites is possible
with CALL LINKS. You can create multicolored sprites and have
as many as 8 sprites displayed simultaneously on each screen line
instead of the 4 that is normally possible with an unmodified
99/4A.
The best way to see XHi do its stuff is to run the Xbasic
demo programs. LOAD on the XHi disk will boot XHi and then allow
you to run the demo programs from menus. The HIRESDEMO Xbasic
program (which can be run from one of LOAD's menus) produces an
absolutely SPECTACULAR graphics display. Just keep pressing
<ENTER> every time the action stops to see the next part of
HIRESDEMO. The best way to learn how to use the XHi CALL LINK
statements is to study the Xbasic listings of the demo programs
and utilities. XHi comes with an extensive documentation file
written in English (the author is German). This doc file is
easy to read and should be read carefully several times. The doc
contains almost everything you need to know about XHi, but
specific information is sometimes hard to find because it is
buried.
As you know, regular Xbasic only supports 16 colors. So how
does XHi allow 512 colors to be selected from Xbasic and how can
you put 256 of these colors on the screen at one time? With XHi
you can redefine any or all of Xbasic's 16 colors, selecting the
red, green, and blue component of each redefined color. In this
way you can assign to any Xbasic color number (1-16) to any of
the 9938 chip's 512 colors. OK, so how can you simultaneously
display 256 colors on a G6 screen if you only have 16 colors to
play with at one time? Simply create a program that puts your
first 16 colors onto the G6 screen wherever you want, and then
redefines the 16 Xbasic colors into other colors and puts these
additional colors on the G6 screen, etc. The earlier colors will
remain on the G6 screen unaltered and will still be there as you
put new redefined colors onto the high resolution screen.
With XHi you have simultaneous use of both the normal Xbasic
G2 screen and either a G6 or G7 high resolution screen. Pixel
information for both screens is kept in VDP RAM and you can
instantly switch the monitor display from one to the other in a
program with commands such as CALL LINK("HIRES") and CALL
LINK("NORMAL"). All input is normally in the Xbasic screen
unless specially programmed for high resolution display. If you
are currently viewing the high resolution screen and you type
something, you often won't see what you type because you are
typing onto the (temporarily invisible) Xbasic screen. CALL
LINK("NORMAL") will switch to the Xbasic screen and show you what
you just typed.
Any exit to commnd mode from a running Xbasic program while
viewing a high resolution screen, without first returning to the
Xbasic screen from within the program with CALL LINK("NORMAL"),
will scramble the contents of the high resolution screen and
leave you looking at high resolution garbage. This includes
exits caused by CLEAR (FCTN/4), BREAK, encountering an Xbasic
error, or even the logical END of the Xbasic program. You then
have to blindly type CALL LINK("NORMAL") to return to the Xbasic
command mode screen to see what happened.
Any high resolution screen can be saved to or loaded from
MYART format with CALL LINK("SAVE" {or "LOAD"},"DSKx.FILENAME").
You can, for example, load a picture created on the Geneve with
MYART, modify the picture, and then resave it. The following
Xbasic program, when run in the XHi environment, will prompt you
for a MYART file name, display the picture, and at the press of
any key prompt you for another MYART file name.
100 CALL CLEAR !clears the n
ormal Xbasic G2 screen
110 DISPLAY AT(7,2):"MYART D
RIVE AND FILE NAME?" !prompt
for MYART file name with dri
ve
120 ACCEPT AT(7,2):F$ !F$ is
the DSKxFILENAME of the pict
ure. Program can be safely e
nded here with CLEAR (F/4)
130 CALL LINK("CLR256") !swi
tches monitor display to G6
high resolution screen and c
lears this screen. Change to
"HICLR" for G7 display.
140 CALL LINK("LOAD",F$) !lo
ads MYART picture file into
G6 screen for viewing
150 CALL KEY(0,K,S) !waits f
or any keypress
160 IF S=0 THEN 150 !if no k
eypress then wait some more
170 CALL LINK("NORMAL") !if
a key is pressed returns to
regular Xbasic G2 screen.
180 GOTO 100 !restart progra
m with prompt for another pi
cture file.
A utility called ARTLES is included which allows loading of
TI Artist pictures (those with both a "_P" and a "_C" file) into
a high resolution screen. This utility is called from within XHi
with CALL LINK("ARTLES","ARTFILENAM") without disturbing XHi.
After viewing the TI Artist picture, you can modify and/or save
it in MYART format. The ability to directly call ARTLES from
within XHi is new to XHi v3.2.
A VERY useful feature that is new to v3.2 of XHi is
HARDCOPY, a utility to print MYART graphics on a printer in black
and white. You can specify picture size from very small to
larger than normal page size. This allows the picture to be
artificaly stretched, which sometimes considerably improves the
final result. You can also print only part of a picture,
entering the upper left pixel coordinates and the size of the
rectangular area to be printed. To mimic colors, the dot matrix
printer will produce either 16 or 256 different dot densities
corresponding to the number of colors in the picture. The
HARDCOPY utility that comes with XHi v3.2 is described as a
"preliminary version", so the description of its use that follows
may not be totally applicable to future versions of HARDCOPY.
This is the ONLY utility I know of that allows printing of MYART
graphics, at least on 99/4A systems. It's use was very confusing
to me at first, but it is really quite simple to use once you
know how. There are some MYART pictures that it won't print.
Best results are obtained with pictures that have large areas of
one color and a light background.
-The printer must be set for IBM mode because very fine
1/216 inch line feeds are needed. On my Star SG10 printer IBM
mode can only be set with a dip switch. This is the only time I
have ever used my printer in IBM mode.
-Totally ignore the HCSETUP set up program. IBM mode is
same in almost all printers. HARDCOPY is internally
preconfigured and normally shouldn't need an external
configuration data file.
-Enter the MYART file name when prompted and don't leave
any trailing blank spaces to the left of the cursor after the
file name. Such trailing spaces cause an I/O error. Use DELETE
(F/1) to get rid of extra trailing characters rather than typing
over them with spaces. Press <ENTER>.
-The number of picture colors is displayed (16 or 256).
Don't change this (by pressing 1 or 2) unless you have good
reason to second guess HARDCOPY's choice. Just press <ENTER>.
-You now see two rectangular boxes. One box has a picture
color (HOARDCOPY apparently knows which of the 512 possible
colors are in the picture) and the other box shows the
corresponding printer dot pattern that will emulate this color.
You can cycle through these 16 or 256 colors with the arrow keys
and you can change the dot pattern of the displayed color by
pressing number keys. Don't change the dot patterns. Use the
ones already provided by HARDCOPY unless you have a good reason
to change. Just press <ENTER> when the two boxes are displayed.
-You can now set the picture size, stretch the picture to
twice its normal width, and crop the printout by pressing the
appropriate keys and following the prompt. If you do not
enlarge the picture, your printout will be only a few inches in
length and width.
-Press 4 to print the picture. If you don't like the
results experiment with spreading out the picture. This makes it
easier to distinguish between areas of different dot densities.
COMPLAINTS: (all rather minor)
The actual XHi program works just fine with my AVPC equipped
99/4A. However the LOAD and COLDEF (color definition) Xbasic
programs have some features I dislike. Fortunately, since these
are written in Xbasic, these programs are easy to modify to my
liking. LOAD, as written, requires its disk to be named XHi with
a lower case i. The use of lower case letters in disk and file
names is not standard practice in the TI world and can lead to
problems. You cannot, for example, use lower case letters for
disk names of newly initialized disks created with the DMII
module or with DM1000.
Because LOAD and COLDEF were written on a Geneve, which has
a fancy keyboard, these programs reference key codes not often
used on a TI keyboard. The author makes use of the Geneve's HOME
key frequently when one would expect a press of the <ENTER> key.
On the 99/4A keyboard the equivalent of HOME is CTRL/L. You
also, in one case, have to figure out that on the 99/4A keyboard
you need to press CTRL/. (period) to do something. LOAD and
COLDEF need to be altered to get rid of references to
DSK.XHi.FILENAME and weird keycodes in order to be more easily
used on 99/4A based systems.
CONCLUSIONS:
I agree with one of my correspondants who stated, "On the
Sears scale of things I rate XHi as a BEST." It is a very noble
effort to harness the power of the 9938 chip in a familiar
environment. For Geneve owners, XHi probably isn't as user
friendly as MYART, but it is alot cheaper. It is the only tool
Geneve owners have to incorporate high resolution G6 and G7
graphics into the large body of existing Xbasic software.
Although the recently released Myarc Advanced Basic will support
high resolution graphics, Advanced Basic is largely incompatable
with TI extended basic.
Both Geneve and 99/4A users will benefit from HARDCOPY. It
is said to print MYART graphics in shades of gray with better
quality output than can be obtained with MYART's own screen
dump.
For 99/4A users with the AVPC or the Mechatronics 80 column
peripheral XHi is the only show in town. It is the only
currently available software package that allows 99/4A systems
equipped with the 9938 chip to take full advantage of all the
high resolution color graphics capabilities of the 9938. Even if
you just want to view MYART graphics created by others, XHi is
superior to the Barry Boone MYART viewing program that is
distributed with the AVPC. A greater varity of MYART pictures
can be displayed with XHi. I very strongly recommend XHi to AVPC
and Mechatronics 80 column users.
And now a personal comment. I know that XHi v2.0 and v3.0
have been available in the United States since the beginning of
the year (1989). On July 1, I sent a fairware payment to the
author,
Alexander Hulpke
Sadowastrasse 68
5600 Wuppertal 1
West Germany.
A few weeks later Alexander sent me a disk with his very
latest (v3.2) and a short note stating, "Yours is the first
fairware payment I have received from the United States.
Congratulations!" COME ON NOW PEOPLE, after all this time am I
the one and only person in the United States who uses XHi? I
don't think so! XHi has obviously taken many 10's of hours of
work to create. PAY THE MAN FOR HIS WORK or we may never hear
from him again. Alexander has other high resolution and 80
column stuff in the works. I have seen some of this additional
material. You may never see any of it unless Alexander gets some
more fairware donations.
Alexander has promised to send me the next XHi version with
an improved HARDCOPY. User groups, not individuals, can obtain a
copy the latest XHi by sending a disk and paid return mailer to
the Lima User Group, P.O. Box 647, Venedocia OH 45894, USA. I
won't complain if you put something on the disk for the Lima UG
library.
.PL 1