6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Fri Sep 20, 2024 12:42 pm

All times are UTC




Post new topic Reply to topic  [ 37 posts ]  Go to page Previous  1, 2, 3
Author Message
PostPosted: Sat Nov 09, 2019 2:36 pm 
Offline
User avatar

Joined: Tue Mar 05, 2013 4:31 am
Posts: 1382
Maybe this datasheet from 3M will help determine which socket is being used.

Attachment:
ts2082-64084.pdf [408.66 KiB]
Downloaded 79 times


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.

_________________
Regards, KM
https://github.com/floobydust


Top
 Profile  
Reply with quote  
PostPosted: Sat Nov 09, 2019 6:05 pm 
Offline

Joined: Tue Jun 19, 2018 8:28 am
Posts: 122
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).


Not two cards. Like I said before, later I tested my computer with several more. Including 4GB Seagate microdrive (HDD in CF format).
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.


Top
 Profile  
Reply with quote  
PostPosted: Sat Nov 09, 2019 6:55 pm 
Offline
User avatar

Joined: Fri Dec 11, 2009 3:50 pm
Posts: 3367
Location: Ontario, Canada
Atlantis wrote:
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?
Because the whole deal may be rotated 180 degrees, top-left and bottom-right aren't reliable indications. Instead we need to pay attention to which end of the socket has the fat ridge (engaging the fat slot on the card) and which end has the thin ridge and slot.

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.
Attachment:
CF pinouts.png
CF pinouts.png [ 46.84 KiB | Viewed 514 times ]

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

_________________
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html


Last edited by Dr Jefyll on Tue Nov 12, 2019 1:37 am, edited 2 times in total.

Top
 Profile  
Reply with quote  
PostPosted: Sat Nov 09, 2019 8:18 pm 
Offline
User avatar

Joined: Tue Mar 05, 2013 4:31 am
Posts: 1382
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.

_________________
Regards, KM
https://github.com/floobydust


Top
 Profile  
Reply with quote  
PostPosted: Mon Nov 11, 2019 2:13 pm 
Offline
User avatar

Joined: Fri Dec 11, 2009 3:50 pm
Posts: 3367
Location: Ontario, Canada
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


Attachments:
CFConnPinout.jpg
CFConnPinout.jpg [ 194.33 KiB | Viewed 475 times ]

_________________
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html
Top
 Profile  
Reply with quote  
PostPosted: Mon Nov 11, 2019 6:41 pm 
Offline

Joined: Tue Jun 19, 2018 8:28 am
Posts: 122
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? ;)


Top
 Profile  
Reply with quote  
PostPosted: Thu Nov 14, 2019 5:50 am 
Offline
User avatar

Joined: Fri Dec 11, 2009 3:50 pm
Posts: 3367
Location: Ontario, Canada
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?
It's great to hear the machine is working! But it's hard to imagine any microscopic bridging of pads which would always cause trouble when a card is present but would never cause trouble when the card is absent.

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. :shock: But flukes are rare, and what's perhaps more likely is that this inverse socket business isn't fully understood. The thing has been slippery to describe right from the start. (And thanks, floobydust, for bringing attention to the matter.)

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. :!:

Attachment:
card seated in socket 'a'.jpg
card seated in socket 'a'.jpg [ 31.88 KiB | Viewed 414 times ]
Attachment:
card seated in socket 'b'.jpg
card seated in socket 'b'.jpg [ 31.99 KiB | Viewed 414 times ]


Atlantis wrote:
That way I would be able to easily exchange files between PC and my homemade computer. [...] Any suggestions? ;)
Perhaps someone has implemented 65xx code to manage FATs. You could try doing a search on this forum. But FWIW...

... 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. :roll: Here's how it goes:

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


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 37 posts ]  Go to page Previous  1, 2, 3

All times are UTC


Who is online

Users browsing this forum: Google [Bot] and 31 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: