LSD PRESENT THE COMPLETE AMIGA HARDWARE REFERENCE MANUAL (1.3) This manual covers the A1000, A500, and A2000 release machines. This edition of the manual was edited and typeset on an Amiga 2500 running AMIX. It was scanned by Shagratt & Parasite of LSD on an Apple Mac 2, A4 flatbed scanner, running omnipage OCR software. It was edited by Parasite (with some help from Shagratt) on protext 5, all diagrams were hand drawn by Parasite & Monty Python, using Deluxe paint 3. The text of the original version of this manual was written by Robert Peck, Susan Deyl, Jay Miner, and Chris Raymond; other contributors included Bill Kolb, Dave Needle, Lee Ho, and Dale Luck. This manual was revised by Joe Augenbraun, Dan Baker, Greg Berlin, Ken Farinsky, Glenn Keller, Bryce Nesbitt, Nancy Rains, and Carolyn Scheppner. Special thanks to Thomas Rokicki of Radical Eye Software and Jez San of Argonaut Software Ltd. for their contributions. This book is for all the "busy guys" who made Amiga and are Amiga. Copyright 1989 by Commodore-Amiga, Inc. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book and Addison-Wesley was aware of a trademark claim, the designations have been printed in initial caps. Amiga is a registered trademark of Commodore-Amiga, Incorporated and is used herein with their permission. Amiga 500, Amiga 1000, Amiga 2000, AmigaDOS, AX, AUTOCONFIG, Amiga Workbench, Amiga Kickstart, the Boing!, and rainbow Checkmark logos are trademarks of Commodore-Amiga, Inc. 68000, 68020, 68030, 68040, and Motorola are trademarks of Motorola, Inc. Apple II is a registered trademark of Apple Computers, Inc. MS/DOS is a registered trademark of Microsoft Corp. PC/DOS and IBM PC are registered trademarks of International Business Machines Corp. CP/M is a registered trademark of Digital Research, Inc. CBM, Commodore, and the Commodore logo are registered trademarks of Commodore Electronics Ltd. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written permission of the copyright holder. So remember this technically is an Illegal copy so don't stick it in PD! Printed in the United States of America from camera-ready mechanicals supplied by the authors. Published simultaneously in Canada. CBM Product Number 327272-04 ABCDEFGHIJ-BA-89 First Printing, September 1989 ISBN 0-201-18157-6 WARNING: The information described in this manual may contain errors or bugs and may not function as described. All information is subject to enhancement or upgrade for any reason includung to fix bugs, add features or change performance. As with all upgrades. Full compatibility, although a goal, cannot be guaranteed and is in fact unlikely. DISCLAIMER: IS INFORMATION IS PROVIDED TO YOU "AS IS" WlTH OUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED. THE ENTIRE RISK AS TO THE USE OF THE INFORMATION IS ASSUMED BY YOU. COMMODORE-AMIGA, INC., ("COMMODORE") SPECIFICALLY DOES NOT MAKE ANY REPRESENTATIONS OR ENDORSEMENTS, REGARDING THE USE OF, THE RESULTS OF, OR PERFORMANCE OF THE INFORMATION INCLUDING BUT NOT LIMITED TO ITS APPROPRIATENESS, ACCURACY, RELIABIITY, CURRENTNESS, OR OTHERWISE.) IN NO EVENT WILL COMMODORE BE LIABLE FOR DIRECT, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES RESULTING FROM ANY DEFECT IN THIS INFORMATION EVEN IF IT HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME LAWS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF IMPLIED WARRANTIES OR LIABILITIES FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THE ABOVE LIMlTATION OR EXCLUSION MAY NOT APPLY. - ii - PREFACE The Amiga Technical Reference Series is the official guide to programming the Commodore Amiga computers. This revised edition of the Amiga Hardware Reference Manual has been updated for version 1.3 of the Amiga operating system and the new Amiga computer systems. This manual provides information about the Amiga graphics, audio hardware, and how the Amiga talks to the outside world through peripheral devices. A portion of this manual is a tutorial on writing assembly language programs to directly control the Amiga's graphics and hardware. This book is intended for the following audiences: o Assembly language programmers who need a more direct way of interacting with the system than the routines described in the Amiga ROM Kernel Reference Manual: Includes and Autodocs and Amiga ROM Kernel Reference Manual: Libraries and Devices. o Designers who want to interface with new peripherals to the Amiga. o Anyone who wants to know how the Amiga hardware works. Here is a brief overview of the contents: Chapter 1, Introduction. An overview of the hardware and survey of the Amiga's graphics and audio features. Chapter 2, Coprocessor Hardware. Using the Copper coprocessor to control the entire graphics and audio system; directing mid-screen modifications in graphics displays and directing register changes during the time between displays. Chapter 3, Playfeld Hardware. Creating, displaying and scrolling the playfields, one of the basic display elements of the Amiga; how the Amiga produces multi-color, multigraphical bit-mapped displays. Chapter 4, Sprite Hardware. Using the eight sprite direct-memory access (DMA) channels to make sprite movable objects; creating their data structures, displaying and moving them, reusing the DMA channels. - iii - Chapter 5, Audio Hardware. Overview of sampled sound; how to produce quality sound, simple and complex sounds, and modulated sounds. Chapter 6, Blitter Hardware. Using the blitter DMA channel to create animation effects and draw lines into playfields. Chapter 7, System Control Harware. Using the control registers to define depth arrangement of graphics objects, detect collisions between graphics objects, control direct memory access, and control interrupts. Chapter 8, Interface Hardware. How the Amiga talks to the outside world through controller ports, keyboard, audio jacks and video connectors, serial and parallel interfaces; information about the disk controller and RAM expansion slot. Appendixes. Alphabetical and address-order listings of all the graphics and audio system registers and the functions of their bits, system memory map, descriptions of internal and extemal connectors, specifications for the peripheral interface ports, and specifications for the keyboard. Glossary. After the appendixes, there is a glossary of important terms. We suggest that you use this book according to your level of familiarity with the Amiga system. Here are some suggestions: o If this is your initial exposure to the Amiga, read chapter 1, which gives a survey of all the hardware features and a brief rundown of graphics and audio effects created by hardware interaction. o If you are already familiar with the system and want to acquaint yourself with how the various bits in the hardware registers govem the way the system functions, browse through chapters 2 through 8. Examples are included in these chapters. o For advanced users, the appendixes give a concise summary of the entire register set and the uses of the individual bits. Once you are familiar with the effects of changes in the various bits, you may wish to refer more often to the appendixes than to the explanatory chapters. The other manuals in this series are the Amiga ROM Kernel Reference Manual: Libraries and Devices, with tutorial-style chapters on the use of each Amiga system library and device, and the Arniga ROM Kernel Reference Manual: Includes and Autodocs, an alphabetically organized reference of autodoc function summaries, Amiga system include files, and the IFF file format specifications. Hardware designers should contact Commodore Amiga Technical Support for appropriate documents. - iv - COMMODORE AMIGA TECHNICAL SUPPORT (CATS) Commodore maintains a technical support group dedicated to helping developers achieve their goals with the Amiga. Available technical support programs are tailored both to the needs of smaller independent developers and larger corporations. Subscription to the support publication AmigaMail is available to anyone with an interest in the latest news, Commodore software and hardware changes, and tips for developers. To request an application for the Commodore Amiga Developer Programs, lists of CATS technical publications, or information regarding electronic developer support, send a self-addressed, stamped, 9" x 12" envelope to: CATS-Information 1200 West Wilson Drive West Chester, PA 193804231 ERROR REPORTS In a complex technical manual, errors are often found after publication. When errors in this manual are found, they will be corrected in the following printing. Updates will be published in the AmigaMail technical support publication. Bug reports can be sent to Commodore electronically or by mail. Submitted reports must be clear, complete, and concise. Reports must include a telephone number and enough information so that the bug can be quickly verified from your report. (i.e. please describe the bug and all the steps needed to reproduce it.) Amiga Software Engineering Group ATTN: BUG REPORTS Commodore Business Machines 1200 Wilson Drive West Chester, PA 193804231 USA BIX: afnkel USENET: bugs@commodore.COM or uunet!cbmvax!bugs or suggestions@commodore.COM - v - End.