#
#	List of Zorro IDs
#
#	Maintained by Geert Uytterhoeven <zorro@linux-m68k.org>
#	If you have any new entries, please send them to the maintainer.
#

# Manufacturers and Products. Please keep sorted.

# Syntax:
# manufacturer  manufacturer_name
#	product  product_name				<-- single tab

00d3  Pacific Peripherals
	0000  SE 2000 A500 [HD Controller]
	0a00  [SCSI Host Adapter]
00dd  Kupke
	0000  Golem RAM Box 2MB [RAM Expansion]
0100  MacroSystems USA
# The Stormbringer is actually made by Memphis
	0000  Stormbringer [Accelerator]
	1300  Warp Engine [Accelerator, SCSI Host Adapter and RAM Expansion]
0200  3-State
	0200  Megamix 2000 [RAM Expansion]
0201  Commodore Braunschweig
	0100  A2088 XT/A2286 AT [ISA Bus Bridge]
	0200  A2286 AT [ISA Bus Bridge]
	5400  A4091 [SCSI Host Adapter]
	6700  A2386-SX [ISA Bus Bridge]
0202  Commodore West Chester
	0100  A2090/A2090A [SCSI Host Adapter]
	0200  A590/A2091 [SCSI Host Adapter]
	0300  A590/A2091 [SCSI Host Adapter]
	0400  A2090B 2090 Autoboot [SCSI Host Adapter]
	0900  A2060 [ArcNet Card]
	0a00  A590/A2052/A2058/A2091 [RAM Expansion]
	2000  A560 [RAM Expansion]
	4500  A2232 Prototype [Multi I/O]
	4600  A2232 [Multi I/O]
	5000  A2620 68020 [Accelerator and RAM Expansion]
	5100  A2630 68030 [Accelerator and RAM Expansion]
	5400  A4091 [SCSI Host Adapter]
	5a00  A2065 [Ethernet Card]
	6000  Romulator Card
	6100  A3000 Test Fixture [Miscellaneous Expansion Card]
	6700  A2386-SX [ISA Bus Bridge]
	7000  A2065 [Ethernet Card]
0203  Commodore West Chester
	0300  A2090/A2090A Combitec/MacroSystem [SCSI Host Adapter]
02f4  Progressive Peripherals & Systems
	0200  EXP8000 [RAM Expansion]
	6900  A2000 68040 [Accelerator]
	9600  68040 [Accelerator]
02ff  Kolff Computer Supplies
	0000  KCS Power PC [ISA Bus Bridge]
03ec  Cardco Ltd.
	0400  Kronos 2000 [SCSI Host Adapter]
	0c00  A1000 [SCSI Host Adapter]
	0e00  Escort [SCSI Host Adapter]
	f500  A2410 HiRes [Graphics Card]
03ed  A-Squared
	0100  Live! 2000 [Video Card]
03ee  Comspec Communications
	0100  AX2000 [RAM Expansion]
03f1  Anakin Research
	0100  Easyl Drawing Tablet Interface
03f2  Microbotics
	0000  StarBoard II [RAM Expansion]
	0200  StarDrive [SCSI Host Adapter]
	0300  8-Up (Rev A) [RAM Expansion]
	0400  8-Up (Rev Z) [RAM Expansion]
	2000  Delta [RAM Expansion]
	4000  8-Star [RAM Expansion]
	4100  8-Star [Miscellaneous Expansion Card]
	4400  VXL RAM*32 [RAM Expansion]
	4500  VXL-30 [Accelerator]
	6000  Delta [Miscellaneous Expansion Card]
	8100  MBX 1200/1200z [RAM Expansion]
	9600  Hardframe 2000 [SCSI Host Adapter]
	9e00  Hardframe 2000 [SCSI Host Adapter]
	c100  MBX 1200/1200z [Miscellaneous Expansion Card]
03f4  Access Associates Alegra
03f6  Expansion Technologies/Pacific Cypress
03ff  ASDG
	0100  [RAM Expansion]
	0200  [RAM Expansion]
	fe00  EB-920 Lan Rover [Ethernet Card]
	ff00  GPIB/Dual IEEE-488/Twin-X [Multi I/O]
0404  Ronin/Imtronics
	3900  Hurricane 2800 [Accelerator and RAM Expansion]
	5700  Hurricane 2800 [Accelerator and RAM Expansion]
0406  Commodore/University of Lowell
	0000  A2410 HiRes [Graphics Card]
