81788 packages online


No screenshot available
Short:Mediator driver Sonnet 7200 G3/G4 card
Author:dennisvdboon -> gmail (Dennis Boon)
Uploader:dennisvdboon gmail com (Dennis Boon)
Architecture:m68k-amigaos = 3.9
Download: - View contents
Slightly less short:

The sonnet.library is a driver for the Sonnet 7200 G3/G4 PCI card.
What is needed:
- Amiga with Zorro III/PCI slots compatible with a Mediator.
- Elbox Mediator 3000Di/4000Di with 3.3V rail.
- 68040 or better.
- A Radeon 92xx or 3DFX Voodoo3/4/5 card.
- Mediator Warp3D 4.2 for 3D graphics in combination with a 3DFX Voodoo card.
- Sonnet 7200 PCI Card. Supported are MG3-400-512K; MG3-400-1M; MG3-500-1M; 
- 5V 168 pins FPM DIMMs 2K Refresh (up to 256 MB in combination with the
  Voodoo3; 128MB with other supported video cards).
- pci.library version 11.0 or higher.
- AHI for sound. AHI 4.18 recommended.
What does it do:
The library interfaces between the CPU and the memory on a Sonnet 7200 G3/G4
PCI card and the Amiga CPU and memory using the MPC107 chipset on the Sonnet
card. It also offers WarpOS/powerpc.library compatible functions.
What does this mean:
It essentially adds a second CPU to your Amiga through the PCI slot. 
This being either a 400 or 500 MHz G3 (MPC750) or 400 MHz G4 (MPC7400).
This CPU can be used to run (certain) WarpOS software.

The PPC CPU on the Sonnet card cannot DMA to Amiga memory. Any access to
non-Sonnet/PCI memory by the PPC is very slow. Patch programs are provided to
push code/data needed by the PPC CPU inside PCI/Sonnet memory. This is done on
two levels: on the binary level by patching hunk headers of WarpOS programs
and by changing references from powerpc.library to sonnet.library and on
system level by patching the memory allocation function AllocMem(). Both patch
programs can be obtained through the URL provided above. One of them is
included in this archive.

Not all functions of the powerpc.library are yet implemented or will be
implemented (for example memory protection). 100% compatibility will probbly be
never achieved, mostly due to hardware banging of certain WarpOS software.

Sound is restricted to AHI. Paula 8 bit DMA is the recommended setting. At this
moment, the SB128 and FM801 drivers produce a distortion in the sound output.
There are now two versions of the library. One of them is the original
sonnet.library. The new library is called powerpc.library. The difference
between the two versions is that the powerpc.library can transparantly load
WarpOS binaries; no more need to patch them. To initialize this library, you
need InitPPC and not InitSonnet.

The included powerpc.library is for the sonnet only and not compatible with
other PPC solutions (BPPC, CSPPC etc.).
The driver/library is still being actively developed and is in a beta stage.
The version number has been bumped to V17.0 (and now to 17.5) to supersede the
latest powerpc.library (V16.1) for patching reasons. Refer to for the latest build and the latest
documentation regarding compatibility, FAQs and issues. 

See for some demonstrations of
the Sonnet card in action.

In the archive:

sonnet.library:		The driver for the Sonnet 7200 G3/G4 PCI card.
InitSonnet: 		Initializes the Sonnet card using the sonnet.library
powerpc.library:	New driver that does not need patched binaries.
InitPPC:		Initialized the Sonnet card using the powerpc.library
GetInfo:		Simple program to show the state of the PPC CPU on the
			Sonnet card after initialization.

The Sonnet card can only be initialized after the graphics card has been
initialized. This means after C:LoadMonDrvs in the Startup-Sequemce. To use it
with WarpDT, it needs to be initialized before AddDataTypes in the Startup-
Sequence. It is however recommended to start the driver from the workbench
using the provided icon.

What has changed since 17.4:

