forked from open-simh/simh
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Various simulators: Set line endings to CRLF for consistency, remove …
…stray tabs Project standard source code has tabs converted to spaces and CRLF line endings. Other text files have CRLF line endings.
- Loading branch information
Showing
53 changed files
with
39,192 additions
and
39,192 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,78 +1,78 @@ | ||
MAME note: this package is derived from the following original SoftFloat | ||
package and has been "re-packaged" to work with MAME's conventions and | ||
build system. The source files come from bits64/ and bits64/templates | ||
in the original distribution as MAME requires a compiler with a 64-bit | ||
integer type. | ||
|
||
|
||
Package Overview for SoftFloat Release 2b | ||
|
||
John R. Hauser | ||
2002 May 27 | ||
|
||
|
||
---------------------------------------------------------------------------- | ||
Overview | ||
|
||
SoftFloat is a software implementation of floating-point that conforms to | ||
the IEC/IEEE Standard for Binary Floating-Point Arithmetic. SoftFloat is | ||
distributed in the form of C source code. Compiling the SoftFloat sources | ||
generates two things: | ||
|
||
-- A SoftFloat object file (typically `softfloat.o') containing the complete | ||
set of IEC/IEEE floating-point routines. | ||
|
||
-- A `timesoftfloat' program for evaluating the speed of the SoftFloat | ||
routines. (The SoftFloat module is linked into this program.) | ||
|
||
The SoftFloat package is documented in four text files: | ||
|
||
SoftFloat.txt Documentation for using the SoftFloat functions. | ||
SoftFloat-source.txt Documentation for compiling SoftFloat. | ||
SoftFloat-history.txt History of major changes to SoftFloat. | ||
timesoftfloat.txt Documentation for using `timesoftfloat'. | ||
|
||
Other files in the package comprise the source code for SoftFloat. | ||
|
||
Please be aware that some work is involved in porting this software to other | ||
targets. It is not just a matter of getting `make' to complete without | ||
error messages. I would have written the code that way if I could, but | ||
there are fundamental differences between systems that can't be hidden. | ||
You should not attempt to compile SoftFloat without first reading both | ||
`SoftFloat.txt' and `SoftFloat-source.txt'. | ||
|
||
|
||
---------------------------------------------------------------------------- | ||
Legal Notice | ||
|
||
SoftFloat was written by me, John R. Hauser. This work was made possible in | ||
part by the International Computer Science Institute, located at Suite 600, | ||
1947 Center Street, Berkeley, California 94704. Funding was partially | ||
provided by the National Science Foundation under grant MIP-9311980. The | ||
original version of this code was written as part of a project to build | ||
a fixed-point vector processor in collaboration with the University of | ||
California at Berkeley, overseen by Profs. Nelson Morgan and John Wawrzynek. | ||
|
||
THIS SOFTWARE IS DISTRIBUTED AS IS, FOR FREE. Although reasonable effort | ||
has been made to avoid it, THIS SOFTWARE MAY CONTAIN FAULTS THAT WILL AT | ||
TIMES RESULT IN INCORRECT BEHAVIOR. USE OF THIS SOFTWARE IS RESTRICTED TO | ||
PERSONS AND ORGANIZATIONS WHO CAN AND WILL TAKE FULL RESPONSIBILITY FOR ALL | ||
LOSSES, COSTS, OR OTHER PROBLEMS THEY INCUR DUE TO THE SOFTWARE, AND WHO | ||
FURTHERMORE EFFECTIVELY INDEMNIFY JOHN HAUSER AND THE INTERNATIONAL COMPUTER | ||
SCIENCE INSTITUTE (possibly via similar legal warning) AGAINST ALL LOSSES, | ||
COSTS, OR OTHER PROBLEMS INCURRED BY THEIR CUSTOMERS AND CLIENTS DUE TO THE | ||
SOFTWARE. | ||
|
||
Derivative works are acceptable, even for commercial purposes, provided | ||
that the minimal documentation requirements stated in the source code are | ||
satisfied. | ||
|
||
|
||
---------------------------------------------------------------------------- | ||
Contact Information | ||
|
||
At the time of this writing, the most up-to-date information about | ||
SoftFloat and the latest release can be found at the Web page `http:// | ||
www.cs.berkeley.edu/~jhauser/arithmetic/SoftFloat.html'. | ||
|
||
|
||
MAME note: this package is derived from the following original SoftFloat | ||
package and has been "re-packaged" to work with MAME's conventions and | ||
build system. The source files come from bits64/ and bits64/templates | ||
in the original distribution as MAME requires a compiler with a 64-bit | ||
integer type. | ||
Package Overview for SoftFloat Release 2b | ||
John R. Hauser | ||
2002 May 27 | ||
---------------------------------------------------------------------------- | ||
Overview | ||
SoftFloat is a software implementation of floating-point that conforms to | ||
the IEC/IEEE Standard for Binary Floating-Point Arithmetic. SoftFloat is | ||
distributed in the form of C source code. Compiling the SoftFloat sources | ||
generates two things: | ||
-- A SoftFloat object file (typically `softfloat.o') containing the complete | ||
set of IEC/IEEE floating-point routines. | ||
-- A `timesoftfloat' program for evaluating the speed of the SoftFloat | ||
routines. (The SoftFloat module is linked into this program.) | ||
The SoftFloat package is documented in four text files: | ||
SoftFloat.txt Documentation for using the SoftFloat functions. | ||
SoftFloat-source.txt Documentation for compiling SoftFloat. | ||
SoftFloat-history.txt History of major changes to SoftFloat. | ||
timesoftfloat.txt Documentation for using `timesoftfloat'. | ||
Other files in the package comprise the source code for SoftFloat. | ||
Please be aware that some work is involved in porting this software to other | ||
targets. It is not just a matter of getting `make' to complete without | ||
error messages. I would have written the code that way if I could, but | ||
there are fundamental differences between systems that can't be hidden. | ||
You should not attempt to compile SoftFloat without first reading both | ||
`SoftFloat.txt' and `SoftFloat-source.txt'. | ||
---------------------------------------------------------------------------- | ||
Legal Notice | ||
SoftFloat was written by me, John R. Hauser. This work was made possible in | ||
part by the International Computer Science Institute, located at Suite 600, | ||
1947 Center Street, Berkeley, California 94704. Funding was partially | ||
provided by the National Science Foundation under grant MIP-9311980. The | ||
original version of this code was written as part of a project to build | ||
a fixed-point vector processor in collaboration with the University of | ||
California at Berkeley, overseen by Profs. Nelson Morgan and John Wawrzynek. | ||
THIS SOFTWARE IS DISTRIBUTED AS IS, FOR FREE. Although reasonable effort | ||
has been made to avoid it, THIS SOFTWARE MAY CONTAIN FAULTS THAT WILL AT | ||
TIMES RESULT IN INCORRECT BEHAVIOR. USE OF THIS SOFTWARE IS RESTRICTED TO | ||
PERSONS AND ORGANIZATIONS WHO CAN AND WILL TAKE FULL RESPONSIBILITY FOR ALL | ||
LOSSES, COSTS, OR OTHER PROBLEMS THEY INCUR DUE TO THE SOFTWARE, AND WHO | ||
FURTHERMORE EFFECTIVELY INDEMNIFY JOHN HAUSER AND THE INTERNATIONAL COMPUTER | ||
SCIENCE INSTITUTE (possibly via similar legal warning) AGAINST ALL LOSSES, | ||
COSTS, OR OTHER PROBLEMS INCURRED BY THEIR CUSTOMERS AND CLIENTS DUE TO THE | ||
SOFTWARE. | ||
Derivative works are acceptable, even for commercial purposes, provided | ||
that the minimal documentation requirements stated in the source code are | ||
satisfied. | ||
---------------------------------------------------------------------------- | ||
Contact Information | ||
At the time of this writing, the most up-to-date information about | ||
SoftFloat and the latest release can be found at the Web page `http:// | ||
www.cs.berkeley.edu/~jhauser/arithmetic/SoftFloat.html'. | ||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,61 +1,61 @@ | ||
/*---------------------------------------------------------------------------- | ||
| One of the macros `BIGENDIAN' or `LITTLEENDIAN' must be defined. | ||
*----------------------------------------------------------------------------*/ | ||
#ifdef LSB_FIRST | ||
#define LITTLEENDIAN | ||
#else | ||
#define BIGENDIAN | ||
#endif | ||
|
||
/*---------------------------------------------------------------------------- | ||
| The macro `BITS64' can be defined to indicate that 64-bit integer types are | ||
| supported by the compiler. | ||
*----------------------------------------------------------------------------*/ | ||
#define BITS64 | ||
|
||
/*---------------------------------------------------------------------------- | ||
| Each of the following `typedef's defines the most convenient type that holds | ||
| integers of at least as many bits as specified. For example, `uint8' should | ||
| be the most convenient type that can hold unsigned integers of as many as | ||
| 8 bits. The `flag' type must be able to hold either a 0 or 1. For most | ||
| implementations of C, `flag', `uint8', and `int8' should all be `typedef'ed | ||
| to the same as `int'. | ||
*----------------------------------------------------------------------------*/ | ||
|
||
typedef sint8 flag; | ||
typedef sint8 int8; | ||
typedef sint16 int16; | ||
typedef sint32 int32; | ||
typedef sint64 int64; | ||
|
||
/*---------------------------------------------------------------------------- | ||
| Each of the following `typedef's defines a type that holds integers | ||
| of _exactly_ the number of bits specified. For instance, for most | ||
| implementation of C, `bits16' and `sbits16' should be `typedef'ed to | ||
| `unsigned short int' and `signed short int' (or `short int'), respectively. | ||
*----------------------------------------------------------------------------*/ | ||
typedef uint8 bits8; | ||
typedef sint8 sbits8; | ||
typedef uint16 bits16; | ||
typedef sint16 sbits16; | ||
typedef uint32 bits32; | ||
typedef sint32 sbits32; | ||
typedef uint64 bits64; | ||
typedef sint64 sbits64; | ||
|
||
/*---------------------------------------------------------------------------- | ||
| The `LIT64' macro takes as its argument a textual integer literal and | ||
| if necessary ``marks'' the literal as having a 64-bit integer type. | ||
| For example, the GNU C Compiler (`gcc') requires that 64-bit literals be | ||
| appended with the letters `LL' standing for `long long', which is `gcc's | ||
| name for the 64-bit integer type. Some compilers may allow `LIT64' to be | ||
| defined as the identity macro: `#define LIT64( a ) a'. | ||
*----------------------------------------------------------------------------*/ | ||
#define LIT64( a ) a##ULL | ||
|
||
/*---------------------------------------------------------------------------- | ||
| The macro `INLINE' can be used before functions that should be inlined. If | ||
| a compiler does not support explicit inlining, this macro should be defined | ||
| to be `static'. | ||
*----------------------------------------------------------------------------*/ | ||
// MAME defines INLINE | ||
/*---------------------------------------------------------------------------- | ||
| One of the macros `BIGENDIAN' or `LITTLEENDIAN' must be defined. | ||
*----------------------------------------------------------------------------*/ | ||
#ifdef LSB_FIRST | ||
#define LITTLEENDIAN | ||
#else | ||
#define BIGENDIAN | ||
#endif | ||
|
||
/*---------------------------------------------------------------------------- | ||
| The macro `BITS64' can be defined to indicate that 64-bit integer types are | ||
| supported by the compiler. | ||
*----------------------------------------------------------------------------*/ | ||
#define BITS64 | ||
|
||
/*---------------------------------------------------------------------------- | ||
| Each of the following `typedef's defines the most convenient type that holds | ||
| integers of at least as many bits as specified. For example, `uint8' should | ||
| be the most convenient type that can hold unsigned integers of as many as | ||
| 8 bits. The `flag' type must be able to hold either a 0 or 1. For most | ||
| implementations of C, `flag', `uint8', and `int8' should all be `typedef'ed | ||
| to the same as `int'. | ||
*----------------------------------------------------------------------------*/ | ||
|
||
typedef sint8 flag; | ||
typedef sint8 int8; | ||
typedef sint16 int16; | ||
typedef sint32 int32; | ||
typedef sint64 int64; | ||
|
||
/*---------------------------------------------------------------------------- | ||
| Each of the following `typedef's defines a type that holds integers | ||
| of _exactly_ the number of bits specified. For instance, for most | ||
| implementation of C, `bits16' and `sbits16' should be `typedef'ed to | ||
| `unsigned short int' and `signed short int' (or `short int'), respectively. | ||
*----------------------------------------------------------------------------*/ | ||
typedef uint8 bits8; | ||
typedef sint8 sbits8; | ||
typedef uint16 bits16; | ||
typedef sint16 sbits16; | ||
typedef uint32 bits32; | ||
typedef sint32 sbits32; | ||
typedef uint64 bits64; | ||
typedef sint64 sbits64; | ||
|
||
/*---------------------------------------------------------------------------- | ||
| The `LIT64' macro takes as its argument a textual integer literal and | ||
| if necessary ``marks'' the literal as having a 64-bit integer type. | ||
| For example, the GNU C Compiler (`gcc') requires that 64-bit literals be | ||
| appended with the letters `LL' standing for `long long', which is `gcc's | ||
| name for the 64-bit integer type. Some compilers may allow `LIT64' to be | ||
| defined as the identity macro: `#define LIT64( a ) a'. | ||
*----------------------------------------------------------------------------*/ | ||
#define LIT64( a ) a##ULL | ||
|
||
/*---------------------------------------------------------------------------- | ||
| The macro `INLINE' can be used before functions that should be inlined. If | ||
| a compiler does not support explicit inlining, this macro should be defined | ||
| to be `static'. | ||
*----------------------------------------------------------------------------*/ | ||
// MAME defines INLINE |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,42 +1,42 @@ | ||
|
||
/*============================================================================ | ||
This C header file is part of the SoftFloat IEC/IEEE Floating-point Arithmetic | ||
Package, Release 2b. | ||
Written by John R. Hauser. This work was made possible in part by the | ||
International Computer Science Institute, located at Suite 600, 1947 Center | ||
Street, Berkeley, California 94704. Funding was partially provided by the | ||
National Science Foundation under grant MIP-9311980. The original version | ||
of this code was written as part of a project to build a fixed-point vector | ||
processor in collaboration with the University of California at Berkeley, | ||
overseen by Profs. Nelson Morgan and John Wawrzynek. More information | ||
is available through the Web page `http://www.cs.berkeley.edu/~jhauser/ | ||
arithmetic/SoftFloat.html'. | ||
THIS SOFTWARE IS DISTRIBUTED AS IS, FOR FREE. Although reasonable effort has | ||
been made to avoid it, THIS SOFTWARE MAY CONTAIN FAULTS THAT WILL AT TIMES | ||
RESULT IN INCORRECT BEHAVIOR. USE OF THIS SOFTWARE IS RESTRICTED TO PERSONS | ||
AND ORGANIZATIONS WHO CAN AND WILL TAKE FULL RESPONSIBILITY FOR ALL LOSSES, | ||
COSTS, OR OTHER PROBLEMS THEY INCUR DUE TO THE SOFTWARE, AND WHO FURTHERMORE | ||
EFFECTIVELY INDEMNIFY JOHN HAUSER AND THE INTERNATIONAL COMPUTER SCIENCE | ||
INSTITUTE (possibly via similar legal warning) AGAINST ALL LOSSES, COSTS, OR | ||
OTHER PROBLEMS INCURRED BY THEIR CUSTOMERS AND CLIENTS DUE TO THE SOFTWARE. | ||
Derivative works are acceptable, even for commercial purposes, so long as | ||
(1) the source code for the derivative work includes prominent notice that | ||
the work is derivative, and (2) the source code includes prominent notice with | ||
these four paragraphs for those parts of this code that are retained. | ||
=============================================================================*/ | ||
|
||
/*---------------------------------------------------------------------------- | ||
| Include common integer types and flags. | ||
*----------------------------------------------------------------------------*/ | ||
#include "mamesf.h" | ||
|
||
/*---------------------------------------------------------------------------- | ||
| Symbolic Boolean literals. | ||
*----------------------------------------------------------------------------*/ | ||
#define FALSE 0 | ||
#define TRUE 1 | ||
|
||
/*============================================================================ | ||
This C header file is part of the SoftFloat IEC/IEEE Floating-point Arithmetic | ||
Package, Release 2b. | ||
Written by John R. Hauser. This work was made possible in part by the | ||
International Computer Science Institute, located at Suite 600, 1947 Center | ||
Street, Berkeley, California 94704. Funding was partially provided by the | ||
National Science Foundation under grant MIP-9311980. The original version | ||
of this code was written as part of a project to build a fixed-point vector | ||
processor in collaboration with the University of California at Berkeley, | ||
overseen by Profs. Nelson Morgan and John Wawrzynek. More information | ||
is available through the Web page `http://www.cs.berkeley.edu/~jhauser/ | ||
arithmetic/SoftFloat.html'. | ||
THIS SOFTWARE IS DISTRIBUTED AS IS, FOR FREE. Although reasonable effort has | ||
been made to avoid it, THIS SOFTWARE MAY CONTAIN FAULTS THAT WILL AT TIMES | ||
RESULT IN INCORRECT BEHAVIOR. USE OF THIS SOFTWARE IS RESTRICTED TO PERSONS | ||
AND ORGANIZATIONS WHO CAN AND WILL TAKE FULL RESPONSIBILITY FOR ALL LOSSES, | ||
COSTS, OR OTHER PROBLEMS THEY INCUR DUE TO THE SOFTWARE, AND WHO FURTHERMORE | ||
EFFECTIVELY INDEMNIFY JOHN HAUSER AND THE INTERNATIONAL COMPUTER SCIENCE | ||
INSTITUTE (possibly via similar legal warning) AGAINST ALL LOSSES, COSTS, OR | ||
OTHER PROBLEMS INCURRED BY THEIR CUSTOMERS AND CLIENTS DUE TO THE SOFTWARE. | ||
Derivative works are acceptable, even for commercial purposes, so long as | ||
(1) the source code for the derivative work includes prominent notice that | ||
the work is derivative, and (2) the source code includes prominent notice with | ||
these four paragraphs for those parts of this code that are retained. | ||
=============================================================================*/ | ||
|
||
/*---------------------------------------------------------------------------- | ||
| Include common integer types and flags. | ||
*----------------------------------------------------------------------------*/ | ||
#include "mamesf.h" | ||
|
||
/*---------------------------------------------------------------------------- | ||
| Symbolic Boolean literals. | ||
*----------------------------------------------------------------------------*/ | ||
#define FALSE 0 | ||
#define TRUE 1 |
Oops, something went wrong.