Sinclair Survival Column

Authors

Publication

Pub Details

Date

Pages

As we end our third year of this column, we go back to our roots and have a look at some news concerning the ZX-81 (T/S 1000) computer, the place where many of us started.

While most of the market is concerning itself with either the T/S 2068 or the QL, there still is one dyed in the wool T/S 1000 devotee who is still actively working on new projects for this computer. I refer to Fred Nachbaur, one of the original Sinclair faithful. You may remember the Universal Print Driver for use with ZX-81 computers and T/S 2068 printer interfaces which Fred developed and released last year. Or possibly the “Dungeon of Ymir” which was the first (and to my knowledge, only) game specifically developed for the T/S 1500. (More about the latest version of this game later in this column.) Fred is still actively pursuing new directions in the T/S 1000 arena, and this month we take a first look at some of these developments.

Hi resolution on the T/S 1000 family of computers was simply unheard of for most of their existence until Software Farm, a British company, released the first of a number of arcade games for the ZX-81 which boasted high resolution graphics similar to those found on the Spectrum. Up to that point you could have had high resolution graphics on your T/S 1000 if you wanted to add on some costly hardware. The games from Software Farm were different in that they required no additional hardware to perform.

Now, software developers in North America are taking advantage of a high resolution core routine—known as WRX16—developed by Wilf Rigter. Although his name is not well known in the Sinclair community, his development of the WRX16 routine became the basis for the high resolution version of “Sine-Artist,” from the Weymil Corp. It is this core routine which Mr. Nachbaur has utilized as the basis of a number of new products. (For those T/S 1000 owners who are excited by this development, I have been informed that Mr. Rigter has another major breakthrough in the works for the T/S 1000 family. A first indication of what this will consist of reveals an alternate display routine that will allow real multi-tasking capabilities such as a real time clock, variable display size, and extremely fast graphics. I will keep you informed of additional features as I become aware of them.)

For now, however, it is the WRX16 routine which has been utilized extensively by Mr. Nachbaur. The only hardware requirement for running software containing this routine, is that there must be static RAM in the 8-16K region. This can be in the form of a Hunter Board (probably the most popular T/S 1000 add-on in its day), with a slight modification. The Hunter Board is no longer in production, but Silicon Mountain Computers is about to release their own SCRAM (Static CMOS RAM) board which is designed with this software in mind. The board developed by Fred Nachbaur and Larry Kenny (of Larken Electronics) is essentially an update of the Hunter Nonvolatile Memory board. It too will contain a battery backup for its 8K of CMOS RAM. It will be upgraded to contain a quad DIP switch to allow the RAM to be switched in or out in 2K chunks. A header plug is included allowing you to remap the board into either the 0-8K, 8-16K (normal operation), 16-24K, or 24-32K regions. By adding a single IC you will be able to map it into any other location. A BOARD ENABLE switch is provided, allowing compatibility with disk interfaces, etc., as well as a WRITE PROTECT switch and the option of using a Radio Shack AAA battery holder in place of the standard lithium cell. A single 6264-LP chip is being utilized rather than the four 6116s used previously, making a lower price possible.

This SCRAM board should be available by the time you read this issue. Fred tells me that the flagship of Silicon Mountain Computers’ 1987 software will be their SRAM HI*RES EXTENDED BASIC. This package adds 38 new commands to Sinclair BASIC allowing high resolution applications to be written entirely from BASIC, a feat previously unheard of. Also included is a reliable fast tape system which claims to be 8.5 times faster than the normal ZX-81 SAVE, making it 60% faster than the T/S 2068 SAVE.

SRAM HI*RES EXTENDED BASIC is compatible both with the ZX-81 (T/S 1000) and T/S 1500 equipped with static RAM as described earlier. The software comes with a comprehensive 30 page manual. The EXTENDED BASIC is actually a series of machine code routines which use a single USR entry point. You will have to assign a variable with that entry point so that the high resolution commands may be accessed from your BASIC program.

