throbber
Developer Note
`
`Macintosfi Quagra 840AV ang
`
`Macintosh Centris 660AV
`
`Computers
`
`
`
`PART 1 OF 10
`
`Page 1 of 500
`
`Page 1 of 500
`
`

`
`ITC Zapf Dingbats is a registered
`trademark of International Typeface
`Corporation.
`Excel and Microsoft are registered
`trademarks of Microsoft Corporation.
`Motorola is a registered trademark of
`Motorola Corporation.
`NuBus is a trademark of
`Texas Instruments.
`
`QuicKeys is a trademark of
`CE Software, Inc.
`
`UNIX is a registered trademark of
`UNIX System Laboratories, Inc.
`
`LIMITED WARRANTY ON MEDIA AND
`REPLACEMENT
`
`If you discover physical defects in the
`manual or in the media on which a software
`product is distributed, APDA will replace
`the media or manual at no charge to you
`provided you return the item to be replaced
`with proof of purchase to APDA.
`ALL IMPLIED WARRANTIES ON THIS
`MANUAL, INCLUDING IMPLIED
`WARRANTIES OF MERCHANTABILITY
`AND FITNESS FOR A PARTICULAR
`PURPOSE, ARE LIMITED IN DURATION
`TO NINETY (90) DAYS FROM THE DATE
`OF THE ORIGINAL RETAIL PURCHASE
`OF THIS PRODUCT.
`
`Even though Apple has reviewed this
`manual, APPLE MAKES NO WARRANTY
`OR REPRESENTATION, EITHER EXPRESS
`OR IMPLIED, WITH RESPECT TO THIS
`MANUAL, ITS QUALITY, ACCURACY,
`MERCHANTABILITY, OR FITNESS FOR A
`PARTICULAR PURPOSE. AS A RESULT,
`THIS MANUAL IS SOLD ”AS IS,” AND
`YOU, THE PURCHASER, ARE ASSUMING
`THE ENTIRE RISK AS TO ITS QUALITY
`AND ACCURACY.
`IN NO EVENT WILL APPLE BE LIABLE
`FOR DIRECT, INDIRECT, SPECIAL,
`INCIDENTAL, OR CONSEQUENTIAL
`DAMAGES RESULTING FROM ANY
`DEFECT OR INACCURACY IN THIS
`MANUAL, even if advised of the possibility
`of such damages.
`THE WARRANTY AND REMEDIES SET
`FORTH ABOVE ARE EXCLUSIVE AND IN
`LIEU OF ALL OTHERS, ORAL OR
`WRITTEN, EXPRESS OR IMPLIED. No
`Apple dealer, agent, or employee is
`authorized to make any modification,
`extension, or addition to this warranty.
`Some states do not allow the exclusion or
`limitation of implied warranties or liability
`for incidental or consequential damages, so
`the above limitation or exclusion may not
`apply to you. This warranty gives you
`specific legal rights, and you may also have
`other rights which vary from state to state.
`
`G Apple Computer, Inc.
`© 1993, Apple Computer, Inc.
`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, mechanical, electronic,
`photocopying, recording, or otherwise,
`without prior written permission of
`Apple Computer, Inc. Printed in the
`United States of America.
`
`The Apple logo is a registered
`trademark of Apple Computer, Inc.
`Use of the ”keyboard” Apple logo
`(Option-Shift-K) for commercial
`purposes without the prior written
`consent of Apple may constitute
`trademark infringement and unfair
`competition in violation of federal and
`state laws.
`
`No licenses, express or implied, are
`granted with respect to any of the
`technology described in this book.
`Apple retains all intellectual property
`rights associated with the technology
`described in this book. This book is
`intended to assist application
`developers to develop applications
`only for Apple Macintosh computers.
`Apple Computer, Inc.
`20525 Mariani Avenue
`Cupertino, CA 95014
`408-996-1010
`
`Simultaneously published in the United
`States and Canada.
`
`Apple, the Apple logo, APDA,
`AppleTalk, EtherTalk, LaserWriter,
`LocalTalk, Macintosh, MPW, and
`TokenTalk are trademarks of Apple
`Computer, Inc., registered in the United
`States and other countries.
`
`Apple Desktop Bus, AppleScript, Apple
`SuperDrive, A/ ROSE, Finder, GeoPort,
`Macintosh Centris, Macintosh Quadra,
`MacroMaker, PlainTalk, PowerBook,
`QuickTime, and ResEdit are trademarks
`of Apple Computer, Inc.
`Adobe and PostScript are trademarks of
`Adobe Systems Incorporated, which
`may be registered in certain
`jurisdictions.
`Classic is a registered trademark
`licensed to Apple Computer, Inc.
`DSP321O is a registered trademark of
`AT&T Corporation.
`FileMaker and MacWrite are registered
`trademarks of Claris Corporation.
`FrameMaker is a registered trademark
`of Frame Technology Corporation.
`Helvetica and Palatino are registered
`trademarks of Linotype Company.
`
`Page 2 of 500
`
`Page 2 of 500
`
`

