tebl/RC-ONE

Cassette issues

Opened this issue · 13 comments

First of all, great project, I'm having lots of fun with it.
Second, I'm struggling a bit with regards to saving to tape. I think something needs to be done to massage the signal coming out of PB7. The output of that signal, (according to my oscilloscope) seems to have a HIGH of 5v no problem, but the LOW only goes halfway to GND, and thus will not trigger the NAND gate.
Can you confirm if this issue is due to my RIOT, or perhaps something needs to be done to attenuate the signal?
20230626_140102

tebl commented

No, I think you were extremely close with getting the cassette to work - I build a separate cassette interface off of the original schematics using the original parts, and the issue was the exact same. I wonder if the difference is between using a 6532 instead of the original 6530, as the datasheets tall about the output of PB5 - PB7 differently. Something about a "darlington drive"? Anyways, I'm gonna do some more digging around and see what I can figure out.

With some help from the Minimalist Computing FB group, we were able to suss out what's been impeding both this and the serial signals. The NAND gates feeding back into peripheral bus I/O lines are normal 74LS00 NANDs, whereas in the original KIM schematic, these are the open collector 74LS38 variant. This allows the full signal to go out against output of that gate and thus, travel through the rest of the circuit. Unfortunately, I don't have any LS38s currently on hand, but I'm anxious to get a hold of some and see if this truly does solve the issue.

Here are pictures comparing the two schematics:
Screenshot_20230627_131436_Adobe Acrobat
Screenshot_20230627_141320_Chrome

tebl commented

Et voilà, we're getting cassette output!
Here's a video showing successful output.

tebl commented

Hey! Sorry it has been a while, I've been on vacation and then I needed to catch up on the work backlog. Anyway, I did not try to load back, I should have some time tonight to give it a go. I'm anxious to find out if it works!

BTW, I did try the serial connection, but I was only getting a single garbage signal back from the KIM. I think the signals might need more massaging looking at how other clones achieve it? Anyway, I'll start digging into that next after I confirm that the tape works.

I have been able to get the TTY connection working, though it took some time to model and understand how the connection and its interface circuitry worked.

U4 needs to be a 74LS38 not a 74LS00.
R23 and R25 need to be shorted / 0 ohms not 1k ohms.

U4 pin 6/9 need a 10k pull up resistor.
U4 pin 8 needs a 10k pull up resistor.

The frustrating part is realizing that the analog circuity used to connect the 78LS38 to the TTY port actually invert the signal.

So I made a small pc board with the 74LS00 on it and connected as follows:

com_pwr jumpered.

Daughter board.
2 - 6 pin headers for off board connections. (J3-RC1 and J3-TTL)
1 - 74LS00 (U1)

U1 pin 7 - gnd
U1 pin 14 - +5
U1 pins 9 and 10 shorted.
U1 pins 4 and 5 shorted.

J3-RC1 pin 1 goes to J3-TTY pin 1.
J3-RC1 pin 2 goes to U1 pin 9.
J3-RC1 pin 3 goes to U1 pin 6.
J3-RC1 pin 4 goes to +5.
J3-RC1 pin 5 goes to J3-TTY pin 5.
J3-RC1 pin 6 goes to gnd.

J3-TTY pin 2 goes to U1 pin 8.
J3-TTY pin 3 goes to U1 pin 4.
J3-TTY pin 6 goes to gnd.

Note J3-TTY pin 4 is not connected to prevent a power conflict between the two systems.

Tested using 2400, 8N1

Make the 2 pull up resistors 5.1k, 10k was giving me intermittent results

Very excited to try this out for myself, alas, I have a large backlog of projects first to get through. Getting the TTY working along with the cassette is gonna be really satisfying.

Right now, I am using oTerminal on a MAC to talk to the computer.

The New Line and Carriage Return commands are working perfectly. But so far I have been unable to go to a specific address or change the value in an address. Not yet sure what is going on. At to eliminate a case issue I tried using only numeric addresses and sent the ASCII codes for space and dot directly.

IMG_1075
IMG_1073
IMG_1072
IMG_1067
IMG_1069

IMG_1074

The weirdness mentioned in the notes causes an automatic echo of text being sent to the Kim-1 to be sent back to the terminal

Nice for what is really just 2 logic gates and some inverters