Maybe this datasheet from 3M will help determine which socket is being used.
The bottom drawing on Page 2 shows the key slots... "G" and "H" (left - right) and the dimensions are listed in the table on the next page, as either 1.4mm or 0.8mm. Note that they are reversed between the "Q" and "R" style sockets.
Computer doesn't work with CF card
- floobydust
- Posts: 1394
- Joined: 05 Mar 2013
Re: Computer doesn't work with CF card
floobydust wrote:
Well, if you've verified that all the connections are correct for the CF card (not an inverted socket, etc.), then I suppose it's possible that you have two defective cards. Do you have the option to try the CF cards with a modern PC via something like a USB adapter? Or even an older CF to IDE adapter (I have a couple of these which are useful from time to time).
And what do you mean by "inverted socket"? I used Eagle PCB library for specific part. Sockets I used are not this part (I ran out of my supply of those) but I've checked and pins are exactly the same.
Can you show me propper pinout for CF card? Materials I found using Google are inconsistent. For example this site claims that pin 1 (GND) is at the top left corner, but this one claims that it is bottom left corner. Which one is right?
And of course I tested my cards with USB reader. They are fine.
Re: Computer doesn't work with CF card
Atlantis wrote:
I've been reviewing the 3M datasheet floobydust provided, and here are the two interpretations intended for the diagram. I've shown the diagram twice, marked using info from the chart. We can summarize by saying, "The end with the fat ridge has pins 1 and 26. The end with the thin ridge has pins 25 and 50." And bear in mind that each orientation is a 180 degree rotation of the other -- NOT a mirror image.
-- Jeff
Last edited by Dr Jefyll on Tue Nov 12, 2019 1:37 am, edited 2 times in total.
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html
https://laughtonelectronics.com/Arcana/ ... mmary.html
- floobydust
- Posts: 1394
- Joined: 05 Mar 2013
Re: Computer doesn't work with CF card
One last bit of interest is the pin lengths of the CF socket. Note that both ground and Vcc pins are longer than the others. This means that Pins 13 and 38 are Vcc and always in the center of the connector, regardless of whether your have a normal or inverse socket. The ground pins (1 and 50) are also longer pins, and can be used to determine if your socket is inverse or normal, as they swap top to bottom. Pins 25 and 26 are CD1/2 and simply grounded within the CF card, which can be used as an indicator that the card is fully inserted... these swap with the ground pins for an inverse socket.
Finally, Pin 1 is generally marked on CF media with a triangular pattern (just like on IDE sockets, etc.) and the CF socket generally has the same Pin 1 marking. It seems to be in the first picture of the socket, which is mounted on the bottom on the PCB, albeit it is quite faint. It would be useful to take a picture of the CF card inserted into the socket.
Finally, Pin 1 is generally marked on CF media with a triangular pattern (just like on IDE sockets, etc.) and the CF socket generally has the same Pin 1 marking. It seems to be in the first picture of the socket, which is mounted on the bottom on the PCB, albeit it is quite faint. It would be useful to take a picture of the CF card inserted into the socket.
Regards, KM
https://github.com/floobydust
https://github.com/floobydust
Re: Computer doesn't work with CF card
Here's an image I found on Grant Searle's site ( searle.wales ). It very helpfully shows a CF card as it appears in real life. There's no ambiguity about orientation, and the fat and thin slots are clearly visible.
Atlantis, if you imagine this card plugging into the CF socket on your project (after mentally spinning the card around as required to match the fat and thin ridges on your socket) then you should be able to tell whether or not the signals end up where they're expected to be wrt the traces on your PCB. If you're still unsure then please do as suggested and post a picture of your CF card inserted into the socket.
Have fun and keep us posted!
-- Jeff
Atlantis, if you imagine this card plugging into the CF socket on your project (after mentally spinning the card around as required to match the fat and thin ridges on your socket) then you should be able to tell whether or not the signals end up where they're expected to be wrt the traces on your PCB. If you're still unsure then please do as suggested and post a picture of your CF card inserted into the socket.
Have fun and keep us posted!
-- Jeff
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html
https://laughtonelectronics.com/Arcana/ ... mmary.html
Re: Computer doesn't work with CF card
Ok, CF card already works. The weirdest part is that I still don't know what was wrong, but it wasn't card orientation, however I was unaware of the existence of two types of connectors.
I simply used another socket - identical with the first one - and the thing "magically" started working. I don't know, maybe some microscopic spec, bridging pads, which somehow survived first desoldering and cleaning?
Card now works. Nothing freezes and I am able to read registers.
Now more complicated issue. Is there any 6502 compatible solution to store files on CF card, on which I could base my own design?
I'd like to integrate it with EhBasic LOAD and SAVE commands. I see two possible ways:
1) Using some implementation of FAT16. If there is any. That way I would be able to easily exchange files between PC and my homemade computer.
2) Using some lightweight FS for such devices. This way I'll be only able to read/write card on 6502 computer.
Any suggestions?
I simply used another socket - identical with the first one - and the thing "magically" started working. I don't know, maybe some microscopic spec, bridging pads, which somehow survived first desoldering and cleaning?
Card now works. Nothing freezes and I am able to read registers.
Now more complicated issue. Is there any 6502 compatible solution to store files on CF card, on which I could base my own design?
I'd like to integrate it with EhBasic LOAD and SAVE commands. I see two possible ways:
1) Using some implementation of FAT16. If there is any. That way I would be able to easily exchange files between PC and my homemade computer.
2) Using some lightweight FS for such devices. This way I'll be only able to read/write card on 6502 computer.
Any suggestions?
Re: Computer doesn't work with CF card
Atlantis wrote:
I simply used another socket - identical with the first one - and the thing "magically" started working. I don't know, maybe some microscopic spec, bridging pads, which somehow survived first desoldering and cleaning?
Other explanations could be suggested, I admit. Over the years I've occasionally seen astonishing things -- flukes I never would have predicted or given credence to.
With the theory that one socket is inverse and the other isn't, here are some "before" and "after" images I whipped up. The new socket looks pretty much the same as the old one, and it mounts in the same orientation. But the CF card itself needs to be flipped over (I've used different colors for the top & bottom of the card) or else the socket won't allow it to be inserted. That's because the positions of the thin and thick ridges (mentioned upthread) are swapped. The ridges are the only thing NOT identical between the two sockets.
Atlantis wrote:
That way I would be able to easily exchange files between PC and my homemade computer. [...] Any suggestions? 
... there's a quick 'n dirty shortcut that can be helpful in a pinch, although it's maybe not a trick you wanna use routinely.
For a PC to homebrew transfer, start with freshly formatted media, and use the PC to create a file containing the data. This will be the only file present.
On the homebrew, it won't be hard to find the data... which will be stored in contiguous sectors (due to the fresh formatting). This sidesteps the need to consult the FAT. You can determine where the file's first sector will be by consulting published doc, or experimentally -- by examining sectors near the start of the device.
For homebrew to PC transfer, do as above except the file you'll create has dummy data. Then, on the homebrew, overwrite the dummy data with real data. This'll be readable when you return the media to the PC.
-- Jeff
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html
https://laughtonelectronics.com/Arcana/ ... mmary.html