Showing posts with label Z80. Show all posts
Showing posts with label Z80. Show all posts

Tuesday, April 9, 2019

TeleVideo Systems Part IV - TS-801

TeleVideo TS-801 "System I"

The TeleVideo TS-801 was TeleVideo's first entry into the single-user CP/M computer market. It was also usable as a client system off of one of their distributed systems, which were centered around one of the TS-806 or TS-816 "Service Processor" systems.

The system is not expandable but arrives as a fairly well-configured system.  It was released in 1981 and listed for $3295 with a 4MHz Z-80, 64KB of ram, two floppy drives, a couple of serial ports, and a Centronics-compatible parallel printer interface.


Outside appearances

The TS-801 has a pair of double-sided/double-density Tandon TM100-2A floppy drives with up to 360KB of storage each, plus a red reset button on the front.  On the back, there's a DB-25 terminal port for the console terminal, a DB-25 serial printer port, and a 36-pin Centronics parallel port, along with a DA-15 RS-422 port to connect to a Service Processor for use in a distributed system.





Due to how the machine is set up, you can either use the RS-422 port or the serial printer port.  To switch between the two, there are a set of jumpers on the motherboard that need to be cut and re-soldered differently.  This is probably the worst way I could think of implementing this.  However, I'm sure that it was expected that you would only change this at most once when the system was initially installed.


Disassembly

The inside of the TS-801 is fairly simple and designed to be serviceable. The major chips are socketed, and the floppy drives are mounted to a platform that hinges out of the way for access to the system board.  The power supply is a fairly simple open-frame unit, which provides +5, +12, and -12V to the system board and floppy drives.





I have noticed that there are some differences between the two TS-801 systems that I have. The second system has several chips soldered into the "spare" locations on the board, and a bunch of fly-wire connecting them into various parts of the board.

Also, there are the set of jumpers on the motherboard which need to be adjusted to switch between using the 2nd (printer) serial port, or the RS-422 port.


System Design

The system overall is fairly similar to the TS-802 that came out a few months later.  There seem to be two main differences: The system requires an external terminal, versus the integrated terminal in the TS-802.  The system also has one less SIO chip, which means that there are fewer serial ports available.

The main chips in the system are:
  • 4MHz Zilog Z80A CPU
  • Z8410 DMA
  • Z8442 SIO/2 - RS-232 terminal and either RS-232 printer or RS-422 link
  • Z8420 PIO - Centronics serial interface
  • Z8430 CTC - Time of day interrupt, baud rate generation
  • WD1793 - FM/MFM floppy drive controller
  • 16 x 4164 64k x 1 150ns DRAM 
  • 2732 - 250ns, 4K x 8 EPROM
The same code will (mostly) run on either system, because they both use the same controllers, at the same IO port addresses.  The TS-802 moved the floppy (and an optional hard drive controller for the TS-802H) off to a daughter card, which made things a bit more modular.

Trying to get the system working, I ran into several issues.  I'm still not convinced anyone had these systems actually working before I got them - the hardware seems flaky, but the hardware mods to the second system seem to make them slightly more stable.  It would randomly reset occasionally while running CP/M programs.

Knowing they were similar to the TS-802, I grabbed the 802 service manual off of Bitsavers and started comparing it to the system board.  Most of the schematic matched up, but some parts around the memory latch -- the circuit that selects between having the boot EPROM or DRAM selected in memory -- was different.  

I hooked up a logic analyzer, and sure enough, the latch seemed to randomly be flipping between EPROM and DRAM.  Sitting at the CP/M command prompt, this wasn't really noticeable, because it only affects the bottom 16K or so of RAM, and CP/M and the SSP command interpreter lives up in the top 16K of RAM.

Comparing the wiring to the schematic, It appeared that the system controlled the latch based off decoding the address bus, and the buffered /IORQ line. On the 802, the system uses a signal it calls /IOWR, generated from the buffered /IORQ and /WR lines.