`
`Contents
`
`Figures, Tables, and Listings
`
`xv
`
`About This Developer Note
`
`Contents of This Note
`Hardware Overview
`Software Overview
`
`xxi
`xxiii
`xxiii
`
`xxiv
`xxiv
`
`Digital Signal Processing
`Text-to-Speech Conversion
`Speech Recognition
`xxv
`New SCSI Manager
`xxv
`Other System Software Changes
`Supplementary Documents
`xxvi
`Standard Abbreviations
`xxviii
`
`xxvi
`
`Hardware
`
`Chapter1
`
`Macintosh Centris 66OAV Computers
`
`The Macintosh Quadra 840Av and
`
`Models and Accessories
`
`4
`
`5
`Summary of Features
`Differences Between Models
`
`System Software
`Compatibility Issues
`Machine Identification
`
`7
`
`7
`
`8
`
`Chapter 2
`
`Hardware Details
`
`9
`
`10
`
`Physical Forms
`10
`Parts Layout
`System Architecture
`Functional Units
`Main Processor
`
`10
`
`12
`12
`
`12
`Read-Only Memory
`12
`Random-Access Memory
`Memory Controller and Arbiter
`Digital Signal Processor
`13
`
`Page 3 of 500
`
`Page 3 of 500
`
`

`
`13
`Peripheral Subsystem Controller
`Macintosh Universal NuBus Interface
`
`14
`
`Cyclone Integrated Video Interfaces Controller
`Sebastian
`14
`
`14
`
`Video Data Path Chip
`Mickey
`15
`New Age
`15
`Curio
`
`16
`
`15
`
`Apple Telecom External Clock Synchronizer
`Cuda
`16
`
`16
`
`Singer
`Endeavor
`
`16
`
`17
`
`Digital Multistandard Decoder
`System Clocks
`17
`Signal Buses
`18
`Bus Arbitration
`Bus Timeouts
`
`18
`19
`
`17
`
`ROM and RAM Management
`19
`DRAM Configurations
`Startup Memory Addressing
`Access Timing
`20
`External Device Interfaces
`
`21
`
`19
`
`20
`
`Apple Desktop Bus
`Ethernet Port
`22
`Serial Ports
`22
`SCSI Connection
`
`24
`
`21
`
`24
`Power Budgets
`Internal SCSI Locations
`
`24
`
`26
`Pin Assignments
`Automatic SCSI Termination
`
`Installing Internal SCSI Devices
`Floppy Disk Drive Connection
`PSC Functions
`29
`
`27
`
`28
`
`28
`
`DMA Channels Controlled by the PSC
`Bus Arbitration Performed by the PSC
`Video and Graphics I/ O
`30
`External Video Input
`32
`33
`Video RAM Usage
`Video Monitor Interface
`
`35
`
`29
`29
`
`Video Output Timing
`Miniature Videocam
`
`36
`37
`
`38
`Sound I / O
`NuBus Interface
`Slot Connections
`
`39
`
`40
`
`Digital Audio / Video Expansion Connector
`DAV Sound Interface
`44
`DAV Video Interface
`45
`
`42
`
`Page 4 of 500
`
`Page 4 of 500
`
`

`
`Processor-Direct Cards for the Macintosh Centris 66OAV
`The Macintosh Centris 66OAV PDS Connector
`47
`
`46
`
`Processor Bus Burst Write Timing
`RAM Expansion Cards
`52
`VRAM Expansion Cards
`54
`
`51
`
`Real-Time Data Processing
`
`57
`
`Introduction to Real-Time Data Processing
`
`59
`
`Introduction to Digital Signal Processors
`Concepts of Digital Signal Processing
`Real—Time Processing Capability
`61
`Real-Time Processing Architecture
`62
`Software Model
`64
`
`60
`60
`
`Dual Programming Model
`Real Time Manager
`65
`DSP Operating System
`DSP Driver
`66
`
`64
`
`66
`
`Other Software Components
`Software Layers
`67
`DSP-Aware Applications
`Software Architecture
`71
`
`70
`
`66
`
`Frame Organization
`Frame Size Selection
`
`73
`74
`
`75
`Visible Caching
`DSP and Main Processor Addressing
`Containers
`78
`
`77
`
`Primary and Secondary Pointers
`One-Container Sections
`78
`Two-Container Sections
`78
`
`78
`
`79
`
`On-Chip and Off-Chip Addressing
`Guaranteed Processing Bandwidth
`Smooth and Lumpy Algorithms
`Calculating GPB
`80
`81
`GPB for Lumpy Algorithms
`Fast Execution Versus Real-Time Execution
`Processor Allocation for Timeshare Tasks
`Frame Overruns
`83
`
`79
`80
`
`82
`
`82
`
`Category One Frame Overrun
`Category Two Frame Overrun
`Category Three Frame Overrun
`
`84
`84
`84
`
`Page 5 of 500
`
`Page 5 of 500
`
`

`
`85
`
`Data Structures
`Sections Defined
`AutoCache
`87
`DemandCache
`
`86
`
`87
`
`88
`Sections and Caching
`Container Memory Allocation
`A Complete Software Example
`Data Buffering
`90
`FIFO Buffers
`92
`AIAO Buffers
`94
`Buffer Connections Between Modules
`Buffer Connections Between Tasks
`
`89
`90
`
`Unified I / 0 Architecture
`Execution Models
`102
`
`101
`
`95
`
`97
`
`102
`Section Control Flags
`Setting Up Input and Output for Connections
`AutoCache Execution Model
`104
`DemandCache Execution Model
`
`106
`
`DemandCache for Dynamic Sections
`DemandCache for Static Sections
`Connections in DemandCache
`FIFO Connections
`111
`
`108
`108
`
`107
`
`112
`Grouped Modules
`GPB for Grouped Modules
`Module Scaling
`113
`Selecting Module Scale Factor
`Standard Sound
`116
`
`113
`
`116
`
`Sound Manager Interface
`Standard Sound Task List
`
`117
`117
`
`Sample Rate and Frame Rate Changes
`
`121
`
`Chapter 4
`
`Real Time Manager
`
`123
`
`126
`
`124
`About the Real Time Manager
`124
`Real Time Manager Structure
`Guaranteed Processing Bandwidth
`Devices and Clients
`127
`Tasks
`130
`Modules
`
`131
`
`131
`Module Definition
`Execution Flow for Modules
`Sections
`133
`Section Definition
`
`133
`
`131
`
`Section Flags and Data Types
`Connecting Sections
`135
`
`134
`
`Page 6 of 500
`
`Page 6 of 500
`
`

