Hazeltine 1500


The Hazeltine 1500 was a popular smart terminal introduced by Hazeltine Corporation in April 1977 at a price of $1,125. 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.
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 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.

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. 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.
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. 19,200 bps was relatively fast for the era, most terminals of similar vintage topped out at 9,600.

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 to be used as the lead-in.
Simple one-letter commands following the lead-in included for cursor-to-home, for up-cursor, for down-cursor, for cursor-left and for cursor-right, and for clear screen. cleared to the end of the line, to the end of the screen. deleted the line and moved any data below it up while inserted a line and pushed lines down.
The cursor could be positioned anywhere on the screen using 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 10 by sending, 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. would return the current cursor location as two characters separated by a carriage return.
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, 01 was, 10 for, and 11 for none.
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, , all following data was displayed in foreground mode. Sending background follows, returned to background mode. Sending cleared to the end of the screen like, but filled it with foreground spaces. was similar to clear screen, but removed only the foreground.
Sending locked the keyboard, while unlocked it again.

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.
Format mode is entered with a. 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 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 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.
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.
While in format mode, the 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.
The user could also trigger whether new data would be accepted by pressing the 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 again, or.
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. Bits 2 and 3 now encoded the format mode, 00 was off, 01 was batch, 10 for page, and 11 for line.

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 key to turn it on and off manually. 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. Pressing the key, or sending from the host, would dump the current screen to the printer.

Citations