Sonnet PowerPC PCI users Gets a Working PowerPC Experience

If you have got an Amiga home computer with Mediator PCI expansion from Elbox. Then you should look no further! With this library package that is now available for free on Aminet, you can get Sonnet PowerPC PCI cards to work. The included powerpc.library is a driver for the Sonnet 7200 G3 or G4 PCI card and the Force PowerPCM-250 G4 PMC card.

Sonnet PowerPC PCI users Gets a Working PowerPC Experience

What is needed for getting Sonnet PowerPC PCI card Working

  • Any Amiga with Zorro III/PCI slots compatible with a Mediator.
  • Elbox Mediator 3000Di/4000Di with 3.3V rail.
  • 68040 or better that includes 68060 and even 68080 FPGA in the future
  • 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; MG4-400-1M.
  • 5V 168 pins FPM DIMMs 2K Refresh (up to 256 MB in combination with the Voodoo3; 128MB with other supported video cards) for the Sonnet.
  • Force PowerPMC-250 Card boasting a 450MHz G4 CPU and on-board SDRAM. PMC carrier card required.
  • pci.library version 13.1 or higher.
  • AHI for sound. AHI 4.18 recommended.

This is What powerpc.library do when installed in LIBS: folder in your AmigaOS 3.x system partition

The library interfaces between the CPU and the memory on a Sonnet 7200 G3/G4 or PowerPMC-250 G4 PCI card and the Amiga CPU and memory using the MPC107 chipset on the PowerPC card. It also offers WarpOS compatible functions.

This mean that it essentially adds a second CPU to your Amiga through the PCI slot. This being either a 400MHz or 500MHz G3 (MPC750), a 400MHz G4 (MPC7400) or a 450MHz G4 (MPC7410). This CPU can be used to run (certain) WarpOS software.

Restrictions to powerpc.library at current state of development

The PowerPC CPU on the PowerPC Sonnet PCI card cannot DMA to Amiga memory at the current state. Any access to non-PPC/PCI memory by the PowerPC is very slow. The library is trying to avoid this by means of patching the AllocMem(), LoadSeg() and process creation functions (the latter is optional). This way, PowerPC data and code is pushed to the memory residing on the PowerPC card itself. This is not 100% watertight and failure of these patches can lead to a DSI/ISI exception or very slow execution of the PowerPC program.

Not all functions of the original WarpOS powerpc.library are yet implemented or will be implemented (for example memory protection). 100% compatibility will probably 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. Paula 8 bit Fast modes have seen some success too.

Albeit that a the library supports AltiVec code, this has not been fully tested as there exist to this moment no WarpOS programs with AltiVec code.

Options for the PowerPC Sonnet PCI card

The library supports options through ENVARC:sonnet. Currently supported are:

  • – EnEDOMem (0 or 1): Enable if you have EDO RAM installed. Default = 0.
  • – Debug (0-3): set the level of debug messages. 0 = no messages (default).
  • – EnAlignExc (0 or 1): Enable the installation of a user handler for the Align Exception. Default = 0.
  • – DisL2Cache (0 or 1): Disable the L2 cache. Default = 0.
  • – DisL2Flush (0 or 1): Disables the full flush of the L2 cache. Can speed up things if it doesn’t crash. Default = 0.
  • – EnDAccessExc: See EnAlignExc, but now for the Data Access Exception (DSI).
  • – DisHunkPatch (0 or 1): Disable automatic pushing first code hunk to FAST RAM. Default = 0.
  • – EnStackPatch (0 or 1): Try to push 68K stack and task structures to FAST RAM. This is done by patching CreateNewProc(), CreateProc(), SystemTagList() and RunCommand(). Default = 0.

Notes regarding this powerpc.library on Aminet

The sonnet.library present in the previous archives is no longer supported. The included powerpc.library is for the Sonnet and PowerPMC card 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. 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 you find as follows

  1. powerpc.library: Library that initializes the PPC and handles the communication between the system and the PPC card.
  2. InitPPC: Initializes the PPC card using the powerpc.library
  3. GetInfo: Simple program to show the state of the PPC CPU on the PPC card after initialization.
  4. StartPPC: Simple script if don’t want to put the library in the Startup=Sequence.

The Sonnet or PowerPMC 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 or using the provided script.

Fantastic work made by the powerpc.library maker making Sonnet PowerPC PCI cards useable for Amiga users

Dennis Boon is amazing at giving Mediator users this service. Finally Mediator PCI users can have fun getting some PowerPC power out of Sonnet PowerPC PCI cards. Amitopia haven’t tried any Sonnet PowerPC PCI card but seeing this library getting updated means that there is progress which is worthy writing about.

Mediator cards from Elbox gives PCI slots for classic Amiga home computers. They allow any Amiga’n to install ATI Radeon 9250 PCI graphics cards and SoundBlaster PCI 16-bit sound cards. And now Dennis gives Amigan’s PCI PowerPC power. Great support for sure. The Amiga community needs more people like Dennis for sure. Kudos to him.