041d  Ameristar
	0100  A2065 [Ethernet Card]
	0900  A560 [ArcNet Card]
	0a00  A4066 [Ethernet Card]
	2000  1600-GX [Graphics Card]
0420  Supra
	0100  SupraDrive 4x4 [SCSI Host Adapter]
	0200  1000 [RAM Expansion]
	0300  2000 DMA [SCSI Host Adapter]
	0500  500 [SCSI Host Adapter and RAM Expansion]
	0800  500 [SCSI Host Adapter]
	0900  500XP/2000 [RAM Expansion]
	0a00  500RX/2000 [RAM Expansion]
	0b00  2400zi [Modem]
	0c00  500XP/SupraDrive WordSync [SCSI Host Adapter]
	0d00  SupraDrive WordSync II [SCSI Host Adapter]
	1000  2400zi+ [Modem]
0422  Computer Systems Associates
	1100  Magnum 40 [Accelerator and SCSI Host Adapter]
	1500  12 Gauge [SCSI Host Adapter]
0439  Marc Michael Groth
0502  M-Tech
	0300  AT500 [RAM Expansion]
06e1  Great Valley Products
	0800  Impact Series I [SCSI Host Adapter and RAM Expansion]
	2000  Impact Vision 24 [Graphics Card]
07da  ByteBox
	0000  A500
07db  Hacker Test Board
07dc  DKB/Power Computing
	0900  SecureKey
	0e00  DKM 3128 [RAM Expansion]
	0f00  Rapid Fire [SCSI Host Adapter]
	1000  DKM 1202 [FPU and RAM Expansion]
	1200  Cobra/Viper II 68EC030 [Accelerator]
	1700  WildFire 060 [Accelerator]
	ff00  WildFire 060 [Accelerator]
07e1  Great Valley Products
	0100  Impact Series I (4K) [SCSI Host Adapter]
	0200  Impact Series I (16K/2) [SCSI Host Adapter]
	0300  Impact Series I (16K/2) [SCSI Host Adapter]
	0800  Impact 3001 [IDE Interface]
	0900  Impact 3001 [RAM Expansion]
	0a00  Impact Series II [RAM Expansion]
	0b20  GForce 040 [Accelerator]
	0b30  GForce 040 [Accelerator and SCSI Host Adapter]
	0b40  A1291 [SCSI Host Adapter]
	0b60  Combo 030 R4 [Accelerator]
	0b70  Combo 030 R4 [Accelerator and SCSI Host Adapter]
	0b78  Phone Pak
	0b98  IO-Extender [Multi I/O]
	0ba0  GForce 030 [Accelerator]
	0bb0  GForce 030 [Accelerator and SCSI Host Adapter]
	0bc0  A530 [Accelerator]
	0bd0  A530 [Accelerator and SCSI Host Adapter]
	0be0  Combo 030 R3 [Accelerator]
	0bf0  Combo 030 R3 [Accelerator and SCSI Host Adapter]
	0bf8  Series-II [SCSI Host Adapter]
	0d00  Impact 3001 [IDE Interface]
	1600  GForce 040/060 [Accelerator and SCSI Host Adapter]
	2000  Impact Vision 24 [Graphics Card]
	4400  Rembrandt [Graphics Card]
	ff00  GForce 040 [Accelerator]
07e5  California Access/Synergy
	0100  Malibu [SCSI Host Adapter]
07e6  Xetec
	0100  FastCard [SCSI Host Adapter]
	0200  FastCard [RAM Expansion]
	0300  FastCard Plus [SCSI Host Adapter]
07ea  Progressive Peripherals & Systems
	0000  Mercury [Accelerator]
	0100  A3000 68040 [Accelerator]
	6900  A2000 68040 [Accelerator]
	9600  Zeus [Accelerator, SCSI Host Adapter and RAM Expansion]
	bb00  A500 68040 [Accelerator]
# The AteoBus and Pixel64 are actually made by Ateo Concepts
	fc00  AteoBus [Expansion Bus Bridge]
	fe00  Pixel64 [Graphics Card]
	ff00  Pixel64 RAM [Graphics Card]
07ec  Xebec
07f2  Spirit Technology
	0100  Insider IN1000 [RAM Expansion]
	0200  Insider IN500 [RAM Expansion]
	0300  SIN500 [RAM Expansion]
	0400  HDA 506 [HD Controller]
	0500  AX-S [Miscellaneous Expansion Card]
	0600  OctaByte [RAM Expansion]
	0800  Inmate [SCSI Host Adapter and RAM Expansion]
07f3  Spirit Technology
07fe  BSC/Alfadata
	0300  ALF 3 [SCSI Host Adapter]