At first glance, just using /IORQ seems like it should work, but will set the latch anytime you do an IN/OUT instruction to address 04 (really, 4 or 5, because the bottom address line isn't decoded), and re-set the latch to enable the EPROM at address 6.

However, in processing an interrupt on the CPU, /IORQ and /M1 are used to signal an interrupt acknowledge and get the interrupt vector from the interrupting device. If this occurs when the processor is executing code with the bottom 8 bits of the address in the range 04-07, it'll trip the latch to potentially change state.  The system has a periodic timer generating interrupts to track the time of day, which will occasionally cause this to happen.  If that happens when you're executing code in the bottom 16K of RAM, it will instead execute code from the PROM - either crashing the system or (more commonly) resetting it.

This problem manifested itself as randomly rebooting the system when I tried to execute CP/M programs.  If the latch was set to use the EPROM, when CP/M tried to jump to the program at address 100h, it would instead jump to the EPROM at address 100h.

I was able to fix this by severing a trace for /IORQ, and running a jumper wire to connect /IOWR as a control input to the latch instead.

After this change, I was able to get this second system to mostly work, using the RS-422 port to boot off of a service processor.

Thoughts

These systems were pretty rough, though they meant to be cheap business systems.  They came as un-expandable systems but were fairly maxed-out for a single-user system, with a full 64KB of RAM, and two floppy drives.  TeleVideo quickly released the TS-802 for about $200 more, which included an integrated terminal, and made the TS-801 obsolete.  The TS-801 seems fairly obscure, and I doubt many people bought them with the lower priced TS-802 (and later, TS-803 and TPC-I systems) coming out over the next couple of years.

Today, they're sort-of nice because they're easy to connect to a service processor and serial terminal server to development work on without needing physical access to the system.  The biggest problem is that they still seem to have design issues which make the big red reset button on the front is important to have access to.  The Tandon floppy drives seem to be fairly unreliable; I'm not sure if that's due to age, or just their generally low quality.  The Teac FD55 drives in later machines are less expensive, smaller, and in my experience are way more reliable.

Wednesday, January 23, 2019

TeleVideo Systems Part I

TeleVideo Systems, Inc.


Who was TeleVideo?


Televideo Systems, Inc, was a bay area company that started in the 1970s by producing CRTs and monitors.  Using this experience, they then produced dumb terminals, including terminals emulating the popular Lear Siegler line of ADM terminals, Digital VT-52 and VT-100, and many others.  They then produced single-user and then multi-user Z-80 and CP/M based systems in the early 1980s.  Once the IBM PC became popular, they produced 8088-based PC clone systems, including systems that interoperated with their Z-80 multi-user systems, and then multi-user based 80x86 PC-compatibles.

TeleVideo terminals

TeleVideo's first terminal was the 912, which looked much like the Lear Seigler ADM-3A which it emulated.


TeleVideo later produced the popular 925 and 950 terminals, which were similar looking with different features.  They used a 6502 CPU to control the CPU, with a pile of random logic (and later, gate chips) to create the display image from the screen buffer.  On earlier terminals, this meant that changes in display attributes (blink, underline, reverse video, half intensity, etc) took up a display position.  Doing this helped to reduce the memory required for the display buffer, and reduce the cost of the terminals.


The 970 had a sleek look with an adjustable tilt 14-inch green phosphor CRT, and ANSI, VT-100, and VT-52 emulation modes.  The ANSI mode included a form-based mode which worked much like the IBM 3270-style block mode.  The system sent a form down, laying out fields on the display, and what type of data could be entered in the fields, which the terminal would verify.  When the user was done entering data, they'd hit the SEND key on the keyboard, which would transmit some or all of the screen back to the host.  This helped to minimize the interaction with the host system (which with a single Z-80 serving multiple users wasn't particularly fast) and made the system more responsive and user-friendly.


Later terminals such as the 965 would emulate dozens of other terminals.  TeleVideo moved away from making straight clones (like the 912 that looked like the ADM 3A that it emulated) towards making their own unique, nicely styled, sleek products.

The 965 is a fairly versatile terminal, which used a 65816 CPU (the 16-bit version of the 6502, just like what the Apple IIgs used) to emulate many different terminals.


One of the more unique terminals that I have found is the TeleVideo pt100 "Personal Terminal", which was a small easily portable all-in-one terminal, with a small amber CRT, mini keyboard, optional modem, and emulated a VT-52 and VT-100.

One of the features that I've noticed while digging into TeleVideo systems is that TeleVideo liked to standardize on parts. Large chunks of TeleVideo terminals and computers used the same or fairly similar keyboards, for example.  Since the keyboards are hard to find, that helped me make use of the systems and terminals that I received without a keyboard.  I was able to use that info to build a keyboard converter for the 965 terminals that I didn't have a compatible keyboard for based on information gathered from keyboards for the earlier 970 and 925 terminals that I do have.

