REVIEWS COURTESY OF ZXSR

Monitor and Disassembler
by Crystal Computing
Crystal Computing
1982
Sinclair User Issue 15, Jun 1983   page(s) 29

USEFUL TOOL FROM ZEUS

Zeus was father to the gods and the new Zeus assembler for the 48K Spectrum is the big daddy of all assembler programs. It is very simple to use for the beginner but for someone who has even a basic knowledge of the subject the program can be a powerful machine code tool.

The lines of assembly code are given line numbers so that it is possible to enter new lines or to alter old ones. There is an auto-line number routine in the program, which will prevent the user having to put in line numbers, and a re-number routine which will re-number the whole program or only part of it.

If errors occur during the assembly process the computer will list the errors with the line on which they occur. If there are no errors you can save the machine code and run it using a one-letter command "X".

Crystal Computing, the manufacturer of Zeus, also produces a monitor and disassembler for the Spectrum. As well as doing a full disassembly, the program will display the current state of the registers and alter them if necessary. It will also substitute lines of code and move around blocks of memory.

The Zeus asembler and the monitor and disassembler have been sadly neglected in the past. Both packages can be used together and form a very powerful tool. Zeus costs £8.95 and the disassembler and monitor cost £8.95. Both packages can be obtained from Crystal Computing, 2 Ashton Way, East Herrington, Sunderland SR3 3RX.


Transcript by Chris Bourne

Sinclair User Issue 21, Dec 1983   page(s) 64,65

NEW COMPANIES ON THE SINCLAIR BANDWAGON

John Gilbert looks at the latest additions to Sinclair Research's growing software library.

Sinclair Research seems to have its eye on the rest of the software market, something which it was loathe to do two months ago. It has opened its software range to such an extent that new and smaller companies, other than Artic Computing and Melbourne House, have had a chance to enter their programs into a range which already includes such programs as The Hobbit and the Artic range of adventures.

The new companies on the Sinclair Research bandwagon are Crystal Computing and Ultimate Play The Game. Crystal Computing has sold its Zeus Assembler and Monitor Disassembler to Sinclair. That means it at last has two machine code utilities, for the 48K Spectrum, in its range.

The Crystal Zeus Assembler is one of the best of its kind and provides excellent facilities for beginners and experts alike. Writing assembly language using it is almost as easy as writing Basic code. Each line of source assembly code as indexed with a number, just as Basic instructions are indexed with line numbers.

All the features which are found usually on assemblers have been included. Labels and expressions can be included within source code and strings of symbols can be entered into memory tables using the utilities in Zeus.

One of the advantages of Zeus is that you do not have to include an ORG instruction with the program to indicate to the computer where to put the object code when it has been assembled. If you omit the ORG instruction the computer will allocate the code to a space in memory.

The problem with Zeus is that you have to exit from the assembler to save the code which has been generated. If you are a beginner that can be a lengthy and nerve-racking process and you have no guarantee that you can load the code back into the computer.

Apart from the lengthy preparations for loading and saving, the assembler is still one of the best on the market. It is a pity that Sinclair Research has put it into a colourful box to justify a price rise of approximately £4. The box may look pleasant and it may improve the quality of the product on the shelf, from a commercial point of view, but the box will not help you to program.

The same is true of many of the other programs in the range. The boxes do not add anything to the product once you have it at home and paying up to £4 extra for packaging is unlikely to go down well with most customers.

The Monitor and Disassembler for the 16K/48K Spectrum is from Crystal and the price of the product has also been increased substantially. It can be used with the Zeus Assembler and will provide a disassembly of source code from your machine code programs or from the Spectrum operating system in the ROM of the machine.

The Monitor will also enable the user to assign values to the CPU registers. That means that values can be set to test machine code programs and to see how they run under certain conditions. Machine code routines can be copied from one part of memory to another and the routines can be edited in hexidecimal using the Monitor. One other useful function is to convert a hexidecimal value to decimal and vice versa when you are using the editing routines. That saves a number of calculations on paper.

The Monitor and Disassembler is the perfect companion to the Assembler but at a combined price of nearly £25 it is expensive.

