Apple II TTY Emulator Fixed

My previous posts described some barely working attempts at using an Apple IIe as a teletype replacement. When faced with bringing up my SCELBI cassette interface, I decided I needed to improve the Apple II based TTY emulation system.

After spending about a week of my spare time focussed on this effort, I think I succeeded pretty well. The hardware interface hasn’t changed from that previous post, but the TTY emulator now supports the standard SCELBI TTY software and hardware really nicely with full 72 columns and 24 lines. Most of that time was spent trying to overcome what appears to be a glitch in the hardware serial start bit detection.

Except for the initialization routine, I bypassed the Apple monitor character out functions and ended up writing my own output functions. Control characters behave like the SCELBI MEA application package expects them to behave. With the full screen now available, the new TTY emulation software is much more pleasant to use than the previous version.

I didn’t implement a cursor. Some people may feel this is a shortcoming. While a cursor would be pretty easy to implement, I decided that a real TTY didn’t have a cursor, so my emulator shouldn’t need one, either.

If you are interested, the source code can be found at this link:http://www.willegal.net/appleii/ttyemul-fs.asm

While working on this, I found one little issue with the MEA memory dump command. When dumping a full line of memory contents, it attempts to print a space character in column 73 of the TTY. I’d guess that a real TTY would just refuse to advance the carriage in this event. If you know how they really work, let me know.

I’ll need to port these changes over to my RTTY application, so it can also use a full screen. It’s not directly usable, because the RTTY runs at 45 baud and uses Baudot, instead of 110 baud ASCII. In any case, the RTTY port will have to wait, as next up on the to do list, is to check out the SCELBI cassette interface cards, which are built and waiting.

Comments are closed.