IMS D703 DSP Development System
INMOS document number: 72-TDS-105-00
© INMOS Limited 1987.
The IMS D703 DSP Development System provides a comprehensive environment for the development and analysis of IMS A100-based systems. It comprises an interactive simulator, example implementations of common algorithms, and support software for the IMS B009 Evaluation Board.
This manual describes in detail the internal operations of the occam 2 software written for the IMS D703 DSP Development System, and how to customise it for specific user requirements.
For descriptions of how to use the IMS D703 as supplied, please refer to the IMS D703 DSP Development System IBM PC User Manual.
The IMS D703 is distributed in both source code and executable forms. This manual concentrates on describing the internal structure of the occam 2 source code, to the extent that users can modify the existing code to meet specific requirements. Using the procedures and processes included in the IMS D703 source code, users can produce customised programs for modelling proposed IMS Al 00 based systems or for controlling dedicated IMS B009 based applications.
Throughout this manual, it is assumed that the reader is thoroughly familiar with the occam 2 language, the transputer, and the Transputer Development System (TDS). Users not familiar with these topics should first read the appropriate Reference Manuals as listed below.
Many of the advanced features of the IMS B009 Evaluation Board are also described. For those users wishing to produce optimised code for IMS B009 based applications, they should be familiar with the facilities offered by the IMS B009, which are described in the IMS B009 Reference Manual. The applications themselves are described in the IMS D703 User Manual.
Users intending to develop applications based on modification of the IMS D703 must realise that the source code is provided for information only, and is not supported in any way by INMOS. The purpose of the source code is to provide experienced programmers with sufficient tested code to enable new applications to be rapidly and reliably written.
1 IMS D703 System Overview 1.1 Introduction 1.2 Scope 1.3 Conventions 1.4 Relevant Documents 1.5 System Description 1.6 Overview of execution flow 1.6.1 Startup 1.6.2 Command Decode 1.6.3 Reads and Writes 1.6.4 Application Execution 2 User Applications 2.1 Introduction 2.2 The "Standard Harness" 2.3 How to Recompile the IMS D703 Binaries 2.4 Standard Services 2.4.1 execute keyboard command 2.4.2 bootstrap IMS T212 2.4.3 stop application 2.4.4 perform initialisation with controller 2.4.5 get current status 2.4.6 display string 2.4.7 display integer 2.4.8 display real 2.4.9 enquire string 2.4.10 enquire integer 2.4.11 enquire real 2.4.12 enquire key 2.4.13 plot textual 2.4.14 plot graphics 2.5 Filer Services 2.5.1 open file for read 2.5.2 open file for write 2.5.3 write byte to file 2.5.4 block write bytes to file 2.5.5 read byte from file 2.5.6 block read bytes from file 2.5.7 close file 2.6 Specific services for IMS A100 models 2.6.1 read model 2.6.2 write model 2.6.3 set cascade size 2.7 Specific services for IMS B009 emulator/hardware 2.7.1 Protocols and constants 2.7.2 Channel usage with IMS B009 hardware 2.7.3 Read A100s via link 2.7.4 Write A100s via link 2.7.5 Write DIRs via link 2.7.6 Read data.buffer via link 2.7.7 Write data.buffer via link 2.7.8 Write DIRs from data.buffer 2.7.9 Process data with A100s using 16-bit output 2.7.10 Process data with A100s using 24-bit output 2.7.11 Read address.mapper via link 2.7.12 Write address.mapper via link 2.7.13 Enquire system status 2.7.14 Get driver descriptor 2.7.15 Modify current status 3 The System Controller 3.1 Introduction 3.2 ASCII and Binary Commands 3.3 Command Sources, Parsing, and Decoding 3.3.1 ASCII commands 3.3.2 Binary commands 3.4 Binary Command Descriptions 3.4.1 B - Bootstrap the IMS T212 3.4.2 D - display string and typed argument 3.4.3 E - enquiry displaying string, return typed argument 3.4.4 F - perform file I/O 3.4.5 G - get current status 3.4.6 P - plot data in command window 3.4.7 R - send read request to address.decoder 3.4.8 S - stop execution of application commands 3.4.9 T - Turboplot data in plot windows (ie. high resolution Turbo Graphics) 3.4.10 W - send write request to address decoder 3.5 Displaying messages on the screen - message multiplexer 3.6 Communications with MS-DOS Front End - the transceiver 3.6.1 Protocols 3.7 Communications with IMS A100 models and IMS B009 hardware 3.8 Communications with Applications 3.9 Other communications 3.10 Parameters and Constants 3.11 Useful Procedures 3.11.1 Character and String I/O 3.11.2 Graphics I/O 3.11.3 File I/O 3.11.4 Bootstrapping the IMS T212 at runtime 3.12 Adding new commands 4 The Address Decoder 4.1 Introduction 4.2 Principles of Operation 4.3 Address mode 0: IMS A100 Model 4.4 Address mode 1: IMS B009 Emulator 4.5 Address mode 2: IMS B009 Hardware 4.6 Communications with other processes 4.7 Parameters and Constants 4.8 Special Link Services 4.9 Adding new address decoding modes 5 The IMS A100 Model 5.1 Introduction 5.2 Principles of operation 5.3 Asynchronous process 5.3.1 Initialisation 5.3.2 Main execution loop 5.4 Synchronous functions 5.5 Parameters and Constants 6 The IMS B009 Driver 6.1 Introduction 6.2 Principles of Operation 6.3 Operational modes of the IMS B009 6.3.1 DIRDOLmode 6.3.2 DIRmode 6.3.3 MAPmode 6.3.4 LOADmode 6.4 Driver Commands 6.4.1 Read A100 to link 6.4.2 Write A100 from link 6.4.3 Write DIR from link 6.4.4 Read buffer to link 6.4.5 Write buffer from link 6.4.6 Write DIR from buffer 6.4.7 Process buffer data out (16 bit mode) 6.4.8 Process buffer data out (24 bit mode) 6.4.9 Read mapper to link 6.4.10 Write mapper from link 6.4.11 Enquiry 6.4.12 Status modifier 6.5 Adding new commands 6.6 The B009 Emulator 6.7 Optimising the driver A Example Programs for controlling IMS B009 from the IBM PC B Modifications to Turbo Graphix Toolbox