The next two additions to the Sinclair software library for the Spectrum can both be regarded as mind games. Flippit, for the 16K or 48K Spectrum, has been put on a parallel with the Rubik Cube by Sinclair Research. It certainly is a maddening puzzle and almost impossible to master completely. The Flippit board is like a noughts and crosses grid - it has nine sectors, set out in a three-by-three grid. The computer labels those using the letters the alphabet, A to I, and numbers or dots fill each corner of each square.

To complete the game you must find the correct combination of numbers so that they add to the same sum horizontally, vertically and diagonally. That means the game is nothing more than the type of magic squares we all enjoyed solving when we were at school.

They can be played competitively and to emphasise the point the moves you have taken so far and the moves which you have to beat before getting the record are part of the board display.

There are three playing options. The first is New Run which will make the computer re-shuffle the numbers on the board into random patterns. The next option is similar to the first and will re-run the last random setting. That means that the order in which the numbers were placed on the last shuffle is restored.

Flippit seems so easy when you first start to play but when you have only two numbers out of place it can become irritating and it is easy to give up, rather than plodding along with the problem. If you are left with the numbers in the wrong places you may have to do major re-shuffle of the board.

The manual is concise and to the point but includes no information about strategy or play. It tells the player only how to set up the Spectrum and what are the various play options.

One other criticism is that it has no SAVE option for beginners who are puzzlers or who want to break for lunch.

The other mind game in the selection is more of a test of mind power. The Cattell IQ Test provides the user with a standard reference to any intelligence quotient. It is the type of test which potential members of Mensa, the organisation whose members have high IQs, must take.

On loading, the computer takes some time to set up the tests. There are six types of logic test which must be taken before the computer can give you an accurate IQ score. Those types include synonym finding, classification, opposites, analogies and inferences.

The results are co-ordinated from the various individual tests to give a percentile overall rating. The Spectrum will tell you eventually whether it is worthwhile applying for membership of Mensa.

After being extremely serious about the validity of the tests, throughout the manual it says in the section about the meaning of the results that the tests should not be taken too seriously and that the tests will not prove that you are a genius. Even if you cannot go around wearing a badge saying 'genius', once you have taken the Cattell test you should have some fun with the package.

Unfortunately the copy we were sent of the rests was tediously slow in producing marks for the various sections and in setting-up the data. Although it looked like a production copy of the package, Sinclair Research says that it is producing a better version of the program.

The final cassette-based program from the library, for the 48K Spectrum, is Chequered Flag and it is the only one not in a box. The program is from Psion and it is up to that company's usual standards.

The game sets you as a racing driver over one of the number of world-famous racing tracks, such as Silverstone. You can choose which car you want to use from a visual menu describing a number of well-known racing cars. You can also choose the course on which you want to travel.

The race will take place on the screen, using a three-dimensional representation of the track. Apart from the danger of crashing over the sides of the track, there is also oil on the road surface. At all costs you must avoid the oil or it could cause your car to skid. Once you have been round the track the required number of times, the chequered flag will be raised on the screen and your lap time will be given by the computer.

The graphic and real-time simulation effects produced by the software are reminiscent of the Flight Simulation program, also available from Psion through Sinclair Research. There are several tracks and cars to try, so the game should provide hours of entertainment. The quality of the game and the detail included make it one of the great games for the Spectrum.

The quality control and selection of software for the Sinclair software library has certainly increased with the release of this new batch of tapes. The boxes in which most of the products are now packaged are certainly an improvement on the cassette covers which were being used. One disadvantage for retailers will be that display shelves will be occupied more quickly by fewer products. That should be offset, though, by the prices which Sinclair is charging for its new software.

That has already caused murmurs of discontent from customers about to buy software from a company, only to find that Sinclair has bought it and the price has been increased. If Sinclair continues to raise its prices in this way the company could sell less in the way of software and customers may go elsewhere in a large market. That would be a bad move.

The 'L' Game is produced by Quicksilva. It consists of some coloured tiles on a board which are originally in the shape of an 'L' but which the computer manages to mix extremely well. The player then has to slide the tiles back into the correct order to form the 'L' in the least number of moves. It is like doing a jigsaw puzzle with no edges.