0801  BSC/Alfadata
	0100  ALF 2 [SCSI Host Adapter]
	0200  ALF 2 [SCSI Host Adapter]
	0300  ALF 3 [SCSI Host Adapter]
	0400  Oktagon 500 [SCSI Host Adapter]
	0600  Tandem AT-2008/508 [IDE Interface]
	0800  Oktagon 2008 [RAM Expansion]
	1000  MultiFace I [Multi I/O]
	2000  FrameMaster II [Graphics Card]
	4000  ISDN MasterCard [ISDN Interface]
0802  Cardco Ltd.
	0400  Kronos 2000 [SCSI Host Adapter]
	0c00  A1000 [SCSI Host Adapter]
0804  Jochheim
	0100  [RAM Expansion]
	2000  [RAM Expansion]
0807  Checkpoint Technologies
	0000  Serial Solution [Multi Serial]
0810  Edotronik
	0100  IEEE-488 Interface Card
	0200  CBM-8032 Card
	0300  [Multi Serial]
	0400  24Bit Realtime Video Digitizer
	0500  32Bit Parallel I/O Interface
	0600  PIC Prototyping Card
	0700  16 Channel ADC Interface
	0800  VME-Bus Controller
	0900  DSP96000 Realtime Data Acquisition DSP Card
0813  NES Inc.
	0000  [RAM Expansion]
0817  ICD
	0100  Advantage 2000 [SCSI Host Adapter]
	0300  Advantage [IDE Interface]
	0400  Advantage 2080 [RAM Expansion]
0819  Kupke
	0100  Omti [HD Controller]
	0200  Golem SCSI-II [SCSI Host Adapter]
	0300  Golem Box
	0400  030/882 [Accelerator]
	0500  Golem [SCSI Host Adapter]
081d  Great Valley Products
	0900  A2000-RAM8/2 [Miscellaneous Expansion Card]
	0a00  Impact Series II [RAM Expansion]
081e  Interworks Network
0820  Hardital Synthesis
	0100  Super Big Bang [Accelerator, SCSI Host Adapter and RAM Expansion]
	1400  TQM 68030+68882 [Accelerator]
0828  Applied Engineering
	1000  DL2000 [Modem]
	e000  RAM Works [RAM Expansion]
082c  BSC/Alfadata
	0400  Oktagon 500 [SCSI Host Adapter]
	0500  Oktagon 2008 [SCSI Host Adapter]
	0600  Tandem AT-2008/508 [IDE Interface]
	0700  Alpha 1200 [RAM Expansion]
	0800  Oktagon 2008 [RAM Expansion]
	1000  MultiFace I [Multi I/O]
	1100  MultiFace II [Multi I/O]
	1200  MultiFace III [Multi I/O]
	2000  FrameMaster II [Graphics Card]
	2100  Graffiti RAM [Graphics Card]
	2200  Graffiti [Graphics Card]
	4000  ISDN MasterCard [ISDN Interface]
	4100  ISDN MasterCard II [ISDN Interface]
0835  Phoenix
	2100  ST506 [HD Controller]
	2200  [SCSI Host Adapter]
	be00  [RAM Expansion]
0836  Advanced Storage Systems
	0100  Nexus [SCSI Host Adapter]
	0800  Nexus [RAM Expansion]
0838  Impulse
	0000  FireCracker 24 (NTSC) [Graphics Card]
	0100  FireCracker 24 (PAL) [Graphics Card]
0840  IVS
	0200  GrandSlam PIC 2 [RAM Expansion]
	0400  GrandSlam PIC 1 [RAM Expansion]
	1000  OverDrive [HD Controller]
	3000  TrumpCard Classic [SCSI Host Adapter]
	3400  TrumpCard Pro/GrandSlam [SCSI Host Adapter]
	4000  Meta-4 [RAM Expansion]
	bf00  Wavetools [Audio Card]
	f300  Vector [SCSI Host Adapter]
	f400  Vector [SCSI Host Adapter]
0841  Vector
	e300  Connection [Multi I/O]
0845  XPert ProDev
	0100  Visiona RAM [Graphics Card]
	0200  Visiona [Graphics Card]
	0300  Merlin RAM [Graphics Card]
	0400  Merlin [Graphics Card]
	c900  Merlin [Graphics Card]
0849  Hydra Systems
	0100  Amiganet [Ethernet Card]
084f  Sunrize Industries
	0100  AD1012 [Audio Card]
	0200  AD516 [Audio Card]
	0300  DD512 [Audio Card]
