# 3DO System Programmer's Guide

This book contains descriptions of the system level components that make up Portfolio: kernel, I/O, tasks, filesystem, events, and so on. It is written for title developers who create programs that run on a 3DO system. To use this document, the you should have a working knowledge of the C programming language and object-oriented concepts.

This book contains the following chapters:

- Understanding the Kernel - Introduces the role of the kernel in the operation of Portfolio.
- Tasks and Threads - Gives the background and necessary programming details to create and run tasks and threads. Tasks and threads, although similar, operate differently in certain key respects.
- Using Tags and TagArgs - Provides background on tags and Tag- Args and explains how to use them.
- Managing Linked Lists - Provides background on Portfolio linked lists and explains how to manage them.
- Managing Memory - Explains how to allocate memory, how to share it among tasks, how to get information about it, and how to free it.
- Managing Items -Explains what items are and how to use them.
- Sharing System Resources -Explains techniques for sharing system resources.
- Communicating Among Tasks - Provides background and necessary programming details for doing intertask communication.
- The Portfolio I/O Model- Provides an overview of 3DO hardware devices and explains how to handle input/output operations using the standard Portfolio's I/O calls.
- Portfolio Devices- Lists the device drivers and their associated commands and options.
- The Filesystem and the File Folio-Describes the 3DO file system. It includes sample code that illustrates how to use file system calls.
- The Event Broker-Shows how a task uses the event broker to work with interactive devices.
- The International Folio- Provides information on how an application can use the International folio to determine the current language and country, and how to display dates, currency, and numeric values in a manner consistent with the current language and country codes.
- The Compression Folio- Describes the Compression folio that provides general-purpose compression and decompression services.
- The Math Folio- Introduces the different kinds of math calls available in the Math folio.
- Access: A Simple User Interface-Explains how to use the Portfolio system task access to display information to a user and accept user input.