Contents
About this manual
The AMOS Professional Manual
Why this was created?
What has been done?
Who am I?
Where is it?
Section 01 Welcome to AMOS Professional
Chapter 01.01 Welcome
01.1.01 How to exploit this User Guide
01.1.02 A few words of welcome
01.1.03 A potted history of AMOS
Section 02 Installing
Chapter 02.01 Installing AMOS Professional
02.1.01 AMOS Professional Installation Procedure
02.1.02 Hard Disc Users
Section 03 Getting Started
Chapter 03.01 Getting Started
03.1.01 Absolute Beginners
03.1.02 The Edit Screen
03.1.03 Typing in the Edit Window
03.1.04 Your first programs
03.1.05 Direct Mode
03.1.06 Loading a program
Section 04 the Editor
Chapter 04.01 the Editor
04.1.01 The AMOS Professional Editor
04.1.02 The Edit Screen
04.1.03 The Edit Icons
04.1.04 The Editor Window
04.1.05 The Information Line
04.1.06 The Scroll Bar
04.1.07 Direct Mode
04.1.08 The File Selector
04.1.09 Saving and loading a program
04.1.10 Auto-save and Autoresume
04.1.11 AMOS
04.1.12 Project
04.1.13 Editor
04.1.14 Macros
04.1.15 Block
04.1.16 Search
04.1.17 Config
04.1.18 User
04.1.19 Help
Chapter 04.02 Help
04.2.01 Calling for Help
04.2.02 The Help Window
04.2.03 Summoning help directly
04.2.04 Additional help
Section 05 the Basics of AMOS Professional
Chapter 5.01 the Bare Bones
05.1.01 Strings
05.1.02 variables
05.1.03 Naming variables
05.1.04 Types of variables
05.1.05 Storing variables
05.1.06 Arrays
05.1.07 Constants
05.1.08 Functions
05.1.09 Parameters
05.1.10 Procedures
05.1.11 Controlling a program skeleton
05.1.12 Separating commands in a line
05.1.13 Marking the bones of a program
Chapter 5.02 String functions
05.2.01 Reading characters in a string
05.2.02 Finding characters in a string
05.2.03 Converting strings
05.2.04 Manipulating strings
05.2.05 Getting information about strings
05.2.06 Array operations
Chapter 5.03 Maths
05.3.01 Arithmetical calculations
05.3.02 Calculation priorities
05.3.03 Fast calculations
05.3.04 Relative values
05.3.05 Values and signs
05.3.06 Floating point numbers
05.3.07 Single and double precision
05.3.08 Standard mathematical functions
05.3.09 Trigonometry
05.3.10 Random numbers
Chapter 5.04 Control Structures
05.4.01 Decision making
05.4.02 Structured tests
05.4.03 Using loops
05.4.04 Conditional loops
05.4.05 Controlled loops
05.4.06 Forced jumps
05.4.07 Handling data
Chapter 5.05 Procedures
05.5.01 Creating a procedure
05.5.02 Keeping track of procedures
05.5.03 Opening and closing procedures
05.5.04 Jumping in and out of a procedure
05.5.05 Local and global variables
05.5.06 Returning values from a procedure
05.5.07 Local data statements
Chapter 5.06 Text
05.6.01 Printing on the screen
05.6.02 Setting text options
05.6.03 Changing text options
05.6.04 Setting text styles
05.6.05 Changing the text mode
05.6.06 Positioning the text cursor
05.6.07 Tracking the text cursor
05.6.08 Changing the text cursor
05.6.09 Advanced text commands
05.6.10 Advanced printing
05.6.11 Sending text to a printer
Chapter 5.07 Windows
05.7.01 Creating windows
05.7.02 Manipulating windows
05.7.03 Creating slider bars
05.7.04 Displaying a text window
Chapter 5.08 The Joystick and Mouse
05.8.01 Joysticks
05.8.02 The mouse pointer
05.8.03 Reading the status of the mouse
05.8.04 Limiting the mouse pointer
05.8.05 Finding the mouse pointer
05.8.06 Displaying menus with the mouse pointer
Chapter 5.09 Memory banks
05.9.01 Memory bank numbers, names and types
05.9.02 Reserving a bank
05.9.03 Saving memory banks
05.9.04 Loading memory banks
05.9.05 Saving and loading memory blocks
05.9.06 Deleting memory banks
05.9.07 Swapping banks
05.9.08 Listing banks on the screen
05.9.09 Memory bank functions
05.9.10 Grabbing accessory program memory banks
05.9.11 Automatic bank grabbing
05.9.12 Creating your own utilities
Section 06 Screen Control
Chapter 6.01 Setting up Screens
06.1.01 The AMOS Professional screens
06.1.02 Defining a screen
06.1.03 Controlling screens
06.1.04 Moving a screen
06.1.05 Manipulating screens
06.1.06 Clearing, hiding and showing screens
06.1.07 Screen priority
06.1.08 Defining screen colours
06.1.09 Screen functions
06.1.10 IFF screens
06.1.11 Extra Half Bright mode
06.1.12 Hold And Modify mode
06.1.13 Interlaced screens
Chapter 6.02 Using Screens
06.2.01 Copying screens
06.2.02 Scrolling the screen
06.2.03 Enlarging and reducing the screen
06.2.04 Physical and logical screens
06.2.05 Screen synchronisation
06.2.06 Screen compaction
Chapter 6.03 Screen Effects
06.3.01 Flashing colours
06.3.02 Rainbow effects
06.3.03 The copper list
Chapter 6.04 Graphics
06.4.01 Graphic coordinates
06.4.02 Setting the graphics cursor
06.4.03 Drawing lines
06.4.04 Drawing outline shapes
06.4.05 Selecting colours
06.4.06 Setting several colours
06.4.07 Filled shapes
06.4.08 Alternative fill style
06.4.09 Overwriting styles
06.4.10 Advanced techniques
Chapter 6.05 Menus
06.5.01 Using AMOS Professional menus
06.5.02 Reading a simple menu
06.5.03 Creating advanced menus
06.5.04 The Menu control commands
06.5.05 Alternative menu styles
06.5.06 Moving menu displays
06.5.07 Moving a menu within a program
06.5.08 Keyboard shortcuts
06.5.09 Embedded menu commands
06.5.10 Automatic re-drawing of menus
Section 07 Object Control
Chapter 7.01 Hardware sprites
07.1.01 Normal hardware Sprites
07.1.02 AMOS Professional computed Sprites
07.1.03 Hardware Sprites versus computed Sprites
07.1.04 The Sprite command
07.1.05 The Sprite Palette
07.1.06 Sprite Commands
07.1.07 Conversion Functions
07.1.08 The Hot Spot
07.1.09 The Sprite Doctor
Chapter 7.02 Blitter Objects
07.2.01 Displaying a Bob
07.2.02 General Bob Commands
07.2.03 Unmasking Bobs
07.2.04 Bob Priority
07.2.05 Bobs and screens
07.2.06 Bob Bank Commands
07.2.07 Flipping Bob Images
07.2.08 The Bob Doctor
Chapter 7.03 Updating Objects
07.3.01 Moving multiple objects
07.3.02 Displaying objects over a changing background
07.3.03 The update process
07.3.04 The updating commands
07.3.05 The Autoback command
07.3.06 Bob drawing modes
Chapter 7.04 Detecting Collisions
07.4.01 Collision detection options
07.4.02 Types of collisions
07.4.03 Masks
07.4.04 The collision functions
07.4.05 Collisions with rectangular blocks
Chapter 7.05 IFF Animation
07.5.01 Optimising IFF animation
07.5.02 An overview of IFF animation
07.5.03 Creating an IFF animation
07.5.04 Playing an IFF animation
07.5.05 Direct IFF animation
07.5.06 IFF Masking
07.5.07 Freezing the display
Chapter 7.06 AMAL
07.6.01 The AMOS Animation Language (AMAL)
07.6.02 How AMAL is used
07.6.03 The AMAL guided tour
07.6.04 Moving an Object
07.6.05 Animating an Object
07.6.06 Moving within AMAL programs
07.6.07 AMAL registers
07.6.08 Logical decisions
07.6.09 Generating movement patterns
07.6.10 Playing a complex movement path
07.6.11 AMAL function list
07.6.12 Calling an AMAL program from AMOS Professional
07.6.13 Controlling update timings
07.6.14 Assigning Objects to Channels
07.6.15 Animating more than 16 Objects
07.6.16 Manipulating screens
07.6.17 The Autotest system
07.6.18 AMAL program control from AMOS Professional
07.6.19 AMAL errors
07.6.20 AMAL error messages
07.6.21 Compatibility with STOS animation commands
07.6.22 The AMAL Editor
Chapter 7.07 Icons and blocks
07.7.01 Background screen graphics
07.7.02 Screen blocks
07.7.03 Compacted blocks
Section 08 Audio
Chapter 8.01 Music
08.1.01 Ready-made sound effects
08.1.02 Musical pitch
08.1.03 Channels and voices
08.1.04 Playing notes
08.1.05 Making waves
08.1.06 Making audio envelopes
08.1.07 Playing music
Chapter 8.02 Samples
08.2.01 Playing a sound sample
08.2.02 Changing a sample bank
08.2.03 Playing a sample from memory
08.2.04 Double buffered sampling
Chapter 8.03 Playing Music Modules
08.3.01 Playing AMOS Professional music
08.3.02 Playing Tracker modules
08.3.03 Playing Med modules
Section 09 AMOS Interface
Chapter 9.01 AMOS Interface
09.1.01 Introducing the Interface
09.1.02 The need for the AMOS Professional Interface
09.1.03 Introducing the AMOS Professional Interface
09.1.04 Variables and numbers
09.1.05 Setting a variable
09.1.06 Expressions
09.1.07 Resources
09.1.08 Calling an AMOS Professional Interface program
09.1.09 Creating a simple requester
09.1.10 Saving the background graphics
09.1.11 Waiting for an event
09.1.12 Interface buttons
09.1.13 Drawing a button
09.1.14 Changing a button
09.1.15 Keyboard short-cuts
Chapter 9.02 Interface language
09.2.01 The graphics functions
09.2.02 The graphics commands
09.2.03 Boxes and bars
09.2.04 Lines and Outlines
09.2.05 Displaying text
09.2.06 Labels and Tests
09.2.07 Interface conditional tests
09.2.08 User-defined functions
09.2.09 Machine code extensions
Chapter 9.03 Advanced Control Panels
09.3.01 Dialogue channels
09.3.02 Testing an active zone
09.3.03 Accessing a variable array
09.3.04 Advanced Control Panels
09.3.05 Editing zones
09.3.06 Sliders and Selectors
09.3.07 Reading arrays
09.3.08 Displaying items on the screen
09.3.09 Creating a selector
09.3.10 Controlling a selector from the main program
09.3.11 HyperText
09.3.12 Creating some HyperText
Chapter 9.04 Interface Resources
09.4.01 The Resource commands
Section 10 Input/Output
Chapter 10.01 Using the Keyboard
10.1.01 Checking for a key-press
10.1.02 Keyboard inputs
10.1.03 Keyboard Macros
10.1.04 Improving your typing skills
Chapter 10.02 Disc Access
10.2.01 Disc drive names
10.2.02 Volume names
10.2.03 Files and directories
10.2.04 Checking for the existence of a file
10.2.05 Selecting a file
10.2.06 Naming files
10.2.07 Running programs from a disc
10.2.08 Disc space
10.2.09 Disc files
10.2.10 Sequential files
10.2.11 Random access files
10.2.12 Included files
10.2.13 IBM and ST users
Chapter 10.03 Accessing a Printer
10.3.01 The printer device
10.3.02 Embedded commands
10.3.03 Screen dumps
10.3.04 Other printer commands
10.3.05 Other ports and devices
Chapter 10.04 Accessing a Serial Port
10.4.01 Opening the serial port
10.4.02 Setting the serial parameters
10.4.03 Sending and receiving Serial information
10.4.04 Other serial commands
Chapter 10.05 The Parallel Port
Chapter 10.06 AREXX
10.6.01 Using AREXX
10.6.02 AREXX-Compatible instructions
Section 11 Amiga Dos
Chapter 11.01 Fonts
11.1.01 Text Fonts
11.1.02 Graphic Text Fonts
11.1.03 ROM Fonts
11.1.04 Wiping fonts from memory
11.1.05 Assigning fonts
11.1.06 Converting font coordinates
11.1.07 The AMOS Professional Text Font Editor
Chapter 11.02 Speech
11.2.01 Synthetic Speech
11.2.02 The narrator Mouth
Chapter 11.03 Floating Point Numbers
11.3.01 Floating point libraries
Chapter 11.04 Multi-tasking
11.4.01 Communication between programs
Chapter 11.05 Libraries and Devices
11.5.01 Accessing the system libraries
11.5.02 Equates and Offsets
11.5.03 Adding equates to the equates file
11.5.04 The Requester extension
11.5.05 Control of devices
Section 12 Debugging
Chapter 12.01 the Monitor
12.1.01 Calling the Monitor
12.1.02 Using the monitor
12.1.03 The graphic output window
12.1.04 The Program Listing Window
12.1.05 The Information Window
12.1.06 Changing the window displays
12.1.07 The control keypad
12.1.08 Evaluating expressions
Chapter 12.02 Error handling
12.2.01 Trapping errors
Chapter 12.03 AMOS Errors
12.3.01 Editing error messages
12.3.02 Program errors
12.3.03 Run-time errors
Section 13 Accessories
Chapter 13.01 Configuration
13.1.01 Defining a new accessory
13.1.02 AMOS Professional Configuration Files
13.1.03 Setting the Editor configuration
13.1.04 Setting the Interpreter Configuration
13.1.05 Saving memory
Chapter 13.02 Object editor
13.2.01 Loading the Object Editor
13.2.02 The Main Menu Screen
13.2.03 Disc Operations
13.2.04 Bank Operations
13.2.05 The Grabber
13.2.06 The Hot Spot
13.2.07 Palette Colours
13.2.08 Screen Resolution
13.2.09 Animation
13.2.10 The Object Editor Drawing Tools
13.2.11 Memory alerts
Chapter 13.03 the Menu Editor
13.3.01 Loading the Menu Editor accessory
13.3.02 The Main Menu
13.3.03 The Main Edit Screen
13.3.04 The Editor Menu
13.3.05 Item Status
13.3.06 Tree Editor
13.3.07 Draw menu
13.3.08 Item Drawing Screen
13.3.09 Draw functions
13.3.10 Settings
13.3.11 Object
13.3.12 Misc
Chapter 13.04 Disc Manager
13.4.01 Calling Disc Manager
13.4.02 Entering a path name
13.4.03 Selecting files
13.4.04 Copying files
13.4.05 Examining files
13.4.06 Formatting discs
13.4.07 Copying discs
Chapter 13.05 the AMAL Editor
13.5.01 The AMAL String Editor Screen
13.5.02 The AMAL Editor Menus
13.5.03 AMOS menu
13.5.04 Edit menu
13.5.05 Recording and playing movement patterns
13.5.06 The Disc Menu
13.5.07 The Option Menu
13.5.08 The Block Menu
13.5.09 The Environment Generator
Chapter 13.06 the Sample Bank Maker
13.6.01 The Sample Bank Maker screen
13.6.02 The Current Sample window
13.6.03 The Sample Bank Window
13.6.04 Transfer buttons
13.6.05 The Information Line
13.6.06 The Control Panel
Chapter 13.07 the Resource Creator
13.7.01 The Resource Creator Main Menu
13.7.02 Editing Graphic Elements
13.7.03 Creating an Object
13.7.04 Editing text strings
13.7.05 Automatic Bank grabbing
Section 14 Appendix
Appendix 14.A: Machine Code
14.A.01 Converting numbers
14.A.03 Manipulating memory
14.A.06 Direct access to variables
14.A.09 Manipulating bits
14.A.11 Using assembly language
14.A.11 Machine code procedures
14.A.12 Creating a machine code language procedure
14.A.12 Communicating with a machine code procedure
14.A.13 Calling machine code from an address or bank
Appendix 14.B: AMOS Professional Run Time
14.B.01 Run-only discs
Appendix 14.C: PAL and NTSC
14.C.01 International television standard systems
14.C.01 PAL versus NTSC
14.C.01 The display size
14.C.02 Screen updating and running speeds
14.C.03 Restricting programs to a single mode
14.C.03 Dual mode programs
14.C.04 International television standard systems
Appendix 14.D: Extensions
Appendix 14.E: Memory bank structures
14.E.01 General Information
14.E.02 Memory bank headers
14.E.04 WORK BANKS and DATA BANKS
14.E.04 Work Banks and Data Banks stored in memory
14.E.05 Work Banks and Data Banks stored on disc
14.E.05 Saving Several Banks at once
14.E.05 Format of Object Banks and Icon Banks
14.E.05 Object Banks and Icon Banks stored in memory
14.E.07 Object Banks and Icon Banks stored on disc
14.E.08 MUSIC BANKS
14.E.08 Music Banks stored in memory
14.E.11 The Patterns
14.E.13 Music Banks stored on disc
14.E.13 SAMPLE BANKS
14.E.13 AMAL BANKS
14.E.14 The AMAL programs
14.E.15 THE RESOURCE BANK
14.E.16 COMPRESSED PICTURES (PIC.PAC)
Appendix 14.F: Copper lists
14.F.01 The Amiga co-processor
14.F.01 The Copper List
14.F.01 Accessing the Copper
14.F.02 Recommended Procedures
Appendix 14.G: Command Index
Editor commands