APPLICATIONSPROGRAMMATION ★ PYRADEV+|Computing with the Amstrad) ★

Pyradev+Applications Programmation
★ 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 ★ 

ANYONE interested in CP/M commands and utilities will at some time or other want to have a go at producing .COM files. The options are to use a high-level language compiler or to write directly in machine code.

The big advantage of machine code is that, when properly written, it is both very fast and takes up a minimum amount of memory. However, creating machine code programs can be a time-consuming process, especially if your knowledge is limited to the Z80 instruction set -the assembler and routines provided on the CPC system discs only understand the older 8080 mnemonics.

The upshot is that unless you get hold of a public domain Z80 assembler you have either to buy one or do a lot of converting between the two types of instructions. You could write a utility to convert one to the other, but the assembly process is long enough without putting in additional steps.

If you intend doing any serious programming you will probably want to go for 3 commercial Z80 assembler. Pyradev+ is just such an animal - a complete CP/M Plus program development system. It runs on the CPC6128, expanded CPC464/664, and the PCW series. There's a Z80 macroassembler, with editor, monitor, disc editor, and many other useful utilities. Everything is selected from an initial menu of 12 options, as shown in Figure I.

The program editor

A powerful but friendly program editor is essential when developing your own routines. As this usually makes up the front end of the package and is the program you will be using most of the time, ease of use is essential. This is the main reason why I'm not keen on Hisoft's Devpac - its WordStar-compatible editor doesn't suit me - but like Arnor's Maxam II whose editor is superb.

Pyradev+'s offering has more than 20 editing functions for such tasks as find and replace, block copies, deletes and pastes, file merging, and all the usual lesser features you take for granted.

Sadly though, to my mind it's the editor that lets Pyradev+ down when compared with the power of the rest of the package. Functionally it's sound enough, but it lacks elegance. You're presented with an almost-blank screen, with little more than line and character counts for company, and the overall feeling is that you're in a void. The current filename, active drive and the amount of free memory are also displayed.

Entering your source code is easy enough, although care must be taken with the syntax. Providing direct access to CP/M would have boosted the power of the package considerably, as users of Arnor's program editor Aped will fully appreciate.

The macro-assembler reads your code from disc and translates it into instructions recognisable by the Z80 chip in the CPC. These are then turned into one or more CP/M files, with the extensions .REL, .HEX, .SYM or .COM. There is also an option to write .BIN files for use under Amsdos which together with an Amsdos monitor, makes this a very comprehensive package.

Files with the .COM extension are the ones you can execute by entering the filename at CP/M's prompt. The others are special optional files which you can select at the start of the assembly process.

