Subject: PC Card FAQ Summary: Information about PCMCIA-compatible PC Cards. Keywords: PC Card FAQ (last changed 1997 Apr 5) Expires: 1996 May 1 by d.cary@ieee.org (David Cary) PC_Card_FAQ.txt is posted to alt.periphs.pcmcia, comp.sys.laptops, comp.sys.palmtops, pci-sig@znyx.com, and should be available via http://www.rdrop.com/~cary/ (ask David about MS-Word and HTML versions) New stuff: ------------------------------ Subject: 0. Contents 0. Contents 1. What is a FAQ ? About this FAQ 2. Introduction: What is PCMCIA? 3. What are PC Cards ? 4. Hosts / Slots for PC Cards 5. Setting up PC Card software 6. Developing PC Card software 7. Developing PC Cards: Mechanics 8. Developing PC Cards: electronic chips and kits available 9. Developing PC Cards: electronic specs A. Card Bus B. Developing PC Cards: The CIS C. Developing PC Card hosts D. On-line Resources E. Books F. Credits G. Legal Mumbo-Jumbo ------------------------------ Subject: 1. About this FAQ. David Cary designed this FAQ to hold everything PCMCIA and PC Card - related that I know/want to know/have heard rumors about/. I can't possibly guarantee that everything in here is true. Please comment on this FAQ! Comments this FAQ are welcomed. Please do send corrections, (good) questions, suggestions, contributions, (constructive) criticism, clarification of ambiguities, and pointers to d.cary@ieee.org (David Cary). If you have information you think should be here please let me know. Q: I'm thinking about html-izing this document. Any pro or con comments ? A1: "I think HTML would make it clearer to read." -- Samuel Liddicott Date: Thu, 18 Jul 1996 A2: ??? The symbol "???" indicates unknown or incomplete information -- if you can confirm it, please tell me. If you want your company's products mentioned in this FAQ, you might think about bribing the Keeper of the FAQ by mailing a sample to: David Cary 2017 19th Ave. Forest Grove, OR 97116-2338 Numbers are formatted like US$ 9 999.99 pronounced "ten thousand American dollars". (I use a dot rather than ISO standard comma for the decimal place marker.) online resources (Anonymous ftp sites, HTML documents, etc.) are in standard URL form and should work with all WWW browsers. Books have _Underlines_ around the title. Q: Who said "Good questions are more valuable than good answers" ? Q: What is a FAQ ? A: Frequently Asked Questions. Most Usenet FAQs are available via http://www.cera2.com/faqs.htm --but not this PC Card FAQ. Q: Should I bother getting this FAQ approved for *.answers and included there ? Q: Why would anyone put time and effort into a FAQ, then give it away for free ? A1: Pseudo-rational explanation: Game Theory shows that "write up an answer and send it to the FAQ Maintainer" is a better strategy than "hoard this knowledge to myself". The proof is outside the scope of this FAQ. (It saves an "expert" time by allowing him to answer common questions once and for all by giving a newbie a copy of the appropriate FAQ, rather than patiently explain, for the umpteenth time, "What is PCMCIA ?" or "How can I tell if my Pentium has the FDIV bug?" or "Can I fake a keyboard so my computer will boot without it?" or "How do I rotate a 3D point?".) A2: Metaphysical explanation: I know of no religious/theological/ethical literature that mentions PC Cards specifically. The FAQ-making process, however, has roots in the 2nd command (Lev.19:18), knowledge (Prov.23:23), apathy (James.4:17), and the "answer a fool" paradox of Prov. 26:4,5. Or perhaps I have no free will, I am doomed to produce this thing -- see the Minkowski block-universe explanation in _Time Machines_ by Paul J. Nahin. A3: Psychological explanation: David's ego is stroked by responses that say "thanks", "well done". David's ego believes he's the only entity in the universe intelligent enough to write a FAQ on PC Cards. A4: Psychotic explanation: tHe vOiCeS iN mY hEaD tOlD mE tO dO iT. yOu mUsT oPeN yOUr mInd tO uS. rEsIsTanCe iS fUtIlE. hUmOr iS pOwEr. Q: Why do I get the impression you're not taking me seriously ? Q: Would it be more helpful to you all if David organized this FAQ according to a few major subjects (like it is now) or broke it up into lots of individual questions ? Q: Why don't you have professional-looking "changes" and "change bars" at the left edge, like those other FAQs ? Something like this: Changed items are marked with a |. New items are marked with a +. Items needing input are marked with a ?. A: I'm lazy. Q: Is there a simple utility somewhere that automagically does this??? Posting Frequency: Whenever I Can Get Spare Time(TM). ------------------------------ Subject: 2. Introduction: What is PCMCIA? The Personal Computer Memory Card Industry Association. voice: 1.408.433.2273 (1.408.433.CARD ) (was 408.720.0107) fax: 1.408.433.9558 (was 408.720.9416) http://www.pc-card.com email: office@pcmcia.org PCMCIA no longer has a public access BBS. -- Greg Barr, 15 Jul 1996 The PCMCIA publishes the _PCMCIA PC Card Standard_. It contains specifications for the physical, electrical and software aspects of PC Cards and hosts. Q: So, what's the latest version ? A1: The latest version I know about is "the February 1995 release of the PC Card Standard (no version number). I just call it the PC Card '95 standard." -- Mike Mori. A2: The 1995 release of "The PC Card Standard" includes low-power (3.x V), CardBus, and DMA information. In addition, since then PCMCIA has released Zoomed Video, Flash Translation Layer, and Custom Interface specifications to all registered owers of the PC Card Standard. For non-members (as of 1996 July 15), it is US$ 398.00 "The PC Card Standard" CD-ROM or Paper US$ 549.00 "The PC Card Standard" Paper and CD-ROM Bundle (This incudes erratas and update notification -- for 1 year ???) (The price has come down -- was US$ 574.00 CD or Paper was US$ 814.00 Paper and CD Bundle ) -- Greg Barr, 15 Jul 1996 I've heard that the CD-ROM is "Windows only, non-printable". It's somewhat cheaper (as low as "only" US$ 225.00, Paper and CD Bundle) for members. But then, the lowest level of membership is US$ 1 500.00 / year PCMCIA Affiliate Membership. "Pretty Confusing. May Cause Intense Anxiety" -- Bruce Bennet "People Cannot Memorize Computer Industry Acronyms." "Personal Computer Marketers Can't Invent Acronyms" There is no such thing as a "PCMCIA Card". Greg Barr, PCMCIA Public Relations Coordinator gbarr@pcmcia.org -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- =-=-=-=-=-=-=-=-=- PCMCIA * 2635 N. First Street #209 * San Jose, CA * 95134 * USA The Worldwide Organization for the PC Card Technology The Official PC-Card Home Page: www.pc- card.com -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- =-=-=-=-=-=-=-=-=- ------------------------------ Subject: 3. What are PC Cards ? The hip way to refer to "a card compatible with the JEIDA and PCMCIA PC Card standard" is "a PC Card". O.K., maybe it's not so cool; in fact, it's downright confusing when you consider that the original IBM PC won't accept a PC Card. The only cards *that* obsolete machine can handle are now called "8-bit ISA cards". azachai@world.std.com (Arthur Zachai) suggests calling the new PC Cards "P-Cards" to avoid confusion. Handy guide: * Same size as a stack of 4 or so credit cards. Smooth, silvery metal on top and bottom. Tiny holes in 2 rows at one end. PC Card. * Roughly the size of a paperback novel, green, with sharp points on one side and small black creatures with silver legs on the other, and some short gold lines all in a row on both sides near one edge: Definitely not a PC Card. (8-bit ISA cards are the most common, but there's also 16-bit ISA cards, EISA cards, Micro Channel cards, PCI cards,...) See "On-line Resources" section of this FAQ for pointers to compatibility guides. The *only* difference between "Type I", "Type II" and "Type III" is the thickness of the card. In other words, the electronics are identical, and software can't tell the difference. A "Type I slot" just means that, to save a few pennies, the host manufacturer didn't bother to make the hole big enough for the bigger cards to plug in. (It's also a general hint that the host does not have enough battery power to run the big (relatively) power-eating rotating-disk media that usually come in Type III cards.) However, several companies sell extender cards and/or external power supplies to let even a fat (relatively), power-guzzling Type III card plug into a narrow and power- stingy Type I slot. I have seen photos of a socket that allows a Type III card and a Type II card to plug in simultaneously, but I don't know of anyone that uses that socket -- everyone seems to be using sockets that completely block the other socket when a Type III card is plugged in. (It's fairly simple to simultaneously use 2 Type III cards into the same machine by using extender cards). Q: Does anyone know if there are PCMCIA video cards available? A: Check out AP Research's web site (http://www.apresearch.com) -- ostein@Xenon.Stanford.EDU (Oliver Steinmeier) (Newsgroups: alt.periphs.pcmcia) (Date: 29 Sep 1995) Q: Does a PC Card modem use the UART on my motherboard ? A: No. Q: Are there any PC card that provides a serial port interface, NOT a modem, just the serial port and connector ? -- Dan Everhart (dan@dynasty.dyndata.com) Q: Try these vendors. Quatech makes a multi-port PCMCIA serial card as well as synchronous serial cards. Socket Communications 2501 Technology Drive Hayward, CA 94545 USA +1-800-552-3300 +1-510-670-0300 +1-510-670-0333 fax +32 3 281 06 45 Belgium Quatech 662 Wolf Ledges Parkway Akron, OH 44311 +1-800-553-1170 +1-216-434-3154 +1-216-434-1409 fax +1-216-434-2481 bbs Options by IBM HelpCenter +1-800-426-7299 +1-800-465-7999 +1-800-426-3395 fax Smart Modular Technologies 45531 Northport Loop West Fremont, CA 94538 1-510-623-1231 Fax 1-510-623-1434 -- From: bender@doemain (Michael Bender) [Newsgroups: alt.periphs.pcmcia][Date: 27 Sep 1995] Q: Can I plug in and yank out PC Cards without turning off my computer ? A: The PC Card standard is specifically designed for hot- swapping -- but see chart with next question. Q: Does there exist a PC Card that connects to a ISDN phone line ? Does it work with the Apple PowerBook 5300c ? -- andreas_heidoetting@cydonia.franken.de (Andreas Heidoetting) Q: What kinds of PC Cards are available ? Here's a list of all the different kinds of PC Cards I've heard of: 2 MB flash card (1) A/D Converters and other Data Acquisition Devices Modem Cards - 14.4Kbps (1), 28.8Kbps, wireless radio modems (5), Cellular Phone Interface, even ISDN Cards Modem and Ethernet Combo Cards SCSI adapter: (2) (for external CD-ROM drives and Zip drives) LAN cards: (3) Sound cards (6) (both input and output) Security Tokens (whatever that is) LAN Adapters -- Ethernet, Token Ring, Infrared, Radio LAN Joystick Interface Cards (see below) Memory Cards - Flash, SRAM(4), magnetic disk, and many others VGA Video Capture/Frame Grabber Cards Parallel and/or serial port Interface hand scanners from Mustek (www.mustek.com) Has anyone actually *seen* PC Cards with these functions, or are they just a myth ??? GPS (Global Positioning System) Cards AM/FM Radio Tuner TV Tuner Video Teleconferencing "A comprehensive list of PC Card products and services is available at http://www.pc-card.com, in the web version of the PC Card Resource Directory." -- Greg Barr, 15 Jul 1996 (1) I've used a 14.4 modem card. I plug in, and yank out all the time (while the computer is on). Never a problem. "PCMCIA 28.8 TDK modems for $295" Mac Talk, Inc. voice (800) 622-5557 FAX (818) 225-8627 e-mail: mactalk@primenet.com (Mike Engle) http://www.primenet.com/~mactalk 06 Oct 1995 (2) Sure, I can plug it in with the power on, but it refuses to talk to a CD-ROM drive unless the card is plugged in when I turn on the computer. (I usually insert card, flip power off, flip power on, use a CD-ROM drive a while, then yank it out and plug in some other card.) $99 from http://www.ntanet.net/nta/ziptemp.html $99 from http://www.iomega.com/ "Shining Technology has a SCSI PCMCIA card ... retails for $180 ... Call 714.761.9598 or FAX at 714.761.9624 ... Ask for Gary Shumaker" --gshumaker@aol.com (GShumaker) (3) "With Win95, I've had no problems unplugging LAN cards (specifically, 3Com 3c589). This assumes that it is supported by one of the 32 bit drivers. If you try to access something on the net, you get a message about the resource not being available." -- Kevin D. Davis (4) I've heard rumors that some old, obsolete memory cards would corrupt their memory if you inserted and/or yanked them out with the power on. Can anyone confirm this rumor ??? (5) ??? anyone have any experience ??? (see next question) (6) Communication Automation and Control 800.367.6735; fax 610.770.1232 put a TI TMS320C32 floating point DSP, stereo CD-quality audio input/output channels,, 4MBytes of DRAM ... base price is $895, with development software extra. -- from ad in _EEPN_ 1996 March. (6) "combination of CD-ROM and soundcard ... One is made by Zenith and got an excellent review in a recent magazine (I forget which one)." -- M David Tilson Q: Tell me about GPS systems for portable computers. (What issue of PC World mentioned them ???) Q: Tell me about PC Card wireless radio modems. A1: "There is a review of cellular modems in the November 1995 _Mobile_Office_. The Apex Data Inc.'s Mobile Plus V.34 got the only 1st class award. (The Ericsson is an Apex 14.4 version)." -- Kevin D. Davis A2: Motorola has one for about $800 -- for more info, http://www.mot.com/MIMS/WDG/Technology/PM/ -- shags@x400gate.bnr.ca (Pat O'Shaughnessey) A2: "Check out: http://www.metricom.com/ The Metricom modem isn't actually a PC card. It plugs into the external serial port." -- Matt Ranney - mjr@eit.com " $795 IBM Mobitex Type III PC Card radio modem ... sends and recieves messages and faxes via a 900 MHz radio link ... Motorola InfoTAC serial port modem is available for $749. ... 8 Kbps ... coast-to-coast RAM Mobile Data wireless network ... can't connect to a wired phone connection, which means you'll need 2 modems when you travel. ..." -- Brian Nadel, 1995 Oct 10 PC Magazine Q: Who makes other interesting ready-to-run PC Cards ??? "we are just about to release a MIDI card in PCMCIA format, we are interested in Beta Testers." -- Jonathan Burchell - J C Designs Ltd jonathan@jcdesign.demon.co.uk Date: Mon, 09 Oct 1995 14:37:54 GMT "we make ... the GameCard II, a PCMCIA type II card and gives you a standard 'desktop' like dual joystock interface" -- jonathan@jcdesign.demon.co.uk Date: Wed, 11 Oct 1995 15:27:26 GMT Innovative Electronik Systems 303.649.9024 makes a Type II PC Card that talks to a IEEE 488.2 (GPIB) network. -- EEPN Jun. 1995 "Quadrant Int. in Pennsylvania has a real-time video capture PC card available. Check out http://www.cris.com/~videoguy/ " -- chrise@intelligraphics.com (Chris Edgington cedgingt@holli.com) Communication Automation and Control, Inc. http://www.cacdsp.com sells a single PC Card with both a AT&T DSP and Analog I/O; the "Bulletdsp" and the "DARTdsp". $ 3 295 BU-65550 PCMCIA Type II interface card MIL-STD-1553 data bus "fully intelligent interface between a dual redundant 1553 data bus and a PCMCIA socket." ILC Data Device Corporation "Contact Steve Freidman ... voice:516.567.5600" -- _ECN_ 1996 July I hear rumors that http://www.rfi.de has announced a FM radio pcmcia card (???) ------------------------------ Subject: 4. Hosts / Slots for PC Cards Q: How can I get my desktop machine to use PC Cards ? A: Get an adapter card. What kind of slots does your desktop machine already have ? "APR&C list phone, fax and URLs for most of the suppliers of card reader for PCMCIA Cards at our web site. http://www.apresearch.com Select databases, then select card readers and a page will appear that show over 20 suppliers." -- aprophet@apresearch.com (Andrew Prophet) (Newsgroups: alt.periphs.pcmcia)(Date: Mon, 20 Jan 1997 ) PCI: $399 each: IBM's "IBM-81-205" PCI to PCMCIA adapter card. Includes Card and Socket Services software, four PCMCIA slots, IDE disk controller on the same card. Order through Marshall Industries (818-307-6386). Joe Underwood at IBM on 607-755-6573 "It is compatible with OS/2 Warp, DOS, and Windows." -- jrash@vnet.ibm.com (Joe Rash) PCI: ??? each: Ramix's "RM435" Ramix, Inc. T: 818-349-6772 F: 818-349-0903 "I've ordered several from Ramix" -- Michael.Bender@Eng.Sun.COM 16-bit ISA: SCM Microsystems, Adtron, Epson, DataBook, and many others "Less than $200 for a dual-socket configuration usually." -- Michael.Bender@Eng.Sun.COM 16-bit ISA: (???) "Check with Computer City. I've seen one there 199.00 with four slots. Two on the back of the card, two on the drive slot." -- Jeffrey Chu of Intel EISA: ??? (Or just buy a 16-bit ISA board; they'll plug in) VME: Micro Memory Inc. ? The "VMCI-2" single-slot, 3U VMEbus board can accept (a single?) Type I, II, and III PC Card through a front panel slot. $585 for commercial temperature range version. PEP Modular Computers, voice: 800.228.1737, fax: 602.483.7202 -- from EEPN June 1995. SCSI: MC-DISK-E is manufactured by MPL AG, Zelgweg 12, CH-5405 D"attwil, obviously a Swiss company. distributed in the USA by Spyrus. has 2 sockets for PC Cards to plug in. Q: Does anyone have more information on getting this or similar devices to actually work ? What is a "ASPI interface" ? --mikebat@clark.net "PC Card drive for computers with SCSI bus interface. The SDDS SCSI card drive provides a PCMCIA card interface for .... computers with a SCSI interface .... accommodates 2 cards of type I, II, or III specifications. Prices ... start at $350. Adtron Corp, Mesa, AZ (602.926.9324)." -- ad in _EDN_ 1995 Sep. 14 p. 181. I'm sure there are other adapter cards out there ... Q: Does anyone make an ISA/EISA PCMCIA adapter card that includes a boot ROM with enough Card and Socket Services to be able to boot your x86 machine from an ATA, memory or LAN card??? -- Michael Bender Q: Is there any way to split a single PCMCIA slot into two? -- Ken Mandelberg, km@mathcs.emory.edu A: ??? "Certain government agencies that have security requirements are starting to mandate that all new systems have PCMCIA so that security cards (crypto devices) can be used. " -- Doug.McCallum@Central.Sun.COM There's an external power adapter available, called the PalmTop adapter, that provides +5 at 1 amp for any PC card, at http://www.aimnet.com/~avasales. --Allan Hughes ------------------------------ Subject: 5. Setting up PC Card software What questions do you *want* this section to answer ? Every host computer "should" come with a copy of Card Services (CS) and Socket Services(SS). (This is what they're called on x86 platforms; anyone know about other platforms ???) This software hides the difference between "x86 machines with a Databook socket controller chip" and "x86 machines with a Intel 82365 compatible socket controller chip (e.g. Ricoh, Vadem etc.)". "whatever other sort of socket controller chip this host computer has" Q: Is there a PCMCIA SCSI card and driver that will work with Linux ? -- Rlogw (rlogw@aol.com) A: Look on ftp://cb-iris.stanford.edu/pub/pcmcia/ The Linux PCMCIA package supports the Qlogic FastSCSI and New Media Bus Toaster. -- Dave Hinds [Newsgroups: alt.periphs.pcmcia][Date: 1 Apr 1995 ] Q: How does Card Services (CS), expanded memory managers (EMM386/QEMM/etc.) and Windows collaborate on managing memory resources ? How should you set up config.sys so it won't conflict with the CS memory window ??? --Louis J Joubert "Some PCMCIA calls reportedly appear to be dangerous for MS- DOS versions prior to 5.0" -- ralf@telerama.lm.com (Ralf Brown) Can anyone confirm or deny this ??? " SystemSoft, the makers of CardSoft, can be reached at: TEL 508-651-0088 FAX 508-651-8188 SystemSoft Corporation 2 Vision Drive Natick, MA 01760 USA " --pwansick@aol.com (PWansick) ------------------------------ Subject: 6. Developing PC Card software (If possible, device drivers should go through Card Services rather than through Socket Services or direct to hardware. See the "Card Services" section of the _PC Card Standard_). Q: What are the basic steps in developing a Windows 95 device driver for a PC Card ? -- Serge.Lhoste@supelec-rennes.fr [Date: January 31, 1996] A: Start by reading the Plug and Play documentation. Also look on the MSDN for more stuff. There are a couple if books you should also read, The PCMCIA S/W Developer's Handbook by Beatty, Kipisz & Moore, PCMCIA System Architecture by Addison Wesley publishing and must look at the PCMCIA Developer's Guide by Mori and Welder. You driver must initially check for CS to be present and if so must register with to handle events on behalf of your PC Card. Part of registering, you set up a callback into your event handler for the Card. It all becomes clear once you read the various books and documentation mentioned above. Good Luck -- George Stephan - gstephan@sri.kbt.com [To: "'ddk-l@albany.net'" ][Date: Fri, 2 Feb 1996] ---- From: Roger Pfister Organization: DIVA Communications To: ddk-l@albany.net Date: Wed, 31 Jan 1996 14:12:58 +0000 Subject: ddk-l: Re: > I am a french student in electrical engineering and I am > currently involved in a project which aims at developping a > specific device driver for a pcmcia card under windows 95. > Could anybody help me by telling me the basic steps ? 1. Get VC++2.2 from MS (avoid VC++4.0 for now) 2. Get MSDN level 2 from MS this is the SDK and DDK 3. Get SoftICE Win95 from NUMEGA 4. Get VtoolsD form Vireo Use VtoolsD to generate the source files of the outline PCMCIA driver in C or C++ !!!!! The above will save you about a year of work. I know, I have just been through it all. -- Roger Pfister DIVA Communications - Getting the Message Through Wokingham UK + 44 1734 891719 ---- Q: Does anyone know where I can get accurate and precise documentation on the PCMCIA extended Windows95 OSR2 Resource Descriptor (897C) and related issues ? -- Pat@MSMAIL.IOSOFTWARE.COM (Patrick Masse, expert on ZV- Port PCMCIA card; on ddk-l mailing list; ) A: ??? ---- Q: Are there any PCMCIA/PCCARD driver source code available on the net? A1: From: ljg@kaiwan.com (ljg) Newsgroups: alt.periphs.pcmcia Subject: Pro Bono (freeware) Client Driver still available via FTP Date: Sat, 08 Apr 95 04:41:21 GMT ... My Pro Bono client driver is still available via anon FTP. It includes complete source code and is designed to give you a head start in developing a full-blown PCMCIA client driver/enabler. Documentation is included. It is written 98% Microsoft C with the remainder in MASM. The application demonstrated is interfacing with Card Services, opening a memory window to an SRAM card and reading a block of the memory to an MS-DOS file. Its available at ftp://kaiwan.kaiwan.com/user/ljg/ciacli10.zip or as a link on my home page: ... new location: http://hudson.idt.net/~ljg19 /*was http://www.kaiwan.com/~ljg/*/ A3: "Troy Miles of Phoenix Technologies Ltd wrote a client driver article for Dr Dobbs Journal in June 1994, which is republished in our Technical Ref Manual and at www.ptltd.com." -- Robert Keller Phoenix Technologies, Ltd. robert_keller@ptltd.com ---- Free source code: Samuel Liddicott has released his card services library (including source). http://www.csluk.demon.co.uk/cs/ ---- Ideally, a PC Card would work in all these systems: Known types of machines that have PC Card sockets: (I consider all machines that can use the same device driver to be of the same type; different types need different device drivers.) x86 machine running Card Services (Does the same device driver work under DOS, Windows, OS/2, etc.?) x86 machine running only Socket Services x86 machine w/out any PC Card software support 680x0-based PowerBook, Power PC-based PowerBook (can they use 680x0 device drivers ?) Apple Newton (a PDA) Casio Zoomer (an x86-based PDA) SPARC "this can't be stressed enough: *all* interaction with hardware should be done with a VxD." -- The US$ 30 book _Writing Windows Virtual Device Drivers_ by Thielen and Woodruff. Assumes you already have the Microsoft DDK. I think this only applies to Windows 3.x and Windows95. WindowsNT doesn't use VxDs. Q: Does anyone have any clue how to write device drivers (or "PC Card Client Drivers") ? Especially for the Apple PowerBook ? Unix A: (Is that spelled 'Unix' or 'UNIX' ?) "I have done a PC Card system for the freely available BSD 4.4 based FreeBSD Operating System. The code, which is available at ftp://dmssyd.syd.dms.csiro.au/pri/mcrae/pccard- 2.2.tgz (there may be later revisions in that directory), contains card and socket services-like interfaces for a Unix version, and contains utilities to read and decode CIS tuples on cards. FreeBSD is available from freebsd.cdrom.com ... My interest is in making the PC-Card standard available to people in the Unix world, especially using free software." -- Andrew McRae http://www.mega.com.au/~andrew Solaris A: "We do everything in C. For Solaris, we use exactly the same source code drivers and just compile them for each of the three platforms (x86, SPARC and PPC). If you do it right in the source, you don't even have to have conditional code. That way we only have one version [of the PC Card device driver] to worry about." -- Doug.McCallum@Central.Sun.COM (Doug McCallum) Windows A: "Microsoft produces Device Driver Kits (DDKs) for all of it's OSs. ... all (including Windows 3.1, MS-DOS, etc....) are available from the Microsoft Developer's Network (MSDN) Developer's Platform (Level 2). You can subscribe to the developer's Platform by calling MSDN at 800-759-5474." -- mikefl MSDN Level 2 is US$ 513. "Check chapter 4 of PnP.doc (it's on the Windows 95 DDK) ... tells you the bindings for Win95 CardServices. ... also ... check pccard.h (on DDK CD too) for how to talk to the pccard.vxd which is a Microsoft implementation of Card Services on Windows 95." -- Samuel Chen (Date: Wed, 10 Jan 1996) Linux A: "I've implemented a reasonably full-featured Card Services package for Linux. ... Documentation includes a detailed Programmer's Guide" ftp://hyper.stanford.edu/pub/pcmcia/????? -- David Hinds FreeBSD A: The current FreeBSD pc-card/apm package page is http://www.mt.cs.keio.ac.jp/person/hosokawa/PAO/ -- Louis J. Joubert mailto:louisj@liapta.pta.lia.net (Date: Wed, 21 Aug 1996) Q: Are Card Services are available for anything outside x86 machines ? A1: "Card Services and a complete PCMCIA framework is available for Solaris UNIX, which runs on x86, SPARC and PowerPC." -- (Michael Bender) A2: "Yes and no. The question needs to be rephrased slightly though. It should be anything outside x86 systems running DOS/Windows drivers or some such. In any case, Card Services is how we are doing PC Card drivers for Solaris on SPARC, x86 and PowerPC although we haven't released the interface to third-party driver writers yet." -- Doug.McCallum@Central.Sun.COM (Doug McCallum) Q: What about Windows '95 ? "Although the Card Services interface will be available to programmers, new clients should be written to interface to the [Windows '95] Configuration Manager." -- Michael Mori. Q: How do I make calls to Card Services ? A: Look it up in the "interrupt list" from ralf@telerama.lm.com (Ralf Brown). (see On-line Resources). [PDG] "5.2: Socket Services Socket Services (SS) provides the low level "BIOS" interface to the socket controller hardware. Socket Services is typically "hidden" under Card Services and is rarely accessed directly by software clients. ... For systems that expect to boot from PC Cards, SS is typically ROM based." [PDG] "5.3: Card Services Card Services (CS) ... is typically implemented as a driver and loaded via CONFIG.SYS. ... once installed, [it] isolates Socket Services from client access. Although a mechanism exists in Card Services to access Socket Services directly it is only used in rare circumstances and is not recommended." ------------------------------ Delphi and PC Cards "if there is sufficient interest ... We [may] convert our "Access Card Services Easily" DLL into a Delphi Non-Visual Component ... Currently the DLL provides all the 2.1 card services calls for accessing PCMCIA/PCCard cards, as mentioned in the offical specification, with Award's Cardware 2.1 or later, System Softs CardWizard 3.0 or greater, and even Phoenix's PCM+3.0. ... Using this DLL means you need not worry about the finer points of various implementations of Card Services, and yet still be able to write windows 16 bit applications using card services to run under windows95 or Windows 3.1x ... So if anyone would be interested in a Delphi Component to allow access to Card Services functions, please email me, indicating the price you would expect to pay for the component alone/or component with source code." -- Sam Liddicott [Newsgroups: comp.lang.pascal.delphi.components,alt.periphs.pcmcia][Subjec t: Card Services Component][Date: Wed, 29 Nov 1995] ------------------------------ Subject: 7. Developing PC Cards: Mechanics PCMCIA mechanical components include the outer PC Card case itself (sometimes called a "card frame kit") and the connectors on both ends. Q: Why does PCMCIA specifically say (p. 3-15): "The PC Card shall be opaque (non see thru)" ??? The _PCMCIA PC Card Standard_ specifies exactly how durable the connectors must be. The thinness spec. has the most influence on the electrical design. Many otherwise nifty components are too fat. The PCMCIA specification says that, from the outer metal surface to the outer metal surface, Type I: 3.3 mm Type II: 5.0 mm Type III: 10.5 mm Remember that this includes the width of the outer metal case (?) and width of the "PC board" substrate. Q: Who makes thin "PC Board" (typically 0.4 to .56 mm [PDG] )??? "A symmetric Type II card frame kit allows for 2.0 mm component height on both sides of the board. ... The offset type connector ... components with heights up to 2.7 mm". [PDG] Q: Who makes PCMCIA mechanical components ? A: several companies, including John Oldendorf: fax 708.867.0435 Methode Electronics, Inc. Connector Division Chicago, IL. "I/O header for Type II PC Cards ... $1.31 ea./large qty -- 2 weeks ARO." [-- _Electronic Products_ July 1995 p.101] "Type II frame kit ... snap together ... [no] adhesives ... accepts a variety of I/O headers. ... The PCB is not included" Hirose Electric, Inc. 2688 Westhills Court Simi Valley, CA 93065-6235 voice: 805.522.7958 fax: 805.522.3217 email: 5616671@MCImail.com "I/O connectors ... 1 row of 9, 15, 25, and 32 pins" "card-side connectors" "device-side connectors" "Type II frame kits" Elco Elco Corporation (Huntingdon, PA, USA) fax: 814-643-0426 voice: 1-800-653-ELCO Elco Europe, GmbH (Betzdorf, Germany) fax: 49-2741-299299 voice: 49-2741-2990 "Type I Frames", "Type II Frames", "I/O cable connectors", "Host Device components" (apparently distributed through AVX; see AVX in the Passive Components section) ??? Starconn Connectors fax 909 944 0464 ??? Tell them David Cary sent you. (They don't know me, but they will !) Q: Are there any other manufacturers ??? ------------------------------ Subject: 8. Developing PC Cards: Passive Components Extender cards, Resistors, inductors, capacitors, fuses, batteries, etc. Q: Does anyone know about an extender card / board for CardBus ? With headers for a logic analyzer ? Will standard 16-bit PC Card extenders work ? -- ksuzukih (Date: Tue, 25 Jun 1996) A: ??? AVA Instrumentation (http://www.aimnet.com/~avasales) sells a "Development/prototyping kit and ExtenderCard". Sycard Technology (408.247.0730) has useful development tools. (socket tester card) (extender card that brings all the signals out to a header you can prototype / wire wrap) Tamura Corp. of America (phone ???) supposedly sells transformers that fit in Type II PC Cards. Q: Has anyone designed batteries that can fit into a PCMCIA card housing? These batteries cannot be like watch batteries.. they actually have to supply some current and must be rechargeable through the port. -- dkingma@swva.net (Dave Kingma) A1: ??? Anyone ??? A2: This isn't exactly what you asked for, but perhaps it will be close enough: The 3C050M Powerdex 3V lithium primary (non-rechargeable) battery $1.20 (in quantities of 50 000) 50 mAh capacity 30 x 40 x 0.7 mm thick, "has a relatively flat discharge curve. If you divide the 50 mAh capacity by the load current in mA, you'll obtain the time in hours to the "knee", beyond which the voltage drops rapidly." Gould Inc. voice: 216.953.5084 (from _EDN_ 1995 Feb 2) Q: Who makes passive components small enough to fit in a PC Card ? A: several companies, including AVX Corporation 1.803.946.0414 capacitors, resistors, resistor arrays, RC networks, SAW filters, oscillators, inductors up to 22 nH fuses, voltage suppressors, magnetic recievers (whatever that is???). They apparently also distribute ELCO mechanical components. ------------------------------ Subject: 8. Developing PC Cards: electronic chips and kits available (see "Passive Components" for extender cards) Q: Are there any CPUs thin enough to go inside a PC Card ? A1: I've heard rumors of a 8051 version ... A2: 3 chips based on ARM7 core: $19 (in 25 000s) Butterfly (144-pin TQFP; 32-bit architecture; no PCMCIA interface, but 32-bit memory/peripheral interface and a 8-bit programmable parallel port, 2 UARTs) $24 (in 25 000s) Spider (144-pin TQFP; "PCMCIA interface, single UART, and DMA controller, is directly aimed at communications PC cards.") $33 (in 25 000s) Mantis (208-pin PQFP; "Mantis has all the features of the two smaller devices. Its programmable parallel port can function as one 16-bit or two 8-bit ports.") $2 500 development software includes Windows-based debugger. $2 300 MAP-1 evaluation board supports all three models. GEC Plessey Semiconductors 408-451-4700 -- _Electronic Products_ 1995 July p. 64 "The ARM7 versions "Spider" ($40 ?)and the "Mantis" ($55 ?) won't go into production until around 1996 March." -- An Insight rep leaked this to me 1995 Oct. A3: Any others ? Q: How much money does it typically take to turn an idea into a PC Card in production ? A: I wish I knew ??? "A PC card that does *nothing* costs $25 just for the frame and connector." There's 3 paths (that I know of) to a functioning PC Card: 1: Total custom hardware (high NRE costs, long latency). 2: Combine the PCMCIA interface logic with your own custom digital logic on a single FPGA, then wire it to your own stuff. 3: Use a PCMCIA (Card-side) interface IC, then wire it to your own stuff. Q: Is the interface chip really necessary, or is it possible to just interface to the address and data lines directly? ??? -- Chuck Knight "I believe that the Bondwell game card, while certainly not the best example of PCMCIA compatability, implements the complete PCMCIA IO iterface using just a few LSTTL-type devices and a PROM for the CIS." -- Michael Bender -- You need to have an area of attribute memory for the CIS, ... You also need to implement at least one configuration register to ensure that the I/O functions are disabled at power up. Other than that the bulk of interface chips simple decode (which can be done by the PCIC) and tristate the data lines, so if your functional block tristates properly, yopu don't need anything else. You can easily get a complete 16 bit, tristating interface into a Xilinx 3000, and a simple interface without address decode into a 2064 (neither use much of the resources - they're both I/O limited). If you don't need to tristate the data it should fit in a fairly trivial PAL. -- -- Nick Hunn -- For an SRAM card, ... you can have your decode logic map both Attribute Memory and Common Memory togther, and since it's a memory card and not an IO card, you don't need to provide any config registers. The CIS can be put inot the start of your RAM array and backed up by a battery, and you can have appropriate tuples that direct the software to use the memory after the end of the CIS as storage. -- -- Michael Bender "Virtual Chips provides PCI,PCMCIA,CARDBUS,USB VHDL and VERILOG models." One distributor is : Answer Systems ( in France) phone : 33 1 69 47 13 30 fax : 33 1 69 47 13 39 -- ABIVEN Anne (Date: Thu, 11 Jul 96)(To: ) Q: What do you know about prices ? A: PCMCIA (Card-side) interface ICs price quantity IC name manufacturer $15 (1000) PCM16C00 National $ 5.75 (10,000) MSM60801 Oki $ 4.40 (100,000) Z86017 Zilog N/A Z86015 Zilog N/A DNE 5001 Dr Neuhaus GmbH ?? Sym53c500 Symbiosys Logic N/A not implemented yet. Symbiosys Logic sells the Sym53c500, a PCMCIA/SCSI controller. (They also have lots of PCI chips).(1.800.334.5454). Zilog Z86017: Full part names: Z8601720asc -- (normal image) a=tqfp, (mirror image available for same price) David Cary has Zilog's "PCMCIA Development Kit". (z8601700zco). (3 week lead time from Arrow, $435 -- probably cheaper now ??). Surely some other development kits exist. Does anyone know what prices for chips / development systems / royalties are ? (Xilinx and Atmel and Altera produce FPGA chips that are thin enough to fit in a Type I PC Card. Lattice makes "FPLA" devices thin enough, but do they have enough functionality ?) "Programmable Logic Simplifies PCMCIA Interface" article by Martin S. Won of Altera Corp., in _Electronic Design_ July 24, 1995. "The AHDL description of the PCMCIA Interface Macrofunction is available from Altera's Applications Group, at 800.800.EPLD." $5.63 (in 2500s) LT1106 (DC-DC converter; meets Type I PCMCIA 3.3 mm thickness; 20-pin, 1.1 mm thick TSSOP package; 500 KHz switching frequency; usues thin 10 uH inductors and caps)("senses available inputs from a PCMCIA connector and, if no 12 V supply is available, generates 12 V from either a 3.3 or 5V Vcc supply... can also generate a 5V Vpp output from Vcc ...")(article in _EDN_ Nov. 10, 1994, p. 26)(Linear Technology Corp, 408-432-1900) ------------------------------ Subject: 9. Developing PC Cards: electronic specs (Note: every PC Card *must* have a CIS in some sort of non- volatile memory. See "Developing PC Cards: The CIS".) "If at all possible, if you can make the PC Card only decode the minimal number of address lines rather than 10, it makes it easier to move around on other systems. A lot of PC Cards decode all 10 and then only have a limited number of configurations available." -- Doug.McCallum@Central.Sun.COM (Doug McCallum) For example, if your card needs 32 bytes of I/O locations, the hardware on the card should decode the bottom 5 address lines, but should have *nothing* connected to any of the higher address lines. See "Developing PC Cards: The CIS" for more details. However, the card *should* look at slightly more address lines when the host is reading the CIS. Don't take the "connect to only the bottom 5 lines" too literally. -- DAV Q: Are there any "hands-on" PCMCIA training courses ??? -- A: Yes. Annabooks offers "Using PC Card Technology Effectively", a single full-day seminar for system developers. Call 800-462-1042 or visit http://www.annabooks.com for more information. Q: I would like to design a card that looks like a serial port to the computer but actually has some circuitry that talks via that serial port on in the card. Has someone already designed just a basic serial card whereby I could take what was already designed and add my circuitry to the card? -- dkingma@swva.net (Dave Kingma) A: ??? Q: If I am trying to target a userbase that may be using handheld computer, laptop, or desktop, are there any additional design considerations I must make? -- dkingma@swva.net (Dave Kingma) A: ??? ExCA defines a minimum set of features for a socket controller, including * Direct memory addressing * Direct I/O addressing * The socket must supply a minimum of 60 mA Vpp @ 12V and 200 mA Vcc @ 5V continuous. The Casio Zoomer has a maximum current rating for its PC Card slot of only 50 mA. [PDG] "The HP200LX ... one PCMCIA Type II slot ... 7.91 MHz Intel 80C186 CPU ..." [_PDA Developer's Journal_ 1995 Jan] The card must short the card detect pins -CD1 and -CD2 to ground. [PDG] (p.53) On reset, all cards should configure themselves for a memory interface. [PDG] (p.61) ... a hard or soft reset should force the PC Card into its lowest power operating mode. [PDG] Nowadays it's easy to switch power on and off to various components, now that transistors with negligible voltage drop are available. [DAV] (p.65) the PCMCIA specification specifies a maximum access time of 300 ns for the attribute memory at 5V. ... If the card is capable of operation at 3.3V, the specified maximum access time is 600 ns. [PDG] (67) PCMCIA specifies a maximum capacitive load per pin of 50 pF. [PDG] Except for the power pins. Power pins should have capacitive load low enough to meet the 100 mA (??this can't be right??) inrush spec. on the power pins. (??) Pull-ups: 10K or greater [PDG] Pull-Downs: greater than 100K (on address pins ???) Q: Which pins need pull up or pull down resistors ? (??) The host asserts *Reg during I/O and attribute memory accesses. Card should pull it up. [PDG] ------------------------------ Subject: A. Card Bus PCMCIA R2 v. Card Bus comparison mostly from Texas Instruments _On-Board_ newsletter, Fall 1994 (this may be a bit obsolete): Operating voltages: PC: 5.0, 3.3, X.X V CB: 3.3, X.X V Data Size: PC: 8 or 16 bits CB: 32 bits Signaling: PC: ISA-like CB: PCI-compatible, with some limitations Maximum Transfer Rate: PC: 20 MBytes/s CB: 133 MBytes/s, 33 MHz Socket compatibility: PC: can only handle PC Cards CB: Required to handle PC Cards and CardBus cards Maximum in-rush current: PC: 100 mA CB: 100 mA Connector: Both use identical connector hardware: PC: 68 pins, optional ground contact on top CB: 68 pin, required ground contact Bus Master: PC: host CPU, host-side DMA. CB: host CPU, card-side DMA, card CPU. "Very few systems have the hardware support to allow the [host-side] DMA interface to work (DMA wasn't defined in the 2.1 spec.). If you implement it, please follow the 3.0 spec. and also allow a non-DMA mechanism. " -- Doug.McCallum@Central.Sun.COM Date: Sat, 18 Nov 95 15:50:00 PST From: H John McGrath To: pci-sig-request@znyx.com, pci-sig@znyx.com Subject: Re[2]: PCI vs. CardBus Specifications X-Loop: pci-sig@znyx.com Let me try to clear some things up here. First the CardBus spec is part of the PCMCIA standard and may be purchased from them. Their phone: (408) 433-2273. Also what has in the past been called a "PCMCIA card" is now officially designated a "PC Card-16" card. PCMCIA is the acronym for the association's name. The CardBus spec was intended to be as close to PCI as was feasible. There are a few reasons why they vary. The two major reasons are: 1) CardBus slots must support PC Card-16 cards. This allows an OEM to add CardBus without giving up backward compatibility. While CardBus slots are not REQUIRED to support 5V 16 bit cards, all currently under development WILL. This requirement means CardBus couldn't improve on the existing connector's ground characteristics (only 4 ground pins) by adding pins. A new connector that adds 8 additional grounds, but not pins, was developed. The connector supports the 16-bit cards. While the connector is better, it still requires CardBus to control the signal edge rates. They are spec'd at a maximum edge rate of 1V/ns and 0.25V/ns at the slowest. This means the fastest edge on CardBus equals only the slowest on PCI. Therefore PCI drivers cannot be used directly on CardBus. A dual mode buffer, or other solution, is required to use the same part in two places. 2) CardBus is dynamically insertable. This requires the slot to accept the card and allow it to be configured without shutting down or rebooting the machine. This dynamic insertion capability means a slot must determine the card type installed before applying power. It also switches signal protocol to whatever card type is installed. A CardBus card uses a bus protocol virtually identical to PCI and NEVER looks, or operates, like a PC Card-16 card. The two VS and two CD pins on the connector are encoded (grounded, shorted, or open) in such a manner that a state machine in the PCI-to- CardBus bridge can drive the VS lines to make the determination of card type and its supported voltages. The issue of using common silicon between PCI and CardBus is dealt with in the PCMCIA Standard in the Guidelines section. The chapter on common silicon defines the differences a designer must deal with to build a common interface ASIC. Hope this helps. John Date: Mon, 13 Nov 1995 18:45:17 -0800 From: ajoy@rendition.com (Ajoy Aswadhati) To: pci-sig@znyx.com, rwalter@auspex.com Subject: Re: PCI vs. CardBus Specifications The carbus cards will have nothing to do the old PCMCIA spec(a.k.a R2). Only the host adapters that support cardbus will have to deal with detecting and supporting both cardbus and PCMCIA cards. The Cardbus spec specifies a mechanism of using 2 card detect pins and 2 voltage sense pins that may be connected internally to each other. The host adapter uses these pins to query and determine the appropriate card inserted in the socket. It is rather too involved to get into details here. These pins need not be part of the cardbus silicon. The PCI 2.1 spec mentions a carbus cis pointer at offset 28 of the configuration space for devices that share silicon between cardbus and PCI. It is rather unlikely for an existing PCI device to be dropped straight into a cardbus card. There are issues like supporting a 'clkrun' protocol, slew rate controllable buffers and having only one interrupt pin in the cardbus environment. So silicon that is desirable to be shared,has to be designed to support both environments. Hope this information helps. Ajoy Aswadhati Rendition Inc. ------------------------------ Subject: B. Developing PC Cards: The CIS I'd really appreciate it if someone could confirm if the method in this section is really the Right Way to Do Things. Q: A "tuple compiler" is a bit of software that allows you (the hardware engineer) to fill out a form with information about your card, then it takes that information and generates a CIS ready to put on your card. It is much easier than writing out hex codes by hand. Does anyone know where I could get one ??? [DAV] Q: All these tuples ! Where do I start ? A: Michael Bender says: "Weigh the cost of a larger PROM against the cost of supporting a card that does not supply enough CIS information or which presents a CIS that is not in compliance with the PCMCIA standard. The extra 5 cents you save by using a smaller part for the CIS might translate into many dollars of back-end costs when it comes time to support the card in the market. Of course, this is the classic business tradeoff that Ford made concerning the Pinto gas tank as well :-)." Please make sure your card has at least these 6 tuples: CISTPL_DEVICE CISTPL_FUNCID (If there is one for your type of card) CISTPL_VERS_1 CISTPL_MANFID CISTPL_END (Don't use the hack of setting the link byte to 0x0ff) CISTPL_CE (Configuration Table Entry) (Any other critical ones ???) Q: What number should I put in CISTPL_MANFID ? A: (p.59) Contact PCMCIA directly and ask for the "Manufacturer's ID Tuple application form". [PDG] I called and they faxed me a form asking for $100 ($75 for members) to register me. $100 for a 2-byte number. Makes one wonder how much one could make selling 4-byte numbers. [DAV] [ If the CIS just says you decode 5 address lines and doesn't provide a base I/O address, the CIS implies that it fits on any 32 byte boundary. You can actually specify any address, but zero makes as much sense as any. Reasonable software should understand that if you decode N addresses, that it can relocate to any address that has the correct alignment (32 byte in your case) and where any bits in the part of the address specified that would still be set if you AND it with a mask of the N lower bits set are also set. ] -- Doug.McCallum@Central.Sun.COM (Doug McCallum) [Date: Mon, 16 Oct 1995 ] Q: My card needs 32 contiguous I/O locations located on a 32-byte boundary (and the hardware people Did the Right Thing by connecting only 5 address lines), but I don't care where exactly, as long as you tell my application software where you put it. What do I need to put in the CIS ? Is this really right ??? A: In the CISTPL_CFTABLE_ENTRY tuple, TPCE_IO section, make the "I/O address lines" field = 5, indicate whether the card supports 8-bit or 16-bit or both accesses, and clear bit 7 ("Range") to indicate that the card responds to all I/O accesses. (You could also set the Range bit and add a I/O Range Descriptor to give a "suggested" I/O location for compatibility with old software). The CIS can either not specify a base I/O address, or specify any address ("zero makes a much sense as any other address"). Q: I have a card with a CIS that has a TPCE_IO tuple with "I/O Address lines" field == 5, bit 7 of the TPCE_IO byte (the 'Range' bit) is set, and a I/O Range Descriptor with a "I/O address block start address" == 0x210 and a "I/O address block length" == 13. How is the host suppost to configure it ? What should my software do ? [This is a hypothetical question; I doubt such a card really exists]. Is this really right ??? A: The card is saying that as long as you have bit 4 (fifth bit) set, it can go anywhere but that 0x210 is where existing software would expect such hardware. "Smart" application software should use GetConfigurationInfo to see if the card *really* got I/O location 0x210 or some other location. "the address range the card decodes" is actually a nonsensical statement. the socket controller chip on the host motherboard is actually responsible for decoding the address. If the host CPU reads some address that the socket controller chip decides whether or not to pass the read and write signals on to the card (depending on where it *wants* the card to be). The card should respond to *every* read or write access to it; a 32KByte card (for example) (This *includes* the CIS !) should use address lines 0 through 14, and not even have anything connected to the other (higher) address lines. From: tom.glad@tsd,ssi1.com (Tom Glad) Newsgroups: alt.periphs.pcmcia Subject: Re: PCMCIA 28.8 v.34 modem suggestions Date: Mon, 03 Apr 95 07:53:53 PST Organization: TDK Systems ... >: >: This will allow V.42bis thruputs up thru 260K bit/sec on highly >: >: compressable files. I'm quite proud of it. ... >: The High Speed Parallel Port is mapped into I/O space like the COM port. ... >So, on the TDK modem is there not only the traditional UART register set >(makes it look like a 16X50 UART) but also an alternate register set that >makes the card look like a parallel port, and it's this alternate register >set that the driver causes the PCMCIA adapter to map in at an LPT IO address ... The PCMCIA 2.1 specifications allows an I/O device to be configured to many configurations. We have elected to support in the TDK DF2814 the following single and dual i/o port configurations "COM1" (3F8) "COM2" (2F8) "COM3" (3E8) "COM4" (2E8) "COM0" (000) (let the PCMCIA controller put the modem where it wants for non x86 platforms) "LPT1" (3BC) "LPT2" (378) "LPT3" (278) "LPT0" (000) (non x86) Also Dual modes COM0 + LPT1,LPT2, or LPT3 and LPT0 + COM1,2,3,or 4 In the dual modes the modem selects which one to use based on host activity. Hope this helps. = Tom Glad, TDK Systems tom.glad@tsd.ssi1.com = ------------------------------ Subject: C. Developing PC Card hosts Q: I'm looking for a way to connect a PCMCIA memorycard to an 8051 controllerboard. I would like to write data to this card, and be able to read that card on a laptop PC. Would it be very complicated to write to the card in an MS-DOS compatible way? -- jhofman@xs4all.nl (jhofman) (Date: 22 May 1996) A: ??? "chips & technologies 8680 ... is an Intel 8086 clone with PCMCIA interface, LCD controller, and serial port built in." -- odical@aol.com Shawn Oles "Cirrus Logic has a PCI to PCMCIA controller chip. Contact Cirrus Logic 3100 West Warren Ave. Fremont CA 94538 USA " -- Sinclair Easton Grey Cell Texas Instruments has a PCI bus-to-PC Card controller chip .... compatible with 32-bit CardBus ... two 16-bit PC Card slots ... supports ... zoom video ... DMA ... programmable interrupts ... 3.3V or 5V PCI bus, and ... 3.3V or 5V PC cards. ... 208-pin TQFP ... $11.27 in quantities of 150,000. -- _ECN News_ 1996 Dec. Texas Instruments, Inc. Semiconductor Group SC-96028 Literature Response Center P.O.Box 172228, Denver, CO 80217 1-800-477-8924 ext. 4500. Q: How to implement the PCMCIA control cktry into a new design? Please e-mail as well as post (to alt.periphs.pcmcia) any suggestions/info. -- Andrew W Deweerd (adeweerd@pogo.den.mmc.com) A1: You might be able to bit-bang the PCMCIA socket interface itself with something like an 8051 or 68HC11, or you might consider adding an 82365SL or DataBook ISA<->PCMCIA adapter. -- unknown A2: I built a data logger for use on Flash and SRAM cards. Initially I looked at the xx365 option but in the end chose to use a few surface mount latches and some PALS on an AT89C51 (i.e., 8051) driving a dual PCMCIA slot. It's not difficult to manage linear memory cards (SRAM and FLASH) ... The Intel data book "Flash Memory : Volume II" was very helpful. Intel order number 210830-013. It has good descriptions of both linear and ATA style flash memory cards. -- par@cix.compulink.co.uk ("Paul Richards") A3: You don't need a socket controller chip if your device is dealing with one card type and doing one function. But, I think writing to an ATA card with a micro is going to be easier software than writing to a flash card, assuming the resulting data will be readable on another host without a lot of custom software in the host. Remember, flash drivers need to keep track of used blocks, ware-leveling, etc. The ATA card is just a bunch of registers. -- azachai@world.std.com (arthur zachai) Date: Tue, 1 Aug 1995 12:06:26 GMT ------------------------------ Subject: D. On-line Resources Official PCMCIA web site. The PCMCIA Information Page. claims that DoD requires two PC Card slots on all personal computers and workstations purchased. Related Newsgroups : alt.periphs.pcmcia comp.sys.laptops ( home of Comp.Sys.Laptops FAQ from dbridges@ERC.MsState.Edu (Douglas Bridges) ) comp.sys.palmtops You can get a free copy of "Phoenix's Tech Ref. Manual" from http://www.ptltd.com, or email and ask him for a copy. (Tell him the PC Card FAQ sent you). check out the PC Card stuff at () (Pheonix stuff -- already have their Tech manual) anything I should add to my fAQ ? . Check out http://hudson.idt.net/~ljg19/ --- ... Len Galasso might be able to help ... worked Phoenix Technologies PCMCIA .... Many PC Card accessories and development tools. email: avasales@aimnet.com Allan Hughes, AVA Instrumentation, Inc. 9672 Manzanita Ave., Ben Lomond, CA 95005 Tel: (408) 336-2281, Fax: (408) 336-5049 . Annabooks offers the "Using PC Card Technology Effectively" seminar. Texas Instruments sells the "PCI1031" for US$ 11.27 (in 150 K quantities), a "CardBus Controller" designed to go in a host PC, beween the PC Card sockets and the PCI bus. It claims to support both 3.3V or 5V PCI bus and, at the same time, support either 3.3V or 5V PC Cards. "ftp microsoft.com had some interesting stuff at one time, and ftp intel.com had flash device drivers, the pcic.exe utility, PCI, and more.hes" -- azachai@world.std.com (Arthur Zachai) mobilis: the mobile computing lifestyle magazine info on PDAs, wireless communication, and mobile peripherals. Go PlugPlay (on CompuServe) has some info on PCMCIA. All x86 programmers should get a copy of the "interrupt list" by Ralf Brown. It's available on the SimTel Software Repository mirrors as files interRRa.zip to interRRd.ZIP in directory /pub/msdos/info, where RR stands for the release number. Note that you must use a binary transfer mode ("tenex" or "type L 8" for most people) to successfully FTP .zip files. The SimTel mirrors include oak.oakland.edu [141.210.10.117], wuarchive.wustl.edu [128.252.135.4], ftp.uu.net [137.39.1.9], nic.funet.fi [128.214.6.100], src.doc.ic.ac.uk [146.169.3.7], and archie.au [139.130.4.6]. If you're interested in CardBus, you should probably look at: PCI Special Interest Group mailing list: Send mail to pci-sig-request@znyx.com with the word "subscribe" in the "Subject:" line. -- rbaekvtm@teleport.com (Rich Baek) . the Road Warrior Outpost for Laptop & Notebook Computers by Jeff Hosilyk "mailto:warrior@warrior.com" voice:1-800-274-4277 ext 112. "Apple has a fax-back list of "approved" cards that work with the PCMCIA Adapter Module." -- brad@eclipse.net . Windows NT 3.51 Compatibility A list of hardware that has been tested for PCMCIA compatibility (X86 platform only) with Windows NT 3.51 can be found at under the PCMCIA Tested Hardware button. --Markus Duda OS/2 Compatibility IBM publishes an "OS/2 Hardware Compatibility List" which you can obtain by calling 1-800-426-4579 in the US and Canada or 1- 708-296-6767 Internationally. --Dana L. Beatty dana_beatty@bocaraton.ibm.com USR modem users can get support by sending email to support@usr.com Roger C. Pao runs a list server: List server: "Send a one line message "info" to . Subject line is ignored. Do not append a .signature to the message." This list server has files on: PCMCIA SCSI Bus Toaster PCMCIA LiveWire Ethernet LAN PCMCIA Toast-n-Jam Multimedia Combo Sound/SCSI PCMCIA drivers for Linux New Media Corporation voice: 714-453-0100 Fax: 714-453-0114 BBS: 714-453-0214 Technical Support: 714-453-0314 Technical Support Fax: 714-453-0614 Fax-On-Demand: 714-789-5212 CompuServe: GO NEWMEDIA Internet E-Mail: support@newmediacorp.com CompuServe E-Mail: 72662.1032@compuserve.com -- "Roger C. Pao [NMC]" . . The latest version of this FAQ. ------------------------------ Subject: E. Books and periodicals _PDA Developer's Journal_ ($60/year, published by Creative Digital Systems, cds@netcom.com) "if you're interested in the engineering side of the standard. Shanely has one called _PCMCIA System Architecture_ (ISBN 1-88-1609-11-1) for $29.95; Michael T. Mori sells another for $89.95 entitled _The PCMCIA Developer's Guide_, available by calling 1-408-247-0730. Larry Levine has a novice/user's guide called "PCMCIA Primer" (ISBN 1-55828-437- 0) for $24.95." -- dana_beatty@bocaraton.ibm.com "PCMCIA 16-Bit System Architecture (CardBus by December), MindShare ... now available through PCMCIA" -- gbarr@pcmcia.org. "I'm a co-author of [...] _PCMCIA Software Developer's Handbook_ (ISBN 1-57398-010-2) that should be out shortly. It's geared towards folks that want to write PCMCIA client drivers or application programs. ... If the book is successful, we'll revise it to cover other [non-x86] operating systems." -- dana_beatty@bocaraton.ibm.com _The Insider's Guide to PCMCIA Computing_ ISBN 0-57398-010-2. "...should be out [soon] ... more software oriented" -- dana_beatty@bocaraton.ibm.com [PDG] refers to US$ 90.00 _The PCMCIA DeveloperŐs Guide, 2nd Ed._ (c)1994 book by Michael Mori and F. Welder, published by Sycard Technology (408.247.0730), Sunnyvale, CA, ISBN 0-9640342-0-4. . | Mike Mori - Sycard Technology mtmori@rahul.net | | (408)749-0130 (408)749-1323 Fax | ŇusefulÓ -- recommended by Gary Legg -- recommended by Doug McCallum "deals with hardware aspects" -- dana_beatty@bocaraton.ibm.com [DAV] Note that "2nd Ed" -- it's improved over the 1st Ed. The 2nd Ed. has a much expanded list of chips, and a whole new chapter on CardBus. ERRATA: If you look at the .c files on the disk in the back of book, you'll notice something funny. The real .c files are available; email me for info. Available through PCMCIA US$ 24.95 _PCMCIA Primer_ by Larry Levine Published by M&T Books ISBN 1-55828-437-0. "It's a good book (if I do say so myself!). Let me know what you think!" -- levine@world.std.com (Larry M Levine) Available through PCMCIA. "PC Card Standards Keep Up with the Times" article by Richard Nass in _Electronic Design_ 1995 Nov. 6. "Tools & Technology: Versatility, Portability Characterize Newest Data Acquisition Products" article by Caren D. Potter (yes, Caren), in _The Scientist_ 1995 Aug. 21 : "Portable systems let you acquire and analyze your data closer to real time, so you get better data" -- Don Nuzzio : "To connect PCMCIA cards to the real-world data source, some extra hardware is needed. That includes a cable that plugs into the PCMCIA card and connects it to another devices called a terminal block or pod, to which various sensors are connected. ... " -- Caren D. Potter "Battery-operated loggers collect remote data, let you transport results in a shirt pocket" article by Paul Schreier, in _Personal Engineering_ 1994 July. mostly about ... Unidata ... Data Electronics ... Monarch Instruments ... Devar ... data loggers with slot to put PCMCIA "RAM" cards, so later the data can be popped out and transfrerred to a [desktop or portable] PC. _Embedded Systems Programming Product News_ 1996 Fall "PC Card Technology and the Embedded Market" article by Stephen Harper Anybody that knows of any other PCMCIA books, please email to both both: David Cary PC Card FAQ maintainer d.cary@ieee.org Greg Barr, PCMCIA Public Relations Coordinator gbarr@pcmcia.org ------------------------------ Subject: F. Credits Chart "PCMCIA interface ICs" from "ICs and reference designs speed PC Card development" article by gary.legg.@edn.cahners.com (Gary Legg), _EDN_ June 8, 1995. [PDG] refers to Michael Mori's book (see Other Resources). Zilog chip info from Zilog. [DAV] refers to your humble servant, David Cary, . Doug.McCallum@Central.Sun.COM (Doug McCallum) info on Solaris. Tuple recommendations plagiarized from an article Michael Bender posted in the "alt.periphs.pcmcia" news group. Michael.Bender@Eng.Sun.COM N Hunn Grey Cell Sy (nickhunn@cix.compulink.co.uk) readability suggestions from Mike Mori levine@world.std.com warrior@warrior.com (Jeff Hosilyk) dbridges@ERC.MsState.Edu (Douglas Bridges) ninapint@ix.netcom.com (Nina Pinto) for PCMCIA BBS numbers dana_beatty@bocaraton.ibm.com (Dana L. Beatty) for info on lots of books and some OS/2 _PCMCIA Software Developer's Handbook_ co-author Markus Duda shags@x400gate.bnr.ca (Pat O'Shaughnessey) Matt Ranney - mjr@eit.com odical@aol.com (Shawn Oles) 8680 chip info jrash@vnet.ibm.com (Joe Rash ) IBM adapter card that plugs into PCI slots. andrew@mega.com.au (Andrew McRae, FreeBSD) "Roger C. Pao" (New Media Bus Toaster info) ralf@telerama.lm.com (Ralf Brown) his amazing and useful Interrupt List brad@eclipse.net Apple Powerbook info Andy Ingraham FAQ formatting Kevin D. Davis cellular modems ------------------------------ Subject: G. Legal Mumbo-Jumbo. Q: Is legal mumbo-jumbo like the following really necessary ? Disclaimer: We are not responsible for anything at all. Ever. So there. Copyright (c) 1995,1996 by David Cary, all rights reserved. Please send corrections and additions to me rather than keeping a modified version of the list, so that all may benefit from your contribution. You may post this FAQ to any USENET news group or other on- line service as long as it is posted in its entirety and includes this copyright statement. If you want to sell an archive which includes this message, you agree to send me a free copy of it for examination purposes. LIABILITY FOR ERRORS AND OMISSIONS IS LIMITED TO THIS PUBLICATIONŐS PURCHASE PRICE. NAZI(R) IS A REGISTERED TRADEMARK OF TSR INC. Permission to do reasonable things not for profit is given to anyone. Anything else, ask me. ---- David Cary ------------ end of PC Card FAQ ------------------ Subject: H. This just in Here's some bonus info that I haven't gotten around to integrating into the rest of my FAQ. non-PCMCIA stuff that's still useful for portable computers "Colorado Spectrum Portable Game Port plugs into your serial port (and has a serial port passthru) for $48 ($59 with Joystick)" -- Mary Harrsch Date: 11 Oct 1995 16:22:37 GMT Cables "Try Data Comm Warehouse phone: 1-800-328-2261 fax: 1-908-368-4823 Thinnet 10 ft cable $9.95 BCN Terminator 50 Ohm Std. $1.89 BCN T Adapter F/M/F Std. $3.69 " --leonard101@aol.com Testing From: davidfl@microsoft.com To: Subject: Looking for PCI hardware for future Windows testing Date: Wed, 15 Nov 1995 09:06:14 -0800 Hi, I am trying to acquire specific PCI cards for Windows configuration testing. If you have a card that I can acquire that fits into the following categories please let me know. -) Cards that use a PCI to PCI bridge chip -) Cards that use a Cardbus bridge -) Cards that use some other type of bridge chip (PCMCIA bridges and Others) -) Multi-function PCI cards of all types -) Cards that support the Subsystem ID and Subsystem Vendor ID registers -) IDE cards that support Native Mode -) Video cards that support "Native Mode" (ie cards that can be configured NOT to use VGA resources). -) Cards that have a class code that only fits in the "Other" class (using 80h in the Sub-Class location of the class code). -) Cards with a Base Class of FFh (ie doesn't fit any defined class). Also: -) PCI expansion boxes -) ***PC Cardbus cards*** -) PCI docking machines of all types -) New PCI chipsets I would like to gather a fairly large set of these different devices for future Windows configuration testing. If you have a device that you'd be willing to send to Microsoft as an evaluation unit please let me know. If your device is shipping please let me know the relevant purchasing information. If you have already sent us one of these types of evaluation cards I would like to know who it was sent to, please. In order to perform the simpliest configuration all I need is the hardware. To actually use the device I'll also need the appropriate drivers and .INF files. Again, if there is a way that I can acquire your hardware please send Email to me, davidfl@microsoft.com, here at Microsoft (reply to this message). Name: Title: Company: Address: Phone, Fax, Email, CIS ID, etc: A detailed description of your Hardware: Comments: Thank you very much, David Flenniken Davidfl@Microsoft.com Cardbus Date: Fri, 23 Feb 96 15:22:20 -0800 X-Sender: daveo@shemp.corollary.com From: "David O'Shea" Subject: Re: PCI/Cardbus Modems X-Mailing-List: archive/latest/2278 It would seem that the ISA legacy problem is back again. This time the people interested are the COMx people. This is certainly a result of the Cardbus specification. For those that don't know, Cardbus is the PCI specification, with some new connector spec (for small size), and some odd ball rules to make the Cardbus cards have a bit more PCMCIA character. In short though, Cardbus is basically just PCI. The address assignment stuff works the same, the PCI to PCI bridge stuff is the same. It is basically still the same. We have already visited the ISA legacy software compatibility problem twice. First with the VGA adapters (which has a decent, mostly well planned, backword compatibility hack) for the old ISA standard. The second visit was with the IDE adapter type (or ATA-standard for those who speak ANSI). Here the old ISA addresses were hacked in as a "compatibility" mode. The devices can be configured in this mode, and generally are by the BIOS. If the Operating System has a wiz- bang driver, then sometimes the IDE device is reconfigured. For those of you with short memorys, this was (and still is) a simmering brooh-hah-hah with Microsoft, the PCI-SIG, and name throwers over the terrible job that the IDE guys did on the compatiblity hack. This was done while everyone else was asleep and not paying attention. Then Microsoft came along and proposed an additional hack to the already terrible IDE mega-mess and got flamed to death for it. They quietly shoosed off and did what they proposed, and pretty much stopped asking for input. Still, that ISA legacy hack was pretty terrible, involving the primary "ISA standard" ATA location, and the secondary "ISA standard" ATA location. Those were pretty horrible hacks, but they DID have one unrelentingly true legitimizing factor behind them. Both the VGA and the IDE interfaces were considered essential for booting the platform. This was to get to an operating system. In order to do this, the code support base was in the BIOS, were it has always been on 80x86 platforms. It would seem that we are about to attempt to set a new expansion of the currently accepted mess. We are talking about the other ISA legacy devices that have not currently gotten special treatement. Today's topic is the COMx ports. Tommorows will undoubtedly be the Parrellel interface, LPT ports. My favorite topic, which I am anticipating with great relish, is the Floppy disk controller. Also up for nomination will be the sound blaster cards, which in keeping with the MS-DOS, no-hardware abstraction model of has no abstraction. All of the game pretty much want to see something that looks like a Sound Blaster, at accepted Sound Blaster I/O addresses. All of these problems are really just a manifestation of the none existant services provided by MS- DOS, and the continuing use of MS-DOS for game software. There simply is no hardware abstraction, so when we hardware people want to change the hardware in any way, MS-DOS breaks. Enough boring background. I would say that there are really fundamentally only three courses of action on the legacy I/O problem. 1. Get together with all the other people who want to build devices like the one that you are trying to build. (In this case, a COM port device). Standardize a manner in which your device can be put into a legacy mode and then encourange the BIOS people to support your new standard. (This is what happened with the IDE adapters). Having your new standard, the OS people, such as Microsoft with Windows, Windows95, Windows NT, SCO UNIX, Novell Netware, IBM OS/2, Linux, Solaris, Unixware, ..... can implement correct driver support in a standard way. The initial devices that do not meet the standard will fall by the wayside, or have user needed configuration help. This is also the path that the IDE adapaters have gone or are going. 2. Forget about the MS-DOS market. Then you do not have to implement anything special. Your PCI adapter, modem, whatever, can just do whatever it wants. You need a driver for every OS, but that is the typical situation for a unique device. It would behoove the developer of a common device such as a modem to encourage all of the modem guys to get together and hammer out a standard memory mapping interface architecture. This way, after the PCI device was configured at some location, the programming interface relative to the location would be commonly known. Then you could probably get the OS manufacturer's to implement a single driver for this adopted standard. (The goal of all hardware guys, especially the commodity hardware people seems to be aimed at not employing any software people to write drivers. The only way to achieve this is to create a hardware standard. Then the OS people are usually willing to implement a single driver.) Otherwise you are going to be employing lots and lots of software guys writing drivers for each and every OS that you want to support. The OS people are not going to implement 100's of different drivers for you for free. (A historical note: The reason that much of the PC market is so successfull, with so much software is that all the initial PC clones were exactly that, clones. The hardware was defacto, so people wrote all kinds of software. If you do not recreate the conditions of only a few hardware device interfaces out there, you will never have the free software that you have grown accustomed to). 3. Build a device with a private "cheaters" decode system. In other words build compliant PCI device, but arm the device with the ability to turn on a legacy I/O decode for say, COMx. For new, cool, OS you would just use a driver aimed at your device. Or if you managed to create a hardware standard as outlined in #1 above, you could just use the standard OS driver. But for MS-DOS, you would load a very small driver into the system using config.sys or autoexec.bat and this driver would kick your hardware in the head, and enable the legacy decoding mode. For many devices, such as a Sound Blaster, this technique would probably work. For COM ports (and hence modems) it would probably fail because of the IRQ problem. The existing MS-DOS software is so close-minded, that it can only imagine that COM1 is at IRQ4 and COM2 at IRQ3. The IRQ problem has also plagued the PCI IDE adapters as well. The only solution really found so far to this IRQ problem has been to integrate the PCI IDE adapter into the motherboard chipsets. This way, they can get hold of IRQ 14 through a side band connection to the old ISA IRQ 14 edge triggred interrupt channel. (Not very PCI'ish, but what has in fact become the defacto standard for legacy IDE compatibility). That option is not really available to add-in cards such as modem cards or any CardBus type of card because they have no way to implement the side band private mechanisms into the ISA interrupt controller. The bottom line for the legacy people is that the PCI specification made a lot of allowances for you already. The specification made provisions that would allow an ISA bridge to exist to handle hooking in existing ISA devices such as COM ports. No effort was made to allow the creation of PCI data path devices in an old legacy format. The entire idea of the PCI bus is for the old legacy mentality of fixed IRQ's, fixed I/O and fixed memory addresses to go away in favor of the new software configured mentality. This means that if you are creating a NEW PCI device, you should be going to the trouble of creating NEW software to run your device. If you do not want to do that because of the obvious expense, then you have lots of other alternatives. The most obvious being to get together with your competitors and create a committe make a "standardized" COM device interface that fits into the PCI configuration mentality. When you do that, the OS people will smile upon you and almost definitely write the drivers for you. If you do not, then the drivers are going to be yours to write. If you come up with a standard, then nice actively supported current MS- DOS products are even going to put in support for the new "standardized" PCI "COM" device. There is just not anything that can be done about the existing software. Its time for the PCMCIA and CardBus people get in touch with reality. You are either going to have to define NEW real PCI hardware standard to get OS people to write NEW software, OR you are going to have to write NEW software for your NEW hardware yourselves. There is no place for legacy I/O addressing and legacy IRQ assignments in PCI devices. The exceptions made for VGA and IDE were made for reasons of practicality and have left a bad taste in pratically everyone's mouth. Similar hacks could be made for COM and LPT devices that were to exist on the motherboard, but not for add-in boards. VGA succeeds because people got busy at the get go, and because VGA does not need an IRQ channel they succeeded in a legacy standard. IDE succeeded because the IDE interface is so simple that it could easily be integrated into the motherboard chipset components with special side band considerations for the IRQ channel. The rest of you legacy guys are out of luck. You should be spending your time figuring out how to create a NEW standard PCI COM device or modem device, not how to hack in legacy support to a 32 bit PCI data path for an old UART 8 bit interface. I have to admit, that I am getting pretty tired of hearing about this legacy argument over and over again. Not as a personal attack, but more of a business attack on the future Cardbus adapter manufacturers and the legacy commodity product people trying to figure out how to build a 32bit brick, but get with it. If you don't, if it keeps going on much longer, people like myself are going to realize how non- visionary you are. We are going to hire some decent hardware engineer to build a modem device with a PCI front end chip and some backend ASIC and write a bunch of simple OS drivers ourselves. We will create a standard while you stand around with your hands in your pockects and whine about legacy addresses. The standard will catch on and we will implement a single ASIC and put it into the trivial packaging needs of CardBus. The few OS that we have not written drivers for will implement their own for our defacto standard. We will succeed in the total vacuum of your inaction. You will be crushed like tiny bugs. In otherwords, quit complaining about how the execelent PCI bus does not support a 32 bit version of the horrible ISA bus. Get busy and create a new hardware standard interface (preferably a memory interface) for your new PCI compliant configurable device. Then ask the OS software people to write you some drivers or write them yourself. But do not expect that the hard fought software configurability of the PCI bus will be further corrupted by the perceived need to never ever write new COM software again. Legacy devices are MEANT to die on the PCI bus and be supplanted by the NEW PCI compliant devices. Cardbus manufacturer's need to wake up to this reality. -- "David O'Shea" From: John R Pierce Cc: "'pci-sig@znyx.com'" Subject: RE: PCI/Cardbus Modems Date: Fri, 23 Feb 1996 12:40:31 -0800 ... Only problem with this is that virtually ALL dos software has the device drivers compiled into the application as DOS didn't offer decent services for much other than file i/o. True, more and more of the PC world is moving towards Windows, NT, or other environments, but you'd be amazed how much legacy crudware is still in use! -jrp ------------------------------