This document details the hardware SIDs and how they are supported
on the various platforms.

VICE supports the following hardware SIDs:

Name                    | interface | platform(s)
-------------------------------------------------
CatWeasel MK3/4         | Zorro bus | AmigaOS3/AmigaOS4
CatWeasel MK3/4         | Clockport | AmigaOS3/AmigaOS4
CatWeasel MK3/4         | PCI bus   | AmigaOS3/AmigaOS4/MorphOS/BeOS/DOS/Linux/Windows
HardSID (Quattro)       | ISA bus   | AmigaOS3/BeOS/DOS/FreeBSD/Linux/NetBSD/OpenBSD/Windows
HardSID (Quattro)       | PCI bus   | AmigaOS3/AmigaOS4/MorphOS/BeOS/DOS/Linux/Windows
HardSID Uno/Quattro     | USB       | Windows
ParSID                  | Par port  | BeOS/DOS/FreeBSD/Linux/NetBSD/OpenBSD/Windows
SSI-2001                | ISA bus   | AmigaOS3/BeOS/DOS/FreeBSD/Linux/NetBSD/OpenBSD/Windows


CatWeasel MK3/4 on Zorro bus on AmigaOS3:
-----------------------------------------

- using catweaselsid.device.
- using direct memory access.


CatWeasel MK3/4 on Zorro bus on AmigaOS4:
-----------------------------------------

- using catweaselsid.device.


CatWeasel MK3/4 on Clockport on AmigaOS3:
-----------------------------------------

- using direct memory access, all known clockport addresses are scanned.


CatWeasel MK3/4 on Clockport on AmigaOS4:
-----------------------------------------

- using catweaselsid.device.


CatWeasel MK3/4 on PCI bus on AmigaOS3:
---------------------------------------

- using openpci.library.


CatWeasel MK3/4 on PCI bus on AmigaOS4:
---------------------------------------

- using OS4 PCI access.


CatWeasel MK3/4 on PCI bus on MorphOS:
--------------------------------------

- using openpci.library.


CatWeasel MK3/4 on PCI bus on BeOS:
-----------------------------------

- using direct PCI I/O access.


CatWeasel MK3/4 on PCI bus on DOS:
----------------------------------

- using PCI BIOS calls, PCI 2.0c or higher support needs to be available in the BIOS.


CatWeasel MK3/4 on PCI bus on Linux:
------------------------------------

- using Linux driver.
- using /dev/port PCI I/O access.
- using ioperm() and direct PCI I/O access.


CatWeasel MK3/4 on PCI bus on Windows:
--------------------------------------

- using Windows driver (98/ME/2000/XP/2003).
- using direct PCI I/O access (95/98/ME).
- using winio.dll PCI I/O access (NT4).
- using winio32.dll PCI I/O access (2000/XP).


HardSID (Quattro) on ISA bus on AmigaOS3:
-----------------------------------------

- using Golden Gate 2+ ISA I/O access.


HardSID (Quattro) on ISA bus on BeOS:
-------------------------------------

- using direct ISA I/O access.


HardSID (Quattro) on ISA bus on DOS:
------------------------------------

- using direct ISA I/O access.


HardSID (Quattro) on ISA bus on FreeBSD:
----------------------------------------

- using /dev/io ISA I/O access.
- using i386_set_ioperm() and direct ISA I/O access.


HardSID (Quattro) on ISA bus on Linux:
--------------------------------------

- using linux driver.
- using /dev/port ISA I/O access.
- using ioperm() and direct ISA I/O access.


HardSID (Quattro) on ISA bus on NetBSD:
---------------------------------------

- using sysarch(*_SET_IOPERM) and direct ISA I/O access.


HardSID (Quattro) on ISA bus on OpenBSD:
----------------------------------------

- using *_set_ioperm() and direct ISA I/O access.


HardSID (Quattro) on ISA bus on Windows:
----------------------------------------

- using direct ISA I/O access (95/98/ME).
- using inpout32.dll ISA I/O access (98/ME/NT351/NT4/2000/XP/2003).
- using winio.dll ISA I/O access (98)
- using winio32.dll ISA I/O access (ME/NT4/2000/XP/2003).


HardSID (Quattro) on PCI bus on AmigaOS3:
-----------------------------------------

- Using openpci.library.
 

HardSID (Quattro) on PCI bus on AmigaOS4:
-----------------------------------------

- using OS4 PCI access.


HardSID (Quattro) on PCI bus on MorphOS:
----------------------------------------

- Using openpci.library.


HardSID (Quattro) on PCI bus on BeOS:
-------------------------------------

- Using direct PCI I/O access.


HardSID (Quattro) on PCI bus on DOS:
------------------------------------

- using PCI BIOS calls, PCI 2.0c or higher support needs to be available in the BIOS.


HardSID (Quattro) on PCI bus on Linux:
--------------------------------------

- using Linux driver.


HardSID (Quattro) on PCI bus on Windows:
----------------------------------------

- using Windows driver (95/98/ME/NT4/2000).
- using direct PCI I/O access (95/98/ME).
- using winio.dll PCI I/O access (NT4).
- using winio32.dll PCI I/O access (2000/XP/2003).


HardSID Uno/Quattro on USB on Windows:
--------------------------------------

- using USB hardsid.dll (XP/Server/Vista/7/8/8.1/10.


ParSID on Parallel port on DOS:
-------------------------------

- using direct I/O access.


ParSID on Parallel port on DOS:
-------------------------------

- using direct I/O access, only ports on $278/$378/$3BC are supported.
- using direct I/O access (95/98/ME).
- using inpout32.dll I/O access (98/ME/NT3.51/NT4/2000/XP/2003).
- using winio.dll I/O access (95/98).
- using winio32.dll I/O access (ME/NT4/2000/XP/2003).


SSI-2001 on ISA bus on AmigaOS3:
--------------------------------

- using Golden Gate 2+ ISA I/O access.


SSI-2001 on ISA bus on BeOS:
----------------------------

- using direct ISA I/O access.


SSI-2001 on ISA bus on DOS:
---------------------------

- using direct ISA I/O access.


SSI-2001 on ISA bus on FreeBSD:
-------------------------------

- using /dev/io ISA I/O access.
- using i386_set_ioperm() and direct ISA I/O access.


SSI-2001 on ISA bus on Linux:
-----------------------------

- using /dev/port ISA I/O access.
- using ioperm() and direct ISA I/O access.


SSI-2001 on ISA bus on NetBSD:
------------------------------

- using sysarch(*_SET_IOPERM) and direct ISA I/O access.


SSI-2001 on ISA bus on OpenBSD:
-------------------------------

- using *_set_ioperm() and direct ISA I/O access.


SSI-2001 on ISA bus on Windows:
-------------------------------

- using direct ISA I/O access (95/98/ME).
- using inpout32.dll ISA I/O access (98/ME/NT351/NT4/2000/XP/2003).
- using winio.dll ISA I/O access (98)
- using winio32.dll ISA I/O access (ME/NT4/2000/XP/2003).