`
`Using the Real Time Manager
`Accessing the DSP
`137
`Creating a Task
`140
`Loading a Module
`141
`Getting Data
`143
`Putting the Task to Work
`Getting Off the DSP Task List
`Sending Messages
`152
`From DSP to Host
`152
`From Host to DSP
`153
`
`136
`
`147
`
`149
`
`153
`
`155
`
`Message Action Procedure
`Message Format
`154
`Real Time Manager Reference
`Client Routines
`155
`Device Routines
`157
`Task API Routines
`163
`Module API Routines
`Section API Routines
`FIFO API Routines
`
`168
`173
`175
`
`Summary of the Real Time Manager
`Constants
`184
`
`184
`
`Data Types
`Data Structures
`
`188
`
`189
`
`Trap Macros and Routine Selectors
`
`194
`
`DSP Operating System 203
`
`About DSP Modules
`
`204
`
`DSP3210 Register Model
`32-Bit Data Transfers
`
`206
`
`205
`
`DSP Program Information for the Macintosh Programmer
`Input and Output Sections
`206
`Parameter Sections
`207
`
`206
`
`GPB Scaling Vectors
`Grouping Assumptions
`Run-Time Environment
`
`207
`
`207
`207
`
`DSP Operating System Reference
`Creating a Module
`208
`Building a Section
`210
`Code and Variables
`
`212
`
`216
`Data Input
`219
`Data Output
`DSP Operating System Macros
`General Manipulation Macros
`Section Manipulation Macros
`Module Manipulation Macro
`
`223
`223
`225
`228
`
`Page 7 of 500
`
`Page 7 of 500
`
`

`
`229
`Task Manipulation Macros
`230
`FIFO Manipulation Macros
`235
`GPB Manipulation Macros
`Semaphore Manipulation Macros
`239
`Message Manipulation Macro
`Summary of the DSP Operating System
`Constants
`240
`Routines
`252
`
`237
`
`240
`
`Speech Synthesis and Recognition
`
`261
`
`Chapter 6
`
`Speech Manager
`
`263
`
`264
`265
`266
`
`268
`
`269
`
`Speech Manager Overview
`Speech Manager Concepts
`Using the Speech Manager
`Getting Started
`266
`266
`Determining If the Speech Manager Is Available
`Determining Which Version of the Speech Manager Is Running
`Making Some Noise
`267
`Determining If Speaking Is Complete
`A Simple Example
`269
`Essential Calls—Simple and Useful
`Working With Voices
`269
`Managing Connections to Speech Synthesizers
`Starting and Stopping Speech
`275
`Using Basic Speech Controls
`276
`Putting It All Together
`279
`Advanced Routines
`280
`
`267
`
`273
`
`Advanced Speech Controls
`285
`Converting Text Into Phonemes
`Getting Information About a Speech Channel
`Advanced Control Routines
`291
`
`280
`
`Application-Defined Pronunciation Dictionaries
`Associating a Dictionary With a Speech Channel
`Creating and Editing Dictionaries
`301
`Advanced Voice Information Routine
`
`301
`
`302
`Embedded Speech Commands
`Embedded Speech Command Syntax
`304
`Embedded Speech Command Set
`Embedded Speech Command Error Reporting
`Summary of Phonemes and Prosodic Controls
`307
`Phoneme Set
`307
`Prosodic Controls
`
`302
`
`309
`
`286
`
`298
`299
`
`307
`
`Page 8 of 500
`
`Page 8 of 500
`
`

`
`Summary of the Speech Manager
`Constants
`310
`
`310
`
`312
`Data Types
`Speech Manager Routines
`Callback Prototypes
`315
`Error Return Codes
`316
`
`314
`
`Chapter 7
`
`Introduction to Speech Recognition
`
`How Does Casper Work?
`Software Installation
`
`319
`
`318
`
`Using the Microphone
`Getting Started
`321
`Setting Your Computer's Name
`Choosing Speech Feedback
`Setting the Attention Key
`The Casper User Interface
`Operational Control
`Feedback Control
`
`321
`
`324
`325
`
`322
`
`323
`324
`324
`
`326
`
`326
`Speech Macro Editor
`Scripting Tool Requirements
`AppleScript
`326
`QuicKeys
`327
`327
`User Requirements
`Using the Speech Macro Editor
`Recording a New Macro
`Renaming a Macro
`330
`Saving Macro Changes
`Loading Macros
`330
`Built-in Speech Rules and Grammar
`Performance
`332
`
`329
`
`330
`
`328
`
`331
`
`Real-Time Response
`Types of Errors
`333
`Acceptable Limits or Constraints
`
`332
`
`Chapter 8
`
`Speech Rules
`
`335
`
`Overview
`
`336
`
`342
`Speech Rules Files
`Speech Rules File Syntax
`Command Rules
`345
`
`345
`
`Phrases and AppleScript Clauses
`Internal Category Rules
`348
`External Category Rules
`348
`
`Page 9 of 500
`
`Page 9 of 500
`
`

