AminetAminet
Search:
84308 packages online
About
Recent
Browse
Search
Upload
Setup
Services

misc/misc/fmovecr_dump.lha

Mirror:Random
Showing:m68k-amigaosppc-amigaosppc-morphosi386-arosi386-amithlonppc-warpupppc-powerupgeneric
No screenshot available
Short:Reads the FPU ROM. Send me the output!
Author:Anders 'pipe' Andersson
Uploader:pipatron gmail com
Type:misc/misc
Version:1.0
Requires:FPU
Architecture:m68k-amigaos >= 1.2
Date:2016-03-08
Download:http://aminet.net/misc/misc/fmovecr_dump.lha - View contents
Readme:http://aminet.net/misc/misc/fmovecr_dump.readme
Downloads:570

This tool will read out the undocumented ROM constants from an FPU, and I
would like everyone with a physical FPU to run it and report back! Here's why:


=== BACKGROUND ===

The MC68881 and MC68882 FPU has a small ROM containing internal constants, such
as pi, e, and other more or less useful numbers. These constants can be read
out with an instruction called FMOVECR, "Move Constant ROM".

Now, there is a paragraph in the M68000PM/AD which made me curious, it goes
something like this:

 "The on-chip ROM contains other constants useful only to the on-chip microcode
  routines. The values contained at offsets other than those defined above are
  reserved for the use of Motorola and may be different on various mask sets of
  the floating-point coprocessor. These undefined values yield the value 0.0 in
  the M68040FPSP."

The reason for the last sentence is that the FMOVECR instruction does not exist
on the 68040 and 68060, and is emulated in software. The emulation software
does not need these ROM constants, so it only emulates the defined values.

There are 128 possible constants that FMOVECR can read, of which only 22 are
defined. I have a strong suspicion that the first and second half are mirrored,
leaving 42 reserved and unknown constants.

I have written a small tool which will extract these constants to a table,
format it for easier viewing, and I would like everyone with a *PHYSICAL* FPU
to run it and send me the output.


=== USAGE ===

Running the tool is very simple. You have to run it from a Shell or CLI, and
give the name of the file you want it to create. It will then verify if you
have the required hardware, collect the data, and create a text file:

  fmovecr_dump RAM:fmovecr.txt

The file is roughly 9 kB.

If the file seems to contain strange hexadecimal digits and stuff, I would like
you to send it to me, using one of the following methods:

	email: pipatron at gmail.com, preferably with "fmovecr" in the title
	IRC: Highlight pipe on #amycoders  at  IRCnet


Contents of misc/misc/fmovecr_dump.lha
PERMISSION  UID  GID    PACKED    SIZE  RATIO METHOD CRC     STAMP     NAME
---------- ----------- ------- ------- ------ ---------- ------------ ----------
[generic]                 9730   16672  58.4% -lh5- eeb1 Mar  8  1980 fmovecr_dump/fmovecr_dump
[generic]                 1156    2186  52.9% -lh5- 8350 Mar  8  1980 fmovecr_dump/README
[generic]                 1690    4199  40.2% -lh5- 9a0e Mar  8  1980 fmovecr_dump/source/fmovecr_dump.c
[generic]                  456    1084  42.1% -lh5- 4aa7 Mar  8  1980 fmovecr_dump/source/fmovecr_helper.s
[generic]                   96     131  73.3% -lh5- 8adb Mar  8  1980 fmovecr_dump/source/SCOPTIONS
[generic]                  138     273  50.5% -lh5- 3154 Mar  8  1980 fmovecr_dump/source/smakefile
---------- ----------- ------- ------- ------ ---------- ------------ ----------
 Total         6 files   13266   24545  54.0%            Mar  8 21:18

Aminet © 1992-2023 Urban Müller and the Aminet team. Aminet contact address: <aminetaminet net>