The intention of this book is to provide a definitive reference work which provides information to those who wish to know more about the specifics of the symbiosis between the Master 512 co-processor and its BBC Micro host.
This volume is concerned mainly with details of both the hardware and software interfaces between the two systems, examining how the system operates internally rather than how to use it. It complements its companion volume, the Master 512 User Guide by Chris Snee, also published by Dabs Press, which details day-to-day operation of the system at the user interface.
It is assumed that you are conversant with the essential functions carried out by the host processor's Operating System in native mode since many of these facilities are used directly, either in their standard form or modified, to allow the 512's Operating System to communicate with the outside world. Familiarity with 6502 assembler code is necessary to allow a full understanding of the machine code programs which reside in the host, and which collectively are responsible for handling all inter-processor dialogue across the Tube, the data bus which connects the two machines.
While all the appropriate host operating system calls are fully documented, the information supplied relates to the function as used by DOS Plus. Details of how these MOS calls are implemented within the host can be found in BBC Micro technical publications such as the Advanced User Guide by Bray, Dickens and Holmes and Master Operating System: A Dabhand Guide by David Atherton.
It is assumed that you are an experienced user of DOS Plus and the 512, and explanations of standard user operations are not included in this book. A knowledge of 8086/80186 architecture or assembly language, while being helpful, is not essential. Such technicalities of the operation of the 80186 as are needed are explained, though it is not the intention of this book to teach you to write assembly code programs for DOS Plus.
We are unable to reproduce the source code for any of the versions of DOS Plus as used by the 512. The material is the property and copyright of Digital Research, not of Acorn Computers. This is further complicated by the fact that four different versions have actually been issued. Inclusion of such listings, quite apart from taking up more space on their own than the total size of the book, would, with the addition of copyright licences, have increased the cost of this volume by an unacceptable amount.
There have been several versions of DOS Plus for the 512, version 2.1 being the latest issue. All detailed references to the functions of DOS Plus are based on version 2.1, and while many functions may be identical from the user point of view, the code itself or the memory addresses concerned can differ considerably from version to version. Users of earlier DOS Plus versions should take this into account.
Throughout this book the use of technical terminology is unavoidable, but to experienced programmers of the 6502 only a few new concepts will be introduced. The main difficulty of understanding the operation of the system is likely to stem from the fact that, at times, two different processors must be considered simultaneously.
To avoid confusion between the the two processors, operations which take place in the BBC Micro, regardless of the variant employed, will be referred to as 6502, BBC, host or MOS operations, while those relevant to the 512 will be referred to as 512, 80186 or DOS functions. Where differences in the host's operation are relevant to the type of machine employed (Model B, B+ or Master 128) these will be highlighted.
Within the book the term '512' will variously refer to software and hardware in the Master 512 system, and the term 'PC' will variously refer to the hardware and software systems of standard PC clones. The raison d'etre for this book is that the Master 512 is not a standard clone, and as such conventional technical PC books are inappropriate.
Both the author and the publishers would like to express their sincere thanks to Acorn Computers Ltd for making available a great deal of copyright material, much of which was previously Acorn restricted and without which this volume could certainly not have been produced.
In particular thanks are due to Andy Smith, who, although he has now moved on to pastures new within Acorn, has until recently and for quite some time been virtually the sole 'front-line' support available to the ten thousand or so users of the 512. We should all be grateful.
His has been the unenviable task of handling the updates to, and production of, many hundreds of copies of the 512 Application Notes (including the Applications Compatibility List) and the Technical Reference Notes, from which many users and this book have benefitted.
Without his efforts in extracting, collecting and collating (and sometimes finding) much of the Acorn material required for this book, the result would have taken even longer and might very well have proved impossible.
It would also be remiss of me to fail to mention that he is largely responsible for designing, building, testing and documenting the prototype of the 512K byte memory expansion, together with the other hardware projects we are pleased to be able to include in this book.
Finally I must offer my thanks to both you, the reader, and to Dabs Press for your patience. That this volume has been longer in preparation than was originally intended or envisaged is no secret. I would be less than honest were I not to admit that virtually all the delays up to the present time are entirely my responsibility. I sincerely hope that you find the wait was worthwhile.