APPLICATIONSPROGRAMMATION ★ MAXAM V1.5 ROM ★

MAXAM v1.5 (Amstrad Computer User)Son of Maxam (Computing with the Amstrad)
★ Ce texte vous est présenté dans sa version originale ★ 
 ★ This text is presented to you in its original version ★ 
 ★ Este texto se presenta en su versión original ★ 
 ★ Dieser Text wird in seiner Originalfassung präsentiert ★ 

IAN SHARPE investigates the latest version of Arnor's popular assembler

BACK in the CPC's early days, Arnor produced Maxam, a machine code development system that became the standard by which others are judged. It comprised a text editor, assembler, disassembler, monitor, and utilities. Since then other packages have appeared, many with features that Maxam lacks.

Last year Arnor released Maxam II, a CP/M Plus version which included just about everything missing from the original version. Unfortunately it isn't very very convenient for non-CP/M programs.

Now Arnor has done what everyone hoped they'd do - produced an upgraded Maxam for use under Amsdos. As the title Maxam II is already spoken for, they've called it Maxam 1.5, and it is rom only.

The new rom is a commercial version of something Arnor have been using in house for the last couple of years, and the preproduction review copy was in the final stages of testing, though I couldn't find any bugs.

So what's changed? The original Maxam had an excellent built-in text editor which was the prototype for Protext, Arnor's acclaimed word processor. The only way Arnor could enhance Maxam was by removing the text editor to create room in the rom. Now, in order to write your assembly language source code you need Protext on rom, disc, or tape.

As a long-time Maxam I user the first thing I noticed was that instead of pressing Escape and selecting A from a menu, to assemble a file, you type asm from Protext's command mode. In fact, of the two menus in Maxam I only the first remains, the second having been replaced by additional RSX commands.

In Maxam I you could see the listing on-screen, optionally dumping it to the printer. With Maxam 1.5 you can also send the listing to a file, but owing to restrictions in Amsdos you can't write your machine code to tape/ disc at the same time - it's one or the other.

One advantage of sending the listing to a file is that there is a new test command which doesn't produce code, it just lists errors. If you have Promerge Plus you can use the two-file editing facility to flip between source code and a file of errors.

You can still assemble source code held in REM statements, which is handy when you're developing short routines in conjunction with Basic. The ability to have source code and a Basic program in memory at the same time has always been a plus point.

There are many additional features which make life easier. For instance, when including character strings in your machine code a new STR directive will put them in for you and set the top bit of the last character.

This is the format in which RSX names are stored, and is the easiest way of testing that the end of a string has been reached when printing it, unless you are using graphics characters. You just access each character in turn, and test to see if the top bit is set before resetting it, printing it, and exiting from the string printing routine if the end has been reached.

When things don't go to plan (they rarely do) it's time to go debugging. This was perhaps the weakest aspect of Maxam I. All you had were breakpoints where you could pause the program and see the state of the registers. These had the drawback of being an extra instruction in your code, so each breakpoint lengthened it by one byte.

The breakpoint feature has been extended and is now a lot more useful. The old brk instruction is still there, and it still inserts an extra byte. However the display it produces when the program pauses is a lot more informative as Figure I shows.

The hex/Ascii dump to the right of the register values is the contents of the memory around the address pointed #to by each register. Below it is a disassembly of the code around the instruction being executed. Although it doesn't show on the dump, if any of the flags are set they are named on the top row.

In addition to brk you can now have eight breakpoints which do not affect the length of the code. You can also set one temporary breakpoint which, if it is inserted in a loop, will only execute first time round. As well as the choice of three types of breakpoint there are a number of associated commands to give total control of the new breakpoint functions.

Maxam 1.5's debugging facilities still fall short of a single-stepper where you can execute your code an instruction at a time seeing how it affects flags, registers and memory locations.

I took a peek into the rom with the intention of seeing how much room is left before taking Arnor to task for not including the feature. There isn't much free space, but I found Arnor had anticipated me by leaving a message to the effect that it is considering this as a future enhancement if Maxam 1.5 is well received.

Maxam II has the ability to set conditional breakpoints where the program only pauses if a certain condition has been met, and Arnor might like to think about that too. Having said that, Maxam 1.5 is still a big improvement over its predecessor.

Another welcome feature is a set of RSXs to initialise the registers before calling a machine code routine. These can be used from Basic or Protext, and you can then use |J to jump to the code with the registers loaded with the required values.

The memory editor is still there. It has always been a good one, but you CPC6128 by a specific option. By the still can't get at the banked ram in the way, there are two short cuts here. One is to do |AA,n followed by |J,&BD5B where n is the number
specified in the firmware manual to switch the relevant 16K block into the address space at &4000. The other is to CALL &BD5B followed by n parameters. Their value doesn't matter, but the number of parameters is passed to &BD5B in the A register which then becomes the parameter used for the block switch.

Extended disassembly

A frequent complaint about Maxam I was that the disassembler wouldn't output to a file. You would want to do this so you could alter a program for which you didn't have the source code. This could be got round with a short utility, but in Maxam 1.5 it is built in.

