Home
Floating Point Engine (FPE) Owner`s Manual
Contents
1. 6 Plug the FPE into the slot of your choice ensuring that the component side of the board the side with the lettering faces to your right away from the power supply 7 Replace the case cover plug the computer power cord into the power outlet apply power and boot your computer as normal 8 The computer should boot normally FIGURE 2 1 FPE Installation 9 The computer is now ready for software installation 2 2 Software Software installation reguires booting the FPETOOLS distribution disk The software on this this disk will move certain files from the iS installation disk to your system disk 1 Enable the slot if you have a IIGS and the slot requires enabling to use YOUR CARD see Slot Enabling Then power down the computer 2 Boot the FPETOOLS installation disk The disk will automatically locate the FPE and report the slot number to you 3 Select option 3 from the Installation Menu This test will verify that the FPE functions correctly NOTE Innovative Systems Page 2 1 If the installation software reports an error or your system hangs verify that you have installed the FPE correctly power down your system first then reboot and verify that you have enabled the slot set it to Your Card if you have an Apple IIGS If the rerunning the test returns an error or your system hangs please contact Innovative Systems for technical support 2 If the test does not return the system hangs and
2. FPE slot because the code uses direct addressing of the FPE slots rather than using indirect indexed addressing Thus if the FPE is in slot 2 you must have the file FPETOOL INIT S2 in your SYSTEM SYSTEM SETUP directory on your startup disk NOTE USE OF ANY FPETOOL INIT FILE NOT CORRESPONDING TO THE SLOT NUMBER CONTAINING THE FPE WILL CRASH YOUR SYSTEM Optimized code for accessing the FPE from a higher level language will be included in the particular software package you purchase such as ORCA C and requires no installation on your part The iS FPETOOLS installation disk also includes sets of macros M8 FPE and M16 FPE definitions E8 FPE and E16 FPE and some examples for various development packages APW ORCA M MERLIN 8 16 MERLIN 16 LISA816 for those who wish to write their own code Separate macro libraries are provided for the 6502 65C02 and 65816 microprocessors The user should use the macro library appropriate for his computer These files may reside anywhere on the user s disk The macros are included in the folders FPE IIGS and 6502 the installation disk 2 3 Slot Enabling on the Apple IIGS You may have to enable the slot in which the FPE is installed Follow the instructions in your user s manual to use the control panel to select Your Card for the appropriate slot If you install the FPE in slot 3 recommended you do not need to enable the slot as it is always properly enabled 2 4 Slot
3. and Traps The FPE toolset handles halts in the same way that the SANE package does Traps are not supported Innovative Systems Page 18 9 Programming Hints 1 If the FPE returns 0414 in the response register then the attempted operation was invalid The only way to recover short of powering off the system is to call SANEReset from the toolbox or to use the following code lda 0 sta restore base register 6 Ida FPE restore Note that this is a 16 bit operation If you are using a 6502 65C02 based system you must do two 8 bit writes and two 8 bit reads 2 When using the FPE Toolset from Pascal C or Basic save intermediate results in the extended format Use of other formats forces the compiler to convert your data values to and from extended operations which will increase the execution time of your programs 3 Whenever possible store intermediate results in the FPE Register to register operations can provide more than 10 times the performance of memory to register operations 4 The FPE contains four 4 ID bytes which conform to the Apple standard These bytes and their locations are Location Value 00 cx05 38 00 cx07 18 S 00 cxOb 01 00 0 af where x the slot number Before reading the data in these locations slotROM must be enabled by writing a value to 00 c00b Once done the slot ROM must be disabled by writing a value to c00a Note that all accesses to the values should be don
4. family Based on the Motorola MC68881 floating point processor the FPE brings a new dimension in computing power to the Apple II The MC68881 is the same floating point processor used with the Motorola 68000 microprocessor Although you may need not be concerned with specific capabilities of the FPE software and programmers have access to Eight general purpose 80 bit floating point data registers Forty six instructions including 35 arithmetic operations Full ANSI IEEE 754 1985 floating point standard Enhanced functions including a complete set of trigonometric and transcendental functions Seven data formats byte word and long word integers single double and extended precision real numbers and packed binary coded decimal string real numbers Twenty two constants including pi e and powers of 10 Concurrent instruction execution with the Apple II The FPE may be called in several ways If the system software automatically loads all tools from your disk then the FPE is directly callable from the Apple IIGS Standard Apple Numerics Environment SANE toolset You need only boot the FPETOOLS disk to install the FPE software called FPETOOL INIT onto your system disk in the SYSTEM SYSTEM SETUP directory All calls intended for SANE automatically call the FPE once the system is rebooted from a complete shutdown Thus the FPE is transparent to you except in terms of speed improvement This technique works only with
5. of BIN For more information please refer to the Apple Numerics Manual available from Addison Wesley Publishing Company Inc 4 3 AppleWorks Classic The replacement for the AppleWorks Classic calls to the 8 bit SANE software is included on the FPETOOLS distribution disk 4 2 AppleWorks GS Support for AppleWorks GS is automatically provided as this package uses the GS OS and ProDOS 16 SANE tool set calls Innovative Systems Page 6 5 How the FPE Transfers Data The Innovative Systems FPE fully supports Motorola s MC68881 coprocessor dialog The dialog consists of a rigidly structured combination of commands and response primitives The commands tell the MC68881 what to do and the primitives indicate actions that are reguired including transfer data wait for synchronization wait for completion of operation and handle error conditions Failure to follow the coprocessor protocol can result in destruction of your code during program execution The FPE allows three types of operations Memory to Register MEMREG Register to Memory REGMEM and Register to Register REGREG and REGMEM operations may be done at any precision REGREG operations are always done in extended precision 5 1 MEMREG and REGMEM Operations MEMREG and REGMEM operations move data from Apple memory to a MC68881 floating point control or status register and from a MC68881 floating point control or status register to Apple memory ref
6. the Apple II and e 3 ACCESS 6 th SS 4 4 Interfacing io SANE 6 ALADE 6 4 2 Apple and 6 4 3 AppleWorks M ClaSsiC LULU LLL isa ana ss a k 6 4 2 Apple WOrESUC seed Tena cos san dn ads bida duse c 6 9 How the FPE Tramsters Dala va Ou luaa tua KS nd 7 5 1 MEMREG and REGMEM Operations z amma 7 52 REGREG Operations rero territa 8 9 3 Checking SAN ULU LAS 9 6 Construction of an MC68881 MC68882 Commannd 11 UM ORI PME II en 15 8 Aboutth MC68881 and SANE LLL IIIiIIIILSIX Is tas sssi vasan 17 9 Programming Hits 19 10 FPE Data and Register FOrmials 2 asiaa Sad apa de E S 20 Innovative Systems Page i 1 Introducing the Floating Point Engine The Innovative Systems iS Floating Point Engine FPE provides the most efficient floating point math capability for all members of the Apple II
7. your Apple dealer One difference is that the transcendentals returned are slightly less accurate 76 bits or more of accuracy versus 80 bits from SANE however this change in accuracy should not adversely affect the performance of your software see Apple Numerics Manual Second Edition Chapters 28 and Chapter 10 of this manual for the details Another difference is that the FPE does not process COMP type variables however COMP calls will work with the FPE toolset except at the speed of the Apple II since the calls use the standard SANE code Because the FPE toolset is a hybrid of calls to the FPE and to the standard SANE toolset code use of the FPE toolset is automatic and transparent to most existing software 4 1 Apple IIGS To use the iS numerics software on an Apple IIGS your must have copied the FPE INIT from the iS source disk to the SYSTEM SYSTEM SETUP subdirectory on the system disk This is normally done by the FPETOOLS distribution disk 4 2 Apple II and e The replacement for the SANE interface in the Apple II I or e is customized to a specific absolute memory address and is included on the FPETOOLS distribution disk in the FPETOOLS FPE 6502 TOOLSET directory This toolset uses the following calls jsr 2100 to call the fp6502 routines jsr 2104 to call the ELEMS6502 routines This toolset loads into locations beginning at 00 2100 and has a length of less than 1000 bytes The toolset has a filetype
8. 8881 toa register The sequence of operations is Innovative Systems Page 8 START WRITE COMMAND REGISTER NO NULL RELEASE READ RESPONSE REGISTEB NULL RELEASE CA BIT 0 PROCESSOR RELEASED FIGURE 5 3 REGISTER REGISTER SEOUENCE REGREG 5 3 Checking Status 1 Write the command to the Command register COk8 2 Check the Response register for a Null Release Since there are no external operands a REGREG operation does not reguire that the software test for a Null Response in the Response register as the MEMREG and REGMEM operations do Once it has written the command to the Command register with correct byte order the software need only test the Response register for the Null Release NOTE Don t try to test for a non 8900 value as this will confuse the MC68881 and destroy any data in the FPE Example code segments for checking the status from the FPE are as follows 65816 Version ldy response loopl Ida lt mc68881 y cmp 50089 beq loopl response loop2 Ida mc68881 y and 850080 loop2 Version loop1 ldy response Ida mc68881 y tax iny 14 mc68881 y bne continue 89 beg loopl continue Innovative Systems assumes the location containing the base address of the FPE is in the direct page check for Null Come A gain check for Null Release check for Null Come A gain location containing the base address of
9. Enabling on the Apple II II and e No enabling is required for Apple II or e computers because the slot I O is normally active Innovative Systems Page 3 3 Access to the FPE How does the System know which slots contains the FPE 1 If you have an Apple IIGS and you have loaded the FPETOOL INIT file corresponding to the slot containing the FPE all calls to SANE will automatically go to the FPE 2 If you write your own code to directly access the FPE you must use the correct address for ihe slot locations that is c080 16 slot number e g c090 for slot 1 Refer to Chapter 9 for information on how to determine the FPE slot number without hard coding the slot number into your code Direct access means that software writes information directly to or reads data directly from the FPE coprocessor interface registers These interface registers reside in the 16 locations reserved for the slot in which the card resides These 16 locations are designated as Read only Write only or Read Write depending upon their purpose In using direct access the software does not need to pass through unnecessary general purpose code Direct access is the most efficient method of communicating with the FPE It eliminates overhead this is not to say it is always the best method of interfacing however Direct access programming reguires a strong understanding of programming Chapters 5 and 6 contain additional information necessary to d
10. ION OF FPE DC 0000 ASSUME SLOT 3 FLOATING POINT EXTENDED DATA AREA EXT 1 DC H 0000 0000 0000 8000 3FFF VALUE 1 0 EXT 2 DC H 0000 0000 0000 8000 3FFF RESULT SHOULD 0000 0000 0000 8000 4000 OR 2 0 ANS I DS 10 END Innovative Systems Page 16 8 About the MC68881 and SANE The information in this chapter is excerpted from the Apple Numerics Manual Second Edition chapters 27 28 and 29 While all the information in the SANE manual may pertain to the operation of the MC68881 in the Macintosh II the data here pertains only to the operation of the FPE when called by the FPE toolset Functions the same on both MC68881 and FPE software and SANE The MC68881 and the FPE toolset return identical results for the following operations addition subtraction multiplication division square root remainder round to integral value conversions between floating point formats negate absolute value Functions similar For transcendental operations the FPE gets results slightly less accurate than those returned by SANE for some operations the FPE gets different results for cases involving zero Infinities and NaNs The FPE returns slightly less accurate results than those returned by SANE in the following cases binary scale FPE truncates scale factors to 14 bits base e logarithm base 2 logarithm base e logarithm of 1 x base e exponential base 2 exponential base e expo
11. ISTE NULL 8900 NULL o 8900 TRANSFER DATA TRANSFER DATA s READ OPERAND WRITE OPERAND REGISTER REGISTER NO NULL COME AGAIN NO NULL COME AGAIN ESPONSE READ RESPONSE R PROCESSOR RELEASED PROCESSOR RELEASED FIGURE 5 1 MOVE IN SEQUENCE MEMREG FIGURE 5 2 MOVE OUT SEQUENCE REGMEM You might even be wondering why we check for a value of 8900 The answer is adaption If the MC68881 was being used with an MC68020 microprocessor the value read from the Response register would indicate the number of bytes to be transferred In FPE applications the MC68881 does the same but the 6502 65816 cannot easily make sense of this value So to improve processing time Innovative Systems noted that 8900 is the only response primitive that requires the 6502 65816 to wait before transferring data Any other value from the Response register of the iS FPE implementation indicates that the 6502 65816 may transfer an operand Warning don t try to test for a non 8900 value as this will confuse the MC68881 and destroy any data in the FPE 5 2 REGREG Operations REGREG operations are used for operations that do not require operand data from memory to register transfers refer to Figure 5 3 Examples include adding two registers both registers having a data value taking the sine of a value in a register or even transferring a constant value from the ROM internal to the MC6
12. Innovative Systems Floating Point Engine FPE Owner s Manual 1989 91 Innovative Systems Copyright Copyright 1989 91 Innovative Systems for all nontextual material graphics figures photographs and all computer program listings or code in any form including object and source code All rights reserved Innovative Systems the Systems People iS Floating Point Engine and FPE are trademarks of Innovative Systems Apple Apple II Apple e Apple IIGS IIGS ProDOS and Macintosh are trademarks of Apple Computer Inc SANE is a trademark of Apple Computer Inc AppleWorks is a trademark of Apple Computer Inc licensed to Claris Corp ORCA M ORCA C and ORCA Pascal are trademarks of The Byte Works Inc TML BASIC and TML Pascal are trademarks of TML Systems Inc Lisa816 Software is a copyright of Randall Hyde and HAL Labs Merlin 8 16 and Merlin 16 are trademarks of Roger Wagner Publishing Inc Innovative Systems P O Box 444 Severn MD 21061 0444 301 987 8688 768 4599 Limited Warranty on Media and Replacement If you discover physical defects in the manuals distributed with an Innovative Systems product or in the media on which a software product is distributed Innovative Systems will replace the media or manuals at no charge to you provided you retum the item to be replaced with proof of purchase to Innovative Systems or an authorized Innovative Systems dealer during the 90 day period after you purchased the so
13. Innovative Systems Page 13 where Innovative Systems uses form 010111DDD00vvvvv where 00SSSDDD0000ddd operation ddd destination 2 register cosine value DDD destination 1 register sine value SSS z source register Table 6 1 4 Constant in ROM to Register Values 00 06 0c 0d 0 0f 30 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f DDD destination vvvvv ROM value PI LOG 10 2 e LOG2 e LOG10 e 0 0 LOGn 2 10 0 10 1 10 2 10 4 10 8 10 16 10 32 10 64 10 128 10 256 10 512 10 1024 10 2048 10 4096 Page 14 7 Macro Usage The iS FPE comes with macro library files These files are compatible with the APW ORCA M LISA816 and MERLIN assemblers 16 in conjunction with the E16 EQU file for LISA 816 use only M16 68881 contains macros for use with the 65816 microprocessor in the Apple IIGS M8 FPE contains the macros for the 6502 based Apple computers These macros are assembler specific and are contained in folders labeled for the appropriate assembler The macros define the command for each operation desired You just need to supply the operation wanted the address of the correctly formatted data and the register s to use These macros will load or retrieve the results of the operation The general format of the macros is as follows APW ORCA LISA816 Assembly Memory to Register MEMREGv OPERATION CODE DESTINATION FP REGISTE
14. R DATA ADDRESS where v precision of operation X D S L W Register to Memory REGMEMv OPERATION CODE SOURCE FP REGISTER DATA ADDRESS where v precision of operation X D S L W Register to Register REGREG OPERATION CODE SOURCE FP REGISTER DESTINATION FP REGISTER MERLIN Assembly Memory to Register MEMREG PRECISION OPERATION CODE DESTINATION FP REGISTER DATA ADDRESS where PRECISION X D S L W Register to Memory REGMEM PRECISION OPERATION CODE SOURCE FP REGISTER DATA ADDRESS where PRECISION X D S L W Register to Register REGREG OPERATION_CODE SOURCE_FP_REGISTER DESTINATION_FP_REGISTER Innovative Systems Page 15 The source code below is an example of macro usage and shows the form for code which uses the FPE LEETE EEEE EEEE EEE EE EEE EE EE E EE cc do do do ooo i SAMPLE FOR ADDING TWO EXTENDED PRECISION NUMBERS SHOWING THE USE OF MACROS 242222222222 c o t kh ek ooo deo MLOAD 2 AINCLUDE MIG UTILITY MLOAD MI6 FPE TEST START COPY 16 MC68881 EOU 00 DIRECT PAGE LOCATION OF FPE BASE REGISTER CLC PHK PLB STZ 00 ZERO DIRECT PAGE DATA STZ 02 PUSHLONG LOCATION OF FPE 2 PUT FPE ADDRESS ON STACK PLA STORE FPE ADDRESS IN DIRECT STA 00 PAGE PLA STA 02 Al MEMREGX FMOVEFPIEXT 1 PUT DATA INTO FPE REGISTER 1 A2 FADDFPIEXT 2 ADD SECOND VALUE TO REGISTER 1 A3 REGMEMX FMOVE FPI ANS 1 RETRIEVE THE ANSWER IN EXTENDED PRECISION FORMAT RTL LOCAT
15. See MC68881 MC68882 Floating Point Coprocessor User s Manual pages 3 1 3 2 and 3 7 for format information 4 All operations which input data to the FPE transfer information from the source SSS or memory to the destination register DDD This means that the source value is moved e g added to the destination register 5 All register to register operations move data from the source register to the destination register e g the source register is added to the contents of the destination register The files E16 FPE and E8 FPE contain definitions for the R M and Source Specifier fields the Destination Register field and the Execution Command field To define a command to add an extended real number to register 1 do the following 1 Get the Memory to Register Extended Precision value from the definitions table Table 6 1 1 2 Get the value for Floating Point Register 1 from Table 6 1 2 001 Put this value into the Destination register field DDD bits 7 9 The command word should now be 4880 3 Put the value for the command FADD in Table 6 1 3 into bits 0 4 From the definition file FADD equals 22 The command word should now be 48A2 Remember that the word is in reverse order as seen from the Apple computer so reverse the data bytes The value for the command is therefore A248 Similarly a register 1 SSS value to register 2 DDD value add would have a final command value of 00 10001000000 101 2205 in Ap
16. Systems This manual is written to address different levels of users If you do not plan to write your own code you need to read Chapters 1 and 2 only If you intend to address the FPE using your own code you will also need to read and to understand Chapters 3 through 10 Innovative Systems Page 1 2 Installing the FPE Installation consists of three parts hardware software and slot enabling Hardware installation consists of plugging the FPE into an expansion slot in the Apple II This means that you may use any slot numbered between 1 and 7 Don t try to use the memory expansion slot in the IIGS it is not a peripheral slot The slot you choose will be dictated by the slots you have available Note that there are only two ways you can damage the board during installation static electricity and putting the board in backwards If you carefully observe the following instructions neither will be a problem 1 Ensure all power to your computer is off by removing the power cord from the wall outlet 2 Carefully remove the case cover from your computer as described in the owner s manual supplied by Apple 3 Face the computer as you normally would if using it keyboard toward you Refer to Figure 2 1 4 Ground yourself by touching the top of the metal cover of the power supply on the left hand side of the POWER computer 5 Remove the FPE from the box and the Component anti static plastic wrapping Side of FPE
17. aced in accordance with Innovative Systems then current active product repair price schedule The customer is obligated for freight and handling charges both ways Below are the prices for Out of Warranty products manufactured or sold by Innovative Systems The prices are effective 1 June 1988 and are subject to change without notice FPE 25 00 plus 10 00 Shipping Handling and Processing Charges Our rate does not include parts Repair Warranty Innovative Systems warrants any product repaired in its factory or repair center to be free from defects in material and workmanship for a period of ninety 90 days from the date of return delivery or the end of the original warranty period whichever is greater Warranty Registration Please take a moment to fill out the warranty registration form within ten days and mail it to the following address Innovative Systems P O Box 444 Severn Maryland 21144 0444 Attn Customer Service Innovative Systems 1 Introducing the Floating Point 1 2 Installing the FPE iih 2 2 2 SOTII T 2 2 3 Slot Enabling on the Apple IIGS lt osssessesssseoseonsessesnsnscscssensesnnnssanvvsnvonverevenensseesecosgnonsensnsssossstesesens en 3 2 4 Slot Enabling on
18. cations are located in the I O page 00 or E1 of 65816 RAM space 5 All locations are in page SCO of the 6502 RAM space Remember that the register addresses are base addresses so the address for a specific slot is specified by replacing the k in the base address with 8 slot number For example if the FPE is in slot 3 the Response register starts at SCObO Additional information on peripheral card addressing is available in Chapter 6 Programming for Peripheral Cards pages 129 131 and 136 137 of the Apple IIe Technical Reference Manual Innovative Systems Page 5 4 Interfacing to The Standard Apple Numerics Environment SANE defines a series of calls which provide numeric operations in accordance with IEEE Standard 754 Binary Floating Point Arithmetic SANE also provides several utility functions which include conversions of data from an ASCII representation to binary floating point and back again This environment provides very accurate numerics Unfortunately SANE operations can be very slow The iS FPE provides the numeric operations but at a much faster rate Because SANE is standard with the Apple II computer Innovative Systems provides numerics software package which replaces most of the routines in the SANE toolset The software uses the same calling sequences processes the commands in 80 bit precision and generally provides the same results as those described in the Apple Numerics Manual available from
19. e way transportation charges are at the customer s expense Innovative Systems will return the repaired or replaced product at the expense of Innovative Systems Innovative Systems reserves the right to reject any warranty claim on any products that have been the subject of abuse misuse unauthorized repair alteration accident improper return handling or causes external to the Innovative Systems product but not limited to improper power application improper environmental exposure or other improper use of the product Innovative Systems includes in its Limited Warranty policy provisions for updating in accordance with any field change order which Innovative Systems determines is mandatory for reasons of product safety All other field changes revisions or updates not deemed mandatory by Innovative Systems may be implemented at the discretion of Innovative Systems or as reguired by contract Out of Warranty Repair Innovative Systems will provide repair or replacement services for all products manufactured by or for Innovative Systems and sold by Innovative Systems for a reasonable active product support period extending beyond last date of standard manufacture and sale This period will normally be for a period of two years from Innovative Systems standard product list but such period may be decreased at Innovative Systems sole option Out of warranty products and customer related damage of in warranty products will be repaired or repl
20. e with the computer in 8 bit short index or accumulator mode Innovative Systems Page 19 10 FPE Data and Register Formats MC68881 68882 SIGNED INTEGER DATA FORMATS 8 BITS BYTE 16 BITS WORD INTEGER 32 5 LONG INTEGER MC68881 68882 REAL DATA FORMATS 0 8 BIT 23 BIT FRACTION SIGN OF FRACTION SINGLE REAL DOUBLE REAL 94 15 BIT EXPONENT EXTENDED REAL IMPLICIT BINARY POINT SIGN OF MANTISSA Innovative Systems Page 20 MC68881 68882 PACKED BCD FORMAT SIGN OF MANTISSA SIGN OF EXPONENT IMPLICIT DECIMAL POINT USED ONLY FOR INFINITY OR NANS DON T CARE 31 15 7 Temm m eo MANT MANT MANT MANT MANT MANT MANT MANT 15 14 13 12 11 10 9 8 MANT MANT MANT MANT MANT MANT MANT MANT 7 6 5 4 3 2 1 0 is the nth digit of the mantissa EXPn isthe nth digit of the exponent EXP3 is only generated during a move out operation if the source operand exponent exceeds the magnitude of a three digit exponent otherwise it is a don t care Only EXPO EXP2 are used for input XXX are don t care bits which are zero and ignored when read 11 0 15 0 16 Digit Fraction Exponent O Sxxxx Sxxxx 2 1 Sxxx0 00 00 Table 1 Packed BCD String Definitions NOTES 1 A decimal string with the SE and bits set an exponent of SFFF and a non zero 16 digit decimal
21. er to the flow charts in Figures 5 1 and 5 2 These operations are often called move in or move out operations respectively They reguire that the software 1 Write a command word 16 bits to the Command register C0k8 2 Check the word in the Response register SCOKO for a Null Come Again CA any value other than 8900 3 Transfer the operand byte s to or from the Operand register COkC 4 Check the word in the Response register for a Null Release i e the most significant bit CA bit is equal to 0 The 8000 and 8900 signify that the values are written the way the MC68881 expects to write them however the 6502 65816 must read and write all data in byte reversed order 0089 in this case The reason for the byte reversal is that the 6502 and the 65816 write the low byte of the accumulator to the low byte of memory or to a peripheral slot This is opposite to the requirements of the MC68xxx series Hence the 68881 expects or reports the most significant byte MSB as the low address byte You must transpose the byte order of all data including 80 bit data to satisfy the MC68881 Remember this because it applies to every command or operand transfer to and operand and response transfer from the FPE Innovative Systems Page 7 START WRITE COMMAND REGISTER NULL COME AGAIN 8900 READ RESPONSE REGISTEB START WRITE COMMAND REGISTER NULL COME AGA IN 8900 READ RESPONSE REG
22. et is available from the U S Government Printing Office Washington D C 20403 Stock No 004 000 00345 4 LIMITED WARRANTY Innovative Systems warrants all of its hardware products including spare parts sold by Innovative Systems to be free from defects in material and workmanship for a period of five years from the date of delivery This warranty is made to original purchasers only and only original purchasers make make any claim under the warranty No other party shall have any rights under this warranty The sole remedy for any breach of this warranty shall be the repair or replacement of the defective product as described herein Innovative Systems disclaims all other representations and warranties included but not limited to any implied warranty of merchantibility or fitness for a particular purpose Innovative Systems shall not be liable for any special indirect incidental or consequential damages lost profits costs or expenses except as set forth in this policy which may be modified or amended only by written contract In Warranty Repair Innovative Systems will repair at its factory or repair center any product that within the warranty period is returned to Innovative Systems and found to be defective in proper usage Innovative Systems will honor the warranty if notification of product failure is provided within the five year warranty period The original customer must return the defective product to Innovative Systems On
23. fraction is a NAN 2 If a non decimal digit SA SF appears in the exponent of a zero the number is converted to a true zero Innovative Systems Page 21 NON DATA FLOATING POINT REGISTERS 31 23 15 7 0 EXCEPTION MODE FLOATING POINT ENABLE CONTROL CONTROL REGISTER FLOATING POINT CONDITION EXCEPTION ACCRUED FLOATING POINT CONTROL REGISTER FPCR EXCEPTION ENABLE BYTE WARNING DO NOT SET ANY BITS IN THIS BYTE FPCR MODE CONTROL BYTE ROUNDING MODE 00 TO NEAREST 01 TOWARD ZERO 10 TOWARD MINUS INFINITY 11 TOWARD PLUS INFINITY ROUNDING PRECISION 00 EXTENDED 01 SINGLE 10 DOUBLE 11 UNDEFINED Innovative Systems Page 22 FLOATING POINT STATUS REGISTER FPSR FLOATING POINT CONDITION BYTE 27 26 25 24 NOT A NUMBER INFINITY ZERO NEGATIVE CONDITION CODE VERSUS RESULT DATA TYPE Infinity Infinity Innovative Systems Page 23 FPSR OUOTIENT BYTE 23 19 16 QUOTIENT SEVEN LEAST SIGNIFICANT BITS OF QUOTIENT SIGN OF QUOTIENT FPSR EXCEPTION STATUS BYTE 15 14 13 12 11 10 9 8 SNAN pre OVFL UNFL INEX2 1 INEXACT DECIMAL INPUT INEXACT OPERATION DIVIDE BY ZERO UNDERFLOW OVERFLOW OPERAND ERROR SIGNALLING NOT A NUMBER BRANCH SET ON UNORDERED FPSR ACCRUED EXCEPTION BYTE 7 6 5 4 3 2 1 0 DIVIDE BY ZERO UNDERFLOW OVERFLOW INVALID OPERATION Innovative Systems Page 24
24. ftware ALL IMPLIED WARRANTIES ON THE MEDIA OR MANUALS INCLUDING IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE LIMITED IN DURATION TO NINETY 90 DAYS FROM THE DATE OF THE ORIGINAL RETAIL PURCHASE OF THE PRODUCT Even though Innovative Systems has tested the software and reviewed the documentation INNOVATIVE SYSTEMS MAKES NO WARRANTY OR REPRESENTATION EITHER EXPRESS OR IMPLIED WITH RESPECT TO SOFTWARE ITS QUALITY PERFORMANCE MERCHANTIBILITY OR FITNESS FOR A PARTICULAR PURPOSE AS A RESULT THIS SOFTWARE IS SOLD AS IS AND YOU THE PURCHASER ARE ASSUMING THE ENTIRE RISK AS TO ITS QUALITY AND PERFORMANCE IN NO EVENT WILL INNOVATIVE SYSTEMS BE LIABLE FOR DIRECT INDIRECT SPECIAL INCIDENTAL OR CONSEQUENTIAL DAMAGES RESULTING FROM ANY DEFECT IN THE SOFTWARE OR ITS DOCUMENTATION even if advised of the possibility of such damages In particular Innovative Systems shall have no liability for any programs or data stored or used with Innovative Systems products including the costs of recovering such programs or data THE WARRANTY AND REMEDIES SET FORTH ABOVE ARE EXCLUSIVE AND IN LIEU OF ALL OTHERS ORAL OR WRITTEN EXPRESS OR IMPLIED No Innovative Systems 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 lim
25. itation 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 Innovative Systems Warning Innovative Systems provides a Floating Point Engine card that is for installation in your personal computer Thus the FPE is classified as a subassembly by the FCC See instructions if interference to radio or television reception is suspected Information to Users This floating point card generates and uses radio freguency energy and if not installed and used properly that is in strict accordance with the manufacturer s instructions may cause interference to radio and television receptions Instructions If this card does cause interference to radio or television reception which can be determined by turning the eguipment on and off and noting the effect of the power surge on the radio or television you are encouraged to try to correct the interference by one or more of the following measures Reorient the receiving antenna Move the computer away from the receive Plug the computer into a different outlet so that the computer and receiver are on different branch circuits If necessary you should consult with Innovative Systems or an experienced radio television technician for additional suggestions You may find the following booklet prepared by the FCC helpful How to Identify and Resolve Radio TV Interference Problems This bookl
26. nential minus 1 Sine cosine tangent arctangent integer exponentiation general exponentiation base 2 logarithm of 1 x base 2 exponentiation minus 1 compound interest annuity factor The FPE returns results with the same accuracy but behaves differently for zero denormalized numbers Infinities and NANs round to integer when out of range the FPE preserves the sign truncate to integer when out of range the FPE preserves the sign binary logarithm same results except for 0 and Infinity All remaining operations available from SANE can be assumed to be as accurate and operate in the same manner for calls to the FPE toolset Innovative Systems Page 17 of the MC68881 s elementary functions For the elementary functions both the SANE and the FPE MC68881 packages have errors in the least significant bits of the fraction part of the extended format results but the SANE package errors rarely exceed the last bit whereas the FPE errors can extend to as many as five bits Hence for individual elementary functions both packages retum results nearly identical when rounded to single or double precision For complicated expressions involving elementary functions the FPE is likelier to return an error in double precision results than the SANE packages are Controlling the environment The FPE toolset converts the standard SANE environmental control calls to those needed by the 68881 Halts
27. o direct accessing of the FPE The Motorola MC68881 communicates with the host processor 6502 65C02 or 65816 by way of Coprocessor Interface Registers CIR These registers are used for control of transferring operands to and returning status from the MC68881 The Apple II technical manuals and the Motorola MC68881 68882 Floating Point Coprocessor User s Manual contain valuable information on accessing the registers and details which explain the uses for the CIRs iS FPE allows access to all the CIRs that are required to implement all MC68881 instructions The only CIRs not accessible are those intended for use with the 68020 68030 microprocessors and which do not impact performance with the 6502 65816 The registers implemented in the FPE and their base addresses are given in Table 3 1 Innovative Systems Page 4 Table 3 1 Coprocessor Interface Register CIR Memory 1 transfers are byte swapped from normal 6502 65816 storage that is the MSB of the data is contained in the lowest memory address 2 k is the number of the slot containing the FPE 8 3 Word transfers 16 bits to the Operand register use addresses COkC and COkD Multiple word transfers 32 64 80 and 96 bits use all four locations Note that for 80 bit transfers the first data transfer reguires that and receive 0 values and that bits 65 to 80 are transferred to and COkD 4 All lo
28. ple memory Innovative Systems Page 11 1 make this process easier 15 has supplied macro files which will generate the most used commands for you 2 The 16 bit binary values for commands are given non Apple memory order in the examples associated with Tables 6 1 3 and 6 1 4 Table 6 1 1 MC68881 Command Primitives Register to Memory Movement Single Precision 6400 Long Integer 6000 Word Integer 7000 Byte Integer 7800 Double Precision 7400 Extended Precision 6800 Packed BCD 6c00 Memory to Register Movement Single Precision 4400 Long Integer 4000 Word Integer 5000 Byte Integer 5800 Double Precision 5400 Extended Precision 4800 Packed BCD 54 00 Register to Register Movement Extended Precision only Constant in ROM to Register Movement see Table 6 1 4 Extended Precision only 5c00 Memory to Control Status or Instruction Register Long Integer only Control Status or Instruction Register to Memory Long Integer only 2000 The retrieval of a packed BCD value form the FPE requires a formatting value k factor The k factor format is as follows encoded twos complement integer 3 bits in locations 3 5 64 to 0 indicates the of significant digits to the right of the decimal point FORTRAN F format 1 to 17 indicates the number of significant digits in the mantissa FORTRAN E format 17 63 treated as 17 Innovative Systems Page 12 Table 6 1 2 Register Value
29. s Floating Point Register 0 Floating Point Register 1 Floating Point Register 2 Floating Point Register 3 Floating Point Register 4 Floating Point Register 5 Floating Point Register 6 Floating Point Register 7 Control Register Status Register Instruction Address 000 001 010 011 100 101 110 111 8800 8400 Table 6 1 3 Operations Values FMOVE 00 FINT 01 FSINH 02 FSORT 04 FLOGNP1 506 FETOXMI 08 FTANH 09 0a FASIN 0c FATANH 0d FSIN 0 0 10 FTWOTOX 11 12 FLOGN 14 FLOG10 15 FLOG2 16 FABS 18 FCOSH 19 FNEG la FACOS 1 FCOS 1d FGETEXP 1 1f FDIV 20 FMOD 21 FADD 22 FMUL 23 FSGLDIV 24 FREM 25 FSCALE 26 FSGLMUL 27 FSUB 28 FCMP 38 FTST 3a FSINCOS 30 Move Integer Part Hyperbolic sine Sauare Root LOGe 1 X e X 1 Hyperbolic tangent Arctangent Arcsine Hyperbolic arctangent Sine Tangent e X 2 X 10 X Natural log Log base 10 Binary log Absolute Value Hyperbolic cosine Negate Arccosine Cosine Get exponent Get mantissa Divide Modulo Remainder Add Multiply Single precision divide IEEE Remainder Scale exponent Single precision multiply Subtract Compare SSS with DDD Test Simultaneous sine and cosine FSINCOS requires three registers one source and two destination and is a register to register operation only The form for this command is
30. the FPE is somewhere in memory location designated by mc68881 Page 9 loop2 Idy response Ida 68881 check for Null Release iny Ida mc68881 y always must read upper byte asl a bes loop2 Innovative Systems Page 10 6 Construction of an MC68881 MC68882 Command Each command written directly to the floating point coprocessor Command register reguires 16 bits of information The format for the command as seen by the MC68881 is MSB ee RM 0 15 15 slo where R M Field Specifies the source operand address mode 0 The operation is register to register 1 The operation is memory to register or register to memory Source Specifier Field Specifies the source register or data format If R M 0 specifies the source floating point data register FPm If R M 1 specifies the source data format 000 L Long Word Integer 32 bits 001 S Single Precision Real 32 bits 010 X Extended Precision Real 96 bits 1 011 P Packed Decimal Real 96 bits 2 100 W Word Integer 16 bits 101 D Double Precision Real 64 bits 110 B Byte Integer 8 bits DDD Destination Register Specifies the destination floating point register FPn CCCCC Execution Command Specifies the operation to perform NOTE 1 Only 80 bits contain valid data but 96 bits must be transferred 2 Only 84 bits contain valid data but 96 bits must be transferred 3
31. the GS series For those users who have Apple II II or e computers the FPETOOLS disk contains a version of 8 bit SANE which addresses the FPE This version of SANE replaces all calls except those calls to the Scanner and Formatter operations FPSTR2DEC FCSTR2DEC and FDEC2STR For further information refer to Section 4 2 For higher performance the FPE may be directly addressed through software by writing directly to the command or reading directly from the status registers as appropriate in normal slot space COnx where n 8 plus the slot number This technique works equally well with any Apple II DOS 3 2 DOS 3 3 ProDOS 8 ProDOS 16 and GS OS without the overhead of using a toolset Please refer to Chapters 3 and 5 The FPE is also compatible with all versions of AppleWorks Classic You need only boot the FPETOOLS installation disk to install FPE software software patches to AppleWorks These patches will provide a significant improvement in the calculation and recalculation time required by the spreadsheet and some database operations This manual describes how to communicate with the Innovative Systems FPE It does not explain the inner workings of the Motorola MC68881 floating point coprocessor Refer to the Motorola MC68881 MC68882 Floating Point Coprocessor User s Manual and related application notes for details on how to use the MC68881 These items are available from Motorola or for a nominal charge from Innovative
32. you have an Applied Engineering TransWarp GS you will need to contact AE to obtain a modification to the TWGS Contact AE customer support for more information 4 If you have a IIGS select option 1 too install the FPE Toolset on your system disk s Note that if your system disk is named hard1 for example the disk name you should enter when requested is hard1 No directory information is required After successful installation all SANE calls TOOLO0IO or xxxA will then automatically access the FPE without any need to recompile reconfigure or replace any of your existing commercial or user written software that uses the SANE Toolset 5 If you have AppleWorks Classic select option 2 to install a patch which provides the capability for AppleWorks to use the FPE when doing math Because AppleWorks can be in a subdirectory please provide the volume name and the subdirectory in response to the prompt from the initialization program For example if AppleWorks is located in directory AppleWorks on volume hard1 please enter hard1 AppleWorks when prompted Also if your Startup disk and your Program disk are the same enter the same information after both prompts 6 Select option 0 to exit the installation program Innovative Systems has provided a FPE toolset initialization file coded specifically for each slot These slot dependent files provide a small speed improvement over files which automatically locate the
Download Pdf Manuals
Related Search
Related Contents
Planet Technology IPX-600 User's Manual E-Z Ancor 10006 Instructions / Assembly 発注関係事務の運用に関する指針について Gefen ext-hdboost-141 User's Manual Philips Spiral 871829113807500 MDT V7 Manual de Instalación manuel d`utilisation et d`entretien - débitmètre à cadran Franke 112.0049.451 Avaya Configuring Dial Services User's Manual Copyright © All rights reserved.
Failed to retrieve file