Z80 systems


TeleVideo made several single-user systems, some of which could be used with a central host to make a multi-user system. They communicated over an 800K-baud RS-422 serial link, which used the SDLC protocol to serialize packets of data to communicate.

The TS-801, picture above, had two 5.25" floppy drives.  All of their systems came with 64K (sometimes 128K) of ram standard, as at that point it was clear that maxing out the memory was a good idea.  It has a Z80A running at 4MHz for a central processor, included the Z80 DMA chip, a Z80 SIO/2 to run the serial ports and an optional RS-422 port, and a WD 179x / NEC D765 floppy controller.  The TS-801 was a "cheap" model, which lacked an integral terminal that their other early models had (like the TS-800 / TS-802).



The systems were based around Digital Research's CP/M.  Since they were fairly late in the CP/M timeframe, they used a fairly standard and easy to inter-operate with 5.25" double-density, double-sided, soft-sectored floppy format.  The disks are 18 sectors, at 256 bytes per sector, 40 tracks per side (48tpi), using MFM encoding, and can be easily read and written on a PC floppy controller.

The TS-803 above added an integrated "terminal", which supported character mode, using the logic array chip from a TeleVideo 925 terminal, and a graphics mode, which used the Synertek 6545 CRT controller and 32K of dedicated video RAM.  It allowed 64K or 128K of bank-switched RAM. on the main CPU, and had a slot for an add-on card with a Z80-SIO/2 and line drivers for a host RS-422 interface.

Some of the systems included a 5-40MB hard drive, using a controller based on the Western Digital WD1000 controller.

The single user systems would have zero - two floppies and up to two hard drives.  Systems without any drives, such as the TS-800A/TS-800R are designed to only be used as terminals or user stations on a central host that would provide storage.



Two host systems were available.  The TS-806 was a smaller host system, which provided ports for 6 terminals, a Centronics parallel port for a printer, a couple of RS-232 ports for a printer or modem and a console terminal, along with a single 5.25" floppy drive and a 10 / 10MB 5.25" full height hard drive.  It could be expanded with another hard drive of the same size, and an optional QIC tape drive to do back-ups to.  It used a 4MHz Z80A CPU, 64KB of RAM, Z80A-SIO/2 chips for the user station links, a Z80A DMA interface chip to manage data transfer to/from devices and user stations, and Western Digital floppy and hard drive controllers.
The TS-816 was an expanded version of the TS-806. It allowed up to 16 user stations over RS-422 links, an optional Centronics parallel printer port, three RS-232 connections for printers/etc and a maintenance terminal, and a QIC tape drive and 8" hard drive that stored 25 or 40MB. It used the same Z80A CPU, but had 128K of bank-switched RAM, plus the same Z80A-SIO/2 chips for user station links, DMA and WD hard drive controller.

Both host systems had fairly ugly beige and black cases that were designed before TeleVideo switched to more modern looking cases (apparently after they hired someone to do product design for them).




One of the more interesting systems was the "TPC-I" TeleVideo Portable Computer. There was a TPC-II version which was introduced a little later as a PC compatible computer.  The TPC-I had a Z80, 64K of ram upgradable to 128K, the same graphics mode as on the TS-803 and included the same mouse port.  The TPC-II is notable as it was the first computer I had growing up (but sadly was thrown out when my parents moved out of their house).

The TPC-I I acquired had two 5.25" double-sided, double-density (TEAC FD55-B) floppy drives. There was an available option of an RS-422 port (using the same adapter as the TS-803), but that was not installed in the system I received.  It was also, unfortunately, missing the keyboard.  However, it is compatible with the PC keyboard from the TS-1605 and TPC-II models, so I was able to use the system with that keyboard.  The keyboard and lack of a hard drive interface seem to be the two main (software-affecting) differences between it and the TS-803 -- the TS-803 boot image loads on the TPC-I, although the keyboard doesn't work.

PC compatibles


TeleVideo produced a few 8088-based PC compatibles. After the first model (TS-1603), they started producing systems with an ISA card slot, and optional expansion chassis, which allowed system expansion using the now standardized IBM PC expansion bus.

From the first systems, they moved into 286 and 386-based systems, before mostly giving up the clone market, which had been greatly diluted with competitors by the time, and focused back on terminals.  They produced a few Windows Terminal Server compatible terminals, before eventually selling off parts of the company, filing for bankruptcy, and ending terminal sales completely in 2011.