Update SCSI podule driver for more recent SCSI switchers
The SCSISoftWD33C93 driver was used as a test bed for the SCSI switcher, but a typo in the supported features mask meant that it didn't work any longer after SCSI switch 2.01 (version 2.00 didn't check the features mask, hence it worked). Makefile * Can now produce either SCSILog or standalone SCSIDriver or SCSISoft module, based on the TARGET and/or COMPONENT SCSIEquates * Shuffle some common equates around so the same header can be used with SCSILog and SCSIDriver SCSIMacros * A cut and paste fumble meant the DisableIRQs macro actually left them enabled * Lined up SCSIDriver * Changed to accept podule numbers 0-7 for Risc PC (was 0-3) * Get the base address from Podule manager rather than IOC era logical addresses * Chopped out some long redundant switches * Use PSR manipulation macros to allow 26 or 26/32 or 32 bit compatible variants * Fix typo in features mask to &22 (was &21) * Use PLP after PHPSEI rather than RestPSR, the preserve value from PHPSEI is not guaranteed RestPSR compatible * Don't re-register a second time on Service_Reset, this is not needed in the loaded-from-ROM; loaded-from-disc; or reinit cases (since the module initialisation already registers), and don't wipe the workspace when a client to SCSI switcher (it get's very confused as transactions are in play) SCSILog * Delete defines now taken from SCSIEquates * Get the base address from Podule manager rather than IOC era logical addresses * Changed to accept podule numbers 0-7 for Risc PC (was 0-3) Requires HdrSrc-2_32 Tested on AKA31 podule, on a StrongARM RISC OS 3.70, and a StrongARM RISC OS 5.20, in both SCSISoftWD33C93 and SCSIDriver configurations connected to a CD-ROM drive and harddisc, copying the contents of a random CD onto the harddisc. Version 1.18. Tagged as 'SCSIDriver-1_18'
Showing with 197 additions and 236 deletions