Copyright (c) Hyperion Entertainment and contributors.
Difference between revisions of "Amiga Hardware Manufacturer ID Registry"
Steven Solie (talk | contribs) |
Steven Solie (talk | contribs) |
||
Line 415: | Line 415: | ||
| 2021 |
| 2021 |
||
| Synergy Peripheral Systems |
| Synergy Peripheral Systems |
||
+ | | Also known as California Access |
||
|- |
|- |
||
| 2022 |
| 2022 |
||
Line 429: | Line 430: | ||
|- |
|- |
||
| 2026 |
| 2026 |
||
+ | | Ateo Concepts |
||
− | | Progressive Peripherals & Software |
||
+ | | Originally registered as Progressive Peripherals & Software |
||
|- |
|- |
||
| 2027 |
| 2027 |
||
Line 489: | Line 491: | ||
|- |
|- |
||
| 2046 |
| 2046 |
||
+ | | BSC |
||
− | | Phoenix Electronics |
||
+ | | Originally registered to Phoenix Electronics |
||
|- |
|- |
||
| 2047 |
| 2047 |
||
Line 498: | Line 501: | ||
|- |
|- |
||
| 2049 |
| 2049 |
||
+ | | BSC |
||
− | | Elaborate Bytes |
||
+ | | Originally registered to Elaborate Bytes |
||
|- |
|- |
||
| 2050 |
| 2050 |
||
Line 546: | Line 550: | ||
|- |
|- |
||
| 2065 |
| 2065 |
||
+ | | California Access/Synergy |
||
− | | Logical Design Works |
||
+ | | Originally registered to Logical Design Works |
||
|- |
|- |
||
| 2066 |
| 2066 |
||
Line 579: | Line 584: | ||
|- |
|- |
||
| 2076 |
| 2076 |
||
+ | | Alfa Data |
||
− | | Elmtech Research, Ltd. (UK) |
||
+ | | Originally assigned to Elmtech Research, Ltd. (UK) |
||
− | | Also used by Alfa Data |
||
|- |
|- |
||
| 2077 |
| 2077 |
||
Line 659: | Line 664: | ||
|- |
|- |
||
| 2102 |
| 2102 |
||
+ | | Advanced Systems & Software |
||
− | | Preferred Technology |
||
+ | | Orignally assigned to Preferred Technology |
||
− | | Also used by Advanced Systems & Software |
||
|- |
|- |
||
| 2103 |
| 2103 |
||
Line 840: | Line 845: | ||
|- |
|- |
||
| 2161 |
| 2161 |
||
+ | | Blue Ribbon Soundworks |
||
− | | Design Computer Systems |
||
+ | | Originally registered to Design Computer Systems |
||
|- |
|- |
||
| 2162 |
| 2162 |
||
Line 877: | Line 883: | ||
| 2180 |
| 2180 |
||
| Juergen Kommos |
| Juergen Kommos |
||
+ | |- |
||
+ | | 2181 |
||
+ | | ArMAX |
||
|- |
|- |
||
| 2174 |
| 2174 |
||
Line 885: | Line 894: | ||
|- |
|- |
||
| 2176 |
| 2176 |
||
− | | |
+ | | AmiTrix Development |
|- |
|- |
||
| 2177 |
| 2177 |
||
Line 939: | Line 948: | ||
|- |
|- |
||
| 2194 |
| 2194 |
||
+ | | Amitek |
||
− | | Marpet Developments |
||
+ | | Originally assigned to Marpet Developments |
||
− | | Also used by Amitek |
||
|- |
|- |
||
| 2195 |
| 2195 |
||
Line 1,045: | Line 1,054: | ||
| 5030 |
| 5030 |
||
| Tim Tashpulatov |
| Tim Tashpulatov |
||
+ | |- |
||
+ | | 5768 |
||
+ | | Bio Con |
||
|- |
|- |
||
| 8704 |
| 8704 |
||
Line 1,066: | Line 1,078: | ||
| 16945 |
| 16945 |
||
| A.C.T. |
| A.C.T. |
||
+ | |- |
||
+ | | 43521 |
||
+ | | Cameron |
||
|- |
|- |
||
| 61453 |
| 61453 |
Revision as of 05:50, 15 January 2014
Your Manufacturer Number
Attention hardware manufacturers. If you are developing a hardware expansion product for the Classic Amiga (e.g. 500, 2000, 3000) then you will need to obtain a special manufacturer ID number from the AmigaOS development team to identify your product. This manufacturer number is used by the Amiga to link your hardware with its driver software at boot time.
Your manufacturer number is part of the special protocol that the Amiga uses to automatically configure all expansion devices on the bus without the user having to cut jumpers or adjust dip switches. This is called auto-config.
At start-up time, the system first polls each board in the system and assigns the board its own address space. If it is a memory board, its RAM is linked into the memory free pool. Later in the boot sequence, after DOS is initialized, the binddrivers program is run. Binddrivers will search the directory SYS:Expansion for the drivers that go with the boards.
To do this binddrivers looks in the Tool Type field of all icon files in SYS:Expansion. If the first seven bytes of the Tool Type field are "PRODUCT", then this is an icon file for a driver.
Binddrivers will then attempt to match the drivers it has found with the boards that were found earlier. This is where your manufacturer number comes in.
Your manufacturer number goes in two places. First, it is burned in hex form into the PAL which is part of ALL auto-config expansion products. Second, it appears in ASCII in the Tool Type field of the icon file for your product's driver. By matching these two numbers, the Amiga can automatically configure your board and bind it's software driver into the system as well.
The manufacturer's number is a 16-bit ID which appears in PAL offsets $10-$17. There is also an 8-bit product number which you assign. The product number is for uniquely identifying different products from the same vendor. The product number will appear in PAL offsets $04-$07. This gives you a total of 24 bits to identify each of your products.
These 24 bits of information in the PAL which identify your product are matched against the information in the Tool Type field of all icon files in the SYS:Expansion drawer. For example, suppose you are manufacturer #1019. You have two products, #1 and #2 which both use the same driver. The icon for your driver for these two products would have a Tool Type set to "PRODUCT=1019/1|1019/2". This means: I am an icon for a driver that works with product number 1 or 2 from manufacturer 1019, now bind me. Spaces are not legal. Here are two other examples:
- PRODUCT=1208/11
- is the Tool Type for a driver for product 11 from manufacturer number 1208.
- PRODUCT=1017
- is the Tool Type for a driver for any product from manufacturer number 1017.
For an informal explanation of the auto-configuration process, see the chapter on Software Expansion Architecture from the 2nd Annual Amiga Developer's Conference Notes (available on ADCD 2.1). For the details of timing, power, the PAL equations and PAL address specifications and the expansion library documentation, see sections 3.1 to 3.3 of the A500/A2000 Technical Reference Manual. The original auto-config spec appears in the A1000 Schematics and Expansion Specification.
Manufacturer's numbers are assigned by the AmigaOS development team. To obtain your unique manufacturer number use the AmigaOS web site contact form.
Be sure and include your name, email and the type of expansion product you are developing.
The auto-config process makes the addition of expansion products to the system very easy. All the user has to do is put the board in any slot and copy the driver from the release disk to his own SYS:Expansion drawer. Everything else is automatic. There are no jumpers or dip switches to set. Best of all, you will get a lot less support calls asking how to make your product work with the XYZ-Corp-battery-backed-clock.
Notes
Some notes on hardware manufacturer ID assignment.
- Manufacturer ID numbers are assigned free of charge.
- Please provide the following information when requesting an ID:
- Name of the company or person
- Postal address/contact address
- Name of the contact person, with a corresponding e-mail address
- A brief description of the kind of products you want to produce
- All ID numbers smaller than 5000 must be considered unsafe because no information exists on which numbers exactly were taken during the time Commodore, Inc. disintegrated.
- ID numbers in the range 8192 to 18841 must be considered unsafe because some hardware developers mistook the numbers assigned to them to be given in hexadecimal format. Hence 0x2000 = 8192 and 0x4999 = 18841.
Example code
/*-----------------------------------------------*/ /* Here is a short program which will tell you */ /* about the expansion boards configured in your */ /* system without you opening up the machine. */ /* Code by Bill Koester of CATS */ /*-----------------------------------------------*/ #include <libraries/configvars.h> #include <libraries/expansion.h> struct ExpansionBase *ExpansionBase; void cleanup(); void printdev(); int main() { struct ConfigDev *MyConfigDev; /*----------------------------------*/ /* Open the expansion library, */ /* if there is a problem then exit */ /*----------------------------------*/ ExpansionBase =(struct ExpansionBase *) OpenLibrary(EXPANSIONNAME,0); if(ExpansionBase==NULL) { printf("Error opening expansion library!!\n"); cleanup(); exit(0); } /*--------------------------------------------*/ /* Use FindConfigDev to get info on the first */ /* expansion board on the list maintained by */ /* Exec. If there are no expansion boards in */ /* the system then exit. */ /*--------------------------------------------*/ MyConfigDev = NULL; /*--------------------------------------------------*/ /* FindConfigDev(oldConfigDev,manufacturer,product) */ /* oldConfigDev = NULL for the top of the list */ /* manufacturer = -1 for any manufacturer */ /* product = -1 for any product */ /*--------------------------------------------------*/ MyConfigDev = FindConfigDev(NULL,-1,-1); if(MyConfigDev==NULL) { printf("No Configured Devices found!!\n"); cleanup(); exit(0); } printdev(MyConfigDev); /*-----------------------------------*/ /* OK, there is at least one board, */ /* so loop and get the entire list */ /* printing as we go with printdev() */ /*-----------------------------------*/ while(MyConfigDev = FindConfigDev(MyConfigDev,-1,-1)) { printdev(MyConfigDev); } cleanup(); return 0; } /*-------------------*/ /* Close up shop... */ /*-------------------*/ void cleanup() { if(ExpansionBase) CloseLibrary(ExpansionBase); } /*----------------------------------*/ /* Print out the contents of the */ /* dev structure for this expansion */ /* product. */ /*----------------------------------*/ void printdev(dev) struct ConfigDev *dev; { char buff[200]; printf("Flags = "); if(dev->cd_Flags==NULL) printf("NULL "); if(dev->cd_Flags&CDF_SHUTUP) printf("CDF_SHUTUP "); if(dev->cd_Flags&CDF_CONFIGME) printf("CDF_CONFIGME "); printf("\n"); printf("Board Address = %x\n",dev->cd_BoardAddr); printf("Board Size = %d bytes\n",dev->cd_BoardSize); printf("Slot Address = %d\n",dev->cd_SlotAddr); printf("Slot Size = %d\n",dev->cd_SlotSize); printf("Driver code at %x\n",dev->cd_Driver); printf("er_Type = %x\n",dev->cd_Rom.er_Type); printf("er_Product = %x\n",dev->cd_Rom.er_Product); printf("er_Flags = %x\n",dev->cd_Rom.er_Flags); printf("er_Reserved03 = %x\n",dev->cd_Rom.er_Reserved03); printf("er_Manufacturer = %x\n",dev->cd_Rom.er_Manufacturer); printf("er_SerialNumber = %x\n",dev->cd_Rom.er_SerialNumber); printf("er_InitDiagVec = %x\n",dev->cd_Rom.er_InitDiagVec); printf("er_Reserved0c = %x\n",dev->cd_Rom.er_Reserved0c); printf("er_Reserved0d = %x\n",dev->cd_Rom.er_Reserved0d); printf("er_Reserved0e = %x\n",dev->cd_Rom.er_Reserved0e); printf("er_Reserved0f = %x\n",dev->cd_Rom.er_Reserved0f); printf("Hit Return to continue:\n"); gets(buff); }
Registry
ID (decimal) | Manufacturer | Notes |
---|---|---|
211 | Pacific Peripherals | |
256 | MacroSystems US | |
512 | 3-State Computertechnik | |
513 | Commodore | |
514 | Commodore | |
515 | Combitech/Macrosystem | |
756 | Progressive Peripherals & Software | |
1001 | Tecmar | |
1002 | Telesys | |
1003 | The Micro-Forge | |
1004 | Card Co. (Supra) | |
1005 | A-Squared | |
1006 | Comspec Communications | |
1007 | HT Electronics | |
1008 | RDS Software | |
1009 | Anakin Research | |
1010 | MicroBotics | |
1011 | Bob Krauth | |
1012 | Access Associates (Alegra) | |
1013 | Mini Comp Systems Ltd. | |
1014 | Cypress Technology | |
1015 | Fuller Computers | |
1016 | Galaxy Computers | |
1017 | ADA Research | |
1018 | Computer Service Italia | |
1019 | Amigo | |
1020 | Micro-Solutions Inc. | |
1021 | Stacar International | |
1022 | Video Precisions | |
1023 | ASDG, Inc. | |
1025 | Ing. Buero Kalawsky | |
1026 | Computer Tuning | |
1027 | Interplan Unternehmensberatung | |
1028 | Peter Ohlich | |
1030 | Productivity Center | |
1041 | Design Labs | |
1042 | MCS | |
1043 | B. J. Freeman | |
1044 | Side Effects Inc. | |
1045 | Oklahoma Personal Comp. | |
1046 | Advanced Micro Innovations | |
1047 | Industrial Support Services | |
1048 | Technisoft | |
1049 | Prolific, Inc. | |
1050 | Softeam, Inc. | |
1051 | GRC Electronics | |
1052 | David Lai | |
1053 | Ameristar Technologies | |
1054 | Cline Refrigeration | |
1055 | Cardiac Pacemakers, Inc. | |
1056 | Supra Corp. (Creative Microsystems) | |
1057 | Wayne Diener | |
1058 | CSA | |
1059 | Trionix, Inc. | |
1060 | David Lucas | |
1061 | Analog Precision | Also assigned to D & L Distributing |
1267 | RBM Digitaltechnik | |
1337 | Thomas Stenzel | |
1576 | Boris Križma | |
2002 | Mimetics Corp. | |
2003 | ACDA | |
2004 | Finn R. Jacobsen | |
2005 | Elthen Electronics | |
2006 | Nine Tiles Computer Systems Ltd. | |
2007 | Analog Electronics | |
2008 | Bell & Howell | |
2009 | Roland Kochler | |
2010 | Byte Corp. | |
2012 | DKB, Inc. | Previously named Michigan Software |
2013 | Pacific Peripherals | |
2014 | Sysaphus Software | |
2015 | Digitronics | |
2016 | Akron Systems | |
2017 | Great Valley Products | |
2018 | Calmos | |
2019 | Dover Research | |
2020 | David Krehbiel | |
2021 | Synergy Peripheral Systems | Also known as California Access |
2022 | Xetec | |
2023 | Micron Technology | |
2024 | CH Electronics | |
2025 | American Liquid Light | |
2026 | Ateo Concepts | Originally registered as Progressive Peripherals & Software |
2027 | Wicat Systems | |
2028 | Applied Systems & Peripherals | |
2029 | Delaware Valley Software | |
2030 | Palomax | |
2031 | Incognito Software | |
2032 | Jadesign | |
2033 | BVR | |
2034 | Spirit Tech | |
2035 | Spirit Tech | |
2036 | Atronic | |
2037 | Scott Karlin | |
2038 | Howitch | |
2039 | Sullivan Brothers Visual Engineers | |
2040 | G I T | |
2041 | Amigo Business Computers | |
2042 | Micro E Ab | |
2043 | Ralph Kruse | |
2044 | Clearpoint Research | |
2045 | Kodiak | |
2046 | BSC | Originally registered to Phoenix Electronics |
2047 | No Name Shown | |
2048 | Commodore Braunschweig | |
2049 | BSC | Originally registered to Elaborate Bytes |
2050 | C-Ltd. | |
2051 | Spartanics | |
2052 | Computer Tuning | |
2053 | Trans Data Systems | |
2054 | Applied Systems & Peripherals Ltd. | |
2055 | Amiga Solutions | |
2056 | Adept Development | |
2057 | Advanced Computer Design | |
2058 | Sir Netics | |
2059 | Expert Services | |
2060 | Digital Art Systems | |
2061 | Adept Development | |
2062 | Expansion Technologies (Expansion Systems) | |
2063 | Alphatech | |
2064 | Edotronik GmbH | |
2065 | California Access/Synergy | Originally registered to Logical Design Works |
2066 | Bowden, Williams, Full & Assoc. | |
2067 | NES, Inc. | |
2068 | Amdev | |
2069 | Big Brother Security Systems | |
2070 | Active Circuits Inc. | |
2071 | ICD, Inc. | |
2072 | Multi-Meg Electronique | |
2073 | Kupke Computertechnik GmbH | |
2074 | The Checkered Ball | |
2075 | Hi Tension Computer Services Ltd. (UK) | |
2076 | Alfa Data | Originally assigned to Elmtech Research, Ltd. (UK) |
2077 | Clartscreen, Ltd. (UK) | |
2078 | Interworks | |
2079 | Galysh Enterprises | |
2080 | Realtime Games Software Ltd. | |
2081 | GBS | |
2082 | Circum Design Inc. | |
2083 | Alberta Micro Electronic Center | |
2084 | Bestech | |
2085 | Lasar Fantasy | |
2086 | Pulsar | |
2087 | Ivis | |
2088 | Applied Engineering | |
2089 | Solid-State Design & Development | |
2090 | Vison Quest | |
2091 | Seaview Software | |
2092 | BSC | Mistakenly used by ADS (Advanced Development Software) |
2093 | Bernd Culenfeld | |
2094 | American Liquid Light | |
2095 | CEGITES | |
2096 | EV Industries | |
2097 | Silicon Peace | |
2098 | Black Belt Systems | |
2099 | Steve Yaeger | |
2100 | ReadySoft | |
2101 | Phoenix Micro Technologies | |
2102 | Advanced Systems & Software | Orignally assigned to Preferred Technology |
2103 | Rombo Productions | |
2104 | Impulse Inc. | |
2105 | Beta Unlimited | |
2106 | Memory Expansion System, Ltd. | |
2107 | Vortex Computer Systems GmbH | |
2108 | Platypus Systems | |
2109 | Gigatron OHG | |
2110 | PG Electronics | |
2111 | New Technologies Group | |
2112 | Interactive Video Systems | |
2113 | H. K. Computer | |
2114 | C. H. Helfrich Elektronik | |
2115 | Xanadu | |
2116 | AMS | |
2117 | X-Pert | |
2118 | The Amiga Centre | |
2119 | Digital Pacific | |
2120 | Solid State Leisure | |
2121 | Analog Electronics | |
2122 | Cumana | |
2123 | KAPS 2C Conception | |
2124 | Mike Mason | |
2125 | For Your Eyes | |
2126 | Volkmar Breitfeld Computersysteme | |
2127 | Sunrize Industries | |
2128 | Scott Advanced Micro Designs | |
2129 | Digital Micronics | |
2130 | Alfa-Laval | |
2131 | Multigros A/S | |
2132 | Archos | |
2133 | Icom Simulations | |
2134 | Commodore Test Engineering Group | |
2135 | Microcreations | |
2136 | Shoestring Productions | |
2137 | Faberushi | |
2138 | Evesham Micro Ltd. | |
2139 | Panagolin Laser Software | |
2140 | Thomas Rudloff | |
2141 | Daniel Hohabir | |
2142 | GfxBase, Inc. | |
2143 | Axellabs | |
2144 | Roctec Electronics Inc. | |
2145 | Omega Datentechnik | |
2146 | Atlantis | |
2147 | Skytec Computers | |
2148 | Protar Electronics | |
2149 | ACS | |
2150 | University of Illinois | |
2151 | Infinity Systems Design Group | |
2152 | Trade It | |
2153 | Suntec, Inc. | |
2154 | Tritec Marketing | |
2155 | Power Computing Ltd. | |
2156 | MacroSystems | |
2157 | Masoboshi GmbH | |
2158 | HAL Software Hardware Handel | |
2159 | Michael Lamm Computersysteme | |
2160 | Digital Processing System | |
2160 | bbdp Electronics | |
2161 | Blue Ribbon Soundworks | Originally registered to Design Computer Systems |
2162 | The Station | |
2163 | Bryan Williams | |
2164 | Superformance Computer Engineering GmbH | |
2165 | Overland Engineering | |
2166 | Thomas Hamren | |
2167 | Village Tronic | |
2168 | Toolbox Design | |
2169 | Digital Processing System | |
2170 | Superformance | |
2171 | Utilities Unlimited | |
2172 | phase 5 | |
2180 | Juergen Kommos | |
2181 | ArMAX | |
2174 | Electronic Design | |
2175 | James Cook University of North Queensland | |
2176 | AmiTrix Development | |
2177 | Ferranti | |
2178 | Leviathan Development | |
2179 | United Video Inc. | |
2180 | GPSoft Pty. Ltd. | |
2181 | Oliver Bausch (ArMAX) | |
2182 | CP Computer | |
2183 | AMOK - Amiga Module & Oberon Klub | |
2184 | ITEK Neser & Sieber GbR | |
2185 | Phillip C. Lello | |
2186 | Cyborg Design Services | |
2187 | G2 Systems | |
2188 | Pro System Computersysteme | |
2189 | MSPI (Markt & Technik) | |
2190 | Altatech | |
2191 | NewTek | |
2192 | Hardware Design Udo Neuroth | |
2193 | Viona Development | |
2194 | Amitek | Originally assigned to Marpet Developments |
2195 | Ingenieurbuero Helfrich | |
2196 | The Neo Group | |
2197 | Cyon | |
2198 | Bob Research Group | |
2199 | Richmond Sound Design Ltd. | |
2200 | US Cybernetics | |
2201 | Fulvio Ieva | |
2202 | Silicon Studio | |
2203 | Micro System Devices | |
2204 | Conspector Entertainment | |
2205 | Laserforum | |
2206 | Elbox Computer | Mistakenly used by Index Information Ltd. |
2207 | Applied Magic Inc. | |
2208 | SDL Ltd. | |
2588 | A1K.org Community | |
3643 | E3B, Michael Boehmer | |
4369 | Unknown | Reported to be already in use by unknown manufacturer(s) |
4626 | Individual Computers | |
4648 | Flesch Hornemann Computer Elec. | |
4754 | MacroSystems | |
5000 | ITH | |
5001 | VMC | |
5010 | Ambience Creation Technology | |
5011 | Creative Development | |
5012 | Georg Braun | |
5013 | Swedish User Group of Amiga | |
5014 | Jakub Bednarski | |
5015 | KryoFlux, Ltd. | |
5016 | Igor Majstorovic | |
5017 | Alastair M. Robinson | |
5018 | Austex Software | |
5019 | Sören Gust | |
5020 | Rok Krajnc | |
5030 | Tim Tashpulatov | |
5768 | Bio Con | |
8704 | ACT Elektronik | |
8738 | ACT Elektronik | |
14195 | Media-net-Point | |
14501 | Petsoff, Finland | |
16707 | Ateo Concepts | |
16708 | ALiENDESiGN | |
16945 | A.C.T. | |
43521 | Cameron | |
61453 | Forefront Technologies Inc. |
For any changes/additions to this registry please use the AmigaOS web site contact form.