`
`Context Specifiers
`Default Statements
`
`349
`350
`
`351
`Global Scripts
`352
`CompileRules Error Messages
`354
`Apple Events Speech Events
`An Example: A Simple Checkbook
`
`354
`
`System Software Modifications
`
`SCSI Manager 4.3
`
`361
`
`362
`
`SCSI Manager 4.3 Features
`Compatibility
`364
`System Performance Impact
`Impact on Developers
`364
`Design Overview
`365
`General Concepts
`365
`Transport Layer
`367
`SCSI Interface Modules
`CAM Deviations
`368
`
`367
`
`364
`
`368
`Implementation
`Optional Features Not Supported in the SIM
`Compatibility and Emulation
`370
`Virtual Bus
`371
`
`372
`Data Transfer Descriptions
`Guidelines for SCSI Device Driver Developers
`Booting and Drive Mounting
`373
`Asynchronous Behavior
`374
`Virtual Memory Operation
`376
`377
`Guidelines for SIM/ HBA Developers
`SIM Initialization and General Operation
`Support for the Old SCSI Manager
`378
`Interrupt Support
`380
`Handshaking of Data Bytes
`DMA Support
`381
`SCSI Manager 4.3 Reference
`Data Structure
`382
`
`380
`
`381
`
`377
`
`SCSI Manager Parameter Block
`Routines
`386
`Driver Routines
`
`386
`
`382
`
`SCSI Interface Module Calls to Transport
`Transport Calls to SCSI Interface Modules
`
`397
`399
`
`Page 10 of 500
`
`Page 10 of 500
`
`

`
`Summary of the SCSI Manager 4.3
`Constants
`400
`
`400
`
`Data Type
`Routines
`
`403
`404
`
`Chapter 10
`
`DMA Serial Driver
`
`405
`
`Architecture
`
`406
`
`Changes in Implementation
`Interrupt Handling
`407
`DMA Versus Non-DMA Transmissions
`
`407
`
`PollProc Mechanism
`DMA Use
`408
`
`408
`
`Chapter 11
`
`Video Driver
`
`409
`
`410
`Video Television Output
`New Control and Status Routines
`NuBus Block Moves
`411
`
`411
`
`Configuration ROM Programming
`Using the Trap Macro SlotBlockXferCtl
`
`412
`
`412
`
`Chapter 12
`
`New Age Floppy Disk Driver
`
`413
`
`414
`Floppy Disk Support
`Programming Interface Changes
`Operational Compatibility
`415
`
`414
`
`Chapter 13
`
`Virtual Memory Manager
`
`417
`
`AppendixA
`
`DSP d Commands for MacsBug
`
`421
`
`421
`Getting Started
`Using the d Commands
`d Commands Reference
`
`421
`423
`
`Page 11 of 500
`
`Page 11 of 500
`
`

`
`Appendix B
`
`BugLite User’s Guide
`
`427
`
`Getting Started
`Installation
`
`427
`427
`
`What You See When You Launch BugLite
`Tools of the Trade
`429
`
`430
`Using BugLite
`Getting Information
`Task Info Window
`Module Info Window
`Section Information
`
`434
`434
`434
`436
`
`Appendix C
`
`Snoopy User’s Guide
`
`437
`
`Getting Started
`Installation
`
`437
`437
`
`What You See When You Launch Snoopy
`Task/ Module / Section Lists
`438
`
`438
`The Data Display Window
`Run / Store Address Pop-up Menu
`PC Column
`440
`
`439
`
`The Breakpoint Column
`Pane Resizers
`440
`
`440
`
`Using Snoopy
`Menu Bar
`
`440
`441
`
`Control Menu
`
`441
`
`Setting and Clearing Breakpoints
`Breakpoint Restrictions
`442
`Single Stepping
`443
`443
`Inspect Menu
`444
`Formatting
`444
`Editing Data
`445
`Windows Menu
`Additional Information Windows
`Current PC
`446
`
`442
`
`445
`
`The DSP Operating System Routines
`The EVT
`447
`
`446
`
`On-Chip SRAM
`Registers
`448
`Standard Menus
`Find Menu
`449
`Module Menu
`451
`
`448
`
`449
`
`Page 12 of 500
`
`Page 12 of 500
`
`

`
`Appendix D
`
`Mechanical Details
`
`453
`
`Glossary
`
`477
`
`Index
`
`483
`
`Page 13 of 500
`
`Page 13 of 500
`
`

`
`Figures, Tables, and Listings
`
`Chapter 1
`
`The Macintosh Quadra 840Av and
`
`Macintosh Centris 660Av Computers
`
`3
`
`Table 1 -1
`
`Gestalt values for the Macintosh Quadra 840Av and
`Macintosh Centris 660Av
`8
`
`Chapter 2
`
`Hardware Details
`
`9
`
`Figure 2-1
`Figure 2-2
`Figure 2-3
`Figure 2-4
`Figure 2-5
`Figure 2-6
`
`Figure 2-7
`Figure 2-8
`Figure 2-9
`Figure 2-10
`Figure 2-11
`Figure 2-12
`Figure 2-13
`Figure 2-14
`Figure 2-15
`Figure 2-16
`Figure 2-17
`Figure 2-18
`Figure 2-19
`Figure 2-20
`Figure 2-21
`
`Table 2-1
`Table 2-2
`Table 2-1
`Table 2-3
`Table 2-4
`Table 2-5
`Table 2-6
`Table 2-7
`Table 2-8
`Table 2-9
`Table 2-10
`Table 2-11
`Table 2-12
`Table 2-13
`
`Page 14 of 500
`
`Functional diagram
`ADB socket
`21
`
`11
`
`23
`Serial port connectors
`24
`Macintosh Centris 660Av internal SCSI device space
`25
`Macintosh Quadra 840Av internal SCSI device space
`SCSI bus terminators in a typical Macintosh Quadra 840Av
`configuration
`27
`Video and graphics output system block diagram
`Video input subsystem
`32
`Video input connector
`33
`Video monitor connector
`
`35
`
`31
`
`36
`Video timing diagram
`39
`Sound I/O components
`Macintosh Centris 660Av accessory card mounting
`DAV connection on a NuBus card
`43
`
`44
`Singer sound frame
`Sound frame and word synchronization
`Sound subframe synchronization
`45
`DAV video timing
`46
`Burst write timing
`51
`RAM SIMM mechanical dimensions
`VRAM SIMM mechanical dimensions
`
`45
`
`53
`54
`
`External dimensions
`
`10
`
`Clock frequencies
`DRAM configurations
`DRAM access times
`
`17
`
`19
`20
`
`22
`ADB pin assignments
`Ethernet port pin assignments
`Serial port pin assignments
`SCSI power budgets
`24
`SCSI pin assignments
`26
`Floppy disk drive connector pin assignments
`PSC DMA channels
`29
`
`23
`
`22
`
`30
`Priority of DMA channel access
`Video input connector pin assignments
`VRAM sizes and monitor color depths
`
`33
`34
`
`28
`
`Page 14 of 500
`
`

`
`Table 2-14
`Table 2-15
`Table 2-16
`Table 2-17
`Table 2-18
`Table 2-19
`Table 2-20
`Table 2-21
`Table 3-22
`Table 3-23
`Table 3-24
`Table 3-25
`Table 3-26
`
`37
`
`Apple monitor timing values
`Sound I/O signals
`38
`40
`MUNI buffer capacities
`41
`NuBus pin assignments
`Power budget for each slot card
`DAV connector pin assignments
`44
`DAV connector sound signals
`Macintosh Centris 660Av PDS connector pin assignments
`Restricted microprocessor signals on the PDS connector
`Nonmicroprocessor signals on the PDS connector
`50
`RAM SIMM pin assignments
`52
`VRAM SIMM pin assignments
`55
`VRAM access times
`56
`
`42
`43
`
`47
`49
`
`Chapter 3
`
`Introduction to Real-Time Data Processing
`
`59
`
`62
`Frames
`Real-time and timeshare tasks
`Task list
`63
`Real-time data processing organization
`Four-layer Macintosh model
`67
`Six-layer model
`68
`Example of toolbox and driver layers
`Seven-layer real-time model
`70
`Real-time software organization
`Sound player example data flow
`Frame-based processing
`73
`Multiple code module processing
`Process data flow
`74
`77
`DSPAddress structure
`Smooth and lumpy DSP algorithms
`Timeshare capacity figures
`83
`Task with two modules
`86
`The module data structure
`86
`The section data structure
`Dual-container AutoCache example
`Data structure overview
`91
`Example of FIFO buffers
`92
`93
`The FIFO and its data header
`Code module data flow with A|AOs
`95
`Connections between modules
`ITB connections for previous and next tasks
`ITB open and close task configuration
`99
`Example of intertask buffers
`100
`Example of DSP task for telephone answering
`Controlling GPB in grouped modules
`113
`DSP Sound Manager and Sound Driver
`116
`Sound Manager processing
`117
`118
`Standard sound task list
`Equalizer used as a recorder task
`
`Figure 3-1
`Figure 3-2
`Figure 3-3
`Figure 3-4
`Figure 3-5
`Figure 3-6
`Figure 3-7
`Figure 3-8
`Figure 3-9
`Figure 3-10
`Figure 3-11
`Figure 3-12
`Figure 3-13
`Figure 3-14
`Figure 3-15
`Figure 3-16
`Figure 3-17
`Figure 3-18
`Figure 3-19
`Figure 3-20
`Figure 3-21
`Figure 3-22
`Figure 3-23
`Figure 3-24
`Figure 3-25
`Figure 3-26
`Figure 3-27
`Figure 3-28
`Figure 3-29
`Figure 3-30
`Figure 3-31
`Figure 3-32
`Figure 3-33
`Figure 3-34
`
`Page 15 of 500
`
`85
`
`65
`
`69
`
`62
`
`72
`72
`
`74
`
`80
`
`88
`
`94
`
`119
`
`98
`
`112
`
`Page 15 of 500
`
`