0850  Triceratops
	0100  [Multi I/O]
0851  Applied Magic Inc.
	0100  DMI Resolver [Graphics Card]
	0200  Vivid 24 [Graphics Card]
	0600  Digital Broadcaster [Video Card]
085e  GFX-Base
	0000  GDA-1 VRAM [Graphics Card]
	0100  GDA-1 [Graphics Card]
0860  RocTec
	0100  RH 800C [HD Controller]
	0200  RH 800C [RAM Expansion]
0861  Kato
# The Rainbow II and III are actually made by Ingenieurbüro Helfrich
	2000  Rainbow II [Graphics Card]
	2100  Rainbow III [Graphics Card]
	8000  Melody MPEG [Audio Card]
0862  Atlantis
0864  Protar
0865  ACS
0866  Software Results Enterprises
	0100  Golden Gate 2 Bus+ [ISA Bus Bridge]
086a  Unknown
	0100  Horizon [Graphics Card]
	0200  Blackbox [Graphics Card]
	0300  Voyager [Graphics Card]
086d  Masoboshi
	0300  MasterCard SC201 [RAM Expansion]
	0400  MasterCard MC702 [SCSI Host Adapter and IDE Interface]
	0700  MVD 819
086f  Mainhattan-Data/A-Team
	0100  [IDE Interface]
0877  Village Tronic
	0100  Domino RAM [Graphics Card]
	0200  Domino [Graphics Card]
	0300  Domino 16M Prototype [Graphics Card]
	0b00  Picasso II/II+ RAM [Graphics Card]
	0c00  Picasso II/II+ [Graphics Card]
	0d00  Picasso II/II+ (Segmented Mode) [Graphics Card]
	1500  Picasso IV Z2 RAM [Graphics Card]
	1600  Picasso IV Z2 RAM [Graphics Card]
	1700  Picasso IV Z2 [Graphics Card]
	1800  Picasso IV Z3 [Graphics Card]
	c900  Ariadne [Ethernet Card and Parallel Ports]
	ca00  Ariadne II [Ethernet Card]
087b  Utilities Unlimited
	1500  Emplant Deluxe [Macintosh Emulator]
	2000  Emplant Deluxe [Macintosh Emulator]
0880  Amitrix
	0100  [Multi I/O]
	0200  CD-RAM [RAM Expansion]
0885  ArMax
	0000  OmniBus [Graphics Card]
088d  ZEUS Electronic Development
	0300  [ISDN Interface]
	0400  Spider [Video Card]
088f  NewTek
	0000  VideoToaster [Video Card]
0890  M-Tech Germany
	0100  AT500 [IDE Interface]
	0300  68030 [Accelerator]
	0600  68020i [Accelerator]
	2000  A1200 T68030 RTC [Accelerator]
	2100  Viper Mk V/E-Matrix 530 [Accelerator and RAM Expansion]
	2200  8MB [RAM Expansion]
	2400  Viper Mk V/E-Matrix 530 [SCSI Host Adapter and IDE Interface]
0891  Great Valley Products
	0100  EGS 28/24 Spectrum RAM [Graphics Card]
	0200  EGS 28/24 Spectrum [Graphics Card]
0892  Apollo
	0100  A1200 [FPU and RAM Expansion]
0893  Ingenieurbüro Helfrich
	0500  Piccolo RAM [Graphics Card]
	0600  Piccolo [Graphics Card]
	0700  PeggyPlus MPEG [Video Card]
	0800  VideoCruncher [Video Card]
	0a00  Piccolo SD64 RAM [Graphics Card]
	0b00  Piccolo SD64 [Graphics Card]
089b  MacroSystems USA
	1300  Warp Engine 40xx [Accelerator, SCSI Host Adapter and RAM Expansion]
089e  ElBox Computer
	0600  1200/4 [RAM Expansion]
	0800  FastATA 1200 [IDE Interface]
	1200  FastATA 1200 [IDE Interface]
	1300  FastATA 1200 [IDE Interface]
	1800  FastATA 1200 [IDE Interface]
	1900  FastATA 4000 [IDE Interface]
	1d00  FastATA 4000 [IDE Interface]
	1e00  FastATA ZIV [IDE Interface]
0a00  Harms Professional
	1000  030 Plus [Accelerator]
	d000  3500 Professional [Accelerator and RAM Expansion]
0a50  Micronik
	0a00  RCA 120 [RAM Expansion]
0f0f  Micronik
	0100  Z3i A1200 [Zorro III Extender and SCSI Host Adapter]
