APPLICATIONSPROGRAMMATION ★ MAXAM (ARNOR) ★

MAXAM (Microstrad)MAXAM: Really friendly assembler (Computing with the Amstrad)MAXAM (Amstrad Computer User)Maxam (Popular Computing Weekly)
★ 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 ★ 

Wot? No Disc!

The long - awaited sideways ROM arrives

At last! an add-on ROM for the CPC464! This innovative device has to be the most compact piece of kit yet produced for the AMSTRAD. Contained on the 83x50mm circuit board is a powerful Z80 assembler, a dissassembler, a monitor, relocator and a neat little text editor plus several handy utilities you can use from BASIC. What's more it uses less than 1K of your RAM. To good to be true ? Read on. It does not come in any form of box, you get just the bare board. This saves reviewers the trouble of dismantling it and also cuts the cost. You also get a friendly, legible instruction manual with many examples and a list of op-codes though their example on patching the printer output routine assumes that the contents of a jumpblock are always the same. The point of jumpblocks is to hold any changing addresses so although this patch works on a CPC664 it is more by luck than judgement.

The device simply plugs in the back of your computer, you turn on and... instant assembler ! Those of you with disc drives and speech synthesisers need not worry because it has a through bus for you to plug into on the other side . There is another edge connector facing upwards which should be covered with insulating tape to prevent the ingress of dust,coffee and biros. This is for "future expansion". Unfortunately it does not physically fit onto a CPC664 but Arnor will shortly be producing one that does.

There are disc and cassette versions of the package available but they do lack some of the commands that play with the ROMs.

It is not possible to back up the disc as Arnor have altered some checksums which will be difficult to change for even seasoned hackers. When you turn on your machine you get an extra bit in your sign on message saying "MAXAM Assembler copyright 1985 Arnor Ltd." and everything else should behave exactly as before. The review model came unstuck when I tried to enter CP/M, a fault soon traced to a loose cable on my disc drive . The interesting bit comes when you use the first of the extra external commands called HELP. Easy to remember that one. The help command gives a list of the names and numbers of all the ROMs currently active on your system , usually : BASIC , MAXAM and maybe your disc ROM.

Typing |HELP,n, where n is the number of a ROM, displays all the availiable commands on that ROM so you can see what Arnor has to offer:

Commands Availiable on MAXAM ROM.

  • MAXAM The main MAXAM menu.
  • ASSEMBLE Assemble Z80 code from BASIC.
  • ASSEM As above but suppressing messages.
  • CLEAR Delete editor text.
  • CAT As with normal BASIC.
  • FIND Search for a string in REM statements.
  • MODE Changes between modes 1 & 2.
  • SPEED Set write speed (cassette).
  • HELP See above.
  • HELP,n See above.
  • MAXOFF Disables MAXAM.
  • MSL Use screen in low memory.
  • MSH Use screen in high memory.
  • ROMOFF Turns off selected ROMs.

Should any other ROM contain the words CLEAR, FIND or HELP , you can prefix these MAXAM commands with an 'M' to avoid confusion.
The main feature is of course the assembler. This uses the standard Z80 mnemonics beloved by programmers all over the world and are the same as used by Hi-Soft's Devpac and Kuma's ZEN. Typing ' I MAXAM' puts you in a colourful menu page offering all the availiable commands for editing,listing,saving and printing:

MAXAM Commands:

The text, or source code , can be entered using the built in editor or as REM statements in a BASIC program (in-line assembly). Oh yes, you can also edit and create BASIC programs using the editor as long as they are saved as ASCII files. It can even do the line numbering for you.

The assembler itself understands most of the common conventions used. For instance ; a label may or may not be followed by a colon and both DB or DEFB may be used to reserve bytes of memory. Labels and symbols can be forcibly defined by preceding them with a full stop. This means you can have labels with names like LDIR which would normally be treated as a Z80 instruction by the assembler. The labels can also be of any length and all the characters are significant. You can also use underline characters in your labels.

The assembler prevents you from doing daft things such as assembleing code into the BASICs user defined graphics area or the ROMs workspace and in the case of a disc or cassette version, the assembler and editor itself. This can be dissabled by the use of a LIMIT command in the source code.

Code is assembled to directly above BASICs HIMEM unless you state otherwise. It is easy to pass variables containing the location of the code between BASIC and the assembler if you are using in-line code.


A new sign-on message

Source code prepared on a ZEN or Devpac assembler can be typed straight in with little or no conversion. ASCII files can be loaded directly into the editor and assembled immediately. It is even possible to assemble a file off disc or cassette without loading the source into memory.

The assembler allows things such as conditional assembly nested to a depth of ten levels , the option to include other files in the assembly and the production version will have an option to save assembled code as CP/M command files simply by giving them the extension .COM.

The monitor is a very useful debugging tool. You can TRACE through your machine code By quoting break points, time observing the contents of all the registers, the stack, the next instruction to be executed. It is possible to use lower memory to hold the screen whilst examining memory locations on the normal screen. This is occasionally useful for debugging graphics programs directly accessing the screen that would either corrupt or be corrupted by diagnostic messages, but more useful for editing sideways RAM, sometimes fitted for ROM development, that resides 'underneath' the normal screen.
You can also use the monitor to follow through other peoples programs and see what makes them tick, or to copy them, but you don't really do that do you ? For those who do, the disassembler is a boon. It dumps disassembled code to the screen or printer (sorry ! Not to the disc or editor) together with ASCII characters where applicable. You just follow the listing through using the monitor until you come across that elusive infinite life POKE. In mode 1 the columns are displayed in different colours, very pretty . Why can't other utility programs make such good use of colour in them ?

It disassembles ROM as well as RAM so you can have a PEEK at the BASIC and disc ROMs but not the Arnor ROM. Those cunning Arnor people have put in a piece of code to stop you doing this! Oh well, I will just have to use somebody else's disassembler.... For those of you who prefer to handle the memory as lots of hex numbers or as ASCII text, the memory editor is the best I have seen, it allows you to scroll through memory , forwards and backwards , editing with the cursor in either hex or ASCII characters.


Technicoloured Disassembly

Another very useful feature is the FIND command which allows you to search memory for a given ASCII string or a sequence of hex bytes, possibly containing "wild cards", up to a length of 20 characters or 8 bytes. That is computer jargon for a character or byte that matches all other characters or bytes. I use this to search for calls to the computers firmware.

Also availiable is a semi-intelligent relocator. This not only moves blocks of code around but also tries to get them to work once they are moved. Unfortunately, this relocates all double byte addresses in the range of those being relocated and it is possible that a "load register with x" command could have the value of x altered even if x is not an address. The manual suggests a workaround but if you have the source code to work on it would probably be easier to reassemble it at a different origin.

The text editor is entered from the main MAXAM menu and really deserves a review all of its own. It works in both modes 1 and 2, allows infinite line lengths and updates the screen very quickly. The really novel part is that being in ROM it leaves nearly all of the rest of your memory free for text, usually some 40K after your disc, Arnor and BASIC ROMs have had their pieces of workspace, in fact this article was finished on the Arnor editor because I ran out of room in Amsword. With the Arnor editor I still have some 28 K left but I probably will not use all of it. The editor allows text to be entered in insert or overwrite mode and you can join, insert or delete lines easily. The cursor will only move only over text and so tends to return to the left margin if it is moved over a blank line. This is fine for a word processor where you mostly move around in paragraphs but not so good when you are trying to construct tables of data, however the tabs can be set to any position on a line and make life a bit easier for this. There is a status line at the top of the screen showing how much memory is left, the current cursor position (column and line number) and your insert , caps or shift lock status. It is also used for the occasional error message together with the obligatory beep. Text is displayed in the current screen mode and is not limited to the displayed left and right margins. In fact you can have lines as long as you want but the editor slows down noticeably after about 200 characters. If you write lines that long you ought to be writing for "Amstrad User", not programming in assembler.

