Amstrad Whole Memory Guide - Introduction
Introduction in the book Amstrad Whole Memory Guide.
The Amstrad/Arnold/Schneider CPC464 is a fascinating machine in many ways, but it can be infuriating if you lack some of the essential items of information regarding its inner workings. Even with a complete Set of official documentation, which can run to several large volumes, there may be points that remain obscure.
The operating system, for example, has more than 250 entry points, each related to a specific function, bot Same fifty of these entries are not formally defined, because they are primarily intended as extensions of the BASIC interpreter. Some of the other entry points are defined in such a way that their function is not immediately obvious. Broader, less formal explanations are needed to complete the picture, and this book seeks to meet that need.
A fully detailed analysis of the operating system would be very lang and tedious, and might still fail to provide answers to all the questions that are likely to arise. What is attempted is an analysis of the more important functions, the rest being covered by shorter descriptions.
It is assumed that the reader has some knowledge af machine code. The inclusion of a complete tutorial on Z80 programming would leave little or no room for anything else. For those who need such help, the well—known book Programming the Z80, by Rodnay Zaks, is recommended. However, a study of the various operating system routines in relation to the descriptions given hereafter may prove enlightening, even to the merest tyro.
A key difficulty in this connection is that some disassemblers will only access code in ROM. A program given in the Appendix provides a solution, since lt will work fron ROM—borne code, while another program in the Appendix provides convenient means for calling the various functional routines and checking their action.
The book is based an version l.Ø of the ROMs, but the comments can largely be applied to other versions by working from the jumpblock entry points, which should remain at the addresses given, even though they access different entry points in the ROM code.