`
`Figure 3-35
`Figure 3-36
`
`120
`Equalizer used as a player task
`Equalizer used as a preprocess task
`
`121
`
`Table 3-1
`Table 3-2
`Table 3-3
`Table 3-4
`
`78
`Primary and secondary pointers
`79
`On-chip and off-chip addresses
`Run-time AutoCache flag combinations
`Run-time DemandCache flag combinations
`
`105
`
`110
`
`Chapter 4
`
`Real Time Manager
`
`123
`
`Figure 4-1
`Figure 4-2
`Figure 4-3
`Figure 4-4
`Figure 4-5
`Figure 4-6
`Figure 4-7
`Figure 4-8
`Figure 4-9
`Figure 4-10
`Figure 4-11
`Figure 4-12
`Figure 4-13
`
`Table 4-1
`Table 4-2
`Table 4-3
`Table 4-4
`Table 4-5
`Table 4-6
`
`Listing 4-1
`Listing 4-2
`Listing 4-3
`Listing 4-4
`Listing 4-5
`Listing 4-6
`Listing 4-7
`Listing 4-8
`Listing 4-9
`
`125
`DSP subsystem overview
`Examples of different GPB values
`Examples of different execution paths
`Section interconnection
`136
`
`127
`
`132
`
`137
`Task example
`Task after loading the CD-XA player module
`CD-XA player module structure
`142
`Module structure after DSPNewFIFO call
`Task structure after DSPLoadModule call
`
`144
`144
`
`142
`
`145
`Sections contained in the equalizer module
`CD-XA player with DsPconnectsections to equalizer
`Message passing from DSP to host
`153
`FIFO threshold
`184
`
`147
`
`134
`Section flags
`Section data-type flags
`Setting up a task
`138
`Task insertion locations
`
`135
`
`148
`
`Removing a task
`Message masks
`
`149
`182
`
`DSP bandwidth structure
`
`126
`
`128
`DSP device parameter block structure
`129
`CPU device parameter block structure
`Client information parameter block structure
`Task information parameter block structure
`Module information parameter block structure
`Section information parameter block structure
`Message action procedure
`154
`DSP message format
`154
`
`129
`130
`131
`133
`
`Chapter 5
`
`DSP Operating System
`
`203
`
`Figure 5-1
`Figure 5-2
`Figure 5-3
`
`Table 5-1
`Table 5-2
`
`DSP programming model
`DSP module structure
`
`205
`208
`
`DSP message structure
`
`240
`
`DSP3210 register assignments
`Section flags
`211
`
`205
`
`Page 16 of 500
`
`Page 16 of 500
`
`

`
`Table 5-3
`Table 5-4
`Table 5-5
`
`DSP3210 bank preferences section flags
`Buffer type section flags
`211
`Data type flags
`212
`
`211
`
`Chapter 6
`
`Speech Manager
`
`263
`
`Figure 6-1
`
`Speech synthesis components
`
`264
`
`Table 6-1
`Table 6-2
`Table 6-3
`
`Listing 6-1
`Listing 6-2
`Listing 6-3
`Listing 6-4
`
`304
`Embedded speech commands
`American English phoneme symbols
`Prosodic control symbols
`309
`
`308
`
`Determining if the Speech Manager is available
`Elementary Speech Manager calls
`269
`Getting information about a voice
`273
`Putting it all together
`279
`
`Chapter 7
`
`Introduction to Speech Recognition
`
`317
`
`Figure 7-1
`Figure 7-2
`Figure 7-3
`Figure 7-4
`Figure 7-5
`Figure 7-6
`
`Table 7-1
`
`322
`Speech Setup control panel
`323
`Setting your computer’s name
`323
`Choosing feedback signals
`324
`Setting the attention key
`Typical Speech Macro document window
`Typical New Macro window
`329
`
`328
`
`Grammatical naming conventions
`
`333
`
`Chapter 9
`
`SCSI Manager 4.3
`
`361
`
`Figure 9-1
`
`SCSI Manager software hierarchy
`
`366
`
`Table 9-1
`Table 9-2
`Table 9-3
`
`Listing 9-1
`Listing 9-2
`
`CAM to ACAM terminology conversion
`Old call parameter conversion
`379
`SCSI Manager 4.3 function codes
`
`388
`
`366
`
`Supported old SCSI Manager routines
`SIM initialization information structure
`
`371
`377
`
`Appendix A
`
`DSP d Commands for MacsBug
`
`421
`
`Table A-1
`Table A-2
`Table A-3
`Table A-4
`Table A-5
`
`d commands
`
`423
`
`Task flags
`Module flags
`Section flags
`Section types
`
`423
`425
`425
`426
`
`Page 17 of 500
`
`Page 17 of 500
`
`

