I have a Pascal program with a fair amount of inline assembly code in it which demonstrates the capabilities of «Электроника МС 7401» — символьно-графический видеотерминал (Elektronika MS 7401 - alphanumeric-graphical videoterminal), made in the Ukraine in the 1980s. Its commands were described in the Soviet magazine "Microprocessor Tools and Systems" (Микропроцессорные средства и системы) in 5/1989, but a scan of that issue that I could find online in a public library is incomplete, the article in question is missing. I was able to guess the meaning of only a fraction of the commands. Replacing them with PostScript, I got a few pictures.
Here is one of the pictures drawn by the program:
Hoping that its commands follow a Western prototype, I'll provide a few translated code excerpts of the graphical primitives:
... obvious type definitions elided for brevity ...
(* Draws a line of the given type (solid/dotted/dashes, etc) to relative coordinates (PS rlineto) *)
procedure LINCUR(TYP,Х,Y:INТ);
begin
WRIТЕ(’8’,TYP:0,' ',Х:0,' ',Y:0,BK)
end;
(* Same as above, but to absolute coordinates (lineto) *)
procedure LINE(TYP,Х,Y:INТ);
begin
WRIТЕ(’7’,TYP:0,' ',Х:0,' ',Y:0,BK)
end;
(* Analog of PostScript moveto/rmoveto *)
procedure CURPT(ABS:ВООL;Х,Y:INТ);
begin
if ABS then WRIТЕ(’4’) else WRIТЕ(’5’);
WRIТЕ(' ',Х:0,' ',Y:0,BK)
end;
(* Draws a circle around the current point *)
procedure CIRCLE(TYP,R:INТ);
begin
WRIТЕ(’>’,TYP:0,' ',R:0,BK)
end;
(* The coordinates are relative to the current point *)
procedure BOX(ХН,YН,ХВ,YВ:INТ);
begin
WRIТЕ(’] ’,ХН:0,' ',YН:0,' ',ХВ:0,' ',YВ:0,BK)
end;
Further research revealed that the graphical mode was entered by ESCF^
, after which the drawing commands and their arguments are sent as plain text, for example,
4 277 290
71 68 141
4 280 290
71 73 138
4 283 290
71 78 135
meaning, "move to (277,290), line style 1 to (68, 141), etc."
The lines are separated by the CR character (^M). The command /
switches back to the text mode.
Were there known Western graphical terminals using space-separated decimal coordinates, numerical commands for movement and line drawing, and numerical line type selectors?