- Fixed a bug in the FPU opcode detection in the Alignment handler.
- Fixed various Enforcer hits on the 68K side.
- Stack transfer limit 68K->PPC of 164 bytes removed (RunPPC).
- Basic stack transfer support added to Run68K().
- Added support for Radeon with VendorID $5964.
- Added a PPC memory test. This is run during memory initialization.
- Added a timeout for the PPC to report back during initialization.
- Added checks on the SwapConfig and WindowSize jumpers of the mediator.
- Added experimental AltiVec support.
- Added powerpc.library to distribution. See notes above.

What has changed since 17.3:

- Fixed a few more potential hangs with well placed syncs.
- GetInfo() now recognizes modded 433/466/533 MHz Cards.
- Z flag of 68K interrupt now handled correctly upon exit interrupt.
- User code no longer addresses the zero page. That is now Supervisor only.
- Kernel and graphics memory are now handled by BATs by default.
- L2 cache can now cache instructions, not only data.
- L2 cache now set to 200MHz for 400/1MB version instead of 133MHz.
- Fixed a bug in GetHALInfo().
- Fixed a bug where inter-CPU messages were duplicated.
- Inter-CPU messages can now be up to ~64K in size instead of 150 bytes.
- Other miscelaneous fixes to increase stabilty and speed.

What has changed since 17.0:

- Moved all patches inside the library, no more different start-up programs.
- Fixed a bug in CreatePPCTask(). Now APDF works.
- Added better error handling through pop-up windows/requesters.
- Added a ramlib patch to increase stack when needed.
- Fixed the TagItem functions. Now more demos from Mad Wizards started working.
- Fixed a bug in GetInfo that was masked by the bug in the TagItem functions.
- Added shared signal system. Now the signals are shared by the 2 processors.
- Fixed LockTaskList function. Wrong result was returned.
- Added CPUUSage, Busy, Activity, CPU Load and System load code (for WarpStat).
- Fixed a bug in DeleteTaskPPC() as the Snoop list was not correctly freed.
- Fixed a bug in PutXMsg(). WES should work now (albeit slow).
- Added alignment support to AllocVecPPC(); For iFusion..No that does not work.
- Fixed a missing opcode in the FPU alignment emulation code. Now Q1A works.
- Other miscelaneous fixes and optimizations.

The future:

Improving the compatibility with WarpOS. Maybe a version for a towerized A1200.
Albeit that several attempts have utterly failed. Also, the patch tools are not
very user-friendly/flexible. This is on the To-Do list.

Contents of driver/other/SonnetLibrary.lha
---------- ----------- ------- ------- ------ ---------- ------------ ----------
[unknown]                  796    1696  46.9% -lh5- f134 Mar 22 19:12 ..libs/SonnetLibrary/PowerLib/GetInfo
[unknown]                   76      76 100.0% -lh0- b3ba Mar 11 12:03 ..libs/SonnetLibrary/PowerLib/InitPPC
[unknown]                 6333    7151  88.6% -lh5- 8a6e Nov  6 19:51 ..libs/SonnetLibrary/PowerLib/
[unknown]                28856   62108  46.5% -lh5- 8e1f Mar 22 19:27 ..libs/SonnetLibrary/PowerLib/powerpc.library
[unknown]                  802    1708  47.0% -lh5- ec2b Mar 22 19:27 ..libs/SonnetLibrary/SonnetLib/GetInfo
[unknown]                   76      76 100.0% -lh0- 26a0 Sep  4  2016 ..libs/SonnetLibrary/SonnetLib/InitSonnet
[unknown]                 6333    7151  88.6% -lh5- 8a6e Nov  6 19:51 ..libs/SonnetLibrary/SonnetLib/
[unknown]                28929   62356  46.4% -lh5- 754c Mar 22 19:27 ..libs/SonnetLibrary/SonnetLib/sonnet.library
[unknown]                 2988    6575  45.4% -lh5- e018 Mar 22 19:09 ..libs/SonnetLibrary/SonnetLibrary.readme
---------- ----------- ------- ------- ------ ---------- ------------ ----------
 Total         9 files   75189  148897  50.5%            Mar 22 21:27

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