`
`Appendix B
`
`BugLite User’s Guide
`
`427
`
`Figure B-1
`Figure B-2
`Figure B-3
`Figure B-4
`Figure B-5
`Figure B-6
`Figure B-7
`Figure B-8
`Figure B-9
`Figure B-10
`Figure B-11
`Figure B-12
`Figure B-13
`
`Task window
`
`428
`
`429
`Open File dialog box
`Graphical representation of a task
`Graphical representation of a module
`Task connected to a module
`431
`
`430
`431
`
`432
`
`432
`Disk play of “funky" file
`Disk player connected to input buffer
`Speaker connection icon
`432
`Data output buffers connected to speakers
`Task with task active indicator
`433
`Task Get Info window
`434
`Module Get Info window
`435
`Section Get Info window
`436
`
`433
`
`Appendix C
`
`Snoopy User's Guide
`
`437
`
`Figure C-1
`Figure C-2
`Figure C-3
`Figure C-4
`Figure C-5
`Figure C-6
`Figure C-7
`Figure C-8
`Figure C-9
`Figure C-10
`Figure C-11
`Figure C-12
`Figure C-13
`Figure C-14
`Figure C-15
`Figure C-16
`Figure C-17
`Figure C-18
`Figure C-19
`Figure C-20
`Figure C-21
`Figure C-22
`Figure C-23
`Figure C-24
`Figure C-25
`Figure C-26
`
`DSP Control window
`Real Time Tasks window
`
`438
`
`439
`
`Run/Store Address pop-up menu
`Vertical and horizontal pane resizers
`Menu bar
`441
`441
`Control menu
`Control commands after break
`
`441
`
`439
`440
`
`442
`Setting breakpoints
`Setting the breakpoint counter
`Inspect menu
`443
`Data display format menu
`Data editing window
`444
`Defined data types
`444
`Windows menu
`445
`Current PC window
`
`446
`
`442
`
`443
`
`DSP Operating System Routines window
`EVT window
`447
`
`447
`
`On-Chip SRAM window
`Example of SRAM layout
`Registers window
`449
`Find menu
`449
`
`448
`448
`
`Find Command dialog box
`Find Data Types menu
`Search In selection menu
`Module menu
`451
`
`450
`
`450
`451
`
`Error in loading symbolic table
`
`452
`
`Appendix D
`
`Mechanical Details
`
`453
`
`Figure D-1
`Figure D-2
`Figure D-3
`
`CD bezel for the Macintosh Centris 660Av
`Blank bezel for the Macintosh Centris 660Av
`
`455
`457
`
`Mounting sled for 5.25-inch SCSI devices
`
`459
`
`Page 18 of 500
`
`Page 18 of 500
`
`

`
`Figure D-4
`Figure D-5
`Figure D-6
`Figure D-7
`Figure D-8
`Figure D-9
`
`Shield for the CD bezel in the Macintosh Centris 660Av
`Magnetic shield for CD-ROM drives
`463
`465
`Blank bezel for the Macintosh Quadra 840Av
`467
`CD bezel for the Macintosh Quadra 840Av
`Accessory-card bracket for the Macintosh Centris 660Av
`Insulator for the Macintosh Centris 660Av accessory-
`card bracket
`471
`
`461
`
`469
`
`Figure D-10
`
`EMI shield for the Macintosh Centris 660Av accessory-
`card bracket
`473
`
`Figure D-11
`
`NuBus adapter card for the Macintosh Centris 660Av
`
`475
`
`Page 19 of 500
`
`Page 19 of 500
`
`

`
`PREFACE
`
`About This Developer Note
`
`This developer note introduces the Macintosh Quadra 840AV and the
`Macintosh Centris 660AV, Apple's newest extensions to the Macintosh family
`of personal computers. It is written primarily for experienced Macintosh
`hardware and software engineers who want to create products that are
`compatible with these computers.
`
`This note assumes that you are already familiar with both the functionality
`and programming requirements of Macintosh computers. If you are
`unfamiliar with Macintosh computers or would like more technical informa-
`tion, you may want to obtain copies of the related technical manuals listed in
`”Supplementary Documents,” later in this preface.
`
`Contents of This Note
`
`This developer note is divided into four main parts, containing a total of
`13 chapters.
`
`Part 1, ”Hardware,” describes the Macintosh Quadra 840AV and Macintosh
`
`Centris 660AV computers from a hardware Viewpoint. It contains two chapters:
`
`I Chapter 1, ”The Macintosh Quadra 840AV and Macintosh Centris 66OAV
`Computers,” gives you an overview of the configurations and features of
`these products.
`
`Chapter 2, ”Hardware Details,” describes the circuit boards for the
`computers, including their physical layout, functional units, signal
`timing and other electronic characteristics, input and output connectors,
`and interfaces with other equipment.
`
`Part2, ”Real-Time Data Processing,” describes the software technology of the
`digital signal processing (DSP) facilities in the Macintosh Quadra 840AV and
`Macintosh Centris 660AV. It contains three chapters:
`
`I Chapter 3, ”Introduction to Real-Time Data Processing,” summarizes the
`software architecture of their real-time data processing facility. This facility
`consists of an AT&T DSP3210 chip that performs data-processing
`operations for applications that contain DSP code.
`
`Chapter 4, ”Real Time Manager,” describes a new part of the Macintosh
`system software that supplies all the services an application requires to use
`the digital signal processor, including loading and running DSP code and
`performing DSP memory management.
`
`Chapter 5, ”DSP Operating System,” covers the DSP operating system,
`contained in the DSP chip. It provides the services every DSP program
`needs to work with the Macintosh Operating System.
`
`Page 20 of 500
`
`Page 20 of 500
`
`

