• Please review our updated Terms and Rules here

TV Typewriter Composite Out Issues

This is really cool to see coming together. When everything is so discrete, debugging gets complicated because you can't trust that each bit is just ready to go. Excellent progress!

May I ask what you plan to interface this with?
 
This is really cool to see coming together. When everything is so discrete, debugging gets complicated because you can't trust that each bit is just ready to go. Excellent progress!

May I ask what you plan to interface this with?
The plan is to interface this with the SCELBI primarily, and probably the Altair as well. Not just directly over serial but also over telnet with some telnet to serial bridges I have. For VCF SW, I'm hoping to have this on the SCELBI and the Dasher on the Altair. Last year I had a single Thinkpad acting as a terminal for both.

Given the lack of lowercase, it'll be kinda useless for a lot of stuff. The ASCII encoder won't even output lowercase, so I can't even have the Arduino internally handle lowercase inputs.
 
The Arduino Giga has so much potential.

Two CPUs both wayyyy faster. One could handle the memory bus on its own while the other handles serial and everything else.

So another issue on the Mega was interrupts. It has six, I wanted at least four. But that required sacrificing either one uart or the I2C I plan to use for ethernet. Apparently any pin on the Giga can be an interrupt.

It also has wifi built in, so if I can figure out where to put an antenna I have wifi for telnet, not just ethernet.

And it has audio in/out. I could emulate a tape player. Heck I could translate from a serial stream to different tape standards in real time! I could potentially keep a copy of SCELBAL on here if I ever get that working. I could even have this thing bootstrap the SCELBI automatically into SCELBAL.

This is so powerful!
 
Nice progress. I've been following this thread but didn't have much time to comment. It's nice to see a few helpful people chiming in.

While the TVT is a pretty cool little device, it's not a solid piece of engineering so seeing a few weird things here and there is normal ;)
 
The plan is to interface this with the SCELBI primarily, and probably the Altair as well. Not just directly over serial but also over telnet with some telnet to serial bridges I have. For VCF SW, I'm hoping to have this on the SCELBI and the Dasher on the Altair. Last year I had a single Thinkpad acting as a terminal for both.

Given the lack of lowercase, it'll be kinda useless for a lot of stuff. The ASCII encoder won't even output lowercase, so I can't even have the Arduino internally handle lowercase inputs.

If it was regular 7/8 bit ASCII then I believe there is a difference of 32 (decimal) between the upper and lowercase characters.

E.g. 'A' (65) and 'a' (97)

'A' = 65 decimal = 0100 0001
'a' = 97 decimal = 0110 0001

'B' = 66 decimal = 0100 0010
'b' = 98 decimal = 0110 0010

So for just the alphabetic characters, forcing bit 5 to 0/LOW makes them all uppercase and forcing bit 5 to 1/HIGH makes them
all lowercase.

Maybe this could be accomplished with some extra logic? A separate button/switch and an OR gate after the encoder output would allow you to selectively alter a bit...

switch => A
encoder (bit 5) => B
OR(A, B)
 
Yeah, I think it's possible and I may look into it in the future. Ideally I'd use the shift key for this, and I think the encoder could be modified for this. The encoder is 7-bit which is good.

The issue is the TVT stores characters in six bits and the character ROM only uses six bits. In this scheme, since we don't know what bit 7 is, 100001 could be a lowercase 'a' or it could be an '!'. The TVT goes with '!' and likewise for other characters. I think this could also be done selectively with bit 7.

If bit 7 and bit 6 are high, then we set bit 6 low. This is all so the TVT operating normally doesn't break.

As far as displaying in terminal mode, it'd all show up as caps. There's a pin used for flashing text seemingly at any rate I want. (It just stops drawing when low) so I may be able to "dim" lowercase letters to differentiate when in terminal mode. Here of course the Arduino is storing the full 8-bit value and converting to TVT-friendly characters before putting them on the memory bus. For TVT mode it'd just be business as usual.
 
The encoding scheme used is part of the issue here, because you're essentially missing the upper two bits (bit 7 and bit 6).

You don't really need bit 8 as long as you can stick to ASCII codes less than or equal to 127 (01111111 or 0x7F).

However, in order to get sensible output on your display, you would need a 7-bit character generator with properly formatted display data for the additional characters.

The easiest think might be for something in the middle to interpret every alphabetic character you send as lowercase and then come up with some alternative mechanism to send uppercasw characters as needed.
 
Yeah, so the keyboard itself is just a matrix. Then there's an encoder which sends out 7-bit ASCII, but won't send out lowercase letters. I could probably modify it to do so, or I could make my own encoder that slots in. This'd act as the intermediary here.

Originally, I was going to put my Arduino between the encoder and the TVT and intercept serial and send it to the TVT and intercept key presses and send them to serial. But acting as a "memory B" board offers me more flexibility.

For regular operation, if we had lowercase letters, we'd need to just convert to uppercase for the TV Typewriter part.

For serial use, I'm essentially just using the TV Typewriter as a display device. I'm still reading the 7-bit ASCII off the keyboard directly, but then to display, the Arduino is pretending to be a memory device. So for serial it will be the intermediary.

If it's a lowercase letter in, the Arduino will load a capital letter onto the memory bus. If the character doesn't exist at all, it'll probably just load a question mark onto the bus. Not ideal, but if I have lowercase letters then at least I could theoretically run real Linux commands and so forth.

Thankfully for the SCELBI, it wants all caps anyway. So at least for this month's festival we're only getting caps! LOL

As far as making the TVT render lowercase, we'd need not only a 7-bit character ROM, but also the supporting shift registers. To me, that'd be too far a departure from the original design.

Although a "TV Typewriter" could be created that way for sure. This is just Don Lancaster's design for a TV Typewriter. But his TV Typewriter Cookbook and the TV Typewriter 2 implies that a TV Typewriter is a class of machine that could take the form of various different designs to achieve the same goal.
 
The point of that trailing paragraph (my last post) is that once data exits the TVT it can be converted to lowercase if that's convenient. Anything sent back to it for display can be converted to uppercase.

And if the conversion is done by a microntroller board then that could be sent a signal to know when it should translate or nor.
 
Ah, so basically the microcontroller would need to know if shift is held down for example? Or some other button.

For example I don't think the Line/Full switch does anything. So that could be used.
 
Back
Top