A .REL file is a relocatable version of the command file, which is vital if you intend writing CP/M Plus resident system extensions (RSXs, though don't confuse these with Amsdos RSXs) or developing a big program in modules.

A .HEX file contains a list of all the assembled instructions in hexadecimal format together with addresses and checksums, and using the HEXCOM.COM utility from your system discs will convert it into a normal .COM file. A .SYM file is a list of all the labels used in the editor when writing the code, along with their corresponding addresses.

In a similar way to Maxam II, IF, THEN and ELSE statements allow you to specify conditions when assembling. For example, setting a flag to indicate which computer system the final code is to work on, a test could be made and depending on the result one of several pieces of code would be assembled. This enables a degree of portability across other Z80-based machines.

Programmers often develop software as a set of modules only brought together at the assembly stage. The Select instruction entered from the editor causes up to 32 named files to be added to the end of the current one.

The other way of handling modular source code is to produce a .REL from each part, and finally link them all together with the LINK utility on your system disc. This allows you to alter and reassemble one module and. not the entire program. Both these facilities give a high level of flexibility and control.

Several options are available just before the assembly process begins, through which you can specify the types of output files to be generated. You can also obtain a printout of any error messages and hard copies of the assembled code using the Print option.

When the process has finished, statistics are displayed showing the start, end, and length of the program, number of errors, how many symbols have been used, and the number of external references made. An external reference occurs when you try to make use of part of a program that has yet to be implemented, or merged with the Select command.

To help with the tedious task of debugging, two monitors are supplied. One is the original Pyradev monitor for use under Amsdos, the other is new, and works under CPM Plus. They provide a method of executing your code step by step, viewing the contents of registers and memory, and with the ability to make alterations where needed.

The screen splits into four sections as shown in Figure II. The top right area shows the disassembled code, which can be executed one instruction at a time and altered if required. To allow you to follow the disassembled code, it's possible to reassign the labels and symbols used when writing the program. This can only be done if the assembler's Symbol option had been set, creating the file used by the monitor to restore them.

A large section at the bottom of the screen displays the contents of 128 continuous memory locations in both hexadecimal and Ascii. You can change bytes in either of these two formats, and blocks of memory can be printed out.

One thing I missed was the facility to fill an area of memory with a certain value. A slightly more fiddly way of achieving this effect is through the Copy function by entering the start, end and destination addresses, but it's not quite the same.

The top left screen area is reserved for displaying the traps, up to five of which are catered for. A trap is the method used to stop the machine code from executing once a predetermined point has been reached. Instead of just telling the CPC to stop, it is possible to attach a condition to the trap.

For instance, you may wish to perform a loop until the value of the A register is zero, and the condition would therefore be A = 0. The nice thing about traps, or breakpoints as they're more commonly called, is that whole sections of code can be checked very quickly and mistakes easily spotted.

The middle section of the monitor screen is general purpose, but it is mainly used for showing the contents of each register, and is updated after each instruction. The status of the flags is also displayed, along with the program counter and the previous contents of each register.

The alternate register set cannot be accessed, and this is the only grumble I have about the monitor. It's no great loss though, and very few monitor programs show this set at all. Use of the alternate registers is normally discouraged, if not forbidden. The facility to load, edit and re-save CP/M .COM files will be of great interest to those of us who enjoy nothing more than dissecting other people's code.

Utilities

If you only need to alter the odd byte, or perhaps revive a corrupted disc, Disc Nurse - Pyradev's disc editing utility - will be a boon. Like many expensive dedicated packages it allows tracks and sectors to be read, altered and resaved. And it can handle discs with weird formats.

The simplicity and power of this utility make it a very welcome addition to my library, and the file recovery capabilities are equal to those of many other toolkits dedicated to this task. There are facilities for renaming and copying files (even on funny-format discs and from or to tape), complete discs, searching for a named string on the disc, unerase, extended directory, sector editor, and many more.

Conclusions

The manual is well written, and includes a tutorial section which takes you through each aspect of Pyradev+, with easy-to-follow text and examples. After only few hours use you should be talking to it like an old friend, and the confidence this brings will have you using the package to its full capabilities in next to no time.

There is no index, but the contents are comprehensive, and this coupled with a summary of the control keys for each program means never being stuck for what to do next. My only quibble about the manual is the tutorial section, where several example addresses and screen outputs are incorrect. Pyramid has been informed of these problems, and I hope revisions will be made.

All in all I'm impressed with this upgrade to Pyradev, and I am sure that users of the original will take advantage of the cheap upgrade Pyramid is offering. At an introductory price of under £20, Pyradev+ represents excellent value for money.

CWTA

★ PUBLISHER: Pyramid
★ YEAR: 1988
★ CONFIG: 128K + CP/M (CP/M+ and disk only)
★ LANGUAGE:
★ LiCENCE: COMMERCIALE
★ AUTHOR(S): ???
★ PRICE: £19.50 (or £14.50 as upgrade from original)

★ AMSTRAD CPC ★ DOWNLOAD ★

File:
» Pyradev  Plus  v1.0    ENGLISHDATE: 2011-02-09
DL: 370
TYPE: ZIP
SiZE: 95Ko
NOTE: CPM bootloader/40 Cyls
.HFE: Χ

Advert/Publicité:
» Pyradev  PlusDATE: 2023-11-27
DL: 208
TYPE: image
SiZE: 716Ko
NOTE: w2181*h3170
 

Cover/Package:
» Pyradev  Plus  (Release  DISC)    (Binder)    ENGLISHDATE: 2018-12-17
DL: 115
TYPE: image
SiZE: 73Ko
NOTE: Uploaded by hERMOL ; w765*h953

Media/Support:
» Pyradev  Plus  (Release  DISC)    ENGLISHDATE: 2018-12-17
DL: 95
TYPE: image
SiZE: 11Ko
NOTE: Uploaded by hERMOL ; w281*h362

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

Lien(s):
» Applications » Protect
» Applications » Curso Autodidáctico de Basic II
» Applications » Magic Vertical Scroll (CPC Magazin)
» Applications » Forth Compiler
» Applications » Explorer (CPC Infos)
» Applications » Jumpref (Schneider Aktiv)
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.7-desktop/c
Page créée en 321 millisecondes et consultée 1686 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.