Also included on the cassette with the 'L' Game are Mastermind and Pontoon. If you like puzzles, this cassette is good value for money.

Flippit is from Sinclair Research and is a test of logic and arithmetic. The player has to get all the numbers or dots in a square in such a position that the values will be the same when added horizontally, vertically and diagonally. It is a puzzle which you will either love or hate.

The game is like a giant magic square and if you are adept at spotting combinations and have a fast calculation rate you should be able to do the puzzle fairly quickly. So far I have managed to fit the puzzle together with only two pieces remaining out of sequence. The problem is that the instructions are not so good as the puzzle and you could have difficulty in getting started.

Flippit is suited to those people who like IQ tests to learn their so-called intelligence quotient. I think that the only thing IQ tests prove is that a person can do an IQ test but if you want to learn what your rating is you might like to try The Cattell IQ Test.

I would be interested to hear your views on this or any other IQ test and also the marks you gained. Do not cheat. The Spectrum is ideally suited to such an application but is the application valid.

I hope that I have provided you with some ideas about the mind games on the market, especially those suitable as Christmas presents. You should not have too much difficulty deciding what to buy even though there is a wide area to cover.

Melbourne House, 131 Trafalgar Road, Greenwich, London, SE10 - The Hobbit

Carnell Software, North Weylands Industrial Estate, Molesey, Hersham, Surrey, KT12 3PL - Volcanic Dungeon, Black Crystal, The Wrath of Magra

Sinclair Research, Freepost, Camberley, Surrey GU15 3BR - Artic Adventures A, B, C, D, Flippit

Quicksilva, 55 Haviland Road, Ferndown Industrial Estate, Wimborne, Dorset - 'L' Game.


REVIEW BY: John Gilbert

Blurb: 'Flippit has been put on a parallel with the Rubik Cube. It certainly is a maddening puzzle and almost impossible to master completely.'

Blurb: 'The Spectrum will tell you if it is worth applying for membership of Mensa.'

Blurb: 'If Sinclair continues to raise its prices in this way the company could sell less software and customers may go elsewhere in a large market.'

Transcript by Chris Bourne

Sinclair User Issue Annual 1984   page(s) 32,33

MAKING MACHINE CODE EASIER TO UNDERSTAND

After dealing with assembers, John Gilbert turns his attention to their counterparts, the disassemblers.

The term disassembler has been used in many ways by professional producers of software to describe their products and some confusion has arisen as to what a disassembler should or should not do. The strict definition of a disassembler calls for a program which will translate the numeric values of machine code into the mnemonics of assembly language. There are other packages which do all kinds of things with machine code but do not fulfil that definition. The correct term for those packages is toolkit.

The mnemonics of assembly language look like shortened versions of Basic keywords. They are used to represent the machine code numbers which computers can understand but which human programmers still find difficult to cope with in great quantities. It is much easier to understand a mnemonic such as RET, which means Return to Basic, than its machine code counterpart, which in this case is 201.

Most disassembler packages include a monitor program which allows the user to change machine code stored in RAM which has been disassembled. The disassembler makes the editing process easier, as mistakes can be spotted quickly if the programmer has a disassembly and not just a list of numbers which have to be sorted.

When computers had just been invented there was little software and languages such as Basic and Pascal did not exist. Programmers had to use programs which consisted of long lists of numbers. You can imagine the trouble if those programs did not work. Every number in the program would have to be checked to see if it was correct.

The invention of assemblers and disassemblers made things easier. You could enter code in mnemonic form using the assembler and check the code using the disassembler.

When microcomputers were invented the disassemblers used on the large mainframe computers had to be altered to work on the smaller systems, as many of the instructions which were used on mainframes could not be used on micros.

The first disassembler to appear commercially for the ZX-81 was ZXDB, from Bug-Byte. The company has built its reputation with that package along with its ZXAS assembler and the reason was because it was cheap and ran on an expensive computer.

The Bug-Byte disassembler was fairly standard in its performance. It allowed you to specify the address, or position in memory, at which you wanted the disassembly to start. The program would disassemble one line at a time and you had to press NEWLINE for the next instruction in memory to be disassembled.