If you select this option the hex and Ascii fields are removed, leaving you with a file that can be reassembled without further processing. The one quibble I have here is that with some other packages labels are inserted where the program refers to an address within itself. Maxam 1.5 doesn't do this, but it isn't a major criticism and you could write a utility to do it. As well as disassembly, a hex/ Ascii dump of memory can be sent to screen, printer, or file.

The pre-production review copy came with a photocopy of the documentation which supplements the Maxam I manual rather than replacing it. Production versions will be supplied with the original manual and the supplement.

To sum up then, if you can afford Maxam 1.5 and Protext - and I don't pretend they're cheap - they make a superb combination unmatched for sheer convenience and ease of use, and they're what we use here in the office. There are still a few features that I would like to see, such as single stepping and the addition of labels to disassembly, but for my money the Protext/Maxam 1.5 combination ranks as the best for non-CP/M work.

CWTA

★ PUBLISHER: ARNOR
★ YEAR: 1985
★ CONFIG: 64K + AMSDOS
★ LANGUAGE:
★ LiCENCE: COMMERCIALE
★ AUTHOR(S): ???
★ PRICE: £29.95 and works best inconjunction with Protext (disc or rom). Owners of the original Maxam can upgrade to Maxam 1.5 for £19.95.



★ AMSTRAD CPC ★ DOWNLOAD ★

File:
» MAXAM  v1.50    ROMDATE: 2011-07-18
DL: 1765
TYPE: ZIP
SiZE: 14Ko
NOTE:
.HFE: Χ
.ROM: √

Adverts/Publicités:
» Arnor-Maxam    (Amstrad  Assembler)    ENGLISHDATE: 2024-04-17
DL: 88
TYPE: image
SiZE: 30Ko
NOTE: w261*h402

» Arnor-Maxam    (Amstrad  Software  in  ROM)    ENGLISHDATE: 2014-05-05
DL: 678
TYPE: image
SiZE: 91Ko
NOTE: w412*h423

» Arnor-Maxam    (Annoucing  MAXAM  for  Amstrad  CPC464)    ENGLISHDATE: 2015-01-08
DL: 702
TYPE: image
SiZE: 148Ko
NOTE: w860*h604

» Arnor-Maxam    ADVERT    GERMANDATE: 2014-05-05
DL: 591
TYPE: image
SiZE: 59Ko
NOTE: w442*h316

» Arnor-Protext-Maxam-Prospell-Pocket  Protext    ADVERT    ENGLISHDATE: 2014-05-05
DL: 1299
TYPE: image
SiZE: 351Ko
NOTE: w967*h1367

» Arnor-Protext-Maxam-Prospell-Promerge-Rombo-Utopia-BCPL    ADVERT    ENGLISHDATE: 2014-05-05
DL: 1395
TYPE: image
SiZE: 359Ko
NOTE: w967*h1367

» Arnor-Protext-Utopia-Maxam    ENGLISHDATE: 2015-01-08
DL: 717
TYPE: image
SiZE: 240Ko
NOTE: w892*h619

» Maxam    (Happy  Birthday  Maxam)DATE: 2015-01-08
DL: 666
TYPE: image
SiZE: 154Ko
NOTE: w901*h602

» PR8-Soft-Discovery  Plus-Handyman-Masterdisc-Discmate-Amdrive-Maestro-Protext-Promerge-Utopia-Maxam-Model  Universe-Rombo-Super  ROMplus-Phasor  One-Dart-Lightpen-Supercopy    GERMANDATE: 2023-08-09
DL: 144
TYPE: image
SiZE: 822Ko
NOTE: w1654*h2338

Covers/Packages:
» Arnor-Maxam    (Release  ROM)    ENGLISHDATE: 2023-04-07
DL: 138
TYPE: image
SiZE: 638Ko
NOTE: w3075*h1841

» Arnor-Maxam    (Release  TAPE)    ENGLISHDATE: 2023-04-07
DL: 88
TYPE: image
SiZE: 566Ko
NOTE: w2573*h1564

Media/Support:
» Arnor-Maxam    (Release  ROM)    ENGLISHDATE: 2024-04-06
DL: 95
TYPE: image
SiZE: 59Ko
NOTE: Uploaded by CPCLOV ; w632*h800

Manuels d'utilisation & docs:
» Arnor-Maxam    (Jessico)    FRENCHDATE: 2023-01-17
DL: 742
TYPE: PDF
SiZE: 4261Ko
NOTE: Scan by hERMOL ; 19 pages/PDFlib v1.6

» Arnor-Maxam    (Release  ROM-TAPE-DISK)    ENGLISHDATE: 2014-05-05
DL: 18164
TYPE: PDF
SiZE: 1606Ko
NOTE: 51 pages/PDFlib v1.6

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » Arnor - Protext - Making the Most of Protext (Amstrad Computer User)
» Applications » Maxam 2
» Applications » Arnor - Prowort
» Applications » Arnor - Pocket Protext
» Applications » Arnor Prospell ROM
» Coding » MAXAM 464/664/6128 - Documentation
Je participe au site:
» Vous avez des infos personnel, des fichiers que nous ne possédons pas concernent ce programme ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.732-desktop/c
Page créée en 748 millisecondes et consultée 6438 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.