F003C (2D Graphics occam & C Libraries)
INMOS document number: 72-OEK-264-01
© INMOS Limited 1992.
Introduction to the IMS F003C
The IMS F003C is a 2D (two dimensional) graphics package for iq Systems graphics board products. It provides functional conformance with a subset of the Computer Graphics Interface (CGI) standard.
Applications can be developed in the C or occam programming languages for an arbitrary network of transputers. Graphical output is obtained by installing an appropriate iq Systems graphics board somewhere in the network and programming it using the IMS F003C software package.
The IMS F003C is compatible with INMOS software development toolsets. Developers incorporate IMS F003C with their own application software using an appropriately selected C or occam toolset.
In order to develop applications with the IMS F003C the following environments are required:
- IBM PC AT or compatible personal computer
- IMS B008 IBM PC AT TRAM motherboard
- IMS B419 graphics TRAM
- IMS B437 compact display TRAM
- IMS D7214 ANSI C Toolset for IBM PC AT
- IMS D7205 occam Toolset for IBM PC AT
Organisation of the manual
This manual is split into ten Chapters and four appendices.
Chapter 2 provides step by step instructions for installing the IMS F003C software on an IBM PC AT or compatible computer. Chapter 3 contains an overview of the software components contained in the IMS F003C package and describes some potential development environments. A detailed description of CGI concepts is provided in Chapter 4. Readers familiar with 2D computer graphics systems may choose to overlook this Chapter. Chapter 5 contains a detailed explanation of graphics board concepts with particular reference to iq Systems graphics board products. Again, readers familiar with these concepts may wish to overlook this Chapter. An alphabetical description of the CGI library and graphics board utility functions can be found in Chapters 6 and 7. Chapter 8 describes how to develop software using IMS F003C in conjunction with an ANSI C toolset. Occam toolset users should instead read Chapter 9, which contains an equivalent occam user guide. Both Chapters also contain annotated example source code and instructions for compiling and executing examples included on the installation disks. The final Chapter looks into a number of more advanced topics. For example, an explanation of the text font format and a description of multi-frame animation techniques can be found in this Chapter. Engineering data for the iq Systems graphics board products supported by IMS F003C can be found in the appendices. Memory and register address maps are provided together with more detailed hardware information.
Throughout this manual, reference to software routines and constants will be made using ANSI C syntax. Equivalent occam names may be derived by substituting occurrences of the '_'(underscore) character with a '.'(period) character as appropriate. Source code fragments and operating system command lines will be printed in a teletype style font.
1 Introduction to the IMS F003C 1.1 Prerequisites 1.1.1 Hardware 1.1.2 Software 1.2 Organisation of the manual 1.2.1 Manual conventions 2 Software installation 3 Overview of the IMS F003C 3.1 CGI display server 3.1.1 ANSI C and OCCAM libraries 3.1.2 Graphics board support libraries 4 CGI concepts 4.1 The IMS F003C CGI library 4.2 Screens 4.3 Colour representation 4.4 CGI drawing modes 4.4.1 Plot styles 4.4.2 Filler modes 4.4.3 Pixel replace modes 5 Graphics board concepts 5.1 Board initialisation 5.2 Video memory management 5.1.1 Mapping physical CGI screens to VRAM 5.3 Colour palette 5.4 The iq Systems graphics boards 5.4.1 IMS B419 graphics TRAM 5.4.2 IMS B437 compact display TRAM 6 CGI libraries 6.1 Initialisation and termination 6.2 Alphabetical list of CGI primitives 7 Graphics board functions 7.1 List of functions 8 ANSI C user guide 8.1 Toolset search path 8.1.1 IMS F003C library and include files 8.2 Invoking the CGI display server 8.2.1 Single processor, single program 8.2.2 Multiprocessor, multi program 8.3 Configuring transputer memory sizes 8.4 Opening the graphics board 8.5 Compiling and linking IMS F003C programs 8.5.1 Compiling 8.5.2 Linking 8.6 Example program 9 occam user guide 9.1 Toolset search path 9.1.1 IMS F003C library and include files 9.2 Invoking the CGI display server 9.2.1 Single processor, single program 9.2.2 Multiprocessor, multi program 9.3 Configuring transputer memory sizes 9.4 Opening the graphics board 9.5 Compiling and linking IMS F003C programs 9.5.1 Compiling 9.5.2 Linking 9.6 Example program 10 Further use of the CGI system 10.1 Using and defining text fonts 10.2 Using CGI screens for windowing 10.3 Simple animation techniques 10.4 Writing a board support library
A Directory structure B IMS B419 hardware overview B.1 Description B.1.1 Introduction B.1.2 Screen sizes B.1.3 SubSystem signals B.1.4 Memory Map B.1.5 Pixel clock selection B.1.6 Jumper selection B.2 Board layout B.2.1 Video and sync outputs C IMS B437 hardware overview C.1 Description C.2 Memory map C.3 Display formats C.4 Colour video controller C.5 Control register programming C.6 Hardware cursor C.7 Events C.8 Board control registers C.8.1 Colour mode select register C.8.2 IMS G332 reset register C.8.3 Startup procedure C.9 Video outputs C.10 Board layout C.11 Accessories D References