Those of you who are familiar with machine code programming will be used to the RAND USR format for calling those routines. SRAM HIRES EXTENDED BASIC uses an If… Then construction so that the Z80 chip’s randomizing function can still be used by the programmer unlike the first construction. Another reason for this nonstandard syntax is the ability to issue any command, including parameters, in a single line. In SRAM HIRES EXTENDED BASIC no extra REM lines are required to pass parameters. Finally, by accessing the machine code portion of the package in this manner, you are stiR able to utilize the automatic syntax checking feature of Sinclair BASIC. A line not correct according to Sinclair BASIC will be rejected, so the developers of this EXTENDED BASIC have made their call routines conform to Sinclair syntax. Remember that although the actual software is machine code, you will be using it in exactly the same manner as you do BASIC. In fact your program will still be 100% BASIC. Keep in mind that even when you issue normal Sinclair BASIC commands, they too must access a machine code routine to function.

There are four different PRINT modes from within SRAM HI*RES EXTENDED BASIC. Mode 0 will print all characters to the screen in the normal Sinclair ZX-81 fashion—that is all upper case in either normal or inverse mode. Mode 1 will use the alternate character set which would be stored in the BUF2 area of RAM. This is meant to be a semi-permanent character set, such as lowercase letters and special symbols. These would normally be loaded into the buffer before you start your own programming. There are no commands from BASIC available to alter these patterns. Mode 2 is used to print your User Defined Graphics, which are stored in the BUF1 are of RAM. These patterns can be changed by using the LPRINT UDG; command. Mode 3 is used to switch to a 64 column character mode. This is identical to mode 1 in that you can print both upper and lower case characters. These modes can be toggled between by the simple use of semi-colons and commas. A single PRINT command may contain one or all of the included modes. An additional feature of the new PRINT command is an automatic SCROLL facility. If you try to print more than the screen can display, it will scroll upwards. You still have the SCROLL command which is unavailable on the Spectrum and/or T/S 2068.

Another beneficial new addition is a screen reverse command. Using this command you can reverse all or part of the screen (32 column mode) at any time. More than fast a screen reverse, this new command changes the way the system sees and writes to that portion of the screen. This is very handy for displaying any number of panels onscreen.

Unlike Sinclair ZX-81 BASIC, in EXTENDED BASIC you are permitted multiple statement lines. The format is slightly different than in normal BASIC multiple statement lines which separate statements with a colon. In this case you enter various multiple statement parameters (not repeating the commands) separated by semi-colons. These are fully documented in the excellent manual which accompanies the tape.

But you are not only limited to commands which mirror those already included in Sinclair BASIC, but will find numerous commands which are totally new to the ZX-81. Some of these include;

  • POINT—will return the value of 1 if the selected pixel is set (turned on), or the value of 0 if the pixel is not.
  • LOCATE—will return the value of the byte contained at the HR-DFILE address specified.
  • ADDRESS—will return the variable specified to the HRDFILE address specified.
  • BINARY—will return the binary form of the decimal value at any specified screen position.
  • DRAW—will quickly draw an unbroken line between absolute coordinates.
  • UNDRAW—will undraw any line present between two absolute screen coordinates.
  • CIRCLE—draws a circle of a defined radius with its center at any point specified.
  • UNCIRCLE—is the same as the CIRCLE command except that it erases the circle specified.
  • RECTANGLE—will draw a rectangle between four specified points, while
  • UNRECTANGLE —will erase a defined rectangle.
  • TRIANGLE—will (as expected) connect three defined points on the screen.
  • UNTRIANGLE—will undraw a triangle.
  • WINDOW UP—scrolls all or part of the HR-DFILE up.
  • WINDOW DOWN—scrolls all or part of the HR-DFILE down.
  • WINDOW RIGHT—scrolls all or part of the HR-DFILE right.
  • WINDOW LEFT—scrolls all or part of -the HR-DFILE left.
  • UDG—allows the user to create a User Defined Graphic. Once your UDGs are defined you can use them with a PRINT command or MODE 2.

Like UDGs, sprites are user defined characters that can be placed on the screen. Unlike UDGs, however, they do not erase what is “under” them on the screen. That is how they can be used as moving objects, since when they are moved on the screen, what was already onscreen will remain there before and after the sprite has appeared in any given position.

SRAM HI*RES EXTENDED BASIC contains five commands to define and control these sprites. They are SPRITE DEFINE, SPRITE PRINT, SPRITE MOVE, SPRITE SPEED and SPRITE ERASE.