1000  MegaMicro
	0300  SCRAM 500 [SCSI Host Adapter]
	0400  SCRAM 500 [RAM Expansion]
1028  Ronin/Imtronics
	3900  Hurricane 2800 [Accelerator and RAM Expansion]
	5700  Hurricane 2800 [Accelerator and RAM Expansion]
102f  Ateo Concepts
	fc00  AteoBus [Expansion Bus Bridge]
	fe00  Pixel64 [Graphics Card]
	ff00  Pixel64 RAM [Graphics Card]
1212  Individual Computers
	0000  Buddha [IDE Interface]
	1700  X-Surf [Ethernet Card and IDE Interface]
	2a00  Catweasel [IDE Interface and Floppy Controller]
1248  Kupke
	0100  Golem HD 3000 [HD Controller]
1267  RBM-Computertechnik
	0100  IOBlix [Multi I/O]
1388  ITH
	0100  ISDN-Master II [ISDN Interface]
1389  VMC
	0100  ISDN Blaster Z2 [ISDN Interface]
	0200  HyperCom 4 [Multi I/O]
	0600  HyperCom 4+ [Multi I/O]
157c  Information
	6400  ISDN Engine I [ISDN Interface]
2017  Vortex
	0700  Golden Gate 80386SX [ISA Bus Bridge]
	0800  Golden Gate [RAM Expansion]
	0900  Golden Gate 80486 [ISA Bus Bridge]
2062  Expansion Systems
	0100  DataFlyer 4000SX [SCSI Host Adapter]
	0200  DataFlyer 4000SX [RAM Expansion]
2100  ReadySoft
	0100  AMax II/IV [Macintosh Emulator]
2140  Phase 5
	0100  Blizzard [RAM Expansion]
	0200  Blizzard [Accelerator]
	0600  Blizzard 1220-IV [Accelerator]
	0a00  FastLane Z3 [RAM Expansion]
	0b00  Blizzard 1230-II/Fastlane Z3/CyberSCSI/CyberStorm060 [Accelerator and/or SCSI Host Adapter]
	0c00  Blizzard 1220/CyberStorm [Accelerator and SCSI Host Adapter]
	0d00  Blizzard 1230 [Accelerator]
	1100  Blizzard 1230-IV/1260 [Accelerator]
	1800  Blizzard 2060 [Accelerator]
	1900  CyberStorm Mk II [Flash ROM]
	2200  CyberVision64 [Graphics Card]
	3200  CyberVision64-3D Prototype [Graphics Card]
	4300  CyberVision64-3D [Graphics Card]
	6400  CyberStorm Mk III [Accelerator and SCSI Host Adapter]
	6e00  Blizzard 603e+ [Accelerator and SCSI Host Adapter]
2169  DPS
	0100  Personal Animation Recorder [Video Card]
2200  Apollo
	0000  A620 68020 [Accelerator]
	0100  A620 68020 [Accelerator]
2222  Apollo
	2200  AT-Apollo
	2300  1230/1240/1260/2030/4040/4060 [Accelerator]
38a5  Petsoff LP
	0000  Delfina [Audio Card]
	0100  Delfina Lite [Audio Card]
	0200  Delfina Plus [Audio Card]
3ff7  Uwe Gerlach
	d400  RAM/ROM [Miscellaneous Expansion Card]
4231  ACT
	0100  Prelude [Audio Card]
4754  MacroSystems Germany
	0300  Maestro [Audio Card]
	0400  VLab [Video Card]
	0500  Maestro Pro [Audio Card]
	0600  Retina [Graphics Card]
	0800  MultiEvolution [SCSI Host Adapter]
	0c00  Toccata [Audio Card]
	0d00  Toccata Pro [Audio Card]
	1000  Retina Z3 [Graphics Card]
	1200  VLab Motion [Video Card]
	1300  Altais [Graphics Card]
	fd00  Falcon '040 [Accelerator]
6766  Combitec
8000  SKI Peripherals
	0800  MAST Fireball [SCSI Host Adapter]
	8000  [SCSI Host Adapter and Dual Serial Card]
a9ad  Reis-Ware
	1100  Scan King [Scanner Interface]
aa01  Cameron
	1000  Personal A4 [Scanner Interface]
aa11  Reis-Ware
	1100  Handyscanner [Scanner Interface]
b5a8  Phoenix
	2100  ST506 [HD Controller]
	2200  [SCSI Host Adapter]
	be00  [RAM Expansion]
c008  Combitec
	2a00  [HD Controller]
	2b00  SRAM [RAM Expansion]
