I made this circuit.
And it works pretty well!
I'll most likely create a PCB and post the design here for others.
Pretty much just a cassette to TTL serial converter. Useable for just about anything you can input and output to a terminal. Saving BASIC programs by just listing them may be a problem because you can't do any flow control, so the needed delay after entering a BASIC line isn't going to be there, so the interpreter will miss some characters while it's processing the previously entered line. Perhaps some modification of the BASIC source code to enable the SAVE and LOAD function could take care of that somehow.
You can get around that by using the character and line delay on TeraTerm to dump the data to the cassette somehow.
Anyway, pretty happy with the results. It's only 300 baud at the moment. I'm going to start fiddling with the values to try to get 1200 baud working. I don't think it would handle anything much faster. Maybe 2400, but then you're already pushing the limits of cassette audio bandwidth as it uses a 4800Hz carrier.
It's not KCS compatible, but to be honest, so many vintage cassette formats weren't either. As long as I can save and load data using it, I'm happy.
Robb