There are probably some replacement parts speedo cable assys out there. Internal cable and outer housing. I suspect they'll all be pretty much the same quality. Only thing is you'll need to know the length of your current housing. HOPEFULLY, both ends of the cable itself will be SQUARED for about the last inch or so on each end. You can probably buy a cable by itself, similar universal lengths, BUT you'll need to snip one end and then place a plastic end on that snipped end. It'll have a dab of adhesive where it slides onto the cable end you snipped. Then possibly a bit of heat can help it set better? This way, you just use the new cable and your existing cable housing. Would be better to get a cable/housing that's possibly a bit long, but has the cable ends already squared-off, to me.
IF you can spin the cable on the end that attaches to the speedo head, then the driven gear the other end of the cable indexes with has a wallered-out hole. IF you spin the cable from the trans end, with a drill motor, it should make the speedometer needle move.
There is/was an older guy up in MI, who specializes in speedometer stuff, that used to advertise in the car hobby magazines. All good reports from him and his products. Possibly somebody closer to you?
Just some thoughts,
CBODY67