// /*************************************************************************** // Aaru Data Preservation Suite // ---------------------------------------------------------------------------- // // Filename : VendorCode.cs // Author(s) : Natalia Portillo // // Component : Device structures decoders. // // --[ Description ] ---------------------------------------------------------- // // Decodes PCMCIA vendor code. // // --[ License ] -------------------------------------------------------------- // // This library is free software; you can redistribute it and/or modify // it under the terms of the GNU Lesser General Public License as // published by the Free Software Foundation; either version 2.1 of the // License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // Lesser General Public License for more details. // // You should have received a copy of the GNU Lesser General Public // License along with this library; if not, see . // // ---------------------------------------------------------------------------- // Copyright © 2011-2025 Natalia Portillo // ****************************************************************************/ using System.Diagnostics.CodeAnalysis; namespace Aaru.Decoders.PCMCIA; [SuppressMessage("ReSharper", "MemberCanBeInternal")] public static class VendorCode { [SuppressMessage("ReSharper", "StringLiteralTypo")] public static string Prettify(ushort id) { switch(id) { #region JEDEC case 0x01: return "AMD"; case 0x02: return "AMI"; case 0x83: return "Fairchild"; case 0x04: return "Fujitsu"; case 0x85: return "GTE"; case 0x86: return "Harris"; case 0x07: return "Hitachi"; case 0x08: return "Inmos"; case 0x89: return "Intel"; case 0x8A: return "I.T.T."; case 0x0B: return "Intersil"; case 0x8C: return "Monolithic Memories"; case 0x0D: return "Mostek"; case 0x0E: return "Freescale"; case 0x8F: return "National"; case 0x10: return "NEC"; case 0x91: return "RCA"; case 0x92: return "Raytheon"; case 0x13: return "Conexant"; case 0x94: return "Seeq"; case 0x15: return "NXP"; case 0x16: return "Synertek"; case 0x97: return "Texas Instruments"; case 0x98: return "Toshiba"; case 0x19: return "Xicor"; case 0x1A: return "Zilog"; case 0x9B: return "Eurotechnique"; case 0x1C: return "Mitsubishi2"; case 0x9D: return "Lucent"; case 0x9E: return "Exel"; case 0x1F: return "Atmel"; case 0x20: return "SGS/Thomson"; case 0xA1: return "Lattice Semiconductor"; case 0xA2: return "NCR"; case 0x23: return "Wafer Scale Integration"; case 0xA4: return "International Business Machines"; case 0x25: return "Tristar"; case 0x26: return "Visic"; case 0xA7: return "International CMOS Technology"; case 0xA8: return "SSSI"; case 0x29: return "Microchip Technology"; case 0x2A: return "Ricoh"; case 0xAB: return "VLSI"; case 0x2C: return "Micron Technology"; case 0xAD: return "Hynix Semiconductor"; case 0xAE: return "OKI Semiconductor"; case 0x2F: return "ACTEL"; case 0xB0: return "Sharp"; case 0x31: return "Catalyst"; case 0x32: return "Panasonic"; case 0xB3: return "IDT"; case 0x34: return "Cypress"; case 0xB5: return "Digital Equipment Corporation"; case 0xB6: return "LSI Logic"; case 0x37: return "Zarlink"; case 0x38: return "UTMC"; case 0xB9: return "Thinking Machine"; case 0xBA: return "Thomson CSF"; case 0x3B: return "Integrated CMOS"; case 0xBC: return "Honeywell"; case 0x3D: return "Tektronix"; case 0x3E: return "Oracle Corporation"; case 0xBF: return "Silicon Storage Technology"; case 0x40: return "ProMos"; case 0xC1: return "Infineon"; case 0xC2: return "Macronix"; case 0x43: return "Xerox"; case 0xC4: return "Plus Logic"; case 0x45: return "SanDisk Corporation"; case 0x46: return "Elan Circuit Technology"; case 0xC7: return "European Silicon"; case 0xC8: return "Apple"; case 0x49: return "Xilinx"; case 0x4A: return "Compaq"; case 0xCB: return "Protocol Engines"; case 0x4C: return "SCI"; case 0xCD: return "Seiko Instruments"; case 0xCE: return "Samsung"; case 0x4F: return "I3 Design System"; case 0xD0: return "Klic"; case 0x51: return "Crosspoint Solutions"; case 0x52: return "Alliance Semiconductor"; case 0xD3: return "Tandem"; case 0x54: return "Hewlett-Packard"; case 0xD5: return "Integrated Silicon Solutions"; case 0xD6: return "Brooktree"; case 0x57: return "New Media"; case 0x58: return "MHS Electronic"; case 0xD9: return "Performance Semiconductors"; case 0xDA: return "Winbond Electronic"; case 0x5B: return "Kawasaki Steel"; case 0x5D: return "TECMAR"; case 0x5E: return "Exar"; case 0xDF: return "PCMCIA"; case 0xE0: return "LG Semiconductor"; case 0x61: return "Northern Telecom"; case 0x62: return "Sanyo2"; case 0xE3: return "Array Microsystems"; case 0x64: return "Crystal Semiconductor"; case 0xE5: return "Analog Devices"; case 0xE6: return "PMC-Sierra"; case 0x67: return "Asparix"; case 0x68: return "Convex Computer"; case 0xE9: return "Nimbus Technology"; case 0x6B: return "Transwitch"; case 0xEC: return "Micronas"; case 0x6D: return "Canon"; case 0x6E: return "Altera"; case 0xEF: return "NEXCOM"; case 0x70: return "Qualcomm"; case 0xF1: return "Sony"; case 0xF2: return "Cray Research"; case 0x73: return "AMS"; case 0xF4: return "Vitesse"; case 0x75: return "Aster Electronics"; case 0x76: return "Bay Networks"; case 0xF7: return "Zentrum"; case 0xF8: return "TRW"; case 0x79: return "Thesys"; case 0x7A: return "Solbourne Computer"; case 0xFB: return "Allied-Signal"; case 0x7C: return "Dialog Semiconductor"; case 0xFD: return "Media Vision"; case 0xFE: return "Numonyx Corporation"; case 0x7F01: return "Cirrus Logic"; case 0x7F02: return "National Instruments"; case 0x7F04: return "Alcatel Mietec"; case 0x7F07: return "JTAG Technologies"; case 0x7F08: return "Loral"; case 0x7F0B: return "Bestlink Systems"; case 0x7F0D: return "GENNUM"; case 0x7F0E: return "VideoLogic"; case 0x7F10: return "Chip Express"; case 0x7F13: return "TCSI"; case 0x7F15: return "Hughes Aircraft"; case 0x7F16: return "Lanstar Semiconductor"; case 0x7F19: return "Music Semi"; case 0x7F1A: return "Ericsson Components"; case 0x7F1C: return "Eon Silicon Devices"; case 0x7F1F: return "Integ.Memories Tech."; case 0x7F20: return "Corollary Inc."; case 0x7F23: return "EIV(Switzerland)"; case 0x7F25: return "Zarlink(formerly Mitel)"; case 0x7F26: return "Clearpoint"; case 0x7F29: return "Vanguard"; case 0x7F2A: return "Hagiwara Sys-Com"; case 0x7F2C: return "Celestica"; case 0x7F2F: return "Rohm Company Ltd."; case 0x7F31: return "Libit Signal Processing"; case 0x7F32: return "Enhanced Memories Inc."; case 0x7F34: return "Adaptec Inc."; case 0x7F37: return "AMIC Technology"; case 0x7F38: return "Adobe Systems"; case 0x7F3B: return "Newport Digital"; case 0x7F3D: return "T Square"; case 0x7F3E: return "Seiko Epson"; case 0x7F40: return "Viking Components"; case 0x7F43: return "Suwa Electronics"; case 0x7F45: return "Micron CMS"; case 0x7F46: return "American Computer &Digital Components Inc"; case 0x7F49: return "CPU Design"; case 0x7F4A: return "Price Point"; case 0x7F4C: return "Tellabs"; case 0x7F4F: return "Transcend Information"; case 0x7F51: return "CKD Corporation Ltd."; case 0x7F52: return "Capital Instruments, Inc."; case 0x7F54: return "Linvex Technology"; case 0x7F57: return "Dynamem, Inc."; case 0x7F58: return "NERA ASA"; case 0x7F5B: return "Acorn Computers"; case 0x7F5D: return "Oak Technology, Inc."; case 0x7F5E: return "Itec Memory"; case 0x7F61: return "Wintec Industries"; case 0x7F62: return "Super PC Memory"; case 0x7F64: return "Galvantech"; case 0x7F67: return "GateField"; case 0x7F68: return "Integrated Memory System"; case 0x7F6B: return "Goldenram"; case 0x7F6D: return "Cimaron Communications"; case 0x7F6E: return "Nippon Steel Semi.Corp."; case 0x7F70: return "AMCC"; case 0x7F73: return "Digital Microwave"; case 0x7F75: return "MIMOS Semiconductor"; case 0x7F76: return "Advanced Fibre"; case 0x7F79: return "Acbel Polytech Inc."; case 0x7F7A: return "Apacer Technology"; case 0x7F7C: return "FOXCONN"; case 0x7F83: return "ILC Data Device"; case 0x7F85: return "Micro Linear"; case 0x7F86: return "Univ.Of NC"; case 0x7F89: return "Nchip"; case 0x7F8A: return "Galileo Tech"; case 0x7F8C: return "Graychip"; case 0x7F8F: return "Robert Bosch"; case 0x7F91: return "DATARAM"; case 0x7F92: return "United Microelec Corp."; case 0x7F94: return "Smart Modular"; case 0x7F97: return "Qlogic"; case 0x7F98: return "Kingston"; case 0x7F9B: return "SpaSE"; case 0x7F9D: return "Programmable Micro Corp"; case 0x7F9E: return "DoD"; case 0x7FA1: return "Dallas Semiconductor"; case 0x7FA2: return "Omnivision"; case 0x7FA4: return "Novatel Wireless"; case 0x7FA7: return "Cabletron"; case 0x7FA8: return "Silicon Technology"; case 0x7FAB: return "Vantis"; case 0x7FAD: return "Century"; case 0x7FAE: return "Hal Computers"; case 0x7FB0: return "Juniper Networks"; case 0x7FB3: return "Tundra Semiconductor"; case 0x7FB5: return "LightSpeed Semi."; case 0x7FB6: return "ZSP Corp."; case 0x7FB9: return "Dynachip"; case 0x7FBA: return "PNY Electronics"; case 0x7FBC: return "MMC Networks"; case 0x7FBF: return "Broadcom"; case 0x7FC1: return "V3 Semiconductor"; case 0x7FC2: return "Flextronics(formerly Orbit)"; case 0x7FC4: return "Transmeta"; case 0x7FC7: return "Enhance 3000 Inc"; case 0x7FC8: return "Tower Semiconductor"; case 0x7FCB: return "Maxim Integrated Product"; case 0x7FCD: return "Centaur Technology"; case 0x7FCE: return "Unigen Corporation"; case 0x7FD0: return "Memory Card Technology"; case 0x7FD3: return "Aica Kogyo, Ltd."; case 0x7FD5: return "MSC Vertriebs GmbH"; case 0x7FD6: return "AKM Company, Ltd."; case 0x7FD9: return "GSI Technology"; case 0x7FDA: return "Dane-Elec (C Memory)"; case 0x7FDC: return "Lara Technology"; case 0x7FDF: return "Tanisys Technology"; case 0x7FE0: return "Truevision"; case 0x7FE3: return "MGV Memory"; case 0x7FE5: return "Gadzoox Networks"; case 0x7FE6: return "Multi Dimensional Cons."; case 0x7FE9: return "Triscend"; case 0x7FEA: return "XaQti"; case 0x7FEC: return "Clear Logic"; case 0x7FEF: return "Advantage Memory"; case 0x7FF1: return "LeCroy"; case 0x7FF2: return "Yamaha Corporation"; case 0x7FF4: return "NetLogic Microsystems"; case 0x7FF7: return "BF Goodrich Data."; case 0x7FF8: return "Epigram"; case 0x7FFB: return "Admor Memory"; case 0x7FFD: return "Quadratics Superconductor"; case 0x7FFE: return "3COM"; #endregion JEDEC case 0x0100: return "Digital Equipment Corporation"; case 0x0101: return "3Com Corporation"; case 0x0102: return "Megahertz Corporation"; case 0x0104: return "Socket Communications"; case 0x0105: return "TDK Corporation"; case 0x0108: return "Standard Microsystems Corporation"; case 0x0109: return "Motorola Corporation"; case 0x010b: return "National Instruments"; case 0x0115: return "US Robotics Corporation"; case 0x0121: return "Olicom"; case 0x0126: return "Proxim"; case 0x0128: return "Megahertz Corporation"; case 0x012F: return "Adaptec Corporation"; case 0x0137: return "Quatech"; case 0x0138: return "Compaq"; case 0x0140: return "Ositech"; case 0x0143: return "D-Link"; case 0x0149: return "Netgear"; case 0x014D: return "Simple Technology"; case 0x0156: return "Lucent Technologies"; case 0x015F: return "Aironet Wireless Communications"; case 0x016B: return "Ericsson"; case 0x016C: return "Psion"; case 0x0183: return "Compaq"; case 0x0186: return "Kingston"; case 0x0192: return "Sierra Wireless"; case 0x0194: return "Dayna Corporation"; case 0x01a6: return "Raytheon"; case 0x01BF: return "Belkin"; case 0x01EB: return "Bay Networks"; case 0x0200: return "Farallon Communications"; case 0x021B: return "Telecom Device"; case 0x023D: return "Nokia Communications"; case 0x0250: return "Samsung"; case 0x0264: return "Anycom"; case 0x0268: return "Alvarion Ltd."; case 0x026C: return "Symbol"; case 0x026F: return "BUFFALO"; case 0x0274: return "The Linksys Group"; case 0x0288: return "NEC Infrontia"; case 0x028A: return "I-O DATA"; case 0x02AA: return "Asustek Computer"; case 0x02AC: return "Siemens"; case 0x02D2: return "Microsoft Corporation"; case 0x02DF: return "AmbiCom Inc"; case 0x0a02: return "BreezeCOM"; case 0x10CD: return "NewMedia"; case 0x1668: return "ACTIONTEC"; case 0x3401: return "Lasat Communications A/S"; case 0x4E01: return "Lexar Media"; case 0x5241: return "Archos"; case 0x890F: return "Dual"; case 0x8A01: return "Compex Corporation"; case 0xC001: return "Contec"; case 0xC00B: return "MACNICA"; case 0xC00C: return "Roland"; case 0xC00F: return "Corega K.K."; case 0xC012: return "Hagiwara SYS-COM"; case 0xC015: return "RATOC System Inc."; case 0xC020: return "NextCom K.K."; case 0xC250: return "EMTAC Technology Corporation"; case 0xD601: return "Elsa"; default: return string.Format(Localization.Unknown_vendor_id_0, id); } } }