`
`PREFACE
`
`Part 3, ”Speech Synthesis and Recognition,” explains the capabilities of the
`Macintosh Quadra 840AV and Macintosh Centris 660AV system software for
`generating and understanding human speech. It contains three chapters:
`
`I Chapter 6, ”Speech Manager,” describes a new Macintosh system software
`manager that provides a standardized way for applications to generate
`synthesized speech. The Speech Manager also lets an application control
`one or more speech synthesizers, which generate spoken sound in specific
`languages, intonations, and speaking styles.
`
`Chapter 7, ”Introduction to Speech Recognition,” contains a basic tutorial
`for the Speech Setup control panel. This control panel provides commands
`for controlling the speech recognition function.
`
`Chapter 8, ”Speech Rules,” explains the speech rules that are built into the
`Macintosh Quadra 840AV and Macintosh Centris 660AV system software.
`
`Part 4, ”System Software Modifications,” describe miscellaneous changes to
`the Macintosh Quadra 84OAV and Macintosh Centris 660AV system software,
`including a new manager for the internal and external SCSI (Small Computer
`System Interface) ports. It contains five chapters:
`
`I Chapter 9, ”SCSI Manager 4.3,” describes the new SCSI Manager.
`
`I Chapter 10, ”DMA Serial Driver,” details the new hardware-independent
`serial driver that uses direct memory access (DMA).
`
`Chapter 11, ”Video Driver,” describes changes to the video driver.
`
`Chapter 12, ”New Age Floppy Disk Driver,” lists changes to the floppy
`disk driver and tells you how they affect floppy disk compatibility with
`other Macintosh computers.
`
`Chapter 13, ”Virtual Memory Manager," details how the Virtual Memory
`Manager no longer disables interrupts when performing certain tasks.
`
`Four appendixes follow the main parts of this note. They contain information
`that can help you with specific development tasks:
`
`I Appendix A, ”DSP d Commands for MacsBug,” describes three new d
`commands added to Macsbug that help in debugging DSP code.
`
`Appendix B, ”BugLite User's Guide,” describes a DSP module installer
`with a graphical user interface. It helps programmers create and install
`tasks to be executed by the DSP.
`
`Appendix C, ”Snoopy User's Guide,” tells you how to use a browser and
`debugger for the DSP. It helps programmers debug real-time tasks that run
`on the DSP.
`
`Appendix D, ”Mechanical Details” contains foldout drawings of the
`physical mounting facilities that are provided for internal SCSI devices and
`accessory cards in the Macintosh Quadra 840AV and Macintosh
`Centris 660AV.
`
`Page 21 of 500
`
`Page 21 of 500
`
`

`
`PREFACE
`
`At the end of this developer note are a glossary and an index. Terms listed in
`the glossary are printed in boldface where they are first defined in the text.
`
`Hardware Overview
`
`The Macintosh Quadra 840AV and Macintosh Centris 660AV have the most
`
`features of any models in the Macintosh family of desktop computers. The
`Macintosh Quadra 840AV is also the fastest Macintosh computer. The two
`models have nearly identical electronic circuitry. Their differences are that the
`Macintosh Quadra 84OAV is housed in a minitower enclosure with more room
`
`for internal disk drives and accessory cards, while the Macintosh
`Centris 660AV is housed in a low—profile enclosure designed to be placed
`under the user's monitor. The Macintosh Centris 660AV also offers somewhat
`
`lower speed and performance than the Macintosh Quadra 840AV and sells for
`a lower price.
`
`Principal new hardware features of these computers include
`
`I digital signal processing, using an AT&T DSP3210 chip
`
`I video input and output facilities in NTSC, PAL, and SECAM formats
`
`I high-quality sound processing
`
`I direct memory access for peripheral devices
`
`I integrated telephone I / O for ISDN, fax, and other signal forms
`
`Chapter 1, ”The Macintosh Quadra 840AV and Macintosh Centris 660AV
`Computers,” describes these and other hardware features; Chapter 2,
`”Hardware Details,” provides deeper technical information.
`
`Software Overview
`
`The Macintosh Quadra 84OAV and Macintosh Centris 660AV are supplied with
`essentially identical versions of the Macintosh System 7.1 software, in
`ROM and on the internal hard disk. For technical information about standard
`
`System 7.1 software, see Inside Macintosh, listed in ”Supplementary
`Documents,” later in this preface. However, the system software in the
`Macintosh Quadra 840AV and Macintosh Centris 660AV also contains
`
`significant changes and additions to System 7.1. This section summarizes
`those changes and additions, which are described in greater detail in
`Chapters 3 through 13.
`
`Page 22 of 500
`
`Page 22 of 500
`
`

`
`PREFACE
`
`Digital Signal Processing
`
`The Macintosh Quadra 84OAV and Macintosh Centris 66OAV use a digital
`signal processor (DSP) chip separate from the main microprocessor to
`perform real-time data processing, such as playing sound files. In addition,
`the DSP chip can perform processing-intensive operations that do not require
`real-time execution, such as file compression and three-dimensional drawing.
`Chapter 3, ”Intr0duction to Real-Time Data Processing,” explains this
`capability in more detail.
`
`To take advantage of the DSP capability, you must write and compile DSP
`code and include it with your application. A new addition to the Macintosh
`system software, the Real Time Manager, supplies the services your
`application needs to handle DSP code. It contains the calls needed to access
`the DSP, load and run DSP code, and transfer data to a

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket