The Amiga system devices are software engines that provide access to the Amiga hardware. Through these devices, a programmer can operate a modem, spin a disk drive motor, time an event, speak to a user and blast a trumpet sound in beautiful, living stereo. Yet, for all that variety, the programmer uses each device in the same basic manner. Amiga System Devices Audio Controls the use of the audio hardware Clipboard Manages the cutting and pasting of common data blocks Console Provides the text-oriented user interface. Gameport Controls the two mouse/joystick ports. Input Processes input from the gameport and keyboard devices. Keyboard Controls the keyboard. Narrator Produces the Amiga synthesized speech. Parallel Controls the parallel port. Printer Converts a standard set of printer control codes to printer specific codes. SCSI Controls the Small Computer Standard Interface hardware. Serial Controls the serial port. Timer Provides timing functions to measure time intervals and send interrupts. Trackdisk Controls the Amiga floppy disk drives. What is a Device? I/O Request Completion Accessing a Device Ending Device Access Using a Device Devices With Functions Synchronous vs. Asynchronous Requests Example Device Programs