Sonnet first time installation guide - Sakura-IT/SonnetAmiga GitHub Wiki
Note 1: Information in this guide is correct at the time of writing but the code to make the magic work continues to be developed which might mean this guide becomes out of date.
Note 2: Installing a Sonnet in an Amiga does require a certain amount of care, Amiga knowledge and skill. Take all the usual precautions for turning off the power before changing hardware, avoiding static discharge etc.
Overview of steps to follow
- Ensure you have the right hardware and software
- Install the Mediator and check it is working properly
- Install the Sonnet and check PPC programs work
- Install Warp 3D
- Additional notes
It is important to get each of these steps working fully first before moving onto the next step otherwise it risks building on shaky foundations. It can also help to back up your SYS: partition at the end of each Step in case something goes wrong and you need to start the last step again.
1. Ensure you have the right hardware and software
The main wiki page lists the current hardware requirements, but in short you need an A3000(T) or A4000(T) with a 3v Mediator (or a Sonnet modified for 5V), a supported graphics card and a working Sonnet 7200 (test in a Mac first).
NB the Mediator 1200TX is not supported.
Crucially, you also need memory to mount on the Sonnet itself because it cannot make efficient use of the Amiga's own memory and this must be 2k refresh RAM (4k and 8k are not supported), which also limits the effective size of DIMMs to 64Mb max each.
Amiga 68k accelerators are supported and users have successfully run Sonnets alongside Cyberstorms, Warpengines, A3640s, and Apollo 4060s. At the time of writing, only '040 or '060 CPUs with MMUs are supported.
Check that your power supply is working well. Adding a graphics card and a Sonnet will load the power supply further and could cause spurious faults.
On the software side, start with a clean install of AOS3.9 and Boing Bags 1 and 2.
Do not install WarpOS even if you have a Cyberstorm PPC - it is beyond the scope of this guide to use WarpOS's powerpc.library and the Sonnet's powerpc.library together on the same machine.
Check that your system is stable in this configuration with your original daughterboard before proceeding to the next step.
2. Install the Mediator
Follow the instructions with the Mediator to install it by replacing the original daughterboard. Install your graphics card in the Mediator but no other PCI cards yet.
Install the software from the Mediator CD but NOT Warp3D at this stage. Update to the latest driver versions available on the Elbox website. Note: you must install at least version 11.0 of pci.library.
The key configuration settings for the Mediator at this stage are:
Buster - whatever version you have in your A3000/4000
VoodooMem/RadeonMem - set to 3Mb less than the total memory on your graphics card to allow some room for the system to operate in
VoodooMemOS/RadeonMemOS - Yes
VoodooInt - Yes
Install Picasso 96 (at least version 2.1b) and ensure you can successfully open Workbench in an RTG screen.
A Mediator is a complex combination of hardware and software even before you add a Sonnet, so it's important to get the Mediator and graphics card working first. If it doesn't work, there is plenty of guidance on the web, and full details of the complete configuration settings for a working set up are provided on a separate wiki page.
3. Install the Sonnet
Now it's time to plug in the Sonnet (with memory) into the Mediator. Any PCI slot will do but there are physical limitations to think about given the memory stands up perpendicular to the Sonnet - will the DIMMs clash with your graphics card or the lid on your Amiga? Also, the Sonnet generates a certain amount of heat as do some PCI graphics cards - will your valuable hardware stay cool enough?
Ensure that the hardware jumpers on your Mediator are set correctly. Only the following combination is supported:
Winsize: closed
Master: closed
Config: open or closed based on your hardware but the library supports either (eg ZorRAM, BigRAMPlus and FastATA all require config closed)
Turn on the Amiga and run pciinfo
at the CLI from the Mediator CD. It should show one entry in the list like the following (the PCI device number, memspace etc will depend on your exact configuration):
Pci Device 2:
VendorID: $1057
VendorName: Motorola
DeviceID: $4
DeviceName: MPC107 PCI Bridge/Memory Controller for PPC
ClassCode: $e0001
RevisionID: $12
InterruptPin: 3
SubsystemVendorID: $0
SubsystemID: $0
MemSpace1: $44100000 - $44100fff
If you can't see an entry in the list for the MPC107 PCI Bridge etc then your set up is not right. Check all the steps above until you can see this output from pciinfo
.
You can obtain latest development build of SonnetAmiga from: https://jenkins.sakura-it.pl/job/sonnetamiga/
Next copy the following files from the Sonnet lha archive:
InitPPC
and GetInfo
to C: and
powerpc.library
to Libs:
Warm reboot your Amiga and boot without a startup-sqeuence. When you get to the command prompt, enter the following:
Setpatch NOROMUPDATE
makedir RAM:ENV
assign ENV: RAM:ENV
copy ENVARC:#? to ENV: ALL
c:loadmondrvs
This will get a minimum level of the OS going. Now enter:
C:InitPPC
This command initiates the Sonnet via the special powerpc.library.
NB this is a completely different library to the WarpOS powerpc.library but is fixed to show the same version number as the latest WarpOS library for any software that checks the version number. Do not confuse the Sonnet library with the WarpOS one!
The InitPPC command has a lot to do and it can take a few seconds to complete. Once the command prompt returns, enter:
GetInfo
If all is working correctly, this will return diagnostic information about your Sonnet such as the clock speed and cache RAM size. I get the following:
CPU: PPC 750 (PVR = 00088300)
CPU clock: 400.000000 MHz
Bus clock: 66.666666 MHz
Instruction Cache: ON and UNLOCKED
Data Cache: ON and UNLOCKED
Page table location: 01700000
Page table size: 1024 KBytes
PPC Uptime: 20.626099 seconds
CPU load: 0.00%
System load: 0.00%
L2 Cache: ENABLED
L2 State: COPY-BACK
L2 Size: 512 KBytes
FPU Align Emulation: 0 times
DSI Emulation: 0 times
If you have successfully got this far, congratulations! because your Sonnet set up is basically working.
Now amend your startup-sequence (ed s:startup-sequence
) to add Run >NIL: <NIL: C:InitPPC
at any point after loadmondrvs
and before the datatypes are loaded to initiate the Sonnet whenever you boot to Workbench.
There are various environment variables that the Sonnet library supports that are completely different to the WarpOS environment variables. None need to be set for a basic installation but they are described elsewhere on this wiki.
To check the Sonnet further you can run the following tests:
Bogomips
from the Sonnet archive. I get around 800 Bogomips on a 400 MHz Sonnet with 512KB cache.
CyberPi
and CyberMand
which are both PPC demos from the WarpUP archive/demos directory. Do NOT run the installer or install WarpOS, however.
@dvdboon also recommends installing proper memory management software, although it is not strictly necessary. This comes from Thor's MMULib suite of software (available on Aminet), see SonnetAmiga and MMU library for more information.
4. Installing Warp3D
First, ensure you are running your Workbench in a 16 bit PC video mode. (Most Warp3D applications will set their own screenmodes but some just use the Workbench screen and will likely crash without the right screenmode.)
Next set the following environment variables:
Setenv Mediator/Warp3D No
Setenv ENVARC:Mediator/Warp3D No
Although this seems completely opposite, this is required!
You can now install the libraries, which are available from the archive "Warp3D_for_Mediator.lha" from the Elbox website (at least version 4.2). To have total control over what is happening, it is better NOT to use the installer but copy the libraries by hand as follows:
Warp3D.library
and Warp3DPPC.library
to libs:
W3D_Picasso96.library
and W3D_Picasso96_PPC.library
to libs:Warp3D/GFXdrivers
W3D_AvengerBE.library
and W3D_AvengerBE_PPC.library
to libs:Warp3D/HWdrivers
W3D_AvengerLE.library
and W3D_AvengerLE_PPC.library
to libs:Warp3D/HWdrivers too
That completes the installation, now to the testing.
Copy the Warp3D demos from the Mediator CD to a convenient place (do NOT run any installers). Now run "WarpTest". This should give you a basic wall panel texture which you can zoom and move about. If this
doesn't work properly, then something is wrong with your Warp3D install - check the instructions above carefully.
Now run "Gears_68k" from the Warp3D demos. Again, this is a test of Warp3D without the PPC. You should get a gear rotating (slowly) on the screen. If not, check your installation.
Finally, run "Gears_PPC" from the Warp3D demos. This is a check your Sonnet is driving Warp3D and you should get the same gear now rotating nice and smoothly. If not, check the steps above.
That completes the basic set up of the Sonnet with Warp3D. There's a lot more to tweak to get some of the more complex programs/games working but that's outside the scope of this basic install guide.
If you get really stuck after following these instructions carefully, ask on the English Amiga Board thread: Sonnet 7200 PCI programming or create issue here on GitHub, describing your problem.
5. Additional notes
Initialisation on demand
Some users don't want the Sonnet to be initialised on every boot but only on demand. To do this requires keeping the library outside of Libs: There are a couple of steps:
First, remove InitPPC
from your startup-sequence and remove powerpc.library
from libs:
. Make a directory called libs:powerpc
or sys:powerpc
or something to your liking. Move the powerpc.library
inside this folder.
The second step is to write a small script to manually start the library, eg:
Assign sys:powerpc libs: ADD
InitPPC
Where sys:powerpc
is where you moved the powerpc.library
to. Then running this script will manually start the Sonnet. Don't forget to set the s protection bit
of the script. InitPPC
needs to reside in C:
for this to work.
BoingBag 4 and A4000
Old versions of BB4 incorrectly installed card.resource
on A4000s, which causes various problems including with the Sonnet. If you install BB4, edit your startup-sequence and remove the reference to DEVS:card.resource
in the LoadResident
line near the start.
AHI settings
The recommended settings for AHI are to set Music and Unit 0 to Paula 8-bit DMA, and (eg for AmigaAMP) to set Unit 1 to a Stereo++ mode.
Stack problems
Stacks are abysmally small if they are kept at default size. Without any stack enlarging programs, you will experience crashes of notably tasks called WBL and Ramlib. It is recommended to install StackAttack2 from Aminet.
-Wrangler