Hazeltine 1500
The Hazeltine 1500 was a popular smart terminal introduced by Hazeltine Corporation in April 1977 at a price of $1,125 (equivalent to $4,746 in 2019). Using a microprocessor and semiconductor random access memory, it implemented the basic features of the earlier Hazeltine 2000 in a much smaller and less expensive system. It came to market just as the microcomputer revolution was taking off, and the 1500 was very popular among early hobbyist users.
Manufacturer | Hazeltine Corporation |
---|---|
Type | Computer terminal |
Release date | April 1977 |
CPU | Intel 8080 |
Display | CRT 80x24 characters |
Input | Computer keyboard |
Connectivity | serial, current loop |
Predecessor | Hazeltine 2000 |
Successor | Hazeltine Esprit |
Two modified versions were introduced in June 1977, the $1,395 Hazeltine 1510 and $1,650 Hazeltine 1520. These versions added a simple batch mode system that allowed the user to type in values without them being sent to the host system. When the SEND
key was pressed, all the "foreground" data that had been typed in was sent all at once. The 1520 was the 1510 with an added printer port that could support serial or parallel computer printers.
The final entry to the 1500 series was the Hazeltine 1552 introduced in August 1979 at $1,500. It added a VT52 emulation mode, separate cursor keys, and graphics characters.[1]
Basic features
The 1500 used an Intel 8080A processor with 2 kB of ROM for the basic operations, and 2 kB of RAM as the character buffer (4 kB in the 1510/1520). Characters were drawn using a 7 column by 10 row pattern within a larger 9 by 11 cell. The display showed 80 columns by 24 rows, a widespread standard at that time. The 12" CRT used P4 "white" phosphor.[2]
Like earlier models in the Hazeltine line, the 1500 supported both an RS-232 interface, with speeds from 110 up to 19,200 bps, as well as a 20 mA current loop, used by teletype systems and still common due to the widespread use of Teletype Model 33 as ad hoc terminals.[2] 19,200 bps was relatively fast for the era, most terminals of similar vintage topped out at 9,600.[lower-alpha 1]
Commands
The command set for Hazeltine terminals was fairly simple, consisting mostly of line editing and cursor positioning commands. The tilde, ~
was used as the escape character, or as they referred to it, the "lead-in code". The 1510/1520 also allowed ESC
to be used as the lead-in.[5]
Simple one-letter commands following the lead-in included DC2
for cursor-to-home (upper left corner of the screen), FF
for up-cursor, VT
(vertical tab) for down-cursor, BS
(backspace) for cursor-left and DLE
for cursor-right, and FS
(form separator) for clear screen.[6] SI
cleared to the end of the line, ETB
to the end of the screen.[7] DC3
deleted the line and moved any data below it up while SUB
inserted a line and pushed lines down.[8]
The cursor could be positioned anywhere on the screen using DC1
and following that with two ASCII characters for the X and Y locations. The ASCII could be offset by any multiple of 32, so for instance, one could move to Y location (row) 10 by sending LF
, ASCII code 10, or by sending *
, ASCII code 42, 32+10. The advantage of adding 32 to the value is that it shifts it into the printable character range, which is more likely to work on all serial links. The same was true for the X address, but because the locations were 0 to 79, rather than 0 to 23 for Y, shifting higher addresses in this manner might put them out of the printable range again. They suggested transmitting 0 through 30 using codes 96 through 126.[9] ENQ
would return the current cursor location as two characters separated by a carriage return.[10]
Sending -
caused the terminal to send a single character in return, encoding the terminal status in the lower 6 bits. Bits 0, 1 and 7 were not used and always zero. Bit 2 returned whether it was half duplex while 3 was full duplex. Bit 4 was 1 if there was a parity error on the last transmission. 5 and 6 encoded the end-of-line character being used, 00 was CR
, 01 was ETX
, 10 for EOT
, and 11 for none.[11]
One unique feature of the Hazeltine systems was the difference between normal-intensity "background" characters and higher-intensity "foreground" characters. The system was normally in background mode and any data sent to it was displayed normally. Sending the "foreground follows" instruction, US
(unit separator), all following data was displayed in foreground mode. Sending background follows, EM
(end-of-medium) returned to background mode.[12] Sending CAN
cleared to the end of the screen like ETB
, but filled it with foreground spaces.[7] GS
was similar to clear screen, but removed only the foreground.[13]
Sending NAK
locked the keyboard, while ACK
unlocked it again.[8]
Batch and block commands
The 1510 and 1520 included modifications of the foreground/background system that allowed them to operate in "format mode", what would be known as block mode in IBM parlance. In this case, data in foreground style was also referred to as "unprotected" while that in the background was "protected". As with the base model 1510, one could clear out only the foreground data, or all data, normally defaulting to only clearing the unprotected foreground. [5]
Format mode is entered with a ~#
.[14] When the terminal is put into format mode and the user types data into the terminal, the data is not sent to the host, it is simply stored in a second 2 kB buffer. When the user presses the SEND
key, all data in the foreground is sent to the host in a single stream. The host could also trigger the send operation by sending ~SO
to the terminal. The system could be set to send different bits of data; sending ~.
to the terminal sent back only the line the cursor was in, ~(
would instead send everything on the screen from the home position to the cursor.[5]
Similar to format mode is batch mode, which differed only in that it sent data whenever the input for one field was complete. When the user pressed return or tab to advance, the data for the preceding field was automatically sent and the cursor advanced to the next foreground field. Batch mode was entered using ~%
.[5]
While in format mode, the TAB
character was used to move from field-to-field, skipping over any text that was in background style to the next unused field or foreground style. It also added a back-tab to move backwards through the fields, sending ~DC4
.[11]
The user could also trigger whether new data would be accepted by pressing the LOCAL
key. When this was on, the terminal only accepted input from the keyboard, ignoring data from the host. This mode ended when the user pressed LOCAL
again, or SEND
.[15]
The status character changed on the 1510/1520 to return more information. Bit 0 now indicated if the print buffer was empty, and 1 whether or not the printer was in online mode (echoing everything from the host). Bits 2 and 3 now encoded the format mode, 00 was off, 01 was batch, 10 for page, and 11 for line.[11]
Printer commands
The 1520 included a printer buffer able to hold one screen of data, added a selection of commands to control it, and a PRINT
key to turn it on and off manually.[16] The terminal could be set to send all data to the screen, the printer, or both — ~/
turned on the printer and sent data from the host to the screen and printer, ~*
sent it to the printer only, and ~?
turned off the printer and sent data to the screen (the default mode). Pressing the PRINT
key, or sending ~RS
from the host, would dump the current screen to the printer.[17]
References
Citations
- "Terminal Subs for VT-52". Computerworld. 6 August 1979. p. 39.
- Maintenance 1977, p. 1.2.
- VT52 Maintenance Manual (PDF). July 1978. p. 1.4.
- "The Hazeltine 2000 terminal". Columbia University Computing History.
- Maintenance 1977, p. 1.8.
- Manual 1977, pp. 4.2-4.3.
- Manual 1977, p. 4.5.
- Manual 1977, p. 4.7.
- Manual 1977, p. 4.4.
- Manual 1977, pp. 4.4-4.5.
- Maintenance 1977, p. 1.3.
- Manual 1977, p. 4.6.
- Manual 1977, p. III.1.
- Maintenance 1977, p. D.2.
- Maintenance 1977, p. 1.9.
- Maintenance 1977, p. 1.7.
- Maintenance 1977, p. 1.10.
Bibliography
- Hazeltine 1500 Video Display Terminal Reference Manual (PDF). Hazeltine Corporation. 1977.
- Hazeltine 1500 Series Maintenance Manual (PDF). Hazeltine Corporation. December 1977.