You can define blocks of text to be copied, moved, deleted and modified using the shift, copy, delete and clear keys. Defined blocks are shown with the first and last characters inverted and copies are checked first for sufficient memory. Defining the start or end of a block causes another beep. Movement to top and bottom of the file is very quick and a command is provided to position the cursor at a specific line number. Very useful considering the amount of text you can hold in memory at one time . The cursor keys also move you around page or line at a time, to the start or end of a line and to the top or bottom of the text.

Blocks , or the whole text, can be modified using a command from the main menu. This enables a block of assembler or a BASIC program to be line numbered, put in single quotes, stripped of line numbers or stripped of quotes . It can also be used to print assembly listings with numbered lines. The main menu provides commands to merge text, print text, find text, find and replace, assemble, CAT your disc or tape and alter your tabs . If this is their editor I wait with baited breath for their word processor.

On the whole this package is well worth the money. Mostly because of its miserly use of memory but also because of the excellent editor and debugger. This is the first add-on ROM for the CPC464 and it deserves to succeed.

ACU #85

★ PUBLISHERS: ARNOR
★ DISTRIBUTION: PR8-Soft (GERMANY)
★ YEAR: 1985
★ CONFIG: 64K + AMSDOS
★ LANGUAGE:
★ LiCENCE: COMMERCIALE
★ AUTHOR(S): ???



★ AMSTRAD CPC ★ DOWNLOAD ★

Files:
» MAXAM  v1.09  nexorDATE: 2003-02-04
DL: 1009
TYPE: ZIP
SiZE: 26Ko
NOTE: 40 Cyls
.HFE: Χ

» MAXAM  v1.14DATE: 2003-01-10
DL: 1235
TYPE: ZIP
SiZE: 28Ko
NOTE: 40 Cyls
.HFE: Χ

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

» Arnor-Maxam    (Annoucing  MAXAM  for  Amstrad  CPC464)    ENGLISHDATE: 2015-01-08
DL: 701
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-Arnor-Siren-Britannia-Rombo    GERMANDATE: 2023-08-10
DL: 102
TYPE: image
SiZE: 405Ko
NOTE: w1654*h1208

» PR8-Soft-Arnor-Siren-Rombo    GERMANDATE: 2023-08-10
DL: 82
TYPE: image
SiZE: 142Ko
NOTE: w827*h603

» 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

» PR8-Soft    (Katalog  1987)    GERMANDATE: 2023-08-08
DL: 546
TYPE: PDF
SiZE: 10094Ko
NOTE: Supplied by www.acpc.me ; 24 pages/PDFlib v1.6

Covers/Packages:
» Arnor-Maxam    (Release  DISC)    ENGLISHDATE: 2020-04-06
DL: 82
TYPE: image
SiZE: 953Ko
NOTE: Scan by Loic DANEELS ; w4107*h2460

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

Media/Support:
» Arnor-Maxam    (Release  DISC)    ENGLISHDATE: 2015-11-07
DL: 535
TYPE: image
SiZE: 249Ko
NOTE: Scan by hERMOL ; w1910*h1168

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: 18163
TYPE: PDF
SiZE: 1606Ko
NOTE: 51 pages/PDFlib v1.6

Dump cassette:
» Arnor-Maxam  v1.14    ENGLISHDATE: 2019-01-10
DL: 728
TYPE: ZIP
SiZE: 16Ko
NOTE: Dump by Johnny Farragut ; CSW2CDT-20170409
.HFE: Χ

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

Lien(s):
» Applications » Protext Office
» Applications » Maxam Monobloc
» Coding » MAXAM 464/664/6128 - Documentation
» Applications » Arnor - Model Universe
» Applications » Arnor - Promerge
» Coding » Programmez en c Avec Arnor
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 197 millisecondes et consultée 9499 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.