The ZXDB for the ZX-81 used two fields, or areas, on the screen in which to display information. The first showed the address at which an instruction was located and the second showed the disassembly of the machine code instruction.

Other disassemblers, such as the Crystal Computing Monitor and Disassembler for the Spectrum, use three fields. The extra area on the screen is used to display the numeric machine code on which the disassembler is working. It is a good idea as you can check the mnemonics and machine code against each other to see if the disassembler is working correctly.

If a company produces both a disassembler and an assembler it usually makes both programs compatible. That means that both programs can be put into the computer to work together and dispenses with the need to load one program to enter code and then load the next to check that the code is correct.

Having both programs in RAM at the same time will make programming in machine code quicker and easier but the amount of memory left for machine code programs will be reduced drastically. The advantages outweigh the disadvantages, though, so it is a good idea to buy a disassembler which can be used together with an assembler.

Two problems occur when a disassembler starts to produce question marks because it has not been programmed to recognise a machine code instruction. One disassembler which does not follow the Z-80 instruction set is ZXDB from Bug-Byte. The program uses 8080 code instead of Z-80. Instructions which are common on the Z-80 are named differently on 8080. For instance, LD in Z-80 is called M in 8080 code. Those two names mean different things. The LD instruction means load a register with a value, whereas M means move.

Trying to use a disassembler which does not understand the full Z-80 instruction set is like trying to use BBC Basic on a Spectrum or ZX-81. As BBC Basic is not the same as Sinclair Basic, the machine would not recognise the extra commands of the other language. As a result, when buying a disassembler, make sure that the program understands the complete Z-80 instruction set and not just a subset.

Disassemblers can serve two puroposes. They can be used to view code which you have stored in RAM or they could be used to look at the ROM of the machine.

With a good disassembler you could obtain a listing of the complete Sinclair ROM for either the ZX-81 or Spectrum. If you knew sufficient about machine code you might also be able to tell how the ROM works. To investigate the ROM, or go bug-hunting in it, you need the proper kind of disassembler. Picturesque produces a monitor and disassembler package which suits the purpose. The disassembler has to provide facilities for output to a printer, as the Basic interpreter and operating system within the ROM are very lengthy.

A true analysis would have you jumping to different parts of the ROM when JP, or JumP, instructions are indicated. JumP is similar to the Basic GOTO instruction but there are many options available with that command and the disassembler will help you to spot them.

Your disassembler should be capable of handling the RST instruction as it is used many times in the ROM. It means ReStarT and the instruction provides a quick entry point into the ROM for programmers using ROM routines in their machine code programs.

The RST 10 instruction, for instance, would send the computer control to the part of the ROM which deals with the printing process. The routine sets up the machine to display one character on the screen.

Most disassembler packages on the market for both Sinclair machines are being sold mainly as an afterthought to assembler packages. The disassembler has a very important role in computing and the second-class sticker with which it has been labelled is unfair.

A disassembler should be a necessity when you are writing machine code programs.

If you are to buy one, take as much time about choosing it as you would when buying an assembler. In many cases it will be the disassembler which will disappoint you with its performance and not the assembler.

For instance, the Bug-Byte ZXDB was a breakthrough when it was launched but with hindsight it is somewhat mediocre. The standard of the documentation with ZXDB was far from satisfactory; as a result, the program was difficult to use.

Disassemblers are becoming more complex all the time and there is not much which can be done to improve them. Many of the programs on the market, however, could be streamlined to fit into less RAM than is now the case.

dK'tronics, Unit 2, Shire Hill Industrial Estate, Saffron Walden, Essex, CB11 3AQ.

Crystal Computing, 2 Ashton Way, East Harrington, Sunderland, SR3 3RX.

Picturesque, 6 Corkscrew Hill, West Wickham, Kent, BR4 9BB.


REVIEW BY: John Gilbert

Blurb: 'The strict definition of a disassembler calls for a program which will translate the numeric values of machine code into the mnemonics of assembly languag.'

Blurb: 'Many programs on the market could be streamlined.'

Transcript by Chris Bourne

All information in this page is provided by ZXSR instead of ZXDB