When you click on links to various merchants on this site and make a purchase, this can result in this site earning a commission. Affiliate programs and affiliations include, but are not limited to, the eBay Partner Network.
In a offer to repeat their success in Japan, a number of manufacturers recently announced their intention to launch MSX systems in the U.K. Toshiba has emerged as the pace setter in the race to customise a micro for the more sophisticated British market. The HX-10 Home Computer seems likely to beat Sanyo’s Wavy 10 and Sony’s Hit-Bit to a place on the MSX shelves this month, albeit by a narrow margin.
Toshiba’s machine is unexciting when, compared with other systems from the land of the rising sun. The HX-10 does not have any of the goodies promised with some other MSX micros such as video interfacing, robot arms, and music synthesisers. But what it will have is a more competitive price tag.
Cosmetically, the HX-10 appears functional rather than glamorous – a slab-like dark-brown box, not exactly ugly, but it is hardly inspiring either. The overall construction is very workmanlike, a solid heavy micro that looks as if it could take a good bashing and has the endearing habit of staying put while you are typing.
Interfacing made easy
Communication with the outside world is relatively simple. At the back of the machine are phono socket connections for output to TV set or monitor, and a DIN socket to hook up a cassette recorder. Also hidden round the back is the bus connector which is ominously marked “For Only Toshiba Use”. This expansion bus connector will come into use when disc interfaces become available, as well as RS-232 drivers and the like. On the side of the machine are two D-type joystick sockets and a Centronics printer socket.
The all-important cartridge slot is accessed from above. How often this slot is used will depend on how many U.K. software houses opt for cartridge media in favour of cheaper and more popular cassettes.
As keyboards go, the HX-10’s is a long way ahead of those found on the Sord M-5 and the Spectrum, but not quite in the league of the BBC model B or Electron. As such, it represents a reasonable compromise between low-cost and usability. Of the 73 keys, five are programmable function keys – or soft keys as they are sometimes known.
A rich set of foreign characters are available from the keyboard using the Code key, including French, Spanish and Greek, as well as graphics characters which are produced using the bright-green Graph key. The minor points which annoyed me while using the HX-10’s keyboard were the tiny backspace key, the cramped cursor keys and the absurd colour scheme adopted, green, blue, brown and white.
In Japan, Toshiba was one of the few companies to offer a 64K machine. Seemingly, Tokyo’s man-on-the-street is quite happy with a measly 16K computer. Of the two systems that Toshiba had available in Japan, they wisely adapted the 64K version instead of the 32K model.
If the promise of 64K seems mouth-watering, prepare for a sudden loss of appetite when you switch on the HX-10. After the copyright message you are informed that there is only about 28K available to MSX-Basic programs. Graphics support immediately claims 16K and the rest of the missing memory is squirrelled away for some undisclosed purpose – perhaps lying dormant awaiting the arrival of a disc operating system.
Displayed at the bottom of the screen are the values of the first five function keys. The second five values may be displayed simply by holding down the Shift key. To remove this display, the command Key Off will do the trick. You can assign your own character strings to any of the function keys. For example:
KEY 1,“? FRE(0)” + CHR (13)
will print out the amount of free memory every time function key number 1 is pressed.
MSX-Basic is very nearly an 8-bit IBM PC Basic, offering a nice spread of arithmetic functions, good graphics and sound and a few other elegant touches which must make it one of the best home micro Basics around.
All arithmetic is calculated to double precision – up to 14 decimal places – which does tend to slow programs down a bit, but this trade-off is acceptable if accuracy is the most important consideration. Data types can be declared as binary, hexadecimal and octal as well as the standard characters, integers etc.
Entering programs displays both a weakness and strength in the Basic. Unfortunately, the interpreter does not check lines as they are entered. To compensate, there is an excellent full-screen editor. It is a shame that the designers could not combine both these features in the way Atari has on the 800XL.
As mentioned earlier, the HX-10’s character set is fairly complete. There is a full range of scientific symbols, a music note, signs for integration and differentiation and so forth. These characters, plus the foreign ones, point to the possible educational uses that MSX systems might have.
Program output can be formatted using the Print Using statement. This is a fairly flexible and powerful statement which is particularly useful for making numeric output look nice. If, for example, the results of a tax calculation areto be displayed to two decimal places, the following statement will ensure a uniform output:
10 PRINT USING “# # # .# # ”,TAX
Other options allow field fillers, + or – signs, and the insertion of a string variable into a constant string.
Powerful sound chip
The sound available from MSX Basic is also quite impressive. At the heart of every MSX micro lies a dedicated sound chip – General Instruments AY-3-8910 – the same chip used by the Oric Atmos and Memotech MTX series, in fact. It is capable of producing three notes simultaneously over a range of eight octaves with an optional noise channel to produce helicopter and explosion noises. To kick this chip into life, you can use one of two Basic commands: Sound or Play.
Sound is the most flexible of the two but much harder to use. It is little more than a specialised Poke instruction; values are sent to one of the sound chips’ 13 registers accessible from the Basic. Not having a manual available you will have to study the sound chip quite fully.
The Play command is much more straightforward. You are restricted to musical notes in this case, with instructions being given to the sound chip via the Music Macro Language. Music is set out in a character string, with letters like C, F and G# corresponding to the same notes as musical notation.
Note length, octave, tempo and other features will, with practice, allow most tunes to be played. All music played using this command is placed in a music queue for summary execution. So once told what it is to play, the HX-10 can continue to perform some other task. There are no equivalents of the Oric’s Zap and other sound commands.
With 16K of your precious memory dedicated to graphics support, you get the feeling that the graphics capabilities of this machine ought to be quite good. Though not in possession of an ultra-high resolution screen like the Beeb’s, the HX-10 can squeeze quite a lot from its fairly moderate 256 by 192 resolution screen. The nicest thing about MSX Basic’s graphics statements is that they are very easy to use, and due to the allocated video RAM, reasonably quick too. I can only hope that this feature is well documented.
There are commands to draw circles, lines and boxes, a Paint command, and 16 colours available. Best of all, you can declare up to 32 sprites. Fortunately, there are no Poke instructions required to set up a sprite thanks to the provision of a special variable called Sprite$. Sprites are placed on the screen using the Put Sprite command. A number of these graphics statements such as PSet, Circle, and Put Sprite have the option to specify absolute or relative co-ordinates.
By putting the word Step in front of a set of co-ordinates, the shape or point is placed relative to the last point addressed on the graphics screen. This speeds up the movement of sprites etc. across the screen as there is no need to waste time calculating the object’s next position.
Text and graphics
There is, however, no easy way to put text into a graphics screen. What you have to do is: open the graphics screen as a named file (GRP:) and use a Print# statement to send a character string to the screen. This is hardly convenient particularly as the character string will be placed at the last point addressed on the screen.
Possibly the best feature of this Basic is its interrupt statements. Rather than polling for an event such as the spacebar being pressed, you can set an interrupt which will cause a branch to a subroutine when the event occurs. The following short program will print out the product of 100 by 100 repeatedly until the spacebar is pressed, when it will print out
“HELLO”: 10 strig(0) on
20 on strig gosub 40
30 print 100 * 100 : goto 30
40 print “HELLO” : return
Interrupts may be set up to monitor the function keys, sprite collision, time intervals, and trap events such as errors and the production of a Ctrl-Stop signal. This feature of the language makes up for the omission of a While-Wend statement.
Conclusions
Popular Tutorials