|82258 packages online|
|No screenshot available||
Slightly less short:
The included powerpc.library is a driver for the Sonnet 7200 G3/G4 PCI card
and the Force PowerPCM-250 G4 PMC 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) 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.
What does it do:
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 PPC card. It also offers WarpOS 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), a 400 MHz G4 (MPC7400) or a
450 MHz G4 (MPC7410). This CPU can be used to run (certain) WarpOS software.
The PPC CPU on the PPC PCI card cannot DMA to Amiga memory. Any access to
non-PPC/PCI memory by the PPC 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, PPC data and code is pushed
to the memory residing on the PPC 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 PPC 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
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.
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.
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 https://github.com/Sakura-IT/SonnetAmiga for the latest build and the
latest documentation regarding compatibility, FAQs and issues.
See http://amigafun.blogspot.com/search/label/Sonnet for some demonstrations of
the Sonnet card in action.
In the archive:
powerpc.library: Library that initializes the PPC and handles the
communication between the system and the PPC card.
InitPPC: Initializes the PPC card using the powerpc.library
GetInfo: Simple program to show the state of the PPC CPU on the
PPC card after initialization.
StartPPC: Simple script if don't want to put the library in the
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.
What has changed since 17.7:
- Fixed a memory leak. Stack of a PPC task was not freed.
- LoadSeg() patch crashed on overlaid files. They are now ignored.
- Added more error handling/messages.
- SnoopTask() on exit was not implemented correctly. Fixed.
- SnoopTask() should now work with SNOOP_START.
- Implemented task exceptions from SetExceptPPC().
- Small compatibility update regarding PPCBase (extended libbase).
- Aligned data handling within the library to 16 byte boundaries (for Altivec).
- Fixed a trashing of a segment pointer inside the LoadSeg() patch.
- Extended LargeContext to hold Altivec registers.
- Modules of WarpRace are now loaded correctly.
- Added support for the Force Computers PowerPMC-250 450MHz G4 card,
- Added CPUF_7410 for MPC7410 CPUs.
- Added size detection code for SDRAM to the library.
- Added option sonnet/EnStackPatch.
What has changed since 17.6:
- CauseInterrupt() and CausePPCInterrupt() now work as intended.
- The option to enable a DSI exception handler now works as intended.
- Removed a lot of special purpose register (SPRGx) usage.
- Made several fixes to the init code when a Radeon is present.
- Loading DefIcons no longers goes into a infinite loop due to LoadSeg() patch.
- Added the ENV variable SetCMemDiv. Now you can set the speed of the L2 cache.
- First hunk of WarpOS programs should now correctly be loaded to FAST RAM.
- Made some tweaks to the AllocMem() patch.
- Cybermand and Cyberpi now work correctly with hunk patch.
- Fixed a memory leak. Stack of deleted PPC tasks was not freed.
- LoadSeg() patch crashed on overlaid files. These are now ignored.
What has changed since 17.5:
- Fully working PP_STACKPTR and PP_STACKSIZE for Run68K().
- Fixed typo in GetPPCState().
- Added more error messages.
- Fixed a bug in the scheduler. Removed tasks were not handled properly.
- Added a memory clean-up task. Memory of removed tasks is now freed properly.
- Added options through ENVARC:sonnet
- Kernel now removes crashed tasks and continues instead of halting.
- Length of context-switch structure was incorrect.
- Completely rewrote all the exception handlers.
- Added DSI, Decrementer and External Interrupt exception hooks.
- Fixed an error in the custom handler code in case of small context used.
- Register r3 was trashed when more than 1 custom handler present. Fixed.
- Added option to force first hunk of WarpOS program to FAST memory by default.
- LoadSeg patch now correctly handles bit 30 of HUNK_SIZE (move to CHIP).
- Sometimes PPC code was loaded into FAST RAM through the LoadSeg patch. Fixed.
- Mediator config jumper can now be in ANY position for the sonnet to work.
- AllocMem() patch now correctly handles CLI names.
- FreeSpace movies now play at full speed.
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.
- Implemented PPF_ASYNC/PP_STACKPTR/PP_STACKSIZE for RunPPC().
- 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.
Improving the compatibility with WarpOS regarding the PPC MMU.
Maybe a version for a towerized A1200. Albeit that several attempts have
utterly failed. Add more PPC cards (824x/745x?) to the supported list.
Now go play Quake III !
Contents of driver/other/SonnetLibrary.lha
PERMISSION UID GID PACKED SIZE RATIO METHOD CRC STAMP NAME
---------- ----------- ------- ------- ------ ---------- ------------ ----------
[unknown] 849 1788 47.5% -lh5- 2c4b Mar 5 1980 SonnetLibrary/c/GetInfo
[unknown] 151 228 66.2% -lh5- 3ebb Apr 17 22:17 SonnetLibrary/c/StartPPC
[unknown] 76 76 100.0% -lh0- b3ba Mar 11 2017 SonnetLibrary/InitPPC
[unknown] 6333 7151 88.6% -lh5- 8a6e Nov 6 2016 SonnetLibrary/InitPPC.info
[unknown] 31348 63856 49.1% -lh5- 3014 Apr 17 00:42 SonnetLibrary/libs/powerpc.library
[unknown] 4402 10221 43.1% -lh5- f6a0 Apr 17 22:50 SonnetLibrary/SonnetLibrary.readme
---------- ----------- ------- ------- ------ ---------- ------------ ----------
Total 6 files 43159 83320 51.8% Apr 17 19:53
|Aminet © 1992-2018 Urban
the Aminet team.
Aminet contact address: <aminetaminet net>|