| ★ APPLICATIONS ★ PROGRAMMATION ★ MAXAM 2 ★ |
| Maxam II (CPC Revue) | MAXAM II (Computing with the Amstrad)![]() | MAXAM II (Amstrad Computer User)![]() | MAXAM II (Amstrad Action)![]() | MAXAM II (Aktueller Software Markt)![]() | MAXAM 2 (CPC Amstrad International)![]() |
Richard Monteiro jumps into a product from Middle Earth. When Maxam came out two years ago a reviewer said it "should be held up as an example of what can be done by programmers who care" the best thing since sliced 464. The words have appeared on its ads ever since. Arnor's answer to pleas from software houses and programming enthusiasts set the standard. In its heyday Maxam certainly held its own, losing out only to complete programming packages such as Pyradev and Laser Genius (the latter being bugged in places). The follow-up, Maxam II, makes previous attempts at Amstrad assemblers, editors and monitors look puny even pathetic. Seeing Arnor's thick red plastic case tells you you're in for a treat. A nicely presented looseleaf instruction manual presenting itself as Maxam II - Macro Assembler slides from the sleeve. Contained is enough information to shove the disk in the drive and stan programming. Separate chapters deal with the editor, assembler and monitor and there are useful appendices and a glossary of terms - it even tells you where "Arnor" was derived (see bottom of page). Unfortunately the information is sketchy in places, below Arnor's usual standards for documentation.
Maxam U works under the CPM Plus operating system. This means you can run it only on the CPC 6128 or PCW computers unless your 464 or 664 has the DK'tronics expansion RAM (or similar) plugged in the back and you can lay your hands on a CPM Plus system disk. It also means goodbye to the old Maxam's ability to mix Basic and assembler and the handiness of a ROM version: not possible under CPM. There are several stages in creating a machine-code program. First enter the Editor and write the program using Z80 mnemonics. Then the Assembler takes over and checks for correct syntax. If everything is fine it produces the machine-code; otherwise it's back to the Editor to correct any mistakes. Creating a bug-free machine-code program is almost impossible or at least rare - especially if it's something as complex as a spreadsheet or even one of the many commercially available games. This is where the Monitor comes in handy. It helps find those elusive bugs. Word-processor simplicity Have you used Protext ? If you have then you'll swear you are using it when you enter the editor. You can use this editor as a word-processor - it is that good. To enter text you must be in Edit mode. You can move the cursor rapidly from top to bottom of the text, move from one end of a line to the other and scroll the page up or'down a screenful at a time - handy features standard on any decent word-processor, but rarely found on machine-code editors. Maxam had the most advanced editor; Maxam U's is better. Being able to move the cursoranywhere on screen makes altering or correcting text a positive joy. The frills don't stop there: using Control-key sequences you can perform all sorts of wonderful tricks. The more useful: change case, insert or overwrite, swap two characters, un-delete, goto line, mark a place, concatenate lines. Play around with the editor and you'll discover many undocumented Control-key commands. For example, Control-S will show all hard spaces and Control-T lets you see tabs and hard returns. There are many more, with varying degrees of worth. If you own Protext take a peek at its manual.
As with all high-standard word-processors, the editor includes block commands to define sections of text to copy, move, delete or even un-delete. The search-and-replace system is sophisticated and comprehensive: wildcards, global, case-specific, complete word, or automatic.
Pressing Escape (while using the editor) toggles between Edit and Command mode. In Command mode you can use all the CPM commands such as REN and ERA, change the currently logged disk, catalogue, save and load files or blocks, merge files, print files or define printer options, call other CPM (or . COM) programs, assemble the file, enter the monitor... Unlimited file size File size is governed by free space on the disk - so extremely large files are possible. One problem when editing files of this size is disk accessing: as the whole file will not fit into memory, temporary files are set up and loaded or saved when necessary -this can slow things down. It is best, therefore, to have several shorter files and link them together when necessary. There is a facility to work on two files simultaneously. They are loaded and saved separately, so any action you perform on one won't affect the other. This is a very powerful function which will, among other things, enable you to copy blocks between one file and another. Maxam lis assembler will accept all three fields or a selection of them. It caters for all the 700-odd documented Z80 instructions -but not the 98 or so hidden or undocumented ones. This is not of great importance, for the manufacturer, Zilog, may one day alter the Z80 chip and remove all trace of these instructions - it is occasionally useful to have this option, though. Assembler directives are instructions to the assembler that affect the object-code in some manner. Simple ones such as LIST, NOLI ST, DUMP and PAUSE are godsends if you've never had the pleasure of using them. Several high-powered ones are incorporated into Max II's assembler.
The original Maxam didn't support Macros - one of its major setbacks. I'm thankful this has been rectified in Max II. Macros are in effect commands you define yourself a sequence of instructions represented by a single name. They are perfect for reducing the size of your source-code. They make it more legible and assemble according to the parameters you give it. If you've never experienced an expression evaluator then you've been missing out on a lot. Arithmetic expressions can be used by both assembler and monitor. You can have nested parentheses, indirections, logical operators and operator precedence. Numerals can be entered in binary, decimal or hex. Expressions are evaluated to 16 bits. Great, but what use is all this? Say you wished to determine the contents of the DE register plus seven, and print the result as the source-code was assembled. You would enter something to the effect of PRINT (DE + 7).
Another feature that let the original Maxam down was lack of a decent monitor. True, there was a simple memory monitor or editor, but nothing as hard-hitting as the one included in Max II. If you wish to examine memory, your program, or other people's programs then visit the monitor. It is a flexible system for debugging and tracing machine-code programs. Included in its bag of tricks is a disassembler, one-pass assembler, single-stepping function, conditional-breakpoint option, memory editor and a relocater. Full features When editing memory you just place the cursor over the memory location you wish to alter and enter the new value in Hex or Ascii - the same simple approach as found in Maxam. One major difference, though: you can enter data in assembly form - one line at a time. The Z80 registers also fall within the power of Maxam II's monitor: they can be altered. Individual flags can be set or reset. Disassembling is just as easy: press the Copy key and watch those mnemonics appear. Two forms of disassembly exist: intelligent and simple. The intelligent diassebler inspects the code and places you on the first legal instruction it finds. The simple version churns out mnemonics regardless of what they are or whether they are meaningful.
Single-stepping is undoubtedly one of the most powerful functions within a monitor. Three types are supported: "Step quickly" runs a program or subroutine at full speed in memory. The monitor retains control, allowing you to exit by pressing a key. "Step slowly" runs the code as usual, but displays register contents after each instruction has been executed. "Single-step" is similar to step slowly, but you have even more control. The editor alone is enough to sell Maxam II. Adding an excellent assembler and superb monitor leave little doubt in my mind: this is one product that will never need up-grading. Thank you, Arnor: Maxam II is stunning. Numerous features, previously unheard-of on an Amstrad computer, make this the most complete and competent programming package around. Simple, speedy and sophisticated - three words that sum up a tremendously powerful tool. AA |
| ![]() |