In addition to the familiar Sinclair error reports, SRAM HI*RES EXTENDED BASIC has a number of error reports of its own. These are explained in the manual and will help you locate improper use of the new commands at your disposal.

The tape contains four separate programs. HRDEMO1 contains a full set of character patterns for defining the MODE 1 and the MODE 2 characters. HRDEMO2 is an extensive demonstration which utilizes most of the HR commands. This would be a good program to print out and study its construction. HRCORE is the core routines. The BASIC lines should be removed and you are ready to start programming. BOOT is a boiled down version of the fast load routine, and you should preface your own HR programs with this routine. Note that it will not work with programs which do not contain the SRAM HIRES core.

The manual comes with much technical information and a number of appendices to help you get the most from this package. Support is supplied by Gregory C. Harder, who along with Fred Nachbaur, developed this package. Mr. Harder’s address is given in the manual.

For those of you who would wish to develop commercial software using the HI*RES core, you are granted some rights not normally given. You may include the core in your applications provided 1) a copy of your program is sent to Silicon Mountain Computers, and 2) instructions on how to extract and use the SRAM HIRES core may not be provided with your software. (This does not apply, of course, to personal applications which you will not circulate.) SRAM HIRES is a programmer’s utility which is not to be considered in the public domain.

One commercial application is now available utilizing the SRAM HI*RES routine. Available from Silicon Mountain Computers, it is Year-At-A-Glance. This is an appointment book and calendar program which displays a 64 character screen of any year from 1800 to 2099. (The entire year is displayed on one screen.) The program also has some fine file handling capabilities with which to record and recall holidays, important dates and appointments. As supplied, the program contains all the legal holidays for 1987. In order to speed up LOADing and SAVEing, you may collapse the display file before recording it to tape. A full review of this software will appear at a future date. One last note, however, is a message to users at the end of the 7 page user’s manual. As is typical of products from Silicon Mountain Computers, you are encouraged to study and learn from this program. Written almost entirely in SRAM HI*RES EXTENDED BASIC, there are many REM statements included to guide the explorer throughout the program. Other information regarding the development of the program is included as well.

Before we leave the topic of high resolution on the ZX-81 and compatible computers, Fred has demonstrated the ability to take existing ZX-81 graphic software and upgrade it to high resolution. In this case, Mr. Nachbaur has taken the well known Psion Chess program, one of the original releases for the ZX-81, and has modified it using the high resolution software. Needless to say, for those who have this game and could not fully appreciate the low resolution graphics, the same game with the new graphics is (as Mr. Nachbaur puts it) “a breath of fresh air.”

I mentioned the Dungeon Of Ymir earlier in this column, and all owners of ZX-81 computers will be happy to know that a Version 3 has now been released. This release runs on all of the ZX-81 family of computers including the T/S 1000 and T/S 1500. In fact, with the newest release comes a new, lower pricetag. Mr. Nachbaur’s goal in creating this game was to “produce the most sophisticated and involved game, i.e. the BEST game ever written for the ZX-81.”

Dungeon Of Ymir is a multi level maze adventure in the image of the popular Dungeon and Dragons game. Nine dungeon levels, sixteen kinds of monsters, fourteen objects, five spells and a host of other features requires 24K of Z80 assembly language programming. The game starts off simply and the upper levels are populated with less dangerous monsters, becoming more fierce as you proceed deeper.

The bottom line of the display shows your inventory and current status. Another line, above the bottom, shows telepathic messages from the Oracle, possibly helping you in your quest. Hit points (a gauge of your degree of health), experience points and experience level are also displayed.

There is much more about this game which would amaze even the most ardent Sinclair supporter, such as myself, and it too merits a full review at a future date. If you had any doubt about the power of the ZX-81, this game will set the record straight as to what some fine programming can accomplish with this little wonder.

For more information concerning any of the software or hardware mentioned this month contact: Fred Nachbaur, Silicon Mountain Computers/C-12, Mtn. Stn. Group Box/Nelson, BC V1L 5P1 Canada.

Make sure to mention that you heard about it here in Computer Shopper.

Downloadable Media

 

Image Gallery

Scroll to Top